=== salgado-afk is now known as salgado | ||
=== mrevell is now known as mrevell-lunch | ||
=== mrevell-lunch is now known as mrevell | ||
* gmb goes to get a brew pre-meeting | 14:48 | |
barry | #startmeeting | 15:00 |
---|---|---|
barry | ha ha | 15:00 |
barry | hello and welcome to this week's ameu launchpad reveiwer's meeting | 15:00 |
barry | who's here today? | 15:00 |
bigjools | fail :) | 15:00 |
flacoste | me | 15:00 |
bigjools | me | 15:00 |
bac | me | 15:00 |
gmb | me | 15:00 |
bigjools | moo | 15:00 |
schwuk | me | 15:01 |
allenap | me | 15:01 |
salgado | me | 15:01 |
intellectronica | ME | 15:01 |
intellectronica | whoops | 15:02 |
BjornT | me | 15:02 |
barry | allenap, danilos ping | 15:02 |
* gmb tries to persuade a rather persistently stupid wasp to leave the office | 15:02 | |
allenap | me | 15:02 |
EdwinGrubbs | me | 15:02 |
barry | EdwinGrubbs: welcome! | 15:02 |
EdwinGrubbs | thanks | 15:02 |
statik | me | 15:03 |
barry | statik: ping | 15:03 |
barry | :) | 15:03 |
sinzu1 | me | 15:03 |
=== sinzu1 is now known as sinzui | ||
sinzui | me me | 15:03 |
barry | == Agenda == | 15:03 |
barry | * Roll call | 15:03 |
barry | * Next meeting | 15:03 |
barry | * Action items | 15:03 |
barry | * Queue status | 15:03 |
barry | * Mentoring update | 15:03 |
barry | * Review process | 15:03 |
barry | next meeting week += 1? | 15:03 |
barry | anybody know you won't be here or will be sprinting? | 15:03 |
flacoste | sinzui and I will be sprinting | 15:04 |
flacoste | but we should be able to attend | 15:04 |
barry | cool, thanks | 15:04 |
barry | * Action items | 15:04 |
* barry is teh suck this week | 15:05 | |
barry | * barry drive to decision about multiline sequences | 15:05 |
barry | * barry to solicit ideas to better handle review scheduling and workload | 15:05 |
barry | not done, but i will do them this week | 15:05 |
barry | * gmb to add lpreview to sourcecode and hack rf-setup to link it in | 15:05 |
gmb | It's in sourcecode. | 15:05 |
gmb | Thanks to mthaddon | 15:05 |
mthaddon | de rien | 15:06 |
gmb | I'll get the rf-setup change reviewed and landed today. | 15:06 |
barry | gmb: excellent. will that link in our ~/.bazaar/plugins directory? | 15:06 |
gmb | Yep. | 15:06 |
barry | fantastic | 15:06 |
barry | thanks! | 15:06 |
barry | * gmb to prod mwh again about the 800-line limit patch | 15:07 |
gmb | I emailed him last nigh | 15:07 |
gmb | But since he's sprinting I suspect we won't hear back until next week. | 15:07 |
gmb | barry: Let's leave this on the agenda for next week | 15:07 |
gmb | Lest I forget again :) | 15:07 |
barry | gmb: cool. will do. we'll leave the lpreview one on too, until the rf link branch lands | 15:08 |
gmb | Sure. | 15:08 |
barry | gmb: thanks | 15:08 |
barry | * sinzui to update js style guide page with helpful resources | 15:08 |
sinzui | Not done | 15:08 |
* sinzui has time on Thursday to do it | 15:08 | |
barry | sinzui: we'll just continue this one then, right? | 15:08 |
flacoste | barry: didn't you took a decision about multiline sequences? | 15:08 |
sinzui | barry: yes please | 15:08 |
statik | sinzui: possibly relevent, there is a new douglas crockford book coming out called javascript: the good parts | 15:09 |
barry | flacoste: oh, you're right. i even updated the python style guide. jeebus, where is my brain? | 15:09 |
bigjools | that won't be very big then | 15:09 |
intellectronica | statik: beware of crockford's advice, though. it's not always good | 15:09 |
sinzui | statik: I nice *small* book about modern and compatible ECMAScript would be nice. | 15:10 |
statik | yeah, I hope this one is tiny | 15:10 |
barry | * sinzui or flacoste to add sampledata check to lpreview or make lint | 15:11 |
flacoste | i suck | 15:11 |
flacoste | completely forgot about that | 15:11 |
flacoste | i can at least file a bug :-) | 15:11 |
barry | flacoste: cool, that would be great | 15:11 |
barry | * Queue status | 15:12 |
barry | queue looks pretty good to me. the only pink branch is our old favorite bazillion year old stub branch | 15:13 |
barry | any comments on the queue? | 15:13 |
gmb | Can't that branch be made w-i-p? | 15:14 |
gmb | I mean, it's ossifying there at the top of the queue.# | 15:14 |
barry | gmb: i tried to do that once but jamesh didn't want me to | 15:14 |
barry | gmb: but i will push for that again at the next asiapac | 15:14 |
gmb | Okay. | 15:15 |
barry | * Mentoring update | 15:15 |
barry | any word from mentors or mentorees? | 15:15 |
barry | EdwinGrubbs: how's it going? getting some branches to review? | 15:15 |
EdwinGrubbs | barry: no, I haven't reviewed anything since salgado's oncall day | 15:16 |
gmb | EdwinGrubbs: That's a Thursday, right? | 15:16 |
barry | EdwinGrubbs: that's okay, i'm sure you'll get some tomorrow | 15:16 |
EdwinGrubbs | of course, I haven't checked PendingReviews to see if anything is assigned to me | 15:16 |
barry | EdwinGrubbs: that reminds me. i've been using bac's cron script. i highly recommend it | 15:17 |
barry | when there's no change to my queue, it stays quiet, but i get the occasional email when there's an update to my queue. it works really well. you should all check it out | 15:17 |
* barry thanks bac | 15:17 | |
bac | np | 15:18 |
* sinzui ponders a dbus message from PR | 15:18 | |
barry | :) | 15:18 |
EdwinGrubbs | bac: where is that cronscript? I just have your getreview.py script. | 15:18 |
bac | that would be cool | 15:18 |
bigjools | XMPP message | 15:18 |
schwuk | twitter! | 15:19 |
bigjools | eugh | 15:19 |
bac | EdwinGrubbs: bzr+ssh://devpad.canonical.com/code/bac/launchpad/pr_notify | 15:19 |
gmb | sinzui: Put it through libnotify / notify-bin | 15:19 |
schwuk | bigjools: luddite | 15:20 |
barry | bac: is there a link to that from TipsForReviewers? | 15:20 |
statik | easily integrated with intellectronica's twit.py | 15:20 |
sinzui | gmb: yep | 15:20 |
bac | barry: no, but i'll add one | 15:20 |
barry | bac: thanks | 15:20 |
schwuk | statik: ? | 15:20 |
bigjools | schwuk: communication junkie | 15:20 |
barry | any other mentoring news? | 15:21 |
barry | * Review process | 15:21 |
barry | there's just bac's proposed item... | 15:21 |
barry | * Discourage use of 'hasattr' (bac) | 15:21 |
barry | bac: the floor is yours | 15:22 |
flacoste | hasattr is evil because it catches exceptions | 15:22 |
bac | i wasn't aware of the problem with hasattr until the discussion today. | 15:22 |
* sinzui 'attr' in obj.__dict__: | 15:22 | |
bac | so should we put that on our check list or PSG | 15:22 |
flacoste | we should define a safe_hasattr in lazr.utils and uses that instead | 15:22 |
bac | flacoste: +1 | 15:22 |
intellectronica | sinzui: that doesn't always work, does it? | 15:23 |
barry | flacoste: i think people should just be trained to use getattr(foo, name, None) instead | 15:23 |
flacoste | it doesn't with decoarators | 15:23 |
flacoste | intellectronica: ^^ | 15:23 |
sinzui | intellectronica: I was being sarcastic | 15:23 |
flacoste | or any other descriptors | 15:23 |
flacoste | barry: i think if safe_hasattr(obj, 'attr'): | 15:23 |
flacoste | is easier to udnertsand | 15:24 |
bac | i did a quick look and we're using hasattr 24 times in our codebase | 15:24 |
flacoste | than if getattr(obj, 'attr', None) is not None | 15:24 |
barry | flacoste: yeah, but then i have to look up safe_hasattr() to see what it actually does ;) | 15:24 |
flacoste | barry: c.'mon :-) | 15:24 |
barry | otoh, if it's this instead, then i can get behind it: | 15:24 |
barry | missing = object() | 15:24 |
intellectronica | maybe you should call it can_getattr :) | 15:25 |
barry | return getattr(obj, name, missing) is missing | 15:25 |
flacoste | barry: yes, that was my plan | 15:25 |
barry | er, is not missing | 15:25 |
* flacoste realized that he just got himself anothe action item | 15:25 | |
allenap | Why not just catch the AttributeError explicitly ourselves, and ban hasattr? | 15:25 |
barry | intellectronica: maybe i_can_haz_attr() | 15:25 |
flacoste | i should just shut-up | 15:25 |
intellectronica | barry: :) | 15:25 |
flacoste | allenap: the problem is that it catches all exceptions | 15:25 |
barry | i'd like to understand more why we're using hasattrs | 15:26 |
barry | maybe some of those 24 uses are bogus? | 15:26 |
intellectronica | i think in many cases where we use ...attr methods we don't really have to, or could refactor the code so that we don't have to | 15:27 |
intellectronica | just today salgado found one place where we used setattr without having to and fixed it | 15:27 |
salgado | intellectronica, it was jamesh who found it, btw. :) | 15:28 |
intellectronica | maybe the instruction should be more general, and include looking for ...attr in the code, check that it's really necessary, and iff it is, make sure that it's correct | 15:28 |
barry | intellectronica: +1 | 15:28 |
barry | would someone like to update TipsForReviewers to be on the lookout, and question, uses of setattr() | 15:29 |
bac | i will | 15:29 |
barry | and also update PythonStyleGuide to watch out for hasattr() because of the exception swallowing behavior | 15:29 |
barry | bac: mind doing both? | 15:29 |
intellectronica | barry: why setattr specifically? | 15:30 |
bac | yes i'll do both | 15:30 |
bac | barry: why shouldn't both place caution about hasattr and setattr? | 15:30 |
barry | intellectronica, bac nope, you're right. sorry | 15:30 |
flacoste | what's the issue with setattr? | 15:31 |
intellectronica | flacoste: just that we sometimes use it without having to | 15:31 |
intellectronica | flacoste: and then we rely on strings, don't get lint errors, and unnecessarily complicate the code | 15:32 |
flacoste | how often does it come up? | 15:32 |
flacoste | i mean, there is a lot of things we do that we don't need to | 15:32 |
intellectronica | flacoste: it came up today :) | 15:32 |
flacoste | launchpad is full of cargo cult | 15:32 |
sinzui | true | 15:32 |
flacoste | lint doesn't catch unexisiting attributes | 15:32 |
flacoste | i don't think we should call out setattr specifically | 15:33 |
intellectronica | heh, true | 15:33 |
barry | i can go either way on that. we're all agreed about questioning and discouraging hasattr though | 15:34 |
barry | that's it from me. anything else not on the agenda? | 15:36 |
bigjools | a quick point | 15:37 |
bigjools | my email about cleaning PR up was not very effective | 15:37 |
bigjools | so I think we should remind people in review replies | 15:37 |
barry | bigjools: good idea | 15:38 |
* bigjools removed 6 old branches from his queue just yesterday | 15:38 | |
sinzui | can bac's script be adapted to send an email to offender? | 15:38 |
bac | sinzui: no | 15:39 |
bac | jamesh's would be a better candidate | 15:39 |
sinzui | I clear my queue when I start my on-call day | 15:39 |
bigjools | yeah | 15:39 |
flacoste | sinzui: that could be considered spamming :-) | 15:39 |
bigjools | you can flog them some viagra while you're at it | 15:40 |
flacoste | lol | 15:40 |
sinzui | It is spelt V|4gra | 15:40 |
bigjools | :) | 15:41 |
barry | i think we're done :) | 15:41 |
barry | #endmeeting | 15:41 |
barry | ha ha | 15:41 |
barry | thanks everyone! | 15:42 |
bigjools | #fail | 15:42 |
=== salgado is now known as salgado-lunch | ||
=== salgado-lunch is now known as salgado | ||
=== salgado is now known as salgado-afk |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!