#launchpad-yellow 2011-03-28
 * gmb lunches
<gmb> Hi gary_poster. Can I just check that we're having the call in an hour or so? UK is now in UTC+1, and for some reason I'm finding +/- 1 to be really difficult maths today.
<gary_poster> gmb, oh, I intended it to be in 5 minutes
<gmb> gary_poster: That's cool too :)
<gmb> I just didn't want to wander off to get a drink and find out that I'd missed the call.
<gary_poster> that's back to the old local time for us, is it for you too?
<gary_poster> :-) appreciated
<gmb> gary_poster: Yes.
<gary_poster> cool
<gary_poster> bac benji danilo gmb, call in 3 (back to normal local time for US east coast
<gary_poster> )
<benji> yay for time zones!
<gary_poster> uh oh, /me wonders if danilo got the memo :-)
 * gary_poster adds an s: danilos?
<danilos> gary_poster, no, upgraded this machine to natty so mumble got me through configuration screen again
<danilos> gary_poster, "danilo" without "s" also pings me fwiw :)
<gary_poster> :-) k
<danilos> gary_poster, https://launchpad.dev/firefox/+subscriptions
<benji> gary_poster: should I push my changes into lp:~gary/launchpad/accordion-client-1?
<gary_poster> benji, I don't think you can...let me see if I can open it up to you.
<gary_poster> benji, the branch is now https://code.launchpad.net/~yellow/launchpad/accordion-client-1
<gary_poster> and you should be able to push to it
<benji> gary_poster: cool (I suppose we will have to re-MP it now that it's moved.(?))
<gary_poster> benji, the MP appears to have followed along for the ride, happily
<benji> wow
 * danilos -> lunch
<danilos> back
<benji> gmb: ok, the lint (and test) fixes are in at https://code.edge.launchpad.net/~yellow/launchpad/accordion-client-1/+merge/54715
<gmb> benji: Cool. I'll look now
<gmb> benji: r=me on the lint changes.
 * gmb -> afk for a short while
<danilos> gary_poster, just to clarify the state of the things re our branches: ~yellow/lp/accordionoverlay is split into -server part (already landed) and -client-1 part (in review); for all our future/in progress branches, we should base them off -client-1, right?
<gary_poster> danilos, I think that is safe.  bac has a third branch, also in ~yellow, that will be a bit gigantic, but it is effectively based on -client-1, and shouldn't affect your work.
<danilos> gary_poster, sounds very comforting ("gigantic", "won't affect your branch" :))
<gary_poster> heh
<gary_poster> It's the branch that adds links to all of the bug target pages.
<gary_poster> so it has a bunch of similar tests
<gary_poster> and a bunch of similar template changes
<gary_poster> It doesn't touch _subscriptions
<gary_poster> +
<danilos> gary_poster, since I also need to worry about this for my in-review branch, and since I already have an MP with "accordionoverlay" as the dep, is it ok to overwrite ~yellow/launchpad/accordionoverlay with accordion-client-1 just for the MP? :)
<gary_poster> danilo, I think so.  It's possible even that -client-1 has all changes from accordionoverlay, in which case the answer is "absolutely".
<gary_poster> danilo, if you have to --force, then I'm more worried about it
<gary_poster> but I won't actually worry until you tell me there's a reason to :-)
<danilos> gary_poster, heh, there's one revision which conflicts (which says something like "Merge latest changes from client branch"
<gary_poster> :-/
<gary_poster> uh, any ideas?
<danilos> gary_poster, well, I guess it's probably best to just leave it as is, and I'll work it out with my reviewer that some changes are due to merge with the latest underlying work which has moved into a different branch
<gary_poster> danilos, if you say so.  if you merge -client-1 into accordionoverlay instead of pushingm does that result in different branches?
<gary_poster> or are they then indentical?
<gary_poster> I bet the conflict is because of conflict resolution I had to do or something
<danilos> gary_poster, well, at least revision histories would be different, I am unsure about the "textual contents"
<gary_poster> so merging -client-1 should hopefully result in the same textual contents
<gary_poster> if that helps
<gary_poster> then you could maybe even push without complaints
<gary_poster> or you could push --overwrite with impunity :-)
<danilos> gary_poster, yeah, I'll check that and try it out
<gary_poster> cool
<danilos> gary_poster, yeah, no differences, so I can just push it I hope
<gary_poster> awesome
<gary_poster> So far I think I have 13 reviews to give, not including my own. :-P
 * danilos wraps for the day, cheers all
<gary_poster> bye :-)
<bac> hi gary_poster
<bac> i've got new subscriptions working on milestone overview pages for products, productseries, and distros.
<bac> on to bugs pages now
<gary_poster> fantastic, bac.  bugs pages--we missed those? no...not sure what you mean actually
<bac> gary_poster: i am putting subscribe links on the overview page and the bugs page
<bac> so it appears on launchpad.net/firefox and bugs.launchpad.net/firefox
<gary_poster> bac, got it, duh
<bac> gary_poster: actually i was wrong, which means there is less work to do
<bac> there is no such thing as a bugs facet for a productseries
<gary_poster> even yay-er
<bac> if you're looking at bugs.launchpad.net/firefox/1.0/1.0.0 (a product series)
<bac> clicking on 'bugs' tab takes you to bugs.launchpad.net/firefox
<bac> so i think i'm done
<gary_poster> awesome!
<gary_poster> so what's next, and should I help?
<bac> i just confirmed the tests all pass
<bac> next i need to merge in the latest, wherever that may be, and then deliver this somewhere
<bac> gary_poster: you can help me figure out those two things.
<bac> but right now i need to be afk for a bit.  i'll ping you a little later if that's ok
<gary_poster> I think that danilo merged -client-1 into ~yellow/lp/accordionoverlay
<gary_poster> checking
<gary_poster> if so, that's the thing to merge, I think.  or -client-1.  They are effectively identical, except in history.
<gary_poster> "deliver this somewhere": I think that you are waiting for the -client-1 branch to land.  benji, I saw Graham's review.  Does that mean that you are ready to merge, or you still have other stuff to do?
<benji> gary_poster: still working on the non-lint bits; just plug-and-chug left now
<gary_poster> cool
<gary_poster> bac: here's my suggestion:
<gary_poster> 1) merge in lp:~yellow/launchpad/accordionoverlay
<gary_poster> 2) push to LP
<gary_poster> 3) make a mp depending on either lp:~yellow/launchpad/accordionoverlay or lp:~yellow/launchpad/accordion-client-1/ (identical)
<gary_poster> 4) get it reviewed
<gary_poster> 5) wait, if necessary, for lp:~yellow/launchpad/accordion-client-1 to be landed
<gary_poster> (uh, 6, land it)
<gary_poster> (7, go for a walk)
<gary_poster> (etc.)
<benji> gary_poster: all the fixes have been applied
<gary_poster> great benji.  Does that need another review from Graham, or is that good to go?
<benji> gary_poster: he had already approved it and then approved of my lint changes, so -- assuming he doesn't object wildly to anything I did in this last round (and I wouldn't expect him to) -- we should be ready to go
<gary_poster> so that means you can land?
<benji> gary_poster: sure, I can do it
<gary_poster> yay!
<benji> it'll help me put off reviewing the two > 11K line MPs in the queue ;P
<benji> wait, make that 1K :)
<benji> (what's an order of magnitude between friends)
<gary_poster> :-)
<benji> gary_poster: will you set a preferred email address on ~yellow?  ec2 land is barfing because it desn't have one
<gary_poster> meh, sure
<gary_poster> benji, (1) I made eveyone on team an administrator.  (2) I set up a mailing list; I think that will become the contact email once it has approved.  I'll ping when it is done and I have confirmed that it is the contact email.
<benji> k
 * benji is tempted to put Gary as the contact email in the meantime just to get this going.
<gary_poster> Can't--my email is already registered...
 * benji is tempted to put benji+this-is-temporary@benjiyork.com instead.
<gary_poster> benji, ok, if you wanna :-)
<benji> gary_poster: the temporary email address worked and the new list is now the contact address
<gary_poster> benji, yeah I changed it too. :-) thank you
<benji> :)
<gary_poster> Performed urgent and essential task of updating team image for https://edge.launchpad.net/~yellow
<benji> heh
<bac> gary_poster: i just saw your suggested merging steps and will give them a go
<gary_poster> cool bac.  Note that benji has now sent -cleint-1 to ec2 test I think, so hopefully we're on our way there roo
<gary_poster> too
<gary_poster> kanga
<bac> gary_poster: so why should i merge from accordion-overlay instead of client-1?
<gary_poster> bac, it doesn't matter; they are identical.  Do what makes sense for you.
<gary_poster> they are identical because danilos was already using accordionoverlay as a MP predecessor
<benji> now that we're all adminstrators we can periodically change the team image to random yellow things
<gary_poster> and wanted the -client-1 stuff
<gary_poster> +1 benji :-)
<bac> gary_poster: and i should push it to something else like client-2?
<gary_poster> bac, or whatever works for you, sure.
<bac> gary_poster: what is the status of the 'edit' links for existing structural subscriptions?  will that be done in a second pass, mimicing the work i just did/
<gary_poster> bac, yes
<bac> ok
 * gary_poster hopes/assumes it will be easier to follow in your footsteps now that you have blazed the trail
<bac> only 3 conflicts
<gary_poster> hopefully good.
<bac> benji: should i be using StructuralSubscriptionJSMixin everywhere i'm currently exposing data to JS?
<benji> bac: hmm, I haven't heard of that guy, but suspect Gary refactored a the group of expose_* function calls into it
<bac> ah, i figured you did it.
<bac> it wants to make providing a 'subscriptions' property required, but with a bit of work i can make it so i can use it without providing that property
<gary_poster> bac, yeah, that was a review request from Graham
<gary_poster> and +1 on refactoring to make it easier to reuse
<gary_poster> since that was the point
<bac> gary_poster: it may not be easier to use but will allow me to defer providing that definition until it is needed
<bac> which is easier, i guess
<gary_poster> yeah, sounds like it :-)
<bac> gary_poster: in browser/bugtarget.py
 * gary_poster listens
<bac> ah, never mind
<gary_poster> k :-)
<bac> i expected to see a 'super' but you're calling the initialize from another class directly
<gary_poster> looking...
<bac> is that correct?  how is the initialize from StructuralSubscriptionJSMixin called?
<gary_poster> bac, yes, it is first in the inheritance list
<gary_poster> so it's initialize is called
<bac> which 'it'?
<gary_poster> which then calls out to LaunchpadView in its own super
<gary_poster> So in class TargetSubscriptionView(StructuralSubscriptionJSMixin, LaunchpadView):
<gary_poster> TargetSubscriptionView does not define an initialize
<gary_poster> so the first defined initialize in the subsclasses reading left to right is the class' initialize
<gary_poster> StructuralSubscriptionJSMixin has an initialize
<bac> ok, we're looking at different classes.
<gary_poster> oh
<bac> sorry, i got confused
<bac> but look at BugTargetBugsView
<bac> if i add the new JSMixin to the list of inherited classes
<bac> must i call the initialize manually?
<gary_poster> If the new JSMixing class is first, then you should be able make a super call
<gary_poster> JSMixin
<gary_poster> Or if BugTaskSearchListingView is first and it does the proper super dance then it should work fine too
<bac> it already has a call to BugTaskSearchListingView.initialize()
<gary_poster> right.  That should no longer be necessary, because the JSMixin has a super call in it too
<gary_poster> So if I were doing it
<gary_poster> I'd try putting the JSMixin as the first inherited class
<gary_poster> and then I would try changing BugTaskSearchListingView.initialize(self)
<gary_poster> to
<gary_poster> super(BugTargetBugsView, self).initialize()
<gary_poster> as you'd expect
<gary_poster> that should call to the JSMixin's initialize
<gary_poster> which should then call the BugTaskSearchListingView's initialize
<bac> even though BugTaskSearchListingView doesn't do the proper super dance?
<gary_poster> yes, because I said that you should put the JSMixin first
<gary_poster> and it *does* do the proper super dance
<gary_poster> make sense?
<bac> sort of
<gary_poster> what part doesn't?  I might be making a mistake
<bac> i see that currently BugTaskSearchListingView.initialize does not call super
<bac> instead it does some work then calls LPFormView.initialize()
<bac> so, given that existing code, the approach you suggest will still work?
<gary_poster> I believe it will yes
<bac> ok, i'll give it a try then
<bac> gary_poster: mumble real quick?
<gary_poster> Sure bac
#launchpad-yellow 2011-03-29
<bac> benji, gary_poster: either of you run the windmill tests from the command line lately?  the documented way doesn't run any tests.
<bac> xvfb-run ./bin/test --layer=RegistryWindmillLayer -cvvt test_yuitests
<bac> hey benji, over here!  :)
<benji> look down, look back up and I'm here with you
<benji> I'm on a horse.
<bac> thanks for the pointer, i'll try it
 * bac dinners
<gary_poster> aloha
<gary_poster> bac benji danilos gmb mumble about now-ish
<gmb> Yup
<bac> ready-ish
<benji> gary_poster: being a XSS vulnerability I wonder if I should use the non-public list for the email
<gary_poster> benji, yeah, I guess so.  I thought it was a theoretical vulnerability ("if you use it with bad info, it will bite you, but we are not sure that anyone is actually using it this way, but anyway it is bad")
<gary_poster> even as a theoretical vulnerability I suppose it might give people ideas
<gary_poster> as to what to try
<benji> that's true, but I strongly suspect... right; I bet I could come up with some place we allow dangerous values
<benji> for example, I wonder if bug descriptions are a vector
<gary_poster> so, agreed that it should be on private list.  I'd be somewhat surprised if bug descriptions are a vector, but if they were, that would certainly get people's attention.  Might be worth a quick attempt.
<benji> gary_poster: OK, I'm confused; it doesn't look like it should be possible to provoke XSS the way things are set up.  I'd like to investigate what we did wrong.
<gary_poster> benji, heh.  ...technically, you have a card in progress in the quick jobs lane, but you haven't actually moved it.  If you did, we would be over our limits.  I'm the one at fault, since I'm consuming the lanes, but if we honor the limits (which are supposed to help us stay on task) then you should be working on something else.  However, now you have it in progress...
<gary_poster> So...
<gary_poster> Yeah, move the card over to Active
<gary_poster> Explain that it was started before consulting the kanban board and now it is in progress
<gary_poster> And then timebox it
<gary_poster> what do you think, two more hours max, benji?
<benji> I'm cool with leaving it until later (I only intended to send an email but in writing it I realized that something was amiss).
<gary_poster> Maybe that's too shortsighted
<gary_poster> (my comment was too shortsighted, I mean)
<gary_poster> benji, go ahead and do it.
<gary_poster> thank you
<benji> a timebox is fine too; I think that we fell into some sort of trap and it's likely that someone else will too
<gary_poster> Maybe check in with me after lunch if you are still consumed by it?
<gary_poster> cool
<benji> sounds good
<gary_poster> thanks again
<gary_poster> benji, you had already verified that it was not just the innerHTML stuff we were doing that was the problem, right?  I thought I remember you saying that simply having the HTML in the lazr.restful generated JS blob at the bottom of the page was sufficient to trigger the problem.  That's what you are investigating further?
<benji> right...
<gary_poster> k
<benji> yet the JSON produced by bug descriptions is escaped but the escaped text is not stored in the DB; I now see why that is but I don't know why we didn't benefit from the same effect
<gary_poster> oh
<gary_poster> huh
<gary_poster> investigate away :-)
<benji> :)
 * benji gains +3 investigation from coffee.
<gary_poster> heh
<bac> gary_poster: i've submitted a MP.  any thoughts on getting it reviewed?  seems unfair to stick gmb with it.
<gmb> bac: How big is it?
<bac> it is 2023 lines
<gmb> 0.o
<gary_poster> bac, benji seems like an obvious candidate if he is willing, since he did not do any work on this onw
<bac> yeah, sorry
<gary_poster> I did a bit of work on it, but we could pretend I didn't and look at it this afternoon
<bac> benji: ?
<benji> bac: yep, I can do it right after lunch
<bac> ok
<gary_poster> benji, thank you.  Could you claim it, so we don't get outraged reviewers banging down our virtual doors?  bac, what's the URL?
<benji> yep
<bac> gary_poster: as i was writing the MP i realized the odd rules surrounding distros might need another look vis-a-vis not letting bug supervisors try to subscribe other teams that are not part of the bug supervisor team
<bac> right now i only limit who gets the link
<bac> https://code.launchpad.net/~bac/launchpad/accordion-client-2/+merge/55361
<bac> gary_poster: i'll do that investigation after lunch
<gary_poster> bac, interesting.  I'm inclined to say that is not a bad feature, but it is something we should know about at the least.
<bac> gary_poster: well, it would error as the model enforces the rule
<gary_poster> (and clarify to Jono, and maybe ask Deryck about since he was the one who warned me)
<gary_poster> oh, well, there you go then
<benji> claimed
<gary_poster> thanks
<gary_poster> so, yeah, bac, sounds questionable.
<bac> gary_poster: i think we can just filter 'get_administered_teams' in that situation
<gary_poster> I was thinking something along those lines as well, though it is a shame that we will be adding yet more distributed fiddly bits for that policy...not that I'm suggesting we try to architect a grander solution ATM.
<bac> gary_poster: yeah, ubuntu's odd rules have many tentacles
<bac> it's like they think LP was built especially for them
<gary_poster> :-) crazy people
<bac> gary_poster: i've added and claimed a card
<gary_poster> great, thank you
 * danilos -> off, talk to you all tomorrow
<gary_poster> bye
<danilos> bye
<benji> gary_poster: summary of XSS thing: it's better now.  I'm not entirely sure who fixed it, and I'm a little affraid that their fix will lead to escaped HTML in the DB, but I don't know if that warrants further investigation
<gary_poster> benji, ok.  I wonder if this was the XSS thing that wgrant ws working on.  Knowing how to use it might be smart
<gary_poster> is how we use it now OK?
 * gary_poster going to get lunch, back in a bit
<benji> It might be related to his work, looking at that a little now.
<benji> darn, the "fix" was to remove "structure" from the page template for LP.cache, but that will lead to HTML in the DB: https://code.launchpad.net/~wgrant/launchpad/bug-739915/+merge/54296
<benji> ok, I'm going to do that review now
<benji> bac: it took me longer than I expected, but the review is done (https://code.launchpad.net/~bac/launchpad/accordion-client-2/+merge/55361)
<bac> benji: great.  wasn't slow at all, given the branch
<bac> benji: it does have a couple of test failures ec2 found that i'm working on
<benji> k
#launchpad-yellow 2011-03-30
<gmb> danilos: Are you OCRing today?
<danilos> gmb, oh, indeed! :)
<gmb> Heh.
<gmb> danilos: An easy one to start with, then, if you could: https://code.launchpad.net/~gmb/launchpad/no-mute-for-non-subscribers-bug-741821/+merge/55512
<danilos> gmb, and I added a card for me to remember it
<danilos> gmb, that's like more than a hundred lines of diff, find someone else!
<gmb> :D
<danilos> gmb, comment on lines 12-13 confuses me a bit: isMuted() is a subset of isSubscribed() in that isSubscribed() will be true if it's a NOTHING ("mute") subscription, right?
<danilos> gmb, or, put more simply, whenever isMuted() is true, isSubscribed() is true as well?
<gmb> danilos: You're right.
<danilos> ack
<gmb> (The second version is more succinct than my comment, so I'll change it)
<danilos> gmb, heh, cool
<danilos> gmb, also, if you are losing the facet/layer in configure.zcml change (indentation suggests you might :), I suppose that's intentional
<gmb> danilos: I'm not losing the facet, am I? The page definition is still within the <facet facet="bugs">...</facet> block.
<danilos> gmb, ah, ok, thanks for checking so I don't have to :)
<gmb> danilos: Heh. I had to check because my ZCML changes are often done pretty much blind anyway :)
<danilos> gmb, in general, I am pretty sure facet is not used anymore for anything, but just making sure if it's happening that you know you are doing it :)
<gmb> Right.
<danilos> gmb, anyway, looks good; I am assuming that "mute link" becomes "unmute link" when you have it already muted, since that has nothing to do with this branch :)
<danilos> gmb, r=me
<gmb> Exactly.
<gmb> danilos: Thanks.
<gary_poster> joy.  gmb, danilos, have either or both of you already investigated wgrant's email and reverting of our branch?
<gmb> gary_poster: I saw the email but haven't investigated further yet.
<gary_poster> cool, just curious where we were
<danilos> gary_poster, I haven't seen it so far
<gary_poster> ack danilos thanks
<danilos> gary_poster, looking at it now, I am unsure what wgrant means so I'll have to ask for clarification
<gary_poster> yeah.  His approach seems unhelpful and unnecessary to me, and his decree of inappropriate approaches seems heavy-handed at best.
<gary_poster> approach of roling back a feature-flag protected bit of code, I mean
<gary_poster> rolling
<bac> gary_poster: it turns out when a bug supervisor for ubuntu tries to subscribe one of his other teams there is a failure.  i don't think it is very noticeable, though:  http://people.canonical.com/~bac/subscription-boom.png
<gary_poster> heh
<bac> WONTFIX for now?
<gary_poster> no, can't see it at all
<danilos> gary_poster, we have agreed very early on in our pre-imp that this was not the "right" way to do it, but that it was the only one we could afford to do
<gary_poster> danilos, yes, though what you have done was not inherently problematic either.
<gary_poster> danilos, I'm replying to your email taking responsibility for the pre-imp.
<gary_poster> bac, is it going to be too annoying to fix?
<bac> gary_poster: no, it should be easy
<bac> sorry, i should've used my <sarcasm> tags.  :)
<gary_poster> oh ok :-)
<danilos> bac, sorry, they got escaped by our XSS fix :)
<danilos> gary_poster, also, I wouldn't worry about the reply, it's not about the blame, it's about the approach
<danilos> gary_poster, my main question would be "are we supposed to halt any AJAX feature development until we fix our AJAX infrastructure"
<gary_poster> bac, ok...how about make a bug and a backlog card?
<gary_poster> we'll get to it if we get to it
<bac> gary_poster: i already have a card
<bac> it was my next task
<gary_poster> bac, well, ok, file the bug, associate it with the card, and move the card to the backlog then.
<gary_poster> bac, also I made cards for the issues you brought up before
<gary_poster> as I suspect you saw
<gary_poster> I'm not sure what you think we ought to do with them
<gary_poster> but I din't want them to be lost
<bac> bug 745660
<_mup_> Bug #745660: Attempt to subscribe unassociated team to distribution fails <Launchpad itself:New> < https://launchpad.net/bugs/745660 >
<gary_poster> cool thanks
<danilos> gary_poster, call time? :)
<gary_poster> oh meh, thank you
<gary_poster> was looking at email
<gary_poster> bac benji danilos gmb, mumble/kanban now-ish
<benji> hi
<gary_poster> benji hi :-)
<gary_poster> yeah, moving card is good
<gary_poster> FW2 I guess
<benji> k
<gary_poster> but not really super important which one
<benji> I guess the first thing to do is to determine the actual merge state (whether the code is in devel or not)
<benji> gary_poster: from the logs and your email I gather that the code is actually on stable... so my task is now to address the way html is constructed?
<gary_poster> right, benji--or at least devel.  (We said that on the call--bac said that his branch had inadvertently put the code back on devel)
<gary_poster> sorry if that was not clear.  Should we have a pre-imp to make sure we are on the same page?
<benji> oh, I was under the impression that we thought it might be back but weren't sure
<benji> sure, mumble?
<gary_poster> sure
<benji> danilos: I don't want to undo or step on any changes you've made to HTML generation while reworking the HTML generation for structural subscription JS, is there a way for me to do that?
<bac> from wgrant's email, what is the difference in
<bac> structured("<some>%(bar)s</literal>", bar='<untrusted>')  (Good)  vs
<bac> structured("<some>%s</literal>" % '<untrusted')  (Bad) ?
<bac> other than the named interpolation?
<gary_poster> bac, I assumed that the first uses the code in "structured" to makes the replacement
<gary_poster> the second uses Python
<bac> ah, right
<gary_poster> benji, fwiw and iirc, danilos said his changes were primarily in the drawing of the first, recipients part of the overlay.  In trunk, we decide when we first draw the overlay whether or not to draw the recipient selection or the recipient display.  Since he is adding the ability to add a subscription on the edit page, he had to make that choice happen later.
<gary_poster> So, that's at least the area of conflict
<gary_poster> depending on how far along he is, you might be able to merge his branch in and then work from it.
<benji> thanks
<gary_poster> sure
<danilos> benji, sorry, got myself immersed in a JS review
<benji> danilos: is there a branch I should work from instead of the trunk or particular areas I should stay away from?
<danilos> benji, my branch that reworks those bits is pretty simple: https://pastebin.canonical.com/45453/
<danilos> benji, I am pretty sure you can't stay away from this, but you can perhaps construct it in a similar way
<benji> danilos: when do you expect your branch to land?
<benji> I suppose I could apply that patch and work from there.  I /think/ that would keep things sane when we merge.
<benji> when do you expect to merge your branch?  I expect mine to be pretty soon.
<gary_poster> if you apply the patch, someone will almost certainly still get conflicts, but they should hopefully be easier to resolve...maybe?
<danilos> benji, yeah, that should be fine
<benji> k
<danilos> benji, it's not a big change at all, so I don't mind redoing it as long as you don't go to the extra effort to make this harder :)
<gary_poster> heh
<danilos> benji, and I am sure it's only going to be easier with the changes you are doing anyway
<benji> It's a good thing today's not Make Things Hard on Your Coworkers day in America.
<gary_poster> heh
<danilos> benji, btw, you don't need the lib/lp/bugs/templates/bugtarget-subscription-list.pt part of the patch
<danilos> benji, that's strictly my branch material
<benji> k; I'll just use the JS stuff
<danilos> benji, excellent
<danilos> gary_poster, I forgot to mention that I was OCR today as well :)
<gary_poster> :-) heh, ok danilos, just let your clone handle that bit
<danilos> done for the day, haven't been able to finish the reversion branch either (it was supposed to be enough at lp:~danilo/launchpad/revert-xss-workaround, but I hit some weirdness in LP behaviour not generating sprites properly and such), but I've got to run
<gary_poster> danilos, ack.  we should take the reversion from you then
<gary_poster> can you publish--do you have the time?
<gary_poster> oh duh
<gary_poster> you just said the branch :-)
<gary_poster> thanks ttyl
<benji> oh the humanity! the windmill tests fail for me on virgin devel
<gary_poster> :-(
<bac> gmb: you around?
<gmb> bac: Yes-ish. What's up?
<bac> gmb: just curious, you reviewed huw's private bug marking branch.  in it he deleted icon-sprites.  any good reason for that?
<bac> lp is pretty ugly without them.  :(
<gmb> bac: He did? I must've missed that bit.
<gmb> I don't recall seeing that when I did the review.
<bac> yeah, easy to overlook...until they are gone.
<bac> i'll put them back.
<gmb> Thanks.
<bac> benji: do you have two seconds to review this makefile fix?  https://code.launchpad.net/~bac/launchpad/restore-sprites/+merge/55619
<benji> bac: sure (perhaps it will distract me long enough to forget that JavaScript exists)
<bac> benji: it is really short
<benji> darn
<bac> perhaps this review plus a belt of scotch
<gary_poster> heh
<bac> gary_poster: did you see the thread on trizpug yesterday?
<gary_poster> no
<bac> josh asked for opinions of django vs pyramid and there were some very thoughtful replies...until cc chimed in
<gary_poster> heh
<gary_poster> I just read the thread, bac.  I thought the Django one was interestingly...without experience of the other alternatives, but it still had some fair points.
<benji> bac: done
<bac> thanks benji.  what do you mean "tried to keep it from happening again?"
<bac> IMO, the way to do that is to not check in derived files
<benji> bac: something like a web page difference reporter for a long time, but with projects like http://www.phantomjs.org/ it might be reasonable to consider nowadays
<benji> re. derrived files: absolutely; I was thinking slightly bigger in scope: keeping pages from chaning visually in ways that are otherwise hard to test
<bac> benji: ah, ok
<bac> your heads in the clouds and mine is in the gutter that are makefile rules
<benji> heh
<bac> gary_poster: i've finished my branch and pushed a MP to https://code.launchpad.net/~bac/launchpad/bug-745660/+merge/55636 .  if the elves don't review it overnight i'll get a yellow reviewer tomorrow
 * gary_poster looks
<bac> gary_poster: most of it is drive by cruft from deleting a file
<bac> gary_poster: and that really wasn't a passive-aggressive request for a review this late in the afternoon.  :)
<gary_poster> :-) great bac.  That said, I will be happy to look at it tomorrow if the elves don't get it, as you say (or if anyone else doesn't beat me to it)
 * bac eods
<gary_poster> bye
<bac> chao
#launchpad-yellow 2011-03-31
<gmb> danilos: Can I just check something about the team subscription opt-out story that I'm working on (I'm assuming you'll be able to answer this question based on my vague memory of what Gary said yesterday; if you can't, no worries)
<gmb> danilos: Is the opt-out supposed to be for team *structural* subscriptions or for direct team subscriptions or both?
<gmb> E_BRAIN_NOT_FIRING. Lunch
<danilos> gmb, I think this was mostly about structural subscriptions
<danilos> gmb, but, you are making a good point about direct team subscriptions
<gmb> danilos: Damn, I was hoping you'd say "no, we don't care about direct subscriptions."
<gmb> But thanks anyway :)
<danilos> gmb, :)
<gmb> gary_poster: Just the man! To repeat my question to danilo earlier: Is the opt-out from team subs supposed to be for team *structural* subscriptions or for direct team subscriptions or both?
<gary_poster> gmb, only structural
<gmb> HURRAH
<gmb> I mean, cool.
<gmb> :)
<gary_poster> if it is direct, people can just mute the bug
<gary_poster> :-)
<gmb> Right.
 * gmb goes to finish the DB patch.
<gary_poster> gmb...spanner in the works, but thinking about how we are presenting this, either we need to be able to mute *filters* or we need to think about a good UI for muting the entire structural subscriptions
<gary_poster> filters are the natural way to approach this from a UI perspective
<gary_poster> from the DB perspective, that's no biggie...
<gmb> gary_poster: Hmm. At the moment I've got a StructuralSubscriptionMute table; it doesn't take much to tie it to the filter rather than the subscription.
<gmb> And I agree, filters are what we present to the user as "subscriptions"
<gary_poster> from the perspective of how the muting would work, and efficiency, that's a bit more concerning...
<gmb> You mean in terms of things-to-check-for-mutes-when-sending-emails?
<gary_poster> yeah
<gmb> Hmm.
<gary_poster> lemme look at the code I'm trying to get reviewed...
<gmb> ok
<gary_poster> ok, so here's the good news...
<gary_poster> we already have code that gets the pertinent filters for each person
<gary_poster> and hopefully it is fairly efficient
<gary_poster> with my branch that is to be reviewed
<gmb> Ah, cool.
<gary_poster> it will need slight tweaks but no big deal
<gmb> So we could adapt that code so that "pertinent" doesn't include "muted"?
<bac> hi gary_poster, my branch didn't get reviewed.  do you want to do it or shall i hit up gavin who is OCR?
<gary_poster> well, sort of, yes.  It would always start out by giving all of the filters per person; then we would need to look for any mutes
<gary_poster> bac, try gavin first; if he has a backlog, I can get to it within an hour I'd guess
<bac> will do
<gary_poster> thanks
<gmb> Okay, cool.
<gary_poster> so gmb, I *think* that we will be adding a single query per person
<gmb> gary_poster: Right, okay. First things first, I'll update my DB patch, then I can come back to the code surrounding it. I think that updating your code will come late on in the process, so we've time to thrash out a solution to any performance issues.
<gary_poster> something like "given this person and all of the possible filters that might be involved, [give me the ones that are muted and I'll subtract them and if they are all muted then nevermind OR give me the ones that are not muted]
<gary_poster> "
<gary_poster> cool
<gmb> Right. That makes sense.
<gary_poster> bac benji danilos gmb, mumble/kanban in 2
<bac> yep
<gmb> ack
<bac> this https://wiki.canonical.com/2011Calendar shows week of june 27
<gary_poster> Question for the Committee:
<bac> based on danilos' problem with the renaming of the feature flag i think we should move to defining a symbol and never use the actual string in code
<gary_poster> I have a test failing thusly:
<gary_poster>     + ERROR   Unhandled exception
<gary_poster>     +  -> http://localhost:56152/96/oG1i6vRy0DfzXWgDOpRsv7iAq4e.txt (permission denied for relation account
<gary_poster>     + )
<gary_poster> bac, good idea, +1
<bac> hmm, that might be hard in the template...
<gary_poster> could be request/feature_flag_names/THE_NAME maybe
<gary_poster> but that would take a bit of doing
<gary_poster> not much
<gary_poster> but some
<gary_poster> alternatively we could say that views should expose the constant
<gary_poster> so it could be view/THE_NAME
<gary_poster> that would be a bit lighter weight but also require a bit more coding for every template
<gary_poster> so anyway, about my failing test...
<gary_poster> I've looked for the file that is mentioned
<gary_poster> in . and in tmp
<gary_poster> not there
<gary_poster> I assume that it is about SQL security
<gary_poster> but it would be nice to actually see the traceback
<bac> gary_poster: what is the failing test?
<gary_poster> lp/registry/doc/distribution-mirror.txt line 650
<bac> gary_poster: we won't be breaking the assurances you made to wgrant about xss if we turn on the feature flag on qastaging, will we?
<gary_poster> bac, I thought about it and I don't see how.  qastaging does not use the prod db.  Please share your concerns!  Thinking about it some more...
<gary_poster> turning on the feature flag for ourselves (~yellow, say) means that we might be able to be evil and hack data from the db
<gary_poster> but there would presumable be much easier ways for us to di that than this XSS thing
<bac> gary_poster: my concerns are ill-formed and i need to re-read the thread.  i just recall part of your argument for leaving the code in was that it wasn't turned on
<gary_poster> true.  In this context, I would say this:
<bac> gary_poster: well, i had intended to do malone-alpha
<gary_poster> 1) It is not turned on in prod
<bac> but i can request ~yellow instead -- a much better lpan
<bac> plan
<gary_poster> 2) qastaging for ~yellow sounds ok
<gary_poster> ok cool bac
<bac> gary_poster: while i wait on my review to be done i'm going to work on peer reviews.  i've got a bunch.
<gary_poster> cool bac
<gmb> Hah, Marianna has just emailed the list about Dublin. So now we know.
<danilos> gmb, she seems to have forgotten to mention the month :)
<gmb> danilos: It's in the subject.
<gmb> 27th June.
<gmb> (Week beginning)
<danilos> gmb, ah, true :)
<gmb> But yeah, that threw me for a moment :)
<gary_poster> danilos or someone else, if I change security.cfg that means I have to land on db-devel (not good for this branch) right?
<danilos> gary_poster, I don't think you do, but I might be wrong; maybe LOSAs know if security.py is run on "stable" rollouts if stub is not around
<gary_poster> ack danilos, I'll check, thanks
<danilos> gary_poster, (also, there's the pqm check which stops landing certain changes on devel, not sure if that includes security.cfg changes)
<gary_poster> ack danilos.  I thought that code was actually in the tree somewhere but can't seem to find it
<gary_poster> gmb, mumble?  now, or in a few?
<gary_poster> danilos, security.py is in fact run for no-downtime deploys, so good.  If I want to just run the security changes such that tests will see them, will running "./database/schema/security.py" do the trick?
<danilos> gary_poster, you'll have to do it for all the appropriate databases (i.e. launchpad_ftest_template I think), check "--help" :)
<gary_poster> danilos, ack, I just did it "./database/schema/security.py -d  launchpad_ftest_template" and "./database/schema/security.py -d  launchpad_ftest_playground" ....we'll see
<danilos> gary_poster, good luck :)
<gary_poster> thanks :-)
<gary_poster> worked, yay (both the security.py call, and the fix for at least one of the two failures)
<gary_poster> boo, not the other one, but should be same idea...
<gmb> gary_poster: Sorry, dropped offline for a bit... you were talking to my proxy.
<gmb> I'm free now if you are.
<gary_poster> :-) ok, 1 min the I'll be ready gmb.  thanks
<danilos> crap, I'll need Irish visa (or, alternatively, I can land in Belfast and then travel to Dublin by bus/train :)
<benji> gary_poster: no need for me to email about Windmill tests; Ian has a branch to fix them (although I do worry a little about our process: why didn't I know they were broken and how could I have found out (if I'd thought to go looking))
<danilos> gary_poster, I've noticed that in JS setup_bug_subscriptions() wraps everything inside Y.on('domready') and it's further wrapped in Y.on('domready') in all callsites in templates; if I am to remove one, which one would you prefer? :)
<gary_poster> benji: good point and not the first time. :-/
<gary_poster> benji, I guess I'll bring it up to flacoste unless you want to take the initiative?  I think it bears raising
<benji> have at it
<gary_poster> k
<gary_poster> danilos, I thought I vaguely remebered something like that.  We can talk about it on call :-)
<gary_poster> (which I'm ready for anytime)
<danilos> gary_poster, not sure what's wrong, give me a minute
<danilos> I can
<danilos> gary_poster, I don't get to see any input from my microphone
<gary_poster> danilos, hm :-(
<gary_poster> so Skype would not work either, I assume
<danilos> gary_poster, let me try the test call
<gary_poster> k
<danilos> I hope my headset didn't die in the middle of the day
<gary_poster> or just try me, whatever is convenient, danilos
<gary_poster> I just logged on
<danilos> gary_poster, nothing in the test call :(
<gary_poster> :-(
<gary_poster> ok...
<gary_poster> maybe the computer mic?
<danilos> gary_poster, I am looking if anyone of my friends have it here
<gary_poster> sometimes headset output plus computer mic input is OK
<gary_poster> ok cool
<danilos> a desktop here, no mic on it :(
<danilos> I'll try a windows technique now, rebooting
<gary_poster> heh
<danilos> gary_poster, didn't seem to have helped, I guess I am microphoneless right now :(
<gary_poster> danilos, :-(
<gary_poster> ok
<danilos> gary_poster, just tried the headset on my friends computer, microphone is apparently dead
<gary_poster> danilos, as to your question above, I'd prefer we do things similarly, and the .setup function uses domready on the template.  I don't really have a preference as to which approach we use
<gary_poster> it would be easier to just use the one on the template
<danilos> gary_poster, right, I'll make sure it's consistent across setup/setup_bug_subscriptions
<gary_poster> because then you only change one thing
<gary_poster> but do whichever you want
<danilos> gary_poster, ack, was just wondering if you have any preferences
<gary_poster> danilos, I'll make a card for us to have a replacement call tomorrow, assuming you have the mic sorted out by then
<danilos> gary_poster, yeah, I'll make sure I do
<danilos> gary_poster, sorry about this (I hope the fact that I muted on the headset and never silenced or muted mumble itself didn't kill it, because that would be very weird)
<gary_poster> danilos, preference: naah, make a choice and I'll be happy with it.  I have reasons to prefer both approaches.
<danilos> gary_poster, heh, ok, thanks for the input
<gary_poster> danilos, np.  comuters suck ;-)
<danilos> :)
<gary_poster> ok gmb, I actually can start work on the mute thing now.  So, let's see: we need code that handles the muting, and we need to expose the table in the webservice, and we need JS changes.  I'm probably being crazy, but I think we can get this done pretty quickly.
<gary_poster> The webservice part is the only thing I'm not sure how to do, amusingly enough given my Foundations background.
<gary_poster> So...what should I do?  I think one of us should work on the webservice exposure, and one of us should work on the script.  I'm interested in the webservice change, but I also have a fair amount of knowledge of the email-sending script, so either would work for me.
<gary_poster> I'd say my default choice would be the email, because I think I know exactly where the bodies are buried for that one.  What do you think?
<gmb> gary_poster: I'm happy to work on the webservice side of things since it's close to the front of my brain right now.
<gary_poster> ok cool
<gmb> I'm just making final tweaks to my DB patch (so that it, yanno, works)
<gary_poster> what's your branch, gmb?
<gary_poster> oh ok
<gary_poster> ping me when it's ready for me to run with it
<gmb> SQL doesn't take kindly to missing keywords.
<gary_poster> :-)
<gmb> gary_poster: Sure. Should be ready in < 5 mins.
<gary_poster> awesome
<danilos> bac, are you able to QA any stuff on qastaging? (I can see the flag should be on for malone-alpha but the links don't turn green)
<bac> danilos: you see a similar but different feature flag.  ours is not yet turned on.
<bac> tom said he'd do it but was very busy ATM
<bac> apparently some ISD issues are on fire
<danilos> bac, ah, ok
<gmb> ZCML, I hate you.
<gmb> gary_poster: Branch is up here: lp:~gmb/launchpad/team-subscription-opt-out. It contains the DB patch and model / interface definitions.
<gary_poster> awesome gmb, thanks.  I'll merge it with my optimization branches under review and work from there for the script.
<gmb> Cool.
<gmb> I'll ping you as I update things that might have an impact on what you're doing.
<gary_poster> cool
<bac> danilos: here is the FF request i made: http://paste.ubuntu.com/587806/
<danilos> bac, looks good, shall we try with other LOSAs or are they all busy with the same emergency?
<gary_poster> Weird.  Getting Graham's branch is taking the most work of any LP branch I've had in a long time
<gary_poster> Fetching revisions:Inserting stream:repacking chk:chk node 422334/559643
<gary_poster> most work in bzr I should say
<gary_poster> bizarre
<gary_poster> heh.  heh.
<danilos> bac, btw, what does 16 indicate here? (I know I have 10 in my local set-up)
<bac> it is the priority.  TBH i just stole the line from the other related FF.  it only comes into play if there are other flags with the same name in other scopes...maybe?
<danilos> bac, ah, ok, thanks for the clarification, I was just wondering what it was supposed to be in the first place
<gary_poster> wow... it is *still* going...
<gmb> gary_poster: Might be something to do with it being a db-devel branch
<gmb> I noticed the same thing when I pushed.
<gary_poster> huh
<bac> danilos: as to the LOSAs, i peeked into lp-ops a bit ago and they still seemed quite busy.  ping them later if you want.
<gary_poster> well, I got it now
<danilos> bac, yeah, I will thanks
<gary_poster> biab
<gmb> gary_poster: I'm about to EoD. I haven't added anything of note to my branch. If you need to add any APIs or what have you to IBugSubscriptionFilter or *Mute just add them and send me an email so I know to merge the changes.
<gary_poster> gmb, sweet.
<gary_poster> danilo, you around?  I have database things to ask you, if you are :-0
<gary_poster> :-)
<gary_poster> Storm, to be precise
<danilos> gary_poster, I am
<gary_poster> cool
<gary_poster> so, if I want to get only fields as results from storm
<danilos> gary_poster, you get tuples of actual values :)
<danilos> gary_poster, but I suppose that's not the question
<gary_poster>  :-) yeah sorry someone came to door
<gary_poster> so yesterday I had a bit of annoyance
<gary_poster> Storm was trying to cast values
<gary_poster> and the values were sometimes None
<gary_poster> which the casting didn't like so much
<gary_poster> They were None for expected reasons
<gary_poster> but the fields couldn't handle it
<danilos> gary_poster, ah, interesting, did it happen with foreign references?
<gary_poster> yeah
<gary_poster> maybe
<gary_poster> :-)
<danilos> gary_poster, you should probably use "columnID" then
<danilos> gary_poster, and probably file a bug against storm if there isn't one already
<gary_poster> That worked well, actually, but...oh, here's my concrete example...
<danilos> gary_poster, I am guessing it's a left join then :)
<gary_poster> right
<gary_poster> I had a left join
<gary_poster> and I wanted to get a status
<gary_poster> EmailAddress.status to be precise
<gary_poster> and sometimes it would be None
<gary_poster> because of left join
<gary_poster> and things would fall over
<gary_poster> and I wondered if there were a way to get the value without processing
<gary_poster> like you can do columnID
<gary_poster> Is there a trick like that?
<danilos> gary_poster, how about coalesce?
<gary_poster> ooh, sounds magic :-)
<danilos> gary_poster, basically Coalesce(Something, -1) will return -1 if Something is NULL
<gary_poster> I'll try googling storm coalesce
<danilos> gary_poster, it's regular SQL COALESCE, just wrapped in Storm as Coalesce I believe
<gary_poster> I'll play with it.  Thanks danilos!
<danilos> gary_poster, it's probably no surprise that most of the occurrences are in lp/translations :)
<gary_poster> :-)
<gary_poster> danilos, btw, I had another idea on how to reduce SQL in sending email.  I think it might be important, since we are going to be adding yet more for the team subscription mute
<danilos> gary_poster, ah, sounds nice :) what is it?
<gary_poster> I'm trying to get all of the data for each notification batch at once (roughly), only retrieving the columns I want, and then divide things up in Python.  I'm not sure if its a win in the big picture yet, but it should certainly reduce our SQL.
<gary_poster> I keep thinking I should make a harness to produce something like what we have in production...I'm not even entirely sure what that would look like.
<gary_poster> Anyway, I'm experimenting.  I'll show you if I think it looks OK to see if you have any thoughts
<danilos> gary_poster, yeah, probably having a script which creates a number of targets with a bunch of bugs, adds a few structural subscriptions and then does a few changes on existing bugs and files new ones would be nice for testing all this
<gary_poster> The test factory seems like the easiest way to do that
<danilos> gary_poster, yeah, definitely
<gary_poster> I did a little bit of that for my last branch.  Maybe I'll do some more this time around
<danilos> gary_poster, and, on the topic of getting everything once, what do you mean with "notification batch"? for a single bug notification?
<gary_poster> the notification batch that construct_email_notifications gets
<danilos> gary_poster, fwiw, that's also why we have split-up sample data between test and playground, you can probably commit some of it if you use nice product names and such :)
<gary_poster> danilos, I was just going to write a "test" and use that, rather than anything permanent.  that way I can change things more easilt
<gary_poster> y
<gary_poster> do you suggest something diff?
<danilos> gary_poster, I like the idea behind notification batches with a small finite number of queries, so big +++1 on that
<gary_poster> cool
<danilos> (that was stupid, +1000 is more like it :)
<gary_poster> :-)
<gary_poster> only stupid to a mathematician like you :-)
<gary_poster> it won't be finite everywhere, but this last main loop can be finite, yeah
<danilos> heh, yeah, to a developer like me, it evaluates to +(++1)==+2 :)
<gary_poster> :-)
<danilos> anyway, regarding testing, a test is good, but I always miss the actual data to easily test stuff, though it's probably better to have scripts that produce the data at will instead of including it in sample data
<gary_poster> ok cool
<danilos> gary_poster, the biggest win, though, will be from getting stuff for multiple persons at the same time, but as we all know, that's a "bit" more work
<gary_poster> :-) well, that's what I'm trying to do.  Like I said, I'll ping you for your thoughts later.
<danilos> gary_poster, but isn't a batch construct_email_notifications gets restricted to a single person?
<danilos> gary_poster, or are you changing that to take batches with different recipients as well?
<gary_poster> danilos, it's restricted to a single "owner" or "actor".  There are many recipients
<danilos> gary_poster, aaaahhhh
<danilos> gary_poster, sorry then, yeah, that'd be very good then :)
<gary_poster> cool :-)
<gary_poster> bac, no rush, but ready for call when you are
<gary_poster> bac, Skype test call did not have static when I called them. :-/
<gary_poster> just now I mean
<bac> i'm all for using skype again
<gary_poster> Yeah ok
<gary_poster> benji, can you give me 10?
<benji> sure
<gary_poster> thx
<benji> if anyone needs a task I have some html generation refactoring I can farm out
<gary_poster> benji, sorry, took longer than expected but ready now.
<bac> benji: i'm up for share cropping
<benji> bac: can you take on setup_overlay
<bac> sure.  branch?
<benji> bac: lp:~benji/launchpad/better-HTML-generation (pushing now)
<bac> benji: ok.  i'm in the middle of something ATM but can look soon
<bac> gary_poster: doesn't this seem like an easier way to go that should be more efficient? http://pastebin.ubuntu.com/587978/
<gary_poster> bac, if that is transitive, then yes, looks great, thank you
<gary_poster> bac, please don't forget to claim "potential performance" card and move it into "Coding"
<bac> gary_poster: ok
<gary_poster> thanks
<bac> done
#launchpad-yellow 2011-04-01
<gmb> Oh, bugger. Better grab some food.
 * gmb -> lunch
<gary_poster> gmb, changes look good, thank you
<gary_poster> and incidentally, bzr diff -r5 has a significantly different output than bzr diff -r-5
<gmb> Heh
 * bac relieved. the first two times i tried doing QA with our overlay, qastaging died.  i was beginning to wonder if it was causal.
<gary_poster> weird anyway, though :-/
<gary_poster> danilos, your mic working today?
<danilos> gary_poster, surprisingly, yes (and I first got a cheap headset for 6 euros, spent 20 minutes getting that one to partially work, and then just tried my regulard logitech USB headset and the mic worked); so, now I've got an extra headset just-in-case
<gary_poster> heh
<gary_poster> ok
<gary_poster> and also weird :-)
<gary_poster> bac benji danilos gmb call in 2
<gmb> k
<gary_poster> danilos pyoo hoo
<gary_poster> heh
<gary_poster> thant's a combination of ping and yoohoo
<danilos> mumble won't take my "unmute" clicks
<gary_poster> bah
<gary_poster> bah
<gary_poster> I can hear you
<gary_poster> 1 sec
<danilos> :((( it's up at 100% cpu
<gary_poster> danilos: how goes the "revert lousy xss fix"?
<danilos> gary_poster, it's landing, not sure why it didn't land yesterday
<gary_poster> ok
<gary_poster> and how about add button on structural subscriptrion page
<danilos> gary_poster, didn't get any emails from ec2 or pqm, so I resubmitted
<danilos> gary_poster, should be up for review in an hour or two
<danilos> gary_poster, however, it seems mumble is the cause of all my sound troubles, because I tested with skype earlier today and it all worked fine
<gary_poster> danilos can you get on Skype then?
<danilos> gary_poster, well, not with my regular USB headset, but yes with the new one
<gary_poster> danilos please do it then :-)
<danilos> or well, a combination
<benji> grr, that's a stupid place to put that button
<gmb> danilos: Are you sat inside a washing machine?
<bac> gmb: :)
<danilos> gmb, hahaha, something like that
<danilos> gmb, my setup is a bit weird atm, I am using one headset to listen in, and another for the microphone
<gmb> Heh, lovely.
<benji> https://wiki.canonical.com/StayingInTouch/Video
<danilos> gary_poster, when do we have our call? I'd like to get some food and get my old headset working
<bac> fwiw, i'm +1 on using skype as it frees me from being tethered to my laptop.  (i always get the urge for tea when these calls start.)
<gary_poster> danilos, propose a time :-)
<danilos> gary_poster, 1h50mins?
<gary_poster> wfm danilos
<danilos> *in*
<danilos> gary_poster, excellent, then it's a deal :)
<gary_poster> :-) cool
<bac> hi benji, could you have a look at https://code.launchpad.net/~bac/launchpad/person-in-team/+merge/55928
<bac> it's quite short
<benji> sure
<benji> bac: approved
<bac> benji: thanks
<bac> gary_poster: i have the outstanding task of blogging about bug 164196 -- any reason not to do that now?
<_mup_> Bug #164196: Quickly-undone actions shouldn't send mail notifications <email> <lp-bugs> <qa-ok> <story-better-bug-notification> <Launchpad itself:Fix Released by yellow> < https://launchpad.net/bugs/164196 >
<gary_poster> bac, sure.
<bac> any subtleties to the way it works?
<bac> gary_poster: btw, i never heard back from sarah.  perhaps you should ping her today.
<gary_poster> bac, subtleties: ...thinking.  to start with the obvious: if there's a non-undone action, all bets are off.  In particular,
<gary_poster> If I do something
<gary_poster> make a comment
<gary_poster> and then undo it
<gary_poster> then you'll get it all
<gary_poster> also
<gary_poster> it is within our collection window for events
<gary_poster> I'm not sure if that is one minute or five
<gary_poster> in the above example "make a comment" could be replaced with "do anything that is not itself undone"
<gary_poster> (since you can't undo making a comment that always fits)
<gary_poster> (and because comments define our batches to some degree)
<bac> so 'assign to alice; make comment; assign to bob' results in alice and bob bothing getting notified about three events?
<gary_poster> correct
<bac> but assign alice; reassign to bob only results in bob getting notified?
<gary_poster> correct
<gary_poster> it works for a whole bunch of different kinds of changes
<bac> i think that deserves to be explained!
<gary_poster> it's possible we missed some reasonable ones
<gary_poster> but I don't know of any
<gary_poster> bac, actually
<gary_poster> "but assign alice; reassign to bob only results in bob getting notified" : no, no one gets notified
 * danilos reboots
<gary_poster> bac, re sarah: ack. I have an email started to her and Francis to send out my text review, which will be a practical ping on the subject, I think.
<gary_poster> back to alice and bob: if something is undone, and nothing hiccups the evaluation, no-one is notified, whatever the change.
<gary_poster> here's another example
<gary_poster> assign alice; change the status; reassign bob.
<gary_poster> people will get notifications, but only of the status change
<gary_poster> (assuming this all happens within the collected time frame)
<bac> "but assign alice; reassign to bob only results in bob getting notified" -- why would bob not get notified?  assuming he wasn't the original assignee.
<gary_poster> oh
<bac> nobody-alice-bob is what i meant
<bac> perhaps you were referring to bob-alice-bob
<gary_poster> I interpreted "reassign to bob" as bob was initially assigned.
<bac> gotcha
<gary_poster> what you describe is not regareded as "undone" in the current code
<gary_poster> regarded
<gary_poster> nobody -> Alice -> Bob are "real" changes according to the code
<gary_poster> nobody -> Alice -> nobody is a mistake and not reported, according to the code
<bac> ok, even thought the temporary assignment to alice was a "mistake" it didn't return to the initial state
<gary_poster> (as is Bob -> Alice -> Bob)
<gary_poster> right
<gary_poster> so we don't get rid of intermediate states; we get rid of undone states
<gary_poster> here's yet another example
<gary_poster> nobody -> Alice -> Bob -> nobody would also squelch the notifications
<gary_poster> (or should)
<gary_poster> because the changes were undone
<gary_poster> this is also true of status, importance, description, and so on
<gary_poster> bac, review when you have a moment: https://code.launchpad.net/~gary/launchpad/bug741684-3/+merge/55935 .  danilos, this is the optimization I mentioned to you yesterday, fwiw.
<benji> Now I know what I should get Gary Jr. http://www.thinkgeek.com/interests/looflirpa/e8bb/
<gary_poster> lol
<gary_poster> that's awesome
<gary_poster> I guess it makes sense that think geek would go all out for April 1, but that's still pretty imporessive
<gary_poster> the video is great
<gary_poster> the connection between devel and db-deve appears to be becoming very tenuous
<gary_poster> by which I mean merges and such take a long time
<benji> yeah, the video is a very nice parody
<gary_poster> gmb, for my tests I think I'm just going to instantiate BugSubscriptionFilterMutes directly.  You probably are adding an API to do that, but that doesn't exist in the db branch, right?
<gmb> gary_poster: Right; I'm doing it in a separate branch so that the DB patch can land.
<gmb> But instantiating directly shouldn't cause problems.
<gary_poster> great, thanks
<gary_poster> gmb, I have a call with danilos in 12 min, then I'll ping you for discussion on UI. I'm hoping you have good ideas on what to call this thing. :-)
<gmb> gary_poster: Far be it from me to want to shatter your hopes.
<gary_poster> lol
<bac> hey is that jelmer in the apple video?
<gary_poster> heh, the first playmobil guy after the apple people?  good call
<gary_poster> danilos, you ready?
<danilos> gary_poster, yeah, skype-ready
<bac> gary_poster: your branch looks good.  very dense but i don't see anything glaringly wrong.
<bac> i am curious why you have a bare assert in your test:  assert(len(sources)==2)
<bac> instead of using assertEqual?
<gary_poster> bac, yeah.  I did that because it was sort of an internal test sanity thing, rather than a test.  Happy to change.
<bac> gary_poster: i'd say comment or change since it does stand out.
<gary_poster> ack will do thanks
<gmb> I should get a "lazr.restful Wrangler" branch.
<gmb> *sigh*
<gmb> Badge.
<gmb> And a brain.
<gary_poster> gmb, call?
<gmb> gary_poster: Sure. Skype or Mumble?
<gary_poster> Skype alright?
<gmb> Yep
 * gary_poster lunching, back soon
<benji> what happened to the review lanes; it's like they're zero-width
<gary_poster> that's exciting
<gary_poster> i suspect leankitkanban is having some sort of problem
<gary_poster> ...which affects evert browser I have, fwiw
<gary_poster> well...I made it mildly better
<gary_poster> still broken
<gary_poster> and quick jobs is unusable
<gmb> Syntax schmyntax. Damn you, Python
<gary_poster> benji, leankitkanban fixed it.
<benji> yep, I just saw that; I like the resulting ginormus review lanes
<gmb> gary_poster: In the spirit of idempotence should BugSubscriptionFilter.mute() raise an error if called on a non-team subscription (or by someone who's not a member of the team that owns a team subscription) or should it just fail quietly?
<gary_poster> :-) I fixed them too
<gmb> I'm leaning towards raising an error, because otherwise people calling the API might find themselves wondering what's going wrong.
<gary_poster> gmb, I think that's not so much idempotence as value error.  I say, make it puke at us all.
<gmb> Righto
<gmb> gary_poster: So, I'm going to EoW shortly. Here's my more-or-less-complete-but-not-reviewed API branch: lp:~gmb/launchpad/team-subscription-opt-out-apis
<gmb> gary_poster: The methods you're interested in are:
<gmb> BugSubscriptionFilter.isMuteAllowed() ; .mute() and .unmute()
 * gary_poster listens
<gary_poster> got it
<gary_poster> easy enough
<gmb> All of them take a person parameter, but that's all handled by call_with(), so you should just be able to call them directly as named_posts.
<gary_poster> gmb, should I review, too?
<gmb> gary_poster: Urm... Actually, if you just give me ten minutes to do a quick refactor, yes, that would be cool.
<gary_poster> ok, cool gmb, no rush here, still writing tests for my script changes
<gmb> gary_poster: https://code.launchpad.net/~gmb/launchpad/team-subscription-opt-out-apis/+merge/55982 when you've got a moment.
<gmb> I'm going AFK now but will check back later and set EC2 going if it's good to land.
<gary_poster> awesome gmb!  I'll do it this afternoon.  Have a great weekend!
<gmb> Thanks, you too.
<benji> gary_poster: I'm trying to figure out what I need ot do for 740640; do I need to merge Danilo's branch into mine before landing?
<gary_poster> no benji, they can be separate
<gary_poster> IMO
<benji> well, I already merged part of it to help avoid conflicts
<gary_poster> should be alright then
<gary_poster> he's already trying to land it
<benji> oh, so I don't need to do anything?
<gary_poster> benji, by "Danilo's branch" which one do you mean?
<danilos> gary_poster, I was going to ask you the same :)
<gary_poster> I thought you meant "revert lousy xss fix"
<gary_poster> :-)
<benji> I don't know.  He pointed me at a patch and I applied part of it.
<gary_poster> heh
<danilos> that one is already landed, but benji is probably inquiring about the other one I have in progress
<danilos> benji, so, don't worry about that one, I'll merge with your changes once your branch lands
<gary_poster> that makes sense to me.  thanks danilos
<benji> danilos: ok, I'll assign you the "xss vulnerability in new bug subscription overlay" card
<gary_poster> uh
<gary_poster> why?
<gary_poster> I think there's some branch confusion going on
<benji> because that's the one about bug 740640
<gary_poster> right...
<gary_poster> but what Danilo is working on now does not affect that
<gary_poster> it only touches the same part of code
<gary_poster> So, Danilo had two branches
<gary_poster> one was "Revert lousy xss fix"
<gary_poster> that has landed already
<gary_poster> that's kinda sorta related to 740640
<danilos> benji, right, the part that you "patched" was minor refactoring that I needed in the heavy-on-manual-node-construction code
<gary_poster> but really only as a clean up
<danilos> benji, just to reduce the chances of conflicts in there, at least that was my impression of what gary wanted :)
<gary_poster> now he is working on "Structural subscription edit/delete page should also allow..."
<danilos> (I am not sure I am helping :))
<gary_poster> :-)
<gary_poster> which happens to touch on the same part of the code that you were touching on your xss branch, benji
<benji> ok, reboot:  I need to work on the "xss vulnerability in new bug subscription overlay" card, which is in "Landing"; what do I need to do?
<gary_poster> :-)
<gary_poster> AFAIK, land your branch
<gary_poster> then that card is done
<gary_poster> do you have reason to believe otherwise
<gary_poster> ?
<benji> well, I don't have any idea what's going on, but that's not neccesarily evidence to the contrary
<gary_poster> :-)
<gary_poster> ok, let's have a quick call
<benji> I don't /have/ to understand :)
<gary_poster> since you are doing the work I think that would be comforting :-)
<benji> ok; mumble or skype?
<gary_poster> skype please
<benji> <skype sad noise>
<gary_poster> :-) 1 sec
<benji> I can here you.
<benji> /s/re/ar/
<benji> try unplugging your headset
<benji> gary_poster: *poof!* I appear over here.
<gary_poster> benji hi :-)
<benji> yep, that's it; I kept thinking that one had the downward-blue-triangle-of-lowness on it so didn't read it
<gary_poster> yeah, the overlapping is a bit hard to read at times
<benji> did you want to do a pre-imp call on that?
<gary_poster> So, I suspect you will want to clarify what the card means first, if you are not already sure...yeah.  We'll have a quick one, and then I suspect you'll want one with Brad
<benji> I like happening upon the ever-changing ~yellow logos.
<benji> bac: I'm having trouble finding the branch that has your additions of the edit links to all the bug targets (I'm going to use it as a guide to adding "My Subscriptions" links)
<benji> gary_poster: you'll like this; I don't even think it's an April fool's joke: http://zodb.ws/
<bac> benji: https://code.launchpad.net/~bac/launchpad/accordion-client-2/+merge/55361
<benji> bac: thanks
<gary_poster> heh, I had not seen the yellow submarine.  I suspect danilos :-)
<gary_poster> benji, that's insane. :-)
<benji> insane and awesome
<gary_poster> yes that too
<bac> did y'all see web2pyramid?
<gary_poster> no
<bac> http://web2pyramid.pylonsproject.org/
<gary_poster> :-)
<benji> I can't tell if that's an April Fools joke or not.
<gary_poster> :-P I'm saying yes
<bac> "Blaze LaFlame"
<bac> gary_poster: so for "quickly" undone actions, does "quickly" mean "do it before the next run of the cronjob"?
<gary_poster> bac, no, there's a configured amount of time to wait, so it is at least as long as that amount of time, rounded up to the next cronjob
<bac> do you know that number?
<gary_poster> I'm guessing you should probably know what that amount of time is...trying to find out...
<gary_poster>         interval = timedelta(
<gary_poster>             minutes=int(config.malone.bugnotification_interval))
<gary_poster> ...
<gary_poster> lib/canonical/config/schema-lazr.conf:bugnotification_interval: 5
<gary_poster> ...
<bac> thanks, i was looking around in there but didn't see that part
<bac> so 5 minutes plus whenever the next cronjob runs
<gary_poster> bac, from the above, and the fact that that string is not redefined in lp-production-configd, I am pretty sure the answer is 5 min
<gary_poster> yeah
<bac> thanks
<gary_poster> np
<bac> gary_poster: this is not much but is something:  http://blog.launchpad.net/?p=2043&preview=true
<gary_poster> bac, looks good to me.  Thank you!
<bac> ok, if it is accurate i'll publish
<gary_poster> I believe it is accurate, bac.  Thanks.
<bac> done
 * bac is no longer haunted by that task
<gary_poster> great!
<gary_poster> :-)
#launchpad-yellow 2012-03-26
<bac> morning
<gmb> Morning bac.
<gmb> gary_poster, Am I right in thinking that today's meeting is going to be at 12:10 UTC? (i.e. just over an hour)
 * gmb assumes "yes", goes for lunch
<gary_poster> gmb, yes :-)
<gary_poster> benji, bac, call in 12 minutes, just to clarify because of the time zone changes lately
<gary_poster> 11 minutes :-P
<benji> yep, thanks for the hint
<gary_poster> cool welcome
<bac> ack
 * gary_poster sees if there is anything worth updating...
 * gary_poster wonders if printing works now...
<gary_poster> bac benji frankban gmb call in 2
<gmb> Waitimg for a useable browser
<gmb> gary_poster, Can you invite non-canonical me to the hangout?
<gmb> It seems something is preventing the Google Talk plugin from launching
<gmb> my phone might be a better bet.
<gary_poster> gmb, address completion no longer works for me :-/
<gary_poster> what's your non-canonical address?
<gmb> gary_poster, graham.binns@gmail.com
<gary_poster> gmb invited
<gmb> Right
<gmb> Out tomorrow, yes.
<gmb> Also out Wednesday morning for an eye exam (though hopefully I'll just get the yellow dye, not the pupil dilation stuff).
<gmb> frankban, I'll be happy to pair with you, but I need to reboot and possibly roll back the latest updates.
<frankban> gmb: np, ping me when you are ready
<gmb> Will do.
<gmb> Argh.
 * gmb -> rolling back to latest snapshot. BBIAB
<gmb> frankban, Okay, I'm ready to go. I'm broadcasting the terminal here: (export OTHER=graham REMOTE=chinstrap.canonical.com; trap reset 0 1 2 3 15; stty raw -echo isig && ssh chinstrap.canonical.com "cat /tmp/$OTHER-term")
<gmb> I'll start a hangout
<gmb> frankban, https://plus.google.com/hangouts/extras/canonical.com/mostly--zopeless#
<gary_poster> frankban, could you please verify that you now have the task to do your self evaluation on allhands?  If you don't I should ask dragnob about it
<frankban> gary_poster: I have that task
<gary_poster> thanks frankban
<bac> gah, the "next" button on the allhands form doesn't do a damned thing.  stuck.
<gmb> gary_poster, frankban and I have a working solution! (Because pair programming rocks!). Wanna see it?
<gary_poster> gmb, yeah! :-)
<gary_poster> yay frankban and gmb
<frankban> :-)
<gmb> gary_poster, http://pastebin.ubuntu.com/900548/
<gmb> Just noticed some extraneous doctest in there which can be removed.
<gmb> gary_poster, updated diff without all the cruft from earlier revisions: http://pastebin.ubuntu.com/900560/
<gary_poster> oh, duh, I was telling it to run the wrong test, eh? "-ssample3"
<gary_poster> gmb, frankban, looks nice and elegant.  I *think* we need brackets or something around the traceback though?
 * gary_poster goes to look at bug again
<gary_poster> bac, that usually means JS is giving you an error.  scroll up
<bac> gary_poster: yeah, it's neat how on error they color everything red making it harder to find what is bugging them
<gary_poster> lol, yes
<gary_poster> frankban, gmb, https://bugs.launchpad.net/launchpad/+bug/609986/comments/2
<_mup_> Bug #609986: layer setup failures don't output a failure message (they spew straight to console) <lp-foundations> <paralleltest> <Launchpad itself:Triaged> < https://launchpad.net/bugs/609986 >
<gary_poster> frankban, gmb, do you see what I mean? "[" and so on?
<gmb> gary_poster, looking...
<frankban> gary_poster: yes, and afaict we have those brackets
<gmb> Hmm.
<gmb> frankban, I don't think we do. We did, and then we cribbed from how setUp() failures are handled.
<gmb> Now we don't.
<gary_poster> right, I was looking at http://pastebin.ubuntu.com/900560/
<gary_poster> line 97
<gary_poster> and line 109
<frankban> gary_poster: hum...
<frankban> gmb: https://plus.google.com/hangouts/extras/canonical.com/mostly--zopeless
<gmb> Oh, this is encouraging...
<gmb>  798     def error(self, message):
<gmb>  799         """Report an error."""
<gmb>  800         # XXX: Mostly used for user errors, sometimes used for errors in the
<gmb>  801         # test framework, sometimes used to record layer setUp failure (!!!).
<gmb>  802         self._stream.write('%s\n' % (message,))
<gary_poster> heh
<gmb> The !!! is a particularly soothing touch.
<gary_poster> yeah
<gmb> Also "sometimes"
<gmb> Bodes well.
<gary_poster> :-)
<gary_poster> so, the good news is that your tear down is now handled as well as set up.  The bad news is that it turns out set up isn't quite right either, so it tuens out you have to fix it too.  Right?
<gmb> gary_poster, Looks that way.
<gmb> frankban, Okay, so I guess we need to get back to it; I'll restart the hangout in a minute; let me just grab a drink first.
<frankban> gmb: sure
<gary_poster> bah. :-) well, good progres nonetheless.  Go go pair programming!
<gary_poster> progess, even
<gary_poster> oh heck, never mind on the spelling :-P
<frankban> gary_poster: so maybe it's summer time fault if I've seen square brackets around...
<gary_poster> lol
<gary_poster> summer comes, you get all relaxed, you start seeing brackets everywhere... :-)
<frankban> lol
 * gary_poster tries again
<benji> frankban: I'm going to move your bug 963461 card to landing, since it has been reviewed
<_mup_> Bug #963461: lib/lp/services/webservice/stories/xx-hostedfile.txt fails intermittently in parallel tests <paralleltest> <Launchpad itself:In Progress by frankban> < https://launchpad.net/bugs/963461 >
<benji> (to free up space for another card)
<frankban> benji: ok thank you
<benji> parenthetically: it seems a little odd to have the review count connected to the coding count; I can understand the desire to keep the number in review down, but a seperate WIP limit for reviews would seem to accomplish that
<gmb> gary_poster, New version, now with subunit formatter magic! http://pastebin.ubuntu.com/900690/
<gary_poster> gmb, a thing of beauty.  benji, the reason they are connected is because someone who might start coding but is blocked by a review would then be encouraged to go and perform the review.  If the "review" has turned into post-review coding, then in fact it is still coding and the WIP is still apt.
<benji> gary_poster: yeah, I figured something like that.  I can't tell which is a better situation (connected or separate).
#launchpad-yellow 2012-03-27
<gary_poster> hey frankban.  I just approved your holiday before Easter plus Easter Monday.  Small request: when you put in a national holiday, please include the name of the holiday (Easter Monday for this one, for instance).
<frankban> thank you gary_poster, I will do that
<gary_poster> cool thanks
<gary_poster> bac benji frankban gmb call in 2, or when I finish rebooting
<gary_poster> bac ping
 * benji installs 430 updates and hopes for the best.
<gary_poster> frankban, I moved 609986 to "review".  When you make the LP branch that upgrades the zope.testing version, you can self review if you want, or ask me for a quick review
<frankban> gary_poster: ok
 * benji performs the ancient and unpredictable ritual of rebootus-post-upgradus.
<benji> gary_poster: oh, a small note from yesterday: bin/test --shuffle does indeed report the seed it uses, so adding that to setuplxc was straight-forward
<gary_poster> benji, great.  Sorry for not noting that card on the board review.  I saw lifeless' comments and I thought they were reasonable.  Did you verify that his two concerns were addressed?
<benji> gary_poster: ooh, I didn't see his comments, let me go look
<frankban> gary_poster: new diff with explosives: http://pastebin.ubuntu.com/902215/
<frankban> gary_poster: https://code.launchpad.net/~frankban/launchpad/bug-609986-add-zope.testing-3.9.4-p5/+merge/99536
<gary_poster> frankban, boom! :-) looking
<frankban> thanks
<gary_poster> frankban, approved, and diff looks good.
<gary_poster> (explosive I mean)
<frankban> thanks gary_poster, I am running tests now
<gary_poster> great
<frankban> wow, I am testing the tester fixed for parallel testing, that's a new meaning of the word "meta"
<gary_poster> lol
<benji> yay! unity crash (and subsequent forgetting of my keybindings)
<gary_poster> :-/
<benji> gary_poster: oh, the answer to Robert's shuffle questions are that it works correctly (shuffling happens and is done inside layers, not across them).  I'll reply to that effect.
<gary_poster> awesome benji, yay
<frankban> gary_poster: errors during the test run
<gary_poster> frankban, :-/ easy resolution?
<frankban> gary_poster: one problem is s/addSkip/addError in tear_down_not_supported: can you remember me why that's needed? Another one is a BAseLayer teardown error: http://pastebin.ubuntu.com/902490/
<frankban> I will start investigating tomorrow morning, I assume it's not possible that lp.testing.layers.BaseLayer is broken
<gary_poster> frankban, it is definitely possible that BaseLayer is broken.  s/addSkip/addError/ : that was one of those "we don't understand so let's hope gmb was right" things.  I dunno. :-/
<gary_poster> frankban, but I wouldn't count out "if cls.fixture is not None: cls.fixture.cleanUp()" yet
<benji> Why has Firefox suddenly decided that I use Brittish spelling?
#launchpad-yellow 2012-03-28
<gmb> A pox on double bookings.
<frankban> hi gmb
<gmb> Hi frankban
<frankban> gmb: can you remember me why you replaced addSkip with addError in zope.testing formatter.tear_down_not_supported?
<gmb> frankban, Because we thought it was The Right Thing. But it didn't actually make a difference in our branch, and I suspect it might break other tests, so perhaps it should be reverted.
<gmb> (At the time we made the change we thought it might make a difference. It didn't)
<frankban> gmb: ok, I reverted it because addError has a different signature: it wants an error, not a description as a string
<gmb> Right.
<bac> hi frankban, gmb
<gary_poster> meh
<gary_poster> bac benji frankban gmb call in 2
<gary_poster> frankban, ping
<gmb> Note for the record: I just pung Spamaps. Don't know if he'll reply before I have to go have my eyes poked at.
<gary_poster> ack
<gary_poster> bac, I'm ready to chat any time
<bac> gary_poster: ok, just a sec
<bac> gary_poster: joining hang0ut
<gary_poster> I'm in goldenhorde.  you going there or goldenhordeoneonone ?
<bac> gary_poster: i'm being forced to reinstall the plug-in.  don't know why.  will go to goldenhorde when i can
<gary_poster> k
 * gmb -> lunch + eye pokage
<gary_poster> bac, horrible connection :-/
<bac> gary_poster: that's ok.  i understand what needs to be done.
<gary_poster> bac, cool.  fwiw, example: http://pastebin.ubuntu.com/903889/
<gary_poster> that's from current production buildbot
<bac> gary_poster: cool, thanks.
<gary_poster> welcome
<bac> is that kill-test-pids no longer needed?  i can remove it from the tree.
<gary_poster> bac, it is not, thanks
<gary_poster> benji, re https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/959352 , the kernel team has asked for the output of apport-collect in the last comment.  I tried to do it for you but it complains that I'm not the one who filed the bug.  To proceed, you should have the newest updates (esp. the newest kernel) and then verify that you still have the problem (you do :-) but you can run "sudo lxc-start-ephemeral -o lpdev
<gary_poster>  -- cat /proc/self/maps" and look for "/rootfs/..." easily enough) and then run "apport-collect 959352" as requested.  Once you've done so, please ping me and I'll mention it to Serge.  I'll go ahead and ping him about the bug now.
<_mup_> Bug #959352: Ephemeral containers have "/rootfs" prefix in /proc/self/maps entries <linux (Ubuntu):Incomplete> <lxc (Ubuntu):Confirmed> < https://launchpad.net/bugs/959352 >
<gary_poster> please do that...soonish.  Today if possible, and earlier is better than later.
<benji> gary_poster: ok, doing it now
<gary_poster> thank you
<benji> why do the unity devs hate me?
<gary_poster> It's because you run on a Mac.  Wait, no...
<benji> heh
 * benji reboots.
<benji> gary_poster: done
<benji> arg!  I suspect my slave problems yesterday (well, the important ones at least) were already fixed and my branch was just out of date.
<gary_poster> benji :-/
<gary_poster> frankban, hey.  Small point, but I just converted all of your lpsetup cards from "Miscellaneous" to "Improvement".  As a rule, Miscellaneous cards should only go in the Miscellaneous lanes.  The only exception I'm OK with is when a slack time task does not result in any visible change, such as "study Go".  Most slack time jobs will be "Improvements" I suspect.  No big deal, but it helps analysis of the kanban boa
<gary_poster> rd.
<frankban> gary_poster: yes i've seen you updated the cards, thank you
<frankban> gary_poster: I am seeing other cls.fixture.cleanUp errors :-/
<gary_poster> frankban, :-/
<gary_poster> frankban, do you wanna confer again, or dig some more?
<frankban> gary_poster: I have an idea, and a question, so, if you have a minute...
<gary_poster> sure frankban .  going to goldenhorde
<gary_poster> http://bazaar.launchpad.net/~gary/zope.testing/3.9.4-p4/revision/7#src/zope/testing/testrunner/runner.py
<gmb> gary_poster: SpamapS: gmb: its been pre-empted by getting more urgent stuff into the distro (since we can ship charm-tools in the PPA) SpamapS: gmb: (re the python-shelltoolbox)
<gmb> gary_poster: Clint says he hopes
<gmb> to get it done soon.
<gary_poster> gmb, ack, thanks for heads up
<gary_poster> benji, you want any pairing, or are you good to go?  ON a related note, should I remove the "Slave charm is generating errors" card, or is that still your focus?
<benji> gary_poster: I don't think I'm in a particularly good pairing position right this moment.
<benji> the slave charm is still generating errors, just validated the --use-html fix (there were actually two places we needed it, one had it and one didn't)
<gary_poster> benji, cool.  odd that everything was working for me, but perhaps this bitrot somewhere.  bac, what about you?  I'm about to go play with Go 1 on slack time if noone needs me :-)
 * bac reads
<bac> gary_poster: nah, i don't think it would be useful atm
<bac> Go Go!
<gary_poster> bac, :-) cool
<benji> status: I'm trying to figure out why the ssh in the build step results in a "Permission denied, please try again" (http://ec2-23-20-227-121.compute-1.amazonaws.com:8010/builders/lucid_lp/builds/1/steps/shell_6/logs/stdio)
<bac> gary_poster: did you get my email a while back about switchpointideas.com?
<benji> gary_poster: any idea how the slave could get into the state where this happens? https://pastebin.canonical.com/63291/
<benji> (I can provide more detail if it would help.)
<benji> oh!  I have an idea...
<gary_poster> bac, benji, sorry, my notification story has reachd a new low
<benji> heh
<gary_poster> bac, no, I don't think so.  Just did a search
<gary_poster> yeah, did another search.  Please send again bac
<bac> gary_poster: ok
<bac> gary_poster: basically i was asking if you thought it was an appropriate use of a conference day
<gary_poster> benji, that *might* happen if the lptests container were created by the root user, with its home directory bound..
<gary_poster> as opposed to buildbot's
<benji> gary_poster: yeah, that's what I was thinking.  However I can't figure out how that would have happened.
<gary_poster> benji, I assume buildbot's dir is not bound?
<benji> gary_poster: what do you mean by "bound"?  mapped in the container?
<benji> if so, it is not (/var/lib/buildbot is empty)
<gary_poster> bac, "change levers" in first para. uh-oh ;-)  sounds really cool.  Ubuntu fits in with the idea, certainly...I'll run it past flacoste, but it has my +1
<gary_poster> benji, yes
<bac> gary_poster: cool.  wanna go?
<gary_poster> you can also see in fstab of container
<gary_poster> bac, does sound pretty cool :-)  yeah, that would be fun to go to.  Will check out schedule, but looks good so far
<bac> gary_poster: it may be a bit soft for a conference but something i'm personally interested in.  and the venue is *amazing*
<bac> so i'll probably go if flacoste blesses.  would be fun if you came along.
<gary_poster> just asked, we'll see
<gary_poster> benji, so pretty clearly that's the problem
<gary_poster> is this a fresh instance since you got the updated charms?
<gary_poster> I am tempted to try myself
<bac> gary_poster: i'm confused -- where does setuplxc.py live now?
<gary_poster> my ec2 bill is > $300 this month :-P
<gary_poster> bac, launchad tree, utilities dir
<bac> gary_poster: so it is.  i looked but didn't see it there
<benji> gary_poster: yow!
 * benji goes to check his.
<gary_poster> :-)
<gary_poster> I had three giganto instances running for a couple of days, running experiments, and I was also the one getting things working, so I'd expect mine to be higher than most other folks
<benji> mine is $139.61, more than it's been but not too bad
<gary_poster> bac, flacoste sez that if we make a pitch to him about what we expect out of the conference, he'll be cool with it.  I'll look into it later and maybe we can confer
<bac> great
<gary_poster> so benji, setuplxc is the issue, somewhere, not the charm.  If you still have the problem tomorrow, I will dupe and pair, 'cause I am pretty sure I have the most experience with seeing this thing actually work, at least lately
<gary_poster> benji, I'll also be curious to see what changes, if any, have gone into our charm and setuplxc since it worked for me.  I still have the version of the charm I used, AFAIK.  I think. :-P
<benji> gary_poster: wow, looks what I just read: http://www.opticality.com/blog/2012/03/28/starting-a-new-life-post-zope-corporation/
<gary_poster> wow benji
#launchpad-yellow 2012-03-29
<bac> good morning frankban
<frankban> morning bac
<gary_poster> not sure it is needed after that upgrade, but going to restart anyway...
<gary_poster> bac benji frankban call in 1 or 2 (gmb is sick)
 * bac hordeing
<gary_poster> For future reference for myself, in case I have to tell someone about this for help later...http://pastebin.ubuntu.com/905522/
<gary_poster> off to restart and choose the new kernel; wish me luck
<gary_poster> -1 point to gary for not following instructions properly; +0.5 for figuring it out before asking anyone about it.  Similar complaints for correct kernel as opposed to incorrect kernel http://pastebin.ubuntu.com/905554/
<gary_poster> ...and I need to restart again
<bac> hey gary you want to collaborate on an email to francis re: the switchpoint conference?
<gary_poster> bac, sure
<gary_poster> bac, I feel like I should stare at the website more
<bac> my points for wanting to go:  1) learn more about how open source is being using by NGOs, especially for health care in africa, 2) see how ubuntu is being used in that mix and look for opportunities for canonical, ubuntu, and ubuntu-ngo, 3) profit
<bac> it is worth noting the main sponsor (intrahealth) has been a long time user of ubuntu, bzr, and launchpad.  check out their suite of LP projects:  https://launchpad.net/ihris-suite
<gary_poster> bac, sounds like you should write the email, and I should affix my name to it ;-)
<bac> :)
<bac> i've been in touch with those folks before and even did an in-house training session for LP and bzr many moons ago
<gary_poster> bac, the only possible addition I had was whether anything technically interesting was going to be discussed.  I saw a lot of seemingly big titles from big named tech companies, but I was suspicious that the message was going to be more high-level than technical.  I'm pretty sure that's the case, despite the one seemingly technical talk title I saw of "Building for Scale".
<bac> gary_poster: i don't even see that session.  where did you find it?
<gary_poster> bac, seriously, if you are ok with it, are you ok with writing the message, then I'll read and discuss as appropriate, and then forward?  session: fifth down in afternoon segment at http://www.switchpointideas.com/schedule
<bac> gary_poster: i'll send you a draft
<gary_poster> cool bac, thanks
<bac> gary_poster: you did note it is kind of pricey?
<gary_poster> frankban, I'm in https://talkgadget.google.com/hangouts/extras/canonical.com/goldenhordeoneonone .  Head on over when ready; no rush
<gary_poster> heh. another title: "Hybrid Ideation"
<bac> i don't even know what that means
<gary_poster> me either
<bac> gary_poster: off topic, but are getting/got a new ipad?  you'd mentioned in the past you mentioned the screen resolution being a limiting factor for you.  i'm curious to see how much clearer the text is.
<gary_poster> benji, frankban saw your error on a non-parallel ec2 run.  That opens us up even better to a disabling story.  In fact, I might encourage frankban to disable, and then you can follow along and try to fix in a timebox.  http://pastebin.ubuntu.com/905569/
<benji> gary_poster: sounds good
<benji> frankban: I'm really confused about something in setuplxc, do you have a minute to help me?
<frankban> sure benji
<benji> frankban: heh, as such things happen, I believe I've figured out the answer just by formulating the question
<benji> frankban: thank you for all your help ;)
<bac> frankban: i'm having problems with setuplxc too.  i get this:
<bac> 'ubuntu' template installed
<bac> 'lptests' created
<bac> ssh: Could not resolve hostname lptests: Name or service not known
<bac> with the last message repeated lots
<frankban> bac: and then it exits?
<bac> frankban: no
<bac> frankban: it is stuck, emitting that message every so often.  about 20 now
<bac> if i kill it, do i have to start over?
<frankban> it should exit after 30 retries
<frankban> bac: no, 60
<bac> er, ok
<frankban> bac:  and you don't have to start over, but you are experiencing a known issue involving precise and dns resolution
<bac> ok
<frankban> bac: the script is not able to ssh inside the container
<bac> yeah, i figured as much.  but i don't know how much more work it needs to do
<frankban> bac, can I see the contents of your resolv.conf?
<bac> nameserver 10.0.3.1
<bac> # Generated by NetworkManager
<bac> domain spoetzl.net
<bac> search spoetzl.net
<bac> nameserver 127.0.0.1
<frankban> hm...
<frankban> actually you have the right nameserver, bac are you able to ssh lptests?
<bac> the localhost line is odd.  it should not be there.  it should be my local DNS at 192.168.x.x
<bac> no, manually ssh'ing shows the same name resolution problem
<frankban> bac, but the conteiner is running, right?
<bac> i assume so.  how would i tell?
<bac> since i cannot ssh to it
<frankban> sudo lxc-info -n lptests
<bac> no, it is stopped
<bac> hmm
<frankban> bac: what about the script
<frankban> still running?
<bac> yes
<frankban> bac: could you check the lxc starts correctly?
<frankban> sudo lxc-start -n lptests
<bac> the script just ended with
<bac> Error running command: ssh -t -t -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i /home/bac/.ssh/id_rsa bac@lptests -- true
<benji> has anyone seen this error from setuplxc? AppArmor parser error for /etc/apparmor.d/usr.bin.lxc-start in /etc/apparmor.d/usr.bin.lxc-start at line 5: syntax error, unexpected TOK_END_OF_RULE, expecting TOK_ID
<benji> bac: I'm working on that one as we speak
<bac> frankban:
<bac> lxc-start: failed to attach 'vethttuY7k' to the bridge 'lxcbr0' : No such device
<bac> lxc-start: failed to create netdev
<bac> lxc-start: failed to create the network
<bac> lxc-start: failed to spawn 'lptests'
<bac> lxc-start: No such file or directory - failed to remove cgroup '/sys/fs/cgroup/cpuset//lxc/lptests'
<frankban> bac: do you have the 'lxcbr0' device?
<frankban> benji: that's new, something has changed in apparmor?
<bac> frankban: no, no /dev/lxc*
<benji> frankban: I can only assume so.  I don't know if this is related to the log-in issue or not (that seems to have to do with the binding (-b) option to lxc-create)
<frankban> bac, what virtual device you have running ifconfig?
<benji> I think we should have been more strict with our checking of errors when running subprocesses, I don't know when that error started or if it was coincident with the ssh issue
<bac> frankban: i have virbr0
<frankban> yes benji, I agree, setuplxc reports errors and exits only during ssh operations. lpsetup is different
<frankban> bac: aha
<frankban> and I assume you have an upgraded precise host...
<bac> frankban: yes, i'm on the slashing edge
<frankban> bac: do you have dnsmasq installed and running in your host?
<frankban> bac: if so, maybe you are encountering this bug: https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/928524
<_mup_> Bug #928524: lxcbr0 fails to come up when dnsmasq is installed <dnsmasq (Ubuntu):Confirmed> <libvirt (Ubuntu):Confirmed> <lxc (Ubuntu):Confirmed> < https://launchpad.net/bugs/928524 >
<benji> it's wstarting to look like -b is broken
<bac> frankban: i do.  but a manually-installed lxc had been working for me for a very long time
<frankban> bac: and you were following those instructions? https://dev.launchpad.net/Running/LXC
<bac> frankban: yes
<gary_poster> benji, which -b?
<frankban> bac: ok, so you were using virbr0
<benji> gary_poster: lxc-create's
<gary_poster> benji, interesting.  If you want me to try and dupe, just ask.
<frankban> bac: you can try to use that now, change lxc.network.link in /var/lib/lxc/lptests/config and try to start the container again
<benji> gary_poster: since bac has the same problem with his lxc, I suspect it's endogenous
<bac> frankban: yes, it will now start, then goes to a login prompt but doesn't recognize ubuntu/ubuntu
<bac> ssh lptests does not work either as before
<gary_poster> I'm going to look, and ask serge if I see something similar
<bac> benji: you win vocabulary bingo today
<frankban> bac: to be able to use the lxc name you have to change the first line of resolv.conf to point to the ip address of virbr0
<bac> frankban: ah, ok
<benji> ha!
<benji> I've been listening to too many economist podcasts.
<bac> frankban: great, that worked
<bac> frankban: so, has my adventure exposed any real problems or just known issues with dnsmasq/virbr0, etc?
<bac> benji: which podcasts?
<bac> economic podcasts are the new ambien
<benji> heh
<benji> econtalk.org is very good
<frankban> bac: I didn't know that issue, so, if not fixed, it can be a problem when using lpsetup to set up a development environment. It should not be a problem for the testing environment
<frankban> gary_poster: https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/928524 : IMHO this means that we need to check the interface is up before doing anything in lpsetup, it should not be a problem for the testing environment.
<_mup_> Bug #928524: lxcbr0 fails to come up when dnsmasq is installed <dnsmasq (Ubuntu):Confirmed> <libvirt (Ubuntu):Confirmed> <lxc (Ubuntu):Confirmed> < https://launchpad.net/bugs/928524 >
<frankban> bac: I don't know if your lxc is in a consistent state now, but, if you want, you can try to resulm setuplxc using -a initialize_lxc
<frankban> s/resulm/resume
<bac> frankban: ok
<frankban> bac: you should add that option to the many you used before
<bac> frankban: it looks like -a must come last or it tries to interpret the directory as an action
<gary_poster> I thought benji meant indigenous and didn't look it up (until now) :-P
<benji> yes, I imagine bugs as tribesmen running around in the forest of code
<bac> gary_poster: me too,but i gave it the benefit of the doubt and learned something
<gary_poster> frankban, agreed that we should check.  We don't need it in setuplxc?  I thought we would
<frankban> gary_poster: can't we (in setuplxc, for testing purposes) assume that dnsmasq is not installed?
<gary_poster> frankban, if we already connect exclusively via IP.  I didn't think that was the case
<frankban> gary_poster: no, we connect using the name, but I thought only dnsmasq-base is required, e.g. in my host I have only that installed and I can see both interfaces (lxcbr0 and virbr0)
<frankban> gary_poster: but I will agree if you say: let's do the check to prevent future lxc/dnsmasq/whatever bugs
<frankban> gary_poster: we can check if lxcbr0 exists, then fallback to virbr0, and then, if none is found, exit. unfortunately we can do that only after the installation of lxc and libvirt-bin
<gary_poster> frankban, ok cool.  so, it would be nice to have but is not urgent, if I understand you correctly.  I'll make a low priority bug; maybe we'll be ready to use lpsetup first
 * bac -> long lunch/ride
<frankban> gary_poster: yes, and I will create a card for lpsetup
<gary_poster> cool frankban
<gary_poster> benji, the problem is that -b sets up an fstab that has "$homedir $homedir none bind 0 0" instead of "$homedir /var/lib/lxc/$container/rootfs/$homedir none bind 0 0".  Have you already seen this?  Have you filed a bug, or shall I?  Would you like me to pursue with hallyn, or shall I?
<benji> gary_poster: I was coming to the same conclusion.  Feel free to file a bug.  I think I'll step away for lunch now.
<gary_poster> cool benji
<benji> ok, I'm back
<benji> since Gary is at lunch, I assume he's not working on the binding bug, so I'll look at fixing that
<frankban> gary_poster: forwhen you're back, could you re-review https://code.launchpad.net/~frankban/launchpad/bug-609986-add-zope.testing-3.9.4-p5/+merge/99536? thanks
<gary_poster> sure frankban.  binding bug: you mean, implement hallyn's hix?
<gary_poster> well, his workaround?
<gary_poster> because I'm sure he is going to fix it
<gary_poster> in the lxc stuff
<gary_poster> frankban, re-reviewed
<benji> gary_poster: I wasn't aware of hallyn's workaround; was that in the bug or in IRC?
<gary_poster> benji, https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/968371
<_mup_> Bug #968371: lxc-create -b is broken <lxc (Ubuntu):Confirmed> < https://launchpad.net/bugs/968371 >
<frankban> thanks gary_poster
<gary_poster> welcome
<gary_poster> so benji, I'm not sure what to do in terms of automation
<gary_poster> because the only thing we can do is come behind and fix the broken fstabs
<gary_poster> which should be fixed soon anyway
<gary_poster> so implementing that (in bash, no less) seems like a waste
<benji> or we could patch lxc-start-ephemeral, but if it's going to be fixed "soon", I would just wait
<gary_poster> well, we would need to fix both lxc-start-ephemeral and the ubuntu template
<benji> I do think hacking on lxc-start-ephemeral and making sure that everything is working end-to-end is important though, we've had several regressions lately
<gary_poster> the ubuntu template appears to be broken, and lxc-start-ephemeral is therefore also broken
<benji> in that case we could just wait and do the end-to-end test once the bug is fixed
<gary_poster> several?  I'm forgetting.  what beyond this one?
<gary_poster> unless lately mean "the past month or so"
<gary_poster> in which case I agree
<gary_poster> but no others this week, right?
<benji> we also had to add --use-http switch
<benji> (that was this week)
<gary_poster> gotcha
<benji> and I removed the code to add the buildbot user to a group because it keeps hooks/install from being re-runnable (but that may not have ever caused a first-run error)
<gary_poster> end-to-end test: mmm...well, right.  I mean, you could make a proposal for a change to lxc-start-ephemeral, but you'd want to make sure that hallyn isn't already working on it
<benji> and the bug that neccesitated adding it to a group has been fixed
<gary_poster> but you couldn't have an end-to-end until the template was fixed
<gary_poster> yeah, I don't think the buildbot user to a group thing was a regression
<benji> gary_poster: I don't understand that last bit.  I propose we wait until the binding bug is fixed and then we do a juju deploy of a master and slave and make sure the tests run
<gary_poster> benji, then I think we should talk. :-)
<gary_poster> goldenhorde?
<benji> sure
 * gary_poster is there
<bac> gary_poster, benji: after applying frankban's virbr0 work-around i now have an lxc but it is not mounting my home directory.  if i ssh to it there is nothing there.  on the host, /home/bac/lxc/devel has a LP tree.  any ideas on how to salvage this setup?
<benji> bac: yep, that's a known bug, hallyn is working on it/will work on is soon
<benji> if he isn't going to get to is very soon we may take it up since it's hurting us so bad
<bac> looks like i picked the wrong week to try setuplxc for the first time.
<gary_poster> :-/
<gary_poster> bac, there's an easy workaround
<gary_poster> bac, in your container's fstab...
<gary_poster> (/var/lxc/$containername/fstab)
<gary_poster> ...modify the line that starts with "/home/bac /home/bac" to start with "/home/bar home/bac"
<gary_poster> that is, delete that initial slash in the second entry
<bac> and change bac to bar?  :)
<bac> ok, then stop and start the container, i guess
<gary_poster> bar, not so much :-)
<gary_poster> yeah
<bac> cool, thanks
<gary_poster> welcome.  bug 968371 fwiw bac
<_mup_> Bug #968371: lxc-create -b is broken <lxc (Ubuntu):Confirmed> < https://launchpad.net/bugs/968371 >
<bac> hmm, perhaps i should've run lxc-stop before monkeying around with the fiddly bits.  now it is hanging
<bac> yo gary_poster
<gary_poster> bac, hey.  https://talkgadget.google.com/hangouts/extras/canonical.com/goldenhordeoneonone
<bac> gary_poster: script now works.  i guess i shit-can the unit tests since there is nowhere for them to live
<gary_poster> bac :-(
<gary_poster> bac, there will be a place for them in lpsetup
<bac> ok, i'll keep a local copy
<gary_poster> that can have standalone scripts
<gary_poster> maybe send it to yellow, bac?  frankban might want it
<bac> ok
<gary_poster> Go error handling: :-/ unconvinced and skeptical, but willing to give it a try.  Not something I'd be attracted to myself without the company advocating it.
<gary_poster> Well, maybe that's too strong...
<gary_poster> but I'm a bit skeptical so far.
<gary_poster> ttyl, all
#launchpad-yellow 2012-03-30
<frankban> hi gmb, how are you?
<gmb> Hi frankban. Much better today, thanks. Sleeping most of the day yesterday seems to have fixed me.
<bac> morning euros
<bac> gmb, glad you're better.  despite sleeping all day do you still find yourself tired?  that's what happened to me on tuesday.  all-day napping really takes it out of you.
<gmb> bac, I feel reasonably fresh at the moment. I expect I'll just crash later on this evening, though.
<bac> hi frankban, i have a question about setuplxc and 'create_scripts'
<bac> is that supposed to create the scripts in the container or on the host?  i want the former but am seeing the latter.
<bac> gmb, do you know anything about that ^^ ?
<gmb> bac, Not a clue, I'm afraid.
 * bac thinks his head has lost one level of indirection regarding our environment
<frankban> bac: yes, create_scripts creates them on the host
<frankban> why do you want them on the container?
<bac> frankban: right.  i was confused as to which environment i expected them to appear.
<frankban> bac: how did your installation go?
<gary_poster> Just one or two updates in the past 24 hours...by which I mean ~200...
<gary_poster> restarting just in case it matters...
<bac> frankban: it went well, eventually
<bac> thanks for your help yesterday
<frankban> np
<bac> frankban, gary_poster: i'm confused.  </shock>  only the buildbot-slave charm runs setuplxc.  setuplxc installs the scripts /usr/local/bin/launchpad-lxc-*.  however the buildbot master is the one that uses them in its master.cfg.  how does this work?
<gary_poster> bac, the master has instructions that are run on the slave
<gary_poster> the master tells the slave what to do
<gary_poster> the master does not need to be able to do the slave's steps itslef
<gary_poster> itself
<bac> gary_poster: ah, so the addSteps are things the *slave* does
<gary_poster> precisely bac
<bac> oi roi oi
<gary_poster> :-)
<gary_poster> oops
<gary_poster> bac benji frankban gmb (are you better?) : call in 2 or asap
<gmb> gary_poster, I'm much better, thanks.
<gmb> Sleep is a balm for many ills
<gary_poster> L0( great gmb
<gary_poster> uh
<gary_poster> that was supposed to be a smiley :-)
<gary_poster> off by one error
<benji> heh
<benji> gary_poster: here's the EC2 calculator I was using: http://calculator.s3.amazonaws.com/calc5.html
<gary_poster> cool benji, that's a "trick" to share :-)
<benji> :)
<bac> gary_poster: would you have time to look at https://code.launchpad.net/~bac/launchpad/lxc_cleanup/+merge/100155
<gary_poster> bac, sure will do in one min
<gary_poster> benji, for your tty recorder, were you referring to http://0xcc.net/ttyrec/index.html.en or http://sourceforge.net/projects/termrec/ ?
<benji> gary_poster: the first; the second looks interesting too (and is apparently used for angband, another nethack-like game)
<benji> gary_poster: if you're interested in running ttyrec or ttyplay, you should install it using apt because debian has accepted several patches that make it more linux friendly (it has some BSD-isms in it) and some other fixes
<gary_poster> benji, cool, thanks.  I'll include in meeting minutes (have notifications just died or something?  ugh.)
 * gmb -> late lunch / errands; back later
<bac> gary_poster: and this companion.  sadly it is private since it stacked on the private lpbuildbot.  https://code.launchpad.net/~bac/lpbuildbot/lxc-cleanup/+merge/100158
<gary_poster> bac, ack.  I'll look now.  I just approved your first branch.  Made a few questionable suggestions, no actual requests (other than sharing your unit tests)
<gary_poster> bac, approved the lpbuildbot mp too.
<bac> gary_poster: thanks!
<bac> i've found my new rap anthem:  http://www.youtube.com/watch?v=bD8vqYVUPr8
<bac> (ok, so i didn't really have an *old* rap anthem...)
<bac> gary_poster: re: raw string, were you thinking more than just changing it to r"""...""" b/c that doesn't work
<gary_poster> bac, cool video :-)
 * bac refreshes on raw strings
<bac> ah, lose the triples
<gary_poster> bac, yeah, I was thinking of that.  Maybe you could do '''...''' to get rid of the \"\"\" instead?
<bac> gary_poster: yeah, triple singles works
<bac> thx
<gary_poster> cool, welcome
<gary_poster> notifications are on the screen I don't look at, if anyone is curious. :-P
<benji> heh
<bac> hey gmb, your blog is up on G+ ... and you have a fan base asking how to build a custom kernel in a PPA.  lucky you!
<gary_poster> And a question about why we used buildbot.  I almost replied before I decided to leave the fun to gmb :-)
<gary_poster> well, that question is on the blog, not G+
<gary_poster> bac, benji, fwiw, I verified locally (& experimentally) that bug 968371 is fixed for both lxc-create and lxc-start-ephemeral.  Starting a slave now, fwiw
<_mup_> Bug #968371: lxc-create -b is broken <lxc (Ubuntu):Fix Released> < https://launchpad.net/bugs/968371 >
<gmb> gary_poster, bac: oh, wunderbar. I'll respond presently.
<gary_poster> :-)
<gary_poster> lunch
<gary_poster> buildbot slave install failed :-/ investigating way
<gary_poster> why, I mean
<gary_poster> bac, replied to lifeless about your branch
<gary_poster> the buildbot slave failed because it does not have access to the new lxc yet.  I don't know when the ec2 deb repositories are refreshed
<gary_poster> I think I'll just kill it and hope it is fixed Monday
<bac> gary_poster, thanks.  i haven't seen his email...looking now
<gary_poster> cool
<bac> thanks for the nice reply gary_poster.  you got the tact gene.
<bac> cool new world meeting scheduler as found by nigelbabu: http://www.worldtimebuddy.com/
<gary_poster> bac, thanks for saying I have tact gene. :-) I do try, at least.
<gary_poster> huh, that is cool
<gary_poster> the Google cal integration means I might actually use it
<gary_poster> $$ though, and I haven't felt the need
<benji> time.is would be a good compliment to worldtimebuddy.com
<gary_poster> benji, I remembered something I was going to mention to you yesterday.  Tim Peters linked to me in LinkedIn.  I wrote back to him excitedly to no reply :-)
<benji> heh
<benji> yeah, I saw that you two were connected; last I heard Tim was doing remote contract work part-time-ish
<gary_poster> benji, did you see his title?  "Supreme commander" :-)
<gary_poster> on Linked in
<benji> I hadn't.  That's funny.
<gary_poster> ugh, httplib2 doesn't keep old versions around on pypi. :-(
<gary_poster> breaks versions.cfg
<benji> people who remove old versions are the source of all the world's problems
<benji> including overly compressed pop music
<gary_poster> :-)
<benji> gary_poster: do you have a second to discuss 963463?
<benji> gary's notifications are broken
<benji> ;P
<bac> gary_poster, you ever see your task bar freeze when you hook  up an external monitor?
<bac> GARY ^^
 * bac dang
<benji> bac: no one can hear you scream in spa...IRC
 * bac relocates
<gary_poster> bac, no :-/
<gary_poster> benji, sure
<benji> gary_poster: I am taking a taxi to our favoite hangout now.
<gary_poster> benji, ok, I am cursing notifications
<benji> heh
<bac> bye y'all.  have a nice weekend.
