#summary Logs of our meeting on IRC on 2008-09-09
#labels Importance-Details,Contents-Complete
{{{
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 []
}}}