Saturday, 2009-05-16

*** tpb has joined #melange00:00
*** dhaun has joined #melange03:35
*** tansell-laptop has joined #melange04:07
*** florinciu has joined #melange04:34
*** penyaskito has quit IRC05:11
*** solydzajs has joined #melange05:41
*** ChanServ sets mode: +o solydzajs05:41
*** mithro_ has joined #melange07:45
*** ChanServ sets mode: +v mithro_07:45
*** mithro has quit IRC07:47
*** SRabbelier has joined #melange07:54
*** ChanServ sets mode: +o SRabbelier07:54
*** tansell_laptop has joined #melange08:01
*** tansell-laptop has quit IRC08:02
*** madrazr has joined #melange08:08
*** madrazr has left #melange08:27
*** madrazr has joined #melange10:03
*** dmitrig01|afk has joined #melange10:54
*** ChanServ sets mode: +v dmitrig01|afk10:54
*** dmitrig01|afk has quit IRC11:19
*** James--Crook has joined #melange11:29
*** dmitrig01|afk has joined #melange11:36
*** ChanServ sets mode: +v dmitrig01|afk11:36
James--Crookmadrazr: ping11:37
*** dmitrig01|afk has quit IRC11:38
madrazrJames--Crook: pong11:39
James--CrookHi Mahusudan11:39
madrazrJames--Crook: Hello!11:39
James--CrookDid you get some sleep?  (saw you were up till 4Am)11:40
madrazrJames--Crook: yeah! but thats usual :P11:40
James--CrookI've been thinking about bulk-accept and also about e-mail notifications.11:40
madrazrJames--Crook: just saw your mail11:40
SRabbelierJames--Crook: o hi :)11:41
* James--Crook nods11:41
James--Crookis a screen for choosing e-mail notifications part of your GHOP plan?11:42
SRabbelierJames--Crook: I didn't think anyone reads our changelog :D11:42
madrazrscreen for choosing notifications? I did not get it11:42
madrazrJames--Crook: ^11:43
James--Crookmadrazr: as in, 'when task status changes I would like to be notified by e-mail.'11:43
SRabbelierJames--Crook: user preference, yes?11:44
madrazrJames--Crook: yeah thats part of my GHOP plan11:44
James--Crook(but only for some tasks not all)11:44
James--CrookSRabbelier: yes.11:44
James--Crookmadrazr: cool.  OK.11:44
James--Crookmadrazr: also is 'bulk accept' part of your GHOP plan?11:44
James--CrookI'll explain...11:45
madrazrJames--Crook: but that will be just subscribe/unsubscribe for each Task(GSoC proposal style)11:45
madrazrJames--Crook: thats an NTH11:45
madrazrJames--Crook: we are implementing NTH only if time permits11:45
madrazrAFAIK11:45
James--Crookgot it.  bulk accept is a NTH?11:45
SRabbelierdon't we already have bulk accept?11:46
* SRabbelier is confused11:46
James--CrookSRabbelier: what do *you* mean by bulk accept sverre?11:46
madrazrJames--Crook: yes IIRC11:46
SRabbelierJames--Crook: processing all students that have been accepted and doing something with them?11:46
James--Crookumm..  in GHOP bulk accept is about tasks...11:47
madrazrSRabbelier: no, we are talking about bulk accepting "Tasks created by Mentors"11:47
SRabbelierwell great :P11:47
James--CrookSo if there are 104 tasks that have been prepared...  bulk accept could mean11:47
James--Crookaccept them all.11:47
SRabbelierambiguatiy ftl11:47
James--Crookor it could mean11:47
James--CrookThat I say which ones I do and do not want to accept.11:48
James--CrookIt makes a difference.11:48
* SRabbelier nods11:48
SRabbelierJames--Crook: ok, clear11:48
James--Crookso madrazr can you say a bit more about how a mentor might choose which notifications they get?11:49
madrazrJames--Crook: This is the initial plan: For each task, there will be a subscribe button, the same way there is one for each proposal11:50
madrazrJames--Crook: by subscribing to that task, the person who subscribed gets notification for everything that happens for that task11:50
James--CrookOK.  So very much as in GSoC.  I understand.11:51
madrazrJames--Crook: it is same!11:51
madrazrJames--Crook: you have other suggestions? please do tell11:51
James--CrookYes.11:51
James--CrookWell..  there is an alternative interface possible that would be nicer to use.11:52
madrazrJames--Crook: yeah sure, I am all ears :)11:52
James--CrookFor example, I could look at the list of tasks.11:52
madrazrJames--Crook: Ok11:53
James--CrookAnd I could tag tick the tasks that I want to track.11:53
James--Crooks/tag tick/tag or tick/11:53
madrazrJames--Crook: something like GMail inbox?11:53
James--Crookyes.11:53
madrazrJames--Crook: cool!11:53
James--CrookI know people would have loved to have that for GSoC.11:54
madrazrthats the plan for bulk-accept too, so we can re-use the interface11:54
James--CrookI am thinking that it need not be too hard to do either.11:54
madrazrJames--Crook: Ok11:54
James--Crookand...11:54
James--Crookit is also the plan for tags :-)11:54
James--CrookSo with one piece of code we get three very nice features.11:54
madrazrPlan for tags?11:55
madrazrI did not get you11:55
madrazrJames--Crook: ^11:55
James--CrookThere is another discussion in a different e-mail thread about tags and what we can use11:56
madrazrJames--Crook: Ok11:56
James--CrookPawel found a nice piece of code called taggable.py11:56
James--CrookIt allows you to 'apply' tags to any model.11:56
James--CrookTechnically it is called a 'mixin'.  You can mix it with existing classes.11:57
madrazrJames--Crook: awesome! I have not yet read that thread :(11:57
madrazrJames--Crook: thats cool!11:57
James--CrookIt does the python databse side of things.  But it does not do the tickable ui.11:57
madrazrJames--Crook: Ok11:57
James--CrookBut I think the tickable ui can de done by extending as_table in some way...11:57
madrazrJames--Crook: yeah11:58
James--CrookIt's a fair bit of work to do, but I am just looking at it and thinking what a big win it would be to have.11:58
James--CrookOk.  I suggest you read that thread, and maybe the page on wiki about tagging.   And we'll meet again on IRC (and I'll talk with Lennie about this too and find out his opinions and views).11:59
madrazrJames--Crook: yeah I have read the wiki about Tagging12:00
madrazrjust now12:00
madrazrwill read the mail thread12:01
James--CrookYou read quick!12:01
madrazrJames--Crook: no I read before the discussion started now :P12:01
James--CrookAh :-)12:01
madrazrJames--Crook: are you updating this requirement in the GHOP wiki or do you want me to do it?12:02
James--CrookIt is your choice about how and what you do in conjunction with Lennie.  I am just suggesting a possible route that I think would be cool.  So, if you want to update the requirements to say that that is how things will be done, I am fine with that.  I think it would be very very good, and make for a stronger project.12:03
James--Crookso quick answer is you update it.12:03
James--CrookSRabbelier: thanks for your responses on change logs on melange-soc-dev.  All is clear to me now.12:08
SRabbelierJames--Crook: win :)12:09
madrazrJames--Crook: I am putting this as "tentative requirements" now12:09
madrazrwill discuss with Lennie and finalize12:09
James--Crookmadrazr: very cool.12:11
James--Crookmadrazr: Some other background information...  Merio is in Dublin and the two of us met yesterday to talk about statistics.  (I live in Dublin).12:13
madrazrJames--Crook: Ok12:13
James--CrookSo he is looking at things like 'jobs'12:14
James--Crookbecause they are needed for gathering statistics.12:14
madrazrJames--Crook: jobs?12:14
James--CrookAs in cron jobs.12:14
madrazrJames--Crook: Ok12:15
James--CrookSo... what will happen is that a cron job will gather statistics on the server.12:15
madrazrJames--Crook: Ok12:15
James--Crookand then code on the client side will present it nicely.12:15
James--CrookWe were looking at different kinds of statistics.12:15
madrazrOk12:16
James--CrookThis is one of the reasons that tags have shot up in importance for Melange as a whole....  That some of the most interesting stats will actually arise from tags.  This is just background that you should be aware of.  The reason to mention it now is that12:17
James--Crooklater in the project there may be other people working on tags too, because they will have slightly different needs.  However the foundations of tags will sstay the same.12:17
madrazrJames--Crook: Ok12:18
madrazrI understand, thats exactly why I asked Lennie to have a separate meeting dedicated for tags12:18
James--CrookWe have been worrying a lot about collisions between different parts of the stats projects, but what we're now seeing is that many of the different parts of Melange 'collide' with each other.12:18
James--CrookAh, I hadn't realised that you had called the meeting.  +1.  Good idea.12:19
James--CrookI think it is good that we do have these interrelations between parts.12:19
madrazrJames--Crook: Ok12:19
James--CrookJust so long as the mentors stay on the ball and make sure there are not problems from it :-)12:20
James--Crookmadrazr: how are things generally?12:20
madrazrJames--Crook: so far so good12:20
madrazrbut I am a bit scared since coding period starts in just 6 days :(12:21
madrazrerr... not scared actually, a bit nervous12:21
James--Crookwhy is that scary?  You have produced good code already.12:21
James--Crookwell..  nervous is also excited...12:21
madrazrJames--Crook: heh, may be :P12:21
madrazrJames--Crook: I wanted to ask you from a long time, but anyways sorry for this dumb question. What do you work on in general?12:22
madrazrJames--Crook: which open source project?12:22
James--CrookI'm a mentor with Audacity (the sound editor).12:22
madrazrJames--Crook: woow!12:23
madrazrAudacity ftw!12:23
madrazrthanks to your team :P it is helping us complete our final year project :D12:23
James--CrookIn my day job I work with electronics, FPGAs.12:23
James--CrookWhat is your final year project?12:23
madrazrJames--Crook: Query by Humming12:24
James--CrookIs that query for tunes?  Wow!12:24
James--CrookWhat approach are you using?12:24
madrazrJames--Crook: we want to do 3 types of analysis, one is regression analysis of intensity variation, 2nd is Finding the max-mins at certain intervals of the query and songs and the 3rd is Fourier Transforms12:25
madrazrwe have implemented only the first 212:25
madrazrworking on third12:25
James--CrookThat's a hard problem!  What about the matching part.  How do you search?12:26
madrazrwe construct the tags for the original songs manually, for which we use Audacity12:26
James--CrookFor example are you using a big index?12:27
madrazrJames--Crook: very huge :(12:27
madrazrJames--Crook: performance sucks :(12:27
James--CrookSo, is it like sequences of five notes, so that if the first note is picked up wrong it gets it?12:27
James--CrookWhen you say 'very huge' does it still fit in memory?12:28
madrazrJames--Crook: not exactly, it is a very approximate match12:28
madrazrJames--Crook: our test song data base is very small, something like 150-200 songs and for that yes it does12:29
James--CrookI did research in finding inexact matches between DNA sequences and DNA database.  Same problem.  If you are doing inexact matching then an index does not help you that much, and you have to compare each fragment...12:30
madrazryeah12:30
madrazr:(12:30
madrazrthats the saddest part12:30
SRabbelierJames--Crook: it's the GAE problem :)12:30
James--CrookGive me a sense of how big the fragments are...12:31
James--CrookSRabbelier: indeed :-)12:31
madrazrJames--Crook: wow! you worked on DNA matching? what was the goal of the project actually?12:31
madrazrJames--Crook: also btw as the GHOP requirements wiki suggests, "(NTH) Org Admins/Mentors should be able to bulk upload tasks from a CSV file. "12:32
madrazris an NTH12:32
madrazrthis was discussed in the May 3rd meeting12:32
James--CrookWell... I set the goals.  I worked on it for three years. Basically datamining the DNA database.  I wrote the matching algorithm in assembler and got it to outperform a supercomputer on a 16 MHz PC.  It was a while back :-)12:33
madrazrJames--Crook: sooper :)12:33
James--Crookmadrazr: NTH.  Nods.  Got it.12:33
James--CrookGreg Wilson has been suggesting coordinating different open source projects that are implementing versions of 'diff'.  Audio comparison is a form of diff12:35
SRabbelierJames--Crook: no wai :P12:35
James--Crookbecause you have to allow for changes in length.12:35
madrazrJames--Crook: Ok12:35
James--Crookand dna comparison is a form of diff.12:35
madrazryeah12:35
madrazrso how do we collaborate?12:36
James--Crookhttp://groups.google.com/group/google-summer-of-code-mentors-list/browse_thread/thread/eb589016bd3c83a9/de7ab1e9bc218b72?lnk=gst&q=diff#de7ab1e9bc218b7212:36
tpb<http://ln-s.net/3CB2> (at groups.google.com)12:37
James--CrookOoops, madrazr that's on mentor's list...12:37
madrazrJames--Crook: :)12:37
* madrazr seriously wants to be on that list by next year :D12:37
James--CrookHis idea was that as a first step just that different organizations make GSoC projects that are diff related.12:38
madrazrok12:38
James--CrookSo gimp does an image diff.12:38
James--CrookAudacity does an audio diff12:38
James--Crookand so on...12:38
madrazrOk12:38
James--CrookIt is a very interesting idea, because what it starts to make happen is more collaborations between projects.12:39
James--Crook... between open source projects...12:39
SRabbelierJames--Crook: is there someone/somewhere cooridinating that effort yet, or is it just an idea?12:40
James--CrookI think google summer of code is a catalyst for this kind of collaboration because it brings different open source groups together.12:40
James--CrookSRabbelier: it's more than just an idea, but it is less than someone coordinating it.12:40
madrazrJames--Crook: yeah. GSoC FT-double Win :D12:41
James--Crookhttp://gsoc-wiki.osuosl.org/index.php/Diff_Initiative12:41
tpb<http://ln-s.net/3CB7> (at gsoc-wiki.osuosl.org)12:41
SRabbelierJames--Crook: cool12:42
James--CrookI think actually the way it will go is a bit like yacc.  We'll end up with a tool for writing diff like algorithms.12:42
James--Crookmadrazr: the humm search engine, what is it written in?12:46
madrazrJames--Crook: Python code and just math libraries12:46
James--CrookOK.  So that would be part of the speed issue.  But it is the right approach.  Developer time is more critical than run time when investigating.12:47
madrazrJames--Crook: yeah, and it is a very very young project. not even 3 months into it and we are just 2 working on it12:48
James--CrookWhat size fragment matches are searched for?12:48
madrazrJames--Crook: 256 frames, where each frame = 22500 samples12:48
madrazrJames--Crook: we use this STD Python library called audioop for this12:49
SRabbelierJames--Crook: you can include optimized ASM code in a python library though12:49
James--CrookThose look big fragments to me.  What is that in seconds of audio roughly?12:50
madrazrJames--Crook: Oh wait each frame != 22500 samples, if so one fragment = 256 secs which is not the case12:51
madrazrJames--Crook: just a min12:51
James--Crook(CD quality is 44.1 KHz)12:51
James--CrookSo at CD quality it is 128 seconds...12:52
madrazrJames--Crook: frame length = 58 ms approximately12:53
James--CrookThe reason I am asking is that for sufficiently short fragments you do not have to worry about indels (insertions or deletions)12:53
James--CrookSo 14 secs per fragment.12:55
madrazrJames--Crook: yeah approx12:55
James--CrookSo it is not really an index so much as a full scale compare each item in turn (as was the DNA comparison)?12:56
madrazrJames--Crook: no it is not that big13:00
James--Crookmadrazr: Wasn't so much the size, as the way to locate matches.13:00
James--CrookFor DNA I had to compare each sequence in turn with the target sequence.13:01
madrazrJames--Crook: Ok13:01
James--CrookIt is sounding like the audio search is also doing the same thing (because the fragments are quite large)13:01
madrazrJames--Crook: but DNA sequence is really really huge no? songs are no where close to its size?13:02
madrazrJames--Crook: Ok13:02
James--CrookDNA search is huge.  (and I ran my program for a month)13:02
James--Crookbut there are techniques that use indexes (on small fragments) that are fast when the matches are good.13:03
James--CrookSo my questions are to help me understand whether any of the techniques I know about could be useufl to you.13:04
James--Crookso for example...13:04
James--CrookYou could find fragment matches for periods of up to about half a second13:04
James--Crookusing an index.13:05
James--Crookbut that does not get you very far for the kind of matching you want.13:05
James--Crook:-(13:05
James--CrookThe technique I am thinking of for inexact matching of fragments is used in a dna search algorithm called 'blast'.13:06
madrazrJames--Crook: Oh Ok13:08
madrazrthis is awesome!13:08
James--CrookI think you have many of the same problems in doing song matching as exist in dna matching.13:09
madrazrJames--Crook: where can I know more about 'blast' ?13:09
madrazrJames--Crook: Ok13:09
James--CrookLoads of hits if ou search for it with google, but let me give you the executive version..13:09
James--CrookBlast is basically a refinement of a method for finding exact matching 'words'13:10
madrazrJames--Crook: thanks so much!13:10
madrazrOk13:10
James--CrookLet us say you decide to look for 'five letter words'.13:10
madrazrJames--Crook: Ok13:11
James--CrookExact matching can be done fast.13:11
James--CrookOne way is to take the sequence you are searching with.13:11
James--CrookMake a dictionary of all the five letter words it contains.13:11
James--CrookThen you have some choices.13:12
James--CrookYou could make a dictionary of the database you are searching.13:12
James--CrookThen compare the two dictionaries, in sequence.13:12
James--CrookThat's (probably) the best way, if you want exact matches.13:12
James--CrookAnother way, and this is closer to what blast does13:13
James--Crookis to take a five letter word from the start of the database13:13
James--Crookand compare it against the dictionary made from what you are searching with.13:13
James--Crookthen it moves on to the next five letter word in the database13:14
James--Crookand so on.13:14
madrazrOh Ok13:14
James--CrookAt the end of all the processing you have a large number of fragment matches.13:14
James--CrookNow, what blast does that is clever13:14
James--Crookis that instead of just producing a dictionary of the five letter words in your search sequence.13:15
James--Crookit also includes in the dictionary near misses.13:15
James--CrookSo what happens now?13:15
James--CrookYou do exact matching search13:15
James--Crookand you find exact matches and inexact matches.13:15
James--CrookIt sounds almost too good to be true.13:16
madrazryeah13:16
madrazrthis is awesome!13:16
James--Crookand there is a drawback.13:16
madrazrJames--Crook: what?13:16
James--Crookexplosion of your dictionary.13:16
James--CrookIf you want to allow for quite large differences13:16
James--Crookyour dictionary made from your search sequence rapidly becomes too huge to make.13:17
James--Crookso you can only use blast for relatively small differences.13:17
James--Crookit is still a very useful technique and is widely used.13:17
James--Crook(end of exeutive version of blast)13:18
madrazrJames--Crook: Oh Ok13:18
madrazrJames--Crook: but I did not get how we construct near misses?13:18
James--Crookah, that is done like this...13:18
James--CrookTake a word that we are going to put in our dictionary, say the word is AMAZE13:19
James--CrookThen we malke all small variations on that word...  BMAZE, ANAZE, AMBZE, AMAYE, AMAZD....13:20
James--Crookwe vary each letter by a small amount...13:20
madrazrJames--Crook: Oh cool!13:20
James--Crookand put those variations in the dictionary.13:20
madrazrOk13:21
James--Crookso you can see it rapidly gets impossible if we allow for large variations !13:21
madrazrJames--Crook: yeah :)13:21
SRabbelierJames--Crook: sounds like genetic algorithms with those small variations :P13:22
James--CrookI think we really should do a diff organization some time.  It keeps coming up in different contexts...13:22
James--CrookSRabbelier: yep.  No doubt what inspired the guy who came up with that algorithm :-)13:23
madrazrwe need diffs for Melange too :D13:23
madrazrmost sought after feature :P13:23
James--CrookOh.  Yes.  That too!  Maybe we could start the diff organisation within melange :-))13:23
James--Crookrietveld has a nice diff.13:24
James--CrookOr rather it uses python's nice diff13:24
SRabbelierJames--Crook: hehe, nice one :P13:24
James--Crookand has a nice presentation of it in a table.13:24
madrazrhow do I use rietveld?13:24
madrazrSRabbelier: James--Crook: can you link me please/13:25
madrazr?13:25
James--Crookmadrazr: SRabbelier will tell you :-)13:25
SRabbelierJames--Crook: I will? :P13:25
madrazrSRabbelier: a link is fine :P13:25
SRabbeliermadrazr: Rietveld is a code-review tool with a very nice diff viewer builtin13:25
James--CrookI thought you and pawel used rietveld all the time for code reviews?13:25
SRabbelierwe have an instnace running... *looks for it*13:25
James--Crookand rietveld is built on GAE.  We can re-use their code.13:26
madrazrwow!!! this is awesome! written by GvR :D13:26
SRabbeliermadrazr: iti s13:26
SRabbelierfound it13:27
SRabbelierhttp://codereviews.googleopensourceprograms.com/13:27
tpb<http://ln-s.net/3CBh> (at codereviews.googleopensourceprograms.com)13:27
SRabbeliermadrazr: http://codereviews.googleopensourceprograms.com/2401/diff/66/22313:28
tpb<http://ln-s.net/3CBi> (at codereviews.googleopensourceprograms.com)13:28
SRabbeliererr13:28
SRabbelierbetter example here13:28
SRabbeliermadrazr: http://codereviews.googleopensourceprograms.com/2401/diff/65/20513:28
tpb<http://ln-s.net/3CBj> (at codereviews.googleopensourceprograms.com)13:28
madrazrSRabbelier: w00t!13:29
madrazrthis is so awesome13:29
madrazrn/p rocks!13:29
James--CrookAlso, visit http://code.google.com/p/soc/source/detail?r=81c128f487e65935d4231efab35fcb77be41571a and click 'diff'.  Or is that not rietveld being used there Sverre?13:29
tpb<http://ln-s.net/3CBk> (at code.google.com)13:29
James--Crookn/p?13:30
SRabbelierJames--Crook: nope, that's code.google.com's builtin diff viewer, it's not open source13:30
James--CrookOh :-(13:30
SRabbelierJames--Crook: but afaik, it's very similar to rietveld :)13:31
James--CrookAh, n/p = next/previous.  I'm enlightened now :-)13:31
SRabbelierJames--Crook: yup, it's standard gmail keyboar shorcuts13:32
SRabbelierJames--Crook: I hardly ever use the mouse in gmail anymoer :)13:32
*** tansell_laptop has quit IRC13:56
*** tansell-laptop has joined #melange14:28
*** James--Crook has left #melange14:32
madrazrSRabbelier: in models.seed_db.py seed_org seed_mentor seed_user seed_student and seed_student_proposal don't use the request parameter at all15:19
SRabbeliermadrazr: cool15:19
madrazrwhats the point in having them?15:19
SRabbeliermadrazr: common api15:20
SRabbeliermadrazr: as in, they are all called from the same plcae15:20
SRabbeliermadrazr: so they must all accept is as a parameter15:20
SRabbelier(even if they don't use it)15:20
SRabbeliermadrazr: but I think we might change that15:21
SRabbeliermadrazr: after Dan's recent chagnes and all15:21
madrazrSRabbelier: I don't think it is making sense here15:21
madrazrSRabbelier: Ok15:21
madrazrSRabbelier: just because of passing this parameter to one method we are having this parameter in 5 other methods where we don't even use it15:22
SRabbeliermadrazr: look at the calling code15:22
madrazrSRabbelier: line 78615:22
SRabbeliermadrazr: how is it going to know whether it needs to pass it as argumetn or not?15:22
madrazrSRabbelier: use check around line 786 if seed_type == 'org_app' pass the parameter15:23
madrazrother wise not15:23
SRabbeliermadrazr: then why be generic at all15:23
SRabbeliermadrazr: just do a "case" statement15:23
SRabbelierif seed_type == 'foo':15:23
SRabbelier  call_it_Thisway15:23
SRabbelierelif seed_type == 'bar':15:23
SRabbelier  call_it_that_way15:23
madrazrthats fine ?15:24
SRabbeliermadrazr: sure15:24
SRabbeliermadrazr: go ahead :)15:24
madrazrSRabbelier: its not even elif, it is just else thats all15:24
madrazr:)15:24
SRabbeliermadrazr: atm, yeah, why not :)15:24
SRabbeliermadrazr: well15:24
SRabbelierI meant15:24
SRabbelierinstead of the 'lookup' table with funtion poitners15:25
madrazrSRabbelier: that means lot of repeated code15:25
madrazr*repeating code15:26
madrazrI think it is better to keep the idea of function pointer15:26
*** solydzajs has quit IRC15:26
SRabbeliermadrazr: mhh15:28
madrazrSRabbelier: re-using seed_org or seed_org_app from tests asks for running seed() method which requires a HTTP request object15:40
madrazrwhat shall I do?15:40
SRabbeliermadrazr: as discussed yesterday, make it where they don't need the request object15:40
madrazrSRabbelier: "make it" ?15:42
SRabbeliermadrazr: s/make it where/change the code so that/15:42
madrazrSRabbelier: it is not possible AFAIK, since seed() is also called by /seed_db url15:43
madrazrOh wait15:43
SRabbeliermadrazr: huh? :P15:43
SRabbeliermadrazr: I mean, make it where seed_org doesn't need it15:43
madrazrholy crap, I can make request=None :P15:43
SRabbeliermadrazr: not seed() itself15:43
madrazrSRabbelier: Oh Ok15:43
madrazrSRabbelier: gsoc2009 = Program.get_by_key_name('google/gsoc2009')15:51
madrazrif not gsoc2009: raise Error('Run seed_db first')15:51
SRabbeliermadrazr: what about it?15:51
madrazrthis is how seed_org decides whether seed_db should be called first, how can we handle this so that we need call seed_db when calling seed_org from tests?15:51
madrazrs/we need/we need not/15:52
SRabbeliermadrazr: hmmmm, good question :D15:52
SRabbeliermadrazr: same I guess15:53
SRabbeliermadrazr: bring the responsibility to ensure that it's created up to the caller and pass the desired program object to the method15:53
madrazrSRabbelier: Ok15:54
*** madrazr1 has joined #melange16:35
*** madrazr has quit IRC16:36
*** madrazr1 is now known as madrazr16:36
SRabbeliermadrazr: cool!16:42
madrazrSRabbelier: for?16:42
madrazrSRabbelier: patch?16:42
SRabbeliermadrazr: yuh16:43
madrazrSRabbelier: :)16:43
*** madrazr has quit IRC16:47
*** madrazr has joined #melange16:47
SRabbeliermadrazr: your patch looks good, but I do have some comments :)17:56
madrazrSRabbelier: yeah please tell me17:56
SRabbeliermadrazr: it would make sense to extract the request.GET.get('status', 'pre-accepted') outside the for loop17:57
SRabbeliermadrazr: not that it's expensive, just silly to do it over and over17:57
madrazrSRabbelier: Oh yeah Ok17:57
madrazrSRabbelier: anything else?18:00
SRabbeliermadrazr: yes, one sec18:00
madrazrSRabbelier: Ok18:00
SRabbeliermadrazr: if you want to parametrize it18:04
SRabbeliermadrazr: the gsoc2009 and stuff18:04
SRabbeliermadrazr: instead of hardcoding the scope path you should make that dynamic too18:05
madrazrSRabbelier: Oh Ok18:05
SRabbeliermadrazr: instead of creating the user yourself, can't you reuse the code from seed_db?18:09
madrazrSRabbelier: sure18:11
SRabbeliermadrazr: looks good otherwise18:14
SRabbeliermadrazr: are you going to resend with fixes applied tomorrow?18:15
madrazrSRabbelier: Ok cool! yes18:15
madrazrSRabbelier: I am free tomo morning itself, so will send it by afternoon18:15
SRabbeliermadrazr: sweet, I'll try to apply it tomorrow night when I get back home then :)18:15
SRabbeliermadrazr: nice18:15
madrazrSRabbelier: cool!18:15
madrazrso meeting LH tomo?18:15
madrazrSRabbelier: ^18:16
SRabbeliermadrazr: yup! :)18:16
madrazrSRabbelier: awesome!18:16
SRabbeliermadrazr: definitely! :D18:16
* madrazr dreams for a chance to meet the entire Melange team face-to-face :D18:16
SRabbeliermadrazr: hehe, if you pass GSoC I don't doubt that will happen :)18:17
madrazrSRabbelier: :)18:17
SRabbeliermadrazr: anyway, I must be off to bed!18:18
SRabbeliermadrazr: and you should probably too :P18:18
madrazrSRabbelier: see you bye18:18
madrazrthanks a lot18:18
madrazrSRabbelier: I am leaving too :P18:18
SRabbeliermadrazr: thank _you_! :D18:18
madrazr:P18:18
SRabbeliermadrazr: g'night then :)18:18
madrazrgood night18:18
*** SRabbelier has quit IRC18:18
*** madrazr has left #melange18:18
*** SRabbelier has joined #melange18:21
*** ChanServ sets mode: +o SRabbelier18:21
*** SRabbelier has quit IRC18:21
*** dhaun has quit IRC18:51
*** mithro_ is now known as mithro19:05
*** forever has joined #melange21:37

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!