/srv/irclogs.ubuntu.com/2008/05/14/#launchpad-meeting.txt

=== mwhudson_ is now known as mwhudson
=== mwhudson__ is now known as mwhudson
=== mrevell is now known as mrevell-lunch
=== mrevell-lunch is now known as mrevell
=== EdwinGrub is now known as EdwinGrubbs
=== vednis is now known as mars
barry#startmeeting15:00
* barry looks to the ceiling and cries "moootbooottttt"15:00
barryhello everyone and welcome to this week's ameu reviewer's meeting.  who's here today?15:01
gmbme15:01
statikme15:01
sinzuihim?15:01
EdwinGrubbsme15:01
sinzuime15:01
bacme15:01
BjornTme15:01
intellectronicame15:01
allenapme15:01
flacosteme15:01
schwukme15:01
salgadome15:01
barrybigjools: ping15:02
bigjoolsme15:02
barrydanilos: ping15:02
danilosme15:03
danilosbarry: thanks15:03
bigjoolssorry, was deep in a page test15:03
barry:)15:03
barryi think that's everyone15:03
barry== Agenda ==15:03
barry * Roll call15:03
barry * Next meeting15:03
barry * Action items15:03
barry * Queue status15:03
barry * Mentoring update15:04
barry * Review process15:04
barry   * Discourage use of 'hasattr' (bac)15:04
barry   * Use of 'assert' in doctests (BjornT)15:04
barry   * Help people learn how big branches can be split up (BjornT)15:04
barry   * Final vote multiline import15:04
barry * Next meeting15:04
barrysame time and place + weeks(1) ?15:04
barryanybody know they will be missing or sprinting?15:04
intellectronicathe bugies will be sprinting15:04
gmbbarry: BjornT, intellectronica, bigjools, cprov, allenap and I will be at UDS.15:04
intellectronicabut maybe we can still make it15:04
barrygmb, intellectronica cool15:05
bigjoolswe might make it, depends if a BoF gets in the way or not15:05
* danilos makes a note of 'bugies'15:05
sinzuiI'm sprinting and am here15:05
barry * Action items15:05
BjornTsinzui: you don't have a bunch of external people to adjust to, though15:05
* gmb thought we'd established it was Bjötches...15:05
barry * barry drive to decision about multiline sequences15:06
barryBjornT: you should put the irc session up on a big screen and let everyone watch15:06
statikthat was fun in the florida sprint15:06
barryanyway, we're very close to closing this one out.  see upcoming vote later today15:06
* barry can't wait to put that one to bed15:07
barry * barry to solicit ideas to better handle review scheduling and workload15:07
barrynothing really happening there15:07
barrydo people still seem overwhelmed by review workload?15:07
bigjoolsdepends on how much real work I have15:08
bigjoolswhich is always a lot :)15:08
barrybigjools: what? reviewing isn't real work? :)15:08
bigjoolsbarry: hell no, don't you sit with your feet up all day until you get pinged for a review?  ;)15:08
intellectronicabarry: sharing with allenap seems to make it much better for me15:09
barrybigjools: sure i do, but it's such a pain to have to go refilling that gin&tonic all the time while i do it15:09
bacyesterday was very light -- probably b/c danilo did all of the EU reviews before i started.15:10
sinzuiI assume I only write code 4 days of the week. I assume I can only review 2 hours if I am mentoring. That brought me back to an equilibrium of time15:10
barryintellectronica: great!  hopefully we'll have lots of good pairing as we get closer to our goal of everyone is a reviewer15:10
barrysinzui: yep15:11
barryanyway...15:11
barry * let's remind people in review replies to clean up their PR branches15:11
barryi sent out an email today on this... (thanks gmb! :)15:11
danilosthat will mean we'll also need to change that suggestion of "what do we do while we wait for review requests to pop up while on call"15:11
gmb:)15:11
barrydanilos: can you elaborate?15:11
danilosbarry: well, we have so far considered that it's best not to work on anything "hard" while you are on-call; if we get two reviewers on-call at the same time, review workload would be much smaller15:12
danilosso, should this change when we get more reviewers or not15:13
barrydanilos: ah, i see.  for the past few weeks i keep thinking i might get something else done while waiting for reviews, but my dance card always seems to fill up15:13
barrydanilos: we'll have to see15:13
barry * bac to add a link to his PR notification script from TipsForReviewers15:14
bacdone15:14
danilosbarry: yeah, it happened to me yesterday as well, but the way day started I definitely could have gotten more work in at the start of day (empty general queue, nobody wanting anything :))15:14
barrybac: thanks!15:14
barrydanilos: waiting for all those crazy western hemispheroids to wake up? :)15:14
barry * flacoste to add `safe_hasattr()` to `lazr.utils`15:14
danilosbarry: not really, I guess waiting for those EU guys to actually write some code in the morning :))15:15
flacostebarry: hmm, that was changed to file a bug, no?15:15
flacostebarry: which i think i did... at least i filed a bug related to a reviewer action item15:15
barryflacoste: i might have missed that.  if you filed the bug, thanks!  can you double check so i can remove this action item?15:16
flacostei guess i need an action item: "flacoste to get his act together"15:16
barry * bac to write up a warning on `hasattr()` in PythonStyleGuide15:16
bacdone15:16
barrybac: awesome15:16
bacalso added to reviewer checklist15:16
barry * gmb to add lpreview to sourcecode and hack rf-setup to link it in15:17
barrybac: thanks!15:17
barrygmb: done, right?  we can finally remove this one?15:17
gmbbarry: It's now in SC and the rf-setup hack needs to be landed after I've made the changes that you and bigjools suggested. But it'll land today, so feel free to remove it.15:17
barrygmb: great!  we are on a roll :)15:18
barry * gmb to prod mwh again about the 800-line limit patch15:18
gmbAlso done.15:18
gmbHe has one suggestion.15:18
gmbBasically, my fix was to only allow a > 800 line branch if you'd agreed it with a review (and so specified one on the command line)15:18
gmbHowever, mwh felt that was - in his words- over the top15:19
gmbSo he suggested just having a --force flag.15:19
gmbI'll make the changes today unless there are any objections to that.15:19
intellectronicagmb: how about doing what we do for lint?15:19
gmbintellectronica: ?15:19
bigjoolsa warning15:19
baci like a force flag.  people often specify a reviewer but might not know the branch is too big.15:19
intellectronicagmb: so that if it's longer you're forced to explain why in words?15:20
barryintellectronica: +115:20
gmbSure, that can be done.15:20
intellectronicayou know [This diff is too long, if you still want to send it remove this line and explain why it's OK]15:20
* barry likes these kinds of "subtle" social reminders :)15:21
barrygmb: thanks for doing this.  i'm going to remove the action item15:21
barry * sinzui to update js style guide page with helpful resources15:21
sinzuiDone.15:21
barrysinzui: thanks!15:22
barry * sinzui or flacoste to add sampledata check to lpreview or make lint15:22
flacosteah!15:22
flacostethat was the bug i filed!15:22
barryflacoste: cool!  i'll take this one off and leave the other on for now15:22
flacostebug 22777915:23
ubottuflacoste: Bug 227779 on http://launchpad.net/bugs/227779 is private15:23
barrywow, i'm impressed at how many action items we crushed this week.  thanks everyone!15:23
flacosteAdd a test for out-of-date sampledata15:23
barryflacoste: great, thanks15:23
barry * Queue status15:24
barrynothing from me here.  things look generally good to me.  any comments?15:24
sinzuiDo we have a plan for Carlo's many branches?15:25
barryyou mean his many wips?15:25
sinzuiYes15:26
barryi think his team is going to have to handle that.  i don't know what we as reviewers can do15:27
barry * Mentoring update15:28
barryany feedback from mentors or mentorees?15:28
* bigjools would like the chance to do a translations review15:28
bigjoolsand code15:29
danilosbigjools: not had a chance to do that yet?15:29
sinzuiI think the Europeans should take advantage of schwuk when he is available.15:29
bigjoolsnope15:29
intellectronicabigjools: it's quite rare that anyone here gets to do -code reviews15:29
danilosbigjools: we can make something happen in the next few days, I'll come directly to you :)15:29
bigjoolsintellectronica: I gathered, they're a bit cliquey down there :)15:29
schwuksinzui: Very little has come through on-call the last couple of weeks.15:29
schwukMaybe everyone is waiting for week 3... :)15:30
sinzuischwuk: Indeed.15:30
daniloswell, everybody now has a reviewer on their own team, and that cuts on the explaining, meaning people tend to use that more15:30
bigjoolsdanilos: thanks, make it a big nasty one ok? :)15:30
danilosbigjools: don't worry, just the kind I've got in store for you :)15:30
bigjools /o\15:30
intellectronicabigjools: you think that will redeem you for all those incomprehensible soyuz branches you always give us? ;)15:31
* bigjools chuckles15:31
barry:)15:31
bigjoolssoyuz is like a pubic hair on a toilet seat15:32
bigjoolsyou're gonna get pissed off sooner or later15:32
intellectronicabut less sexy15:32
gmbThat's what I like about this team, the highbrow humour...15:32
barrybigjools: as my dad always says: it's better to be pissed off than pissed on15:33
bigjoolsyour dad sounds wise15:33
sinzuiI think that remark was worthy of mneptok15:33
barry:)15:33
barry * Mentoring update15:33
barryoops15:34
intellectronicamneptoring update?15:34
barrystoopid keyboard15:34
barry * Review process15:34
barrylet's do the fun one first15:34
barry   * Final vote multiline import15:34
* bigjools hides15:34
barryall in favor of switching to one-line-per-import say "aye".  all opposed, say "nay"15:34
flacostenay15:35
bigjoolsI just had a conflict in the imports at the top of security.py - how's that for coincidence15:35
intellectronicanay15:35
gmbnay15:35
salgadonay15:35
BjornTnay15:35
barrynay15:35
sinzuinay15:35
danilosnay15:35
bigjoolsabstain15:35
EdwinGrubbsaye15:35
schwukaye15:35
allenapaye15:36
bacaye15:36
barrywow, interesting15:37
flacostemars has another style suggestion to minimize conflicts15:37
flacostehe'll send it off to the list15:37
bigjoolstbh I would prefer bzr to resolve these automatically15:37
barrygiven where i think asiapac is on this, i think we're at a standoff15:37
flacostebut instead of importing from interfaces which is the hot-spot, we import from interfaces.person15:37
flacosteor interfaces.bugs15:37
barryflacoste: maybe that means we can finally get rid of the import-*'s in package __Inits__?15:38
danilosflacoste: could we then also stop updating interfaces/__init__.py15:38
danilosbarry: :)15:38
flacosteright15:38
flacostepraise goes to mars15:38
barrydanilos: <wink>15:38
flacosteyou can send complaints to me15:38
danilosflacoste: about anything, or just about this? ;)15:39
BjornTflacoste: you mean creating new files, or importing from the file where the interface is defined?15:39
flacostethe latter15:39
barryflacoste: great.  we'll see how that's received on the list15:39
flacostei mean, these conflicts always happen when importing from interfaces15:39
bigjoolssounds reasonable15:39
barrywe have 6 minutes left and a couple of items so let's move on and follow up to mars's post15:39
BjornTflacoste: right, i though so. it was just that interfaces/bugs.py doesn't exist.15:39
flacostelol15:40
barry   * Discourage use of 'hasattr' (bac)15:40
bacsorry i forgot to remove that from the agenda.  nothing to see here.15:40
barrybac: cool15:40
barry   * Use of 'assert' in doctests (BjornT)15:40
BjornTthis is from the review of bac's fix to the broken assert statement in a doctest15:40
BjornTi commented on that we shouldn't use assert at all in doctests, since imo, all tests should be in the form of 1) do something 2) check the output15:41
BjornTbac or danilo said this wasn't mentioned in the tests style guide15:41
barryBjornT: +115:42
sinzui+115:42
barryBjornT: can you add an item to the test style guide covering this?15:42
BjornTbarry: sure15:42
intellectronicaas a last resort, you can always print out a boolean15:42
barryBjornT: thanks15:43
danilosbac wanted to have an explanation printed out in case of failure, as far as I could understand at least15:43
baci'm +1 on the new policy.  note there are almost 100 instances of assert in our pagetests15:43
barrybac: fertile ground for drive byes :)15:43
BjornTin doctests the explanation can go in the narrative, though. it's also possible using if statements.15:44
danilosBjornT: agreed15:44
barrywe have one minute left, i apologize for going over15:44
barry   * Help people learn how big branches can be split up (BjornT)15:44
BjornTso, we have a limit on how big a branch should be15:44
BjornTi it bigger, the coder has to negotiate with a reviewer to get it reviewed15:45
BjornTi don't think this works that well in practise. all that happens is that the reviewer says something like: "you can't make it any smaller? ok, then"15:45
danilosand then "now you'll see how it _can't_ be made any smaller" :)15:46
BjornTi think we need to be better at teaching people how to break up the work into smaller pieces15:46
BjornTthis is something that people need to learn to think about before starting coding, rather than after the branch has gotten too big15:46
* gmb has started using looms for just this purpose15:47
BjornTmy proposal is that if you have a branch that is too big, you have to spend time with something to go through it, discussing how the branch could have been split up15:47
sinzuiBjornT: while I agree with you, that may best start with the pre-implementation call.15:47
intellectronicasinzui: right, but if it didn't?15:47
bigjoolsAre we ok with reviewing unlandable diffs?  That way someone can have different parts reviewed and then merge them before landing.15:47
* barry observes that pre-impls have been happening less and less15:47
BjornTbigjools: yes. as long as the diff makes sense of its own.15:48
danilosI'd be +1 on actually going with a developer through the branch and seeing what could have been split up, -1 on reviewing unlandable diffs15:48
bigjoolsBjornT: sure, that goes without saying :)15:48
intellectronica+1, i benefited a lot from going through this kind of stuff, and think it's time very well spent for any developer15:48
barry-1 on unlandable diffs15:48
daniloswell, in my definition "unlandable" == doesn't work (i.e. make check or make run fails)15:49
bigjoolswhen I say unlandable, I mean things that make sense on their own but would fail tests15:49
intellectronicadanilos: sometimes there's no choice, and it's still better to split the work15:49
BjornTbigjools: well, maybe not quit unlandable. i was thinking of diffs that could be landed, but shouldn't be.15:49
bigjoolsBjornT: yeah, so we need a definition of "shouldn't be"15:49
* mars tends to create those when refactoring15:50
danilosintellectronica, bigjools: I feel every new code should be accompanied by at least documentation that passes15:50
barryBjornT: the way to think about that is a loom thread i think.  something that's part of a larger whole, but that stands on its own and is reviewable on its own, but maybe not landed until other threads are also approved15:50
bigjoolsdanilos: I agree15:50
intellectronicadanilos: right, so that's something to take into consideration when planning how to split the work!15:50
BjornTbarry: yes, that's my thinking as well.15:50
barrythe risk though is that those larger things will end up landing at the end of week three15:51
bigjoolsI am extremely wary of creating loads of small branches given PQM's run time15:51
danilosbarry: doesn't everything land at the end of week three? (and mostly Sundays :))15:51
barrydanilos: :-D ;-}15:51
gmbbigjools: You don't have to land them all separately though.15:51
danilosone can merge branches before landing, using [r=one,two,three]15:51
BjornTbarry: compared to what? we're talking about breaking up large branches.15:51
bigjoolsgmb: right, hence my "merge them" comment15:52
barrygmb: exactly!  combine-thread15:52
barrythen land15:52
* gmb *actually reads* the scrollback.15:52
barryBjornT: good point15:52
danilosthe only thing to worry about is [log] messages for those actually processing logs, but since we are talking about related branches, this should only reduce the number of [!log] landings15:52
barryBjornT: so we need a plan to help devs learn how to use looms effectively15:52
barrydanilos: hopefully15:53
sinzuibigjools: The developer can delay landing the branch until all the feature is assembled.15:53
BjornTbarry: right. another thing to help them learn is how to actually split up the work itself. you don't really need looms to do it, it just makes the workflow easier.15:53
bigjoolsI quite often find my self doing that - landing separate fixes for a big bug fix15:53
barrywe're way over, but i'd like to keep this one on the agenda for next week.  in the meantime, can we think about this issue some more, specific ways to accomplish this?15:53
bigjoolsI don't think looms are necessary, you just need to plan your work15:54
BjornTit's the splitting up of the work that is the hardest part. not how you manage the branches.15:54
bigjoolsanyone with the intelligence to work here should be able to split the work, they just need to remember to do it15:54
barrybigjools: agreed that looms are just a tool to help you organize things, but you're right that its the organization that's key15:55
BjornTthat's why i suggested forcing people with big branches learn how the branch could have been split up. they are the ones the probably need the help the most :)15:55
barryBjornT: thanks for bringing up an important topic.  because we're 10 minutes over, i'd like to cut this short for now.  apologies for that and for going so far over today15:56
intellectronicabigjools: right, so, if they don't do it, they can be asked to go and do it now, and if they say that they don't know how to they should be able to get help15:56
bigjoolspre-imp calls would help....15:56
barryagreed.15:56
bigjoolsintellectronica: yup - and remind them that a pre-imp call would have helped avoid having to break it up :)15:56
barry#endmeeting15:57
barrythanks everyone!15:57
bigjoolsthanks barry15:57
intellectronicathanks barry15:57
BjornTbigjools: unfortunately, reminders don't work that well :(15:57
bigjoolsBjornT: threats? :)15:57
BjornTbigjools: yes, that would be better :)15:57
bigjoolsBjornT: I agree though, people should get some help, the best way to do that is to plan the work via a pre-imp15:58
danilosbasically, a requirement to go through how-to-split-up-discussion with a reviewer online should make everybody do their split ups beforehand :)15:58
BjornTbigjools: right. although, i do think that looking at a real diff which is too big is also helpful.15:59
bigjoolsyup15:59
danilosBjornT: people usually have blueprints which document the big picture as well15:59
bigjoolsI get the impression that massive diffs arise when starting to work on something that's not Ready To Code16:00
sinzuiBjornT: I had a branch that I explained I did not have time to review, but I could review part of it if it was divided into: components and vocabularies, model changes, view changes. I got the components and vocabularies branch 20 minutes latter.16:00
bigjoolssinzui: right - some stuff like that is so easy to split out16:00
sinzuiI think cprov didn't see that he could split them out because they were dead code until the mode or view changes landed16:01
BjornTbigjools: still, most people don't do it. they only do it if the branch gets too big, and then it's usually quite a lot of work splitting it up.16:01
bigjoolsBjornT: agreed - we could be more efficient here16:02
cprovsinzui: sorry, split-up which code ?16:02
sinzuicprov: You had a large branch once that I did not have time to review, but you kindly broke it into 3 or 4 parts so i could start the review.16:03
* bigjools heads off for caffeine16:04
cprovsinzui: a previous branch, right, I remember something. It actually happened several time with me.16:05
cprovand I'm proud of it :-/16:05
cprovit's happen again, actually, `copy-ui_constraints` r=barry. The diff has grown up to 900 lines.16:06
=== salgado is now known as salgado-lunch
=== salgado-lunch is now known as salgado

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!