/srv/irclogs.ubuntu.com/2009/11/26/#launchpad-dev.txt

mwhudsonbigjools: the idea is to have the actual recipe part (the payload?) or both manifests and recipes stored the same way, in some SourcePackageRecipeData table00:00
mwhudsonthen SourcePackageRecipe (the editable thing) and SourcePackageRecipeBuild will both refer to this table00:00
mwhudsonSourcePackageRecipe will have the stuff needed to locate the recipe00:00
mwhudsonthere will be a linking table linking SourcePackageRecipeData and Branch00:01
bigjoolsok00:01
mwhudsonSourcePackageRecipeBuild will mostly be like Build i guess00:01
bigjoolsI can pore over this on my flight home on Friday00:01
mwhudsonand we'll add a (nullable) link from SourcePackageRelease to SourcePackageRecipeBuild00:02
bigjoolsI am not working tomorrow (Thursday here)00:02
mwhudsonok00:02
mwhudsoni'll send my followup mail to your gmail address too00:02
bigjoolsI guess the FK makes more sense in a way if you treat it like "this package came from a recipe, here it is"00:03
bigjoolsok I am going AFK for a bit but I will check back before I go out00:03
mwhudsonok00:04
mwhudsonthanks for the hints00:04
mwhudsonbigjools/wgrant: what creates Builds out of curiosity?00:05
wgrantmwhudson: An upload.00:05
wgrantOr queue-builder, but not normally.00:05
mwhudsonwgrant: so they're created at the same time as sourcepackagerelease?00:05
wgrantmwhudson: Right.00:06
mwhudsonok00:06
wgrantsinzui: Is there a good reason that lp.registry.interfaces.sourcepackage.SourcePackageFileType doesn't live somewhere like lp.soyuz.interfaces.files?00:14
mwhudsoni guess this build from recipe plan doesn't have an analogue of sourcepackageupload really00:20
mwhudsoni wonder if that's a problem00:20
wgrantYou mean a PackageUploadSource?00:21
wgrantOr something else?00:21
mwhudsonsorry00:22
mwhudsonsourcepackagerelease00:22
wgrantAh.00:23
wgrantThat would be a manifest, I guess, but there isn't one of those yet...00:23
mwhudsonyes i guess so00:23
thumperdamn00:27
thumperup arrow in the terminal to get 'make run' takes longer if the last was 'make clean run'00:27
wgrantHeh.00:27
mwhudson:-)00:28
mwhudsonthumper: make schema run is worse i think00:28
thumpernot any more00:28
thumpermake schema runs faster for me than make clean biuld00:28
thumperhah00:29
thumperbent javascript to my will yet again!00:29
thumper...00:30
thumpergrr00:30
thumpernot working00:30
* thumper needs food badly00:30
wgrantmwhudson: Are jtv and yourself the only non-Soyuz BFB people?00:33
mwhudsonthumper: javascript is such a tease like that00:33
mwhudsonwgrant: i guess00:33
mwhudsonwgrant: jml is pretty involved too, and some work from the bzr end of course00:33
nhandlerJust out of curiosity, is there an easy way to manage launchpad branches? In the past, I've followed the guide on the wiki to get the source, made my changes, commited, and pushed. Then, once it was accepted, I reverted my changes and updated the branch. Is there a better workflow?01:02
mwhudsonnhandler: you shouldn't need to revert the branch01:03
wgrantnhandler: You should probably have a separate branch for each piece of work.01:03
mwhudsonnhandler: i have a slightly extreme set up, i have repo with no trees and a directory that contains lightweight checkouts from the repo01:03
wgrantAh.01:03
mwhudsonand make a new branch + checkout for each new bit of work01:04
nhandlerwgrant or mwhudson: How would I go about doing that? Would I just pass an additional argument to bzr commit once I make my changes?01:05
mwhudsonnhandler: no01:05
mwhudsoni do bzr cb trunk feature-X; cd feature-X; hack hack hack; bzr ci; bzr push01:06
mwhudsoncb is an alias for "cbranch --lightweight --hardlink"01:06
* wgrant is boring and uses 'bzr branch devel some-feature'01:06
nhandlerOk thanks a lot01:08
nhandlerAnd I'm not sure if it is just backed up, but I haven't gotten an email yet bac01:09
wgrantnhandler: it has only been 2.5 hours, hasn't it?01:09
wgrantThe test suite takes more than 3.01:09
nhandlerwgrant: I wasn't aware of that, thanks01:10
wgrantThere's a looooot of sloooow tests.01:10
mwhudsonbigjools: http://pastebin.ubuntu.com/328119/ <- updated patch, if a wad of sql makes sense to you :-)01:16
lifelessmwhudson: wgrant: bzr switch -b FTW01:16
lifelessor branch --switch too01:16
* mwhudson definitely wants to write some code that uses this before landing the patch tho01:16
mwhudsonlifeless: i like my working trees to be named after the branch01:16
wgrantlifeless: Handy.01:16
wgrantlifeless: Although I'd prefer it if it shelved my uncommitted changes, like switch-pipe.01:17
lifelesswgrant: patches reviewed.01:17
mwhudsoni guess i could abuse branch --switch to something like that but the tree build time for launchpad is ok now tbh01:17
thumperI use lightweight checkouts too01:25
thumperalthough --hardlink isn't supported in 2a yet01:26
thumperlifeless: what does branch --switch do?01:26
thumperlifeless: can it rename the directory?01:27
lifelessthumper: no01:28
=== jelmer_ is now known as jelmer
sinzuiwgrant:  no reason. We have not spent much time breaking the larger classes into domains yet. Your welcome to reorganise them.02:42
nhandlerI'm thinking about fixing LP Bug #400393. It looks pretty straightforward. I personally am in favor of mpt's suggestion, but I think either would work.03:21
mupBug #400393: "Updating branch..." message reads oddly <trivial> <Launchpad Bazaar Integration:Triaged> <https://launchpad.net/bugs/400393>03:21
* wgrant wonders why people want digests.03:31
mwhudsonwgrant: because they want to make their email harder to read i guess03:32
lifelessbecause they don't want that mail at all03:33
mwhudsoni guess03:34
* mwhudson hates at the fact that the launchpad database only accepts file://localhost/ urls but bzrlib only accepts file:/// ones for the first time in a while03:44
lifelessmwhudson: you can fix lp if you like ;)03:48
mwhudsonyeah, probably the right thing to do03:48
mwhudsonwhere's that dba03:48
mwhudsonlifeless: can i fix bzr too?03:49
lifelessmwhudson: yes.03:49
lifelessfile:///localhost/ should be accepted already, I thought.03:49
lifelessbah, s////////03:50
mwhudson:)03:50
mwhudsonanyway, nope, url_to_local_path still complains in trunk03:53
mwhudsonman i suck at typing my gpg passphrase today04:02
ajmitchjust don't type your passphrase in irc04:02
mwhudsonwell, judging by today's performance i wouldn't be able to04:03
mwhudsoni think this traceback means i should stop work for the day: http://pastebin.ubuntu.com/328196/04:32
wgrantmwhudson: I would say so.04:32
mwhudsonhm, probably python version fun actually04:33
wgrantI considered that, but it looks too obscure.04:34
mwhudsonyes04:34
mwhudsonbzrlib was built with 2.604:34
mwhudsonpretty obscure yes :)04:34
marswhy is edge still running 9928?  Should it not have updated last night?05:39
wgrantI heard whispers of a couple of security fixes that I haven't seen landing on public branches, so perhaps updates are turned off for those.05:41
marsI don't see anything in the branch lists.  Could have been a while ago, in a sub-component, or I'm looking at the wrong list.05:45
spmmars: was a landing made by a lp-bzr dev in northern NZ; it would have broken at least one edge server, so we disabled06:07
jmlmwhudson, I've replied to your "first cut" thread.09:05
stubAnyone know of any simple Python libraries to help write /etc/init.d type control scripts? I'm getting sick of hacking up makefiles or shell scripts.09:12
wgrantstub: Upstart!09:12
stubHmm... user services is a planned feature09:13
stubThis is all in tree dev stuff09:14
wgrantAh. Sad.09:14
wgrantI don't know of anything Pythony to help generate the boilerplate.09:14
jmlstub, you could make a quickly template, perhaps10:02
stubA whatly template?10:02
jmlstub, 'quickly' is a python app made by didrocks and rickspencer3 that is all about making projects quickly.10:03
jmlbasically by doing the boilerplate generation for you10:04
jmlmaybe that's not what you want.10:04
BjornT_danilos: didn't your patch to make test_template_listing_admin_links pass land?10:11
=== lionel__ is now known as lionel
=== matsubara-afk is now known as matsubara
jtvDoes anyone know of a clever way to "mock up an import"?12:15
jtvI'm trying to write a test for test the class we use to run tests on EC2 instances, but afaict it imports python modules that are available in the EC2 image but not in LP itself.12:17
jmljtv, you can insert something into sys.modules, I think.12:28
jmljtv, it's just a dict.12:28
jmljtv, but you can probably do something nicer by splitting the code you are testing away from the code that's difficult to test.12:28
jtvjml: yes, I guess I'll do that12:30
jtvthe latter12:30
jmljtv, good call :)12:30
jtvI wonder if it'd be terribly bad of me to isolate the invocation of the function I can't import, _plus its import_, in a method that I can override for the test.12:31
jmlit depends.12:33
jmlwithout context, it sounds a little dodgy12:33
jtvjml: wait, I'll paste12:36
jtvjml: https://pastebin.canonical.com/25062/12:37
jtvdodgy, yes, but perhaps not so compared to not testing this stuff at all and suffering regular breakage12:37
jmljtv, you want to test that method?12:38
jtvjml: no, I want to test the class I put it in without ImportErrors12:38
jtvAnd incidentally of course I also want to mock up the call to that function it wraps.12:38
jtvWithout this my test can't even import the class it wants to test12:39
jmljtv, I'd suggest changing it so that the method you've added only gets called if a launchpad login is not provided as a parameter.12:39
jmljtv, also, I can tell you how to import that12:39
jtvjml: I'd really hate to change the API though, just to test a fix for the current widespread breakage12:40
jmljtv, from bzrlib.plugin import load_plugins; load_plugins()12:40
jtvjml: how will that affect the other stuff we do in ec2?12:41
jmljtv, I don't know.12:41
jtvhmm12:41
jtvand it's not tested (which is what I'm trying to make a small first step away from)12:42
adiroiban1how come that this URL load a answer component, while it's in the translations namespace ? https://translations.launchpad.dev/rosetta/+addquestion12:42
jmljtv, what do you mean it's not tested?12:42
jtvjml: the class I'm trying to write a test for isn't tested12:42
jtvI don't know how much more of this stuff is around the corner, so frankly I just want a quick fix for now12:43
jmljtv, devscripts.ec2test should be running load_plugins() on import.12:43
jmljtv, running load_plugins() is the quick fix.12:43
* jtv tries12:44
danilosadiroiban1, it might be registered on more than just translations layer/facet12:44
danilosadiroiban1, you'd need to look into lp/answers/browser/configure.zcml to see what's the case there :)12:45
adiroiban1i tried to search the answer/browser/configure.zcml for "translations" .... but there was not such hint12:45
danilosadiroiban1, btw, I've seen your branch, I'll take a look later, but I don't understand why you've got that big wdml change in there? how did you get it?12:45
jtvjml: I guess I'd have to load_plugins() from the module that currently tries to import that function?12:46
adiroiban1danilos: regarding the branch. I fixed it :) ... don't know how I got that12:46
jmljtv, yes12:46
jmljtv, is this module in the devscripts.ec2test package?12:46
jtvyes12:47
danilosadiroiban1, ok, cool12:47
adiroiban1danilos: i think that file was modified by one of the debugging scripts.... but I have reverted and pushed a new revision... it should be nice and clean now12:47
jmljtv, then load_plugins should already have been called by the time you import it.12:47
danilosadiroiban1, well, it's not registered in the translations facet, it's just not limited to the answers one :)12:47
jmljtv, see devscripts/ec2test/__init__.py12:47
jtvjml: not much luck anyway:12:47
jtv        from bzrlib.plugin import load_plugins12:47
jtv        load_plugins()12:47
jtv        login = get_lp_login()12:47
jtvNameError: global name 'get_lp_login' is not defined12:48
jmljtv, it doesn't work like that.12:48
jmlhttps://pastebin.canonical.com/25063/12:48
jmlhttps://pastebin.canonical.com/25064/ should also work12:49
* jml apologises for using the secret pastebin12:49
jtvjml: first one doesn't...12:50
jtv  File "/home/jtv/canonical/lp-branches/bug-488695/lib/lp/scripts/utilities/importfascist.py", line 163, in import_fascist12:50
jtv    module = original_import(name, globals, locals, fromlist)12:50
jtvImportError: No module named launchpad.account12:50
danilosadiroiban1, right, and about the answers, this is what would make the difference: http://paste.ubuntu.com/328447/ (though, I am sure some links would break if you just did this, which is why nobody ever bothered to fix it up for all the pages)12:52
jmljtv, I'll try.12:52
adiroiban1danilos: still lost in url traversals ... and a quick search on the net was not enough for finding a good tutorial12:53
jtvjml: btw I hope the "thank you for helping with this" is implicit, but just in case: thanks for helping with this.  :-)12:53
danilosBjornT_, btw, the test passes on db-devel for me locally, I'll try to figure out what's going wrong12:53
danilosadiroiban1, I don't think there's one, we are doing a lot of custom things in LP as well (like one layer for each application/virtual host)12:54
danilosadiroiban1, if I were you, I wouldn't worry about it too much, because Zope is very flexible in how you do it, and we use all of those possible ways :)12:55
adiroiban1danilos: i was just looking at bug 193750 , and this is the only reason I bumped into url traversal .... otherwise I try to avoid it :)12:56
mupBug #193750: remove references to +addticket <trivial> <ui> <Launchpad Translations:Triaged> <https://launchpad.net/bugs/193750>12:56
jtvjml: I think I'll just circumvent this entire factory that's giving me trouble.12:57
jmljtv, ok12:57
jtvjml: I'll still have to silence the import error of course12:57
jtvhow about I move the import into the factory, so circumventing the factory also circumvents the import error?12:58
adiroiban1danilos: but I learned something today about the usage of layer from configure.zcml12:59
jmljtv, fwiw, get_lp_login is called on the client side13:00
jmljtv, so if the 'ec2' command is working at all, it should be able to be imported13:00
jtvjml: any idea why I can't import it from the test?  Sorry for leaning so much on you here; I'm terrified of getting stuck on this silly detail!13:01
jmljtv, which means that something in the test environment is substantially different to something in the normal usage environment13:01
jmljtv, I don't know what that difference is13:01
jmljtv, and I would figure out that difference using normal debugging techniques.13:02
jmlbut I'm not going to do that, because now I am going to have lunch and start doing the things that I ought to have started four hours ago.13:03
jtvjml: I understand... I'm almost out of time myself.13:03
jmljtv, np13:03
jmljtv, well, good luck. sorry I couldn't help more.13:03
jtvhope to have good news tomorrow...13:04
danilosadiroiban1, :)13:10
danilosBjornT_, entire TranslationsWindmillLayer passes for me13:10
adiroiban1danilos: should I then look at bug 192775 ?13:10
mupBug #192775: Notification after upload refers to "1 files" <trivial> <ui> <Launchpad Translations:Triaged> <https://launchpad.net/bugs/192775>13:11
danilosadiroiban1, sure, though 193750 is easy as well (it's about replacing addticket with addquestion, not really a big deal :)13:12
adiroiban1danilos: i can replace that text, I was thinking it also requires adding a "sane" link13:13
danilosadiroiban1, btw, for Zope Page Templates, you might want to bookmark http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition/ZPT.stx and http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition/AdvZPT.stx (from ZopeBook; it's for Zope 2.x, but these chapters are very much still relevant)13:13
adiroiban1to answers.lp.net ... and not to translations.lp.net/rosetta/+addquestion13:13
danilosadiroiban1, you can construct such a link in the view using canonical_url with rootsite='answers', but I wouldn't worry about it for now13:15
bacjtv:  are you working on the ec2 shutdown problem?13:15
jtvbac: yes13:15
bacjtv:  how's it going?  i was looking at it a bit too13:16
jtvbac: the fix is easy, adding a test is hard13:16
bacjtv: :(13:16
adiroiban1danilos:  ok. I have already changed that text in my local branch (replace all +addticket with +addquestion)... I will add that branch as a merge proposal13:18
danilosadiroiban1, cool, do make sure to run the full test suite, or at least all the translations tests (bin/test -vvt lp.translations)13:19
adiroiban1danilos: ok13:20
danilosadiroiban1, also, it's useful to note in the MP how one can easily test/see what you are changing, i.e. "go to translations.launchpad.dev/evolution/+blahblah to see how the links now point to a different location"13:20
adiroiban1danilos: yes... I read the MP cover letter wiki pages and I will try to use that format.13:21
danilosadiroiban1, cool, thanks :)13:24
adiroiban1danilos: in lp parlance, "in the view" mean in the .pt files ?13:26
danilosadiroiban1, no, it means in the browser/*.py classes :)13:27
danilosadiroiban1, all those classes have names like POTemplateView or POTemplateAdminView or...13:27
adiroiban1danilos: ok... then templates are just the look :)13:27
danilosadiroiban1, yeah13:27
danilosadiroiban1, in traditional sense, zope view is a bit of a controller and a bit of a view, and zope page template is the view13:30
adiroiban1adiroiban1: ok. I can understand it... also "class" from configure.zcml can gives tips about view class13:32
danilosadiroiban1, that's right, it's all tied together in ZCML13:33
* jml going off IRC for a bit. Back later.13:34
danilosBjornT_, I've seen many (16 out of 33) tests fail with something like http://paste.ubuntu.com/328473/ in the browser with full make jscheck, so I don't know what's wrong; all translations tests pass locally13:44
BjornT_danilos: that's odd. i've seen one jscheck run where a lot of tests failed, probably due to that same failure. i also can't get the translations tests to fail locally, i'm trying to run the full suite now, to see whether that makes any difference13:46
flacostemorning launchpadders13:58
marsmorning flacoste13:58
BjornT_danilos: the tests pass when running the full suite as well. i'm not sure what is going on here...14:10
marsBjornT_, we may want to enhance the build output so that the LP webserver's log is also available.  Tracebacks will be printed in there.14:18
BjornT_mars: yeah. it would also be nice, if you could easily boot up a buildbot slave image, and run the tests interactively14:24
matsubaraChex, rockstar, danilos, sinzui, allenap: LP production meeting in 13 min @ #launchpad-meeting14:47
=== jtv1 is now known as jtv
matsubaranoodles775, hi, is bigjools on holiday today?14:49
noodles775matsubara: Well, I was aware that he wouldn't be here for the second half of the day, but it was a surprise to me that he's not here now too.14:49
noodles775He was heading home today.14:50
matsubaranoodles775, right. we'll have the LP production meeting in 10 min. would you be able to cover for him?14:51
noodles775matsubara: sure.14:51
matsubaranoodles775, thank you14:51
adiroiban1danilos: should I add you as the review of MP for bug 193750 or should I found someone else ;)14:51
mupBug #193750: remove references to +addticket <trivial> <ui> <Launchpad Translations:Triaged> <https://launchpad.net/bugs/193750>14:51
adiroiban1?14:51
danilosadiroiban1, you can probably get a faster review if you go to #launchpad-reviews14:51
danilosadiroiban1, look at the topic to see who's online14:52
danilosadiroiban1, and leave the default reviewer (it's entire LP team), so anyone can claim the review14:52
adiroiban1ok. i'll do14:52
danilosadiroiban1, I'd be happy to do it, but just exposing you to more of the processes :)14:52
adiroiban1danilos: yep. As I'm still learning, I'm happy to go by the book14:53
danilosadiroiban1, thanks :)14:54
adiroiban1danilos: should I also ask for someone else to review MP for bug 48797014:56
adiroiban1?14:56
mupBug #487970: distroseries/+templates page should display last update date for templates <trivial> <Launchpad Translations:Confirmed for adiroiban> <https://launchpad.net/bugs/487970>14:56
danilosadiroiban1, no, that's fine, I'd be happy to take a look at that14:56
adiroiban1danilos: ok14:56
=== salgado is now known as salgado-lunch
nhandlerI'm thinking about fixing LP Bug #400393. It looks pretty straightforward. I personally am in favor of mpt's suggestion, but I think either would work. I'm not sure how much discussion is really involved for it15:22
mupBug #400393: "Updating branch..." message reads oddly <trivial> <Launchpad Bazaar Integration:Triaged> <https://launchpad.net/bugs/400393>15:22
marsnhandler, does grep-find turn up the string "Launchpad is processing new changes" in the templates or the tests?15:26
marsif so, then it should be an easy fix :)15:27
nhandlermars: Yeah, a grep comes up with: code/templates/branch-index.pt:          Launchpad is processing new changes to this branch and will be15:31
marsnhandler, excellent, and quite easy to fix then.  You just need to pick the new text.15:34
nhandlermars: Unless there are any objections, I think I'll go with mpt's suggestion.15:34
nhandlerAnd I'm not sure if this is a known issue or an issue on my part, but I tried to do a 'rocketfuel-branch' yesterday, and got a few messages similar to "This Python has API version 1013, module gpgme._gpgme has version 1012."15:36
=== matsubara is now known as matsubara-lunch
marswell, I personally find the voice that mpt uses in his text to be a bit too advanced.  I'm partial to Tieflegger's suggestion - closer to the "Don't make me think" mantra.15:36
marsnhandler, you need to run 'make clean'.  That is Python2.4 compiled code getting in the way of the Python2.5 runtime.15:37
mptMy words didn't have enough syllables in them? :-)15:37
nhandlermars: In that case, I might use a combination of the two. I like the more personal feel of "We'll have the changes here for you shortly"15:38
* jml likes mpt's suggestion15:38
nhandlermars: Ok, I thought doing a rocketfuel-setup would have cleaned that stuff15:38
marsmpt, well, it reminded me a bit of reading Dickens - you have to hold more than seven words in your head to understand the sentence in context.  High writing, but not right for the lows of the internet15:38
jmlmars, are we reading the same thing?15:39
nhandlerHow about "Launchpad is processing new changes to this branch. We'll have them here for you shortly." ?15:39
marsthat's the one I liked15:40
mptmars, that one isn't in the bug report15:40
marsjml, mpt used a comma, which makes the voice more sophisticated, and in my opinion, a bit more difficult to read.15:41
mptmars, no I didn't.15:41
jmlmars, No he didn't. This is the suggestion: "This branch has been changed in the past few minutes. We’ll have the changes here for you shortly."15:41
marsmpt, wasn't that jml's suggestion?  It's in a comment.15:41
nhandlerHere are the 2 suggestions: https://bugs.edge.launchpad.net/launchpad-code/+bug/400393/comments/115:41
mupBug #400393: "Updating branch..." message reads oddly <trivial> <Launchpad Bazaar Integration:Triaged> <https://launchpad.net/bugs/400393>15:41
marsjml, I was reading "Launchpad is processing new changes to this branch, which will be available in a few minutes."15:42
mptmars, that's Colin Watson15:42
jmlmars, that would be cjwatson's suggestion15:42
marsargh, sorry mpt15:43
marsI heard "mtp's bug", and missed the actual reporter :(15:43
marsso, I /do/ like mpt's suggestion.  nhandler, I think you should just go with whatever is right.  And I think mpt is right :)15:44
nhandlermars: Alright, that is fine by me ;)15:47
* mars goes to file a bug titled "A bug's reporter should stand out more on the bug report"15:50
mptmars, that's already reported :-)15:52
mptWell, actually, there's an open bug report on highlighting comments from the reporter, which wouldn't have helped here15:52
mptThere's also a wontfix (iirc) report that the reporter should be more closely tied to the description, which was wontfixed on the grounds that the description can be edited by other people15:53
mpt(though it wasn't in this case)15:53
marsI wonder, is it in any significant number of cases?15:53
marsI lack the SQL skill to whip up a query for that15:54
cody-somervilleyes15:55
cody-somervilledescriptions are edited frequently15:55
cody-somervilleIts part of the SRU process in fact15:55
cody-somerville(for Ubuntu that is)15:55
nhandlerIt is also a common part of the Ubuntu bug triage process15:55
cody-somervilleindeed15:56
marsI guess knowing the reporter is only a problem if the bug is opinionated.  Ubuntu bugs are not, they are subjective shared tickets?15:57
marsby opinionated, I mean it somehow makes a suggestion on a subjective topic15:57
marsUbuntu bugs are objective15:58
cody-somervilleI only care about who the reporter is when I have strong urges to hurt them.15:58
marswhich is also a subjective opinion :)15:58
cody-somerville(or when I want to get in touch with the person more directly because they aren't responding to comments to the bug)15:59
marsI think the original reporter does matter.  It matters more as you introduce indicators as to a person's standing in the community.16:01
marsSo for ubuntu, it does not matter right now16:01
cody-somervillenoodles775, I think it does matter16:01
marsbut it may matter later if we add badges16:01
cody-somervilleerr16:01
cody-somervillemars, I think your point has merit16:01
cody-somervilleI'm sure I would have filed a bug sooner or later16:02
cody-somervilleas I've been annoyed several times at the few ms delay to find the reporter name16:02
marsI'm thinking of what stackoverflow does, actually16:02
marsthey have badges to show when a developer poses a question.  It helps you to understand the context, and allows you to make some assumptions.16:03
=== beuno is now known as beuno-lunch
=== salgado-lunch is now known as salgado
=== jtv is now known as jtv-afk
=== matsubara-lunch is now known as matsubara
=== beuno-lunch is now known as beuno
jelmerwhat sort of hardware do the code imports run on, 32-bit or 64-bit?17:58
elmojelmer: a mixture17:58
abentleymars: do you have a sec?18:06
marsabentley, I have a few minutes18:07
abentleymars: How do I make a test pause until the contents of an element have been updated?18:07
adiroiban1when doing pagetest is there a way to get a link by id ? It looks I can only get on by text or url18:07
abentleymars: A windmill test.18:07
abentleymars: The element is a textbox.18:07
marsabentley, you could try waits.forElement on something in the box that you want to see18:08
marsoh18:08
marsabentley, for a textbox you may have to put in a hard waits.sleep() call18:09
abentleymars: I have: client.waits.forElement(xpath='//[contains(., "> content")]')18:09
marsbut not too long, as it should update quickly18:09
marsabentley, interesting, and that doesn't work?  Try it with the sleep() and see if the XPATH works after a long enough wait18:10
abentleyclient.waits.sleep(5) gives TypeError: __call__() takes exactly 1 argument (2 given)18:16
mars?18:16
marsthat is odd18:17
abentleymars: Does it require named parameters?18:17
marsabentley, check the docs, maybe the parameters are less than obvious18:17
abentleythe docs say waits.sleep takes a milliseconds parameter.18:18
marsdo any other tests call that function?18:18
abentleymars: I tried passing it in as a named argument, and that seemed to work.18:19
marsodd18:19
marsabentley, salgado, I'm off for lunch, back in a while18:20
=== ursula is now known as Ursinha
jmlthumper, you around?19:13
nhandlerTo test out a bzr-related change, do I need to add my ssh key to Sample Person in order to push a branch ?19:14
mwhudsonjml: evening19:14
jmlmwhudson, hello19:15
jmlnhandler, I tend to use ./utilities/make-lp-user $USER19:15
jmlnhandler, which adds an ssh key automatically if it finds one19:15
nhandlerjml: Will that let me push to any user's branch in the dev environment?19:16
jmlmwhudson, I'm glad I made you laugh :)19:16
jmlnhandler, no, just the user that it creates.19:16
jmlnhandler, but, umm,19:16
jmlnhandler, './utilities/make-lp-user $USER bzr-experts' will probably let you push to any branch in the dev env19:17
nhandlerjml: I just looked at my ~/.ssh/config, it looks like rocketfuel setup a ~/.ssh/launchpad_id_dsa key and configured it for bazaar.launchpad.dev. It looks like it uses the user, 'mark'19:30
jmlnhandler, get rid of that. use ./utilities/make-lp-user19:30
nhandlerlol, ok19:30
jmlmwhudson, do you know if thumper is around today?19:39
mwhudsonjml: should be19:39
mwhudsonjml: it's only 8:40 though, he's probably herding kids19:39
jmlahh right19:39
mwhudsonjtv: thanks for spotting the problem with ec2 test19:42
mwhudsonhas anyone fixed it yet?19:42
mwhudsonmy survey says no19:47
nhandlerjml: I've run the make-lp-user script, modified the entry rocketfuel had made in ~/.ssh/config to use the ssh key linked to the new launchpad.dev account, but I get a 'Received disconnect from 127.0.0.88: 2: Too many authentication failures for nhandler'. Is there an equivalent of bzr launchpad-login that I need to do?19:49
jmlnhandler, uhh, maybe19:49
jmlnhandler, what does 'ssh bazaar.launchpad.dev' tell you?19:50
nhandlerjml: Same message as above19:50
jmlnhandler, did you use your unix user name as the argument to make-lp-user19:51
nhandlerjml: I used $USER. I confirmed on the web interface that an nhandler user was created (nhandler@example.com:test) and it was linked with one of my ssh keys (which I have listed for this host in ~/.ssh/config)19:52
* nhandler loves how he spends more time testing his fixes than creating the patches ;)19:52
mwhudsonsomeone review this: https://code.edge.launchpad.net/~mwhudson/launchpad/ec2-test-oops/+merge/1529419:55
jmlnhandler, you don't need to do a bzr launchpad-login thing if ssh bazaar.launchpad.dev is failing20:00
jmlnhandler, umm20:00
jmlnhandler, try that command with -v or -v -v and pastebin it maybe?20:00
nhandlerjml: http://paste.ubuntu.com/328759/20:03
thumpermorning20:04
jmlmwhudson, done20:05
jmlnhandler, looking20:05
jmlthumper, hi20:06
mwhudsonjml: thanks20:06
thumperjml: morning20:06
jmlnhandler, do you still have ~/.ssh/launchpad_id_rsa?20:07
jmlhttp://paste.ubuntu.com/328765/20:07
jml(or dsa or whatever it is)20:07
jmlnhandler, add that clause to your config file and tell me what happens20:08
jmlthumper, would you have a moment to talk?20:08
thumperjml: I have a quick moment before the stand up20:08
=== salgado is now known as salgado-afk
jmlthumper, when is the standup?20:08
thumperin 7 min20:08
jmlhm20:08
jmlthumper, after the standup then?20:08
thumperjml: suer20:09
thumpersure20:09
jmlthumper, ok. thanks.20:09
mwhudsonmorning20:13
thumperabentley, mwhudson: skype?20:15
mwhudsonthumper: 1 sec20:15
abentleythumper: 1 sec, skype's being slow.20:16
nhandlerjml: Didn't change anything. Rocketfuel setup that key for the user 'mark', should I use that user?20:16
jmlnhandler, delete the user line20:17
nhandlerjml: Still gives the same message20:17
jmlno it doesn't20:17
* jml is a little tired.20:17
jmlnhandler, I bet if you replace the clause with the one I pasted, make sure that you have ~/.ssh/launchpad_id_dsa then it will work20:18
jmlnhandler, in the SSH output you pasted, it's trying multiple SSH keys, which it wouldn't be doing if it were using a key specified in the config file20:19
nhandlerjml: I missed your paste. Now it is saying: ssh: connect to host launchpad.dev port 5022: Connection refused20:19
jmlnhandler, oh, that's much better.20:19
jmlnhandler, bazaar.launchpad.dev, not launchpad.dev20:19
nhandlerjml: I entered 'ssh bazaar.launchpad.dev' to get that error20:20
jmlnhandler, maybe delete the Hostname entry?20:21
mwhudsonthumper: ok ready20:21
nhandlerjml: That gives: ssh: connect to host bazaar.launchpad.dev port 5022: Connection refused20:21
jmlnhandler, is the server running?20:21
nhandlerjml: Yes20:22
jmlnhandler, you'll need 'make run_all' not just 'make run'20:22
mwhudsonnhandler: did you run 'make run' or 'make run_all' ?20:22
nhandlerjml and mwhudson: I had previously done 'make run'. I just did 'make run_all', and I get: ssh: connect to host bazaar.launchpad.dev port 5022: Connection refused20:26
mwhudsonthumper: try again?20:27
mwhudsonabentley: or you?20:27
jmlnhandler, can you please pastebin the output of 'make run_all' as ran and also 'sudo netstat -ltpn'20:27
nhandlerjml: Here is make run_all: http://paste.ubuntu.com/328777/20:30
jmlnhandler, thanks.20:31
nhandlerjml: Here is netstat: http://paste.ubuntu.com/328779/20:31
jmlnhandler, and the IP address of bazaar.launchpad.dev is...?20:32
jmlnhandler, what does 'ssh -p 5022 127.0.0.88' say?20:33
nhandlerjml: That ssh command gives me a "No shells on this server" :)20:33
jmlnhandler, ok. so the server is actually working.20:34
jmlgood.20:34
lifelessdoes anyone know all the products that launchpad uses?20:34
jmllifeless, I think kfogel listed them in a recent email. you can also find them on https://launchpad.net/launchpad-project -- unless you have a narrower definition of 'uses' than that.20:35
jmlnhandler, so the problem is in your local config, somehow.20:35
lifelessthats precisely what I wanted.20:35
lifelessthough ajaxbrowswer doesn't seem that lp related :P20:36
nhandlerjml: Strange, this is a fresh setup, so I would have thought rocketfuel would have taken care of everything.20:36
lifelessjml: actually, why is https://edge.launchpad.net/ajaxbrowser in lp-project?20:36
jmlnhandler, funny that :)20:37
jmllifeless, no clue20:37
* nhandler loves how the patch (which involves changing 2 lines) took about 2 minutes, and the testing for it is taking hours ;)20:37
lifelessflacoste: do you know (why is https://edge.launchpad.net/ajaxbrowser in lp-project?) ?20:37
jmlthumper, skype audio bugs, one sec.20:38
lifelessnhandler: you should reply to jml's mail ;)20:38
nhandlerlifeless: I've already started drafting a reply ;)20:38
ajmitchnhandler: something along the lines of "the testing burns!"20:38
flacostelifeless: i have no idea :-)20:38
ajmitchmaybe someone randomly decided to add their project to lp-project, if that were possible20:39
flacostelifeless: i think this is because anyone can add any project to any project group20:39
* ajmitch wouldn't think there'd be much PHP code in launchpad-project20:39
ajmitchjml: are you working on bug 146389 which you started at UDS? :)20:42
mupBug #146389: api for blueprint tracker <api> <feature> <Launchpad Blueprints:Triaged by jml> <https://launchpad.net/bugs/146389>20:42
lifelessflacoste: I'd assume so too; I'll get spm to remove it later.20:43
flacostethx20:45
lifelessflacoste: how many devs does the lp community have - ~ 30 ?20:45
flacostelifeless: you mean apart from the Launchpad team ? https://dev.launchpad.net/Contributions list that we have 12 contributors and two of that list are other Canonical employees20:47
lifelessflacoste: no, I mean 'folk that work on it'20:47
lifelessflacoste: total set of active people, not including canonical folk like me that very rarely cut code or do bug triage etc on lp itself.20:47
lifelessflacoste: just want a ballpark.20:48
flacostelifeless: yeah, about 3020:48
jmlajmitch, no, I'm not20:55
ajmitchjml: ok, I just saw that people are screen-scraping blueprints for work items, and your demo branch from UDS looked easy enough to start from20:56
marsflacoste, quick question: was one of the future plans for zc.buildout to pull the Makefile targets into their own recipes?21:03
flacostemars: it can21:05
flacostedepends if you prefer make run over bin/run21:05
marsok.  I was wondering if the JavaScript and CSS build steps should be pulled into their own Makefile, or possibly a python script or zc.buildout recipe.  I guess there is no system-wide plan for that?21:07
marsno plan for other components to be separated in a similar way21:07
lifelessMake is pretty good :)21:08
marsthe question is build-system agnostic21:09
marsAnd I see that the database does have its own Makefile21:09
flacostemars: looking at the lazr-js Makefile...21:10
flacostei think the build: target could become a recipe21:10
marsflacoste, I was looking at our own Makefile, actually21:10
flacostethe eggs and download-cache target should be integrated into our own bootstrap.py21:10
marsthat too21:10
flacosteand then there is nothing in the Makefile that pulls its weight21:11
flacostenow, looking at the Launchpad one21:11
flacoste...21:11
marssimple for now, but it is getting a bit more cryptic with the combo loader21:11
flacostei think making a lazr-js build recipe would be a good thing21:12
flacostethat can be parameterized for other projects21:12
=== matsubara is now known as matsubara-afk
marsflacoste, ok, looks like no one has created a custom recipe so far?  I don't see anything in doc/buildout.txt.  I'll keep it in mind for the future then.21:16
flacostemars: it was part of Bjorn's plans, but he moved on21:16
lifelessjml: bombs away21:20
lifelessflacoste: you might like my mail (just sent) to lp-dev :)21:21
wgrantlifeless: I don't see that happening without tag subscriptions.21:22
wgrantAlthough those are pretty easy.21:23
mwhudson_right21:23
marsI want those now, so I can track the 'javascript' tag21:23
mwhudson_yes21:23
jmlwgrant, mars, maybe someone will do that during the experiment21:24
lifelesswgrant: I don't see why that should block the experiment.21:25
* wgrant sees a screaming horde of developers jump onto lifeless.21:25
wgrantBut maybe not.21:26
marsfans!21:26
lifelesswgrant: bzr has 20 times the bug density lp devs deal with, and its quite ok.21:26
thumperbeuno: ping21:26
marslifeless, you know what, when you put it that there are only 19 bugs per developer, then eliminating the entire backlog all of a sudden seems possible21:27
lifelessmars: its interesting to me that bzr has 18 per21:28
lifelessI start to wonder if its some sort of common ratio21:28
marsinteresting21:28
jmlwhich numbers are we using?21:28
lifelessI don't think the low number means 'we can close them all', because its an instantaneous view, not the rate of change.21:29
lifelessjml: 'open bugs' on the right hand side in 'launchpad-project' and 'bzr'21:29
jml~5800 / 30 = ~19021:29
lifelessjml: oh,my math broke did it ? :) yes , factor of 10 on both figures.21:29
marsmy dreams are shattered21:29
jmlmars, start dreaming about being able to fix bugs 10 times faster maybe?21:30
ajmitchthough 19 bugs for each developer would be rather nice21:30
marsjml, that is going into my email to you :)21:30
jmlheh heh21:30
lifelessI shifted right to divide and forgot to shift left again :)21:30
ajmitchbzr diff really does suffer with a cold cache :)21:31
lifelessit should be legal to shoot people who operate whippersnippers21:32
lifelessajmitch: ext3 suffers :P21:32
ajmitchdoesn't help that I'm on a laptop with a bit of a slow drive21:33
wgrantAnd when I throw eCryptFS and encrypted swap into the mix, it is even slower.21:34
lifelessajmitch: you could strace it next time.21:34
ajmitchit was down to 1 second when I re-ran bzr diff21:34
lifelessajmitch: yes21:34
lifeless15+ seconds will be starting bzr itself from cold cache21:35
beunothumper, pong21:35
thumperbeuno: can you take a look at the commit message branch?21:35
thumperbeuno: I also wanted to talk to you about the comment layout change as I'm not happy with it21:36
thumperbeuno: but ...21:36
beunothumper, did you tweak it after my comment?21:36
thumperbeuno: I need coffee and my ride to the coffee shop is heading off21:36
thumperbeuno: which comment?21:36
thumperdamn21:36
thumpertoo many unread emails21:36
beuno:)21:37
beunowe'll talk later21:37
thumperbeuno: do you mean move it above the review block?21:37
thumperbeuno: after the heading buts, but before the review table?21:37
thumpers/buts/bits/21:37
beunothumper, yes21:38
thumperbeuno: +1 from me21:38
thumperbeuno: lets talk later21:38
beunothumper, super, you already have my approval, but a screenshot before landing would be nice  :)21:38
beunosure21:38
beunoI'mm be around on and off21:38
marsodd.  +icing is broken in all of my branches, and now in trunk, too.  I can't load files from it any more.21:43
* ajmitch wonders how long the test suite will take on this laptop21:44
mars"The connection was interrupted" when trying to visit https://launchpad.dev on a new system setup.21:45
marsit doesn't even make it to the Zope server (which is running)21:45
wgrantmars: Need to restart Apache.21:46
wgrantmars: One of the modules doesn't like being loaded during a reload.21:46
wgrantSo immediately after rocketfuel-setup, some requests will fail like that.21:47
ajmitchwgrant: which one is broken like that?21:47
wgrantajmitch: Haven't got that far21:47
lifelessajmitch: test suite ... laptop. hahahahahhaa21:49
wgrantlifeless: Hey, it's not too bad on mine.21:49
ajmitchlifeless: some of us don't have access to ec2 instances :)21:49
wgrantOnce it un-swaps.21:49
lifelessajmitch: sure you do21:49
marswgrant, here's the error log.  Something is segfaulting: http://paste.ubuntu.com/328835/21:49
wgrantmars: Right, there is an Apache bug somewhere.21:50
wgrantI must debug that one day.21:50
ajmitchlifeless: meaning that I don't want to pay too much just to run some tests :)21:50
ajmitchat least my laptop has 4GB of RAM, or I could shove stuff onto my desktop with 8GB21:50
=== mwhudson_ is now known as mwhudson
mwhudsoni must say, i've come to respect apache a noticeable amount less over the last year21:51
maxbhmm?21:51
lifelessfamiliarity21:52
mwhudsonoh just a few little things21:53
marsrestart fixed it, but that is a bit of an obscure bug.  New lp developers will *love* that one.21:53
mwhudsonmostly mod_rewrite, come to think of it21:53
marsshould we restart apache as part of rocketfuel-setup ?21:53
ajmitchchange rocketfuel-setup to do an apache restart then21:53
marsajmitch, care to review the patch? http://pastebin.ubuntu.com/328843/21:57
ajmitchI'm not a reviewer, sorry, though it looks sensible21:58
wgrantmars: Would it be better to alter Makefile where it's already reloaded?21:59
ajmitchit should probably be done later on, once all the apache config has been done21:59
marsit is, isn't it?22:00
marswgrant, and I don't see it being reloaded anywhere else?22:00
ajmitchactually the reloading of apache is done in the main lp Makefile22:00
wgrantRight, in the reload-apache target.22:01
ajmitch'sudo make install' calls the reload-apache target22:01
marswe have a 'make install' target?22:04
ajmitchyep :)22:04
marsand people use it?22:04
ajmitchinstall: reload-apache22:04
ajmitchrocketfuel-setup uses it22:04
wgrantI've never used it, except in rf-setup22:04
marsso if rocketfuel-setup already does the right thing, then I guess there is nothing to do, without knowing what triggered the bug.22:06
wgrantIt currently reloads. That is the right thing, but it doesn't work. If we change it to a restart, it will work.22:08
marsah22:08
ajmitchif the problem only happens on the initial rf-setup, then it may be best fixed there (after the make install), otherwise change Makefile22:09
wgrantProbably.22:10
ajmitchrunning tests on the laptop is nice until the tests sit around & do nothing, specifically testPPAUploadResultingInNoBuilds waiting forever22:13
marsthe only callsite for the install target that I can find is in rocketfuel-setup.  Changing the Makefile looks easiest to me.22:15
mwhudsoni run make install occasionally when testing changes to branch-rewrite.py22:17
mwhudsonif it did restart, that'd be fine22:17
ajmitchmost people wouldn't be relying on having apache hold connections open at that point22:18
lifelessbug 488762 is a good example of the confusion I think we're having at the moment22:19
mupBug #488762: SnapShot OOPS editing team with 13000 members <oops> <Launchpad Foundations:Triaged> <Launchpad Registry:Triaged> <https://launchpad.net/bugs/488762>22:19
lifelesswithin the same overall team (lp), its simultaneously low and high priority.22:19
lifeless[note that this appears to be deliberate, it was triaged on both 'projects' simultaneously by the same dev22:20
wgrantThe current LP use of importance is fucked.22:20
marsmwhudson, you were a build engineer; do you have a moment to review this patch? http://pastebin.ubuntu.com/328861/22:30
lifelesswgrant: care to expand?22:30
wgrantlifeless: Importance is treated as binary by some of the LP projects.22:31
lifelessmars: why the change?22:31
lifelesswgrant: important/not important?22:31
wgrantlifeless: Important enough to schedule, and everything else.22:32
lifelesswgrant: thats a good thing IMO22:32
marslifeless, see the scrollback for the discussion about apache segfaulting randomly after rocketfuel-setup, and how that will be real fun for new developers.22:32
lifelesswgrant: as long as everything else gets broadly sorted into wishlist/defects22:32
lifelessmars: \o/ then JFDI22:32
lifeless+122:32
lifelessrs=lifeless22:32
mars:D22:32
lifelessmars: but be sure to say /why/ in your commit message to trunk, not just what.22:33
marslifeless, will do22:33
marswgrant, are you saying that the fact that some projects us a binary approach while others do not is the problem?22:34
wgrantmars: I'm suggesting that the binary approach does not make sense.22:34
marsmwhudson, unping, thanks22:34
wgrantThere are things that should not be scheduled now, but are more important than other things.22:34
lifelesswgrant: what would you propose? (And are you familiar with LEAN) ?22:34
marslifeless, I don't know if lean has anything to do with it.  I think the YUI project follows the same principle.22:35
mars3.1, 3.NEXT, Wishlist22:36
lifelessmars: a bunch of arguments Lean proponents make tie to together to support doing it22:36
wgrantlifeless: Vaguely.22:36
lifelessmars: so it can provide a good shorthand for discussing it.22:36
marsah22:36
lifelesswgrant: ok, so, from the bottom then :). Some bugs may never get worked on right?22:37
wgrantlifeless: Right.22:37
lifelesswgrant: And others will go stale because their root cause goes away, or other things improve to stop the bug mattering22:38
lifelesswgrant: One part of the argument then, is that /all/ effort - triage, analysis, discussion, filtering - done to such bugs is of no benefit to the project or the users22:39
lifelesswgrant: But we don't know when a bug is in that set of bugs without putting some effort into it.22:39
wgrantHmm.22:40
lifelesswgrant: now, open source projects allow people to scratch their own itches.22:40
lifelesswgrant: and in a commercial project an unimportant bug may become important if a lot of users want it.22:41
lifelesswgrant: so just saying 'we will close the bug if it appears low priority' isn't all that useful.22:41
lifelesswgrant: but setting the relative important of two bugs which are both below the fold, isn't very useful.22:41
lifelesswgrant: specifically, its not useful at all, as neither may get worked on /at all/ until either a) someone scratches their own itch (so the importance to the project does not matter at all).22:42
lifelessor b) something changes to make one of them more important (so the relative importance to that other bug is invalidated anyway)22:43
wgrantHmmmhmm.22:43
lifelesstesttools is running an experiment at the moment22:43
* mwhudson looks at https://code.edge.launchpad.net/~vcs-imports/b2evolution/trunk22:43
mwhudsonis this an import branch or not?22:44
wgrantOdd.22:44
mwhudsonit appears not to have an associated CodeImport22:44
lifelessmwhudson: yes22:44
lifelesshttp://bazaar.launchpad.net/~vcs-imports/b2evolution/trunk/revision/5950?start_revid=595022:44
mwhudsonlifeless: indeed22:45
lifelesswgrant: now, another angle is the GTD angle, where you decide once and don't change your mind. Which I think has to be transcribed for dynamic systems22:46
lifelessto 'only touch it when it changes'22:46
lifelessor better 'only touch it when touching it will change what you /do/'22:46
lifelessok, so dug up the testtools experiment mail. We have three importances in that project: wishlist, medium, critical.22:47
lifelessItems are either 'must do before we can release'. 'Something isn't working as advertisd'. 'Something that would be nice to do'.22:48
lifelesswgrant: ^22:48
wgrantOK.22:48
mwhudsonhnngh22:49
mwhudsonis it bzr-builddeb that has the pristine tar stuff in it?22:49
lifelessIt doesn't have 6K bugs :) but its an interesting experiment.22:49
lifelessmwhudson: yes.22:49
mwhudsonlifeless: thanks22:49
mwhudsonthat naming thing is really going to be a pain22:49
wgrantNaming thing?22:50
mwhudsonwgrant: bzr-builder vs bzr-builddeb22:51
wgrantAh.22:51
lifelessperhaps bzr-recipe instead22:52
marswgrant, are you familiar with how the registry team uses bug importance?22:55
wgrantmars: I am.22:56
thumperdamn, missed gary again22:56
marsthumper, he wasn't here today22:56
thumperoh, yeah, thanksgiving22:56
thumperd'uh22:56
thumpermars: so why are you?22:57
marswgrant, ok, do you find their strategy sensible?22:57
marsthumper, because I'm not an American?22:57
mars;)22:57
thumpermars: are you north of the border then22:57
thumper?22:57
thumpermars: I'm not sure why I thought you were...22:57
wgrantmars: No, but I need to think through lifeless' explanations/22:57
lifelesswgrant: there's more :) I'd /love/ to see the infinite granularity stuff abentley proposed years back.23:05
lifelesswgrant: but I wouldn't want to care about the relative importance of stuff below the fold.23:05
marslifeless, infinite importance granularity... you mean, an ordered list?23:06
lifelessmars: yes. Imagine if you will that there was a partial sort on bugs, and the UI would let you influence that sort as much as you want.23:06
lifelessso you could create a complete sort if you wanted, or just group bugs into a few bags the way we do today23:07
marslifeless, yep, thought of that, it's right out of SCRUM.  Foundations uses a Google spreadsheet as a proxy.23:07
marswell, we did use it.  We dropped the experiment because it did not fit our team's style.23:08
lifelesscould you expand on that?23:09
marslifeless, we had a team-wide list of bugs, ordered by priority, top of the list first.  You worked down the list through the cycle.23:10
marsthe idea is that anyone on the team could pop the top bug off the list, but for Foundations that doesn't work too well: too many domain experts23:10
lifelessmars: do you mean 'people wanted to work on thing that had not been assessed as the most important' ?23:11
lifelessmars: and did you do a complete sort, or a partial sort ?23:11
marslifeless, more like it was terribly inefficient for some team members to work on the highest priority item.  Like me working on openid, or stub working on javascript.23:12
marslifeless, we did a complete sort on the list for the number of items that we could reasonably finish in one cycle.  Items in the following cycles were roughly sorted, usually at the team leads sprint.23:14
lifelessmars: so, I think there are three necessary things for a sorted approach to work.23:14
lifelessFirstly, I think you need plenty of slack. Must do items should be no more than 50% of estimated capacity, preferrably less.23:16
marstrue.  Lean says 80% capacity.23:16
marsso does server load planning :)23:16
lifelessSecondly, the team must support people doing things outside of the must-to items and ignoring the sort when they do this. Itch scratching/personal assessment.23:17
marsqueue theory, apparently23:17
lifelessmars: very much so.(My dad's Master's was on queue theory ;))23:17
marslifeless, yep.  We added those items to the top of the list, coloured them red.  During the cycle retrospective, you take that into account.23:17
lifelessThirdly, everyone must be willing to work outside their comfort zone when the must-do list is in trouble.23:18
marsextra items only cause the cycle's lowest priority work to get pushed a bit.  You just have to keep an eye to make sure that everything doesn't turn into an unscheduled item :)23:18
marslifeless, also true23:18
marslifeless, we did that, too23:18
lifelessmars: lastly, but I don't think its necessary, just preferred, is to make it a partial sort.23:19
lifelessall of the must-do items should be the same priority23:19
marsah, that is a bit different.  I think the idea from SCRUM is that some items logically come first, so there is some order in there to take advantage of.23:20
lifelessmars: and yet from what you said, thats the thing that didn't work for you.23:20
marslifeless, in SCRUM, everyone is a generalist, and you do pair programming.  Our team only did out-of-domain work and paired up on occasion.23:21
lifelessmars: sure23:22
marsso breaking up the work into an ordered list didn't work.  In reality, everyone had their own personal list.23:22
marsSo we abandoned the team list experiment23:23
marsAnd we rely on each developer to know what they are doing.  The team lead helps with knowledge sharing and workloads by moving people between domains.23:23
marswhen it makes sense23:24
lifelessso, it seems to me that that increases coupling and latency.23:24
marscoupling and latency between what, exactly?23:24
lifelessthe overall system23:25
lifelesse.g. if there are mounting numbers of critical js bugs, you need to start to feel overload before you say to the teamlead, hey I'm overloaded23:25
lifelessthen they have to ask everyone 'how loaded are you'23:26
lifelessand manually rebalance.23:26
marslifeless, yep!23:26
marslifeless, the counter-argument is, who will save me?  I'm the only domain expert.23:26
lifelessmars: if folk overcome the fear/efficiency concerns and help out because there are critical bugs in your area, they may end up asking for mentoring - but there will be more folk hopping in and helping out.23:27
lifelessthe impression I got from the poppendiecks about this was that its a difficult change to make, but actually works very well in practice.23:28
marslifeless, yes, if the bug pool is open, and if they have slack.23:28
lifelessmars: see necessary conditions above ;)23:28
marslifeless, one of the biggest concerns I have with our project is that very few people feel that they have slack time.  That is why I want to kill the entire bug backlog.  All of it.23:29
lifelessmars: I would support mass moving them all to wishlist.23:29
lifelessmars: but I don't support deletion.23:29
marshehe23:29
marslifeless, have you read Implementing Lean: Concept to Cash?23:30
lifelessmars: people scratch itches; bugs are a valuable resource as well, as data for defects.23:30
lifelessmars: I believe poolie is about to lend it to me; Are you talking about the honest queues aspect?23:30
poolieno that's something else23:30
pooliethe only one i have is Lean Software Development, i think23:30
lifelessok23:30
lifelessmars: no.23:30
pooliepretty sure23:30
poolieyou know adam smith said most of this ~180 years ago :)23:31
lifeless\o/23:31
marslifeless, ok.  They have an example in there about how a team reworked their 5-year bug backlog to zero, then kept zero bugs from there on out.  I think that would be amazing.23:31
marswell, kept zero bugs per cycle23:31
lifelessmars: do you mean 'no new defects' ?23:31
pooliehow?23:32
marsthey found new bugs, but dealt with them right away23:32
lifelessmars: so, see the testtools experiment I mentioned before - 'things that might be nice', 'defects' and 'things we must do before the next release'.23:32
marsI'll have to look at it again, but they just re-prioritized.  Some of them were real issues, a lot were bugs that the customers thought "Yeah, it would be nice to fix, but you don't have to"23:33
pooliemars: did they mostly fix the backlogged bugs (and lift their speed greatly?) or reject them or ...?23:33
lifelessin those terms, if I understand you right, the defect set would be empty, and new reports would either be 'things that might be nice' or 'things we must do before the next release'.23:33
marsThe "nice to fix" bugs were cleared from their radar (shelved, or something similar)23:34
marspoolie, they rejected them23:34
poolie(our comments overlapped)23:34
lifelessmars: So, I don't like doing that, if its a good idea, I think its worth keeping it - but outside the queue.23:34
lifelessmars: people can accrue data on them. I don't think it invalidates the principle to do that.23:35
marsah, found it!  Page 17123:35
marslifeless, well, they didn't say how they kept them out of the queue.  But the queue was reduced to zero.23:36
marslifeless, your "All wishlist" idea is the same thing23:36
marsthat would work23:36
marsah, yes, so they did a pareto analysis on the bugs, found most of them were stale23:37
marsthe truely high priority bugs were worked on within 90 days23:37
marseverything else just went on the queue23:37
marsso, dump everything that is older than 90 days :)23:37
marsfrom lean: if you calculate the project's bug lead-time, you will see this23:38
marsthe high priority stuff gets worked on23:38
mwhudsonnot all bugs (in launchpad) are defects though23:38
marsit happens naturally23:38
mwhudsonbut that's a bit sideways23:38
mwhudsonin many many ways one of the things that makes launchpad terrible (and also is it's USP) is that it does so goddamn much23:39
poolieso23:40
pooliei think it depends on what benefit you hope to obtain whether it's better to have zero bugs, or zero non-wishlist bugs23:40
poolieis it a matter of clutter, or being honest about when they will get fixed23:41
poolieand is it ever useful to have wishlist bugs?23:41
poolieyou could alternatively just sometimes make small improvements23:41
poolieperhaps people will do them independently of whether there is a bug for them or not23:41
marsI don't think there is an easy answer for that23:42
poolieso speaking to spiv this morning23:42
marsbut hey, that's why we are at the cutting edge of software development processes here :)23:42
pooliehe pointed out that we have >100 High bugs23:42
poolieit's hard to know where to start in them23:43
pooliesome of them could be downgraded23:43
jmlman I hope not.23:43
pooliehello jml23:43
mwhudsonit's not what i actually think, but it's tempting to say "avoiding fruitless discussions" on irc could be a goal23:43
poolie:)23:43
jmlpoolie, hi23:43
pooliein favor of fruity discussions23:43
mwhudsonfor a while for launchpad-code specifically it felt like we had policies that meant various bugs were automatically categorized as high, but not that they were fixedx23:44
mwhudson(we're a bit better at this now, but still have more than a page of high bugs)23:44
marsmwhudson, killing the backlog is a fruitless discussion?  I think you underestimate the power that team leads have over their goals :)23:50
pooliei think priorities only make sense if they determine what tasks people should do next23:51
pooliethe now/next/sometime idea23:51
poolie"oopses are high" is meaningless unless you also say something like "do high bugs before new features or lower priority bugs"23:52
mwhudsonmars: any discussion is fruitless if it doesn't lead to anything23:52
mwhudsonmars: but as i said, it's not what i actually think23:52
marsor you give the team enough slack so someone can kill the OOPS as soon as it pops up23:52
marsmwhudson, well, I like the discussion.  I now know poolie and lifeless are thinking in the same space, are also experimenting, and my ideas weren't called ludicrous.23:54
mwhudsonmars: i was just being silly, ok?23:55
awilkinsThis would be a stupid time to ask if there's any integration of wikis going on then?23:55
marsmwhudson, ah, no problem :)23:55
* awilkins runs for the hills23:55
jmlawilkins, it's like Captain Planet says23:55
jmlawilkins, the power is yours23:55
awilkinsBut what if I just have the power of... Wind  (mmmm. burritos)23:56
pooliei think the bug tracker should be set up so that on any day you can choose a good thing to work on next at the minimum amortized cost23:57
poolieif you have a zillion open bugs but they never get in the way of seeing the important ones, it doesn't matter23:58
poolieand vice versa23:58
lifelessawilkins: then you will get a windy wiki23:58
lifelesspoolie: did you see mars note about their team trying-and-not-liking-this (his team is a bunch of domain experts e.g. dba, js specialist, etc)23:59
pooliethis==single bug queue?23:59

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