*** tpb has joined #melange | 00:00 | |
*** dhaun has joined #melange | 03:35 | |
*** tansell-laptop has joined #melange | 04:07 | |
*** florinciu has joined #melange | 04:34 | |
*** penyaskito has quit IRC | 05:11 | |
*** solydzajs has joined #melange | 05:41 | |
*** ChanServ sets mode: +o solydzajs | 05:41 | |
*** mithro_ has joined #melange | 07:45 | |
*** ChanServ sets mode: +v mithro_ | 07:45 | |
*** mithro has quit IRC | 07:47 | |
*** SRabbelier has joined #melange | 07:54 | |
*** ChanServ sets mode: +o SRabbelier | 07:54 | |
*** tansell_laptop has joined #melange | 08:01 | |
*** tansell-laptop has quit IRC | 08:02 | |
*** madrazr has joined #melange | 08:08 | |
*** madrazr has left #melange | 08:27 | |
*** madrazr has joined #melange | 10:03 | |
*** dmitrig01|afk has joined #melange | 10:54 | |
*** ChanServ sets mode: +v dmitrig01|afk | 10:54 | |
*** dmitrig01|afk has quit IRC | 11:19 | |
*** James--Crook has joined #melange | 11:29 | |
*** dmitrig01|afk has joined #melange | 11:36 | |
*** ChanServ sets mode: +v dmitrig01|afk | 11:36 | |
James--Crook | madrazr: ping | 11:37 |
---|---|---|
*** dmitrig01|afk has quit IRC | 11:38 | |
madrazr | James--Crook: pong | 11:39 |
James--Crook | Hi Mahusudan | 11:39 |
madrazr | James--Crook: Hello! | 11:39 |
James--Crook | Did you get some sleep? (saw you were up till 4Am) | 11:40 |
madrazr | James--Crook: yeah! but thats usual :P | 11:40 |
James--Crook | I've been thinking about bulk-accept and also about e-mail notifications. | 11:40 |
madrazr | James--Crook: just saw your mail | 11:40 |
SRabbelier | James--Crook: o hi :) | 11:41 |
* James--Crook nods | 11:41 | |
James--Crook | is a screen for choosing e-mail notifications part of your GHOP plan? | 11:42 |
SRabbelier | James--Crook: I didn't think anyone reads our changelog :D | 11:42 |
madrazr | screen for choosing notifications? I did not get it | 11:42 |
madrazr | James--Crook: ^ | 11:43 |
James--Crook | madrazr: as in, 'when task status changes I would like to be notified by e-mail.' | 11:43 |
SRabbelier | James--Crook: user preference, yes? | 11:44 |
madrazr | James--Crook: yeah thats part of my GHOP plan | 11:44 |
James--Crook | (but only for some tasks not all) | 11:44 |
James--Crook | SRabbelier: yes. | 11:44 |
James--Crook | madrazr: cool. OK. | 11:44 |
James--Crook | madrazr: also is 'bulk accept' part of your GHOP plan? | 11:44 |
James--Crook | I'll explain... | 11:45 |
madrazr | James--Crook: but that will be just subscribe/unsubscribe for each Task(GSoC proposal style) | 11:45 |
madrazr | James--Crook: thats an NTH | 11:45 |
madrazr | James--Crook: we are implementing NTH only if time permits | 11:45 |
madrazr | AFAIK | 11:45 |
James--Crook | got it. bulk accept is a NTH? | 11:45 |
SRabbelier | don't we already have bulk accept? | 11:46 |
* SRabbelier is confused | 11:46 | |
James--Crook | SRabbelier: what do *you* mean by bulk accept sverre? | 11:46 |
madrazr | James--Crook: yes IIRC | 11:46 |
SRabbelier | James--Crook: processing all students that have been accepted and doing something with them? | 11:46 |
James--Crook | umm.. in GHOP bulk accept is about tasks... | 11:47 |
madrazr | SRabbelier: no, we are talking about bulk accepting "Tasks created by Mentors" | 11:47 |
SRabbelier | well great :P | 11:47 |
James--Crook | So if there are 104 tasks that have been prepared... bulk accept could mean | 11:47 |
James--Crook | accept them all. | 11:47 |
SRabbelier | ambiguatiy ftl | 11:47 |
James--Crook | or it could mean | 11:47 |
James--Crook | That I say which ones I do and do not want to accept. | 11:48 |
James--Crook | It makes a difference. | 11:48 |
* SRabbelier nods | 11:48 | |
SRabbelier | James--Crook: ok, clear | 11:48 |
James--Crook | so madrazr can you say a bit more about how a mentor might choose which notifications they get? | 11:49 |
madrazr | James--Crook: This is the initial plan: For each task, there will be a subscribe button, the same way there is one for each proposal | 11:50 |
madrazr | James--Crook: by subscribing to that task, the person who subscribed gets notification for everything that happens for that task | 11:50 |
James--Crook | OK. So very much as in GSoC. I understand. | 11:51 |
madrazr | James--Crook: it is same! | 11:51 |
madrazr | James--Crook: you have other suggestions? please do tell | 11:51 |
James--Crook | Yes. | 11:51 |
James--Crook | Well.. there is an alternative interface possible that would be nicer to use. | 11:52 |
madrazr | James--Crook: yeah sure, I am all ears :) | 11:52 |
James--Crook | For example, I could look at the list of tasks. | 11:52 |
madrazr | James--Crook: Ok | 11:53 |
James--Crook | And I could tag tick the tasks that I want to track. | 11:53 |
James--Crook | s/tag tick/tag or tick/ | 11:53 |
madrazr | James--Crook: something like GMail inbox? | 11:53 |
James--Crook | yes. | 11:53 |
madrazr | James--Crook: cool! | 11:53 |
James--Crook | I know people would have loved to have that for GSoC. | 11:54 |
madrazr | thats the plan for bulk-accept too, so we can re-use the interface | 11:54 |
James--Crook | I am thinking that it need not be too hard to do either. | 11:54 |
madrazr | James--Crook: Ok | 11:54 |
James--Crook | and... | 11:54 |
James--Crook | it is also the plan for tags :-) | 11:54 |
James--Crook | So with one piece of code we get three very nice features. | 11:54 |
madrazr | Plan for tags? | 11:55 |
madrazr | I did not get you | 11:55 |
madrazr | James--Crook: ^ | 11:55 |
James--Crook | There is another discussion in a different e-mail thread about tags and what we can use | 11:56 |
madrazr | James--Crook: Ok | 11:56 |
James--Crook | Pawel found a nice piece of code called taggable.py | 11:56 |
James--Crook | It allows you to 'apply' tags to any model. | 11:56 |
James--Crook | Technically it is called a 'mixin'. You can mix it with existing classes. | 11:57 |
madrazr | James--Crook: awesome! I have not yet read that thread :( | 11:57 |
madrazr | James--Crook: thats cool! | 11:57 |
James--Crook | It does the python databse side of things. But it does not do the tickable ui. | 11:57 |
madrazr | James--Crook: Ok | 11:57 |
James--Crook | But I think the tickable ui can de done by extending as_table in some way... | 11:57 |
madrazr | James--Crook: yeah | 11:58 |
James--Crook | It'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--Crook | Ok. 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 |
madrazr | James--Crook: yeah I have read the wiki about Tagging | 12:00 |
madrazr | just now | 12:00 |
madrazr | will read the mail thread | 12:01 |
James--Crook | You read quick! | 12:01 |
madrazr | James--Crook: no I read before the discussion started now :P | 12:01 |
James--Crook | Ah :-) | 12:01 |
madrazr | James--Crook: are you updating this requirement in the GHOP wiki or do you want me to do it? | 12:02 |
James--Crook | It 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--Crook | so quick answer is you update it. | 12:03 |
James--Crook | SRabbelier: thanks for your responses on change logs on melange-soc-dev. All is clear to me now. | 12:08 |
SRabbelier | James--Crook: win :) | 12:09 |
madrazr | James--Crook: I am putting this as "tentative requirements" now | 12:09 |
madrazr | will discuss with Lennie and finalize | 12:09 |
James--Crook | madrazr: very cool. | 12:11 |
James--Crook | madrazr: 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 |
madrazr | James--Crook: Ok | 12:13 |
James--Crook | So he is looking at things like 'jobs' | 12:14 |
James--Crook | because they are needed for gathering statistics. | 12:14 |
madrazr | James--Crook: jobs? | 12:14 |
James--Crook | As in cron jobs. | 12:14 |
madrazr | James--Crook: Ok | 12:15 |
James--Crook | So... what will happen is that a cron job will gather statistics on the server. | 12:15 |
madrazr | James--Crook: Ok | 12:15 |
James--Crook | and then code on the client side will present it nicely. | 12:15 |
James--Crook | We were looking at different kinds of statistics. | 12:15 |
madrazr | Ok | 12:16 |
James--Crook | This 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 that | 12:17 |
James--Crook | later 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 |
madrazr | James--Crook: Ok | 12:18 |
madrazr | I understand, thats exactly why I asked Lennie to have a separate meeting dedicated for tags | 12:18 |
James--Crook | We 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--Crook | Ah, I hadn't realised that you had called the meeting. +1. Good idea. | 12:19 |
James--Crook | I think it is good that we do have these interrelations between parts. | 12:19 |
madrazr | James--Crook: Ok | 12:19 |
James--Crook | Just so long as the mentors stay on the ball and make sure there are not problems from it :-) | 12:20 |
James--Crook | madrazr: how are things generally? | 12:20 |
madrazr | James--Crook: so far so good | 12:20 |
madrazr | but I am a bit scared since coding period starts in just 6 days :( | 12:21 |
madrazr | err... not scared actually, a bit nervous | 12:21 |
James--Crook | why is that scary? You have produced good code already. | 12:21 |
James--Crook | well.. nervous is also excited... | 12:21 |
madrazr | James--Crook: heh, may be :P | 12:21 |
madrazr | James--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 |
madrazr | James--Crook: which open source project? | 12:22 |
James--Crook | I'm a mentor with Audacity (the sound editor). | 12:22 |
madrazr | James--Crook: woow! | 12:23 |
madrazr | Audacity ftw! | 12:23 |
madrazr | thanks to your team :P it is helping us complete our final year project :D | 12:23 |
James--Crook | In my day job I work with electronics, FPGAs. | 12:23 |
James--Crook | What is your final year project? | 12:23 |
madrazr | James--Crook: Query by Humming | 12:24 |
James--Crook | Is that query for tunes? Wow! | 12:24 |
James--Crook | What approach are you using? | 12:24 |
madrazr | James--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 Transforms | 12:25 |
madrazr | we have implemented only the first 2 | 12:25 |
madrazr | working on third | 12:25 |
James--Crook | That's a hard problem! What about the matching part. How do you search? | 12:26 |
madrazr | we construct the tags for the original songs manually, for which we use Audacity | 12:26 |
James--Crook | For example are you using a big index? | 12:27 |
madrazr | James--Crook: very huge :( | 12:27 |
madrazr | James--Crook: performance sucks :( | 12:27 |
James--Crook | So, is it like sequences of five notes, so that if the first note is picked up wrong it gets it? | 12:27 |
James--Crook | When you say 'very huge' does it still fit in memory? | 12:28 |
madrazr | James--Crook: not exactly, it is a very approximate match | 12:28 |
madrazr | James--Crook: our test song data base is very small, something like 150-200 songs and for that yes it does | 12:29 |
James--Crook | I 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 |
madrazr | yeah | 12:30 |
madrazr | :( | 12:30 |
madrazr | thats the saddest part | 12:30 |
SRabbelier | James--Crook: it's the GAE problem :) | 12:30 |
James--Crook | Give me a sense of how big the fragments are... | 12:31 |
James--Crook | SRabbelier: indeed :-) | 12:31 |
madrazr | James--Crook: wow! you worked on DNA matching? what was the goal of the project actually? | 12:31 |
madrazr | James--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 |
madrazr | is an NTH | 12:32 |
madrazr | this was discussed in the May 3rd meeting | 12:32 |
James--Crook | Well... 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 |
madrazr | James--Crook: sooper :) | 12:33 |
James--Crook | madrazr: NTH. Nods. Got it. | 12:33 |
James--Crook | Greg Wilson has been suggesting coordinating different open source projects that are implementing versions of 'diff'. Audio comparison is a form of diff | 12:35 |
SRabbelier | James--Crook: no wai :P | 12:35 |
James--Crook | because you have to allow for changes in length. | 12:35 |
madrazr | James--Crook: Ok | 12:35 |
James--Crook | and dna comparison is a form of diff. | 12:35 |
madrazr | yeah | 12:35 |
madrazr | so how do we collaborate? | 12:36 |
James--Crook | http://groups.google.com/group/google-summer-of-code-mentors-list/browse_thread/thread/eb589016bd3c83a9/de7ab1e9bc218b72?lnk=gst&q=diff#de7ab1e9bc218b72 | 12:36 |
tpb | <http://ln-s.net/3CB2> (at groups.google.com) | 12:37 |
James--Crook | Ooops, madrazr that's on mentor's list... | 12:37 |
madrazr | James--Crook: :) | 12:37 |
* madrazr seriously wants to be on that list by next year :D | 12:37 | |
James--Crook | His idea was that as a first step just that different organizations make GSoC projects that are diff related. | 12:38 |
madrazr | ok | 12:38 |
James--Crook | So gimp does an image diff. | 12:38 |
James--Crook | Audacity does an audio diff | 12:38 |
James--Crook | and so on... | 12:38 |
madrazr | Ok | 12:38 |
James--Crook | It 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 |
SRabbelier | James--Crook: is there someone/somewhere cooridinating that effort yet, or is it just an idea? | 12:40 |
James--Crook | I think google summer of code is a catalyst for this kind of collaboration because it brings different open source groups together. | 12:40 |
James--Crook | SRabbelier: it's more than just an idea, but it is less than someone coordinating it. | 12:40 |
madrazr | James--Crook: yeah. GSoC FT-double Win :D | 12:41 |
James--Crook | http://gsoc-wiki.osuosl.org/index.php/Diff_Initiative | 12:41 |
tpb | <http://ln-s.net/3CB7> (at gsoc-wiki.osuosl.org) | 12:41 |
SRabbelier | James--Crook: cool | 12:42 |
James--Crook | I 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--Crook | madrazr: the humm search engine, what is it written in? | 12:46 |
madrazr | James--Crook: Python code and just math libraries | 12:46 |
James--Crook | OK. 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 |
madrazr | James--Crook: yeah, and it is a very very young project. not even 3 months into it and we are just 2 working on it | 12:48 |
James--Crook | What size fragment matches are searched for? | 12:48 |
madrazr | James--Crook: 256 frames, where each frame = 22500 samples | 12:48 |
madrazr | James--Crook: we use this STD Python library called audioop for this | 12:49 |
SRabbelier | James--Crook: you can include optimized ASM code in a python library though | 12:49 |
James--Crook | Those look big fragments to me. What is that in seconds of audio roughly? | 12:50 |
madrazr | James--Crook: Oh wait each frame != 22500 samples, if so one fragment = 256 secs which is not the case | 12:51 |
madrazr | James--Crook: just a min | 12:51 |
James--Crook | (CD quality is 44.1 KHz) | 12:51 |
James--Crook | So at CD quality it is 128 seconds... | 12:52 |
madrazr | James--Crook: frame length = 58 ms approximately | 12:53 |
James--Crook | The reason I am asking is that for sufficiently short fragments you do not have to worry about indels (insertions or deletions) | 12:53 |
James--Crook | So 14 secs per fragment. | 12:55 |
madrazr | James--Crook: yeah approx | 12:55 |
James--Crook | So it is not really an index so much as a full scale compare each item in turn (as was the DNA comparison)? | 12:56 |
madrazr | James--Crook: no it is not that big | 13:00 |
James--Crook | madrazr: Wasn't so much the size, as the way to locate matches. | 13:00 |
James--Crook | For DNA I had to compare each sequence in turn with the target sequence. | 13:01 |
madrazr | James--Crook: Ok | 13:01 |
James--Crook | It is sounding like the audio search is also doing the same thing (because the fragments are quite large) | 13:01 |
madrazr | James--Crook: but DNA sequence is really really huge no? songs are no where close to its size? | 13:02 |
madrazr | James--Crook: Ok | 13:02 |
James--Crook | DNA search is huge. (and I ran my program for a month) | 13:02 |
James--Crook | but there are techniques that use indexes (on small fragments) that are fast when the matches are good. | 13:03 |
James--Crook | So my questions are to help me understand whether any of the techniques I know about could be useufl to you. | 13:04 |
James--Crook | so for example... | 13:04 |
James--Crook | You could find fragment matches for periods of up to about half a second | 13:04 |
James--Crook | using an index. | 13:05 |
James--Crook | but that does not get you very far for the kind of matching you want. | 13:05 |
James--Crook | :-( | 13:05 |
James--Crook | The technique I am thinking of for inexact matching of fragments is used in a dna search algorithm called 'blast'. | 13:06 |
madrazr | James--Crook: Oh Ok | 13:08 |
madrazr | this is awesome! | 13:08 |
James--Crook | I think you have many of the same problems in doing song matching as exist in dna matching. | 13:09 |
madrazr | James--Crook: where can I know more about 'blast' ? | 13:09 |
madrazr | James--Crook: Ok | 13:09 |
James--Crook | Loads of hits if ou search for it with google, but let me give you the executive version.. | 13:09 |
James--Crook | Blast is basically a refinement of a method for finding exact matching 'words' | 13:10 |
madrazr | James--Crook: thanks so much! | 13:10 |
madrazr | Ok | 13:10 |
James--Crook | Let us say you decide to look for 'five letter words'. | 13:10 |
madrazr | James--Crook: Ok | 13:11 |
James--Crook | Exact matching can be done fast. | 13:11 |
James--Crook | One way is to take the sequence you are searching with. | 13:11 |
James--Crook | Make a dictionary of all the five letter words it contains. | 13:11 |
James--Crook | Then you have some choices. | 13:12 |
James--Crook | You could make a dictionary of the database you are searching. | 13:12 |
James--Crook | Then compare the two dictionaries, in sequence. | 13:12 |
James--Crook | That's (probably) the best way, if you want exact matches. | 13:12 |
James--Crook | Another way, and this is closer to what blast does | 13:13 |
James--Crook | is to take a five letter word from the start of the database | 13:13 |
James--Crook | and compare it against the dictionary made from what you are searching with. | 13:13 |
James--Crook | then it moves on to the next five letter word in the database | 13:14 |
James--Crook | and so on. | 13:14 |
madrazr | Oh Ok | 13:14 |
James--Crook | At the end of all the processing you have a large number of fragment matches. | 13:14 |
James--Crook | Now, what blast does that is clever | 13:14 |
James--Crook | is that instead of just producing a dictionary of the five letter words in your search sequence. | 13:15 |
James--Crook | it also includes in the dictionary near misses. | 13:15 |
James--Crook | So what happens now? | 13:15 |
James--Crook | You do exact matching search | 13:15 |
James--Crook | and you find exact matches and inexact matches. | 13:15 |
James--Crook | It sounds almost too good to be true. | 13:16 |
madrazr | yeah | 13:16 |
madrazr | this is awesome! | 13:16 |
James--Crook | and there is a drawback. | 13:16 |
madrazr | James--Crook: what? | 13:16 |
James--Crook | explosion of your dictionary. | 13:16 |
James--Crook | If you want to allow for quite large differences | 13:16 |
James--Crook | your dictionary made from your search sequence rapidly becomes too huge to make. | 13:17 |
James--Crook | so you can only use blast for relatively small differences. | 13:17 |
James--Crook | it is still a very useful technique and is widely used. | 13:17 |
James--Crook | (end of exeutive version of blast) | 13:18 |
madrazr | James--Crook: Oh Ok | 13:18 |
madrazr | James--Crook: but I did not get how we construct near misses? | 13:18 |
James--Crook | ah, that is done like this... | 13:18 |
James--Crook | Take a word that we are going to put in our dictionary, say the word is AMAZE | 13:19 |
James--Crook | Then we malke all small variations on that word... BMAZE, ANAZE, AMBZE, AMAYE, AMAZD.... | 13:20 |
James--Crook | we vary each letter by a small amount... | 13:20 |
madrazr | James--Crook: Oh cool! | 13:20 |
James--Crook | and put those variations in the dictionary. | 13:20 |
madrazr | Ok | 13:21 |
James--Crook | so you can see it rapidly gets impossible if we allow for large variations ! | 13:21 |
madrazr | James--Crook: yeah :) | 13:21 |
SRabbelier | James--Crook: sounds like genetic algorithms with those small variations :P | 13:22 |
James--Crook | I think we really should do a diff organization some time. It keeps coming up in different contexts... | 13:22 |
James--Crook | SRabbelier: yep. No doubt what inspired the guy who came up with that algorithm :-) | 13:23 |
madrazr | we need diffs for Melange too :D | 13:23 |
madrazr | most sought after feature :P | 13:23 |
James--Crook | Oh. Yes. That too! Maybe we could start the diff organisation within melange :-)) | 13:23 |
James--Crook | rietveld has a nice diff. | 13:24 |
James--Crook | Or rather it uses python's nice diff | 13:24 |
SRabbelier | James--Crook: hehe, nice one :P | 13:24 |
James--Crook | and has a nice presentation of it in a table. | 13:24 |
madrazr | how do I use rietveld? | 13:24 |
madrazr | SRabbelier: James--Crook: can you link me please/ | 13:25 |
madrazr | ? | 13:25 |
James--Crook | madrazr: SRabbelier will tell you :-) | 13:25 |
SRabbelier | James--Crook: I will? :P | 13:25 |
madrazr | SRabbelier: a link is fine :P | 13:25 |
SRabbelier | madrazr: Rietveld is a code-review tool with a very nice diff viewer builtin | 13:25 |
James--Crook | I thought you and pawel used rietveld all the time for code reviews? | 13:25 |
SRabbelier | we have an instnace running... *looks for it* | 13:25 |
James--Crook | and rietveld is built on GAE. We can re-use their code. | 13:26 |
madrazr | wow!!! this is awesome! written by GvR :D | 13:26 |
SRabbelier | madrazr: iti s | 13:26 |
SRabbelier | found it | 13:27 |
SRabbelier | http://codereviews.googleopensourceprograms.com/ | 13:27 |
tpb | <http://ln-s.net/3CBh> (at codereviews.googleopensourceprograms.com) | 13:27 |
SRabbelier | madrazr: http://codereviews.googleopensourceprograms.com/2401/diff/66/223 | 13:28 |
tpb | <http://ln-s.net/3CBi> (at codereviews.googleopensourceprograms.com) | 13:28 |
SRabbelier | err | 13:28 |
SRabbelier | better example here | 13:28 |
SRabbelier | madrazr: http://codereviews.googleopensourceprograms.com/2401/diff/65/205 | 13:28 |
tpb | <http://ln-s.net/3CBj> (at codereviews.googleopensourceprograms.com) | 13:28 |
madrazr | SRabbelier: w00t! | 13:29 |
madrazr | this is so awesome | 13:29 |
madrazr | n/p rocks! | 13:29 |
James--Crook | Also, 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--Crook | n/p? | 13:30 |
SRabbelier | James--Crook: nope, that's code.google.com's builtin diff viewer, it's not open source | 13:30 |
James--Crook | Oh :-( | 13:30 |
SRabbelier | James--Crook: but afaik, it's very similar to rietveld :) | 13:31 |
James--Crook | Ah, n/p = next/previous. I'm enlightened now :-) | 13:31 |
SRabbelier | James--Crook: yup, it's standard gmail keyboar shorcuts | 13:32 |
SRabbelier | James--Crook: I hardly ever use the mouse in gmail anymoer :) | 13:32 |
*** tansell_laptop has quit IRC | 13:56 | |
*** tansell-laptop has joined #melange | 14:28 | |
*** James--Crook has left #melange | 14:32 | |
madrazr | SRabbelier: in models.seed_db.py seed_org seed_mentor seed_user seed_student and seed_student_proposal don't use the request parameter at all | 15:19 |
SRabbelier | madrazr: cool | 15:19 |
madrazr | whats the point in having them? | 15:19 |
SRabbelier | madrazr: common api | 15:20 |
SRabbelier | madrazr: as in, they are all called from the same plcae | 15:20 |
SRabbelier | madrazr: so they must all accept is as a parameter | 15:20 |
SRabbelier | (even if they don't use it) | 15:20 |
SRabbelier | madrazr: but I think we might change that | 15:21 |
SRabbelier | madrazr: after Dan's recent chagnes and all | 15:21 |
madrazr | SRabbelier: I don't think it is making sense here | 15:21 |
madrazr | SRabbelier: Ok | 15:21 |
madrazr | SRabbelier: just because of passing this parameter to one method we are having this parameter in 5 other methods where we don't even use it | 15:22 |
SRabbelier | madrazr: look at the calling code | 15:22 |
madrazr | SRabbelier: line 786 | 15:22 |
SRabbelier | madrazr: how is it going to know whether it needs to pass it as argumetn or not? | 15:22 |
madrazr | SRabbelier: use check around line 786 if seed_type == 'org_app' pass the parameter | 15:23 |
madrazr | other wise not | 15:23 |
SRabbelier | madrazr: then why be generic at all | 15:23 |
SRabbelier | madrazr: just do a "case" statement | 15:23 |
SRabbelier | if seed_type == 'foo': | 15:23 |
SRabbelier | call_it_Thisway | 15:23 |
SRabbelier | elif seed_type == 'bar': | 15:23 |
SRabbelier | call_it_that_way | 15:23 |
madrazr | thats fine ? | 15:24 |
SRabbelier | madrazr: sure | 15:24 |
SRabbelier | madrazr: go ahead :) | 15:24 |
madrazr | SRabbelier: its not even elif, it is just else thats all | 15:24 |
madrazr | :) | 15:24 |
SRabbelier | madrazr: atm, yeah, why not :) | 15:24 |
SRabbelier | madrazr: well | 15:24 |
SRabbelier | I meant | 15:24 |
SRabbelier | instead of the 'lookup' table with funtion poitners | 15:25 |
madrazr | SRabbelier: that means lot of repeated code | 15:25 |
madrazr | *repeating code | 15:26 |
madrazr | I think it is better to keep the idea of function pointer | 15:26 |
*** solydzajs has quit IRC | 15:26 | |
SRabbelier | madrazr: mhh | 15:28 |
madrazr | SRabbelier: re-using seed_org or seed_org_app from tests asks for running seed() method which requires a HTTP request object | 15:40 |
madrazr | what shall I do? | 15:40 |
SRabbelier | madrazr: as discussed yesterday, make it where they don't need the request object | 15:40 |
madrazr | SRabbelier: "make it" ? | 15:42 |
SRabbelier | madrazr: s/make it where/change the code so that/ | 15:42 |
madrazr | SRabbelier: it is not possible AFAIK, since seed() is also called by /seed_db url | 15:43 |
madrazr | Oh wait | 15:43 |
SRabbelier | madrazr: huh? :P | 15:43 |
SRabbelier | madrazr: I mean, make it where seed_org doesn't need it | 15:43 |
madrazr | holy crap, I can make request=None :P | 15:43 |
SRabbelier | madrazr: not seed() itself | 15:43 |
madrazr | SRabbelier: Oh Ok | 15:43 |
madrazr | SRabbelier: gsoc2009 = Program.get_by_key_name('google/gsoc2009') | 15:51 |
madrazr | if not gsoc2009: raise Error('Run seed_db first') | 15:51 |
SRabbelier | madrazr: what about it? | 15:51 |
madrazr | this 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 |
madrazr | s/we need/we need not/ | 15:52 |
SRabbelier | madrazr: hmmmm, good question :D | 15:52 |
SRabbelier | madrazr: same I guess | 15:53 |
SRabbelier | madrazr: bring the responsibility to ensure that it's created up to the caller and pass the desired program object to the method | 15:53 |
madrazr | SRabbelier: Ok | 15:54 |
*** madrazr1 has joined #melange | 16:35 | |
*** madrazr has quit IRC | 16:36 | |
*** madrazr1 is now known as madrazr | 16:36 | |
SRabbelier | madrazr: cool! | 16:42 |
madrazr | SRabbelier: for? | 16:42 |
madrazr | SRabbelier: patch? | 16:42 |
SRabbelier | madrazr: yuh | 16:43 |
madrazr | SRabbelier: :) | 16:43 |
*** madrazr has quit IRC | 16:47 | |
*** madrazr has joined #melange | 16:47 | |
SRabbelier | madrazr: your patch looks good, but I do have some comments :) | 17:56 |
madrazr | SRabbelier: yeah please tell me | 17:56 |
SRabbelier | madrazr: it would make sense to extract the request.GET.get('status', 'pre-accepted') outside the for loop | 17:57 |
SRabbelier | madrazr: not that it's expensive, just silly to do it over and over | 17:57 |
madrazr | SRabbelier: Oh yeah Ok | 17:57 |
madrazr | SRabbelier: anything else? | 18:00 |
SRabbelier | madrazr: yes, one sec | 18:00 |
madrazr | SRabbelier: Ok | 18:00 |
SRabbelier | madrazr: if you want to parametrize it | 18:04 |
SRabbelier | madrazr: the gsoc2009 and stuff | 18:04 |
SRabbelier | madrazr: instead of hardcoding the scope path you should make that dynamic too | 18:05 |
madrazr | SRabbelier: Oh Ok | 18:05 |
SRabbelier | madrazr: instead of creating the user yourself, can't you reuse the code from seed_db? | 18:09 |
madrazr | SRabbelier: sure | 18:11 |
SRabbelier | madrazr: looks good otherwise | 18:14 |
SRabbelier | madrazr: are you going to resend with fixes applied tomorrow? | 18:15 |
madrazr | SRabbelier: Ok cool! yes | 18:15 |
madrazr | SRabbelier: I am free tomo morning itself, so will send it by afternoon | 18:15 |
SRabbelier | madrazr: sweet, I'll try to apply it tomorrow night when I get back home then :) | 18:15 |
SRabbelier | madrazr: nice | 18:15 |
madrazr | SRabbelier: cool! | 18:15 |
madrazr | so meeting LH tomo? | 18:15 |
madrazr | SRabbelier: ^ | 18:16 |
SRabbelier | madrazr: yup! :) | 18:16 |
madrazr | SRabbelier: awesome! | 18:16 |
SRabbelier | madrazr: definitely! :D | 18:16 |
* madrazr dreams for a chance to meet the entire Melange team face-to-face :D | 18:16 | |
SRabbelier | madrazr: hehe, if you pass GSoC I don't doubt that will happen :) | 18:17 |
madrazr | SRabbelier: :) | 18:17 |
SRabbelier | madrazr: anyway, I must be off to bed! | 18:18 |
SRabbelier | madrazr: and you should probably too :P | 18:18 |
madrazr | SRabbelier: see you bye | 18:18 |
madrazr | thanks a lot | 18:18 |
madrazr | SRabbelier: I am leaving too :P | 18:18 |
SRabbelier | madrazr: thank _you_! :D | 18:18 |
madrazr | :P | 18:18 |
SRabbelier | madrazr: g'night then :) | 18:18 |
madrazr | good night | 18:18 |
*** SRabbelier has quit IRC | 18:18 | |
*** madrazr has left #melange | 18:18 | |
*** SRabbelier has joined #melange | 18:21 | |
*** ChanServ sets mode: +o SRabbelier | 18:21 | |
*** SRabbelier has quit IRC | 18:21 | |
*** dhaun has quit IRC | 18:51 | |
*** mithro_ is now known as mithro | 19:05 | |
*** forever has joined #melange | 21:37 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!