=== Ursinha-afk is now known as Ursinha [04:13] stub: Yes yes yes kill BST. [04:22] Annoying DBA's since 2006 [04:23] spurious-apostrophes-is-us [04:31] BST ? [04:36] Bull Shit Time [04:37] Better to run in Unambiguous Computer Time [04:37] heh [04:37] I know what it meant, I was wondering what the impact was [04:37] didn't you set the test tz to be argentina or something ages back ? [04:47] Launchpad copes, but it confuses users. wgrant was referring to the recent bug that revision timestamps are in BST (and we don't display the timezone either). [04:48] https://bugs.edge.launchpad.net/launchpad-code/+bug/594591 [04:48] <_mup_> Bug #594591: What timezone does codebrowse display? [04:48] oh [04:49] in loggerhead or lp core ? [04:49] sounds like loggerhead [04:51] Yer. Elsewhere we use 'x hours ago' or just the date, which is human friendly I guess but not cache friendly. [04:54] its friendly enough [04:54] pull the cached object, format, ship [04:54] Not when you are trying to cache the formatting [04:55] thats true, but formatting single revs isn't where the bottlenecks for loggerhead are [04:55] its also cachable for the granularity of your format [04:55] e.g. 60 seconds for 'last X minutes [04:56] '60 minutes for 'last Y hours [04:56] and days for 'Z days ago' [04:56] if you're getting multiple requests a second, a 60 second cache is plenty [04:57] particularly as its self bounding - after an hour it will scale back, and so on [05:13] I'm thinking more about Launchpad. Marking up out content is slow. [05:15] Do we have a good analysis of where time is spent? [05:15] Less so now that thumper switched off bug-link tooltips so rendering text containing a bug tag no longer issues database queries [05:15] stub: it does for faq references still [05:16] There is a dropin TAL replacement called Chameleon, but unfortunately isn't dropin-enough so we are still using the default TAL rendering engine. [05:16] stub: That sounds like it could easily be done with memcached... [05:16] thumper: it won't when I get done [05:16] Although python-memcached seems to be very slow. [05:16] lifeless: I'm in general agreement with you about privacy [05:16] lifeless: I think we need careful analysis of it as it will touch everything [05:16] stub: understood; I don't want to make things slow :). We could still get 60 second caches out using the above strategy for LP. [05:16] wgrant: Still sucks the first time you render it, unless you prepopulate memcache and have some way of ensuring objects don't get evicted. [05:17] * thumper is still trying to do personal 360 reviews even though they are late [05:17] stub: Right. [05:17] thumper: year, I had two 360's turn up late, forgot about em, and remembdered today [05:17] better todo than not todo [05:30] lifeless: do you have a few minutes for a skype call? [05:30] sure [05:30] let me grab my mic from lynne so you don't get feedback [05:30] ok === jamesh_ is now known as jamesh [05:55] thumper: you have mail [06:21] don't use python-memcached [06:21] you want to use the one based on libmemcached [06:24] what is it called? [06:26] python-libmemcached I think [06:26] also, I started a new one at one point - can't remember if I ever released it [06:27] have you played with gizzard / [06:35] no... [06:37] ew. they're using thrift [06:38] The other memcached library seemed flakier than python-memcached. Not sure what the performance issue is - it seems very thin. [06:40] It would be trivial to switch though - we are only using the minimal API at the moment if they are different (get/set single keys at a time) [06:40] the main reason to switch would be getting distributed support that's in libmemcached [06:41] Possibly because of versions of libmemcached in hardy too - not sure what is there. [06:41] that's where all the partitioning/load-balancing is handled - oh you need hardy [06:41] yeah, that's gonna be old [06:41] I've got libmemcached backports in my ppa I believe [06:41] I may have deleted hardy though... === Ursinha-afk is now known as Ursinha [06:42] yeah, sorry. no hardy [06:42] If it is worth upgrading we can worry about it after the lucid upgrade. [06:42] What is the distributed support? [06:43] the key hashing algorithms to distribute across multiple memcached's is implemented in libmemcached rather than server side [06:43] it's conceivable that the pure-python one could have re-implemented all of the hashing stuff, but rather unlikely [06:45] The pure python library calculates the hashes client side, and there is a hook to enable server side if you want. [06:46] no... all client side. that hook is to be compatible with an older server I think. === almaisan-away is now known as al-maisan === al-maisan is now known as almaisan-away [08:00] Morning kids. [08:01] yo dad [08:01] gmb: Morning. [08:02] spm, This morning, I feel old enough to be your dad. [08:02] Morning wgrant. [08:02] gmb: that's a scary scary place to be, given how old my dad actually is [08:02] Did you get an email from that ec2 test of mine you ran? [08:02] Because it landed. [08:02] But I didn't get an email from it. [08:03] Nor the other one, which probably failed. [08:03] wgrant, Yes, I did; I misspelt your email on the command line, that's why you didn't get one :). [08:03] (I wrote wrant, it turned out) [08:03] gmb: Ah. So maybe mars just didn't fire my other one off, and EC2 isn't being crap again. [08:03] wrant seems more accurate somehow... [08:04] Heh. [08:04] wgrant, Possibly. You have to deliberately put emails in as CLI arguments, so maybe he ran the tests but forgot to add you as a recipient. [08:04] gmb: Doesn't ec2 land do that automagically? [08:04] * spm is depressed he hasn't noticed that potential childish name misspelling tease. right under his nose all this time. shame. [08:05] spm: Maybe I need to get wgrant.com, and start a blog named WG-rant. [08:05] BWHAHAhahahahahaha [08:05] wgrant, Yes, but I ran (and I suspect mars ran) ec2 test, just out of habit when running others' code through ec2. [08:05] wgrant, That would be full of win. [08:05] You could have a deathmatch with Matt Garrett. [08:06] He'd surely win. [08:10] Starbucks appear to have picked "bizaare Ska tracks" as their CD this morning. Time for Rhythmbox. [08:14] good morning [08:42] I need some crappy javascript to sort tables by clicking on the column headers [08:42] Or some good javascript - I'm not fussy. [08:42] we had that [08:42] 5 years back, just uncommit [08:42] in fact, I think some tables *still* have it [08:44] But I'll worry about that after a swim [08:58] Can someone please ec2 land https://code.edge.launchpad.net/~wgrant/launchpad/bug-592935-hide-disabled-ppas/+merge/27411 and https://code.edge.launchpad.net/~wgrant/launchpad/bug-592914-recipe-distroseries-order/+merge/27415? [08:59] wgrant: sure [08:59] jelmer: Thanks. [09:09] Good morning [09:13] Hi stub (or anyone with sql-foo), if you have a chance, can you take a look at the following options and let me know which of the two (left join or except) would be better? http://pastebin.ubuntu.com/450490/ [09:14] erm, sql-fu ;) [09:15] (with both queries the result will be limited to a batch) [09:17] Right. Modules without an __all__, which are used in indirect imports, first against the wall when I become President of the World, okay? [09:19] You have my vote, as long as removing all glob imports is also one of your core promises. [10:51] where is the ec2 land code these days ? [10:52] ./utilities/ec2 [10:53] ./lib/devscripts/ec2test for the meat. [10:54] I meant as a branch url ) [10:54] what branch is that in [10:55] it's in the launchpad codebase [10:55] thanks [10:56] http://bazaar.launchpad.net/~launchpad-pqm/launchpad/devel/files/head:/lib/devscripts/ec2test/ [10:59] hah [10:59] bad mime type, naughty bobo [11:00] or,. [11:00] email module being confusion, no worries [12:36] hnyarg testfix mode? [12:37] bigjools: Is the package metadata thing being designed with the PPA index page as a possible future use case? [12:38] no [12:38] :( [12:39] but it would be easy to do [12:39] just not a priority [12:39] Well, as long as the format isn't unowkrable. [12:40] It'd be great to be able to say, if the meta data is there describing the apps, use it, otherwise use the installable binaries... [12:40] Exactly. [12:42] Anyone got time to testfix lp.code.browser.tests.test_sourcepackagerecipe.TestSourcePackageRecipeView.test_request_builds_page? [12:43] The order thing? [12:44] wgrant: looks like [12:44] Warty & Secret changed places in some test output. [12:44] I have a branch in EC2 which orders by distroseries.version. I wasn't aware the order wasn't stable... I was just irritated over the weekend that it was arbitrary. [12:45] So it will probably be rejected for the thing that it fixes :( [12:45] wgrant: the irony. [12:46] wgrant: I guess this was Aaron's branch, and he's not here yet... any other interesting background you can give me? [12:47] I don't know why it's just started breaking now. [12:49] wgrant: hmmyeah... I don't see anything in the past day of changse that would particularly have effected this. [12:50] It may be an indeterminate ordering. [12:50] What was that sound? Ah, darkness fell. Goes so fast here. [12:50] Oh. [12:51] Oh. I hate you. [12:51] Gaaaah. [12:51] So, I was told to use attrgetter('name.version') rather than lambda ds: ds.name.version [12:51] That worked locally, although I was surprised. [12:51] And it just failed ec2. [12:51] wgrant: did you see those emails? [12:51] Turns out that python2.5 doesn't like that. [12:51] python2.6 is fine with it. [12:51] Gahl [12:52] So, https://code.edge.launchpad.net/~wgrant/launchpad/bug-592914-recipe-distroseries-order/+merge/27415 [12:53] wgrant: errr when you say "I hate you," who exactly are you talking to? [12:53] That should work on 2.5. [12:53] jtv: Python. [12:53] ah :) [12:54] Does anybody have a 2.5-using system that they can test that on? [12:54] 'bin/test -t sourcepackagerecipe' is sufficient. [12:56] (silence) [12:56] * mwhudson thinks attrgetter is an abomination [12:57] wgrant: I can run it through ec2, and then just land it [12:57] * jtv wonders: if it works for "foo.bar" will it also work for "foo.invokeSomeMethod(param, arg).bar"? [12:58] mwhudson: This new variant seems to be. [12:58] The old one wasn't too bad. [12:58] maybe i exaggerated [12:59] s/abomination/solution to a non-problem/ [12:59] What, you don't hate lambdas like Launchpad policy does? [12:59] correct [12:59] Good. [13:09] noodles775, I'm sure you know this: can I give utilities/ec2 options like bin/test's -t to control which tests will run? [13:10] I don't actually... I'd use the source to find out... [13:10] I did that, but it's not incredibly transparent. [13:12] jtv: utilities/ec2 --help test [13:12] Shows how to pass test options. [13:12] So, I was told to use attrgetter('name.version') rather than lambda ds: ds.name.version [13:12] What is the rationale for that? The lambda looks so much nicer to my mind [13:12] noodles775: damn, I should've thought of that. :) Thanks. [13:12] maxb: The style guide just about forbids lambdas. [13:13] And the exception to that is recent. [13:13] * noodles775 thinks it's another case of "use it sensibly" [13:13] s/it's/it should be/ [13:13] It explicitly says that one should use attrgetter instead if possible. [13:14] And fails to provide plausible rationale for this :-( [13:14] which broke your test on 2.5 :/ [13:15] ISTR the review docs on the old wiki saying something about attrgetters as well... something about them being unsafe? Never really got what it was about. [13:31] "Use of the built-in hasattr function should be avoided since it swallows exceptions." ? [13:33] http://bugs.python.org/issue504714 [13:58] wgrant, I did not get a mail for that branch. Not sure why, maybe the run itself did not start, and I no longer have the console I started it in. [13:59] wgrant, do you need me to do another run? Or did gmb pick it up? [13:59] mars, I didn't pick it up since I didn't know what happened to it. [13:59] Probably best to run it again. [14:02] mars, gmb: jelmer reran it. [14:02] But it failed. [14:02] Since attrgetter('foo.bar') doesn't work on Python 2.5. [14:03] So I've reverted to the lambda. [14:03] wgrant, yeah, I thought of that when I saw your reply later that night [14:03] But now devel is in testfix. [14:03] I have a hard-earned "check in Python2.5" mental switch after trying to work in 2.6 for a while [14:04] 2.6 has a surprisingly large number of obviously useful features that are not in 2.5. You get addicted to them. [14:04] Heh. [14:04] Yes... [14:05] I think 2.4->2.5 might have been worse, though. [14:05] But we can do away with 2.5 in a month or two... [14:05] yes, looking forward to that [14:08] Hm. [14:08] Someone has landed that branch now, anyway. [14:08] jtv: Was that you? [14:08] wgrant: yes [14:08] like I said [14:08] Thanks. [14:09] Thank _you_. Easy testfix. :) [14:24] ooi, do we know when we will know when LP datacentre machines start going lucid? [14:27] https://code.edge.launchpad.net/~wgrant/launchpad/bug-592935-hide-disabled-ppas/+merge/27411 failed EC2 because of the devel breakage. [14:27] Can somebody please send it back? === henninge_ is now known as henninge [14:34] wgrant, I'll try and lp-land it [14:35] I wonder if it will bother to email anybody this time. [14:49] wgrant, it is on its way [14:50] but the buildbot pass is a while away - 7 hours [14:52] But it should be untestfixed already, right? [14:53] yes [14:53] jtv's branch did that [14:53] mars: it was wgrant's branch... I just landed it as a testfix [15:42] gary_poster, flacoste: I need help with a CheckBoxWidget: http://pastebin.ubuntu.com/450614/ === matsubara is now known as matsubara-lunch [15:44] sinzui: not sure. I'll look at setUpWidget. [15:45] gary_poster, flacoste: I neglected to mention that I am using GhostWidget to suppress rendering. I now think (after making my failure public) that the problem is that GhostWidget is really a text widget, it does not covert values of 'on' to True [15:46] That must be the case. I should subclass the GhostWidget or implement a BooleanGhostWidet [15:46] sinzui: that jibes with the suggestion that I was trying to validate before making: make the widget handle the value. [15:47] so, agree [15:47] thanks gary [15:47] sinzui: why do we need a ghostwidget in the first place? [15:47] welcome [15:49] flacoste, it is a mechanism we use to allow a form to manage manage a field in a normal fashion, but permit another widget to do the rendering. We do this when we want to compose a compound widget that interleaves subordinate fields into the widget's primary field [15:50] flacoste, eg, we show the licence_info field adjacent to the license widget because it is only relevant when the user choose two of the 25 items [15:56] ok [15:57] sweat a 6 line fix by converting the Ghost into a mixin [15:58] ow sweet. I hate English === matsubara-lunch is now known as matsubara === jtv is now known as jtv-afk === salgado is now known as salgado-lunch === EdwinGrubbs is now known as Edwin-lunch [17:49] how do I disable edge redirection [17:50] jml: Footer of any page on the right: "Disable edge redirect". [17:51] jpds, thanks. === Ursinha is now known as Ursinha-lunch === beuno is now known as beuno-lunch === henninge is now known as henninge-afk [18:20] night === salgado-lunch is now known as salgado === beuno-lunch is now known as beuno === henninge-afk is now known as henninge === Ursinha-lunch is now known as Ursinha === Edwin-lunch is now known as EdwinGrubbs [19:36] matsubara: you were saying you something like bug 595163 fixed elsewhere? Do remember where? [19:36] <_mup_> Bug #595163: TypeError raised when query string contains a list [19:36] henninge, just a sec. let me find it [19:41] henninge, https://bugs.edge.launchpad.net/bugs/213366 [19:41] <_mup_> Bug #213366: OOPS in +builds page passing a list as the query string [20:12] matsubara: so, that fix turns the TypeError into an UnexpectedFormData. Is that an acceptable fix? [20:13] henninge, yes, I think so. that way the user will be informed that what he's trying to do is wrong and we won't record an oops for it [20:14] ok, cool ;-) [20:14] matsubara: thanks, that's really easy now. [20:14] I hope [20:14] ;) [20:21] :-) === almaisan-away is now known as al-maisan === al-maisan is now known as almaisan-away [22:14] thumper: Hi. Given the status of bug 327126 is it OK if I go ahead and create a small bzr-svn import from apache.org ? [22:14] maxb: yep [22:15] lets give it a go... (I have doubts) === salgado is now known as salgado-afk [22:18] bzrlib.errors.NotBranchError: Not a branch: "/subversion/trunk/subversion/tests/cmdline/svntest". [22:18] boo [22:18] (yes I did want just the svntest library in its own branch) [22:21] maxb: we do have some apache imports working [22:21] yeah, I think I've been caught out by bzr-svn being too clever for its own good [22:25] skynet is on the way === matsubara is now known as matsubara-afk