Created
March 20, 2014 00:03
-
-
Save PirosB3/9654416 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[10:57pm] PirosB3: I updated the doc | |
[10:58pm] freakboy3742: I take it this is your daily "how's my proposal" conversation? | |
[10:58pm] freakboy3742: | |
[10:58pm] • FunkyBob makes a note that freakboy3742 is 3 hours behind | |
[10:58pm] freakboy3742: FunkyBob: I am now. No DST in Perth. | |
[10:58pm] FunkyBob: you lucky sods | |
[10:58pm] PirosB3: freakboy3742: I admit having used the work component once | |
[10:58pm] freakboy3742: Yup. Keep putting it to referendum, and it keeps losing. | |
[10:58pm] PirosB3: I am guilty, but I think I'm using it the write way | |
[10:59pm] freakboy3742: PirosB3: Heh… | |
[10:59pm] PirosB3: ahah | |
[10:59pm] freakboy3742: You're at a disadvantage - I came up through Comp Sci in the era of CORBA. | |
[10:59pm] PirosB3: ahah | |
[10:59pm] FunkyBob: hahahaha | |
[10:59pm] freakboy3742: Most of the scars of that experience have healed… | |
[10:59pm] FunkyBob: I still remember dreaming of redesigning X as CORBA | |
[11:00pm] FunkyBob: how foolish and naive we were | |
[11:00pm] freakboy3742: My co-founder actually used to be a senior manager at Iona. | |
[11:00pm] FunkyBob: freakboy3742: don't suppose you have any experience with developing CFGs? Alex is [understandably :)] ignoring my pleas | |
[11:00pm] PirosB3: I have never used CORBA | |
[11:00pm] freakboy3742: FunkyBob: Only at the "you have to do this to pass CS" level. Haven't looked at them for a long time. | |
[11:01pm] PirosB3: I don't know if that's a good thing or a bad thing | |
[11:01pm] freakboy3742: PirosB3: Probably a good thing | |
[11:01pm] Siecje: FunkyBob: What are you trying to do? | |
[11:01pm] freakboy3742: But, as Santayana says - those who forget the past are doomed to repeat it. | |
[11:01pm] FunkyBob: Siecje: express tag syntax as a BNF so I can use rply | |
[11:02pm] FunkyBob: CORBA... like OLE without the major flaws, but designed by committee | |
[11:02pm] freakboy3742: That's the one! | |
[11:02pm] Siecje: FunkyBob: an issue in particular? | |
[11:03pm] PirosB3: CFG = context free grammar? | |
[11:03pm] Siecje: yeah | |
[11:04pm] PirosB3: looks cool | |
[11:04pm] PirosB3: lots of brackets | |
[11:04pm] PirosB3: is it Lisp? | |
[11:04pm] PirosB3: lol | |
[11:05pm] FunkyBob: Siecje: I have no idea how to design one I understand how to read them | |
[11:06pm] Alex_Gaynor: FunkyBob: if you read the PLY tutorial, it describes a lot of the needed concepts | |
[11:06pm] Alex_Gaynor: (sorry I've been in and out) | |
[11:06pm] Siecje: PirosB3: You want a language to be context free so you don't need to know what is around a symbol to know what it is doing | |
[11:07pm] dlogs left the chat room. (Remote host closed the connection) | |
[11:07pm] FinalAngel left the chat room. | |
[11:07pm] dlogs joined the chat room. | |
[11:07pm] FunkyBob: Alex_Gaynor: yeah, it does... but... not quite enough of the "best practices" | |
[11:07pm] PirosB3: can you give me an example Siecje ? | |
[11:07pm] Siecje: for example C is not context free because of the * operator | |
[11:07pm] FunkyBob: PirosB3: https://www.google.com.au/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CCkQFjAA&url=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FBackus%25E2%2580%2593Naur_Form&ei=RyMqU5z_CJC3lQX8zoDwAw&usg=AFQjCNEqmyX1o21fYNzLCUP1yfOexI0KXQ&sig2=sRnfv2nz3Gi456jvmreerw&bvm=bv.62922401,d.dGI | |
[11:08pm] FunkyBob: fucking google | |
[11:08pm] FunkyBob: http://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form | |
[11:08pm] jarshwah: dat url | |
[11:08pm] PirosB3: lol | |
[11:08pm] PirosB3: aha! | |
[11:08pm] Siecje: PirosB3: are you familiar with C? | |
[11:09pm] PirosB3: more or less | |
[11:09pm] Siecje: you are familiar with C++ because I read that in your proposal | |
[11:09pm] FunkyBob: Alex_Gaynor: nost of them use the very simple "basic math" example... | |
[11:09pm] PirosB3: ahah | |
[11:09pm] Alex_Gaynor: totally. | |
[11:09pm] PirosB3: yes, I am using it for uni | |
[11:09pm] PirosB3: it's DirectX | |
[11:09pm] Siecje: ? | |
[11:10pm] FunkyBob: Alex_Gaynor: as an example... if the first token of an "expresion" is a NAME, I need to handle it differently [make it a context subscript] | |
[11:10pm] FunkyBob: would i do that with a parser state flag? or can I express it in the BNF? | |
[11:10pm] PirosB3: for one of my assignments I am making a game in DirectX | |
[11:10pm] Alex_Gaynor: Sorry, I'm not sure I understand what you're asking. | |
[11:10pm] PirosB3: so obviously C++ | |
[11:11pm] PirosB3: I was answering Siecje | |
[11:11pm] FunkyBob: Alex_Gaynor: that's ok... let me elaboate | |
[11:11pm] FunkyBob: Alex_Gaynor: so, I'm writing a template parser... a sample might be : {{ a.b[c].d["e"] }} | |
[11:11pm] FunkyBob: which would translate to context['a'].b[context['c']].e['e'] | |
[11:11pm] EvilDMP left the chat room. (Quit: EvilDMP) | |
[11:12pm] Alex_Gaynor: you don't express the context stuff in the grammar, you express those in the actions | |
[11:12pm] FunkyBob: plink | |
[11:12pm] FunkyBob: context free grammar... of course | |
[11:12pm] jarshwah: PirosB3: reading through your proposal now, just wanting to throw out some questions while I'm reading | |
[11:12pm] FunkyBob: actions being the stuff decorated with productions? | |
[11:12pm] PirosB3: nice! sure | |
[11:12pm] PirosB3: comment too! | |
[11:12pm] Alex_Gaynor: yes, actions being the functions | |
[11:13pm] FunkyBob: ok | |
[11:13pm] PirosB3: in the meantime, I'm looking at this CFG | |
[11:13pm] jarshwah: I'm not sure I like the `with_model=True`.. wouldn't it be nicer to always return the with_model variant, and let callers disregard the model part of the tuple if they don't need it? | |
[11:13pm] jarshwah: so get_fields() returns [ (field, model) ] | |
[11:14pm] jarshwah: I'm assuming it returns a list of 2-tuples here | |
[11:14pm] PirosB3: oh wow, 4 people on my doc. I'm popular | |
[11:14pm] FunkyBob: Alex_Gaynor: with rply, productions which take non-terminals will be passed exactly what my other actions returned, yes? | |
[11:14pm] Alex_Gaynor: yup | |
[11:14pm] PirosB3: jarshwah: that is very true | |
[11:15pm] FunkyBob: in this case, the're ast nodes... | |
[11:15pm] PirosB3: jarshwah: I'll write that down | |
[11:15pm] FunkyBob: am just trying to form in my head how the action will know it's the start of the expression... | |
[11:15pm] jarshwah: I have similar thoughts on the local=False for get_concrete_fields, though I'm unsure what the difference is between local and non-local fields without looking into it too much | |
[11:15pm] FunkyBob: but I guess if it's passed a NAME as the left, it knows it's the start... | |
[11:15pm] jarshwah: but the API looks somewhat ugly to me | |
[11:16pm] jarshwah: ..both the proposed one, and the existing one | |
[11:16pm] jarshwah: you've done lots of work here, so if what I'm saying doesn't really make sense, feel free to disregard | |
[11:17pm] jarshwah: would you prefer me to comment on the doc rather than here on IRC? | |
[11:17pm] FunkyBob: Alex_Gaynor: so, something like http://dpaste.com/1746492/ | |
[11:17pm] Alex_Gaynor: seems plausible | |
[11:18pm] PirosB3: does anyone of you do machine learning by any chance? | |
[11:19pm] PirosB3: jarshwah: oh sorry I didn't see you commented | |
[11:19pm] PirosB3: yes of course! let's put it on the doc. So it's easier for other people to see the discussion | |
[11:19pm] ambv left the chat room. (Read error: Connection reset by peer) | |
[11:19pm] jarshwah: sure | |
[11:19pm] FunkyBob: Alex_Gaynor: will write it up and see how it goes | |
[11:19pm] mkai joined the chat room. | |
[11:20pm] PirosB3: freakboy3742: Nice try How do you know that 2 1 week iteration cycles will be enough? | |
[11:20pm] PirosB3: ahaha | |
[11:20pm] PirosB3: what do you suggest I put down? | |
[11:21pm] bynaryshef joined the chat room. | |
[11:26pm] FunkyBob: parser.py:1: ParserGeneratorWarning: 1 shift/reduce conflict | |
[11:27pm] brts left the chat room. (Ping timeout: 240 seconds) | |
[11:27pm] FunkyBob: Alex_Gaynor: http://dpaste.com/1746505/ comments welcome | |
[11:31pm] dlogs left the chat room. (Ping timeout: 265 seconds) | |
[11:31pm] freakboy3742: PirosB3: Ok; that's review number 2 done. | |
[11:31pm] freakboy3742: Better; still needs some work, especially in the timeline. | |
[11:31pm] PirosB3: lol | |
[11:31pm] freakboy3742: And an explicit description of the testbed sample project you intend to tackle. | |
[11:32pm] PirosB3: ok with regards to the tickets | |
[11:32pm] PirosB3: so with regards to the implementation and timeline | |
[11:32pm] PirosB3: this is what I would like to do | |
[11:32pm] PirosB3: my idea is a very "agile" approach | |
[11:33pm] FunkyBob: Alex_Gaynor: whilst I can understand why the error messages may need to be terse... I don't know how to debug the problem | |
[11:33pm] FunkyBob: and this is why I seek an expert to bother | |
[11:33pm] PirosB3: in terms of doing small steps, and if I need to fail, i'll fail early | |
[11:33pm] PirosB3: but if I need to define a timeline for 3 months | |
[11:33pm] freakboy3742: PirosB3: A good idea - *but* | |
[11:33pm] PirosB3: this can be messy | |
[11:34pm] freakboy3742: The problem is that saying "I'm going to spend 2 weeks" doesn't give us any confidence that the task will actually *take* 2 weeks. | |
[11:34pm] freakboy3742: You say "Refactor Meta" is going to take 5 weeks total. | |
[11:34pm] freakboy3742: Is that a reasonable estimatee? | |
[11:34pm] freakboy3742: How big a job is it? | |
[11:34pm] PirosB3: freakboy3742: the problem is that everything is based on our evaluation | |
[11:34pm] freakboy3742: Yes and no. | |
[11:34pm] PirosB3: how many endpoints is it going to have | |
[11:34pm] PirosB3: ? | |
[11:34pm] PirosB3: there are all questions that need to be answered, so for this reason | |
[11:35pm] freakboy3742: You should be able to develop a "wet finger in the air" estimate based on what is there. | |
[11:35pm] freakboy3742: We're not adding any new functionality. | |
[11:35pm] PirosB3: I prefer having more time, and possibly finish before deadline | |
[11:35pm] freakboy3742: Lets say there's 20 API entry points at present. | |
[11:35pm] freakboy3742: We refactor, and get that down to 15. | |
[11:35pm] PirosB3: "wet finger in the air" ahah | |
[11:35pm] freakboy3742: You say "1 day per API entry point", and there's 3 weeks. | |
[11:36pm] freakboy3742: (or 4, if you want to use the initial API count) | |
[11:36pm] freakboy3742: At a granularity of 1 day. | |
[11:36pm] freakboy3742: Now - the variables here - how may entry points are we talking about, and how long will each chunk take? | |
[11:36pm] PirosB3: so you think I should not be speaking in days/weeks? | |
[11:36pm] freakboy3742: Days/weeks is find a the macro level | |
[11:37pm] freakboy3742: What I'm trying to get at is that we (the mentors evaluating the proposal) want to get a feel for how well you understand the problem. | |
[11:37pm] FunkyBob: Alex_Gaynor: so, I fixed the mistakes in my decorator (replace term with expr) and now there's _two_ errors | |
[11:37pm] freakboy3742: Providing a detailed estimate is one way to establish how well you understand the current landscape | |
[11:37pm] freakboy3742: We want to you to provide evidence that backs up your claim that you can refactor Meta in 5 weeks. | |
[11:38pm] PirosB3: sure | |
[11:38pm] freakboy3742: Not just work back from "I have 12 weeks, and I need to spend half of them working on the refactor. | |
[11:38pm] PirosB3: but there are many important factors to consider | |
[11:38pm] PirosB3: such as the evaliuation | |
[11:38pm] freakboy3742: What you've written so far reads like splitting up the available time, not building up from what work needs to be done. | |
[11:38pm] PirosB3: the answers to our solutions | |
[11:38pm] freakboy3742: Not sure what you mean by "the evaluation" | |
[11:39pm] SmileyChris: "discovery phase", I guess | |
[11:39pm] freakboy3742: Youv'e given a pretty good analysis of the sort of fixes you're going to be applying to meta. | |
[11:39pm] PirosB3: I mean the part where we agree on an API | |
[11:39pm] PirosB3: SmileyChris: yep discovery phase | |
[11:39pm] PirosB3: I always get the words wrong | |
[11:39pm] freakboy3742: Ok - so that might be a reasonable block for a week or two at the start | |
[11:39pm] freakboy3742: *but* | |
[11:39pm] PirosB3: still, everything depends from that | |
[11:40pm] freakboy3742: again, you need to validate that 1 week is enough. | |
[11:40pm] freakboy3742: PirosB3: Ok - perhaps I'm not being clear. | |
[11:40pm] freakboy3742: This doesn't need to be a 100% perfect, completely accurate estimate where we're going to hold your feet to the flames and withhold money if you don't meet your deadlines. | |
[11:40pm] PirosB3: oh good | |
[11:40pm] freakboy3742: Last year, my student's proposal was off by about 4 weeks by the end of the program, and I gave him a glowing review. | |
[11:41pm] SmileyChris: "hot glowing coals" review? | |
[11:41pm] PirosB3: ahah | |
[11:41pm] SmileyChris: | |
[11:41pm] FunkyBob: waterboarding review? | |
[11:41pm] • freakboy3742 files that one away for later motivational purposes | |
[11:41pm] PirosB3: great | |
[11:41pm] freakboy3742: What we're looking for is evidence that *you* understand how complex the problem is. | |
[11:41pm] freakboy3742: Not that you've said "I'm gonna work for 12 weeks, and then stop". | |
[11:42pm] mkai left the chat room. (Quit: Leaving.) | |
[11:42pm] PirosB3: I understand the complexity of the problem | |
[11:42pm] freakboy3742: So - true, we don't know exactly what the final API will look like, and initial discussions will affect exactly how long work takes. | |
[11:42pm] freakboy3742: Says you | |
[11:42pm] PirosB3: ahahah | |
[11:42pm] PirosB3: obviously I don't know anything | |
[11:42pm] PirosB3: I know enough to get starting | |
[11:42pm] PirosB3: and I think that is fundamental | |
[11:43pm] freakboy3742: Sure - but although we don't know the final form, we know *roughly* how big the problem is now. | |
[11:43pm] freakboy3742: The functionality of Meta isn't going to massively increase as a result of your refactor | |
[11:43pm] PirosB3: I would like to tell you what I would like to do in the next 2 weeks | |
[11:43pm] PirosB3: but what I do after, depends on the evaluation of those 2 weeks | |
[11:43pm] freakboy3742: So we know how many entry points there are right now - use that as a basis for your estimate. | |
[11:43pm] PirosB3: but there is other complexity to consider | |
[11:44pm] PirosB3: all the other parts of the system that use Meta | |
[11:44pm] freakboy3742: "The current meta has 20 entry points. These may be refactored into a tighter subset, but assuming it takes 1 day per existing API, this phase of refactoring will take 4 weeks" | |
[11:44pm] freakboy3742: That's all we're looking for. | |
[11:44pm] PirosB3: oh really? | |
[11:44pm] PirosB3: ok file | |
[11:44pm] PirosB3: fine | |
[11:44pm] PirosB3: that sounds ok | |
[11:44pm] freakboy3742: Yes - an indication that you have looked at the problem enough to make an informed estimate | |
[11:44pm] PirosB3: but still | |
[11:44pm] freakboy3742: or rather, an estimate that isn't *just* informed by the 12 week completion deadline. | |
[11:44pm] PirosB3: so what you want is proof of estimation | |
[11:45pm] freakboy3742: Yes | |
[11:45pm] PirosB3: ok | |
[11:45pm] PirosB3: that makes perfect sense | |
[11:45pm] PirosB3: just 1 thing | |
[11:45pm] freakboy3742: Put it this way - if I said "Rewrite Django's template system" - estimate 5 weeks | |
[11:45pm] freakboy3742: would you believe me? | |
[11:45pm] freakboy3742: No. | |
[11:45pm] PirosB3: I can do that up to a certain extent, but I cannot guarantee this in real life | |
[11:45pm] freakboy3742: Oh - for sure. | |
[11:45pm] PirosB3: ahaha | |
[11:45pm] freakboy3742: Like I said, we're not going to hold you absolutely to this. | |
[11:45pm] PirosB3: because I want to use a far more iterative approach | |
[11:45pm] freakboy3742: It's going to be indicative. | |
[11:46pm] freakboy3742: Ok - so factor that iteration into your schedule. | |
[11:46pm] PirosB3: ok sure, so I will back up my estimates | |
[11:46pm] mkai joined the chat room. | |
[11:46pm] PirosB3: freakboy3742: how would you put it in? | |
[11:46pm] freakboy3742: Excellent - that's all we need. | |
[11:47pm] PirosB3: ok say what | |
[11:47pm] freakboy3742: Pretty much exactly as I did 2 minutes back. | |
[11:47pm] PirosB3: ok great | |
[11:47pm] freakboy3742: It's fine to have a 4 week block - as long as it isn't just "4 WEEKS: DO STUFF" | |
[11:47pm] PirosB3: also with regards to the project | |
[11:47pm] freakboy3742: 4 weeks of 1 day tasks - that's fine. | |
[11:47pm] PirosB3: ahhh ok that's better | |
[11:48pm] PirosB3: Also, with regards to my project (testbed) | |
[11:48pm] PirosB3: the way I would do this is just after the meta refactor | |
[11:48pm] PirosB3: before the decoupling phase | |
[11:48pm] PirosB3: I'm good at prototyping (I hope!) | |
[11:49pm] PirosB3: so we could experiment before actually defining the spec | |
[11:49pm] PirosB3: but how can I explain this? | |
[11:49pm] freakboy3742: Well, describe what you're going to do, and why. | |
[11:49pm] freakboy3742: The why is an important part | |
[11:50pm] freakboy3742: otherwise a fresh set of eyes is going to ask "Why is Django funding an alternate implementation of Meta?" | |
[11:50pm] PirosB3: my paragraph "benefits" will explain this | |
[11:51pm] freakboy3742: So - "We have a cleaned up Meta. To prove the documentation is complete, it's helpful to have a clean room implementation of the API. As a proof of concept, we're going to build a model wrapper of XYZ, and develop that wrapper to the point it can be dropped into Admin/Modelforms. This will require additional documentation and code cleanup in Django itself" | |
[11:51pm] freakboy3742: (elaborate into multiple paragraphs, but hopefully you get the idea) | |
[11:52pm] PirosB3: but this is in the timeline? | |
[11:52pm] PirosB3: I didn't expect it to be so tough to write a proposal | |
[11:52pm] PirosB3: lol :=) | |
[11:53pm] FunkyBob: it's like a bank loan... "prove to use you don't need this." | |
[11:53pm] freakboy3742: PirosB3: Hey - there's $5k on the line here. We're not just gonna give it away | |
[11:53pm] FunkyBob: though in this case it's more "prove to us you won't make the mentor have to do anything" | |
[11:53pm] freakboy3742: And seriously - you're getting away easy here. | |
[11:53pm] FunkyBob: $5k? where do I sign up?? | |
[11:53pm] freakboy3742: FunkyBob: Well, head down to RMIT and enrol | |
[11:53pm] FunkyBob: haha | |
[11:53pm] PirosB3: ahahahaha | |
[11:53pm] FunkyBob: Monash is closer | |
[11:54pm] FunkyBob: what if I get my wife to submit the application? | |
[11:54pm] FunkyBob: does the mentor have to be a core dev? | |
[11:54pm] PirosB3: freakboy3742: (potentially=) how much would we be communicating? | |
[11:54pm] jarshwah: 1 term costs about $5000 these days | |
[11:54pm] freakboy3742: PirosB3: Well, as much as necessary | |
[11:54pm] PirosB3: daily? | |
[11:55pm] freakboy3742: As an indication; last year, I had a weekly phone call that lasted an hour or so, and feedback on mailing lists during the week | |
[11:55pm] freakboy3742: But that's not set in stone | |
[11:55pm] PirosB3: that sounds good | |
[11:55pm] freakboy3742: Essentially, you're expected to work independently as much as possible | |
[11:55pm] freakboy3742: but the mentor is there to give you as much feedback as necessary. | |
[11:56pm] PirosB3: freakboy3742: I can always contact you at your 7am | |
[11:56pm] freakboy3742: At the start, that might mean a lot more interaction, possibly less t the end. | |
[11:56pm] PirosB3: I'm sure you will be delighted | |
[11:56pm] freakboy3742: PirosB3: Oh goody! | |
[11:57pm] PirosB3: ok | |
[11:57pm] freakboy3742: Assuming you get picked, and I'm the mentor (and I like your chances of both of those), we can shake out details as we get closer. | |
[11:57pm] PirosB3: ahaha | |
[11:57pm] PirosB3: cool | |
[11:57pm] PirosB3: so now I have to convince you | |
[11:57pm] freakboy3742: Indeed | |
[11:57pm] PirosB3: so… in order to convince you | |
[11:58pm] freakboy3742: Unmarked, nonsequential bills help. | |
[11:58pm] PirosB3: I will update the timeline, giving more detailed estimates. with a WHY | |
[11:58pm] PirosB3: ahahaha | |
[11:58pm] PirosB3: I'll send a carrier pidgin | |
[11:58pm] freakboy3742: PirosB3: yes - and more detail on the testbed project (why and what) | |
[11:58pm] PirosB3: great | |
[11:59pm] PirosB3: then= | |
[11:59pm] PirosB3: ? | |
[11:59pm] PirosB3: also, how do I submit this? | |
[11:59pm] PirosB3: they have a weird editor | |
[11:59pm] freakboy3742: Yeah. that they do. Melange is… interesting. | |
[11:59pm] PirosB3: is there now way I can provide a link? | |
[11:59pm] freakboy3742: Essentially, no. | |
[11:59pm] PirosB3: lol | |
[11:59pm] freakboy3742: I've got a feeling this is part 1 of Google's plan - you must be able to work out Melange before you get our money. | |
[12:00am] freakboy3742: It really is a clusterf*ck. | |
[12:00am] PirosB3: basically I need to plan a day upfront to port my docs to Melange | |
[12:00am] PirosB3: can I already submit, and then replace? | |
[12:00am] • FunkyBob thinks he needs a neural tap into Alex_Gaynor's brain | |
[12:01am] PirosB3: how do you do that FunkyBob? | |
[12:01am] FunkyBob: no idea | |
[12:01am] PirosB3: ahah | |
[12:01am] PirosB3: third person | |
[12:01am] PirosB3: PirosB3 says blablabla |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
[11:20pm] PirosB3: ahaha
[11:20pm] PirosB3: what do you suggest I put down?
[11:21pm] bynaryshef joined the chat room.
[11:26pm] FunkyBob: parser.py:1: ParserGeneratorWarning: 1 shift/reduce conflict
[11:27pm] brts left the chat room. (Ping timeout: 240 seconds)
[11:27pm] FunkyBob: Alex_Gaynor: http://dpaste.com/1746505/ comments welcome
[11:31pm] dlogs left the chat room. (Ping timeout: 265 seconds)
[11:31pm] freakboy3742: PirosB3: Ok; that's review number 2 done.
[11:31pm] freakboy3742: Better; still needs some work, especially in the timeline.
[11:31pm] PirosB3: lol
[11:31pm] freakboy3742: And an explicit description of the testbed sample project you intend to tackle.
[11:32pm] PirosB3: ok with regards to the tickets
[11:32pm] PirosB3: so with regards to the implementation and timeline
[11:32pm] PirosB3: this is what I would like to do
[11:32pm] PirosB3: my idea is a very "agile" approach
[11:33pm] FunkyBob: Alex_Gaynor: whilst I can understand why the error messages may need to be terse... I don't know how to debug the problem
[11:33pm] FunkyBob: and this is why I seek an expert to bother
[11:33pm] PirosB3: in terms of doing small steps, and if I need to fail, i'll fail early
[11:33pm] PirosB3: but if I need to define a timeline for 3 months
[11:33pm] freakboy3742: PirosB3: A good idea - but
[11:33pm] PirosB3: this can be messy
[11:34pm] freakboy3742: The problem is that saying "I'm going to spend 2 weeks" doesn't give us any confidence that the task will actually take 2 weeks.
[11:34pm] freakboy3742: You say "Refactor Meta" is going to take 5 weeks total.
[11:34pm] freakboy3742: Is that a reasonable estimatee?
[11:34pm] freakboy3742: How big a job is it?
[11:34pm] PirosB3: freakboy3742: the problem is that everything is based on our evaluation
[11:34pm] freakboy3742: Yes and no.
[11:34pm] PirosB3: how many endpoints is it going to have
[11:34pm] PirosB3: ?
[11:34pm] PirosB3: there are all questions that need to be answered, so for this reason
[11:35pm] freakboy3742: You should be able to develop a "wet finger in the air" estimate based on what is there.
[11:35pm] freakboy3742: We're not adding any new functionality.
[11:35pm] PirosB3: I prefer having more time, and possibly finish before deadline
[11:35pm] freakboy3742: Lets say there's 20 API entry points at present.
[11:35pm] freakboy3742: We refactor, and get that down to 15.
[11:35pm] PirosB3: "wet finger in the air" ahah
[11:35pm] freakboy3742: You say "1 day per API entry point", and there's 3 weeks.
[11:36pm] freakboy3742: (or 4, if you want to use the initial API count)
[11:36pm] freakboy3742: At a granularity of 1 day.
[11:36pm] freakboy3742: Now - the variables here - how may entry points are we talking about, and how long will each chunk take?
[11:36pm] PirosB3: so you think I should not be speaking in days/weeks?
[11:36pm] freakboy3742: Days/weeks is find a the macro level
[11:37pm] freakboy3742: What I'm trying to get at is that we (the mentors evaluating the proposal) want to get a feel for how well you understand the problem.
[11:37pm] FunkyBob: Alex_Gaynor: so, I fixed the mistakes in my decorator (replace term with expr) and now there's two errors
[11:37pm] freakboy3742: Providing a detailed estimate is one way to establish how well you understand the current landscape
[11:37pm] freakboy3742: We want to you to provide evidence that backs up your claim that you can refactor Meta in 5 weeks.
[11:38pm] PirosB3: sure
[11:38pm] freakboy3742: Not just work back from "I have 12 weeks, and I need to spend half of them working on the refactor.
[11:38pm] PirosB3: but there are many important factors to consider
[11:38pm] PirosB3: such as the evaliuation
[11:38pm] freakboy3742: What you've written so far reads like splitting up the available time, not building up from what work needs to be done.
[11:38pm] PirosB3: the answers to our solutions
[11:38pm] freakboy3742: Not sure what you mean by "the evaluation"
[11:39pm] SmileyChris: "discovery phase", I guess
[11:39pm] freakboy3742: Youv'e given a pretty good analysis of the sort of fixes you're going to be applying to meta.
[11:39pm] PirosB3: I mean the part where we agree on an API
[11:39pm] PirosB3: SmileyChris: yep discovery phase
[11:39pm] PirosB3: I always get the words wrong
[11:39pm] freakboy3742: Ok - so that might be a reasonable block for a week or two at the start
[11:39pm] freakboy3742: but
[11:39pm] PirosB3: still, everything depends from that
[11:40pm] freakboy3742: again, you need to validate that 1 week is enough.
[11:40pm] freakboy3742: PirosB3: Ok - perhaps I'm not being clear.
[11:40pm] freakboy3742: This doesn't need to be a 100% perfect, completely accurate estimate where we're going to hold your feet to the flames and withhold money if you don't meet your deadlines.
[11:40pm] PirosB3: oh good
[11:40pm] freakboy3742: Last year, my student's proposal was off by about 4 weeks by the end of the program, and I gave him a glowing review.
[11:41pm] SmileyChris: "hot glowing coals" review?
[11:41pm] PirosB3: ahah
[11:41pm] SmileyChris:
[11:41pm] FunkyBob: waterboarding review?
[11:41pm] • freakboy3742 files that one away for later motivational purposes
[11:41pm] PirosB3: great
[11:41pm] freakboy3742: What we're looking for is evidence that you understand how complex the problem is.
[11:41pm] freakboy3742: Not that you've said "I'm gonna work for 12 weeks, and then stop".
[11:42pm] mkai left the chat room. (Quit: Leaving.)
[11:42pm] PirosB3: I understand the complexity of the problem
[11:42pm] freakboy3742: So - true, we don't know exactly what the final API will look like, and initial discussions will affect exactly how long work takes.
[11:42pm] freakboy3742: Says you
[11:42pm] PirosB3: ahahah
[11:42pm] PirosB3: obviously I don't know anything
[11:42pm] PirosB3: I know enough to get starting
[11:42pm] PirosB3: and I think that is fundamental
[11:43pm] freakboy3742: Sure - but although we don't know the final form, we know roughly how big the problem is now.
[11:43pm] freakboy3742: The functionality of Meta isn't going to massively increase as a result of your refactor
[11:43pm] PirosB3: I would like to tell you what I would like to do in the next 2 weeks
[11:43pm] PirosB3: but what I do after, depends on the evaluation of those 2 weeks
[11:43pm] freakboy3742: So we know how many entry points there are right now - use that as a basis for your estimate.
[11:43pm] PirosB3: but there is other complexity to consider
[11:44pm] PirosB3: all the other parts of the system that use Meta
[11:44pm] freakboy3742: "The current meta has 20 entry points. These may be refactored into a tighter subset, but assuming it takes 1 day per existing API, this phase of refactoring will take 4 weeks"
[11:44pm] freakboy3742: That's all we're looking for.
[11:44pm] PirosB3: oh really?
[11:44pm] PirosB3: ok file
[11:44pm] PirosB3: fine
[11:44pm] PirosB3: that sounds ok
[11:44pm] freakboy3742: Yes - an indication that you have looked at the problem enough to make an informed estimate
[11:44pm] PirosB3: but still
[11:44pm] freakboy3742: or rather, an estimate that isn't just informed by the 12 week completion deadline.
[11:44pm] PirosB3: so what you want is proof of estimation
[11:45pm] freakboy3742: Yes
[11:45pm] PirosB3: ok
[11:45pm] PirosB3: that makes perfect sense
[11:45pm] PirosB3: just 1 thing
[11:45pm] freakboy3742: Put it this way - if I said "Rewrite Django's template system" - estimate 5 weeks
[11:45pm] freakboy3742: would you believe me?
[11:45pm] freakboy3742: No.
[11:45pm] PirosB3: I can do that up to a certain extent, but I cannot guarantee this in real life
[11:45pm] freakboy3742: Oh - for sure.
[11:45pm] PirosB3: ahaha
[11:45pm] freakboy3742: Like I said, we're not going to hold you absolutely to this.
[11:45pm] PirosB3: because I want to use a far more iterative approach
[11:45pm] freakboy3742: It's going to be indicative.
[11:46pm] freakboy3742: Ok - so factor that iteration into your schedule.
[11:46pm] PirosB3: ok sure, so I will back up my estimates
[11:46pm] mkai joined the chat room.
[11:46pm] PirosB3: freakboy3742: how would you put it in?
[11:46pm] freakboy3742: Excellent - that's all we need.
[11:47pm] PirosB3: ok say what
[11:47pm] freakboy3742: Pretty much exactly as I did 2 minutes back.
[11:47pm] PirosB3: ok great
[11:47pm] freakboy3742: It's fine to have a 4 week block - as long as it isn't just "4 WEEKS: DO STUFF"
[11:47pm] PirosB3: also with regards to the project
[11:47pm] freakboy3742: 4 weeks of 1 day tasks - that's fine.
[11:47pm] PirosB3: ahhh ok that's better
[11:48pm] PirosB3: Also, with regards to my project (testbed)
[11:48pm] PirosB3: the way I would do this is just after the meta refactor
[11:48pm] PirosB3: before the decoupling phase
[11:48pm] PirosB3: I'm good at prototyping (I hope!)
[11:49pm] PirosB3: so we could experiment before actually defining the spec
[11:49pm] PirosB3: but how can I explain this?
[11:49pm] freakboy3742: Well, describe what you're going to do, and why.
[11:49pm] freakboy3742: The why is an important part
[11:50pm] freakboy3742: otherwise a fresh set of eyes is going to ask "Why is Django funding an alternate implementation of Meta?"
[11:50pm] PirosB3: my paragraph "benefits" will explain this
[11:51pm] freakboy3742: So - "We have a cleaned up Meta. To prove the documentation is complete, it's helpful to have a clean room implementation of the API. As a proof of concept, we're going to build a model wrapper of XYZ, and develop that wrapper to the point it can be dropped into Admin/Modelforms. This will require additional documentation and code cleanup in Django itself"
[11:51pm] freakboy3742: (elaborate into multiple paragraphs, but hopefully you get the idea)
[11:52pm] PirosB3: but this is in the timeline?
[11:52pm] PirosB3: I didn't expect it to be so tough to write a proposal
[11:52pm] PirosB3: lol :=)
[11:53pm] FunkyBob: it's like a bank loan... "prove to use you don't need this."
[11:53pm] freakboy3742: PirosB3: Hey - there's $5k on the line here. We're not just gonna give it away
[11:53pm] FunkyBob: though in this case it's more "prove to us you won't make the mentor have to do anything"
[11:53pm] freakboy3742: And seriously - you're getting away easy here.
[11:53pm] FunkyBob: $5k? where do I sign up??
[11:53pm] freakboy3742: FunkyBob: Well, head down to RMIT and enrol
[11:53pm] FunkyBob: haha
[11:53pm] PirosB3: ahahahaha
[11:53pm] FunkyBob: Monash is closer
[11:54pm] FunkyBob: what if I get my wife to submit the application?
[11:54pm] FunkyBob: does the mentor have to be a core dev?
[11:54pm] PirosB3: freakboy3742: (potentially=) how much would we be communicating?
[11:54pm] jarshwah: 1 term costs about $5000 these days
[11:54pm] freakboy3742: PirosB3: Well, as much as necessary
[11:54pm] PirosB3: daily?
[11:55pm] freakboy3742: As an indication; last year, I had a weekly phone call that lasted an hour or so, and feedback on mailing lists during the week
[11:55pm] freakboy3742: But that's not set in stone
[11:55pm] PirosB3: that sounds good
[11:55pm] freakboy3742: Essentially, you're expected to work independently as much as possible
[11:55pm] freakboy3742: but the mentor is there to give you as much feedback as necessary.
[11:56pm] PirosB3: freakboy3742: I can always contact you at your 7am
[11:56pm] freakboy3742: At the start, that might mean a lot more interaction, possibly less t the end.
[11:56pm] PirosB3: I'm sure you will be delighted
[11:56pm] freakboy3742: PirosB3: Oh goody!
[11:57pm] PirosB3: ok
[11:57pm] freakboy3742: Assuming you get picked, and I'm the mentor (and I like your chances of both of those), we can shake out details as we get closer.
[11:57pm] PirosB3: ahaha
[11:57pm] PirosB3: cool
[11:57pm] PirosB3: so now I have to convince you
[11:57pm] freakboy3742: Indeed
[11:57pm] PirosB3: so… in order to convince you
[11:58pm] freakboy3742: Unmarked, nonsequential bills help.
[11:58pm] PirosB3: I will update the timeline, giving more detailed estimates. with a WHY
[11:58pm] PirosB3: ahahaha
[11:58pm] PirosB3: I'll send a carrier pidgin
[11:58pm] freakboy3742: PirosB3: yes - and more detail on the testbed project (why and what)
[11:58pm] PirosB3: great
[11:59pm] PirosB3: then=
[11:59pm] PirosB3: ?
[11:59pm] PirosB3: also, how do I submit this?
[11:59pm] PirosB3: they have a weird editor
[11:59pm] freakboy3742: Yeah. that they do. Melange is… interesting.
[11:59pm] PirosB3: is there now way I can provide a link?
[11:59pm] freakboy3742: Essentially, no.
[11:59pm] PirosB3: lol
[11:59pm] freakboy3742: I've got a feeling this is part 1 of Google's plan - you must be able to work out Melange before you get our money.
[12:00am] freakboy3742: It really is a clusterf*ck.
[12:00am] PirosB3: basically I need to plan a day upfront to port my docs to Melange
[12:00am] PirosB3: can I already submit, and then replace?
[12:00am] • FunkyBob thinks he needs a neural tap into Alex_Gaynor's brain
[12:01am] PirosB3: how do you do that FunkyBob?
[12:01am] FunkyBob: no idea
[12:01am] PirosB3: ahah
[12:01am] PirosB3: third person
[12:01am] PirosB3: PirosB3 says blablabla
[12:03am] FunkyBob: oh... "/me"
[12:03am] • PirosB3 : says he is cool
[12:04am] • PirosB3 says he will only speak in this way from now on
[12:06am] mkai left the chat room. (Quit: Leaving.)
[12:07am] dlogs joined the chat room.
[12:10am] puntonim_ left the chat room. (Quit: puntonim_)
[12:13am] PirosB3: hey guys, a question
[12:13am] PirosB3: why can't I see anyone else's proposal
[12:13am] PirosB3: isn't is supposed to be posted on the ML?
[12:17am] jarshwah: I've only seen one other concrete proposal
[12:17am] jarshwah: and that's the bunch of tickets + error messages
[12:17am] jarshwah: but I've been away for awhile
[12:19am] PirosB3: yeah
[12:20am] PirosB3: but how am I communicated of any acceptance/rejection?=
[12:20am] FunkyBob: ah, fuck... this whole BNF is wrong...
[12:20am] PirosB3: ahah
[12:21am] FunkyBob: ...
[12:26am] • PirosB3 : thinks he will call it a day
[12:26am] PirosB3: Thanks for the feedback
[12:26am] PirosB3: come back tomorrow for round 3!
[12:26am] PirosB3:
[12:29am] jarshwah: PirosB3: can you tell me a little more about the GmailStore?
[12:29am] jarshwah: ..if you happen to still be around that is
[12:29am] PirosB3: sure!
[12:30am] PirosB3: so basically it would be a project I would develop side by side
[12:30am] PirosB3: as a proof of concept, and as a way to discover more what is actually needed in the API
[12:31am] PirosB3: the idea is: if I am a user, developing against my APi, I will understand more
[12:31am] PirosB3: said this: GMailStore is a replacement for meta
[12:31am] jarshwah: yes I get the point of writing a POC
[12:31am] jarshwah: but what would it do?
[12:31am] jarshwah: would it be a different backend?
[12:32am] PirosB3: that will be able to make the Django framework interact with GMail API
[12:32am] PirosB3: more or less, I would be using the google API
[12:32am] jarshwah: so.. _meta.get_fields() would do what with gmail?
[12:32am] PirosB3: so, as Django Admin uses Meta to get more information the model
[12:33am] PirosB3: get_fields, will return fields such as: timestamp, from, to, subject, body
[12:33am] PirosB3: then we will hook the manager up with GMail
[12:34am] PirosB3: the idea is that you will be able to browse, filter and view your emails through Django Admin
[12:34am] jarshwah: wouldn't that also require a different django.db.models backend?
[12:35am] PirosB3: jarshwah: not really
[12:35am] hairy joined the chat room.
[12:35am] PirosB3: the Django admin only does simple queries
[12:35am] PirosB3: so all we need to do is implement that
[12:35am] PirosB3: all(), count(), filter()
[12:35am] PirosB3: and Admin will happily use the store
[12:36am] jarshwah: cool
[12:36am] PirosB3: obviously, there will be some latency issues because we are calling an API
[12:36am] jarshwah: would that be hard to test against though?
[12:36am] PirosB3: but that is not a concern obviously, it's a proof of concept
[12:36am] jarshwah: because tests should be indempotent
[12:36am] PirosB3: jarshwah: I have experience with testing against backends
[12:36am] PirosB3: there are many ways I would do this
[12:37am] PirosB3: we could mock them out, using a mocking library.
[12:37am] mkai joined the chat room.
[12:37am] jarshwah: very true
[12:37am] PirosB3: If Django does not have this, we could always make functions call internal functions
[12:37am] PirosB3: with Python there are many great ways to test
[12:37am] PirosB3: and the idea is that if I write my test before
[12:38am] PirosB3: I have already thought about the implementation
[12:38am] PirosB3: and I would end up with small, maintainable parts of code
[12:38am] jarshwah: I left a comment on your proposal suggesting a CSVStore, but it sounds like you've thought pretty hard on how (and why) you're going to implement the GmailStore stuff
[12:38am] PirosB3: jarshwah: oh thanks!
[12:38am] PirosB3: yes CSVStore sounds great!
[12:39am] PirosB3: The reason I wanted to demo GMail store, is because it would be a "wow" thing to show other developers
[12:39am] PirosB3: part of my proposal is also blogghing
[12:39am] jarshwah: it would be a wow thing
[12:39am] PirosB3: and showing others the possibilities for the new Meta
[12:39am] mkai left the chat room. (Read error: Connection reset by peer)
[12:39am] PirosB3: thanks
[12:40am] PirosB3: the idea is that we should get to a point where it is easy to add different stores
[12:40am] PirosB3: and do it in an official way
[12:40am] PirosB3: people have always been hacking Meta, this task will give them a solid API
[12:40am] jarshwah: I think meta will only be a part of implementing different stores, but it is an important part
[12:40am] jarshwah: ..the first part at least
[12:41am] PirosB3: yes, sure
[12:41am] PirosB3: but by doing this
[12:41am] PirosB3: we also do a lot of ground work
[12:41am] PirosB3: that will make the API usable
[12:42am] jarshwah: definitely.. I think django could benefit from a lot more stable internal APIs
[12:42am] brodie left the chat room. (Quit: leaving)
[12:42am] PirosB3:
[12:42am] jarshwah: there's a tonne of if hasattr('blah', val) branches all over the place
[12:42am] PirosB3: yes
[12:42am] PirosB3: what do you think about my idea? did you identify some flaws?
[12:43am] jarshwah: I'm not familiar enough with meta to offer anything significant, but your proposal looks good to me
[12:43am] PirosB3: thanks
[12:44am] PirosB3: is it convincing enough?
[12:44am] jarshwah: definitely looks like you've put in a tonne of research and gathered a lot of feedback
[12:44am] jarshwah: well from what freakboy3742 has been saying, probably
[12:44am] PirosB3: thanks
[12:44am] PirosB3: I really hope so
[12:44am] PirosB3: I will do the changes he has asked me to do
[12:44am] PirosB3: if you identify anything else
[12:45am] PirosB3: make a comment
[12:45am] jarshwah: well I've got a lot of free time coming up, so I'll probably start poking around similar areas, so if I see anything that may benefit I'll let you know
[12:46am] PirosB3: lucky you
[12:46am] PirosB3: I have had so many deadlines this week
[12:46am] PirosB3: and I have another after tomorrow
[12:46am] jarshwah: I broke both my feet this weekend, so not really lucky
[12:46am] PirosB3: I could do with some free time
[12:46am] PirosB3: oh, sorry to hear that
[12:46am] PirosB3: hope your getting better
[12:46am] jarshwah: appreciate it
[12:47am] jarshwah: and best of luck with your proposal
[12:48am] PirosB3: thanks man!
[12:49am] k_sze left the chat room. (Remote host closed the connection)