/srv/irclogs.ubuntu.com/2010/01/27/#launchpad-meeting.txt

=== salgado-afk is now known as salgado
=== mrevell is now known as mrevell-lunch
=== mrevell-lunch is now known as mrevell
=== mbarnett` is now known as mbarnett
bachi everyone15:00
bac#startmeeting15:00
MootBotMeeting started at 09:00. The chair is bac.15:00
MootBotCommands Available: [TOPIC], [IDEA], [ACTION], [AGREED], [LINK], [VOTE]15:00
bacyay, mootbot is here15:00
bacwho else?15:00
allenap`me15:00
henningeme15:00
sinzuima15:00
sinzuime15:00
sinzuimo15:01
sinzuimu15:01
danilo_me15:01
sinzuimy15:01
bigjoolsme15:01
bacgmb, intellec`, mars, EdwinGrubbs: ping15:01
* bigjools calls troops15:01
intellec`me15:01
EdwinGrubbsme15:01
al-maisanme15:01
marsme15:01
barrylurk15:01
marslol15:01
bacgary_poster: release-manager ping15:02
adeuringme15:02
* bac understands gary_poster may be too busy15:02
gary_posterbac, yeah, a bit busy thanks15:02
bac[topic] agenda15:02
MootBotNew Topic:  agenda15:02
bac* Roll call15:03
bac * Action items15:03
bac * Styles of reviews: should that be up to the reviewer or is there a preferred style? [salgado]15:03
bac * Conditional expressions - are they kosher, now that we're on Python2.5? [intellectronica]15:03
bac * Peanut gallery (anything not on the agenda)15:03
bac[topic] action items15:03
allenap`Apologies from deryck.15:03
noodles775me15:03
MootBotNew Topic:  action items15:03
bacthanks allenap`15:03
bac* intellectronica to draft guidelines for drive-by cleanups15:03
intellec`intellec`: i have no idea who this intellectronica dude is15:03
bacintellec`: any progress?15:04
intellec`but i haven't done that. sorry15:04
bacintellec`:  would you like to commit to a date to do it or drop it from the list?15:04
intellec`i would even go as far as suggesting that we drop it, just to be realistic. it's been lingering for a while15:04
bacdropped15:04
bac* Gavin to start discussion on the ML about doctest size, refactoring, moving corner cases to unittests, etc15:04
allenap`I'm doing that as we speak, so keep it, but it will definitely be done later today.15:05
baccool, thanks allenap`.  look forward to a lively discussion.15:05
bac* Gary to do timing tests for try/except, examine current usage of check_permission, and we'll discuss again next week.15:05
salgadome15:05
gary_posterno, sorry, and next week is team lead sprint15:05
bacgary_poster: ok, i'll note that and we can revisit in a few weeks15:06
bac * Henning to update wiki page for pre-imp requirement for community contributions, etc.15:06
bachenninge: good news?15:06
henningeI did that as far as I could.15:06
henningeBut I found out that we don't have a real reviewer documentation on dev.lp.net15:06
henningea lot of pages would need to be migrated from launchapd.canonical.com and updated15:07
henningeI did not do that.15:07
henningeBut I mentioned the requirement on https://dev.launchpad.net/PreMergeReviews15:07
barrysome of those old pages are *really* out of date :/15:07
bachenninge: understood.  thanks.15:07
bacbarry: yes, we need to do some wiki tending...15:08
baci'll take a look at it this week.15:08
bac[action] bac to look at moving wiki pages to dev.lp.net and cleaning out the cruft15:08
MootBotACTION received:  bac to look at moving wiki pages to dev.lp.net and cleaning out the cruft15:08
bacnew topics15:09
bac* Styles of reviews: should that be up to the reviewer or is there a preferred style? [salgado]15:09
bacer15:09
bac[topic] * Styles of reviews: should that be up to the reviewer or is there a preferred style? [salgado]15:09
MootBotNew Topic:  * Styles of reviews: should that be up to the reviewer or is there a preferred style? [salgado]15:09
salgadoso, we have basically two styles of doing reviews:15:09
salgado1. Comments go around the code they apply to: Reviewer includes the diff (often quoted by the email client) and each comment made by the reviewer goes around the code it applies to. This means there's context for each comment and the developer can quickly see where that code is.15:09
salgado2. Top poster: Reviewer makes one or more comments at the top of the message, which may or may not contain the diff. Works well when the review points out *very* few things (or none), but as a developer I find it rather painful to go through a review containing just a list of bullet points with comments.15:10
salgadoDevelopers always try hard to make the reviewers' lives easier, so when wearing our reviewer hats we should try and make their lives easier as well by including the diff for context and commenting around the specific parts the comment applies to.15:10
gmbme15:10
gmbArgh, sorry15:10
* gmb was otp15:10
intellec`there's another style: irc discussion (at best pasted into the MP later)15:10
salgadoshould we have a policy on which style is preferred?15:11
barryand a mix of styles: general comments at the top, specific comments mixed in with code quotes15:11
intellec`i don't think we need to decide on a style. it's just important to remember that readability counts in reviews too15:11
bigjoolsalso as jml reminded me recently, include the file names with the diff chunks when commenting on them15:12
baci'll also note you cannot refer to line numbers in the diff as it is a moving target and gets updated when the branch is pushed15:12
bigjoolsintellec`: +115:12
bacbigjools: +115:12
barrythe general rule is: make the reviewers lives easier.  this applies to the reviewer too <wink>.  iow, if you make the review hard for the dev to deal with, you're just making your own reviewing life harder (more questions, more back and forth, more context switching, etc.).  do what you need to do to give the dev a high fidelity review they can act fully on the first time through15:12
bigjoolsI don't think we need a policy, just some hints on making it easy to understand a review15:12
bacreviewees, at least those of us here, shouldn't be shy about pointing out unclear style to reviewers.15:13
salgadoI brought this up because I find it really disturbing to go through a review which makes a bunch of points about the code but doesn't include the diff or anything for context15:13
barryi always keep the diff header for the file i'm reviewing, so it's easy to see.  i'll cut out code usually only on hunk granularity so it's easier to follow15:13
barrybac, salgado agreed15:14
bacthanks for bringing it up salgado.  i agree with bigjools that i don't think we need a new policy just awareness.15:14
salgadoshould we put this in a guidelines wiki page, to increase awareness, then?15:15
bacpersonally i've adopted the style of downloading the diff, doing the review in the editor of choice (cough, emacs) and pasting it to the page.  and i try to delete only on chunk boundaries as barry mentioned.15:15
intellec`i think that if you feel that we need to increase awareness an email to the list is in order15:15
bacsalgado: sure.  would you do that?15:15
salgadosure, I can do it15:15
bacadditional thoughts?15:16
barryas a dev, please have a conversation with your reviewer if you think the review did not provide the necessary level of context to help you resolve the issues15:16
bac[action] salgado to update the wiki page to encourage reviews with sufficient context15:16
MootBotACTION received:  salgado to update the wiki page to encourage reviews with sufficient context15:16
salgadobarry, definitely15:16
bigjoolsreviewing is a two-way process15:17
henningebac: I thouht ML discussion, not wiki page?15:17
barrybig +115:17
barrywe're all here to learn, right?! :)15:17
henningeand: which wiki page? ;_)15:17
bigjoolsbarry: I likez to lern15:17
salgadohenninge, I'll create one and send an email about it to the list15:17
bacsalgado: thanks!15:17
henningesalgado: great, thanks15:17
bacmoving on...15:18
bac* Conditional expressions - are they kosher, now that we're on Python2.5? [intellectronica]15:18
barrybigjools: i gots lernt me good sometimes15:18
intellec`use(conditional_expressions) if conditional_expressions is kosher else not use(conditional_expressions)15:18
bigjoolsbarry: git 'er dun15:18
intellec`i'm +1 on using them, as long as they're not nested or otherwise too complex. i'd like to get other reviewers' opinion and decide on an official policy15:18
bacbigjools: you've been in austin too long15:18
bigjoolslol15:18
barry+1, tastefully, which will have to evolve.  my personal preference in general is that it makes code like this easier to read:15:19
barryif foo:15:19
barry    bar = 715:19
barryelse:15:19
barry     bar = 915:19
barrybecomes15:19
barrybar = (7 if foo else 9)15:19
* gmb agrees with barry15:19
barryand always use parentheses, even if the syntax does not strictly require it, because it's more readable15:19
al-maisanthis reminds me a bit of perl :P15:19
intellec`i also like the parentheses around the expression15:20
barryal-maisan: guido deliberately picked odd syntax so people wouldn't abuse it :)15:20
mars+1, trust the developers to use them well15:20
al-maisanwell, he *did* succeed in that15:20
barryalso, multiline form if the conditional is long:15:20
marsintellec`, "tasteful" is the right word :)15:20
adeuring+115:20
bigjoolsI think it's fine, any readability issues will be picked up in review15:20
barrybar = (7 if foo.getSomeDataOutOfThere('baz') == 'frobnicate'15:21
barry          else 9)15:21
marseewww15:21
barrybut multiline is a 'hint' that it might be too complex <wink>15:21
bacbarry: does muti-line make sense?  i think i'd rather see that using if-then15:21
intellec`so, basically, it's a yes, but like everything else we discuss it in reviews to make sure the result is readable? i like that15:21
bigjoolsand I expect we'll establish formatting conventions with a bit of use15:21
marsbarry, I think IRC didn't treat that last example so well :)15:21
intellec`barry: i agree, multiline also doesn't improve much on the imperative form15:21
henningeintellec`: +115:21
barryagreed.  i think it will be a evolution of team taste over time15:22
barrys/a/an/15:22
bacany thoughts on limiting conditional expressions to single line for readability?15:22
bigjoolsI say see how it goes15:22
adeuringbac: no "chaining" of conditional expressions15:22
mars-1 on limiting them.  Trust the devs.15:22
barrybigjools: +115:22
intellec`bac: yes, i think that's a good rule15:22
gmbbac: +115:23
barryadeuring: agreed on chaining.  that really reduces readability15:23
bacadeuring: +115:23
barrybac: i have another 2.5ism for ya, when you're ready :)15:23
bacif we are in agreement (mostly) i'll add that to the wiki this week15:24
bac[action] bac to update coding guideline wrt conditional expressions15:24
MootBotACTION received:  bac to update coding guideline wrt conditional expressions15:24
bacbarry: yes?15:24
barry<cough>from __future__ import with_statement</cough> should be legal too now15:25
intellec`barry: do transactions work with it? that's the classis use, no?15:25
* salgado has done that already; legal or not15:25
barrycontext managers rock15:25
mars+115:25
barryintellec`: i've had success with them, jtv doesn't like them for that purpose.  but that have lots of other uses15:25
barryjust about any place you've got ugly try/finally's, you can write a simple context manager and use a with statement15:26
bigjoolshow about you take that to the ML with some examples?15:27
barryi've used them for stashing and restoring umasks, cwd, sys.stdout, etc. etc.  they work great with files which already support the context manager protocol15:27
barrybigjools: +115:27
bacbarry:  would you be willing to email the list with examples and update the coding guidelines?15:27
barrybac: yep15:27
bac[action] barry to school us on the proper use of 'with'15:27
MootBotACTION received:  barry to school us on the proper use of 'with'15:27
bacthat's it for listed items15:28
bac[action] * Peanut gallery (anything not on the agenda)15:28
MootBotACTION received:  * Peanut gallery (anything not on the agenda)15:28
bacanyone have another topic?15:28
bacof course that should15:28
bac've been a topic not an actoin15:28
bacgoing once15:29
bactwice15:29
EdwinGrubbsI have a question15:29
bacyes EdwinGrubbs15:29
EdwinGrubbsShould translations/translations.js put items in the Y.translations.translations namespace, or should we have a convention similar to python, where translations/__init__.js adds items to the Y.translations namespace?15:29
=== salgado is now known as salgado-lunch
* bigjools wonders how useful it would be to have a bzr plugin that creates new files with the correct copyright/licence at the top15:29
marsbigjools, I just use templates in my editor for that15:30
bigjoolsyou still need to bzr add though?15:30
marsbigjools, but you could have a lint step: legal-lint!15:30
bigjoolsuff :)15:31
bacsinzui, mars, intellec`: any thoughs on EdwinGrubbs' question?15:31
marsbac, thinking15:31
intellec`i prefer not importing into __init__15:32
intellec`i find it hard to follow later on15:32
marsEdwinGrubbs, anything under the translations/ directory can add to the namespace and objects.  What we do now (and by YUI convention) is that the same named file includes everything rolled up.15:32
EdwinGrubbsmars: that should be added to the wiki then, if it is an existing yui convention15:33
marsintellec`, agreed.  I find the correct building of package interfaces using __init__ to be sticky enough already, without having to mold the Py conventions to JS15:34
bacEdwinGrubbs, mars: would one of you like to sort it out and document it?15:34
EdwinGrubbsbac: I can do it15:35
bac[action] edwin to document JS namespace issue15:35
MootBotACTION received:  edwin to document JS namespace issue15:35
bacthanks edwin15:35
bacfinal thoughts?15:35
bac315:35
bac215:35
bac115:36
bac#endmeeting15:36
MootBotMeeting finished at 09:36.15:36
bacthanks for coming everyone15:36
al-maisanThanks!15:36
marsthanks bac15:36
barrybac: thanks!15:36
henningethank you bac15:36
bacthanks for "lurking" barry15:37
=== salgado-lunch is now known as salgado
=== EdwinGrubbs is now known as Edwin-lunch
=== mrevell is now known as mrevell-dinner
=== Edwin-lunch is now known as EdwinGrubbs
=== salgado is now known as salgado-afk

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