[00:00] <wgrant> StevenK: You have QA :)
[00:02] <wgrant> sinzui, benji: logs/ isn't having much luck -- it's been added and then accidentally removed twice this week. How'd each of your removals happen, so we can make it stick this time?
[00:04] <StevenK> % grep logs .bzrignore
[00:04] <StevenK> logs/*
[00:04] <StevenK> wgrant: ^
[00:04] <wgrant> logs/*
[00:04] <wgrant> Not logs
[00:04] <StevenK> Bleh
[00:04] <wgrant> logs isn't ignored
[00:04] <benji> wgrant: heh
[00:04] <StevenK> wgrant: Not sure how to QA that branch
[00:05] <benji> wgrant: I don't remember the circumstances of my removal (nor did I understand it at the time).
[00:07] <benji> and I found the "!" pattern for .bzrignore that lets us ignore the contents of logs other than README.txt
[00:07] <StevenK> benji: But logs/* is already ignored
[00:08] <benji> StevenK: my understanding is that either order is important or negative patterns are higher priority
[00:08] <benji> I may be mistaken, but if so, I don't see how the negative patterns accomplish much
[01:15] <wgrant> wallyworld: When landing the end of a pipe, it might be a good idea to adjust the commit message to cover the whole thing, not just the last branch.
[01:15] <wgrant> Your two megalandings have understated their actions by about a factor of 10 :)
[01:15] <wallyworld> it would be a very long message then
[01:16] <wallyworld> shouldn't all the commit messages along the way be aggregated? that would make sense to me
[01:16] <wgrant> lp-land is not designed for megalandings like that.
[01:16] <wgrant> So you have to do it manually.
[02:34] <wallyworld> wgrant: could you possibly take a look at https://code.launchpad.net/~wallyworld/launchpad/improved-bugremovesubscriptions-job/+merge/110447
[02:35] <wgrant> wallyworld: of course.
[02:35] <wallyworld> thanks
[02:36] <wallyworld> it would be good to see if the queries run ok on dogfood so that we can see if it can be turned on for prod
[02:36] <wgrant> They won't run OK, but I can make them run OK.
[02:36] <wgrant> Is this branch relatively final?
[02:37] <wallyworld> well, unless the queries need fixing
[02:37] <wgrant> Yeah, I mean you don't like plan additional constraints.
[02:37] <wallyworld> i think everything is covered funcionality  wise
[02:37] <wallyworld> i can add constraints if it will help
[02:37] <wallyworld> performance
[02:38] <wallyworld> but it's funcionally correct as is
[02:39] <wgrant> Right.
[02:39] <wgrant> Agreed.
[02:39] <wallyworld> i have no idea whether the current filtering on product/distro and info types as separate terms is better than an ap filter for example
[02:41] <wgrant> The existing one is probably better atm.
[02:41] <wgrant> But we can possibly gain a win from a GIN index on BTF.access_policies and filtering on that.
[02:41] <wgrant> I'll find out after lunch.;
[02:41] <wallyworld> ok, hopefully we can get this turned on early next week i guess
[02:42] <wgrant> wallyworld: Have you played around with this in full locally?
[02:42] <wgrant> Last time I tried I filed 11 bugs.
[02:42] <wgrant> Looks like about half, and all the major ones, have been fixed.
[02:42] <wallyworld> i 've done some testing, mainly tried to get unit test coverage
[02:42] <wgrant> The major omissions are triggering the jobs on information_type and target changes.
[02:42] <wgrant> Oh, also creating AAGs when making a bug private. We haven't decided on rules for that.
[02:42] <wallyworld> ? i thought that was covered
[02:43] <wallyworld> the jobs are triggered on info type and target changes and there are tests for that
[02:43] <wgrant> Oh, are they. That's handy.
[02:43] <wgrant> Forgot that detail, apparently.
[02:43] <wallyworld> that bit was never missing, unless i'm totally wrong
[02:44] <wgrant> Yeah, you're right, I think.
[02:44] <wallyworld> so, creating AAG for bug -> private should be the last bit
[02:44] <wgrant> Yeah
[02:44] <wgrant> Bug #1009364
[02:44] <_mup_> Bug #1009364: AccessArtifactGrants not created on bug privacy transitions without triggers <disclosure> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1009364 >
[02:44] <wgrant> Is what I was thinking of.
[02:44] <wallyworld> yep
[02:44] <wgrant> wallyworld: Bug #1009363 also looks fixed now, since that job is gone.
[02:44] <_mup_> Bug #1009363: RemoveGranteeSubscriptionsJob._unsubscribe_pillar_artifacts has a slow reimplementation of bugtasksearch <disclosure> <tech-debt> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1009363 >
[02:45] <wallyworld> yes
[02:45] <wallyworld> i'll link that bug to this branch
[02:45] <wgrant> Although it also probably applies to the RemoveBugSubscriptions, it's not quite as bad or gratuitous there.
[02:45] <wallyworld> not any more
[02:45] <wallyworld> that was fixed a couple of branches ago
[02:45] <wgrant> Do you have thoughts on bug #1009356? Pretty minor, not sure if it's easy.
[02:45] <_mup_> Bug #1009356: Sharing a subset of information types generates a subscription removal job for the others <disclosure> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1009356 >
[02:46] <wallyworld> oh, it's harmless but unnecessary
[02:46] <wgrant> Sure.
[02:46] <wgrant> Might not be worth avoiding.
[02:46] <wgrant> But if it's a one-liner, might as well.
[02:46] <wallyworld> i can look at it,
[02:46] <wgrant> To avoid all the extra jobs.
[02:47] <wgrant> r=me, anyway.
[02:47] <wgrant> Thanks for fixing that.
[02:47] <wallyworld> so the AAG thing,  why do we want to create AAG for subscribers to the formerly public bug?
[02:48] <wallyworld> thans for the review
[02:49] <wallyworld> if the bug goes from public to private, then people who are not allowed to see it should have their subscriptions removed, those who can see it will have APG or AAG already, no?
[02:51] <wgrant> wallyworld: When it becomes private nobody will have an AAG.
[02:51] <wgrant> wallyworld: It's not clear who should have one.
[02:52] <wgrant> But in the current implementation nobody will.l
[02:52] <wgrant> Including the person who is making it private.
[02:52] <wallyworld> those who have an APG will be ok though
[02:52] <wgrant> So eg. a reporter can't flip their bug to private if they misfile it as public.
[02:53] <wallyworld> so for now can we just create one for the key roles - reporter and person doing the flipping perhaps
[02:55] <wgrant> Reporter isn't a key role.
[02:55] <wgrant> But probably, yeah.
[02:55] <wgrant> We almost need to make it explicit.
[02:55] <wgrant> Which is why I was thinking we should just create one for all the subscribers.
[02:55] <wallyworld> as a reporter i think i should be able to see the bug
[02:56] <wallyworld> i think we should start narrow
[02:56] <wgrant> I forget what we do now.
[02:56] <wgrant> You changed the behaviour last year, but I don't remember if it stuck.
[02:56] <wallyworld> i think it was bug supervisor and all direct subscribers, but am unsure
[02:57] <wallyworld> what do the triggers do?
[02:58] <wgrant> wallyworld: The triggers do subscription == visibility
[02:58] <wgrant> So there's a 1-1 mapping.
[02:59] <wgrant> So there's a grant for anyone that the app leaves a subscription for.
[02:59] <wallyworld> do we know what our stakeholders expect for the new world order?
[03:00] <wallyworld> it seems dangerous to just convert all existing subscriptions
[03:00] <wgrant> The stakeholders are likely to care much; they all want private projects, so they don't care about public->private
[03:00] <wgrant> wallyworld: It can't leak the bug any more than it has already leaked.
[03:01] <wgrant> Because it was previously public.
[03:01] <wallyworld> but new conversations will be invisible
[03:01] <wgrant> Sure.
[03:01] <wgrant> And before you have the new conversation you should ensure that only people who should see the bug can see the bug.
[03:02] <wallyworld> so in that case we should just convert all existing direct subscriptions
[03:02] <wgrant> I think that's correct for now.
[03:02] <wgrant> It's certainly correct for the underlying layer.
[03:02] <wgrant> I'm not sure what the application does currently.
[03:02] <wgrant> It may already remove some of the subscriptions.
[03:02] <wallyworld> it may do, can't recall, i'll have a look
[03:52] <wgrant> wallyworld: :(
[03:52] <wgrant> Looks like I won't be filing 10 bugs about the jobs today.
[03:52] <wgrant> It seems correct, apart from needing some query optimisation.
[03:53] <wallyworld> some of those 10 were questionable
[03:53] <wallyworld> what query optimisation is needed?
[03:54] <wallyworld> oh shit, gotta duck out to drop off something before the office closes, biab
[04:15] <wgrant> wallyworld: A quick rewording from an IN to a JOIN gets it down to 10s for identifying subscriptions affected by removing a hypothetical ~ubuntu-bugcontrol grant to Ubuntu.
[04:15] <wgrant> (that's some 399500 subscriptions)
[04:15] <wgrant> So that's quite acceptable.
[04:15] <wgrant> Given that it's about the worst conceivable case.
[04:21] <StevenK> wgrant: http://pastebin.ubuntu.com/1041847/
[04:23] <lifeless> wgrant: thats not-inline with the webapp request though ?
[04:24] <wgrant> lifeless: No, this is a job.
[04:25] <wgrant> StevenK: It'd be nice to test the triggers, rather than just that the underlying function works.
[04:25] <wgrant> StevenK: This just tests the information_type UPDATE trigger.
[04:26] <wgrant> StevenK: You can probably test the AAG/APA triggers in about 3 lines.
[04:26] <wgrant> No need for INSERT/DELETE really. Just a quick test to check that INSERTing each updates the columns.
[04:27] <wgrant> Although APA is a bit complicated, since we only expect one. So you'll need to UPDATE for the APA test.
[04:29]  * StevenK stabs rhythmbox, and then twists the knife.
[04:29] <StevenK> 2854 steven    20   0 9895m 5.3g  12m S    1 68.6  14:20.41 rhythmbox
[04:29] <wgrant> 5.3G RSS?
[04:30] <wgrant> And 10G virt?
[04:30] <wgrant> So it's swapping?
[04:30] <StevenK> 8G of RAM, so it was swapping heavily
[04:30] <wgrant> Yeah
[04:30] <wgrant> Thank god for amd64.
[04:30] <wgrant> Or it wouldn't be able to get all the RAM it needs :P
[04:32] <StevenK> So Quod Libet will randomly stop playing after a song finishes, and it looks like rhythmbox leaks like a sieve.
[04:33] <StevenK> wgrant: Three lines? Really?
[04:33] <wgrant> makeBranch
[04:33] <wgrant> assertAccess
[04:33] <wgrant> makeAccessArtifactGrant
[04:34] <wgrant> assertAccess
[04:34] <wgrant> 4 lines
[04:34] <StevenK> So a USERDATA branch, or PUBLIC?
[04:44] <wgrant> StevenK: It has to be private.
[04:57] <StevenK> wgrant: http://pastebin.ubuntu.com/1041889/
[05:08] <wgrant> StevenK: makeAccessArtifact should fail, since the branch should already have one.
[05:08] <wgrant> Does it not?
[05:09] <StevenK> Hm, not sure if I ran the tests before pasting.
[05:09] <StevenK> wgrant: It does not fail.
[05:10] <wgrant> That is a matter of some concern.
[05:11] <wgrant> StevenK: See Branch.transitionToInformationType's _reconcileAccess call
[05:11] <wgrant> That should be creating the AA
[05:19] <StevenK> wgrant: Hm, I see ....
[05:26] <StevenK> wgrant: How can I check if it has an AA?
[05:27] <wgrant> StevenK: I'd check postgres logs to see if you can see the INSERT
[05:28] <wgrant> But if you want to programatically check, getUtility(IAccessArtifactSource).find([branch])
[05:31] <StevenK> INSERT INTO AccessArtifact (bug, branch) VALUES (NULL, 77) RETURNING AccessArtifact.id
[05:31] <StevenK> Not sure if that's my makeAA call
[05:33] <StevenK> artifacts = getUtility(IAccessArtifactSource).ensure([concrete])
[05:33] <StevenK> That sounds like it will just return one if it exists ...
[05:34] <wgrant> StevenK: ensure creates any that are missing.
[05:43] <StevenK> wgrant: Hmmm, which does return one. That is most perplexing
[05:44] <wgrant>     "accessartifact__branch__key" UNIQUE, btree (branch) WHERE branch IS NOT NULL
[05:44] <wgrant> So that's not the problem.
[05:45] <StevenK> wgrant: I have a 261K psql log you can grep through if you wish.
[05:45] <StevenK> Changing it to artifact = getUtility(IAccessArtifactSource).find([branch])[0]
[05:45] <StevenK> Also has the test pass
[05:46] <wgrant> Oh heh
[05:46] <wgrant> makeAccessArtifact calls ensure
[05:46] <wgrant> That explains it.
[05:47] <StevenK> That was what I tried to say earlier, and failed.
[05:47] <wgrant> Oh
[05:47] <wgrant> I misunderstood.
[05:47] <wgrant> I thought you meant that was part of _reconcileAccess
[05:48] <StevenK> wgrant: With that cleared up, are you happy with the tests?
[05:48] <wgrant> If they pass, indeed.
[05:48] <StevenK> All two of them
[05:48] <wgrant> Then it sounds reasonable.
[05:48] <StevenK> Ran 2 tests with 0 failures and 0 errors in 0.539 seconds.
[05:56] <StevenK> wgrant: Thanks for all your help with this massive thing.
[05:57] <StevenK> stub: https://code.launchpad.net/~stevenk/launchpad/db-branch-new-access-policy/+merge/110464 would love a DB review.
[05:57] <wgrant> Hah, not massive.
[05:58] <StevenK> wgrant: It's felt massive at times.
[05:58] <StevenK> It's one of the largest DB patches I've done.
[05:58] <stub> I still keep getting 'Updating diff' on mps that already seem to have perfectly good diffs
[05:58] <wgrant> stub: I think it can take a while to go away.
[06:01] <stub> I thought I nuked comments.sql?
[06:02] <wgrant> We don't apply it any more.
[06:02] <wgrant> But it continues to exist.
[06:02] <StevenK> wallyworld: You have eight cards in QA-Landing, can you have a look?
[06:03] <StevenK> stub: comments.sql is still applied by make schema
[06:03] <stub> It isn't on production anymore.
[06:03] <wgrant> Right, that's what I meant.
[06:04] <stub> Right. Thought I tossed it from dev too along with trusted.sql
[06:04] <wgrant> I think trusted.sql might still be applied, it's just empty.
[06:04] <wgrant> Even on prod
[06:04] <wgrant> Yeah
[06:04] <stub> I'll leave nuking comments.sql for someone who needs the LOC :)
[06:06] <StevenK> % loc-contributions 'Ian Booth'
[06:06] <StevenK> 12535
[06:07] <wgrant> That's what you get for writing code.
[06:08] <StevenK> I've been writing code, and I'm at 473
[06:08] <StevenK> This DB branch will probably push me to 700
[06:08] <StevenK> wgrant: You're only at -28
[06:10] <wgrant> Huh
[06:10] <wgrant> Oh
[06:10] <wgrant> I'll get the blame for all the DB patches.
[06:10] <wgrant> Since I do the merge.
[06:11] <StevenK> That's a bit mean.
[06:13] <wallyworld> StevenK: they are all in progress
[06:14] <wallyworld> but will be moved after the next bb run hopefully
[06:15] <StevenK> wallyworld: We've had three deployments in the past two days, I'd hope some of them are done. :-(
[06:15] <wgrant> Most of them were in the pipe that I reviewed yesterday
[06:15] <wallyworld> StevenK: sure, but my pipe only just got through ec2
[06:15] <wallyworld> that one is landing now
[06:15] <wallyworld> i had to fix a test failure this morning
[06:17] <wgrant> Need covering indices :(
[06:26] <StevenK> stub: How is the review?
[06:26] <stub> going
[06:31] <stub> StevenK: It looks fine. I haven't had time to fully grok it for bugs, but there are tests for that.
[06:31] <stub> StevenK: You want to land this today?
[06:31] <StevenK> stub: I think the FDT queue is empty, so this could hopefully deploy Monday night
[06:32] <stub> Ok. wgrant has already gone over the logic?
[06:32] <wgrant> I wrote it.
[06:34] <stub> ok. r=stub. I'll go over it again later but it seems fine.
[06:34] <wgrant> Well, I gave a draft to StevenK and he polished it up. It seems good to me.
[06:35] <stub> yer, I just need to grok the logic more to see if I can come up with any missed edge cases. What is there seems fine.
[06:35] <wgrant> Most of the non-trivial logic is just generalised from the existing bug functions.
[07:24] <wgrant> wallyworld: If you're still around, you're probably well-placed to consider https://code.launchpad.net/~wgrant/launchpad/improved-bugremovesubscriptions-job/+merge/110480
[07:24] <wallyworld> wgrant: looking
[07:25] <wgrant> Feel free to object to the repr changes.
[07:25] <wgrant> But I think we need something more detailed than we have now.
[07:25] <wallyworld> wgrant: i did the join in my current branch, i'll back it out
[07:26] <wallyworld> the repr changes are fine, i initially just wanted to get the jobs working. there were issues with repr not being correct for derived classes so i left them generic initially
[07:26] <wgrant> Yep
[07:26] <lifeless> speaking of security
[07:26] <lifeless> http://blog.xen.org/index.php/2012/06/13/the-intel-sysret-privilege-escalation/
[07:26] <lifeless> should give us chills
[07:26] <wgrant> Yeah, that was a pretty good one.
[07:27] <wgrant> AMD invented that instruction
[07:27] <wgrant> So I'm pretty sure Intel's implementation is just buggy
[07:29] <lifeless> differently valid ?
[07:29] <wallyworld> wgrant: do we need the distinct=true
[07:29] <wgrant> wallyworld: Yes, since BTF can have multiple rows per bug.
[07:29] <wgrant> lifeless: Well
[07:29] <wgrant> lifeless: Intel's definition doesn't make much sense.
[07:29] <wgrant> lifeless: And EM64T intended to be compatible with AMD64.
[07:32] <wgrant> Oh
[07:32] <wgrant> That article actually has a section on that sort of thing
[07:32] <wallyworld> wgrant: r=me, thanks. i'll have the aag one finished after soccer later tonight, i'll get yoo to review
[07:33] <wgrant> wallyworld: Thanks.
[07:33] <wgrant> And will do.
[07:35] <lifeless> did you see http://io9.com/5918453/cooked-squid-inseminates-womans-tongue-cheek-and-gums ?
[07:36] <wgrant> Heh
[07:37] <lifeless> weird shit
[07:41] <adeuring> good morning
[08:53] <cjwatson> lifeless: the-intel-sysret-privilege-escalation> I suspect you will enjoy the discussion about the disclosure process, when that comes out
[08:55] <StevenK> How do you file a bug about a instruction set.
[09:25] <cjwatson> Why does contents-generation generate its own dists/ rather than copying the most recent published version, anyway?  I get why it has a separate dists/, but I don't really see why it has to go to the effort of generating its own.
[09:28] <cjwatson> Oh, maybe it's just hard to get apt-ftparchive not to do so.
[09:29] <wgrant> Because I hate apt-ftparchive.
[09:30] <wgrant> But yeah, it's probably difficult to tell it otherwise.
[09:31] <wgrant> Or was in 2006.
[09:32] <cjwatson> It takes it 100+ minutes to generate all the Packages and Sources again, so avoiding that would be a nice improvement.
[09:33] <cjwatson> Then Contents takes 90 minutes.
[09:33]  * cjwatson files a bug.
[09:33] <wgrant> Oh
[09:33] <wgrant> It doesn't preserve?
[09:34] <cjwatson> Not so you'd notice.
[09:34] <wgrant> Heh
[09:35] <czajkowski> I love cjwatson bugs, as I know they are never going to be invalid or dupes (in most cases)
[09:35] <czajkowski> so I can traige them easily
[09:37] <jml> heh
[09:37] <czajkowski> jml: less so yours :s
[09:37] <jml> that's cos I live on the edge, man
[09:38] <jml> my stylez are too intense for the mainstream
[09:38] <czajkowski> yes thats the reason :)
[09:38] <jml> see what I did there? I put a 'z' in stylez. Backatcha!
[09:38] <czajkowski> lol
[09:56] <czajkowski> ivory: you're really making progress
[09:58] <ivory> czajkowski: i feel like i learned more useful things in this week than in 12 years of school :)
[09:59] <czajkowski> ivory: excellent!
[10:07] <jml> ivory: :D
[10:08] <jml> open source hacking ftw
[10:11] <jml> I uploaded a package to a PPA that I accidentally made private. I then create a public PPA and uploaded that same package to it.
[10:12] <jml> However, https://launchpad.net/~jml/+archive/consumer-apps-tools has no record of any build or upload, and when I try to dput again I get told that Package has already been uploaded to ppa on ppa.launchpad.net
[10:12] <jml> Nothing more to do for create-usc-ppa_0.1_source.changes
[10:12] <jml> what's going on?
[10:13] <wgrant> jml: dput -f
[10:13] <jml> wgrant: why does LP think it's already uploaded?
[10:13] <wgrant> jml: dput (for not very good reasons) creates a .upload file locally when it completes an upload.
[10:13] <wgrant> LP doesn't.
[10:13] <wgrant> That's dput
[10:13] <jml> ahh.
[10:14] <wgrant> I have a theory that it was a feature added just to confuse people.
[10:14] <jml> my brain, she grows!
[10:14] <czajkowski> wgrant: you don't say!
[10:18] <jelmer> wgrant: is there another explanation for those files?
[10:19] <wgrant> Hah
[10:28] <jam> I'm trying to add a simple 'does the script load' sort of smoketest for the fix-translations script (I'm also adding it to the launchpad scripts/ folder). Can anyone point me to where that test should live?
[10:29] <jam> I guess I see some doc tests for 'copy-translations-from-parent' script under: lib/lp/translations/doc/...
[10:30] <jam> or maybe that isn't a doctest
[10:30] <jam> no, they are
[10:32] <wgrant> jam: lib/lp/services/scripts/tests/test_all_scripts.py may be of interest
[10:33] <jam> wgrant: thanks, that looks like the smoke test I wante
[10:33] <jam> wanted
[10:52] <StevenK> wgrant: db-devel r11683
[10:52] <jml> nyah ah ah ah ah! my patch got into this run of buildbot
[10:52] <jml> now I'll get results before the end of my working day
[10:52] <StevenK> jml: Lies.
[10:52] <wgrant> StevenK: Excellent.
[10:52] <wgrant> Monday it is.
[10:53] <StevenK> It has missed buildbot by about 15 minutes, butmeh.
[10:53] <wgrant> It has nearly three days.
[10:53] <StevenK> Yes, hence 'meh' :-)
[11:09] <jml> oh right.
[11:09] <jml> I can't seem to use the API against launchpad.dev
[11:09] <jml> I get an error about SSL.
[11:09] <wgrant> Yeah, cert verification will break that.
[11:10] <jml> httplib2.SSLHandshakeError: [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
[11:10] <jml> wgrant: is there a work around?
[11:10] <wgrant> I either hack launchpadlib to not verify the cert, or generate a new cert for launchpad.dev and tell it to trust that.
[11:10] <cjwatson> I often end up hacking httplib2.
[11:10] <cjwatson> (search for disable_ssl and change False defaults to True)
[11:10] <cjwatson> I wish there were an environment variable override.
[11:11] <cjwatson> dogfood has the same problem.
[11:11] <jml> wgrant, cjwatson: thanks.
[11:13] <wgrant> jml: In lazr.restfulclient._browser.RestfulHttp.__init__, add disable_ssl_certificate_validation=True to the super call
[11:14] <jml> wgrant: even better, thanks.
[11:17] <cjwatson> There are three sites you need to change, IME.
[11:17] <cjwatson> I always forget the full list.
[11:17] <cjwatson> Which is why I've started editing httplib2 instead.
[11:17] <wgrant> Yeah
[11:17] <wgrant> Trial and error works for me...
[11:17] <cjwatson> Because not all the call sites are in the same file.
[11:17] <wgrant> Yep
[11:23] <wgrant> jml: That's cheating.
[11:24] <jml> wgrant: it's not cheating if you win.
[11:24] <jml> wgrant: anyway, I haven't tested at all, or written automated tests, and it needs a comment and I can't find those other call sites you mentioned.
[11:25] <wgrant> I don't remember what they look like.
[11:25] <wgrant> It's just a matter of killing things until you run out of tracebacks.
[11:27] <jml> yeah. I'll poke at that.
[11:27] <jml> although I really need to move on from LP hacking to my next project.
[11:28]  * jml has lunch instead
[11:31] <czajkowski> wgrant: any idea what back end project this belong so
[11:31] <czajkowski> 12:30 < popey> if you search in the video lens, it goes off to that website to get results
[11:31] <czajkowski> 12:30 < popey> http://videosearch.ubuntu.com/v0/search/
[11:31] <czajkowski> 12:30 < popey> see^^
[11:31] <czajkowski> 12:30 < popey> and AIUI that backend is in lp somewhere, but I dunno what it's called
[11:34] <popey> it's okay I'll ask u1 people
[11:36] <wgrant> popey: I think that's candiru
[11:36] <popey> nice timing!
[11:36] <wgrant> But don't quote me on that.
[11:36] <popey> 12:36:22 < popey> found it!
[11:36] <popey> 12:36:23 < popey> https://launchpad.net/candiru
[11:36] <popey> :D
[11:36] <wgrant> Heh
[11:36] <popey> thank you.
[11:36] <czajkowski> popey: I di say the only person that might know would be wgrant
[11:37] <czajkowski> *did
[11:37] <popey> hehe
[11:59] <benji> bac: I just noticed your message.  So the tests try to capture sys.stdout but now they should capture sys.__stdout__, right?
[11:59] <nigelb> How the hell did wgrant reach -18281 :)
[12:01] <wgrant> Hm?
[12:02] <wgrant> That sounds off by a factor of 10
[12:02] <wgrant> or more
[12:02] <wgrant> Maybe in my all-time commit history.
[12:02] <wgrant> But not since the policy was introduced...
[12:02] <nigelb> I mean.... you're higher than StevenK by an order of magnitude
[12:02] <wgrant> Oh
[12:03] <wgrant> That was indeed from before the policy.
[12:03] <wgrant> That explains it.
[12:20] <jml> wgrant: oh yeah, two things
[12:21] <jml> removing the debbugs db from the tree
[12:21] <wgrant> Yay
[12:21] <wgrant> Kill
[12:21] <wgrant> But how?
[12:21] <jml> also, rolling back other people's commits
[12:21] <wgrant> Oh, did I delete it already?
[12:21] <wgrant> That's right, I deleted a duplicate copy.
[12:21] <jml> as in, those are two things you did that inflated your pre-policy score
[12:21] <jml> the debbugs db most significantly
[12:21] <wgrant> There's still one copy lurking there.
[12:21] <jml> right.
[14:04] <deryck> abentley, adeuring, ivory -- let's try this:  https://plus.google.com/hangouts/_/62374aa6d5f5280d63ca32c5288e194fd3ed8ba5?authuser=0&hl=en
[17:29] <timrc> engineering trying to look at a failed  build log for a package with tildes in the version must manually encode the tilde and this method apparently only works in Firefox as Chrome does not allow you to do this? For packages with tildes is there a way we can provide an alternative link with the filename hashed?
[18:47] <sinzui> I think I have finally found a way to make sprite links that work properly in all browsers
[18:57] <sinzui> I see my copy of " YUI 3 Cookbook" has finally shipped.
[19:00] <rick_h> sinzui: just downloaded that to the kindle last night myself
[19:01] <sinzui> rick_h, It was not available two weeks ago when I checked. I don't want to dead tree
[19:02] <rick_h> sinzui: ah, yea just saw it when davglass posted it to twitter that the book arrived
[19:02] <rick_h> bad thing about the kindle setup is you can't 'wishlist' it like a paper version so have to wait
[19:03] <rick_h> pre-order that is
[19:04] <sinzui> :/
[19:04] <sinzui> I now hope the book is not that good so I am not tempted to buy it again for my nook
[19:05] <rick_h> heh, we'll see. Hopefully start digging into it tonight.
[19:05] <rick_h> it is oreilly, you can upgrade on their end for $5
[19:05] <rick_h> and get epub/pdf/mobi
[19:05] <rick_h> http://oreilly.com/register/?CMP=PAC-8JY296190230
[19:13]  * sinzui looks
[19:38] <lifeless> cjwatson: oh? I shall look out for it
[20:30] <timrc-exercise> sedentary lifestyle is starting to show
[23:46] <wgrant> timrc: You don't have to manually encode the tilde. You just have to use Firefox to click the link.
[23:46] <timrc> wgrant, that didn't work for me
[23:46] <timrc> wgrant, not in FF 13.0 at least
[23:46] <wgrant> timrc: The launchpad.net link, not the launchpadlibrarian.net link
[23:46] <wgrant> Chromium mangles during the redirect.
[23:46] <timrc> wgrant, let me try again, I believe that didn't work
[23:48] <timrc> wgrant, ah, it does work from the launchpad.net link (I guess I hadn't tried since I wasn't logged in via FF)
[23:48] <wgrant> Yeah
[23:48] <wgrant> We send the link with ~ encoded.
[23:49] <wgrant> Chromium decodes it during the redirect.
[23:49] <wgrant> So copying the URL out of the address bar gets the broken one.