[12:16] <sivang> night all
[12:17] <bradb> kiko_diskless: Would you mind reviewing this privacy patch so that the Malone front page doesn't prompt for login anymore? (It doesn't do so at this moment either, but it did earlier, and it will again when another private bug gets filed)
[12:18] <kiko_diskless> sure
[12:19] <bradb> thanks, just make linting...
[12:20] <kiko_diskless> wow /me <3 bradb
[12:20] <kiko_diskless> bradb, in exchange two questions: any eta on a mountain bike for me, and how much does it cost to buy a crap car in montreal?
[12:22] <bradb> kiko_diskless: I haven't looked into mountain bikes yet. I'll make a note to look in the next few days.
[12:22] <kiko_diskless> okidok
[12:22] <bradb> crap car? hm, not sure.
[12:23] <bradb> maybe $1000-$1500 CAD
[12:23] <bradb> any reason why you want to buy rather than rent?
[12:27] <kiko_diskless> well, I was thinking of driving to NYC, but the return fee is $1000CAD
[12:27] <kiko_diskless> so buying might be a better option than renting
[12:29] <bradb> kiko_diskless: you wanna be stuck with a *car* in NYC? :) it should be pretty cheap by bus or train.
[12:29] <bradb> like, a few hundred bucks
[12:29] <kiko_diskless> yeah, that's an option. I was thinking of taking my time though
[12:37] <bradb> kiko_diskless: you might find something if you keep your eye on http://voir.ca/petitesannonces/annonces.aspx?iIDRubrique=801&iIDZone=1&iNumeroParution=1937
[12:38] <kiko> thanks
[12:42] <bradb> kiko_diskless: patch sent
[12:58] <kiko_diskless> okidok
[01:09] <kiko_diskless> downstairs
[01:23] <lifeless> SteveA: hows the new lappy ?
[01:31] <bradb> kiko-fud: i'm not here right now, but can I merge that patch?
[01:37] <koke> are there any web services planned for launchpad??
[02:21] <stub> kiko-fud: Carlos seemed happy with the whitespace migration. Should I be running this on production, or do we still have more verification to do?
[02:46] <Kinnison> stub: There's a heinous bug in gina :-)
[02:46] <Kinnison> stub: I'm working on a fix now
[02:46] <stub> itym Gina is a heinous bug
[02:47] <Kinnison> Well, there is that, but this is related to binary package priorities
[02:47] <Kinnison> we have an inverted priority map
[02:47] <Kinnison> bloody thing
[02:50] <Kinnison> ideally I'll need a reviewer to go over it
[02:50] <Kinnison> basically it's removing a buggered duplication and fixing up references to it
[02:50] <Kinnison> spiv: fancy an easy-peasy review?
[02:53] <spiv> Kinnison: sure.
[02:54] <Kinnison> It'll be daniel.silverstone@canonical.com--desktop/launchpad--gina-fix--20050920--patch-2
[02:54] <Kinnison> I'll say once it's mirrored
[02:56] <Kinnison> ** adding revision daniel.silverstone@canonical.com--desktop/launchpad--gina-fix--20050920--patch-2
[02:56] <Kinnison>     2005-09-21 00:54:14 GMT      Daniel Silverstone <daniel.silverstone@canonical.com>
[02:56] <Kinnison>     Remove BinaryPackagePriority (a pointless duplication of PackagePublishingPriority) which wasn't even the same values, thusly causing endless issues with published archives.
[02:56] <Kinnison> done
[02:59] <Kinnison> You're aware of baz's show changeset stuff yes?
[02:59] <spiv> I am.
[02:59] <spiv> Normally chinstrap is speedier than this...
[02:59] <Kinnison> Well that change is standalone so you should be able to use it
[03:10] <Kinnison> stubby.
[03:11] <Kinnison> spiv: does that patch look okay to you?
[03:17] <spiv> Kinnison: Yep, looks fine.
[03:17] <spiv> Almost [trivial]  :)
[03:18] <Kinnison> Yeah, I was gonna [trivial]  it but figured it deserved a look over
[03:18] <Kinnison> it's a lot of lines for a trivial y'see
[03:18] <spiv> Right.
[03:18] <spiv> I wish more people would do what you just did :)
[03:18] <spiv> nearly-trivial reviews tend to be fast reviews, modulo baz.
[03:19] <spiv> *cough* because you don't have enough tests *cough*
[03:19] <spiv> ;)
[03:20] <Kinnison> Heh
[03:21] <Kinnison> Well, this run appears more sane
[03:21] <Kinnison> 01:21:12 WARNING Countdown 16857 binary packages
[03:21] <Kinnison> not convinced I cba. to wait through an entire binary package run
[03:25] <Kinnison> priorities look good
[03:25] <Kinnison> merge is in pqm's queue
[03:25] <Kinnison> see you tomorrow
[03:25] <Kinnison> ciao
[03:27] <lifeless> night
[04:08] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: Remove BinaryPackagePriority which caused publisher vs. gina issues. r=spiv (patch-2451: daniel.silverstone@canonical.com)
[04:44] <dilys> Merge to rocketfuel@canonical.com/launchpad--production--1.33: Cherry pick patch-2444 into production 1.33 (patch-5: rocketfuel@canonical.com, christian.reis@canonical.com)
[05:10] <dilys> Merge to rocketfuel@canonical.com/launchpad--production--1.33: Cherry pick patch-2446 into production 1.33 (patch-6: guilherme.salgado@canonical.com, rocketfuel@canonical.com)
[06:54] <hub__> hi
[06:56] <jamesh> hi hub__ 
[06:56] <hub__> looks like launchpad does not like my GPG key
[06:56] <hub__> or that I don't like his GPG encrypt
[06:57] <jamesh> is this a problem registering a GPG key, or signing a code of conduct?
[06:57] <hub__> registering
[06:57] <hub__> GPG reject the encrypted confirmation message
[06:58] <jamesh> so you received the encrypted confirmation, but couldn't decrypt it?
[06:59] <hub__> yep
[06:59] <jamesh> what error do you get?
[06:59] <hub__> adding a subkey elgmal
[06:59] <hub__> I think that's it
[06:59] <hub__> will know in a bit
[07:00] <jamesh> note that Launchpad pulls the keys from the keyserver network, so if it is a new key (or you are making changes to it) it may take time to propagate
[07:00] <hub__> yep
[07:00] <hub__> will upload it again
[07:01] <jamesh> so "gpg --decrypt" on the PGP blob you received doesn't give you any error messages?
[07:03] <hub__> bingo
[07:03] <hub__> that's it
[07:03] <hub__> sorry for the noise
[07:03] <hub__> enigmail decrypt without problem now
[07:04] <jamesh> okay.  Follow the URL, enter your launchpad password and it should all be set up
[07:04] <jamesh> it will add any additional uids from the key as unvalidated emails for your account too
[07:04] <hub__> yep
[07:04] <hub__> duplicate account detected 
[07:04] <hub__> fun
[07:04] <hub__> :-)
[07:04] <hub__> I love that
[07:05] <hub__> w00t
[07:05] <hub__> kudos to launchpad people
[07:07] <jamesh> the merge accounts page is at https://launchpad.net/people/+requestmerge, if it didn't already point you there
[07:07] <hub__> it is all good
[07:07] <hub__> it told me, I followed it worked
[07:08] <hub__> now I should read the documentation
[07:08] <jamesh> the last uid on your key looks weird: "Pedro R. Fernandez"
[07:08] <hub__> it is a GPG bug
[07:09] <hub__> I have the same key ID as someone else
[07:09] <hub__> I should have played lottery
[07:09] <hub__> http://bugzilla.mozdev.org/show_bug.cgi?id=11204
[07:10] <jamesh> so you do.
[07:10] <jamesh> good thing we get you to enter in the full fingerprint :)
[07:10] <hub__> yep
[07:10] <hub__> keyid is not to be "trusted"
[07:10] <hub__> as there are more individuals on earth than combination
[07:11] <hub__> but 1 / 2^32 is still more luck that the Lotto here
[07:11] <spiv> hub__: Congratulations ;)
[07:12] <hub__> thx
[09:42] <sivang> morning all!
[09:43] <sivang> I wanted to ask something, if I had a launchpad name registered, and I changed it yesterday, what isn't it reflected in my ubuntu.com email alias?
[09:43] <sivang> (a possible bug?)
[09:50] <stub> sivang: I'm not sure if anyone except elmo can help you.
[09:52] <sivang> stub: ah, but as there are probably two parts to this, how do we know which of them failed? (e.g., launchpad part vs. the host system)
[09:55] <sivang> stub: btw, I'd like to note that the gpg importing system rocks , well, as well as every other part of launchpad
[10:10] <SteveA> hi
[10:13] <carlos> morning
[10:13] <Treenaks> hi
[10:18] <Treenaks> I'm getting timeouts and proxy errors using rosetta.. known issue?
[10:19] <Treenaks> carlos: I'm translating the Ubuntu FAQ Guide
[10:19] <Treenaks> carlos: my view is set to "untranslated only", and when I click "save and continue" it just stops..
[10:19] <Treenaks> and after a few minutes I get:
[10:19] <Treenaks> The proxy server received an invalid response from an upstream server.
[10:19] <Treenaks> The proxy server could not handle the request POST /distros/ubuntu/breezy/+sources/ubuntu-docs/+pots/faqguide/nl/+translate.
[10:19] <carlos> Treenaks, could you check if it happens too with other modules?
[10:20] <Treenaks> main page works
[10:20] <Treenaks> changing profile too
[10:20] <carlos> Treenaks, I mean, translate another package
[10:20] <Treenaks> I can browse around
[10:20] <Treenaks> carlos: oh
[10:20] <Treenaks> carlos: let me see
[10:21] <carlos> thank you
[10:23] <Treenaks> same with gstreamer/show all
[10:23] <Treenaks> (waiting for the timeout/error message now)
[10:24] <carlos> Treenaks, URL?
[10:24] <Treenaks> https://launchpad.net/distros/ubuntu/hoary/+sources/gstreamer0.8/+pots/gstreamer-0-8/nl/+translate
[10:24] <Treenaks> (hoary!?)
[10:25] <carlos> hmmm
[10:25] <carlos> Treenaks, what do you do there?
[10:25] <carlos> to get the timeout
[10:25] <Treenaks> carlos: just change anything and press "Save & Continue" at the bottom
[10:26] <Treenaks> carlos: remove the "needs review" flag for example (there is only 1 on the initial page)
[10:26] <SteveA> aw crap, my merge of last night failed with a merge conflict.
[10:26] <carlos> no need to change anything
[10:26] <Treenaks> carlos: oh, ok.. then just submitting creates the timeout?
[10:27] <carlos> yeah
[10:27] <carlos> Treenaks, please, could you file a bug report?
[10:28] <Treenaks> carlos: ok
[10:28] <carlos> I need to profile that code a bit to know what's going on...
[10:28] <carlos> Treenaks, thank you
[10:28] <Treenaks> carlos: what package/distribution names?
[10:29] <carlos> Treenaks, https://launchpad.net/products/rosetta/+filebug
[10:33] <Treenaks> carlos: guess what..
[10:33] <carlos> Treenaks, timeout?
[10:33] <Treenaks> carlos: I think I'm getting a timeout on bug submit
[10:34] <carlos> then it's not a rosetta specific problem....
[10:34] <carlos> stub, ?
[10:34] <carlos> is there any problem?
[10:34] <Treenaks> oh it worked now
[10:34] <Treenaks> it was just very very slow
[10:51] <stub> carlos: yo
[10:52] <carlos> stub, is the load of the server too high?
[10:53] <carlos> stub, Treenaks is getting many timeouts
[10:56] <stub> Nothing unusual - pretty much unloaded. There is a poimport process running chewing up 20% of a CPU, but emperor still has three cpus idle.
[10:56] <stub> Treenaks: Are they 'launchpad is down for maintenance' pages?
[10:57] <Treenaks> stub: no
[10:57] <Treenaks> stub: they are "Proxy error" pages
[10:57] <stub> If it says 'launchpad is down for maintenance', then it is our load balancer that is giving trouble.
[10:57] <Treenaks> stub: or "System Error, please retry or file a bug" pages
[10:57] <stub> ok. So I suspect that the error pages are from another proxy server between you and our data centre.
[10:57] <stub> But I can't prove that ;)
[10:58] <Treenaks> stub: I'm not using a proxy on my side
[10:58] <jamesh> once we get the request timeout stuff working, hopefully other proxies won't time out requests on us :)
[10:59] <stub> Treenaks: Your ISP might have a proxy, but it would be odd for them to bother with SSL connections.
[10:59] <stub> Hmm..
[10:59] <Treenaks> stub: "my ISP" is a 100mbit ethernet cable plugged into the BGP router :)
[11:00] <stub> elmo: ping
[11:00] <Treenaks> It seems to get slower on higher page numbers
[11:01] <carlos> stub, an HTTPS proxy??
[11:03] <stub> carlos: can be done, but doesn't make sense usually. Useful in some network topologies where clients don't have direct internet access or if you have particularly paranoid firewalling. 
[11:03] <stub> I don't think it can be done transparently either...
[11:06] <jamesh> carlos: HTTPS proxies work differently to HTTP ones: you send them a "CONNECT hostname:port" command, and then you do the SSL handshake and request
[11:06] <Treenaks> still, I don't use a https-proxy..
[11:07] <stub> ok - I've found some error messages. The issue is definitely at our end.
[11:07] <jamesh> great way to punch any protocol through a firewall if they're not configured properly :)
[11:07] <stub> Treenaks: Thanks for the heads up
[11:08] <stub> I'll need elmo or possibly Znarl to check out the Pound logs to determine if the issue is in Launchpad, Apache or Pound.
[11:09] <Burgundavia> who can edit a teams calendar?
[11:09] <Treenaks> Burgundavia: team admins?
[11:09] <Burgundavia> can it be more granular than that?
[11:12] <Kinnison> Morning
[11:13] <stub> morning
[11:36] <SteveA> stub: yeah, well...
[11:36] <SteveA> jamesh's database "takes too darn long" patch landed
[11:36] <SteveA> so i can hook it up to the publisher
[11:37] <SteveA> and also get that "shut down the socket if there are too many tasks queued" stuff done
[11:41] <carlos> dudes, we need gina run on production....
[11:47] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: r=kiko + some [trivial]  various menus landings. (patch-2452: steve.alexander@canonical.com, mpt@canonical.com)
[11:47] <SteveA> hurrah
[01:52] <SteveA> spiv kiko-fud lifeless salgado BjornT jamesh stub -- reviewers meeting in 8
[01:53] <jordi> SteveA: I won't be able to be around for this meeting, I'm in the "fix final fuckups" moment of our release
[01:53] <SteveA> jordi: that's okay, it's a reviewers meeting
[01:54] <BjornT> SteveA: isn't the meeting at 13 UTC usually?
[01:55] <SteveA> i thought it was 1200UTC
[01:55] <SteveA> like the launchpad meeting
[01:56] <SteveA> hmm, was 1600 last week
[01:56] <SteveA> according to the logs
[01:56] <SteveA> spiv kiko-fud lifeless salgado BjornT jamesh stub -- reviewers meeting in 65 minutes
[01:57] <jordi> SteveA: I mean the meeting in 3 mins?
[01:57] <SteveA> jordi: there is no meeting in 3 mins
[01:57] <SteveA> jordi: i was mistaken about the time
[01:57] <jordi> great, this is wednesday.
[01:57] <SteveA> jordi: but, the meeting is just for the review team
[01:57] <SteveA> there's a launchpad developers' meeting tomorrow at 1200 UTC
[01:57] <SteveA> and you're invited to that one
[01:59] <stub> Boo hiss
[02:00] <SteveA> sounds like a singer from a redneck punk band
[02:02] <niemeyer> Hiho!
[02:03] <SteveA> hi gustavo
[02:05] <niemeyer> Hello Steve
[02:06] <mpt> goooooooooooooooooooooooooooooood morning
[02:06] <Treenaks> hey mpt
[02:07] <niemeyer> mpt: What about "launchpadders"?
[02:07] <niemeyer> mpt: Ok.. nevermind :)
[02:07] <mpt> "Launchpadders" is so last month
[02:08] <niemeyer> Hehehe
[02:08] <Treenaks> mpt: what's it now then?
[02:08] <Treenaks> mpt: Launchpaddites?
[02:08] <Treenaks> mpt: Launchpaddistas?
[02:08] <mpt> For some reason kiko-fud addresses all his messages to the Launchpad list as "The Soyuz team at Launchpad"
[02:08] <mpt> though most of us aren't working on Soyuz
[02:08] <bob2> it's been lunchpadder for years
[02:08] <bob2> mpt: it's a mind-control ploy
[02:09] <mpt> So I always took care to rewrite that as "The Launchpadding Launchpadders at Launchpad"
[02:09] <bob2> mpt: once you belive you work for kiko, he can launch his evil legions of the undead^w^wlaunchpad hackers
[02:18] <salgado> BjornT, around?
[02:22] <BjornT> hi salgado 
[02:23] <salgado> yo BjornT. might you have some time today for us to sort out the remaining bits of that basic-voting review?
[02:24] <BjornT> salgado: ah, sorry, forgot about that. i'll take a look at it now
[02:27] <salgado> cool. thank you
[02:44] <ddaa> lifeless: what do you think of a FewerBazConflicts BOF to diagnose (and hopefully) fix the workflow of our fellow launchpadders?
[02:44] <lifeless> could be interesting
[02:44] <ddaa> I just have a persistent feeling that a lot of the frustration around is caused by workflow that expect that baz merge does magic.
[02:45] <ddaa> Maybe also DemystifyingMeshMerge :)
[02:45] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [r=spiv]  Launchpad Auto Build System Scoring prototype, ordering jobs by sourcepackagerelease urgency/component and time pending in queue. (patch-2453: celso.providelo@canonical.com)
[02:46] <ddaa> lifeless: okay, I'll sumbit to JaneW, who do you think should be lead? I think the deliverable should be documentation.
[02:47] <ddaa> mh... that calls for jblack...
[02:47] <ddaa> jblack: ping
[02:51] <Kinnison> Anyone fancy a quick review of two trivial, but not quite trivial patches?
[02:51] <Kinnison> (I.E. functionally they're trivial but they're more than one or two lines)
[02:51] <SteveA> less than 400 lines?
[02:52] <SteveA> spiv kiko-fud lifeless salgado BjornT jamesh stub -- reviewers meeting in 9 minutes
[02:53] <lifeless> k
[02:55] <Kinnison> uhm yes
[02:56] <SteveA> Kinnison: send them to me
[02:56] <Kinnison> Do you want patch numbers, or a diff or what?
[02:56] <SteveA> diff + tree-id is most convenient
[02:57] <Kinnison> okies
[02:57] <Kinnison> in email?
[02:57] <SteveA> sure
[02:57] <salgado> stub, ping
[02:58] <stub> salgado: pong
[02:59] <salgado> stub, another cherrypick. would be great if you could do it before going to bed. :)
[02:59] <salgado> patch-2446
[02:59] <salgado> want me to mail you?
[02:59] <Kinnison> SteveA: sent
[02:59] <stub> salgado: Done
[03:00] <salgado> great! thanks stub 
[03:00] <stub> salgado: I asumed you forgot to email me since it seemed like a patch that needed rolling out
[03:00] <lifeless> stub: what channel ?
[03:00] <stub> Dunno
[03:00] <salgado> stub, indeed, I forgot. but thankfully you watch the commits list closely. :)
[03:00] <lifeless> bah
[03:01] <lifeless> SteveA: what channel?
[03:01] <SteveA>  canonical-meeting
[03:01] <SteveA> kiko-fud: ping
[03:01] <BjornT> salgado: you've got mail. it mostly the testing to make sure that assert statements are triggered that bothers me.
[03:01] <SteveA> that is weird
[03:01] <SteveA> the point of assert statements is that they shouldn't get triggered
[03:02] <BjornT> exactly my point
[03:02] <SteveA> if you're going to test for it, i think it is worth upgrading to a proper exception
[03:02] <SteveA> you can't argue "i'm lazy, so i want a single statement" then
[03:02] <SteveA> as you're writing a test for it
[03:02] <salgado> well, I'm writing tests to prove that that is not allowed
[03:03] <salgado> and client code should verify the pre-conditions before trying to do that
[03:03] <BjornT> spiv: btw, are you aware of that 'python -O test.py -f --test=librarian.txt hangs? not sure if it's important or not
[03:03] <kiko> morning reviewers
[03:04] <SteveA> kiko: ECHANNEL
[03:04] <spiv> BjornT: No, I wasn't!
[03:04] <spiv> BjornT: Ouch.
[03:04] <salgado> kiko, #canonical-meeting
[03:05] <kiko> old news
[03:16] <kiko> wow
[03:18] <Kinnison> wow?
[03:19] <kiko> yeah, sounds cool
[03:20] <zyga> Kinnison: be carefull...
[03:20] <zyga> Kinnison: I just did and it hurts :/
[03:20] <Kinnison> zyga: what was the state of breezy @ 4am ?
[03:20] <zyga> Kinnison: ?/
[03:21] <salgado> so, I've been using assertions a lot in database code, to catch client code not checking for pre-conditions
[03:22] <salgado> I also write doctests to prove you are not allowed to do some things you don't met the pre-conditions
[03:23] <Kinnison> zyga: mawson gets its archive pulse around 4am
[03:23] <salgado> BjornT is concerned about the tests depending on these assertions being raised
[03:23] <Kinnison> aah, zyga wouldn't know
[03:23] <Kinnison> never mind
[03:24] <salgado> what should I do? kiko, SteveA, BjornT?
[03:24] <zyga> Kinnison: I did the upgrade a minute ago and udev gave me a hard time :/
[03:24] <stub> kiko: I don't think the new exception display is as useful as I hoped. I think I need to waste more space and output the str(the_exception) + url instead of just the url
[03:24] <SteveA> stub: which new exception display?
[03:25] <stub> SteveA: Script output.
[03:26] <SteveA> salgado: if you're writing a test to test your asserts, i think maybe these asserts are more than just that.  you'll want to either put the tests in a special "here are some tests to show that we do something decent when a programmer misbehaves when using our APIs", or make them a part of the contract for those methods, documented in the docstring, and proper exceptions.
[03:27] <SteveA> so, you have the choice of either way, but don't let it be ambiguous whether these are part of the API interface, or just you being nice to other programmers who make mistakes.
[03:28] <salgado> ok, so that means we should be using specific exceptions when checking for pre-conditions?
[03:28] <stub> I'm sitting on the fence. More tests are good, and testing your assertions work as you hope is good. 
[03:28] <stub> But nobody asked me ;)
[03:29] <BjornT> i still think that assert statements should never be triggered, not even by tests
[03:29] <spiv> salgado: So one clear practical problem is that the correctness of our code, as measured by the test suite, will be wrong if your tests are depending on assert statements and we run with python -O.
[03:30] <salgado> I think it won't make any difference using specific exceptions in these cases, as the pre-conditions are pretty clear in the docstrings. if you don't check for them, it's your fault and you should get an exception that's not meant to be caught (AssertionError)
[03:30] <spiv> I think I'm with Steve: if they're worth testing, explicitly raise rather than assert.
[03:30] <salgado> well, I guess everything in database code is worth testing, no?
[03:31] <stub> I don't believe in arguments mentioning -O. The only people who use it don't know what it does.
[03:31] <salgado> stub, +1
[03:31] <spiv> stub: It's a bit of a weak argument I admit.  Perhaps "practical" was too strong a word to use :)
[03:31] <jordi> SteveA: yeah, sorry. I thought today was Thursday.
[03:31] <stub> Indeed, having tests fail if you run them could be a good thing since the code isn't designed to work with it ;)
[03:32] <spiv> I'd almost be happier if we had "try: assert False:\nexcept AssertionError: pass\nelse: print 'LP is not python -O safe.'; sys.exit()" ;)
[03:32] <SteveA> okay, we're never going to use -O on launchpad, without some serious cleanup work anyway.
[03:32] <SteveA> spiv: sure, add that.
[03:32] <stub> We should have a test for that ;)
[03:33] <SteveA> salgado: keep the asserts, keep the tests, but make sure these tests are not in the general flow of documentation, but are classified as "testing asserts to catch faulty preconditions" or suchlike.
[03:34] <SteveA> everyone vaguely satisfied with that?
[03:34] <BjornT> i'd be happier if the tests were in a special file, to make it even clearer
[03:34] <spiv> It'll do for me.  It feels odd, but I don't think it really matters hugely :)
[03:34] <SteveA> Kinnison: you have review mail.
[03:34] <salgado> okay, I would do that. but my point here was not that I wanted only to keep the asserts. I wanted to make sure that we can use asserts to check for pre-conditions.
[03:35] <salgado> s/I would/I will/
[03:35] <Kinnison> SteveA: ta
[03:35] <SteveA> salgado: if you'd write in the docstring "if you do such-and-such it raises an AssertionError" then make sure you're not using an assert.
[03:36] <SteveA> if you'd write in the docstring "don't do such-and-such" then use an assert
[03:36] <salgado> SteveA, no, I usually write "you can't use this method if you don't have this and that"
[03:36] <SteveA> then that's fine.
[03:36] <SteveA> use an assert
[03:37] <SteveA> and make sure the tests of these cases are clearly separated.  perhaps as doctestname-cornercase.txt or something like that
[03:38] <SteveA> we can make the documentation work better as documentation, and put the more involved testing, and the testing of corner cases and misbehaving clients, in another file
[03:38] <salgado> that seems pretty fine
[03:40] <SteveA> salgado: please improve the AssertionsInLaunchpad docs, and get bjorn to review your improvements
[03:40] <SteveA> to reflect what we've decided
[03:40] <salgado> sure. that's why I wanted this discussion
[03:40] <kiko> stub, that would be wonderful! makes me smile!
[03:44] <SteveA> i can pretend my name is "Keith"
[03:45] <SteveA> i must now dig my clothes up, and go to get some belated lunch
[03:46] <SteveA> Kinnison: are you showing sufficient gravitas?
[03:47] <Kinnison> I believe so
[03:52] <Kinnison> SteveA: was my reply convincing?
[03:54] <SteveA> Kinnison: yes, but it seems slightly tasteless to alter sys.argv
[03:54] <Kinnison> oh?
[03:54] <Kinnison> I guess I'm used to C where you futz with argv if you want
[03:55] <Kinnison> I'll probably end up with optparse or something eventually but since for now there's only one argument I couldn't be bothered with it
[03:56] <SteveA> please add a comment saying "lookee here, altering sys.argv"
[03:56] <Kinnison> erm okay
[03:58] <stub> Kinnison: You probably should be using canonical.launchpad.scripts.log_options
[03:58] <Kinnison> stub: whassat then?
[04:00] <stub> erm... logger options. Gives you --quiet and --verbose, tied up to Pythons logging system so you use log.debug(foo) and log.error(foo) instead of print statements.
[04:01] <stub> (and if you were using it, it wouldn't have been a bother to add more command line options)
[04:03] <kiko> stub, did you see the odd error checkwatches returns now?
[04:03] <kiko> BugTrackerConnectError: https://bugzilla.ubuntu.com: HTTP Error 501: Not
[04:03] <kiko> +Implemented
[04:03] <kiko> stub, I think our proxy doesn't support https, perhaps?
[04:03] <stub> kiko: Don't know.
[04:04] <kiko> note that this is returning for bugzilla.ubuntu.com
[04:04] <Kinnison> stub: okay, so instead of thinking about optparser I'm thinking about the canonical variant. where can I find a spec about it?
[04:04] <kiko> which we used to be able to monitor correctly
[04:04] <kiko> stub, should we ping elmo and find out?
[04:05] <stub> Yer.... 501 not implemented when I test manually. I guess it isn't implemented ;)
[04:05] <kiko> heh
[04:05] <kiko> bandido
[04:07] <kiko> stub, just turn off the proxy and at least ubuntu.com will work
[04:07] <stub> o
[04:07] <stub> k
[04:07] <bradb> kiko: Can I merge that auth problem patch?
[04:07] <kiko> and I'll pester james into opening outgoing https for us (think he will?)
[04:07] <kiko> bradb, did I read it?
[04:08] <bradb> kiko: I dunno. I sent it to you yesterday though.
[04:08] <bradb> You said you were going to review it.
[04:09] <kiko> ah, but saying and doing!
[04:10] <kiko> what's the name of our other sysadmin?
[04:10] <salgado> BjornT, AssertionsInLaunchpad updated. :)
[04:11] <salgado> stub, can I have access to the full access and error logs of the production servers?
[04:12] <bradb> kiko: are you going to be able to review it now, or am I going to [trivial]  this merge? :) I've got four patches desparately wanting to be merged atm.
[04:13] <kiko> bradb, I need to eat something first, if you can wait
[04:13] <kiko> I'm dying
[04:14] <bradb> i can't wait!
[04:14] <stub> salgado: If you don't mind a time delay, yes. I can copy them across to a machine you have access to. Giving out more accounts on the production servers though could be problematic as they are supposed to be secure (and more accounts == more attack vectors)
[04:16] <bradb> kiko: anyway, i guess i'll wait. please review this as soon as possible if you can though. the sooner this patches get merged, the sooner i can get to writing your admin fix patch.
[04:16] <bradb> kiko: (and the email header fix you requested, also ready to be merged but in the queue)
[04:16] <kiko> stub, if you did that systematically I'd really appreciate it
[04:17] <salgado> stub, no, the time delay won't be a problem. I just want them to try to find what users are doing that is causing them to go back to a logintoken page after they already "consumed" the token
[04:17] <salgado> and also find how some users are reaching the +login page on shipit
[04:17] <mpt> 14:13:01 ERROR   Blah!
[04:17] <stub> Cool. I can set up a regular rsync somewhere. Erm... chinstrap ok I wonder?
[04:17] <kiko> salgado, maybe just reloading the URL?
[04:18] <kiko> stub, that would rock!
[04:18] <salgado> stub, that would be great
[04:18] <salgado> kiko, that gives me only the error logs. I want the access logs to see what's the workflow
[04:20] <salgado> and also, the error logs are starting to expire too quickly, now that we're having a lot more of these logintoken errors, because of shipit
[04:21] <ddaa> lifeless: what do you do to prevent pysvn from raising UnicodeDecodeError from a request for a diff (e.g. when it barfs trying to decode its own data while I'd be perfectly happy with a byte stream)?
[04:21] <BjornT> salgado: looks good. although i'd be inclined to say that the tests generally should go in a separate file, to really separate them from the documentation of the API.
[04:22] <salgado> BjornT, that's fine. do you want me to change that?
[04:22] <BjornT> salgado: yeah, why not :)
[04:23] <salgado> well, I was expecting that you would volunteer for that. ;)
[04:23] <salgado> I'll change in a couple of minutes. :)
[04:26] <stub> salgado: They are in ~stub/production_logs on chinstrap. I'll cron it tomorrow unless elmo has some way already setup for doing this sort of thing.
[04:26] <salgado> stub, cool. ta
[04:28] <kiko> stub, rock!
[04:28] <kiko> salgado, I was suggesting that that was the way people were running into errors
[04:30] <salgado> kiko, could be. but they'd have to do that before the form is processed, because they get redirected after that
[04:32] <stub> Weird - one of the launchpad servers isn't getting any hits, but it seems to be responding just fine.
[04:34] <kiko> stub, pound perhaps?
[04:34] <stub> maybe
[04:35] <salgado> https://chinstrap.ubuntu.com/~dsilvers/paste/file7ZsueE.html
[04:36] <salgado> seems like the password widget used the wrong context?
[04:40] <kiko> weird
[04:42] <salgado> kiko, they're not reloading the page. all the requests returning 404 are GET requests
[04:43] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: Minor dominator fix and add --careful to publish-distro.py. r=stevea (patch-2454: daniel.silverstone@canonical.com)
[04:43] <salgado> oh no, there's some POSTs too. I guess that ones I can assume are all reloads?
[04:44] <Kinnison> If you call .selectOneBy() does that error if there are more than one?
[04:44] <Kinnison> or does it do a LIMIT 1
[04:44] <Kinnison> ?
[04:44] <salgado> Kinnison, it raises
[04:44] <kiko> Kinnison, at least selectOne raises
[04:44] <Kinnison> okay thanks
[05:04] <segfault> is there any problem with LP? it's damn slow here.
[05:04] <matsubara> here too
[05:13] <kiko> upstairs for some salgado/matsubara action
[05:19] <cprov> salgado: about your request for oppinion about LoginToken, to keep them seems to be a good idea since they do not represent a big storage volume and I think we will have plenty space for new token ids ( [a-zA-Z0-9]  [20]  ~7E36 possibilities) . Based on this we can have an additional feature in foaf that shows all requests done by you, if it's interesting at all ? what do you think ?
[05:23] <kiko> yeah, I think it's okay to keep tokens around (in particular to avoid 404s)
[05:23] <jbailey> jordi: Around?
[05:23] <salgado> but should we keep them forever?
[05:25] <kiko> why not?
[05:25] <cprov> salgado: why not ? 2 reasons are valid: we can't generate new token ids ( false 7E36 available, more than 1E6 worlds pop.) AND we can't store (false they are tiny)
[05:28] <bradb> BjornT: stick around dude, I'll be following up to your URL changes email soon... :)
[05:28] <salgado> cprov, seems fine. can you reply to my email, so we keep the discussion in a single place?
[05:29] <cprov> salgado: ok, to store every token available the number is HUGE even in TB ;)
[05:29] <cprov> salgado: ok, will reply 
[05:29] <BjornT> bradb: ok, i will :)
[05:31] <BjornT> bradb: btw, would you object if i would remove the wrapping that is done for comments in mail notifications?
[05:31] <bradb> BjornT: yeah, i think i would, actually :P
[05:32] <bradb> why do you want to remove wrapping of comments in email notifications?
[05:32] <kiko> bradb, because it doesn't work very well
[05:32] <BjornT> bradb: it's buggy as it is, and i'd say it's almost impossible to get it right.
[05:32] <kiko> well, BjornT, to be fair, I think it's fixable
[05:33] <kiko> I store all the bugmail launchpad emits on our product 
[05:33] <BjornT> bradb: what we could do is to wrap the comments that are made via the web ui, before we store them in the database
[05:33] <kiko> about 5% is broken
[05:33] <bradb> it may not be simple to fix, but I don't think any user will appreciate a developer shortcut of simply removing wrapping from emails altogether :)
[05:33] <kiko> BjornT, that's not trivially done -- you should see the bugzilla bug about removing wrap-hard
[05:33] <kiko> let me get you a reference
[05:34] <bradb> BjornT: my opinion is: yes, it's probably not easy, but if you can try and make it Just Work, users will be happy. they will demonstrate their satisfaction in the form of not saying "gah! what's with this ugly, unwrapped email!"
[05:35] <kiko> bradb, BjornT, before continuing down this path, I suggest you look at https://bugzilla.mozilla.org/show_bug.cgi?id=11901
[05:35] <SteveA> bradb: ping
[05:36] <kiko> it was fixed the right way, too
[05:36] <bradb> SteveA: can it wait? I'm in the middle of something for the next couple of hours.
[05:36] <bradb> SteveA: I was going to get back to you later on that transaction.commit breakage
[05:36] <kiko> bradb, BjornT: one major improvement would be not wrapping lines that start with >.
[05:37] <bradb> kiko: yes, i think we can do useful, smart things like that that will help solve the problem
[05:37] <SteveA> bradb: this is about actions portlets and your work
[05:37] <bradb> SteveA: right, what's up?
[05:37] <SteveA> see, unless we coordinate, it's likely you'll get conflicts and so need to do more work
[05:38] <SteveA> so, enough menus stuff has landed so that you can go directly to using menus on your branch, i think
[05:38] <SteveA> this would be better for you, and it doesn't take very long to do it.
[05:38] <SteveA> what do you think?
[05:39] <bradb> SteveA: I need to land this code.
[05:40] <SteveA> so, we're agreed then?  ;-)
[05:40] <bradb> SteveA: I've already lost one full day to conflict resolution.
[05:40] <kiko> SteveA, I'd suggesting letting bradb land, tbh
[05:40] <SteveA> great.  this will save you from further conflicts in the area of actions portlets.
[05:40] <SteveA> really, it's a very quick thing for you to do.
[05:40] <bradb> SteveA: After it's landed, I'll make more menu changes.
[05:41] <bradb> BjornT: I'm still confused: what different does importing from the specific module make when in the interfaces package?
[05:41] <kiko> carlos, can you ping me when you're back?
[05:41] <bradb> __init__.py gets run either way, no?
[05:41] <SteveA> bradb: it's possible you'll conflict.
[05:42] <bradb> SteveA: I've already merged up to about an hour ago.
[05:42] <SteveA> when can you land what you have?
[05:42] <bradb> SteveA: within the next couple of hours, hopefully
[05:42] <carlos> kiko, I'm back already
[05:42] <kiko> super-carl
[05:42] <kiko> os
[05:42] <SteveA> if it's within the next couple of hours, that's great
[05:42] <BjornT> bradb: try not to import sourcepackage from its specific module, and you'll see
[05:43] <bradb> hm
[05:45] <bradb> I don't understand why that happens.
[05:45] <bradb> __init__.py still gets run, no?
[05:46] <carlos> jordi, hi
[05:46] <carlos> jordi, around?
[05:47] <kiko> jordi, ping us when back
[05:49] <BjornT> bradb: i'm not sure exactly how it works, but i do know that it can cause problems sometimes
[05:53] <bradb> BjornT: reply sent
[06:09] <jordi> kiko, carlos: here, sortof (I'm back at office finishing the release)
[06:10] <kiko> I'll privmsg jordi, carlos 
[06:10] <carlos> jordi, wasn't gajim's 0.8 branch obsolete?
[06:10] <carlos> kiko, ok
[06:10] <carlos> thanks
[06:13] <elmo> umm
[06:13] <BjornT> bradb: you haven't mirrored the changes yet?
[06:14] <bradb> BjornT: nope
[06:14] <bradb> waiting for make check first
[06:14] <elmo> do we know about broken apps 2 on production?
[06:14] <BjornT> bradb: ok, ping me when you've done that. it looks fine, just want to take a quick look at it.
[06:15] <bradb> BjornT: ok, will do
[06:15] <jordi> carlos: heh, this is a bit silly.
[06:15] <kiko> elmo, stub was talking about this -- but he said the server was answering requests fine?
[06:16] <salgado> ddaa, around?
[06:16] <elmo> well, I just  logged on and saw a "timed out" on nagios
[06:16] <elmo> it's actually disappeared now
[06:16] <elmo> which doesn't make me feel much better
[06:16] <ddaa> salgado: I am.
[06:16] <carlos> jordi, so as I think, they changed their mind, right?
[06:16] <kiko> carlos, jordi: I think nikos is confused, just let him be
[06:17] <kiko> wait for him to show up if he must
[06:17] <kiko> he's usually on #pygtk, I can knock on him there
[06:17] <salgado> ddaa, will "baz make-archive --mirror" overwrite an existing archive? I want to re-register my mirror
[06:17] <ddaa> I'd consider it a bug if it did.
[06:18] <ddaa> you probably want "baz register-archive -d" with the old location and "baz register-archive" with the new one.
[06:18] <ddaa> I do not know how the -f flag behave with the new archive registration model, it had a clear use case with registered names, though.
[06:19] <ddaa> salgado: but I think the proper place to ask is #bazaar :)
[06:19] <ddaa> or #arch
[06:19] <salgado> ddaa, I already delete the existing registration and registered my own archive again
[06:19] <ddaa> so, what's the problem?
[06:19] <salgado> but then after that I don't have the mirror registered. (e.g. archive-mirror fails)
[06:20] <salgado> archive-mirror: Warning: no mirror registered for guilherme.salgado@canonical.com
[06:20] <ddaa> salgado: -> #bazaar
[06:23] <SteveA> ddaa: is malone bug 1205 still important to you?
[06:35] <ddaa> SteveA: I might be able to answer when launchpad.net starts responding again...
[06:41] <SteveA> kiko: do you know anything about the crap the test suite is spewing?
[06:41] <SteveA> on stderr
[06:42] <ddaa> SteveA: this is not important anymore
[06:43] <ddaa> now that the import death sprint is over
[06:43] <SteveA> ddaa: okay.   thanks.
[06:43] <ddaa> Would still be sexy to have though :)
[06:43] <SteveA> it's on a very old branch from morgs
[06:43] <SteveA> probably best to reimplement it if we need it in the future
[06:44] <kiko> SteveA, no clue :-/
[06:44] <SteveA> it's gross, man
[06:44] <ddaa> I do not think we are ever going to _need_ it again
[06:44] <kiko-fud> I need to run for fud to get back in time for the meeting
[06:44] <SteveA> ok
[06:55] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: rs=kiko hook jamesh's request timeout code up to the web publisher. (patch-2455: steve.alexander@canonical.com)
[06:56] <SteveA> mpt: ping
[06:58] <mpt> SteveA: pong
[06:59] <mpt> kiko: The salient differences between bug 11901 and now are that (1) NS4 is no longer a target browser, and (2) browsers except MSIE support max-width
[07:00] <bradb> BjornT: changes committed and mirrored
[07:04] <SteveA> gogogo brad.  doit
[07:07] <bradb> BjornT: how's it look?
[07:07] <BjornT> bradb: push it!
[07:07] <bradb> !
[07:27] <bradb> SteveA: What's your preferred way of documenting a "missing" parameter in an Interface? i.e. How do you write the interface code/method signature to show that?
[07:27] <SteveA> what is a "missing" parameter?
[07:27] <bradb> e.g.
[07:27] <bradb> missing = object()
[07:27] <bradb> class IFoo(Interface):
[07:27] <bradb>     def bar(this, that, somethingelse=missing):
[07:28] <SteveA> is this a marker?
[07:28] <SteveA> can you not use None ?
[07:28] <bradb>         """Do stuff...raise an error if something else is missing."""
[07:28] <bradb> SteveA: no, can't use None. None is a valid arg value.
[07:28] <SteveA> okay
[07:28] <kiko> I suggested
[07:28] <kiko> class NoUserSpecified: pass
[07:28] <kiko> placing that in the interface
[07:28] <SteveA> then you need to have a singleton value that is available from the interfaces file
[07:28] <SteveA> um, module
[07:28] <kiko> and using in the interface and in the database class
[07:29] <kiko> right
[07:29] <SteveA> it needs to be called something unique
[07:29] <kiko> that's what I suggested
[07:29] <SteveA> so, not just missing
[07:29] <SteveA> it's a constant, basically
[07:29] <SteveA> but
[07:29] <SteveA> consider having two different methods
[07:29] <kiko> don't use a class? :)
[07:29] <SteveA> no_user_specified = object() would be good
[07:30] <SteveA> but, consider having two different methods
[07:30] <SteveA> it is often bogus to have a method change what it does based on the presence or absence of a keyword arg.
[07:30] <bradb> SteveA: it's a database search method, whose user parameter is required.
[07:30] <kiko> this is a guardian, SteveA 
[07:31] <bradb> SteveA: i.e. we want to specifically say that it's required, and give you a useful error message if you didn't pass a user arg.
[07:31] <SteveA> if the 'user' parameter is required, make it a positional arg
[07:31] <SteveA> that is how in python you say "this arg is required"
[07:31] <bradb> SteveA: that breaks pretty easily.
[07:32] <bradb> all the user of the API has to do is pass a parameter in the first position, in this case, and it would work
[07:32] <SteveA> so, you want to ensure that someone sets it explicitly
[07:32] <bradb> well, "work", i.e. break
[07:32] <SteveA> and it can be set to a Person or to None ?
[07:32] <bradb> SteveA: right
[07:33] <SteveA> okay.  then in the interface, you can just say   user=None, and in the docstring, say "The 'user' argument must be explicitly supplied"
[07:33] <SteveA> and in the implementation, use a private marker for its default value
[07:33] <bradb> ok, that was another approach i had considered
[07:34] <bradb> will do that, thanks
[07:34] <kiko> why not use the same value for interface and database, SteveA?
[07:34] <SteveA> because it is a private marker
[07:34] <SteveA> it doesn't need to be in the interface
[07:34] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Following the specification, fixing builddUI pages for homogeneous facet url +builds. (patch-2456: celso.providelo@canonical.com)
[07:34] <SteveA> two different implementations could use different markers, for example
[07:35] <SteveA> it would do no particular harm to put the marker in the interface, and import it into the database code, but it seems to be a lot of work for something that will never be used.
[07:35] <ddaa> actually, something that is _meant_ to be never used
[07:36] <bradb> kiko: are you happy with that then? =None and a private marker?
[07:36] <ddaa> If None is not a a valid value, it's simpler to just use that.
[07:36] <kiko> sure
[07:36] <ddaa> Trying to enforce contract in python tends to lead to much ugliness IME.
[07:37] <SteveA> ddaa: i agree.
[07:37] <SteveA> however, brad is adamant that he wants clients to provide the 'user' arg explicitly
[07:38] <ddaa> I think None would make a pretty good value then.
[07:38] <SteveA> so i think 1. that's just an implementation issue and 2. a note in the docs serves to note the requirement
[07:38] <SteveA> so, it is None in the interface
[07:38] <SteveA> and a marker, to detect whether it is explicitly provided, in the implementation
[07:38] <SteveA> using **kw is another way to check it is explicitly provided, btw
[07:39] <ddaa> And it's TypeError if the argument is not set to something of the right type or interface (or just not None).
[07:39] <ddaa> yuck!
[07:39] <SteveA> it is an error of some kind if the argument is not provided
[07:39] <SteveA> the arg can be provided as None
[07:40] <SteveA> bradb: what is the error you're trying to avoid people making?
[07:40] <bradb> SteveA: not passing the user arg
[07:40] <kiko> which causes us grief
[07:40] <bradb> SteveA: if they don't pass the user arg, they almost surely will not get the correct, privacy-aware, search results back.
[07:41] <SteveA> what will they get back if user is None? 
[07:41] <SteveA> would a warning suffice?
[07:41] <bradb> SteveA: the correct, privacy-aware search results. in this case, as an anon user.
[07:41] <kiko> correct
[07:41] <bradb> SteveA: warnings aren't strong enough for this, IMHO.
[07:41] <SteveA> well...
[07:41] <SteveA> let me think aloud for a moment
[07:42] <SteveA> what if you made the default value None
[07:42] <SteveA> and had a warning that is issued only if the value is None while the logged-in user is not anonymous
[07:42] <SteveA> anyway -- another question
[07:43] <SteveA> why can't you make 'user' positional ?
[07:44] <bradb> SteveA: because it's too easy to get that wrong. for example, if it were positional, the existing bug that caused me to fix this bug in the first place would have remained uncovered by the tests.
[07:44] <SteveA> bradb: sounds good, but i'm none the wiser
[07:44] <SteveA> example?
[07:44] <bradb> bugset.search(duplicateof=bug)
[07:44] <bradb> er.
[07:44] <SteveA> btw "uncovered by the tests" can mean two very different things
[07:44] <bradb> icks that
[07:45] <SteveA> call the API searchAsUser(user, other args)
[07:46] <bradb> SteveA: there's a better reason why i rejecting making user positional
[07:46] <bradb> not the thing about uncovering bugs in tests, etc.
[07:46] <bradb> rather, the error message
[07:46] <bradb> TypeError: foo() takes at least 1 non-keyword argument (0 given) communicates very little to the user of the API, in this case
[07:47] <SteveA> please write the method's "def" here
[07:47] <bradb> >>> def foo(bar, baz=None):
[07:47] <bradb> ...   pass
[07:47] <bradb> ...
[07:47] <bradb> >>> foo(baz=1)
[07:47] <bradb> Traceback (most recent call last):
[07:47] <bradb> ...
[07:47] <SteveA> um
[07:47] <SteveA> the actual method we're talking about
[07:48] <bradb> oh
[07:48] <bradb> def search(self, duplicateof=None, orderBy=None, limit=None, user=_missing):
[07:48] <SteveA> okay.  def searchAsUser(self, user, duplicateof=None, orderBy=None, limit=None)
[07:49] <SteveA> that is much more pythonic than what you're trying to do
[07:49] <SteveA> the name tells clients of the API that 'user' is important and required
[07:50] <bradb> phew, that's going to break a lot of code :)
[07:50] <SteveA> BRM
[07:51] <bradb> brm?
[07:51] <SteveA> bicycle repair man
[07:51] <SteveA> lifeless and spiv swear by it
[07:51] <bradb> ah, interesting
[07:52] <bradb> if it works with emacs, i might be interested
[07:55] <salgado> SteveA, I had a change in person-porlet-actions.pt. all I need to do now is add it to the relevant contextmenu (TeamContextMenu in this case)?
[07:56] <SteveA> that depends what the change is
[07:56] <SteveA> if the change is to do with context menu items, then you need to update that context menu
[07:56] <SteveA> if, however, the change was to do with an app menu (bounties, specs, support, etc) then that app menu needs updating
[07:57] <salgado> it has to do with the context menu (a 'Show Polls' link)
[07:57] <SteveA> ok
[08:03] <salgado> SteveA, there's a 'common_reassign' in PersonContextMenu(). I guess I can remove that, right?
[08:03] <SteveA> depends
[08:04] <salgado> depends on?
[08:04] <SteveA> well, common_reassign comes from the CommonLinks mixin class
[08:04] <SteveA> so, if you want to use the menu link at that point in the menu, then you need to leave it in.
[08:04] <SteveA> if you do not want to use it, then take it out
[08:05] <bradb> kiko: replied to your review of the front page patch
[08:05] <salgado> this CommonMenuLinks is used only in browser/person.py? 
[08:05] <salgado> SteveA, ^
[08:05] <salgado> (I mean, it's not meant to be used by other modules, I guess)
[08:06] <bradb> Who else has upgraded to Breezy for LP development?
[08:06] <SteveA> i have, on my laptop
[08:07] <SteveA> not on my desktop yet
[08:07] <bradb> SteveA: Did dist-upgrade work ok?
[08:07] <SteveA> bradb: fresh install
[08:07] <bradb> ah
[08:07] <Kinnison> bradb: Mine was a touch difficult
[08:07] <Kinnison> bradb: but I'm doing it from the dogfood archive
[08:07] <salgado> bradb, I'm not using for LP development, but the dist-upgrade went fine
[08:08] <salgado> the only problem was caused by filesystem corruption, that I guess was there before the upgrade
[08:08] <bradb> When I dist-upgraded to warty, I couldn't boot anymore :/ turned out to be a yaboot conf problem (initrd line somehow got commented, IIRC)
[08:08] <SteveA> salgado: yes, the CommonLinks is used only there at present, because that's the place where the links were in common.
[08:08] <SteveA> this will need refactoring if we get links in common across modules
[08:08] <SteveA> then, they'll move into webapp/__init__.py
[08:09] <salgado> SteveA, then, right now, the common_reassign shouldn't be "common", as it should exist only in teams pages
[08:09] <SteveA> okay, then you can move it into just the team's class, and change its name
[08:19] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [r=BjornT]  Malone URL changes. Yep. Also: contextualize the bug page, allowing for viewing a bug in a context where it's not yet filed (and One-Click (TM) reporting of the bug in that context), add a simple distro sourcepackage object and a bunch of other bugfixes. (patch-2457: brad.bollenbach@canonical.com)
[08:20] <kiko> woo bradb woo
[08:20] <mpt> "Yep."
[08:21] <mpt> well done bradb
[08:21] <bradb> thanks :)
[08:22] <bradb> I've got a bunch more to land today, if the toolchain stays out of my way.
[08:22] <kiko> you mean that was your last landing of today?
[08:23] <bradb> kiko: I've got three other patches on the way to merge today. The toolchain will probably limit me to getting about two of them merged.
[08:25] <bradb> kudos to BjornT for taking on the task of reviewing that patch. :)
[08:28] <bradb> SteveA: btw, that means all systems go for whatever menu stuff you're working on. making sure Malone menus work superbly is my next major goal (while doing various other things, like making sure our error messages, success messages, and other feedback messages 1. exist and 2. don't suck.)
[08:29] <SteveA> cool
[08:29] <SteveA> nice one brad
[08:29] <SteveA> i'm merging the latest now, so i can land some of mpt's menus work
[08:29] <SteveA> 1 conflict
[08:29] <SteveA> but need to see whether tests pass
[08:30] <SteveA> how bogus is that?
[08:30] <SteveA> <<<<<<< TREE
[08:30] <SteveA> def traverseSourcePackage(sourcepackage, request, name):
[08:30] <SteveA>     if name == '+pots':
[08:30] <SteveA>         potemplateset = getUtility(IPOTemplateSet)
[08:30] <SteveA>         return potemplateset.getSubset(
[08:30] <SteveA>                    distrorelease=sourcepackage.distrorelease,
[08:30] <SteveA>                    sourcepackagename=sourcepackage.sourcepackagename)
[08:30] <SteveA>     return None
[08:30] <SteveA> [08:30] <SteveA> >>>>>>> MERGE-SOURCE
[08:30] <SteveA> why is that a conflict?
[08:30] <SteveA> it's clearly an addition
[08:31] <kiko> lifeless once explained this to me, but I forgot
[08:31] <kiko> ddaa might know
[08:32] <ddaa> because diff3 sucks?
[08:32] <ddaa> SteveA: lemme guess, it's an addition at the end of a file?
[08:32] <SteveA> no
[08:32] <bradb> SteveA: it's called traverse_sourcepackage, IIRC
[08:32] <bradb> in traversers.py
[08:32] <SteveA> lib/canonical/launchpad/browser/sourcepackage.py
[08:32] <ddaa> SteveA: my guess would be that there is a deletion at this point between BASE and OTHER.
[08:33] <ddaa> since base is not shown, you get this puzzling message
[08:33] <SteveA> bradb: what did you do with the searchAsUser stuff?
[08:33] <SteveA> i don't see that name in the source
[08:33] <bradb> SteveA: just merged from rf into that branch. will resolve conflict and merge now.
[08:33] <SteveA> cool
[08:33] <SteveA> thought it was the one that just landed
[08:33] <SteveA> you are truely a man of many branches
[08:34] <bradb> SteveA: the point about the traversal function is that i moved it into the right place
[08:34] <bradb> which appears to be what's causing the conflict
[08:34] <SteveA> i see, so that's just dead code now?
[08:35] <bradb> SteveA: did you change anything at all in that code? the function you show doesn't exixst here.
[08:35] <bradb> nor does it *exist* here
[08:35] <SteveA> the first part is identical with what you moved
[08:36] <SteveA> so, i'll just delete it
[08:36] <bradb> sounds good
[08:42] <sladen> mpt: what did you do to #2112 an hour ago.  An email came through but it's impossible to tell from that what you did
[08:42] <sladen> mpt: I'm suspecting that you unduplicated it
[08:44] <mpt> That is correct, and it was only a few minutes ago
[08:45] <mpt> gneuman, matsubara: Those bugs were about the same code, but they weren't duplicates
[08:45] <kiko> sladen, it's a bug in malone -- I know about it but am unsure it's reported
[08:46] <mpt> kiko: Then report it and get your interns to mark it as a duplicate if necessary ;-)
[08:46] <kiko> mpt, they are next to you -- please ask them yourself.
[08:47] <mpt> kiko, they subscribed to launchpad-bugs five minutes too late, so they don't have a copy of the notification
[08:47] <mpt> hum, I suppose that doesn't matter though
[08:50] <kiko> of course it doesn't
[08:50] <kiko> there is this great feature called "forward"
[09:17] <sladen> launchpad seems to be 'hung' for about the last 3 minutes.  The actualy server responds but no page comes back
[09:18] <SteveA> probably some freak query on some page taking up all the resources
[09:19] <SteveA> we have code waiting to be deployed that stops such things from happening
[09:22] <sladen> *still hung*.  Do both the frontends live behind the same IP or can I force it onto the other one?  Hmm, now there's a 503 unavailable
[09:24] <sladen> and back to being hung
[09:25] <bradb> Keybuk: I'm wondering: should the Sender: header be malone@... (which, AFAIK, doesn't exist), or the bug's address?
[09:25] <Keybuk> malone
[09:25] <Keybuk> :D
[09:27] <sladen> bradb: probably somewhere like 'malone' or 'malone-bounces' which goes to an intelligent piece of code that picks up bouncing email address and stops spamming them after a couple of fails
[09:28] <Keybuk> exactly
[09:28] <Keybuk> and set the envelope sender/return path (MAIL FROM:) to the same thing
[09:28] <Hieronymus> When will Launchpad be back? Is there an ETA?
[09:30] <bradb> kiko: for this Reply-To/From patch (which was meant to make the From: header ML friendly but replying to the message still Do The Right Thing), do you mind if we save the Sender: setting/bounce handling for another day?
[09:31] <bradb> (well, From: header ML friendly, easy to reply directly to person who made the change, etc. but anyway, same question... :)
[09:32] <kiko> bradb, is it difficult to add a sender line?
[09:34] <salgado> Hieronymus, it's back, already
[09:35] <bradb> kiko: No, but I don't know how that behaves with bounces.
[09:36] <kiko> bradb, any worse than we currently do? 
[09:36] <bradb> kiko: if it bounces to an address that itself would bounce then that would seem worse to me
[09:36] <jblack> ddaa: ping
[09:37] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: r=SteveA, mpt's mpt@canonical.com/launchpad--menus--0509 adding menus to source packages (patch-2458: mpt@canonical.com, steve.alexander@canonical.com)
[09:37] <SteveA> yay
[09:37] <kiko> yay yay yay
[09:38] <mpt> and distro releases!
[09:38] <SteveA> mpt: mail me about any menus stuff for me to review tomorrow morning.
[09:39] <sladen> bradb: surely you want email replies about the bug to go back to the bug!
[09:40] <sladen> bradb: otherwise you have the same hassle with Bugzilla where you actually have to log into it
[09:40] <bradb> sladen: Yeah, of course we want replies to go back to the bug, hence Reply-To: <bugaddress>
[09:41] <mpt> SteveA: I won't have time for any more before tomorrow, probably
[09:49] <sivang> hey all
[09:50] <sivang> elmo: do you know if I can change my email alias, I changed it in launchapd but it doesn't reflect on the mail alias. (actually, it would be nice to know if this feature even exists)
[09:52] <ddaa> jblack: I might be sort on time
[09:52] <bradb> Keybuk: would you consider it acceptable to set Sender: to malone-bounces@ for now and set the Envelope From to malone-bounces@ when we've already written a bounce handler for that?
[09:52] <ddaa> jblack: but here's the idea
[09:52] <ddaa> jblack: our boys are complaining a lot about baz, I think the problem boils do to two things:
[09:53] <Keybuk> bradb: sure
[09:53] <bradb> ok
[09:53] <ddaa> 1. not using available optimisations in particular hardlinked trees and fl_cow
[09:53] <ddaa> 2. bad workflows that cause a lot of conflicts
[09:54] <jblack> Yes
[09:54] <elmo> sivang: yes you can, and it should work now
[09:54] <ddaa> jblack: I was thinking of making a FewerBazConflicts BOF, were we could talk with the most serious cases (bradb? mpt?), figure out their requirements and come with alternative workflows to satify them.
[09:55] <ddaa> jblack: the deliverable of the BOF wolud be documentation, so I though of you as the BOF main.
[09:55] <sivang> elmo: ok, I'll test that again
[09:55] <ddaa> jblack: I wanted to know how you felt about it before actually submitting the BOF to JaneW.
[09:55] <sivang> elmo: every how often is the cronjob for this changes is run?
[09:56] <jordi> sivang: I wonder if you feel like translating one of the xml gnme manuals using xml2po to see if it works. :)
[09:56] <elmo> sivang: it's not fixed ATM, I'm still working on it
[09:56] <jordi> there are some that are really short.
[09:56] <jordi> sivang: no need to finish it even
[09:56] <jblack> I think thats a good idea. put me as first, and lifeless as second.
[09:56] <sivang> elmo: oh ok, let me know when you want me to test it
[09:56] <elmo> sivang: now
[09:56] <sivang> elmo: ok, sec.
[09:56] <ddaa> jblack: okay, please remind me about it (I'm going to leave any minute now)
[09:57] <jblack> ddaa: I'll try
[09:57] <ddaa> so I might forget about it
[09:57] <sivang> ddaa: planning a launchpad documetnation bof?
[09:57] <ddaa> sivang: a very specific kind of documentation, but yes
[09:57] <ddaa> general documentations things are jblack's
[09:58] <sivang> elmo: you rock :)
[09:59] <sivang> jblack: I'm interested in both, where do I sign ? :)
[09:59] <bradb> ddaa: The things about baz that slow me down the most are: 1. its speed, 2. its robotic feedback. Not sure that that fits with what you had in mind for discussion in a FewerBazConflicts BOF
[09:59] <jblack> sivang: sivang: It'll be on the bof page
[09:59] <bradb> s/feedback/feedback and failure modes/
[10:01] <sivang> jblack: k
[10:01] <sivang> jblack: on the same as the distro team's you mean?
[10:01] <jblack> There will be some master list at the bof, and once we get it on it'll be listed there and in the schedule.
[10:02] <Keybuk> ddaa: on the other hand, relying on the user chosing a different filesystem or using obscure LD_PRELOAD hacks to allow editing of hardlinked trees, etc. isn't exactly the right way to solve speed issues
[10:03] <bradb> . o O (you said it dude)
[10:05] <sivang> jordi: what do we need to test?
[10:05] <sivang> jordi: habe you done changed to xml2po ?
[10:06] <jordi> sivang: if it works at all for rtl langs
[10:06] <sivang> jordi: IIRC you thought it was Yelp's fault, did you sort that out?
[10:07] <jordi> I have no idea. That's what I'd like to find out. :)
[10:07] <sivang> jordi: ok, let me know if there is a very small snippet I can test with, but I need to finish a patch before, will ping you when I'm ready
[10:10] <jordi> sivang: geyes-applet is trivial
[10:10] <jordi> should be done in 15 minutes.
[10:10] <jordi> http://kvota.net/doc-l10n/by-modules.html
[10:11] <sivang> jordi: through rosetta ?
[10:12] <jordi> sivang: nope
[10:12] <sivang> jordi: how ddo I fetch the xml for translation ?
[10:12] <jordi> sivang: actually, have a look at desktop-feedback :)
[10:12] <jordi> even more tiny
[10:12] <jordi> but geyes is very easy
[10:13] <jordi> you do the po file, and then convert to xml
[10:13] <jordi> I can tell you how
[10:13] <sivang> I need to get the source pkg right?
[10:14] <sivang> jordi: can you email me instructions instead? If I don't manage to finish it tonight I will do it tommorow while at work
[10:14] <jordi> sivang@ubuntu.com?
[10:16] <sivang> jordi: you know it already :)
[10:16] <sivang> jordi: ah sorry, sivan@ubuntu.com
[10:16] <sivang> jordi: without the g
[10:19] <jordi> k
[10:22] <jordi> sivang: mailed
[10:26] <kiko> there goes launchpad
[10:27] <bradb> Keybuk: one more nitpick: would it be ok to set Sender: to our standard, LP-wide bounce address? (currently this is bounces@canonical.com in the config file i'm looking at, but presumably when we get serious about bounce handling, it'll be something more launchpadesque)
[10:27] <Keybuk> yes
[10:28] <bradb> ok
[10:28] <Keybuk> sender can be anything launchpaddy, it basically says "this is what made this e-mail"
[10:28] <kiko> bradb, does this affect bjorn't bounce-into-librarian code?
[10:28] <bradb> kiko: no idea
[10:30] <bradb> we're already setting Errors-To to that the same address in production, so it seems unlikely that this would cause any harm
[10:32] <kiko> okay
[10:40] <bradb> Keybuk: right, so, I've added this:
[10:40] <bradb>     >>> msg["Sender"] 
[10:40] <bradb>     'bounces@canonical.com'
[10:40] <bradb> kind of test all throughout bugnotifications.txt
[10:40] <bradb> and a 2-liner in mailnotification to add the header
[10:40] <bradb> Keybuk: tests pass, can i merge it now?
[10:40] <Keybuk> cool
[10:41] <Keybuk> go for it
[10:41] <kiko> go for it bradb 
[10:41] <kiko> make us proud
[10:41] <bradb> heh
[10:41] <kiko> sometime soon we'll want to change the id to bugXXX@bugs instead of XXX@bugs
[10:41] <kiko> stop getting caught in spamtraps
[10:41] <kiko> though perhaps this From: is less hated
[10:42] <bradb> maybe bug.42@...?
[10:42] <sivang> jordi: ok, I got the mail. thanks
[10:42] <sivang> jordi: can I use ubuntu source pkg instead of fetching from CVS?
[10:45] <jordi> sivang: most probably, but you'll have to run automake, not autogen
[10:45] <sivang> jordi: ok, then I'll try that , I will do it now for you :)
[10:48] <sivang> jordi: hmm,  ironically enough, geysy doesn't have it's own pkg, it's part of gnome-panel's src pkg 
[10:48] <sivang> jordi: is that ok ?
[10:49] <jordi> gnome-panel? it's not gnome-applets?
[10:50] <sivang> jordi: no, geys is in gnome-applets IIRC (minus late hour and full day of work)
[10:50] <sivang> jordi: hrm. you were right 
[10:54] <ddaa> bradb: speed: see hardlinked trees, fl_cow and my following reply to Keybuk's comment. robotic feedback: What do you mean? I see you often here complaining about having a ridiculous number of conflicts.
[10:55] <sivang> jordi: I can't find the POT in the CVS website
[10:55] <Keybuk> the ridiculous number of conflicts is when baz decides to use an ancient branch of Celso's as the common ancestor, rather than the revision just two back
[10:55] <Keybuk> it does it from time to time
[10:55] <Keybuk> it's a known bug
[10:55] <bradb> ddaa: the conflict insanity was mostly specific to the URL changes branch, not a regular thing
[10:55] <ddaa> Keybuk: we know how to solve the speed issues. lifeless has been working a lot towards fixing them in baz, cleaning the code to allow making the changes. But they will never be implemented there because the focus is now on bzr, which has the improvements built-in already.
[10:56] <jordi> sivang: I gave you a link for the pot file before
[10:56] <sivang> jordi: it opened whole lots of modules, not specific to geyes
[10:56] <Keybuk> ddaa: indeed
[10:56] <ddaa> Keybuk: so I'm focusing here on: 1. alleviating the pain in the meantime 2. diagnosing the workflow issues that will cause pain in the future as well
[10:56] <jordi> sivang: you can pic the pot file for geyes there
[10:56] <jordi> pick
[10:57] <sivang> jordi: found it. I need some caffeine. Too bad I don't drink coffe anymore
[10:58] <jordi> I have never drank coffe :)
[10:58] <bradb> ddaa: the robotic feedback is things that matter only a fraction as much to me as the speed issues. you get used to "botched invariant", "Comparing FROM and TO ...", "Applying 150 revisions .............................", the enormous amount of output from baz switch, etc. after a while. :)
[11:00] <ddaa> bradb: speed issues: here, baz status on a launchpad tree takes 10s. Most merge and switch ops take less than a minute, it takes more time only when months old trees are involved.
[11:00] <ddaa> bradb: how does that compare to you?
[11:01] <bradb> i don't have exact numbers, except to say that it's a heck of a lot slower for me
[11:01] <bradb> i don't use fl-cow though
[11:01] <ddaa> using hardlinked trees gives you order of magnitude more speed on status/diff/commit. fl_cow makes that safe. Having a well hardlinked revlib makes merges much faster (brings the benefits of hardlinked trees into the revlib).
[11:01] <bradb> i was kind of hoping to not have to
[11:02] <bradb> and, well, it's not packaged for warty
[11:02] <bradb> er, hoary even
[11:02] <bradb> maybe it's in breezy though? i haven't upgraded yet.
[11:02] <salgado> ddaa, about the months old trees; that matters only if not using --link? or it always matters?
[11:03] <ddaa> bradb: I'm not using it personally, because i'm confortable enough to do it the unsafe way. But I have seen it deployed and it's quite simple not all that scary: the cow effect is restricted to specific directories.
[11:03] <ddaa> bradb: ask lifeless for details, he's the debian maintainer for the thing.
[11:04] <salgado> I'm using hardlinked trees without fl-cow and I'm not having any problems. fl-cow is only for safety?
[11:04] <ddaa> salgado: it always matter, just because the delta grow so insanely huge. And not just patchlog, genuine source changes as well. But I think nobody should be using branch as out of date as what is used in importd production systems.
[11:04] <ddaa> salgado: yes
[11:05] <ddaa> fl-cow is just there to avoid corrupting your revlib when using a hardlinked tree and being careless.
[11:06] <salgado> oh, wait a second. you were refering to months old trees or months old branches? my trees are ages old and I switch them everyday, but all my branches are fresh
[11:07] <ddaa> I mean things like switching between launchpad head and the 1.22 production branch.
[11:09] <dilys> Merge to rocketfuel@canonical.com/launchpad--devel--0: [r=kiko]  Fix a bug on the Malone front page where 'latest bugs' wasn't privacy aware, and thus causing inappropriate auth challenges when recent bugs included private bugs. (patch-2459: brad.bollenbach@canonical.com)
[11:09] <salgado> so, if all my branches are fairly recent, this shouldn't be a problem for me?
[11:09] <ddaa> salgado: the date at which your branch was created is hu...
[11:09] <ddaa> irrelevent you will be assim.... gag
[11:10] <ddaa> what matters is how far in time it is wrt to the other branches you merge/switch your tree with.
[11:11] <salgado> ahhh, now I see
[11:12] <kiko> good ole bradb 
[11:13] <mpt> later all
[11:14] <ddaa> SteveA: I'd like to get some team feedback about this FewerBazConflicts things. Maybe the issue is not where I think it is. I'd like to know who feel the have more conflicts than they should have. And those will be the raw matter for this BOF.
[11:15] <ddaa> SteveA: so, I'd like if you could add something about that on tomorrow's meeting agenda. Should not take more than a couple of minutes.
[11:15] <ddaa> * the raw material for
[11:22] <sivang> jordi: I do make inside the geyes/docs dir, but it doesn't run
[11:22] <sivang> make: *** No targets specified and no makefile found.  Stop.
[11:23] <sivang> I ran automake instead of autogen as you said
[11:23] <jordi> sivang: need to run automake and configure
[11:24] <sivang> jordi: DOh, silly nme
[11:25] <sivang> configure running
[11:26] <sivang> jordi: done
[11:27] <sivang> weird. Something went wrong. I can't see my translations
[11:28] <jordi> you see english?
[11:28] <jordi> from the xml in the he/ dir?
[11:37] <sivang> jordi: yes, although I can swear I transalted about 3 strings
[11:38] <sivang> jordi: I think it ignored the he thingy altogether
[11:41] <jordi> sivang: does the dxml have any hebrew at all?
[11:41] <jordi> or is it just yelp?
[11:42] <kiko> ddaa, why does baz consume so much memory?
[11:42] <kiko> users are baz branching launchpad and blowing up at 500MB
[11:42] <kiko> launchpad dead again
[11:42] <ddaa> because it's buggy?
[11:43] <kiko> and there's no way of working around this right?
[11:43] <kiko> maybe adding a cachedrev?
[11:43] <sivang> kiko: can someone already branch launchapd ? :)
[11:44] <ddaa> kiko: apparently this problem only occurs with branch and merge, so my guess would bet it has something to do with building full lists of ancestors in memory.
[11:45] <kiko> ddaa, how do I add a cachedrev manually?
[11:45] <ddaa> kiko: I do not think that would help
[11:45] <ddaa> but it would not hurt to try...
[11:45] <kiko> I think it might
[11:45] <kiko> lifeless added one for me once
[11:45] <kiko> it helped
[11:45] <sivang> jordi: the xml doesn't seem to have hebrew at all
[11:45] <ddaa> kiko: baz cacherev REVISION
[11:46] <kiko> rock
[11:46] <ddaa> if you want to add a cacherev in anything but the default location, you need to specify an url in place of the archive name.
[11:49] <kiko> okay
[11:49] <sivang> jordi: I found the "problem" I was translating inside the POT file (need some sleep), putting it in the PO itself, displays hebrew nicely on yelp
[11:49] <sivang> jordi: however, not alinged right. text is displayed correctly though
[11:50] <sivang> jordi: does this help?
[11:50] <kiko> ddaa, how long should this take?
[11:51] <kiko> it's stuck running gpg
[11:51] <ddaa> something roughly proportional to (size of the checkout)*(baz network suckiness)
[11:52] <ddaa> IOW a loooong time
[11:53] <Kinnison> assuming it's already in the revlib
[11:53] <kiko> I wonder why the last cacherev is 2322
[11:53] <kiko> if we are in 2459
[11:53] <ddaa> mh
[11:53] <ddaa> that's a bug
[11:53] <kiko> I see
[11:53] <Kinnison> sounds like the autocacherev isn't working
[11:53] <kiko> sounds like it 
[11:53] <ddaa> it's strongly advised to make lifeless miserable about it until the baz used by pqm is fixed.
[11:54] <kiko> that's why baz is eating up so much memory
[11:54] <kiko> lifeless is all systems go on avoiding taking a pie in the face I think
[11:54] <Kinnison> kiko: just add intermediate revs to your revlib
[11:54] <kiko> I am happy
[11:54] <ddaa> kiko: you are a manager, you are more qualified than I for harassing people
[11:54] <kiko> if I take a pie in the face to make everybody more productive great
[11:54] <kiko> what isn't great is that johan tested bzr yesterday and said that branching was slow
[11:55] <kiko> I wonder what he means by slow
[11:55] <Kinnison> kiko: was that on a system with local disc?
[11:55] <ddaa> kiko: IAUI the bzr guys are cooking up a Twisted-based networking support that does not suck.
[11:55] <kiko> Kinnison, indeed it was
[11:56] <ddaa> weird
[11:56] <Kinnison> kiko: coo
[11:56] <kiko> he hasn't used baz yet though
[11:56] <ddaa> I cannot see what could possibly take a long time in a bzr branch...
[11:56] <kiko> everything's relative if you haven't used baz
[11:56] <ddaa> ha... I guess it was doing ~ "cp -R"...
[11:57] <ddaa> kiko: I heard there are things much worse
[11:57] <ddaa> CVS for example
[11:57] <kiko> it can't be slower though
[11:58] <kiko> and launchpad dies
[11:58] <kiko> was larch fast?
[11:59] <ddaa> okay, see baz is faster than tla
[11:59] <ddaa> now, consider something about 50x slower than tla
[12:00] <kiko> my imagination isn't so good
[12:00] <zyga> how much is baz faster than tla?
[12:01] <ddaa> hard to measure, the speed up come for a good part from things like automatic cacherevs
[12:01] <zyga> ah
[12:01] <ddaa> but I'd say about 2x faster
[12:02] <zyga> I'm a die-hard tla addict and never bothered to look seriously at baz
[12:02] <ddaa> sometimes more, when e.g. the backbuilder kicks in.
[12:02] <zyga> this gives me another reason to change habbits
[12:02] <Kinnison> the backbuilder was cool
[12:02] <zyga> does baz suck less than tla over nfs?
[12:02] <ddaa> I think it sucks about the same.
[12:02] <Kinnison> anything FS-heavy will suck over NFS
[12:03] <ddaa> it still abuses the FS just as badly