/srv/irclogs.ubuntu.com/2005/09/26/#launchpad.txt

=== koke [n=koke@adsl229-164.unizar.es] has joined #launchpad
sivangnight all12:16
bradbkiko_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:17
kiko_disklesssure12:18
bradbthanks, just make linting...12:19
kiko_disklesswow /me <3 bradb12:20
kiko_disklessbradb, 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:20
bradbkiko_diskless: I haven't looked into mountain bikes yet. I'll make a note to look in the next few days.12:22
kiko_disklessokidok12:22
bradbcrap car? hm, not sure.12:22
bradbmaybe $1000-$1500 CAD12:23
bradbany reason why you want to buy rather than rent?12:23
kiko_disklesswell, I was thinking of driving to NYC, but the return fee is $1000CAD12:27
kiko_disklessso buying might be a better option than renting12:27
bradbkiko_diskless: you wanna be stuck with a *car* in NYC? :) it should be pretty cheap by bus or train.12:29
bradblike, a few hundred bucks12:29
kiko_disklessyeah, that's an option. I was thinking of taking my time though12:29
bradbkiko_diskless: you might find something if you keep your eye on http://voir.ca/petitesannonces/annonces.aspx?iIDRubrique=801&iIDZone=1&iNumeroParution=193712:37
kikothanks12:38
bradbkiko_diskless: patch sent12:42
=== camilotelles [n=Camilo@20132139198.user.veloxzone.com.br] has joined #launchpad
kiko_disklessokidok12:58
kiko_disklessdownstairs01:09
=== koke [n=koke@adsl229-164.unizar.es] has left #launchpad ["Konversation]
lifelessSteveA: hows the new lappy ?01:23
bradbkiko-fud: i'm not here right now, but can I merge that patch?01:31
=== koke [n=koke@adsl229-164.unizar.es] has joined #launchpad
=== stub [n=stub@203-214-4-72.dyn.iinet.net.au] has joined #launchpad
kokeare there any web services planned for launchpad??01:37
=== bradb [n=bradb@modemcable033.209-70-69.mc.videotron.ca] has left #launchpad []
=== jamesh [n=james@203-59-207-160.dyn.iinet.net.au] has joined #launchpad
=== rbelem [n=rodrigo@200.246.97.164] has joined #launchpad
=== Seveas [n=seveas@seveas.demon.nl] has joined #launchpad
stubkiko-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:21
=== rbelem [n=rodrigo@200.246.97.164] has joined #launchpad
Kinnisonstub: There's a heinous bug in gina :-)02:46
Kinnisonstub: I'm working on a fix now02:46
stubitym Gina is a heinous bug02:46
KinnisonWell, there is that, but this is related to binary package priorities02:47
Kinnisonwe have an inverted priority map02:47
Kinnisonbloody thing02:47
=== Kinnison is preparing a fix now
Kinnisonideally I'll need a reviewer to go over it02:50
Kinnisonbasically it's removing a buggered duplication and fixing up references to it02:50
Kinnisonspiv: fancy an easy-peasy review?02:50
spivKinnison: sure.02:53
=== Kinnison is just committing now
KinnisonIt'll be daniel.silverstone@canonical.com--desktop/launchpad--gina-fix--20050920--patch-202:54
KinnisonI'll say once it's mirrored02:54
Kinnison** adding revision daniel.silverstone@canonical.com--desktop/launchpad--gina-fix--20050920--patch-202: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
Kinnisondone02:56
=== spiv waits for baz
KinnisonYou're aware of baz's show changeset stuff yes?02:59
spivI am.02:59
spivNormally chinstrap is speedier than this...02:59
KinnisonWell that change is standalone so you should be able to use it02:59
=== stub [n=stub@203-214-4-72.dyn.iinet.net.au] has joined #launchpad
Kinnisonstubby.03:10
Kinnisonspiv: does that patch look okay to you?03:11
spivKinnison: Yep, looks fine.03:17
spivAlmost [trivial]  :)03:17
KinnisonYeah, I was gonna [trivial]  it but figured it deserved a look over03:18
Kinnisonit's a lot of lines for a trivial y'see03:18
spivRight.03:18
spivI wish more people would do what you just did :)03:18
=== Kinnison grins
spivnearly-trivial reviews tend to be fast reviews, modulo baz.03:18
=== Kinnison is gonna sit through at least the start of a gina run on dogfood, then if it looks fine, I'll send pqm a request and retire for the night
=== th1a [n=hoffman@pool-64-223-62-134.prov.east.verizon.net] has left #launchpad []
spiv*cough* because you don't have enough tests *cough*03:19
spiv;)03:19
KinnisonHeh03:20
KinnisonWell, this run appears more sane03:21
Kinnison01:21:12 WARNING Countdown 16857 binary packages03:21
Kinnisonnot convinced I cba. to wait through an entire binary package run03:21
Kinnisonpriorities look good03:25
=== Kinnison bounces
Kinnisonmerge is in pqm's queue03:25
Kinnisonsee you tomorrow03:25
Kinnisonciao03:25
=== Kinnison -> bed.
lifelessnight03:27
=== Burgundavia [n=corey@S0106000000cc07fc.gv.shawcable.net] has joined #launchpad
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: Remove BinaryPackagePriority which caused publisher vs. gina issues. r=spiv (patch-2451: daniel.silverstone@canonical.com)04:08
dilysMerge 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)04:44
dilysMerge 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)05:10
=== robitaille [n=robitail@d154-5-117-228.bchsia.telus.net] has joined #launchpad
=== hub__ [n=hub@toronto-hs-216-138-231-194.s-ip.magma.ca] has joined #launchpad
hub__hi06:54
jameshhi hub__ 06:56
hub__looks like launchpad does not like my GPG key06:56
hub__or that I don't like his GPG encrypt06:56
jameshis this a problem registering a GPG key, or signing a code of conduct?06:57
hub__registering06:57
hub__GPG reject the encrypted confirmation message06:57
jameshso you received the encrypted confirmation, but couldn't decrypt it?06:58
hub__yep06:59
jameshwhat error do you get?06:59
hub__adding a subkey elgmal06:59
hub__I think that's it06:59
hub__will know in a bit06:59
jameshnote 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 propagate07:00
hub__yep07:00
hub__will upload it again07:00
jameshso "gpg --decrypt" on the PGP blob you received doesn't give you any error messages?07:01
hub__bingo07:03
hub__that's it07:03
hub__sorry for the noise07:03
hub__enigmail decrypt without problem now07:03
jameshokay.  Follow the URL, enter your launchpad password and it should all be set up07:04
jameshit will add any additional uids from the key as unvalidated emails for your account too07:04
hub__yep07:04
hub__duplicate account detected 07:04
hub__fun07:04
hub__:-)07:04
hub__I love that07:04
hub__w00t07:05
hub__kudos to launchpad people07:05
jameshthe merge accounts page is at https://launchpad.net/people/+requestmerge, if it didn't already point you there07:07
hub__it is all good07:07
hub__it told me, I followed it worked07:07
hub__now I should read the documentation07:08
jameshthe last uid on your key looks weird: "Pedro R. Fernandez"07:08
hub__it is a GPG bug07:08
hub__I have the same key ID as someone else07:09
hub__I should have played lottery07:09
hub__http://bugzilla.mozdev.org/show_bug.cgi?id=1120407:09
jameshso you do.07:10
jameshgood thing we get you to enter in the full fingerprint :)07:10
hub__yep07:10
hub__keyid is not to be "trusted"07:10
hub__as there are more individuals on earth than combination07:10
hub__but 1 / 2^32 is still more luck that the Lotto here07:11
spivhub__: Congratulations ;)07:11
hub__thx07:12
=== _Rappy_ [n=hunt-pre@dsl-253-122.monet.no] has joined #launchpad
sivangmorning all!09:42
sivangI 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:43
stubsivang: I'm not sure if anyone except elmo can help you.09:50
sivangstub: 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:52
sivangstub: btw, I'd like to note that the gpg importing system rocks , well, as well as every other part of launchpad09:55
SteveAhi10:10
=== Treenaks [n=martijn@messy.foodfight.org] has joined #launchpad
=== carlos [n=carlos@243.Red-83-47-24.pooles.rima-tde.net] has joined #launchpad
carlosmorning10:13
Treenakshi10:13
TreenaksI'm getting timeouts and proxy errors using rosetta.. known issue?10:18
Treenakscarlos: I'm translating the Ubuntu FAQ Guide10:19
Treenakscarlos: my view is set to "untranslated only", and when I click "save and continue" it just stops..10:19
Treenaksand after a few minutes I get:10:19
TreenaksThe proxy server received an invalid response from an upstream server.10:19
TreenaksThe proxy server could not handle the request POST /distros/ubuntu/breezy/+sources/ubuntu-docs/+pots/faqguide/nl/+translate.10:19
carlosTreenaks, could you check if it happens too with other modules?10:19
Treenaksmain page works10:20
Treenakschanging profile too10:20
carlosTreenaks, I mean, translate another package10:20
TreenaksI can browse around10:20
Treenakscarlos: oh10:20
Treenakscarlos: let me see10:20
carlosthank you10:21
Treenakssame with gstreamer/show all10:23
Treenaks(waiting for the timeout/error message now)10:23
carlosTreenaks, URL?10:24
Treenakshttps://launchpad.net/distros/ubuntu/hoary/+sources/gstreamer0.8/+pots/gstreamer-0-8/nl/+translate10:24
Treenaks(hoary!?)10:24
carloshmmm10:25
carlosTreenaks, what do you do there?10:25
carlosto get the timeout10:25
Treenakscarlos: just change anything and press "Save & Continue" at the bottom10:25
Treenakscarlos: remove the "needs review" flag for example (there is only 1 on the initial page)10:26
SteveAaw crap, my merge of last night failed with a merge conflict.10:26
carlosno need to change anything10:26
Treenakscarlos: oh, ok.. then just submitting creates the timeout?10:26
carlosyeah10:27
carlosTreenaks, please, could you file a bug report?10:27
Treenakscarlos: ok10:28
carlosI need to profile that code a bit to know what's going on...10:28
carlosTreenaks, thank you10:28
Treenakscarlos: what package/distribution names?10:28
=== WaterSevenUb [n=WaterSev@azevedo.astro.up.pt] has joined #launchpad
carlosTreenaks, https://launchpad.net/products/rosetta/+filebug10:29
Treenakscarlos: guess what..10:33
carlosTreenaks, timeout?10:33
Treenakscarlos: I think I'm getting a timeout on bug submit10:33
carlosthen it's not a rosetta specific problem....10:34
carlosstub, ?10:34
carlosis there any problem?10:34
Treenaksoh it worked now10:34
Treenaksit was just very very slow10:34
stubcarlos: yo10:51
carlosstub, is the load of the server too high?10:52
carlosstub, Treenaks is getting many timeouts10:53
stubNothing 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
stubTreenaks: Are they 'launchpad is down for maintenance' pages?10:56
Treenaksstub: no10:57
Treenaksstub: they are "Proxy error" pages10:57
stubIf it says 'launchpad is down for maintenance', then it is our load balancer that is giving trouble.10:57
Treenaksstub: or "System Error, please retry or file a bug" pages10:57
stubok. So I suspect that the error pages are from another proxy server between you and our data centre.10:57
stubBut I can't prove that ;)10:57
Treenaksstub: I'm not using a proxy on my side10:58
jameshonce we get the request timeout stuff working, hopefully other proxies won't time out requests on us :)10:58
stubTreenaks: Your ISP might have a proxy, but it would be odd for them to bother with SSL connections.10:59
stubHmm..10:59
Treenaksstub: "my ISP" is a 100mbit ethernet cable plugged into the BGP router :)10:59
stubelmo: ping11:00
TreenaksIt seems to get slower on higher page numbers11:00
carlosstub, an HTTPS proxy??11:01
stubcarlos: 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
stubI don't think it can be done transparently either...11:03
=== stub is pleased to discover TCP/IP is all becoming a blur from a past life
jameshcarlos: HTTPS proxies work differently to HTTP ones: you send them a "CONNECT hostname:port" command, and then you do the SSL handshake and request11:06
Treenaksstill, I don't use a https-proxy..11:06
stubok - I've found some error messages. The issue is definitely at our end.11:07
jameshgreat way to punch any protocol through a firewall if they're not configured properly :)11:07
stubTreenaks: Thanks for the heads up11:07
stubI'll need elmo or possibly Znarl to check out the Pound logs to determine if the issue is in Launchpad, Apache or Pound.11:08
Burgundaviawho can edit a teams calendar?11:09
TreenaksBurgundavia: team admins?11:09
Burgundaviacan it be more granular than that?11:09
KinnisonMorning11:12
=== stub suspects Launchpad is taking too long to render some of the pages, and Apache is giving up waiting for the load balancer.
stubmorning11:13
=== mdke [n=matt@unaffiliated/mdke] has joined #launchpad
SteveAstub: yeah, well...11:36
SteveAjamesh's database "takes too darn long" patch landed11:36
SteveAso i can hook it up to the publisher11:36
SteveAand also get that "shut down the socket if there are too many tasks queued" stuff done11:37
carlosdudes, we need gina run on production....11:41
dilysMerge 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
SteveAhurrah11:47
=== koke [n=koke@169.Red-217-127-113.staticIP.rima-tde.net] has joined #launchpad
=== koke [n=koke@169.Red-217-127-113.staticIP.rima-tde.net] has left #launchpad ["Konversation]
=== jinty [n=jinty@205.134.224.215] has joined #launchpad
=== Keybuk [n=scott@syndicate.netsplit.com] has joined #launchpad
=== Kinnison lunches
=== camilotelles [n=Camilo@20132139198.user.veloxzone.com.br] has joined #launchpad
=== Keybuk [n=scott@syndicate.netsplit.com] has joined #launchpad
SteveAspiv kiko-fud lifeless salgado BjornT jamesh stub -- reviewers meeting in 801:52
jordiSteveA: I won't be able to be around for this meeting, I'm in the "fix final fuckups" moment of our release01:53
SteveAjordi: that's okay, it's a reviewers meeting01:53
=== cprov [n=cprov@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
BjornTSteveA: isn't the meeting at 13 UTC usually?01:54
SteveAi thought it was 1200UTC01:55
SteveAlike the launchpad meeting01:55
SteveAhmm, was 1600 last week01:56
SteveAaccording to the logs01:56
SteveAspiv kiko-fud lifeless salgado BjornT jamesh stub -- reviewers meeting in 65 minutes01:56
jordiSteveA: I mean the meeting in 3 mins?01:57
SteveAjordi: there is no meeting in 3 mins01:57
SteveAjordi: i was mistaken about the time01:57
jordigreat, this is wednesday.01:57
SteveAjordi: but, the meeting is just for the review team01:57
SteveAthere's a launchpad developers' meeting tomorrow at 1200 UTC01:57
SteveAand you're invited to that one01:57
stubBoo hiss01:59
SteveAsounds like a singer from a redneck punk band02:00
=== niemeyer [n=niemeyer@200.138.134.63] has joined #launchpad
niemeyerHiho!02:02
SteveAhi gustavo02:03
=== mpt [n=mpt@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
niemeyerHello Steve02:05
mptgoooooooooooooooooooooooooooooood morning02:06
Treenakshey mpt02:06
niemeyermpt: What about "launchpadders"?02:07
niemeyermpt: Ok.. nevermind :)02:07
mpt"Launchpadders" is so last month02:07
niemeyerHehehe02:08
Treenaksmpt: what's it now then?02:08
Treenaksmpt: Launchpaddites?02:08
Treenaksmpt: Launchpaddistas?02:08
mptFor some reason kiko-fud addresses all his messages to the Launchpad list as "The Soyuz team at Launchpad"02:08
mptthough most of us aren't working on Soyuz02:08
bob2it's been lunchpadder for years02:08
bob2mpt: it's a mind-control ploy02:08
mptSo I always took care to rewrite that as "The Launchpadding Launchpadders at Launchpad"02:09
bob2mpt: once you belive you work for kiko, he can launch his evil legions of the undead^w^wlaunchpad hackers02:09
=== WaterSevenUb [n=WaterSev@azevedo.astro.up.pt] has joined #launchpad
=== ddaa [n=ddaa@ordo.xlii.org] has joined #launchpad
=== salgado [n=salgado@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
=== matsubara [n=matsubar@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
salgadoBjornT, around?02:18
BjornThi salgado 02:22
salgadoyo BjornT. might you have some time today for us to sort out the remaining bits of that basic-voting review?02:23
BjornTsalgado: ah, sorry, forgot about that. i'll take a look at it now02:24
salgadocool. thank you02:27
=== BjornT -> phone
=== segfault [i=carlos@prognus.com.br] has joined #launchpad
ddaalifeless: what do you think of a FewerBazConflicts BOF to diagnose (and hopefully) fix the workflow of our fellow launchpadders?02:44
lifelesscould be interesting02:44
ddaaI just have a persistent feeling that a lot of the frustration around is caused by workflow that expect that baz merge does magic.02:44
ddaaMaybe also DemystifyingMeshMerge :)02:45
dilysMerge 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:45
ddaalifeless: okay, I'll sumbit to JaneW, who do you think should be lead? I think the deliverable should be documentation.02:46
ddaamh... that calls for jblack...02:47
ddaajblack: ping02:47
KinnisonAnyone 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
SteveAless than 400 lines?02:51
SteveAspiv kiko-fud lifeless salgado BjornT jamesh stub -- reviewers meeting in 9 minutes02:52
lifelessk02:53
=== Treenaks [n=martijn@messy.foodfight.org] has left #launchpad []
Kinnisonuhm yes02:55
SteveAKinnison: send them to me02:56
KinnisonDo you want patch numbers, or a diff or what?02:56
SteveAdiff + tree-id is most convenient02:56
Kinnisonokies02:57
Kinnisonin email?02:57
SteveAsure02:57
salgadostub, ping02:57
stubsalgado: pong02:58
salgadostub, another cherrypick. would be great if you could do it before going to bed. :)02:59
salgadopatch-244602:59
salgadowant me to mail you?02:59
KinnisonSteveA: sent02:59
stubsalgado: Done02:59
salgadogreat! thanks stub 03:00
stubsalgado: I asumed you forgot to email me since it seemed like a patch that needed rolling out03:00
lifelessstub: what channel ?03:00
stubDunno03:00
salgadostub, indeed, I forgot. but thankfully you watch the commits list closely. :)03:00
lifelessbah03:00
lifelessSteveA: what channel?03:01
SteveA canonical-meeting03:01
SteveAkiko-fud: ping03:01
BjornTsalgado: you've got mail. it mostly the testing to make sure that assert statements are triggered that bothers me.03:01
SteveAthat is weird03:01
SteveAthe point of assert statements is that they shouldn't get triggered03:01
BjornTexactly my point03:02
SteveAif you're going to test for it, i think it is worth upgrading to a proper exception03:02
SteveAyou can't argue "i'm lazy, so i want a single statement" then03:02
SteveAas you're writing a test for it03:02
salgadowell, I'm writing tests to prove that that is not allowed03:02
salgadoand client code should verify the pre-conditions before trying to do that03:03
BjornTspiv: btw, are you aware of that 'python -O test.py -f --test=librarian.txt hangs? not sure if it's important or not03:03
kikomorning reviewers03:03
SteveAkiko: ECHANNEL03:04
spivBjornT: No, I wasn't!03:04
spivBjornT: Ouch.03:04
salgadokiko, #canonical-meeting03:04
kikoold news03:05
=== zyga [n=zyga@chello084010027057.chello.pl] has joined #launchpad
=== Kinnison prepares to upgrade his laptop to breezy using the archive re-published on mawson
=== Kinnison eeps
kikowow03:16
Kinnisonwow?03:18
kikoyeah, sounds cool03:19
zygaKinnison: be carefull...03:20
zygaKinnison: I just did and it hurts :/03:20
Kinnisonzyga: what was the state of breezy @ 4am ?03:20
zygaKinnison: ?/03:20
salgadoso, I've been using assertions a lot in database code, to catch client code not checking for pre-conditions03:21
salgadoI also write doctests to prove you are not allowed to do some things you don't met the pre-conditions03:22
Kinnisonzyga: mawson gets its archive pulse around 4am03:23
salgadoBjornT is concerned about the tests depending on these assertions being raised03:23
Kinnisonaah, zyga wouldn't know03:23
=== Kinnison grins
Kinnisonnever mind03:23
salgadowhat should I do? kiko, SteveA, BjornT?03:24
zygaKinnison: I did the upgrade a minute ago and udev gave me a hard time :/03:24
stubkiko: 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 url03:24
SteveAstub: which new exception display?03:24
stubSteveA: Script output.03:25
SteveAsalgado: 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:26
SteveAso, 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:27
salgadook, so that means we should be using specific exceptions when checking for pre-conditions?03:28
stubI'm sitting on the fence. More tests are good, and testing your assertions work as you hope is good. 03:28
stubBut nobody asked me ;)03:28
=== matsubara [n=matsubar@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
BjornTi still think that assert statements should never be triggered, not even by tests03:29
spivsalgado: 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:29
salgadoI 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
=== lamont [n=lamont@dhcp-sn38-07.hrz.uni-oldenburg.de] has joined #launchpad
spivI think I'm with Steve: if they're worth testing, explicitly raise rather than assert.03:30
salgadowell, I guess everything in database code is worth testing, no?03:30
stubI don't believe in arguments mentioning -O. The only people who use it don't know what it does.03:31
salgadostub, +103:31
spivstub: It's a bit of a weak argument I admit.  Perhaps "practical" was too strong a word to use :)03:31
=== Hieronymus [n=jeroen@cp413115-a.tilbu1.nb.home.nl] has joined #launchpad
jordiSteveA: yeah, sorry. I thought today was Thursday.03:31
stubIndeed, having tests fail if you run them could be a good thing since the code isn't designed to work with it ;)03:31
spivI'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
SteveAokay, we're never going to use -O on launchpad, without some serious cleanup work anyway.03:32
SteveAspiv: sure, add that.03:32
stubWe should have a test for that ;)03:32
SteveAsalgado: 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:33
SteveAeveryone vaguely satisfied with that?03:34
BjornTi'd be happier if the tests were in a special file, to make it even clearer03:34
spivIt'll do for me.  It feels odd, but I don't think it really matters hugely :)03:34
SteveAKinnison: you have review mail.03:34
salgadookay, 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:34
salgados/I would/I will/03:35
KinnisonSteveA: ta03:35
SteveAsalgado: 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:35
SteveAif you'd write in the docstring "don't do such-and-such" then use an assert03:36
salgadoSteveA, no, I usually write "you can't use this method if you don't have this and that"03:36
SteveAthen that's fine.03:36
SteveAuse an assert03:36
SteveAand make sure the tests of these cases are clearly separated.  perhaps as doctestname-cornercase.txt or something like that03:37
SteveAwe 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 file03:38
=== SteveA asks for a better name
salgadothat seems pretty fine03:38
SteveAsalgado: please improve the AssertionsInLaunchpad docs, and get bjorn to review your improvements03:40
SteveAto reflect what we've decided03:40
salgadosure. that's why I wanted this discussion03:40
kikostub, that would be wonderful! makes me smile!03:40
=== stub names Steve 'Kenneth'
SteveAi can pretend my name is "Keith"03:44
=== Kinnison hands SteveA a snot-proof deckchair
SteveAi must now dig my clothes up, and go to get some belated lunch03:45
SteveAKinnison: are you showing sufficient gravitas?03:46
KinnisonI believe so03:47
KinnisonSteveA: was my reply convincing?03:52
=== bradb [n=bradb@modemcable033.209-70-69.mc.videotron.ca] has joined #launchpad
SteveAKinnison: yes, but it seems slightly tasteless to alter sys.argv03:54
Kinnisonoh?03:54
KinnisonI guess I'm used to C where you futz with argv if you want03:54
KinnisonI'll probably end up with optparse or something eventually but since for now there's only one argument I couldn't be bothered with it03:55
SteveAplease add a comment saying "lookee here, altering sys.argv"03:56
Kinnisonerm okay03:56
stubKinnison: You probably should be using canonical.launchpad.scripts.log_options03:58
Kinnisonstub: whassat then?03:58
stuberm... 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:00
stub(and if you were using it, it wouldn't have been a bother to add more command line options)04:01
kikostub, did you see the odd error checkwatches returns now?04:03
kikoBugTrackerConnectError: https://bugzilla.ubuntu.com: HTTP Error 501: Not04:03
kiko+Implemented04:03
kikostub, I think our proxy doesn't support https, perhaps?04:03
stubkiko: Don't know.04:03
kikonote that this is returning for bugzilla.ubuntu.com04:04
Kinnisonstub: okay, so instead of thinking about optparser I'm thinking about the canonical variant. where can I find a spec about it?04:04
kikowhich we used to be able to monitor correctly04:04
kikostub, should we ping elmo and find out?04:04
stubYer.... 501 not implemented when I test manually. I guess it isn't implemented ;)04:05
kikoheh04:05
kikobandido04:05
kikostub, just turn off the proxy and at least ubuntu.com will work04:07
stubo04:07
stubk04:07
bradbkiko: Can I merge that auth problem patch?04:07
kikoand I'll pester james into opening outgoing https for us (think he will?)04:07
kikobradb, did I read it?04:07
bradbkiko: I dunno. I sent it to you yesterday though.04:08
bradbYou said you were going to review it.04:08
kikoah, but saying and doing!04:09
kikowhat's the name of our other sysadmin?04:10
salgadoBjornT, AssertionsInLaunchpad updated. :)04:10
salgadostub, can I have access to the full access and error logs of the production servers?04:11
bradbkiko: 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:12
kikobradb, I need to eat something first, if you can wait04:13
kikoI'm dying04:13
bradbi can't wait!04:14
stubsalgado: 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:14
bradbkiko: 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
bradbkiko: (and the email header fix you requested, also ready to be merged but in the queue)04:16
kikostub, if you did that systematically I'd really appreciate it04:16
salgadostub, 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 token04:17
salgadoand also find how some users are reaching the +login page on shipit04:17
mpt14:13:01 ERROR   Blah!04:17
stubCool. I can set up a regular rsync somewhere. Erm... chinstrap ok I wonder?04:17
kikosalgado, maybe just reloading the URL?04:17
kikostub, that would rock!04:18
salgadostub, that would be great04:18
salgadokiko, that gives me only the error logs. I want the access logs to see what's the workflow04:18
=== kiko is more excitable
salgadoand also, the error logs are starting to expire too quickly, now that we're having a lot more of these logintoken errors, because of shipit04:20
ddaalifeless: 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
BjornTsalgado: 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:21
salgadoBjornT, that's fine. do you want me to change that?04:22
BjornTsalgado: yeah, why not :)04:22
salgadowell, I was expecting that you would volunteer for that. ;)04:23
salgadoI'll change in a couple of minutes. :)04:23
stubsalgado: 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
salgadostub, cool. ta04:26
kikostub, rock!04:28
kikosalgado, I was suggesting that that was the way people were running into errors04:28
salgadokiko, could be. but they'd have to do that before the form is processed, because they get redirected after that04:30
stubWeird - one of the launchpad servers isn't getting any hits, but it seems to be responding just fine.04:32
kikostub, pound perhaps?04:34
stubmaybe04:34
salgadohttps://chinstrap.ubuntu.com/~dsilvers/paste/file7ZsueE.html04:35
salgadoseems like the password widget used the wrong context?04:36
kikoweird04:40
salgadokiko, they're not reloading the page. all the requests returning 404 are GET requests04:42
dilysMerge 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
salgadooh no, there's some POSTs too. I guess that ones I can assume are all reloads?04:43
KinnisonIf you call .selectOneBy() does that error if there are more than one?04:44
Kinnisonor does it do a LIMIT 104:44
Kinnison?04:44
salgadoKinnison, it raises04:44
kikoKinnison, at least selectOne raises04:44
Kinnisonokay thanks04:44
segfaultis there any problem with LP? it's damn slow here.05:04
matsubarahere too05:04
=== Kinnison blows dogfood away and starts it again, sorry guys
=== lamont [n=lamont@dhcp-sn38-07.hrz.uni-oldenburg.de] has joined #launchpad
kikoupstairs for some salgado/matsubara action05:13
cprovsalgado: 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:19
kikoyeah, I think it's okay to keep tokens around (in particular to avoid 404s)05:23
jbaileyjordi: Around?05:23
salgadobut should we keep them forever?05:23
kikowhy not?05:25
cprovsalgado: 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:25
bradbBjornT: stick around dude, I'll be following up to your URL changes email soon... :)05:28
salgadocprov, seems fine. can you reply to my email, so we keep the discussion in a single place?05:28
cprovsalgado: ok, to store every token available the number is HUGE even in TB ;)05:29
cprovsalgado: ok, will reply 05:29
BjornTbradb: ok, i will :)05:29
BjornTbradb: btw, would you object if i would remove the wrapping that is done for comments in mail notifications?05:31
bradbBjornT: yeah, i think i would, actually :P05:31
bradbwhy do you want to remove wrapping of comments in email notifications?05:32
kikobradb, because it doesn't work very well05:32
BjornTbradb: it's buggy as it is, and i'd say it's almost impossible to get it right.05:32
kikowell, BjornT, to be fair, I think it's fixable05:32
kikoI store all the bugmail launchpad emits on our product 05:33
BjornTbradb: what we could do is to wrap the comments that are made via the web ui, before we store them in the database05:33
kikoabout 5% is broken05:33
bradbit 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
kikoBjornT, that's not trivially done -- you should see the bugzilla bug about removing wrap-hard05:33
kikolet me get you a reference05:33
bradbBjornT: 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:34
kikobradb, BjornT, before continuing down this path, I suggest you look at https://bugzilla.mozilla.org/show_bug.cgi?id=1190105:35
=== BjornT reads
=== bradb works on landing the URL changes firstr
SteveAbradb: ping05:35
kikoit was fixed the right way, too05:36
bradbSteveA: can it wait? I'm in the middle of something for the next couple of hours.05:36
bradbSteveA: I was going to get back to you later on that transaction.commit breakage05:36
kikobradb, BjornT: one major improvement would be not wrapping lines that start with >.05:36
bradbkiko: yes, i think we can do useful, smart things like that that will help solve the problem05:37
SteveAbradb: this is about actions portlets and your work05:37
bradbSteveA: right, what's up?05:37
SteveAsee, unless we coordinate, it's likely you'll get conflicts and so need to do more work05:37
SteveAso, enough menus stuff has landed so that you can go directly to using menus on your branch, i think05:38
SteveAthis would be better for you, and it doesn't take very long to do it.05:38
SteveAwhat do you think?05:38
bradbSteveA: I need to land this code.05:39
SteveAso, we're agreed then?  ;-)05:40
bradbSteveA: I've already lost one full day to conflict resolution.05:40
kikoSteveA, I'd suggesting letting bradb land, tbh05:40
SteveAgreat.  this will save you from further conflicts in the area of actions portlets.05:40
SteveAreally, it's a very quick thing for you to do.05:40
bradbSteveA: After it's landed, I'll make more menu changes.05:40
bradbBjornT: I'm still confused: what different does importing from the specific module make when in the interfaces package?05:41
kikocarlos, can you ping me when you're back?05:41
bradb__init__.py gets run either way, no?05:41
SteveAbradb: it's possible you'll conflict.05:41
bradbSteveA: I've already merged up to about an hour ago.05:42
SteveAwhen can you land what you have?05:42
bradbSteveA: within the next couple of hours, hopefully05:42
carloskiko, I'm back already05:42
kikosuper-carl05:42
kikoos05:42
SteveAif it's within the next couple of hours, that's great05:42
BjornTbradb: try not to import sourcepackage from its specific module, and you'll see05:42
=== bradb tries
bradbhm05:43
bradbI don't understand why that happens.05:45
bradb__init__.py still gets run, no?05:45
carlosjordi, hi05:46
carlosjordi, around?05:46
kikojordi, ping us when back05:47
=== hub__ [n=hub@toronto-hs-216-138-231-194.s-ip.magma.ca] has joined #launchpad
BjornTbradb: i'm not sure exactly how it works, but i do know that it can cause problems sometimes05:49
=== bradb feels the sting of a language with (virtually) no compile time
bradbBjornT: reply sent05:53
=== niemeyer [n=niemeyer@200.138.134.63] has joined #launchpad
jordikiko, carlos: here, sortof (I'm back at office finishing the release)06:09
kikoI'll privmsg jordi, carlos 06:10
carlosjordi, wasn't gajim's 0.8 branch obsolete?06:10
carloskiko, ok06:10
carlosthanks06:10
elmoumm06:13
BjornTbradb: you haven't mirrored the changes yet?06:13
bradbBjornT: nope06:14
bradbwaiting for make check first06:14
elmodo we know about broken apps 2 on production?06:14
BjornTbradb: ok, ping me when you've done that. it looks fine, just want to take a quick look at it.06:14
bradbBjornT: ok, will do06:15
jordicarlos: heh, this is a bit silly.06:15
kikoelmo, stub was talking about this -- but he said the server was answering requests fine?06:15
salgadoddaa, around?06:16
elmowell, I just  logged on and saw a "timed out" on nagios06:16
elmoit's actually disappeared now06:16
elmowhich doesn't make me feel much better06:16
ddaasalgado: I am.06:16
carlosjordi, so as I think, they changed their mind, right?06:16
kikocarlos, jordi: I think nikos is confused, just let him be06:16
kikowait for him to show up if he must06:17
kikohe's usually on #pygtk, I can knock on him there06:17
salgadoddaa, will "baz make-archive --mirror" overwrite an existing archive? I want to re-register my mirror06:17
ddaaI'd consider it a bug if it did.06:17
ddaayou probably want "baz register-archive -d" with the old location and "baz register-archive" with the new one.06:18
ddaaI 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:18
ddaasalgado: but I think the proper place to ask is #bazaar :)06:19
ddaaor #arch06:19
salgadoddaa, I already delete the existing registration and registered my own archive again06:19
ddaaso, what's the problem?06:19
salgadobut then after that I don't have the mirror registered. (e.g. archive-mirror fails)06:19
salgadoarchive-mirror: Warning: no mirror registered for guilherme.salgado@canonical.com06:20
=== matsubara is now known as matsubara-lunch
ddaasalgado: -> #bazaar06:20
=== Seveas [n=seveas@seveas.demon.nl] has joined #launchpad
SteveAddaa: is malone bug 1205 still important to you?06:23
ddaaSteveA: I might be able to answer when launchpad.net starts responding again...06:35
=== zyga [n=zyga@chello084010027057.chello.pl] has joined #launchpad
SteveAkiko: do you know anything about the crap the test suite is spewing?06:41
SteveAon stderr06:41
ddaaSteveA: this is not important anymore06:42
ddaanow that the import death sprint is over06:43
SteveAddaa: okay.   thanks.06:43
ddaaWould still be sexy to have though :)06:43
SteveAit's on a very old branch from morgs06:43
SteveAprobably best to reimplement it if we need it in the future06:43
kikoSteveA, no clue :-/06:44
SteveAit's gross, man06:44
ddaaI do not think we are ever going to _need_ it again06:44
kiko-fudI need to run for fud to get back in time for the meeting06:44
SteveAok06:44
dilysMerge 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:55
SteveAmpt: ping06:56
=== camilotelles [n=Camilo@200.128.80.250] has joined #launchpad
mptSteveA: pong06:58
mptkiko: 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-width06:59
bradbBjornT: changes committed and mirrored07:00
=== bradb holds his finger over the Big Red Button
=== mdz [n=mdz@ca-studio-bsr1o-251.vnnyca.adelphia.net] has joined #launchpad
SteveAgogogo brad.  doit07:04
=== gneuman [n=guest@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
bradbBjornT: how's it look?07:07
BjornTbradb: push it!07:07
bradb!07:07
=== matsubara-lunch is now known as matsubara
bradbSteveA: 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
SteveAwhat is a "missing" parameter?07:27
bradbe.g.07:27
bradbmissing = object()07:27
bradbclass IFoo(Interface):07:27
bradb    def bar(this, that, somethingelse=missing):07:27
SteveAis this a marker?07:28
SteveAcan you not use None ?07:28
bradb        """Do stuff...raise an error if something else is missing."""07:28
bradbSteveA: no, can't use None. None is a valid arg value.07:28
SteveAokay07:28
kikoI suggested07:28
kikoclass NoUserSpecified: pass07:28
kikoplacing that in the interface07:28
SteveAthen you need to have a singleton value that is available from the interfaces file07:28
SteveAum, module07:28
kikoand using in the interface and in the database class07:28
kikoright07:29
SteveAit needs to be called something unique07:29
kikothat's what I suggested07:29
SteveAso, not just missing07:29
SteveAit's a constant, basically07:29
SteveAbut07:29
SteveAconsider having two different methods07:29
kikodon't use a class? :)07:29
SteveAno_user_specified = object() would be good07:29
SteveAbut, consider having two different methods07:30
SteveAit is often bogus to have a method change what it does based on the presence or absence of a keyword arg.07:30
bradbSteveA: it's a database search method, whose user parameter is required.07:30
kikothis is a guardian, SteveA 07:30
=== SnakeBite [n=SnakeBit@84.242.143.64] has joined #launchpad
bradbSteveA: 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
SteveAif the 'user' parameter is required, make it a positional arg07:31
SteveAthat is how in python you say "this arg is required"07:31
bradbSteveA: that breaks pretty easily.07:31
bradball the user of the API has to do is pass a parameter in the first position, in this case, and it would work07:32
SteveAso, you want to ensure that someone sets it explicitly07:32
bradbwell, "work", i.e. break07:32
SteveAand it can be set to a Person or to None ?07:32
bradbSteveA: right07:32
SteveAokay.  then in the interface, you can just say   user=None, and in the docstring, say "The 'user' argument must be explicitly supplied"07:33
SteveAand in the implementation, use a private marker for its default value07:33
bradbok, that was another approach i had considered07:33
bradbwill do that, thanks07:34
kikowhy not use the same value for interface and database, SteveA?07:34
SteveAbecause it is a private marker07:34
SteveAit doesn't need to be in the interface07:34
dilysMerge 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
SteveAtwo different implementations could use different markers, for example07:34
SteveAit 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
ddaaactually, something that is _meant_ to be never used07:35
bradbkiko: are you happy with that then? =None and a private marker?07:36
ddaaIf None is not a a valid value, it's simpler to just use that.07:36
kikosure07:36
ddaaTrying to enforce contract in python tends to lead to much ugliness IME.07:36
SteveAddaa: i agree.07:37
SteveAhowever, brad is adamant that he wants clients to provide the 'user' arg explicitly07:37
ddaaI think None would make a pretty good value then.07:38
SteveAso i think 1. that's just an implementation issue and 2. a note in the docs serves to note the requirement07:38
SteveAso, it is None in the interface07:38
SteveAand a marker, to detect whether it is explicitly provided, in the implementation07:38
SteveAusing **kw is another way to check it is explicitly provided, btw07:38
ddaaAnd it's TypeError if the argument is not set to something of the right type or interface (or just not None).07:39
ddaayuck!07:39
SteveAit is an error of some kind if the argument is not provided07:39
SteveAthe arg can be provided as None07:39
=== bradb commits the changes
SteveAbradb: what is the error you're trying to avoid people making?07:40
bradbSteveA: not passing the user arg07:40
kikowhich causes us grief07:40
bradbSteveA: if they don't pass the user arg, they almost surely will not get the correct, privacy-aware, search results back.07:40
SteveAwhat will they get back if user is None? 07:41
SteveAwould a warning suffice?07:41
bradbSteveA: the correct, privacy-aware search results. in this case, as an anon user.07:41
kikocorrect07:41
bradbSteveA: warnings aren't strong enough for this, IMHO.07:41
SteveAwell...07:41
SteveAlet me think aloud for a moment07:41
SteveAwhat if you made the default value None07:42
SteveAand had a warning that is issued only if the value is None while the logged-in user is not anonymous07:42
SteveAanyway -- another question07:42
SteveAwhy can't you make 'user' positional ?07:43
=== ddaa think Python people do not use NullObject often enough
bradbSteveA: 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
SteveAbradb: sounds good, but i'm none the wiser07:44
SteveAexample?07:44
bradbbugset.search(duplicateof=bug)07:44
bradber.07:44
SteveAbtw "uncovered by the tests" can mean two very different things07:44
bradbicks that07:44
SteveAcall the API searchAsUser(user, other args)07:45
bradbSteveA: there's a better reason why i rejecting making user positional07:46
bradbnot the thing about uncovering bugs in tests, etc.07:46
bradbrather, the error message07:46
bradbTypeError: foo() takes at least 1 non-keyword argument (0 given) communicates very little to the user of the API, in this case07:46
SteveAplease write the method's "def" here07:47
bradb>>> def foo(bar, baz=None):07:47
bradb...   pass07:47
bradb...07:47
bradb>>> foo(baz=1)07:47
bradbTraceback (most recent call last):07:47
bradb...07:47
SteveAum07:47
SteveAthe actual method we're talking about07:47
bradboh07:48
bradbdef search(self, duplicateof=None, orderBy=None, limit=None, user=_missing):07:48
SteveAokay.  def searchAsUser(self, user, duplicateof=None, orderBy=None, limit=None)07:48
SteveAthat is much more pythonic than what you're trying to do07:49
SteveAthe name tells clients of the API that 'user' is important and required07:49
bradbphew, that's going to break a lot of code :)07:50
SteveABRM07:50
bradbbrm?07:51
SteveAbicycle repair man07:51
SteveAlifeless and spiv swear by it07:51
bradbah, interesting07:51
bradbif it works with emacs, i might be interested07:52
salgadoSteveA, 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:55
SteveAthat depends what the change is07:56
SteveAif the change is to do with context menu items, then you need to update that context menu07:56
SteveAif, however, the change was to do with an app menu (bounties, specs, support, etc) then that app menu needs updating07:56
salgadoit has to do with the context menu (a 'Show Polls' link)07:57
SteveAok07:57
=== mdke_ [n=matt@81-178-156-35.dsl.pipex.com] has joined #launchpad
salgadoSteveA, there's a 'common_reassign' in PersonContextMenu(). I guess I can remove that, right?08:03
SteveAdepends08:03
salgadodepends on?08:04
SteveAwell, common_reassign comes from the CommonLinks mixin class08:04
SteveAso, if you want to use the menu link at that point in the menu, then you need to leave it in.08:04
SteveAif you do not want to use it, then take it out08:04
bradbkiko: replied to your review of the front page patch08:05
salgadothis CommonMenuLinks is used only in browser/person.py? 08:05
salgadoSteveA, ^08:05
salgado(I mean, it's not meant to be used by other modules, I guess)08:05
bradbWho else has upgraded to Breezy for LP development?08:06
SteveAi have, on my laptop08:06
=== camilotelles_ [n=Camilo@200.128.80.250] has joined #launchpad
SteveAnot on my desktop yet08:07
bradbSteveA: Did dist-upgrade work ok?08:07
SteveAbradb: fresh install08:07
bradbah08:07
Kinnisonbradb: Mine was a touch difficult08:07
Kinnisonbradb: but I'm doing it from the dogfood archive08:07
salgadobradb, I'm not using for LP development, but the dist-upgrade went fine08:07
=== Kinnison is having to upgrade gina to cope with broken stuff
salgadothe only problem was caused by filesystem corruption, that I guess was there before the upgrade08:08
bradbWhen 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
SteveAsalgado: yes, the CommonLinks is used only there at present, because that's the place where the links were in common.08:08
SteveAthis will need refactoring if we get links in common across modules08:08
SteveAthen, they'll move into webapp/__init__.py08:08
salgadoSteveA, then, right now, the common_reassign shouldn't be "common", as it should exist only in teams pages08:09
SteveAokay, then you can move it into just the team's class, and change its name08:09
dilysMerge 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:19
kikowoo bradb woo08:20
mpt"Yep."08:20
mptwell done bradb08:21
bradbthanks :)08:21
=== camilotelles__ [n=Camilo@200.128.80.250] has joined #launchpad
bradbI've got a bunch more to land today, if the toolchain stays out of my way.08:22
kikoyou mean that was your last landing of today?08:22
bradbkiko: 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:23
=== kiko chuckles
bradbkudos to BjornT for taking on the task of reviewing that patch. :)08:25
bradbSteveA: 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:28
SteveAcool08:29
SteveAnice one brad08:29
SteveAi'm merging the latest now, so i can land some of mpt's menus work08:29
SteveA1 conflict08:29
SteveAbut need to see whether tests pass08:29
SteveAhow bogus is that?08:30
SteveA<<<<<<< TREE08:30
SteveAdef 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 None08:30
SteveA=======08:30
SteveA>>>>>>> MERGE-SOURCE08:30
SteveAwhy is that a conflict?08:30
SteveAit's clearly an addition08:30
kikolifeless once explained this to me, but I forgot08:31
kikoddaa might know08:31
ddaabecause diff3 sucks?08:32
ddaaSteveA: lemme guess, it's an addition at the end of a file?08:32
SteveAno08:32
bradbSteveA: it's called traverse_sourcepackage, IIRC08:32
bradbin traversers.py08:32
SteveAlib/canonical/launchpad/browser/sourcepackage.py08:32
ddaaSteveA: my guess would be that there is a deletion at this point between BASE and OTHER.08:32
ddaasince base is not shown, you get this puzzling message08:33
SteveAbradb: what did you do with the searchAsUser stuff?08:33
SteveAi don't see that name in the source08:33
bradbSteveA: just merged from rf into that branch. will resolve conflict and merge now.08:33
SteveAcool08:33
SteveAthought it was the one that just landed08:33
SteveAyou are truely a man of many branches08:33
bradbSteveA: the point about the traversal function is that i moved it into the right place08:34
bradbwhich appears to be what's causing the conflict08:34
SteveAi see, so that's just dead code now?08:34
bradbSteveA: did you change anything at all in that code? the function you show doesn't exixst here.08:35
bradbnor does it *exist* here08:35
SteveAthe first part is identical with what you moved08:35
SteveAso, i'll just delete it08:36
bradbsounds good08:36
=== gneuman [n=gneuman@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
sladenmpt: what did you do to #2112 an hour ago.  An email came through but it's impossible to tell from that what you did08:42
sladenmpt: I'm suspecting that you unduplicated it08:42
mptThat is correct, and it was only a few minutes ago08:44
mptgneuman, matsubara: Those bugs were about the same code, but they weren't duplicates08:45
kikosladen, it's a bug in malone -- I know about it but am unsure it's reported08:45
mptkiko: Then report it and get your interns to mark it as a duplicate if necessary ;-)08:46
kikompt, they are next to you -- please ask them yourself.08:46
mptkiko, they subscribed to launchpad-bugs five minutes too late, so they don't have a copy of the notification08:47
mpthum, I suppose that doesn't matter though08:47
kikoof course it doesn't08:50
kikothere is this great feature called "forward"08:50
sladenlaunchpad seems to be 'hung' for about the last 3 minutes.  The actualy server responds but no page comes back09:17
SteveAprobably some freak query on some page taking up all the resources09:18
SteveAwe have code waiting to be deployed that stops such things from happening09:19
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 unavailable09:22
sladenand back to being hung09:24
bradbKeybuk: I'm wondering: should the Sender: header be malone@... (which, AFAIK, doesn't exist), or the bug's address?09:25
Keybukmalone09:25
Keybuk:D09:25
sladenbradb: 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 fails09:27
=== Hieronymus [n=jeroen@cp413115-a.tilbu1.nb.home.nl] has joined #launchpad
Keybukexactly09:28
Keybukand set the envelope sender/return path (MAIL FROM:) to the same thing09:28
HieronymusWhen will Launchpad be back? Is there an ETA?09:28
bradbkiko: 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:30
bradb(well, From: header ML friendly, easy to reply directly to person who made the change, etc. but anyway, same question... :)09:31
kikobradb, is it difficult to add a sender line?09:32
salgadoHieronymus, it's back, already09:34
bradbkiko: No, but I don't know how that behaves with bounces.09:35
=== bradb muddles around the RFCs
kikobradb, any worse than we currently do? 09:36
bradbkiko: if it bounces to an address that itself would bounce then that would seem worse to me09:36
jblackddaa: ping09:36
dilysMerge 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
SteveAyay09:37
=== SteveA goes home
kikoyay yay yay09:37
mptand distro releases!09:38
SteveAmpt: mail me about any menus stuff for me to review tomorrow morning.09:38
sladenbradb: surely you want email replies about the bug to go back to the bug!09:39
sladenbradb: otherwise you have the same hassle with Bugzilla where you actually have to log into it09:40
bradbsladen: Yeah, of course we want replies to go back to the bug, hence Reply-To: <bugaddress>09:40
mptSteveA: I won't have time for any more before tomorrow, probably09:41
=== rbelem [n=rodrigo@200.246.97.164] has joined #launchpad
=== Burgundavia [n=corey@S0106000000cc07fc.gv.shawcable.net] has joined #launchpad
=== rbelem is now known as rbelem-afk
=== fr500 [n=admin@201.219.12.6] has joined #launchpad
sivanghey all09:49
sivangelmo: 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:50
=== Hieronymus [n=jeroen@cp413115-a.tilbu1.nb.home.nl] has left #launchpad []
ddaajblack: I might be sort on time09:52
bradbKeybuk: 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
ddaajblack: but here's the idea09:52
ddaajblack: our boys are complaining a lot about baz, I think the problem boils do to two things:09:52
Keybukbradb: sure09:53
bradbok09:53
ddaa1. not using available optimisations in particular hardlinked trees and fl_cow09:53
ddaa2. bad workflows that cause a lot of conflicts09:53
jblackYes09:54
elmosivang: yes you can, and it should work now09:54
ddaajblack: 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:54
ddaajblack: the deliverable of the BOF wolud be documentation, so I though of you as the BOF main.09:55
sivangelmo: ok, I'll test that again09:55
ddaajblack: I wanted to know how you felt about it before actually submitting the BOF to JaneW.09:55
sivangelmo: every how often is the cronjob for this changes is run?09:55
jordisivang: I wonder if you feel like translating one of the xml gnme manuals using xml2po to see if it works. :)09:56
elmosivang: it's not fixed ATM, I'm still working on it09:56
jordithere are some that are really short.09:56
jordisivang: no need to finish it even09:56
jblackI think thats a good idea. put me as first, and lifeless as second.09:56
sivangelmo: oh ok, let me know when you want me to test it09:56
elmosivang: now09:56
=== mdke_ is now known as mdke
sivangelmo: ok, sec.09:56
ddaajblack: okay, please remind me about it (I'm going to leave any minute now)09:56
jblackddaa: I'll try09:57
ddaaso I might forget about it09:57
sivangddaa: planning a launchpad documetnation bof?09:57
ddaasivang: a very specific kind of documentation, but yes09:57
ddaageneral documentations things are jblack's09:57
=== dand [n=dand@gw.datagroup.ro] has joined #launchpad
=== ddaa leaves
sivangelmo: you rock :)09:58
sivangjblack: I'm interested in both, where do I sign ? :)09:59
bradbddaa: 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 BOF09:59
jblacksivang: sivang: It'll be on the bof page09:59
bradbs/feedback/feedback and failure modes/09:59
=== terrex [n=terrex@84-122-83-29.onocable.ono.com] has joined #launchpad
sivangjblack: k10:01
sivangjblack: on the same as the distro team's you mean?10:01
jblackThere will be some master list at the bof, and once we get it on it'll be listed there and in the schedule.10:01
Keybukddaa: 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 issues10:02
bradb. o O (you said it dude)10:03
sivangjordi: what do we need to test?10:05
sivangjordi: habe you done changed to xml2po ?10:05
jordisivang: if it works at all for rtl langs10:06
sivangjordi: IIRC you thought it was Yelp's fault, did you sort that out?10:06
jordiI have no idea. That's what I'd like to find out. :)10:07
sivangjordi: 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 ready10:07
jordisivang: geyes-applet is trivial10:10
jordishould be done in 15 minutes.10:10
jordihttp://kvota.net/doc-l10n/by-modules.html10:10
sivangjordi: through rosetta ?10:11
jordisivang: nope10:12
sivangjordi: how ddo I fetch the xml for translation ?10:12
jordisivang: actually, have a look at desktop-feedback :)10:12
jordieven more tiny10:12
jordibut geyes is very easy10:12
jordiyou do the po file, and then convert to xml10:13
jordiI can tell you how10:13
sivangI need to get the source pkg right?10:13
sivangjordi: can you email me instructions instead? If I don't manage to finish it tonight I will do it tommorow while at work10:14
jordisivang@ubuntu.com?10:14
sivangjordi: you know it already :)10:16
sivangjordi: ah sorry, sivan@ubuntu.com10:16
sivangjordi: without the g10:16
jordik10:19
jordisivang: mailed10:22
=== GoRoDeK [n=gorodek@p5083D797.dip.t-dialin.net] has joined #launchpad
kikothere goes launchpad10:26
bradbKeybuk: 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
Keybukyes10:27
bradbok10:28
=== rbelem-afk is now known as rbelem
Keybuksender can be anything launchpaddy, it basically says "this is what made this e-mail"10:28
kikobradb, does this affect bjorn't bounce-into-librarian code?10:28
bradbkiko: no idea10:28
bradbwe're already setting Errors-To to that the same address in production, so it seems unlikely that this would cause any harm10:30
=== mpt wonders why we're talking about baz BoFs when we'll have switched to bzr by then ;-)
kikookay10:32
=== WaterSevenUb [n=WaterSev@azevedo.astro.up.pt] has joined #launchpad
bradbKeybuk: right, so, I've added this:10:40
bradb    >>> msg["Sender"] 10:40
bradb    'bounces@canonical.com'10:40
bradbkind of test all throughout bugnotifications.txt10:40
bradband a 2-liner in mailnotification to add the header10:40
bradbKeybuk: tests pass, can i merge it now?10:40
Keybukcool10:40
Keybukgo for it10:41
kikogo for it bradb 10:41
kikomake us proud10:41
bradbheh10:41
=== bradb goes for it
kikosometime soon we'll want to change the id to bugXXX@bugs instead of XXX@bugs10:41
kikostop getting caught in spamtraps10:41
kikothough perhaps this From: is less hated10:41
bradbmaybe bug.42@...?10:42
sivangjordi: ok, I got the mail. thanks10:42
sivangjordi: can I use ubuntu source pkg instead of fetching from CVS?10:42
=== terrex [n=terrex@84-122-83-29.onocable.ono.com] has joined #launchpad
jordisivang: most probably, but you'll have to run automake, not autogen10:45
sivangjordi: ok, then I'll try that , I will do it now for you :)10:45
=== dand_ [n=dand@gw.datagroup.ro] has joined #launchpad
sivangjordi: hmm,  ironically enough, geysy doesn't have it's own pkg, it's part of gnome-panel's src pkg 10:48
sivangjordi: is that ok ?10:48
jordignome-panel? it's not gnome-applets?10:49
sivangjordi: no, geys is in gnome-applets IIRC (minus late hour and full day of work)10:50
sivangjordi: hrm. you were right 10:50
ddaabradb: 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:54
sivangjordi: I can't find the POT in the CVS website10:55
Keybukthe 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 back10:55
Keybukit does it from time to time10:55
Keybukit's a known bug10:55
bradbddaa: the conflict insanity was mostly specific to the URL changes branch, not a regular thing10:55
ddaaKeybuk: 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:55
jordisivang: I gave you a link for the pot file before10:56
sivangjordi: it opened whole lots of modules, not specific to geyes10:56
Keybukddaa: indeed10:56
ddaaKeybuk: 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 well10:56
jordisivang: you can pic the pot file for geyes there10:56
jordipick10:56
=== Keybuk recommends morphine
sivangjordi: found it. I need some caffeine. Too bad I don't drink coffe anymore10:57
jordiI have never drank coffe :)10:58
bradbddaa: 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. :)10:58
ddaabradb: 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
ddaabradb: how does that compare to you?11:00
bradbi don't have exact numbers, except to say that it's a heck of a lot slower for me11:01
bradbi don't use fl-cow though11:01
ddaausing 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
bradbi was kind of hoping to not have to11:01
bradband, well, it's not packaged for warty11:02
bradber, hoary even11:02
bradbmaybe it's in breezy though? i haven't upgraded yet.11:02
salgadoddaa, about the months old trees; that matters only if not using --link? or it always matters?11:02
ddaabradb: 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
ddaabradb: ask lifeless for details, he's the debian maintainer for the thing.11:03
salgadoI'm using hardlinked trees without fl-cow and I'm not having any problems. fl-cow is only for safety?11:04
ddaasalgado: 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
ddaasalgado: yes11:04
ddaafl-cow is just there to avoid corrupting your revlib when using a hardlinked tree and being careless.11:05
salgadooh, 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 fresh11:06
ddaaI mean things like switching between launchpad head and the 1.22 production branch.11:07
dilysMerge 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
salgadoso, if all my branches are fairly recent, this shouldn't be a problem for me?11:09
ddaasalgado: the date at which your branch was created is hu...11:09
ddaairrelevent you will be assim.... gag11:09
=== bradb writes cherrypick mail
ddaawhat matters is how far in time it is wrt to the other branches you merge/switch your tree with.11:10
salgadoahhh, now I see11:11
kikogood ole bradb 11:12
mptlater all11:13
=== mpt [n=mpt@200-171-140-32.dsl.telesp.net.br] has left #launchpad []
ddaaSteveA: 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:14
ddaaSteveA: 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 for11:15
sivangjordi: I do make inside the geyes/docs dir, but it doesn't run11:22
sivangmake: *** No targets specified and no makefile found.  Stop.11:22
sivangI ran automake instead of autogen as you said11:23
jordisivang: need to run automake and configure11:23
sivangjordi: DOh, silly nme11:24
sivangconfigure running11:25
sivangjordi: done11:26
=== sivang trying to open the xml file in yelp
sivangweird. Something went wrong. I can't see my translations11:27
jordiyou see english?11:28
jordifrom the xml in the he/ dir?11:28
sivangjordi: yes, although I can swear I transalted about 3 strings11:37
sivangjordi: I think it ignored the he thingy altogether11:38
jordisivang: does the dxml have any hebrew at all?11:41
jordior is it just yelp?11:41
kikoddaa, why does baz consume so much memory?11:42
kikousers are baz branching launchpad and blowing up at 500MB11:42
kikolaunchpad dead again11:42
ddaabecause it's buggy?11:42
kikoand there's no way of working around this right?11:43
kikomaybe adding a cachedrev?11:43
=== matsubara [n=matsubar@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
=== kiko looks at ddaa for hope
sivangkiko: can someone already branch launchapd ? :)11:43
=== rbelem is now known as rbelem-afk
ddaakiko: 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:44
=== ddaa punts to lifeless
kikoddaa, how do I add a cachedrev manually?11:45
ddaakiko: I do not think that would help11:45
ddaabut it would not hurt to try...11:45
kikoI think it might11:45
kikolifeless added one for me once11:45
kikoit helped11:45
sivangjordi: the xml doesn't seem to have hebrew at all11:45
ddaakiko: baz cacherev REVISION11:45
=== Kinnison manages to branch launchpad quite easily
kikorock11:46
ddaaif 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:46
=== Kinnison prods his local mirror
kikookay11:49
sivangjordi: I found the "problem" I was translating inside the POT file (need some sleep), putting it in the PO itself, displays hebrew nicely on yelp11:49
sivangjordi: however, not alinged right. text is displayed correctly though11:49
sivangjordi: does this help?11:50
kikoddaa, how long should this take?11:50
kikoit's stuck running gpg11:51
=== Kinnison finds that caching a rev of launchpad takes a while
ddaasomething roughly proportional to (size of the checkout)*(baz network suckiness)11:51
ddaaIOW a loooong time11:52
=== Kinnison finds that the cacherev mostly takes the time of tar
Kinnisonassuming it's already in the revlib11:53
kikoI wonder why the last cacherev is 232211:53
kikoif we are in 245911:53
ddaamh11:53
ddaathat's a bug11:53
kikoI see11:53
Kinnisonsounds like the autocacherev isn't working11:53
kikosounds like it 11:53
ddaait's strongly advised to make lifeless miserable about it until the baz used by pqm is fixed.11:53
kikothat's why baz is eating up so much memory11:54
kikolifeless is all systems go on avoiding taking a pie in the face I think11:54
Kinnisonkiko: just add intermediate revs to your revlib11:54
kikoI am happy11:54
ddaakiko: you are a manager, you are more qualified than I for harassing people11:54
kikoif I take a pie in the face to make everybody more productive great11:54
kikowhat isn't great is that johan tested bzr yesterday and said that branching was slow11:54
kikoI wonder what he means by slow11:55
=== matsubara [n=matsubar@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
Kinnisonkiko: was that on a system with local disc?11:55
ddaakiko: IAUI the bzr guys are cooking up a Twisted-based networking support that does not suck.11:55
kikoKinnison, indeed it was11:55
ddaaweird11:56
Kinnisonkiko: coo11:56
kikohe hasn't used baz yet though11:56
ddaaI cannot see what could possibly take a long time in a bzr branch...11:56
kikoeverything's relative if you haven't used baz11:56
ddaaha... I guess it was doing ~ "cp -R"...11:56
ddaakiko: I heard there are things much worse11:57
ddaaCVS for example11:57
kikoit can't be slower though11:57
kikoand launchpad dies11:58
=== ddaa gives kiko a larch
kikowas larch fast?11:58
ddaaokay, see baz is faster than tla11:59
ddaanow, consider something about 50x slower than tla11:59
kikomy imagination isn't so good12:00
zygahow much is baz faster than tla?12:00
ddaahard to measure, the speed up come for a good part from things like automatic cacherevs12:01
zygaah12:01
ddaabut I'd say about 2x faster12:01
zygaI'm a die-hard tla addict and never bothered to look seriously at baz12:02
ddaasometimes more, when e.g. the backbuilder kicks in.12:02
zygathis gives me another reason to change habbits12:02
Kinnisonthe backbuilder was cool12:02
zygadoes baz suck less than tla over nfs?12:02
ddaaI think it sucks about the same.12:02
Kinnisonanything FS-heavy will suck over NFS12:02
ddaait still abuses the FS just as badly12:03

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