
```
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 []
```