diff --git a/MelangeIRCMeeting20080909.wiki b/MelangeIRCMeeting20080909.wiki
new file mode 100644
index 0000000..128292d
--- /dev/null
+++ b/MelangeIRCMeeting20080909.wiki
@@ -0,0 +1,664 @@
+#summary Logs of our meeting on IRC on 2008-09-09
+{{{
+10:58 <@lh> okay folks it's time to get this meeting started
+10:58 <@tlarsen> lh:  they are in the garden right by the Guest House, cleaning it up.
+10:59 <@lh> please hold general questions until the end of the main discussion
+10:59 <@lh> topic: what to do first with melange and how to move things forward
+10:59 <+solydzajs> ok
+10:59 <@lh> background: we have a google summer of code mentor summit at google on 24 and 25 october 2008
+10:59 -!- drhous1 [n=vattam@59.96.193.222] has joined #melange
+10:59 <@lh> we want to have something demoable by that time and we want there to be enough code so that we can get the developers present invested in improving the system
+10:59 <@tlarsen> 25-26?
+10:59 <@lh> they have to use it
+11:00 <@lh> tlarsen: likely i am typing not looking at a calendar
+11:00  * lh hates dates, is no good at them
+11:00 <+durin42> 25-26 is the sat/sun
+11:00 <@tlarsen> http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline
+11:00 <@lh> okay then there we go
+11:00 <@lh> awesome thank you todd
+11:00 <@lh> so
+11:00 <+solydzajs> ok there is GSoC Mentor summit at the end of october 2008 ;-)
+11:00 < spsneo> helo
+11:00 < spsneo> all
+11:00 < spsneo> I am bit late
+11:00 <@lh> spsneo: not now please we are meeting
+11:00 <@lh> read on :)
+11:01 < spsneo> Ya I am here for meeting
+11:01 < madrazr> lh: do you know me? ;-)
+11:01 <@lh> so some of the code needed to run ghop and gsoc is similar
+11:01 <@lh> some is different
+11:01 <@lh> folks don't make me mute this channel, pay attention and talk when it is useful only please
+11:01 <+solydzajs> We should focus first on GHOP, working on GHOP specific features and universal features.
+11:02 <@lh> i agree that ghop runs sooner in the year than gsoc
+11:02 <@tlarsen> GHOP has far simpler "business logic" than GSoC, also.
+11:02 <@tlarsen> GSoC is actually a very complicated program.
+11:02 <@lh> i also think that mentors will be more interested in making the system work for gsoc
+11:02 <@jbailey> I worry that the GSOC mentor summit comes first.
+11:02 <+solydzajs> true but some of the logic behind both programs is similar, like orgs apply, accepting orgs, adding mentors etc
+11:02 <@lh> the mentors are the same, but we have only 10 orgs who did ghop and it may be harder to sell making that program work to a wider audience of orgs
+11:02 <+durin42> That's my concern too - I've thought about it some, and I'm not all that convinced that a GHOP webapp would make a compelling GSoC demo
+11:02 <@tlarsen> There are lots of "site-wide" components that have nothing to do with either program that need to get implemented also.
+11:02  * lh lets the devs talk
+11:03 <@tlarsen> GSoC isn't going to happen by late October, not at the current levels of work.
+11:03 <+durin42> I think we should start with the essential site-wide components
+11:03 <+durin42> no
+11:03 <+durin42> when does GHOP start?
+11:03 <@tlarsen> Whenever we want it to, basically.
+11:03 <@jbailey> tlarsen, Can we short circuit the process and start with the current EZT templates?  Implement the backend from there and morph the system into the design?
+11:03 <@tlarsen> But, November is the plan, right lh?
+11:03 <@lh> tlarsen: correct, end of november
+11:03 <@lh> about same time as last year
+11:03 <@tlarsen> jbailey: Nope.
+11:03 <@jbailey> tlarsen, Why not?
+11:03 <@lh> (literally last week in november)
+11:04 <+durin42> jbailey: it's too much of a disaster in those templates
+11:04 <@tlarsen> jbailey: The effort isn't in the templates.
+11:04 -!- puneeth [n=puneeth@59.96.205.246] has joined #melange
+11:04 <@tlarsen> jbailey: That is a tiny, simple part.  I easily converted templates into mockups.  That's not the issue.
+11:04 <@tlarsen> jbailey: The current GSoC web app does *everything* in the request handlers, and it is state-ful.
+11:04 -!- AJuOnLiNE [n=Dhing_Ch@unaffiliated/ajuonline] has joined #melange
+11:04 -!- petarj [n=user@79.101.199.129] has joined #melange
+11:04 <@tlarsen> jbailey: App Engine is not.
+11:05 <@jbailey> The templates don't require that AFAIR.  The code certainly does.
+11:05 <@tlarsen> There are major architectural differences between the existing web app and an App Engine app.
+11:05 <+SRabbelier> Heya
+11:05 <@tlarsen> jbailey: The templates are not a significant amount of effort here.
+11:05 <@jbailey> What I'm thinking is in terms of the mentors summit:  Having something that folks can say "Yup!  Here's the following places where this sucks.  Let's beat on it" being a big win.
+11:05 <+SRabbelier> Back from dinner, sorry for being late :)
+11:05 <@lh> SRabbelier: shh
+11:06 <@tlarsen> jbailey: It is the second week of September.
+11:06 <@tlarsen> jbailey: The existing GSoC web app was written over 3 years.
+11:06 <@tlarsen> jbailey: It is not a simple port, sorry (as much as I wish it was).
+11:06 <@lh> may i ask another question
+11:06 < spsneo> but a lot of devs can make the difference.. and we can beat the time constraint
+11:06 <@jbailey> No, but there's also not much to it, really.
+11:07 <@jbailey> lh, Don't ask to ask, just ask. =)
+11:07 <@tlarsen> spsneo: I don't believe that.
+11:07 <@lh> spsneo: adding resources doesn't always help
+11:07 -!- thiago [n=thiago@kde/thiago] has joined #melange
+11:07 <@lh> so i think that running ghop and gsoc on the same melange instance is important
+11:07 <@tlarsen> lh: Yes, that is true.
+11:07 <@lh> is there a way to developer for both in parallel?
+11:07 <@tlarsen> lh: They can both certainly be developed in parallel.
+11:07 <@lh> if not, is there a way for one group to work on gsoc stuff, another on ghop stuff and then to integrate the two instances?
+11:07 -!- Mek [n=marijn@93.157.1.37] has joined #melange
+11:07 <+SRabbelier> lh: I think we can develop them in parrallel since they have a lot of overlap
+11:08 <@tlarsen> lh: If you want all the effort focused on GSoC, then just don't expect to run GHOP until next year.
+11:08 <@lh> ok, so since some have interest in one feature set and others in the other, then why dont we come up with a plan to develop in parallel
+11:08 <@jbailey> lh, Integration will suck then.  It's possible, but hard.  Success depends on really good communicatio between the groups.
+11:08 <+durin42> tlarsen: I think the sane way to go about it would be to start with GHOP since it is simpler, then refactor whatever we need to do the bigger featureset
+11:08 <+solydzajs> lh: first we have to work on universal components that are common for both programs and then we can work on GHOP and GSoC in parallel I think.
+11:08 -!- dirigeant [n=dirigean@unaffiliated/mew/x-344925] has joined #melange
+11:08 <@lh> tlarsen: i dont
+11:08 <@lh> jbailey: the integration issue is what i worry about
+11:08 <+SRabbelier> durin42: I second that
+11:08 < spsneo> parallel development is also a nice idea
+11:08 <@lh> solydzajs: okay that makes sense
+11:08 <@tlarsen> lh: integration does not worry me at all.
+11:08 -!- ahassany [n=chatzill@a135-27.adsl.paltel.net] has joined #melange
+11:08 <@lh> does everyone think that solydzajs' plan is sane? i certainly do.
+11:08 -!- Sevein [n=jesus@205.Red-79-148-124.staticIP.rima-tde.net] has joined #melange
+11:08 < Sevein> hi
+11:08 <@tlarsen> lh: I would *not* suggest branching and having two teams go their own ways and re-integrate later.
+11:09 <@lh> Sevein: shh for now
+11:09 < spearce> yea, we may have enough people interested that parallel development of both programs is reasonable.
+11:09 <+SRabbelier> tlarsen: I think we should keep one team
+11:09 <@tlarsen> lh: (to echo solydzajs) there are lots of components that are common (org application, program creation, etc.)
+11:09 <@lh> okay, so unless someone objects right now and has a sane reason for doing so
+11:09 < spearce> if gsoc "forks away" from ghop right now due to some core changes, we can probably deal with that integration over the winter with additional help from the mentors.
+11:09 <@tlarsen> SRabbelier: agreed
+11:09 <@lh> the new plan of record is that we will work on universal features of the system for both programs
+11:10 <@lh> then folks interested in making ghop work can do that, and those interested in making gsoc work can work on gsoc features
+11:10 < spearce> lh: i don't think focusing on just the universal features is a good idea.  we need a single working app.
+11:10 <@tlarsen> lh: Yes, and there are 40+ descriptions of those common features in the issue tracker *now*.
+11:10 <+solydzajs> tlarsen: that's why I'm thinking that designing and implementing common components is essential, cause later those can be easily reused in both GHOP and GSoC parts of the app.
+11:10 <@lh> spearce: what do you mean?
+11:10 -!- AJuOnLiNE [n=Dhing_Ch@unaffiliated/ajuonline] has left #melange []
+11:10 <@lh> tlarsen: i am aware
+11:10 <@tlarsen> spearce: The beginnings of both programs are *identical*.
+11:10 < spearce> we need a working app for ghop.  and/or we need a working gsoc app for the mentor summit.
+11:10 <@tlarsen> spearce: If you are talking about continuous integration, always having a "working" app, etc., you need to do them first.
+11:11 <@jbailey> I'd argue that the essential bit is to get as fast as possible to something someone could log into, and that common features should generally be the result of refactoring.
+11:11 <+SRabbelier> I think we should look not at how GSoC has more requirements than GHOP, but in how GHOP has a (few?) additional features compared to GSoC
+11:11 -!- Landon [n=Landon@unaffiliated/landon] has joined #melange
+11:11 <@lh> jbailey: that sounds reasonable to me
+11:11 <@tlarsen> jbailey: Ugh.  You can "log in" now.
+11:11 < nirbheek> oooh I'm late
+11:11 <@tlarsen> jbailey: Please take a look at the issue tracker.  You will see that the "common features" are needed for GSoC anyway.
+11:11 <@lh> nirbheek: shhh
+11:11  * nirbheek reads the backlog
+11:12 -!- desowin [n=desowin@atheme/member/desowin] has joined #melange
+11:12 <@tlarsen> There is no way we are going to *ever* have to do a "push" of the app just to change the front page content.
+11:12 <@tlarsen> And I do mean EVER.
+11:12 <+SRabbelier> I am thinking that if we focus on GSoC, but do the features GHOP needs too first, we can get GHOP quite far done
+11:12 -!- johannes [n=chinstra@igloo.chinstrap.eu] has joined #melange
+11:12 <@lh> SRabbelier: i am hoping you are correct, but this bears discussion
+11:12 <@tlarsen> (sorry for the strong words, but I am sick of having to deploy a web app just to change what it says on the front page)
+11:12 <@jbailey> tlarsen, I understand.  Truly. =)
+11:13 <+SRabbelier> tlarsen: sounds nice, how is Melange different?
+11:13 <+solydzajs> SRabbelier: then you are talking about universal components
+11:13 <+durin42> tlarsen: no, you're absolutely right. Flag pushes are painful.
+11:13 < spsneo> why dont we make three groups of parallel devs : one for universal and 2 for specific ones
+11:13 <+SRabbelier> lh: I think it would be a good idea to set that as one of the goals for tonight, to figure that out as much as we can
+11:13 <@jbailey> I'm trying to think of a good way of conveying the bit that I think is important: The highest priority is to have something working that's available to the outside, regardless of the path to those features.
+11:13 <@lh> spsneo: i think we need to do the universal features first
+11:13 <@lh> SRabbelier: that's what we're trying to do now, agreed.
+11:13  * SRabbelier nods
+11:13 <@jbailey> So even if the first iteration has hardcoded templates, then that becomes something shardable to someone else to fix.
+11:13 <@lh> there is someone in my office i will brb
+11:13 <@tlarsen> spsneo: the two programs that the web app initially needs to support (GSoC and GHOP) *need* the common features.  It is stuff like participant profiles (shipping addresses for prizes, etc.).
+11:14 -!- lh [n=lhawthor@nat/google/x-3504e714732eee18] has quit [Remote closed the connection]
+11:14  * spsneo nods
+11:14 <+SRabbelier> I am thinking that the features GHOP require are mostly a _smaller_ subset of what GSoC requires, ergo, if we get GHOP done first, we'll be 50% (made up statistic) of the way done for GSoC
+11:14 <+solydzajs> spsneo: there are developers that will be working on Melange fulltime and some that will just post a patch from time to time and having 3 dev teams is not such a great idea.
+11:14 <@tlarsen> Stop.
+11:14 <@tlarsen> lh is gone
+11:14 <@jbailey> incoming.
+11:14 <@jbailey> SHe's just setting up her laptop in here.
+11:14 <@tlarsen> jbailey: Oh, now that is not fair...
+11:15 < penyaskito> one think that worries me is how many of us are going to code? how many time anyone could dedicate? this is important before doing any kind of planning
+11:15 <@jbailey> tlarsen, We
+11:15 <@tlarsen> No back-channel discussions.
+11:15 <@jbailey> 're not talking locally.
+11:15 < ahassany> mentor summit you can get a lot of feedback you should get GSoC working before GHOP
+11:15 <@jbailey> It's that now we can close the door to outside interruptions.  spearce and I already had a person stop by as well.
+11:15 -!- lh [n=lhawthor@nat/google/x-a04164ed9c8bab55] has joined #melange
+11:15 -!- mode/#melange [+o lh] by ChanServ
+11:15 <@jbailey> lh, werdup, yo?
+11:15  * lh is now safely hiding in a conference room so as not to be disturbed
+11:15 <+SRabbelier> ahassany: xept we can't get GSoC working before GHOP I think
+11:15 <+SRabbelier> ahassany: time &  resource wise
+11:15 <@tlarsen> penyaskito: I have tried to define stuff as bite-sized chunks, so that people could select one they thought they had time to do.
+11:16 <@tlarsen> ahassany: except that mentors could already have been commenting on the existing web app, and they don't (much).
+11:16  * lh reads what she missed
+11:16 <@tlarsen> ahassany: there are some issues in the GSoC issue tracker.
+11:17 <@tlarsen> ahassany: What I would love to see are 400+ of these:  http://code.google.com/p/soc/wiki/UserStories
+11:17 <@lh> okay, is this a wider discussion
+11:17 <@tlarsen> Then we can *prioritize* them, and people can *accept* them and work on them.
+11:17 < ahassany> why we won't work on GSoC and finish up as we can, and put future plans (thats what presented on mentor summit)
+11:17 < spearce> 400+ user stories?  for gsoc and ghop?  ohmy
+11:17 <@lh> if these features are all in the issue tracker, then what do we need to do to get them done?
+11:17 -!- Gamara [n=Gamara@nat/google/x-31f4c5179ad12357] has joined #melange
+11:17 <@tlarsen> spearce: Most of the people in this channel have never seen the "back-office" part of GSoC.
+11:17 <@lh> ahassany: that may happen.
+11:17 <@tlarsen> spearce: easily 50% of the UI is not seen by students or mentors
+11:18 <@lh> tlarsen: i really think that the back office features (except payment and shipping workflow) are going to be stuff that org admins always want access to
+11:18 <@lh> and program sponsors get a super set
+11:18 <@tlarsen> spearce: There is a lot more to running GSoC than students applying and mentors filling out surveys.
+11:18 <@tlarsen> lh: Yes, and they are common to both GSoC and GHOP.
+11:18 <@lh> for example, if a mentor can't get ahold of a student, i am the only one who has their phone number and i have to call, if the student chooses to make that public why should not org admin see this?
+11:18 <@tlarsen> lh: most of the web app is common
+11:18 < spearce> tlarsen: yikes.  so most of the complexity of this application is the realm of essentially 3 poor souls in ospo?
+11:18 < nirbheek> Okay, how about we exhaustively compare the required access levels for GSoC and GHOP?
+11:19 <@tlarsen> spearce: Yes, exactly.
+11:19 <@lh> there's little data that is really me specific if we have decent privacy controls
+11:19 <@lh> where me = program sponsor with mystical administrative powers
+11:19 <@tlarsen> lh: agreed, which is why the concept of Roles appeared in the vocabulary of Melange
+11:19 <+solydzajs> we have to remember about dependencies between User Stories, you cannot simply start developing mentors view without having orgs view etc. this app has a lot of levels, tree structure from Sponsor, Host to Student, Mentor
+11:20 <+SRabbelier> solydzajs: very good point, I agree
+11:20 <@tlarsen> lh:  Developer (site admin) > Host (Program Sponsor) > Administrator > Participant > User
+11:20 <@jbailey> lh, Would a data dumper and Excel^WOO.o calc get you most of what you'd need in the ugliest case?
+11:20 <@lh> spearce: what does 400 user stories mean? we don't have any yet afaik
+11:20 < spearce> lh: tlarsen earlier asked for 400+ user stories in the issue tracker.
+11:20 <@tlarsen> lh: There are more than 40 user stories already.
+11:20 <@lh> oh wait
+11:20  * lh scrolls up
+11:20 <@lh> i get it
+11:20 <+SRabbelier> but, perhaps if we can get some basic things done for each role, we don't have to finish them in order so much
+11:20 <@lh> so where we are at now, to summarize
+11:21 <@tlarsen> http://code.google.com/p/soc/issues/list?can=2&q=type:Story
+11:21 <+SRabbelier> spearce: what do you think of that number, I'm not sure by your reaction
+11:21 <@tlarsen> lh: they have been awaiting your insights
+11:21 <@lh> generally people seem to think we need to get "universal" features done first
+11:21 <@jbailey> lh, I'm wondering whether or not 50% of those cases could be de-prioritised in order to make what needs to be done clearer.
+11:21 <@lh> these universal features are already in the issue tracker, but are not prioritized or assigned
+11:21 <@tlarsen> lh: since a lot of them so far are things like site and Program administration (since those are needed to bootstrap the web app)
+11:21 <@lh> once these features are implemented, then we could have folks work on gsoc or ghop specific features for the system in parallel
+11:21 < spearce> SRabbelier: 400 is a large number; i'm concerned the application is becoming a kitchen sink that does everything including wash my car.  which is a huge amount of development work, and little time (or hands) to complete it all.
+11:21 <@lh> is this an accurate summary?
+11:21 <+solydzajs> lh: yep and universal features is what we've been working on with Todd so far.
+11:22 <@tlarsen> lh: yes, the universal features are needed so that people can even sign up
+11:22 <+SRabbelier> spearce: agreed
+11:22 <+SRabbelier> spearce: makes sense, then again, it is a big program.. hmm.
+11:22 <@tlarsen> We also need comments on how pages like this should work:
+11:22 <@tlarsen> http://soc.googlecode.com/svn/trunk/mockups/user/roles/linkname/roles.html
+11:22 <@lh> oh my gosh am i lagged
+11:22 <@tlarsen> There are some user stories about the Roles view, but I don't think I finished them.
+11:23 <+solydzajs> spearce: 400 is just an example number and there is really a lot of work to do to make GHOP and GSoC programs running smoothly.
+11:23 < ahassany> you always get this issues when make the program big :)
+11:23 <@tlarsen> We really, really, really need descriptions of how the web app is supposed to *work*.
+11:23 <@lh> jbailey: yes, a data dumper does get me what i need. that's essentially what i use now
+11:23 <@tlarsen> jbailey: think "feeds"
+11:23 <@tlarsen> jbailey: (GData)
+11:24  * spearce is just concerned about the group becoming bogged down in writing what we will create, and not actually coding something that can be used.
+11:24 <@jbailey> tlarsen, Sure.  But I'm proposing that we take the fastest path to something working and refactor/implement later to ideal.
+11:24 <@lh> spearce: me too.
+11:24 <@tlarsen> jbailey: even if Igor's work never makes it into App Engine, we can always hand-implement feeds the same way Google Code did.
+11:24 < spearce> jbailey: exactly
+11:24 <@jbailey> tlarsen, What giving lh a data dumper would do would be to allow the orgs to implement what they need without imposing it on them.
+11:24 <@tlarsen> jbailey: I am saying most of it *is* common, and coding it only once is the fastest path.
+11:24 <+SRabbelier> spearce: +1 on that
+11:24 <+durin42> I can work with lh et al to produce meaningful user stories for both us and her if that'd help
+11:24  * spsneo agrees to jbailey
+11:24 < nirbheek> Singular Q: Is there going to be a summary? Because a lot of talk, and a lot of it is going over my head ;p
+11:24  * lh will gladly have a conference call and spit out feature requests, but that's all she has time for these days
+11:24 < nirbheek> *there is a lot
+11:25 <@lh> and frankly i do not have time to do that, but will make time this is very important
+11:25 <@tlarsen> jbailey: You are talking about the opposite end of the program from what I am.
+11:25 <@lh> nirbheek: no offense but if you cannot keep up then leave channel and read the logs
+11:25 < Gamara> no kidding
+11:25 <@tlarsen> jbailey: I am talking about the beginnings, that students and mentors and admins see.
+11:25 <@tlarsen> jbailey: you are talking about getting data out of GSoC for lh
+11:26 -!- PINguAR_ [n=PINguAR_@88.234.97.127] has joined #melange
+11:26 <@jbailey> Right.  But there was some surprised at the number of features that were lh-specific.  I'm asking that we de-prioritise those so they don't show up as work to do.
+11:26 <@tlarsen> lh: you are the primary customer for 50%+ of the UI; you need to find time, please
+11:26 < ahassany> custom made for lh :)
+11:27 <+SRabbelier> mhhhh... leave the UI for later? start out with something basic
+11:27 <@lh> tlarsen: i dont agree on that. everyone is the primary customer - i think that other than payment workflows (and that's one set of tracking stuff) *everyone* wants this data
+11:27 <@tlarsen> tlarsen: this effort has been floundering in part due to lack of interest
+11:27 <@lh> and i want a superset
+11:27 <+SRabbelier> I get the impression adding things to django webpages is rather fast
+11:27 < penyaskito> because lh needs to write those user stories, and she will need time, IMHO we should focus on the user stories that we have by now
+11:27 <+SRabbelier> tlarsen: talking to yourself now? ;P
+11:27 <@tlarsen> lh: the student and mentor stuff is pretty close (with some complaints)
+11:27 < penyaskito> once she had written them, we can re-plan
+11:27 <@tlarsen> lh: the parts you use in the existing app are the ones that suck
+11:28 <@tlarsen> SRabbelier: yeah, apparently
+11:28 <@jbailey> SRabbelier, That's about how I do PHP coding in my spare time.
+11:28 <+SRabbelier> jbailey: sounds like a good method
+11:28 <@tlarsen> SRabbelier: I'm getting used to it, so I thought I would formalize it :)
+11:28 <+solydzajs> As for GSoC mentors, org admins and student don't actually use the app so much after the students are selected and this is way different for GHOP where you have tasks and comments to the tasks, upload of patches etc.
+11:28 <@jbailey> SRabbelier, I usually asking the UI folks for a working set of html files that link to one another, and then I fill in the details.
+11:28 <@jbailey> When everything on the page is live, I'm done coding.
+11:29 <@tlarsen> jbailey: Yeah, I tried that:  http://soc.googlecode.com/svn/trunk/mockups/sitehome.html
+11:29 <+solydzajs> And I also agree that Host is the person who has to deal with the app all the time.
+11:29 <@tlarsen> jbailey: It didn't get any traction, just like design docs didn't.
+11:29 <@tlarsen> jbailey: and User Stories...
+11:29 -!- puneeth [n=puneeth@59.96.205.246] has left #melange []
+11:29 < Gamara> tlarsen: imo open source people respond to running code, not user stories and docs.
+11:29 <+SRabbelier> Gamara: +1 there too
+11:29 < Gamara> That stuff is 'nice to have'
+11:29 <@tlarsen> Gamara: I agree, but I am not talking about "open source people" in this case.
+11:30 < spearce> Gamara: yup.  i think that's what most people are looking for, is running code
+11:30 <@jbailey> tlarsen, This is cool.  So from here, this is where I'd usually hack in the simplest login capability and start flushing out the pages.
+11:30 -!- petarj [n=user@79.101.199.129] has left #melange []
+11:30 <+SRabbelier> tlarsen: I think the mock-ups are a good start
+11:30 <@tlarsen> Gamara: and, we have running code now, as the mockups are being converted constantly (without any input, so people can comment on the code, I suppose)
+11:30 -!- dirigeant is now known as MeW_away
+11:30 <@tlarsen> jbailey: http://melange-test.googleopensourceprograms.com
+11:30 <@tlarsen> http://melange-test.googleopensourceprograms.com/user/profile
+11:30 <@tlarsen> etc.
+11:31  * jbailey tries to remember his googleopensourceprograms.com password
+11:31  * SRabbelier same here
+11:31 <+SRabbelier> :(
+11:31 <@tlarsen> jbailey: I have a bit of stuff I haven't committed or pushed to melange-test lately, because I am debugging a Datastore issue.
+11:31 <@tlarsen> Gamara: So, I should just code the whole thing and then let people contribute by changing it?
+11:32 <@tlarsen> Gamara: That sounds like my cup of tea, if you want to give me a couple of months of peace and quiet.  :)
+11:32 <@lh> tlarsen: that's usually how it works at first.
+11:32 < Gamara> peace and quiet. That's cute. What's that like?
+11:33 <@tlarsen> lh: Yeah, and that hasn't happened.  We are trying to add people who like to code to a project that is mostly User Stories (and not enough of them) and mock-ups.
+11:33 <@jbailey> Ah, there we go.  Attempt #3. =)
+11:33 <@tlarsen> lh: One of the reasons I hadn't spent much effort making /p/soc/ more "friendly".
+11:33 <@lh> tlarsen: okay then what do we need to do to get code written instead of user stories and mockups
+11:33 <+durin42> The problem I've experienced with user stories when making a new app is that they tend to be way too high level to have much meaning
+11:33 <+SRabbelier> lh: mockups ~= code
+11:33 <@tlarsen> lh: not have GSoC running
+11:33 <+solydzajs> jbailey: http://melange-dev.appspot.com/ if you don't remember you password :-)
+11:34 <@lh> tlarsen: it's not running. what is the plan to move forward? it has ended for 2008.
+11:34 < ahassany> I see mentor summit put deadline that is hard to accomplish, why not relax and do  mock-ups and plains html views for the summit
+11:34 <@tlarsen> lh: Yes, and I have written lots of code in the past couple of days.  :)
+11:34 <@jbailey> solydzajs, I got it.  Although when I asked it, it told me to contact a domain admistrator.  I spent time talking to myself and figured it out. =)
+11:34 <+solydzajs> jbailey: hehe :-)
+11:34 <+SRabbelier> jbailey: lol :)
+11:34 <@tlarsen> jbailey: melange-test is currently busted, BTW.  :)
+11:35 <@tlarsen> jbailey: I think it thinks everyone is a Developer, so it doesn't show the correct /user/profile page.  :)
+11:35 <@jbailey> tlarsen, Ah, that makes sense.
+11:35 <@tlarsen> jbailey: Then again, I haven't pushed it in a while.
+11:35 <@lh> tlarsen: that's great! i did not see the message go by for code review on dev list so i did not realize
+11:35 <@tlarsen> lh: everything has been review-after-commit when it is just me and Pawel.
+11:35 <@lh> tlarsen: ah.
+11:36 <@tlarsen> lh: also, I have a lot of code that I cannot check in until I can fix the Datastore issue I'm debugging.
+11:36 <@lh> i still dont feel like i have an answer to my question what do we need to do to get more code written.
+11:36 <+SRabbelier> mhhh, mostly?
+11:36 <+SRabbelier> get people involved
+11:36 <@tlarsen> lh: Have people pick their favorite User Story and try to implement it.
+11:36 <+SRabbelier> maybe do some side-by-side coding sessions or so
+11:36 <@tlarsen> lh: There are *plenty* to choose from.
+11:36 <@jbailey> tlarsen, When I'm doing home coding projects and the like, usually from here I'd make it all clicky and work my way through the pages.
+11:36 <@lh> tlarsen: ah. is this is hosting problem or a something else problem? if the first maybe we can get help from the hosting team
+11:36  * spsneo agrees to tlarsen
+11:36 <@tlarsen> lh: There is a GettingStarted guide that checks out and *runs* the code.
+11:36 <@lh> SRabbelier: explain side by side coding session
+11:37 <@tlarsen> lh: Could someone please tell me what else is needed?
+11:37 <+SRabbelier> lh: like, get on skype and work on a piece of code together
+11:37 <+solydzajs> melange hackaton :-)
+11:37 <@lh> tlarsen: yes that is a wonderful new addition to the project, thank you for writing it
+11:37 <+SRabbelier> lh: or gtalk ofcourse ;)
+11:37 <+durin42> lh: tlarsen is right, it's primarily a problem of getting people interested, once they get one user story working they're likely to get into it
+11:37 <@tlarsen> jbailey: Go for it.
+11:37 <@lh> okay, melange hackathon. this can be scheduled.
+11:37 <@tlarsen> jbailey: Read GettingStarted, checkout the code, and patch!
+11:37 <@lh> but in the meantime
+11:37 <@lh> what is stopping other people from getting involved? lack of time, lack of enthusiasm? if there is a clear list of to dos
+11:38 <@lh> then let's do them
+11:38 <@tlarsen> I figured the image upload one would be interesting to someone.
+11:38 <+SRabbelier> lh: mhhh... lack of familiarity
+11:38 <@tlarsen> And it can be pretty much implemented by itself.
+11:38 <@jbailey> tlarsen, I hadn't seen that.
+11:38 <@lh> SRabbelier: explain this
+11:38 < madrazr> SRabbelier: yes it is for me :(
+11:38 < ahassany> for me as student, i was working on my project but now i can get time
+11:38 < spsneo> lh: lack of familiarity
+11:38 <@jbailey> tlarsen, If I do that, I want to make sure that I don't get hung up in conversations about user stories and the like, and can focus on just implementing the templates that are there.
+11:38 <@tlarsen> jbailey: http://code.google.com/p/soc/issues/detail?id=25
+11:38 <@jbailey> With the final goal that when the templaes are implemented, it's done.
+11:38 <+solydzajs> lh: sometimes it's luck of understanding how this app should work from ground up, since stuff students and mentors see is only a little part of it, and in real world it's a complex app
+11:38 <@lh> what does lack of familiarity mean?
+11:39 <+SRabbelier> lh: like, how it is with most project, if you don't konw the "codebase", it's difficult to get started
+11:39 <@lh> solydzajs: okay
+11:39 <@tlarsen> jbailey: There are no templates for that feature.
+11:39 <@tlarsen> jbailey: You will need to make some.
+11:39 -!- johannes [n=chinstra@igloo.chinstrap.eu] has left #melange []
+11:39 <@lh> i have an idea. what if i hold office hours twice a week
+11:39 <+durin42> lh: when I walked into GOOG last summer, I had *no* idea the webapp was so complex
+11:39 <@tlarsen> jbailey: The site has a base.html that provides the same "look-and-feel" to all of the pages.
+11:39 <@lh> anyone can call in to join and ask how stuff ought to work
+11:39 <@tlarsen> jbailey: Django template inheritance is a wonderful thing.
+11:39 <@lh> i can pontificate about that at will
+11:39 <@jbailey> tlarsen, I would solve that by simply requiring the image to be correct pre-upload for the first iteration.
+11:39 <+durin42> lh: it's a terrifying amount of code for what everyone in the normal world sees
+11:39 <@lh> will that help?
+11:39 -!- drhous1 [n=vattam@59.96.193.222] has quit [Read error: 104 (Connection reset by peer)]
+11:39 <+durin42> lh: probably, even an hour a week would be good
+11:39 <+SRabbelier> maybe screenshots can be posted?
+11:39 <@tlarsen> SRabbelier: the code base is pretty well organized
+11:39 <+SRabbelier> of the current webapp?
+11:40 < spearce> jbailey: or just don't have images in the first iteration.
+11:40 <@tlarsen> SRabbelier: it is split into soc.models, soc.views, and soc.logic
+11:40 < spearce> images are icing.  we need working.
+11:40 <@jbailey> spearce, True 'dat.
+11:40 <+SRabbelier> tlarsen: I meant what solydzajs worded better
+11:40 <@lh> durin42: thought maybe that would be good to do two to help folks with time zone constraints
+11:40 <@tlarsen> spearce: at this point, I would take icing, just so that people were contributing and getting interested
+11:40 <@tlarsen> spearce: I've tried to be organized, I've tried to prioritize, etc. That clearly isn't working.
+11:41 <+solydzajs> lh: for example user interface you use for administrating GSoC have been seen only by few people (mostly Google employees).
+11:41 <+SRabbelier> tlarsen: hmmmm, heads up man ;)
+11:41 < penyaskito> IMHO, screenshots of the current app could help to understand stories
+11:41 <@lh> solydzajs: that is true.
+11:41 <@tlarsen> spearce: So, anytime someone mentions something interesting on IRC, I write a User Story and mark it Optional.
+11:41 <+SRabbelier> penyaskito: +1 :)
+11:41 <@tlarsen> spearce: Volunteers are free to work on Optional stuff.  :)
+11:41 -!- drhous1 [n=vattam@59.96.193.222] has joined #melange
+11:41 <@tlarsen> SRabbelier: I can only carry on one conversation at a time.
+11:41 -!- drhous1 [n=vattam@59.96.193.222] has quit [Client Quit]
+11:41 <+SRabbelier> I do agree that that is a good way to get started/interested
+11:42 <+SRabbelier> tlarsen: What I was saying is, make some screenshots of the old app
+11:42 <@lh> SRabbelier: i can do that for you but not right now
+11:42 <+SRabbelier> lh: I think that would be good to help everyone gain insight in how much work has to be done
+11:42 <@lh> SRabbelier: this is reasonable
+11:42 <@tlarsen> SRabbelier: I don't think we need screen shots of the "lh" interface, though.  It sucks, and I certainly don't want to reproduce it.
+11:42 <@lh> i need to figure out how to obfuscate current user data
+11:43 <@lh> tlarsen: but it may be instructive about what kind of data is needed
+11:43 <@jbailey> tlarsen, I can offer time to do what I've suggested.
+11:43 <@tlarsen> SRabbelier: what lh has mentioned that she wants in the past are dynamic list views that change their contents as you type into a search box (think Javascript)
+11:43 <+solydzajs> But the screenshots and current interface shouldn't define the way the Melange interface should look like, this should be only used as an example
+11:43 <+SRabbelier> solydzajs: exactly
+11:43 <+SRabbelier> tlarsen: I -do- think we should see the lh interface
+11:43  * penyaskito TODO: Ask later about Jscript in GAppEngine and frameworks
+11:43 <@tlarsen> spearce: No one has said the app needs images.  It is an idea that someone through out, so we captured it for posterity.
+11:43 <+SRabbelier> tlarsen: if nothing else as an example of what not to do
+11:43 < Gamara> solydzajs yes, but if you can reuse that stuff....
+11:44 <@lh> tlarsen: that is correct.
+11:44 < spearce> tlarsen: i'm past the image remark.
+11:44 <@tlarsen> spearce: But, if someone *wants* to implement it, then more power to them.
+11:44 <@tlarsen> spearce: that's nice, but you never replied to me.
+11:44 <@lh> OK.
+11:44 <@lh> hold the phone.
+11:44 <@lh> so far we have agreed to the following:
+11:44 -!- drhous1 [n=vattam@59.96.193.222] has joined #melange
+11:44 <@lh> 1) patches are welcome provided contributor guidelines are followed
+11:45 <@lh> 2) universal features will be prioritized first
+11:45 -!- kblin [n=kai@2001:6f8:9e0:0:213:ceff:fe8a:75b7] has joined #melange
+11:45 <@lh> 3) i am holding bi-weekly office hours to give feature requirements and feedback
+11:45 <@lh> now i still feel like this is not resolved:
+11:45 <@tlarsen> bi-weekly or semi-weekly :)
+11:46 <@lh> 1) how do we motivate people to do work on this web app when we are focusing on ghop first
+11:46 <@tlarsen> (I can dream...)
+11:46 <@tlarsen> lh: are we thinking "if you build it, they will come"?
+11:46 <@lh> 2) how do we get enough universal stuff done quickly so that those who want to work on ghop specific stuff can start while those who want to work on gsoc stuff can do that
+11:46 <@lh> and 3) how do we get enough interesting stuff done by the mentor summit?
+11:46 < raven`> I also think weekly meetings are required because of the codebase (like SRabbelier and/or solydzajs if I remember good :))
+11:47 <@tlarsen> lh: You *need* to run GHOP, there is no GHOP web app, lots of the code for supporting GHOP can be leveraged for GSoC.
+11:47 <@lh> tlarsen: absolutely 100% correct
+11:47 <@jbailey> tlarsen, Open source is usually a case of "we build it and we hope people will come.  But they might not.  And that's okay too, because we're scratching our own itch."
+11:47 -!- raven` is now known as ravenexus
+11:47 <+SRabbelier> jbailey: except this is a special kind of OS project
+11:47 <@tlarsen> lh: I would be perfectly happy if people started getting interested in the GSoC part of Melange if we registered Melange as a mentoring org for GSoC 2009 (assuming we run it).
+11:47 <+SRabbelier> jbailey: which probably means there are to be some differences at least
+11:48 < ahassany> tlarsen, +1
+11:48 <+SRabbelier> tlarsen: wouldn't that be one year late though?
+11:48 <@jbailey> SRabbelier, How so?  In this case Google wants these programs to run, yes?
+11:48 <@lh> tlarsen: that is certainly my plan
+11:48 <@tlarsen> jbailey: Another way that this project is "special":  we are doing all of this in the open, before it is even half-baked.
+11:48 <+SRabbelier> jbailey: yes, so there's a time constraint
+11:48 <@lh> SRabbelier: it is very special. 2500+ of the worlds open sourcerers will use it.
+11:48 <@jbailey> tlarsen, Eh, that's the least special part.
+11:48 <@tlarsen> jbailey: I've always disagreed with that, and we don't open-source any other Google code that way.
+11:48 <+solydzajs> SRabbelier: there is always stuff to fix and improve
+11:48 < ahassany> and announcement for gsoc students mailing list, call for help
+11:48 < spearce> tlarsen: how is this project more special than linux kernel, or llvm, or gcc, or ... ?
+11:48 <@jbailey> tlarsen, It's unusual for an open source program in that it's been closed this whole time.
+11:49 <+solydzajs> SRabbelier: and we are also aiming for social features of Melange
+11:49 <+SRabbelier> solydzajs: ah, like that, yeah, I guess :)
+11:49 <@lh> ahassany: more developers now = more complexitiy
+11:49 <@tlarsen> SRabbelier: the existing GSoC web app can run (painfully) the GSoC program for as many more years as we need it to.
+11:49 <@lh> i think most projects start of being an utter mess. then they are iterated upon and improved over time. it is ok to fall flat on your face. you are still moving forward.
+11:49 <@jbailey> SRabbelier, Sure.  But in everything people do there are time constraints.  If things take too long, they get dropped or whatnot.  Google considers this important enough to dedicate at least one full time person to the task.
+11:49 < ahassany> lh, you may be right
+11:49 < penyaskito> IMHO, the most important thing is starting... I'm sure that people will come once we have more code in
+11:49 <+SRabbelier> lh: nah, more developers means more eyes to catch bugs ;)
+11:49 <@tlarsen> SRabbelier: jbailey and I did a *lot* of work to make it maintainable, but we can't easily add stuff lh wants.
+11:49 <+SRabbelier> jbailey: this is true
+11:50 <+SRabbelier> tlarsen: what is the causeo f that?
+11:50 <@lh> OKAY REFOCUS
+11:50 <@tlarsen> lh: Yes, and those projects don't have hard deadlines like the Mentor Summit, the next time we want to run GHOP, or GSoC 2009.
+11:50 <@tlarsen> lh: we have two diametricaly opposed goals here.
+11:50 <@lh> 1) how do we motivate people to do work on this web app when we are focusing on ghop first
+11:50 <+SRabbelier> lh: pay them money? ;)
+11:50 <@tlarsen> jbailey: Who would that full-time person be?
+11:50 < kblin> I don't think that's your main problem
+11:50 < ravenexus> 1) via GSoC 2009 >
+11:51 < ravenexus> ?
+11:51 <@lh> ) how do we get enough universal stuff done quickly so that those who want to work on ghop specific stuff can start while those who want to work on gsoc stuff can do that
+11:51 < spsneo> SRabbelier: thats a bad idea
+11:51 <@tlarsen> jbailey: ('cause it isn't me)
+11:51 <+solydzajs> lh: they work on universal components which are part of GSoC too
+11:51 < spsneo> ravenexus: thats a better idea
+11:51 <@lh> 3) how do we get enough interesting stuff done by the mentor summit?
+11:51 <@jbailey> tlarsen, Ah, I think this was your full time assignment.  My bad, I don't stalk your snippets.
+11:51 <@lh> kblin: what is our main problem
+11:51 <@tlarsen> SRabbelier: the existing code is *very* brittle and suffers from bit rot because it only gets dusted off after 6 months in hibernation each year.
+11:51 <@lh> i want an answer to #1. how do we make that happen.
+11:51 <@tlarsen> SRabbelier: the Google "platform" is a moving target.
+11:52 <+SRabbelier> tlarsen: ah, you meant the existing code?
+11:52 < ravenexus> SRabbelier, lh: the fact is that if you allow someone to work full-time, they won't stay long if they don't really care about the project.
+11:52 <@lh> can we stop discussing the current web app. we know we want it to go away. it is not relevant to answering these particular questions.
+11:52 < spsneo> lh: you can motivate people by issuing them certificate for they work they do.. Google's certificates matter!
+11:52 -!- prg3 [n=prg3@playground.cein.ualberta.ca] has joined #melange
+11:52 <@lh> spsneo: fine done melange contributors tees.
+11:52 <+SRabbelier> spsneo: mhhhh... google goodings?
+11:52 < kblin> lh: it's been a nice running gag to say "if we run it again", but you won't get much buyin from other people if they can't be sure if their work is going to be used
+11:52 < ravenexus> SRabbelier: and that wont make other coders to come
+11:52  * lh will print them herself if need be
+11:52 <@tlarsen> jbailey: Not while GSoC is running, as you well know.
+11:52 <+durin42> lh: re having interesting features by the summit, pick something you feel will demo well, and we work towards it
+11:52 <+SRabbelier> **goodies
+11:52 <@jbailey> lh, I think to some degree it is: It's what everyone will have in their head when the approach the ap, and it's also important to grow from it to avoid second-system effect.
+11:52 < spsneo> lh: thats a great idea ..
+11:52 <+SRabbelier> ravenexus: point, I was joking anyway )
+11:52 <@lh> kblin: it is running again. point them to these logs. our marketing department is never going to look here.
+11:53 < ahassany> lh, use peer pressure, weekly reports and meeting
+11:53 <+solydzajs> lh:  #1 contributors work on universal components which are 60% of GHOP app and they are also part of GSoC so it makes them happy
+11:53 <@tlarsen> lh: the current web app is *very* relevant from a timeline perspective.
+11:53 <@lh> durin42: okay, that i can do
+11:53 <@tlarsen> lh: I have a question for you:
+11:53 < ravenexus> SRabbelier: k :) a bit hard to follow the discussion
+11:53 < spsneo> lh: infact I am ready to work as partial-full time coder for google goodies and certis
+11:53 <@lh> ahassany: also a good idea
+11:53 <@lh> spsneo: we will discuss that later
+11:53 <@lh> tlarsen: shoot
+11:53 <@lh> so we have an answer to #1 sorta
+11:53 <@tlarsen> lh: do you want to run GHOP on this in November, or do you want this to become an open-source community get-together?
+11:54 <@tlarsen> lh: I'm open to either one, but they are mutually incompatble.
+11:54 < ahassany> report will make it easy for patchers to follow up
+11:54 <@lh> i want both
+11:54 < spsneo> I also agree to ahassany
+11:54 <@tlarsen> lh: choose one
+11:54 <@lh> i dont think they are incompatible
+11:54 <@lh> nope.
+11:54 <@lh> i can run ghop without melange. i want melange, but i dont need it.
+11:54 <@tlarsen> lh: Sorry, but this is classical "mythical man-month" we're talking about here.
+11:54 <@lh> yes, i understand that. that is why we are trying to form a working plan. we can do the best we can with the limited resources we have.
+11:54 <@tlarsen> lh: OK, so you're willing to continue using the Google Code issue tracker for one more round of GHOP?
+11:55 <@lh> okay question #2
+11:55 <@lh> ) how do we get enough universal stuff done quickly so that those who want to work on ghop specific stuff can start while those who want to work on gsoc stuff can do that
+11:55 <@lh> tlarsen: willing but entirely suboptimal.
+11:55 <+SRabbelier> lh: but more realistic
+11:55 <@lh> what i am hoping is that we give people something at the mentor summit
+11:55 <@tlarsen> lh:  Ummm, people who are interested start commenting ("claiming the tasks") for the existing stories?
+11:55 <@lh> and i can beg people to implement ghop features
+11:55 <@lh> tlarsen: okay. anything else needed.
+11:55 <+solydzajs> tlarsen: no no, no more issue tracker for GHOP please :-)
+11:56 <@tlarsen> lh:  I think it would be less painful to run GSoC on the existing web app in 2009, and have Melange as a mentoring org.
+11:56 < ravenexus> lh: I can help implementing some universal stuff
+11:56 <@lh> tlarsen: hell. no.
+11:56 <@jbailey> lh, I would say that the minimum required for commonality starts with login name and program type.  Anything like that gets added as needed.  If someone needs a data entity that already exists but isn't perfect, it gets refactored at the time.
+11:56 <@tlarsen> lh: You would certainly "have something working" if we focused on GHOP first.
+11:56 <@lh> jbailey: english please
+11:56 <@tlarsen> And, we could always have Melange tasks for students to do in GHOP.  :)
+11:56 <@lh> tlarsen: soemthing working for mentor summit or something working for ghop to launch by end of november
+11:57 <@lh> +++ melange tasks in ghop
+11:57 <+durin42> lh: you'll pull more contributors once there's something working to start patching, I'd like to make a run for ghop rather than a demo at the summit
+11:57 < spsneo> tlarsen: ++
+11:57 <@tlarsen> durin42: agreed
+11:57 <@jbailey> lh, Let's say that you're capturing school name for ghop.  It adds it first.
+11:57 <@lh> jbailey: follow so far.
+11:57 <@tlarsen> lh: is this something that the community of contributors gets to decide, or are you the BDFL of Melange?
+11:57 <+SRabbelier> durin42: I think that's realistic
+11:58 <@lh> tlarsen: i dont want that job.
+11:58 <@jbailey> lh, now gsoc comes along and realises that they *also* need a school name.  But the current app doesn't say what level of school it is, and we decide that it's important.
+11:58  * lh suspects she needs to take it though
+11:58 <@lh> jbailey: ah clarity okay thank you
+11:58 <@lh> so let's ask another question
+11:58 <@jbailey> lh, The answer at this point is to change the database to be what you need it to be, fix up all the current references in the code and move on.
+11:58 <@tlarsen> jbailey: You are reinventing the wheel.
+11:58 <@tlarsen> jbailey: there is already a pretty-detailed schema.
+11:58 <@lh> can we get mentors excited about the system if it is only working ghop features?
+11:58 <@jbailey> lh, Until we have live data, this is a relatively easy exercise.
+11:59 <@tlarsen> jbailey: parts of it are already even coded in soc/models
+11:59 <@lh> jbailey: right right right. ok.
+11:59 <+durin42> lh: I'll work on this to get it working for GHOP, if we have a clear defined goal of doing that.
+11:59 < spearce> lh: i think it will be difficult to attract mentors to the program if it is focused to ghop.  ghop has a smaller base of orgs to pull from.
+11:59 < penyaskito> lh: if their organizations can apply, I'm sure that the answer is yes
+11:59 <+durin42> And what I understand leads me to believe GHOP is probably reasonable for a month of 2 or 3 contributors
+11:59 <+SRabbelier> lh: I do think we can get mentors excited even if it focuses on GHOP
+11:59 <@lh> spearce: yes, but there will be more in time. i want the same scale for ghop one day.
+11:59 <@tlarsen> spearce: If we have working GHOP by November, we will also have lots of GSoC parts already implemented </broken record>
+11:59 <+SRabbelier> spearce: why? if we tell the mentors it'll be used for GSoC too?
+11:59 <@lh> SRabbelier: okay how
+12:00 <+SRabbelier> lh: by, when showing them the app, focussing on the parts GHoP has in common with GSoC
+12:00 <@lh> okay, i think that we have talked for an hour
+12:00 <+SRabbelier> lh: and let them know what is needed to make this app that will run GHOP, also run GSoC
+12:00 <@lh> this is long enough
+12:00 <@lh> let us figure out what we have decided.
+12:00 < ahassany> lh, present GHoP well they will accept it
+12:00 <@lh> 1) patches welcome, use contributor guidelines
+12:00 <@lh> 2) pick a user story and implement if you want to help with development
+12:01 <@lh> 3) implement universal features first
+12:01 <@tlarsen> spearce: are you /ignore'ing me?
+12:01 <@lh> 4) LH holds office hours twice per week to help the dev team learn more about requirements
+12:01 <@lh> 5) we demo what we have at mentor summit and use to recruit mentors to help us develop
+12:01 < spearce> tlarsen: no, i just have a habit of not responding to a remark that i don't feel like i have anything further to say on the subject.
+12:01 <@lh> did i miss anything?
+12:01 -!- spsneo [n=chatzill@125.20.8.170] has quit ["ChatZilla 0.9.83 [Firefox 3.0.1/2008072820]"]
+12:01  * jbailey takes his 10am phone call.  Heavy lag.
+12:02 < spearce> lh: no, i think that is an awesome summary of this past hour.
+12:02 <@tlarsen> spearce: I have a habit of beating a dead horse if I think I'm not being heard.  :)
+12:02 <+durin42> lh: 6) We're moving towards GHOP first?
+12:02 <+durin42> (not sure on that one)
+12:02 <@lh> 6) correct, moving on GHOP first.
+12:02 -!- spsneo [n=chatzill@125.20.8.170] has joined #melange
+12:02 < ahassany> why not making two meetings per week, one with lh for requirements, one without lh for technical details
+12:02 <@lh> if people are super excited about working on gsoc features, they need to help make the universal features happen first.
+12:02 <+solydzajs> lh: 6) we hold tell about current state of Melange during first day of GSoC Mentor Summit and organize Melange hackaton the next day
+12:02 <@lh> ahassany: i would attend both
+12:02 <@lh> solydzajs: correct.
+12:02 <@tlarsen> ahassany: two meetings with lh for requirements, one with tlarsen for technical details :)
+12:03 <@lh> 7) melange talk on day one of summit, melange hacking on day two
+12:03 < spearce> solydzajs: that was my thought regarding gsoc implementation for the mentor summit deadline
+12:03 <+SRabbelier> no fair... I shouldof applied as a mentor :(
+12:03 < ahassany> lh, I want to spare you from one meeting you should be happy :)
+12:03 <@lh> SRabbelier: you can come if you want to come, i give you special dispensation
+12:03 <@lh> you have to pay your own costs
+12:03 <@lh> ahassany: and thank you i appreciate that
+12:03 <+solydzajs> lh: I can prepare a talk about it
+12:03 <@lh> now are there any other takeways from today's meeting?
+12:03 <+solydzajs> lh: with your help :-)
+12:03 <+SRabbelier> lh: I know, that's my problem
+12:03 <@lh> solydzajs: focus on code for now.
+12:03 <@lh> :)
+12:03 <@tlarsen> spearce: parts of GSoC will be done and demonstrable at the Mentor Summit; it just isn't realistic to have much of it done by then.  GSoC is *way* more complicated than GHOP.
+12:04 <+SRabbelier> lh: NL->USA is ~1200 euro :P
+12:04 <@lh> SRabbelier: we will talk later
+12:04 < ravenexus> I am really excited to work on melange if there is some place for universal features :)
+12:04 <@lh> are there any other summary points to discuss?
+12:04 <@lh> or are 1-7 sufficient?
+12:04 < ravenexus> looks ok for me
+12:04 <@lh> i have a 10 am that i am late for, want to make sure this is captured
+12:04 < spearce> SRabbelier: 1200E!  yikes.  that's highway robbery.
+12:04 <+SRabbelier> spearce: I know :(
+12:04 <+SRabbelier> lh: I think you got the most important ones
+12:04  * lh is going to log off in one minute
+12:04 < spearce> lh: i think 1-7 covers it.
+12:04 < ahassany> how we will know who is working on feature?
+12:05 <@lh> are there any other discussion points
+12:05 < penyaskito> Nice
+12:05 <@tlarsen> lh: these points belong in a Featured wiki page.
+12:05 < spearce> ahassany: take ownership of the issue tracker?
+12:05 <+SRabbelier> lh: the time of the next meeting?
+12:05 < spsneo> instructions for new devs
+12:05 <@tlarsen> lh: linked off of the /p/soc/ front page.
+12:05 < spsneo> ?
+12:05 <@lh> ahassany: they will comment in issue tracker that they are doing it
+12:05 <@lh> SRabbelier: i will email the discuss list
+12:05 <@tlarsen> lh: and they need to be mailed to melange-soc and melange-soc-dev
+12:05 <+SRabbelier> lh: ok
+12:05 <@lh> tlarsen: they sure do.
+12:05 <@lh> can someone digest these points from the logs?
+12:05 <@tlarsen> ahassany: using the issue tracker
+12:05 < spsneo> !logs
+12:05 <+solydzajs> lh: 3a) implement universal features first 3b) focus on GHOP specific features
+12:05 <@tlarsen> ahassany: those working on a feature need to comment on the related issue
+12:05 <@lh> and put them on the wiki page page along with a link to the logs? volunteer needed
+12:05 <@lh> solydzajs: noted
+12:06 <+durin42> I'll post the logs into the wiki presently
+12:06 <@lh> durin42: thanks!
+12:06 <@lh> anyone want to volunteer to digest them?
+12:06 <@lh> i think people ought to read the logs, but let's try to make it easier for them to get their hands around it
+12:06 < spsneo> digest them means?
+12:06  * lh pings meeting folks to say late late sorry
+12:06 < spearce> spsneo: summarize them into something shorter, and covering the important points
+12:06 <+SRabbelier> lh: thanks for being here
+12:06 <@lh> SRabbelier: you are welcome
+12:06 <+solydzajs> durin42: please send the link to the wiki page to melange dev group too
+12:07 <@lh> spsneo: yes what spearce said
+12:07 <@lh> solydzajs: ++
+12:07 <@lh> okay i really have to go. please continue whatever discussions you need to.
+12:07 <@tlarsen> lh:  a mission statement!  :)
+12:07 <@tlarsen> (sorry, I just had to...)
+12:07 <@lh> tlarsen: okay i will take a stab at drafting
+12:07 <@lh> might have something for tomorrow
+12:07 <@lh> i will send to dev list for agreement
+12:07 <@lh> g2g
+12:07 -!- lh [n=lhawthor@nat/google/x-a04164ed9c8bab55] has quit []
+}}}
\ No newline at end of file
