/srv/irclogs.ubuntu.com/2011/11/30/#launchpad-dev.txt

huwshimiI really, really, really, really wish we had an A/B testing framework in Launchpad00:46
rick_h_heh, do we have the metrics to be able to put A/B testing to use?00:48
huwshimirick_h_: That's what I mean00:49
huwshimiwe have feature flags that could be used to set up the A and B, but we need random user assignment and result reporting to make it useful00:50
rick_h_yea, it's a tough product to define what metric we'd want for each A/B case00:51
rick_h_what's the current use case?00:52
* rick_h_ is bored and curious00:52
huwshimirick_h_: A proper a/b testing framework allows you to hook in tests for results. The test could be "number of people who get to a certain page" or "number of people who click a link" etc.00:54
rick_h_huwshimi: yea, but LP is so different depending on who visits/use case that it's a bit fun to think of what would be better00:56
huwshimirick_h_: Isn't that the point of doing an A/B test?00:57
huwshimipoolie: Could the feature flags system be modified so that instead of showing to a group it could pick users at random?01:00
pooliesure could01:00
pooliei would like that very much01:01
pooliethere is a bug asking for it01:01
huwshimipoolie: Ooh01:01
pooliei am happy to either help or to be bribed/distracted in to doing it01:01
pooliebut i need to go out and do some trip prep stuff so probably not today01:01
huwshimipoolie: Wow, ok, this makes getting an A/B testing framework possible. It would be farily easy to write the javascript data collection side of things01:03
pooliethe other thing we need is to log it somehow01:04
poolieeither from the http server or something else01:04
pooliemaybe js01:04
huwshimipoolie: Yes, there would need to be an AJAX call to log the resaults01:04
huwshimi*results01:05
huwshimirick_h_: Are you still around?01:25
huwshimirick_h_: If you are, I have a conflict when I merge your changes for the loading notification. Any ideas? http://paste.ubuntu.com/754337/01:25
rick_h_huwshimi: looking01:26
huwshimirick_h_: Cheers01:26
rick_h_huwshimi: bah, yea I moved a couple things that it's not liking, sec01:27
huwshiminp01:27
rick_h_huwshimi: http://paste.mitechie.com/show/455/ is what it should be. That's merged with rocketfuel-get this evening so should be up to date01:28
huwshimirick_h_: Cheers :)01:29
huwshimirick_h_: Hmm... I lose the order/config bar completely01:30
rick_h_huwshimi: make sure that your css combo script in bin gets updated.01:30
rick_h_huwshimi: yea, make sure the css combo script is updated and you've got "indicator" css in the combo01:31
huwshimiah I see01:31
huwshimihmmmm....01:34
huwshimirick_h_: Still nothing01:37
huwshimirick_h_: The indicator css is there and working01:37
rick_h_huwshimi: any hints?01:37
huwshimirick_h_: But still no order bar01:37
huwshimirick_h_: The order bar div is completely empty01:38
huwshimioh wait, I have js errors01:38
StevenKpoolie: I'm a little unsure about the branch you've put up01:38
rick_h_huwshimi: ok, cool. Maybe typo in cleaning up the merge?01:38
StevenKpoolie: It looks mostly UI related, so I'd prefer huwshimi look it over.01:38
poolieStevenK, ok with me, huwshimi do you mind?01:40
pooliehe reviewed the predecessor anyhow01:40
pooliebtw i'm happy to say google is now apparently enjoying the results of the microformat work01:40
huwshimipoolie: Sure, mind linking me to the mp?01:40
StevenKhuwshimi: https://code.launchpad.net/~mbp/launchpad/888353-microformats-2/+merge/8385601:41
huwshimiStevenK: Thanks01:41
huwshimiI'll take a look soon01:41
pooliethanks01:42
poolieok i'm out for a bit, see you later01:42
huwshimirick_h_: on this line "this.set('model', new namespace.BugListingModel({" it says undefined is not a function""01:44
rick_h_huwshimi: in chrome?01:44
huwshimirick_h_: yea01:45
rick_h_try on firefox in case you're hitting the chrome issue01:45
rick_h_there's a known chrome issue that is in progress of rollback/fix01:45
rick_h_unrelated to the spinner01:45
rick_h_but BugListingModel is defined in line 37, and this sholdn't be undefined, so not sure what it's not liking there01:46
huwshimirick_h_: Firefox says: "namespace.BugListingModel is not a constructor"01:48
rick_h_huwshimi: can you pastebin your whole file then? Something is up. It's defined back in 5201:49
rick_h_huwshimi: http://paste.mitechie.com/show/456/ if you want to rnu diff locally01:49
huwshimirick_h_: Oh, something's very wrong with my file. It's about 70 lines shorter :)01:51
rick_h_huwshimi: ah ok. Yea, that'll do it01:51
huwshimioh, there we go.01:51
huwshimirick_h_: just pasted over your new file and it works now. Thanks :)01:51
rick_h_huwshimi: re-pushing my branch is case I missed somehting01:51
rick_h_huwshimi: ah ok01:52
huwshimirick_h_: Thanks, I might grab your new branch. This is still not working for me.01:53
huwshimi(in other ways now)01:53
rick_h_huwshimi: ok, yea should just be able to  bzr branch bzr+ssh://bazaar.launchpad.net/~rharding/launchpad/buglists-loading-885272/01:53
rick_h_into your lp-branches dir, update the links, and then make run01:54
huwshimirick_h_: Have you just remerged the branch with devel?01:55
rick_h_huwshimi: sec I will01:55
rick_h_did it this afternoon, but will redo a rocketfuel-get on it and repush01:55
huwshimicheers01:55
* rick_h_ is still figuring out how best to work around stuff01:56
StevenKrick_h_: rf-get in your devel branch, and then bzr merge ../devel in your other branch01:56
rick_h_huwshimi: ok, updated and pushed01:57
huwshimirick_h_: Cheers mate01:57
rick_h_StevenK: ok, I've been doing some rf-get right in my branch itself, bad side effects?01:57
StevenKrick_h_: I'm not sure -- that ^ is how I work01:59
rick_h_StevenK: ok cool, thanks01:59
=== jtv changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: jtv | Critical bugtasks: 3*10^2
huwshimirick_h_: You did push the changes? It might just be taking a whiel02:05
huwshimi*while02:06
rick_h_huwshimi: yes, I pushed but "No new revisions or tags to push."02:06
rick_h_so shouldn't be anything new there if you're waiting for new files02:06
huwshimirick_h_: And you did an update of devel (or rocketfuel-get) before you merged devel with your branch?02:07
huwshimirick_h_: Only checking cause when I merge your changes with a fresh branch I get a conflict02:08
rick_h_huwshimi: yes, on rev 1440402:08
StevenKjtv: O hai! https://code.launchpad.net/~stevenk/launchpad/death-to-lazr-testing-tales/+merge/8388902:08
jtvhi02:08
jtvDoes that come with coffee?02:09
StevenKPft, it's +1/-19, like it needs any02:09
jtvI don't care what it needs.  It's what I need that counts.02:09
rick_h_huwshimi: ah, sec02:09
wgrantlifeless: As long as we link to the final page.02:11
wgrantI guess.02:11
wgrantWe probably need to redirect.02:11
lifelesswgrant: ECONTEXT02:13
wgrantML archives.02:13
wgrantWe can't just show the oldest message by default.02:13
StevenKjtv: Haha02:13
wgrantWe would have to default to the last page.02:13
lifelesswe can show the list of indices.02:13
jtvStevenK: it's not funny.02:14
wgrantlifeless: Hm?02:14
lifelesslike $every $other $mhonarc $site $out $there02:14
wgrantThat's no argument.02:14
rick_h_StevenK: what make do I need to do db updates?02:14
wgrantmhonarc is pretty terrible. Basing arguments on what its other users do is illy.02:14
wgrants02:14
lifelessits other users are using it as it was intended02:14
lifelessI notice now that we don't have monthly groupings02:15
rick_h_huwshimi: looks like I'm learning new stuff. rocketfuel-get only updates devel, no matter if it's run from another branch. So merging and resolving now02:15
lifelessso its all messages ever that get reindexed02:15
StevenKrick_h_: To get them rolled out, or to make them?02:15
lifelesswgrant: so most static archiver sites have a page that says02:15
lifeless'jan 2001'02:15
rick_h_roll out to my local db, I've gotten changes from devel and getting missing column oops02:15
lifeless'feb 2001'02:15
lifelessetc02:15
rick_h_StevenK: ^^ sorry02:16
lifelessI'm proposing we in the interim, link to that02:16
StevenKrick_h_: Oh, 'make schema'02:16
rick_h_StevenK: ty02:16
huwshimirick_h_: Ah, yes it does. Sometimes you'll get pqm errors if you have conflicts. If you have branches that have been hanging around for a while it's good to do a devel merge just to resolve any issues before you submit for testing02:17
wgrantlifeless: Well, we don't have such a page, but OK.02:17
lifelesswgrant: I'm fairly sure mhonarc knows how to make one02:17
rick_h_huwshimi: yea, and this was pulled from deryck's branch so no idea how old it is to start out02:18
huwshimirick_h_: Yeah, that's where it gets hairy. You can always do a devel merge to be sure.02:18
rick_h_oh boo, reset my db so lost my feature flags02:20
huwshimirick_h_: Don't you hate that :)02:21
rick_h_ok, wtf...all my code is gone now02:22
rick_h_bah, this is probably due ot the rollback or osmething arggg02:22
wgrantStevenK: Your sorting in the canonical.lazr branch is wrong.02:25
wgrantsubunit, lazr, testools02:25
rick_h_huwshimi: ok, pushing changes, gets rid of the js error02:26
rick_h_working on getting records back in db so I can test the actual paging and such, but think that might do it02:26
rick_h_huwshimi: ok, tests that it works now02:28
StevenKwgrant: Oh sigh02:43
StevenKwgrant: Fixed.02:43
huwshimirick_h_: perfect, all working now :)02:43
rick_h_huwshimi: awesome, thanks for your patience withme02:44
huwshimirick_h_: No, no, all good!02:44
StevenKrick_h_: Write a script to populate the db.02:44
StevenKrick_h_: Or 'make iharness' at a pinch02:44
rick_h_StevenK: yea, on my todo02:44
rick_h_haven't peeked at the db much yet02:44
StevenKDon't look too close, your eyes will bleed.02:45
rick_h_StevenK: was actually thinking I need to look at the api and see if I can script stuff using that instead02:45
rick_h_StevenK: heh yea, most dbs, and with this one being a bit old, I bet there's some scary in there02:45
StevenKrick_h_: So if you're populating objects to test and play, I'd suggest you just write a script that makes use of LaunchpadObjectFactory.02:46
huwshimirick_h_: Just going to eat some lunch and then send through some feedback for you02:47
StevenKrick_h_: For example, I want a product, I don't care what it is: product = factory.makeProduct()02:47
rick_h_StevenK: ok cool, will look it up, taking notes02:47
StevenKrick_h_: LaunchpadObjectFactory is what is used in tests when you see self.factory...02:48
rick_h_ah makes sense, I've really only done much on the JS side of things so far.02:49
StevenKHaha, I've tried to stay away from the JS side of things.02:49
wallyworld_lifeless: we show private teams in the bug subscriptions portal (it used to oops but now fixed). but we explicitly filter out private teams from the branch subscription portal. should we be consistent here?03:06
wallyworld_nb we filterout private teams the user cannot see03:06
wallyworld_but we now have a mechanism for rendering private teams even if the user cannot see them03:07
lifelessso, AIUI the new rules we are saying that subscribing to an object discloses the team03:08
lifelessso yes, they should be shown; OTOH have we fixed up any erroneous (e.g. to public branches) subscriptions of private teams yet03:09
wallyworld_no, not afaik03:10
lifelesswe probably want to address that before making the teams visible to any viewer of public artifacts03:12
wallyworld_i'd have to check - do we allow public bugs to have private subscribers?03:14
wgrantlalalalala03:14
wallyworld_since if we do allow it for public bugs, shouldn't we allow it for public branches also?03:15
lifelessI think wgrant means 'we have not implemented the UI/business rules around this area, nor around that of handlings privacy transitions of objects03:15
wgrants/implemented/devised/03:16
wallyworld_so, what's the damage in allowing a viewer of a public branch to see that a private team is subscribed to the branch?03:16
lifelessthere is none; as long as the private team was told they would disclose their existence03:17
wallyworld_sure. that's how it is now for bugs03:17
wallyworld_with the recent changes03:17
wallyworld_lifeless:  if we want to not expose any private subscribers, then i should stop work on this branch entirely, since we will be exposing the existence of private branch owners, reviewers, committers also03:19
lifelesswallyworld_: well we do, subject to the previously discussed caveats03:20
lifelesswallyworld_: which is that if someone doesn't want to be disclosed, they can't interact with the branch03:20
wallyworld_yes. that point never came up though in our standup when my work on this branch was discussed03:21
lifelesswe probably need to refine the definition of interact too, to acknowledge that there are subscribers we don't know about (as anyone we notify could be a multiplier), and anyone that can see a page can poll it03:21
lifelessI will nab sinzui tomorrow about that03:22
wallyworld_so i guess i can complete the work andbefore landing we may need to do some other work03:22
lifelessyou can just ff it perhaps03:22
wallyworld_could do, but it's already out there for bugs03:23
wallyworld_we just went ahead and deployed it03:23
lifelessheh03:24
wallyworld_not sure if any private teams have complained or noticed03:24
lifelessyou probably want to check with sinzui03:24
lifelessI'm not in any position to second guess him - I haven't been tracking the detail on how you've been approaching this03:24
wallyworld_i sort of thought the policy was that it is now ok to expose a team's name / existence03:24
wallyworld_i'll check tomorrow03:25
lifelessmy understanding is that we settled on 'when the team interacts with something' and 'team interactions will prompt to permit the interaction'03:25
lifelessits the second bit I suspect is missing03:25
wallyworld_yes03:25
wgrantThe second bit requires an API break.03:26
wgrantIn dozens of places.03:26
wallyworld_maybe we decided against it then. i can't recall03:27
lifelessI'd worry a little if we had03:27
lifelessbecause we have a number of policies intended to prevent accidental discovery of private team names03:28
lifelessand not doing the second bit will deeply devalue them03:28
wallyworld_my memory is fuzzy, so i'm not sure one way or the other03:28
wgrantI thought we were going to skip that, because of the enormous and ever-expanding scope creep it would entail.03:29
wgrantGiven recent happenings, I don't think we need any more of that...03:29
wallyworld_i seem to recall that the discussion was that private team names could be exposed03:29
wallyworld_and that people would have to given them cryptic names03:29
wallyworld_if they didn;t want others to guess things03:29
lifelessnoone told me :)03:34
wgrantWe don't have a compelling, pretty, feasible private team design.03:35
wgrantWe no longer have a compelling, pretty, feasible private artifact design.03:35
wallyworld_lifeless: perhaps we can all have a chat with sinzui tomorrow to clear it up. in case i/we have misunderstood anything03:36
lifelesssure03:38
lifelessI'm here all week :P03:38
wgrantWait a sec.03:38
wgrantIt's Wednesday.03:38
wgrantWhy *are* you here?03:38
lifelesslynne told me off for frittering leave away :P03:38
wgrantHeh03:38
wallyworld_but you're here when you are on leave too03:39
StevenKwallyworld_: Multiple people have told lifeless at one time or another that he sucks at leave.03:41
wallyworld_i just think he is so attached to his nick that he would hate to not live up to it03:42
lifelessother way around03:48
lifelessthe nick has to live up to me03:48
* wallyworld_ wonders if lifeless is the chicken or the egg03:49
StevenKI can't use = to compare dates in postgres?03:51
StevenK(I don't care about the time)03:51
lifelessyou can, but you'll need to cast to date first03:53
StevenKWHERE datecreated = '2011-11-30'::date; == 0 rows03:55
StevenKBut max(datecreated) shows 2011-11-3003:56
lifelessdatecreated isn't a date03:56
lifelessWHERE datecreated::date == '2011-11-30';03:56
StevenKAh03:56
lifelessor (for more efficiently03:56
lifelessWHERE datecreated BETWEEN 2011-11-30 00:00 and 2011-11-30 23:59:59.9903:57
lifelessor something03:57
StevenKlifeless: I added a few things into the db using the factory and iharness and forgot to grab their names -- I just wanted the quickest way to grab the details03:58
StevenKHm. members=[foo] has invited them03:59
* StevenK wishes alert worked better with zsh04:02
lifelessso04:20
lifelesslazr_dbschema or lazr_postgresql ?04:21
StevenKThe former04:21
lifelessor lazr_slony04:21
StevenKWith a ., I hope04:21
lifelessnooo04:21
lifelessepic pain and suffering apply to namespaces04:22
StevenKlazr.restful, lazr.restfulclient ?04:22
lifelessterrible04:22
lifelessbugs open for years about import issues in their debs04:22
lifelessheinous tree layout to boot04:22
StevenKThe _ offends me04:22
StevenKBut fair point04:22
rick_h_it could be worse lazrPostgreSQL04:23
StevenKrick_h_: Don't make me send you to bed with no dinner.04:26
rick_h_heh, too late, had dinner, but I should go to bed04:26
wgrantlazr.restful* aren't as problematic as lazr.uri.04:27
wgrantBut they're still not good.04:27
StevenKSigh, 31degC makes me sad.04:27
micahgStevenK: beats 33degF04:27
wgrantHeh, it's like 14 down here.04:27
wgrantmicahg: Cold is easy to solve. Heat is not.04:28
StevenKmicahg: I'll take it04:28
wgrantwhile cold: apply clothing04:28
wgrantwhile hot: raise ImMelting()04:28
* micahg has this magical thing called A/C04:29
StevenKHaha04:29
StevenKNo A/C here, and no option for it.04:29
rick_h_what?!04:29
StevenKRented apartment04:29
rick_h_A/C is why I went to college and got a good job. So i can just keep that running all summer and manage to pay the bill04:30
jtvStevenK: it's a bit over 32°C here, but turns out a fan helps.04:31
jtvMaybe that's just because it's winter here, but it feels nice & cool.04:32
lifelessjtv: you're in europe atm ?04:33
jtvNope.04:33
lifelessah, 'winter'04:34
jtvYou caught me.  We don't _really_ have winter here.04:34
StevenKAustralia has summer and lack-of-summer.04:34
jtvThat's what I thought, until an Australian friend moved back there and emailed me a map, making me guess where he lived.04:35
jtvThinking it was always hot in Australia, I said "what maniac called that place Sunnyvale?"04:36
jtvThe answer: wow, you guessed our location!  We don't understand the name either — it's never sunny here.04:36
spmStevenK: one of my Uncles was in Mt Hagen in PNG for many many years. He said they had two seasons. The Wet Season, and the Wetter Season.04:42
StevenKHaha04:43
spmand canberra has all four seasons. so nyah.04:43
huwshimispm: What, all the way from grey to misty?04:44
spmhuwshimi: um. no. that's melbourne. you don't get grey and misty on 600mm average rainful.04:45
huwshimispm: My first experience of Canberra involved not seeing the sun the whole time I was there.04:46
spmgees. my inlaws in mackay had one 24 hour period that copped more rain then we get in an average year.04:46
huwshimispm: granted, it was only  a little over 24 hours :)04:46
spmhuwshimi: heh, very unlucky then. a rubbish day here is when you can actually see a cloud in the sky. :-)04:47
huwshimiovernight bus, get in a 6am, misty, all day, misty, practice, misty, play gig at night, still misty, bus out at 4am04:47
spmah yes. winter fogs. they can be special.04:47
StevenKspm: At $LAST_JOB, we found a part of southern NT that recieved 3000mm of rain.04:48
StevenKIn 48 hours.04:48
spmalthough, the year before I moved here. they had a running joke. What do you call the day after two days of rain? Monday. Apparently it rained 12+ consecutive weekends.04:48
spmHa!04:49
spmTully would be the good one to check. in FNQ.04:49
StevenKA lake formed.04:49
=== jtv is now known as jtv-afk
StevenKPrivatePersonLinkageError: Cannot link person (name=team-name-100003, visibility=PRIVATE) to <TeamMembership at 0xfeb68d0> (name=None)05:19
StevenK... so we can't have private subteams?05:19
wgrantCorrect. That would make the team's membership opaque.05:19
wgrantIn the current rules, the owner might not even be permitted to see that the member existed.05:20
StevenKRight, so there is no point testing for the private subteam case in terms of MixedVisibility?05:20
wgrantNot until we define and implement new rules.05:20
StevenKSo according to lifeless, private superteams should not be disclosed05:22
wgrantRight, they're not important.05:22
lifelessStevenK: depends on the viewer :) But yes, not automatically disclosed.05:23
StevenKSo I'm confused, since that is the major cause of MixedVisibilityError05:23
wgrantThose need to be hidden.05:23
wgrantWhen we allow private subteams, they must be shown.05:24
wgrantThere's no reason to show private superteams to everyone.05:24
wgrantThat benefits nobody.05:24
StevenKRight, so I should fix Person:+index to only return private superteams if the user is a member of the subteam?05:24
wgrantIf the user has permission to view the subteam.05:25
wgrantEr05:25
wgrantTo view the superteam.05:25
StevenKI'm just worried that is expensive.05:25
wgrantWhich membership in the subteam would convey.05:25
wgrantBut it's not the only way.05:25
wgrantHowso?05:25
lifelessStevenK: try:except: around it05:25
wgrantIt's already shown as <hidden> because we know they don't have access.05:25
wgrantSo we know whether they have access or not.05:25
StevenKBut that's the TALES formatter, we aren't filtering the list05:26
wgrantThat's irrelevant.05:26
wgrantWe have the information.05:26
wgrantSo we can filter on it.05:26
StevenKI'm just questioning the cost of calling checkPermission on each superteam05:26
wgrantClearly it's fine, because we already do it.05:26
StevenKOh, it's just done in the formatter.05:27
wgrantOtherwise we wouldn't know to raise the soft oops.05:27
StevenKDuh05:27
StevenKObviously, my brain is made out of silicon.05:27
StevenKEwww, Person.select()05:31
lifelessargggh05:44
lifelessstuck ec2 instance05:44
lifeless500dollar ec2 bill05:44
nigelbwow05:45
StevenKWIN05:45
wgrantow05:45
nigelbExtra Large instance?05:45
nigelbWait, how long was it stuck?05:45
lifeless$0.68 per High-CPU Extra Large Instance (c1.xlarge) instance-hour (or partial hour) 729 Hrs 495.7205:45
nigelbwait, it remained stuck for 729 hours?...05:46
lifelessapparently05:46
StevenKNo, that can't be right05:46
StevenKProbably a few weeks, plus other usage05:46
lifelessa whole month, yes.05:46
StevenKSince a month is only 730 hours.05:46
nigelbOh another note.05:46
nigelbIf you use 1.5 hours, amazon chargse for 2 hours. (assuming the instance is killed after that)05:47
lifelesswe setup the teardown after it sets up05:47
lifelessno, one instance, I'm pretty sure05:47
lifelessmy net has been shite05:47
StevenKYou don't use ec2 for anything else?05:47
lifelessso I suspect a ec2 instance was kicked off and never had the shutdown timeout called05:47
lifelessStevenK: no05:47
StevenKAh05:47
lifelessStevenK: or rather, yes, I don't use it for anything else.05:47
nigelbWell, lessson learnt at least :)05:48
StevenKIt is well known that lifeless' Internet is crap.05:48
nigelbMaybe someone should check how many instances are around at any time and when it was procurred.05:48
lifelesswhat lesson? don't use 'ec2 land' ?05:48
nigelbhah05:48
nigelblike a status page showing all currently running instances and when it was taken, should help track it down better.05:49
StevenKlifeless: rvb has a cronjob that checks ec2 ls05:49
huwshimilifeless: Will stuck instances show up with 'ec2 list'05:49
StevenKnigelb: We have that, 'bin/ec2 ls'05:49
lifelesshuwshimi: if you think to run it, yes05:49
nigelbahh05:49
wgrantThey show up in the numbers at the bottom.05:49
huwshimilifeless: Haha, ok :)05:49
wgrantThey don't necessarily show up in the list, however.05:49
lifelessI normally have a widget - aws-status - that shows all my instances05:49
lifelesshowever, it hasn't been updated to indicators05:49
lifelessso I don't have it anymore05:50
nigelbStevenK: heh, I got very excited and tried it out :P05:50
nigelband realized I don't have access ;)05:50
wgrantYou do have access :)05:51
StevenKI think you can have access, you just have to pay for it05:51
nigelbhah.05:51
nigelbOh, you guys use your own accounts and then expense it?05:52
wgrantYep05:52
StevenKRight05:52
nigelbAHHHH05:53
nigelbok, that makes sense. I thoguht y'all were sharing one account.05:53
StevenKSo if you run ec2 test twice a month it should cost you about $5.5005:53
nigelb(that's what we do at work)05:53
nigelbWe have one account which is paid by corporate card and 3 of us get the keys to that05:54
spmo/ nigelb06:08
nigelbHey spm :)06:20
StevenKlifeless: I can't find the mail again, but I find newest first for mailman to be *backward* from every other mailman instance I play with.06:50
lifelessI agree06:56
lifelessas wgrant says thats not a good reason to do/not do something06:56
lifelessbut newest first is just terribly slow the way things are structured today06:56
StevenKlifeless: It just gives me pause to think when looking. Since it performs like a utter dog too, I say change it.06:57
wgrantOldest-first would work if we didn't have a single archive for all-time.07:03
wgrants/would work/might be acceptable/07:03
StevenKRight07:03
huwshimiSo, how do we upgrade our version of cssutils?07:26
huwshimiThe current version can't handle some css3 syntaxes07:26
wgrantWe're currently using 0.9.6607:27
wgrantEr07:27
wgrant0.9.607:27
wgrantSee versions.cfg07:27
huwshimiwgrant: Yup and there's a (stable) version 0.9.7 that supports what I need07:28
wgranthuwshimi: Grab a tarball, add it to download-cache alongside the old one, update versions.cfg.07:29
huwshimiwgrant: Where does our config look to grab stuff from?07:35
huwshimiwgrant: pypi?07:35
wgranthuwshimi: No, it doesn't look online. It looks in download-cache/dist07:35
wgrantYou'll see lots of eggs and tarballs in there.07:36
huwshimiwgrant: Oh right, so I need to commit a new tarball?07:36
wgranthuwshimi: Right.07:36
huwshimiah07:36
wgranthuwshimi: There's no PQM/reviews for that branch. You can commit/push directly.07:36
huwshimiwgrant: But I need to push the change to lp for the versions.cfg change though right?07:37
wgrantRight.07:37
huwshimiwgrant: Do I need to do anything else to make launchpad start using the new version?07:42
huwshimiwgrant: Do I need to get it to build a new egg or something07:43
wgranthuwshimi: No. buildout will automatically create the egg from the tarball once you update versions.cfg07:43
huwshimiwgrant: Oh, I guess I better run buildout :)07:43
huwshimioops, thanks :)07:43
wgrantAh, I see, yes.07:45
huwshimiOh, I guess it would help if I changed the versions.cfg of the branch I was using too07:47
huwshimiDoes anyone know how to enable the beta banner for a page locally?08:12
mrevellHi08:54
adeuringgood morning09:07
=== almaisan-away is now known as al-maisan
=== jtv changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Critical bugtasks: 3*10^2
=== matsubara-afk is now known as matsubara
gmbOh, hey, leaving a partial DB patch lying around will break things. Who'da thunk?12:20
nigelbstub: You might enjoy this - http://thedailywtf.com/Articles/Directive-595.aspx12:23
=== al-maisan is now known as almaisan-away
rick_h_morning13:03
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
abentleyrick_h_: The updated spinner looks good to me.14:24
rick_h_abentley: ok cool, Since deryck is going to be here soon I'll want to sanity check with him and if that works then will submit for review/land14:24
rick_h_/want/wait14:24
abentleyrick_h_: cool.14:25
rick_h_abentley: did you see the emails with huw from last night? Are we supposed to be jumping to the top of the page on next/prev?14:25
abentleyrick_h_: Yes.  In an email today, I explained that deryck was going to do that, but I don't think it should be associated with the spinner, just updating the batch.14:26
rick_h_abentley: right, ok.14:27
abentleybac: would you consider re-reviewing https://code.launchpad.net/~abentley/launchpad/person-bug-listings/+merge/83860?  I've made an important change.14:35
bacabentley: ok14:36
abentleybac: Thanks.  The change is that the view_name is now provided by LP and used by the javascript.14:36
bacabentley: it looks good but i have to wonder if there isn't a better way to get the viewname?  i don't have any bright ideas but what you've done feels kludgy.14:44
dobeyjelmer: were you going to add me to ~vcs-imports?14:46
jelmerhi dobey14:47
jelmerdobey: sorry, I hadn't understood that you actually wanted to be in ~vcs-imports. One sec, I'll add you.14:47
abentleybac: I don't know of a better way to get the view name.  I believe using getGlobalSiteManager().registeredAdapters() was gary_poster's suggestion.14:47
dobeyjelmer: oh sorry. yes please. thanks :)14:47
bacabentley: ok14:47
jelmerdobey: welcome :)14:47
bacabentley: done.14:49
=== Ursinha is now known as Ursinha-lunch
benjiHey guys, I'm working with the LOSAs to get a small DB permission change for a script to fix a critical regression; in an email stub said that I "need someone to manually apply the permissions to production" but neither I nor the LOSA know what exactly that means.  He asks if "running ./security.py wouldn't work?"  Hints?15:13
deryckabentley, adeuring -- standup in 4 ok?15:25
abentleyderyck: sure.15:26
adeuringderyck: sure15:26
deryckcool15:26
bachi jelmer15:42
jelmerhi bac15:42
=== beuno is now known as beuno-lunch
benjiflacoste: I am in need of someone I can ask a DB deployment question.16:12
=== abentley changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: abentley | Critical bugtasks: 3*10^2
flacostebenji: shoot!16:17
flacostei'll do my best to answer16:18
=== matsubara_ is now known as matsubara
benjiflacoste: I'm working with the LOSAs to get a small DB permission change for a script to fix a critical regression; in an email stub said that I "need someone to manually apply the permissions to production" but neither I nor the LOSA know what exactly that means.  He asks if "running ./security.py wouldn't work?"16:18
flacostebenji: yes, if we run it as we do as part of nodowntime, that should do the trick16:19
benjiflacoste: thanks16:19
=== beuno-lunch is now known as beuno
=== Ursinha-lunch is now known as Ursinha
=== jcsacket1 is now known as jcsackett
gmbsinzui: I have a question about bug 894390, if you've got a second.17:11
_mup_Bug #894390: It's possible for Person.account and EmailAddress.account to be different for the same person <db> <merge-deactivate> <openid> <users> <Launchpad itself:In Progress by gmb> < https://launchpad.net/bugs/894390 >17:11
sinzuiI do17:12
gmbsinzui: Okay. Quickly put, then: Will anything really bad happen if we move the code that changes email.account and email.person out of MergePeopleView._doMerge() and into the job code?17:15
gmbI realise that we're then deferring the check for other email addresses on the dupe account17:15
sinzuiquick answer nothing bad17:15
sinzuigmb, I wanted to do it17:16
gmbBut at the moment that check / change is preventing me from putting in a simple constraint to ensure that Person.account and EmailAddress.account point to the same place.17:16
sinzuiI think it is a bit tricky because of timing and rules checks17:16
gmbYeah.17:17
sinzuigmb, that view code is using the removeSecurityProxy too? I think we really do want that code in the model level17:18
gmbsinzui: Yup, I thought that too :)17:18
gmbsinzui: Are we only caring about the user in doing the check in the view? I.e. do we mostly care that they get told if the merge can't happen?17:18
gmb(Because we could conceivably do all that in a rabbity fashion, hand-wave, etcetera)17:18
sinzuigmb: yes. We really want the user to know that they are done confirming *many* email addresses. The code is counting down to 017:20
sinzuiThen we tell the user we are going to do it17:20
gmbHrrrm.17:20
sinzuiWe can count down to 1 maybe17:20
gmbHmm, possibly.17:22
gmbsinzui: Actually, if we did the check for emailset.getByPerson(self.dupe).count() > 1 (or whatever) early on in _doMerge(), wouldn't it have a similar effect?17:23
gmbOh, no.17:23
gmbBother.17:23
gmbThat doesn't actually solve the problem *at all*17:23
=== salgado is now known as salgado-lunch
derycklunch time for rick_h_ and I.17:40
sinzuiabentley, Do you have time to review https://code.launchpad.net/~sinzui/launchpad/dsp-vocab-unknown-distro18:45
abentleysinzui: I can get to it in a bit.18:46
abentleysinzui: Is it intentional that test_getInputValue_package_spn_dsp_picker_feature_flag and test_getInputValue_package_dsp_dsp_picker_feature_flag have identical comments?19:10
sinzuino :(19:11
abentleysinzui: around 171 and 187, I think you can simplify getUserBrowser().open(canonical_url(bug)) to getViewBrowser(bug)19:15
sinzuiI certainly an19:15
sinzuican19:16
abentleysinzui: technically, test_setDistribution should have a comment, though I don't know what I'd say.19:17
abentleysinzui: And there should be a docstring on setDistribution itself.19:18
sinzuiI would say it permits the callsite to set the vocab's distribution after the vocab was instantiated by another mechanism19:19
abentleysinzui: Okay,  r=me with those text changes.19:20
sinzuithank you19:20
abentleysinzui: Could you review one for me?19:21
sinzuiyes I can19:21
abentleysinzui: https://code.launchpad.net/~abentley/launchpad/history-model-fix/+merge/8399519:22
abentleysinzui: I can provide some context if you like.19:23
sinzuiDoes this fix my back button? I sometimes need to go back twice to go back one page?19:23
abentleysinzui: On the new bug listings?19:24
sinzuiyes19:24
abentleysinzui: It's not a bug I've observed, but I think it might fix that.19:24
sinzuiabentley, lint lists 6 files, the diff shows 119:26
abentleysinzui: I don't think lint takes prerequisite branches into account.19:26
sinzuiahh there is a preqeq19:26
sinzuir=me19:27
abentleysinzui: thanks!19:27
lifelesssinzui: hi19:35
lifelesssinzui: mailman19:35
sinzuiyes mailman19:37
sinzuinever postwoman19:37
lifelessis it easy to turn on monthly indexes vs all-time ?19:37
sinzuilifeless, I think it is the same work as what I described in my reply to your email. I am not familiar with the switch/flags in the file, but I think it is simple to add and a few days to generate19:38
lifelesscoooool19:38
=== gary-lunch is now known as gary_poster
lifelessdo you feel like doing it yourself?19:39
lifelesscause, you have like +10000 from me if you want to19:39
sinzuiI will consider it for Friday. I have committed to fixing the so-called "bug supervisor" label on the advanced bug search form for Friday morning19:40
lifeless\o/19:40
lifelesssinzui: separately19:42
lifelesssinzui: wallyworld_ asked me yesterday about disclosing team names on branch pages; I said my understanding was that was fine as long as we'd cleaned up existing subscriptions to remove teams that don't want to be disclosed19:43
lifelessthis turned into a discussion about whether that was work we'd decided to do or not, or something19:43
lifeless16:25 < lifeless> my understanding is that we settled on 'when the team interacts with something' and 'team interactions will prompt to permit the interaction'19:43
lifeless16:25 < lifeless> its the second bit I suspect is missing19:44
lifeless16:25 < wallyworld_> yes19:44
lifeless16:26 < wgrant> The second bit requires an API break.19:44
lifeless16:26 < wgrant> In dozens of places.19:44
lifeless16:26 < wallyworld_> maybe we decided against it then. i can't recall19:44
lifeless16:27 < lifeless> I'd worry a little if we had19:44
lifeless16:28 < lifeless> because we have a number of policies intended to prevent accidental discovery of private team names19:44
lifeless16:28 < lifeless> and not doing the second bit will deeply devalue them19:44
lifeless16:28 < wallyworld_> my memory is fuzzy, so i'm not sure one way or the other19:44
lifeless16:28 < wgrant> I thought we were going to skip that, because of the enormous and ever-expanding scope creep it would entail.19:44
lifeless16:29 < wgrant> Given recent happenings, I don't think we need any more of that...19:44
lifeless16:29 < wallyworld_> i seem to recall that the discussion was that private team names could be exposed19:44
lifeless16:29 < wallyworld_> and that people would have to given them cryptic names19:44
lifeless16:29 < wallyworld_> if they didn;t want others to guess things19:44
lifeless16:32 -!- timrc [~tim@99-57-130-76.lightspeed.austtx.sbcglobal.net] has joined #launchpad-dev19:44
lifeless16:34 < lifeless> noone told me :)19:44
lifeless16:35 < wgrant> We don't have a compelling, pretty, feasible private team design.19:44
lifeless16:35 < wgrant> We no longer have a compelling, pretty, feasible private artifact design.19:44
lifeless16:36 < wallyworld_> lifeless: perhaps we can all have a chat with sinzui tomorrow to clear it up. in case i/we have misunderstood anything19:44
lifeless-fin19:44
sinzuiI think my team was slowly understanding what I meant by traversal. wallyworld_ did produce a branch that seem to do the right thing to check if a user may access a subordinate object19:46
sinzuiwe have not solved the important case yet to say we really know how to do this...eg stop avoiding the private team p3a subscription problem19:46
lifelessanyhow, I believe you have a standup. Perhaps I can join at the end of that and we can have a brief chat? I don't want to be adding confusion to your team when they ask me things :)19:47
sinzuilifeless, We do not yet know how to present pages when the user as restricted access19:47
sinzuiokay19:47
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
sinzuilifeless, https://code.launchpad.net/~wallyworld/launchpad/view-private-branch-artifacts-605130/+merge/83915 shows the draft that wallyworld_ took after discovering the bug was about traversal19:51
timrcNot that I'm going to add anything of value here, but most of our (Commercial Engineering)  privacy needs could be met if running own instance of Launchpad were more feasible19:55
timrclet the firewall naturally provide most of the security for us19:55
timrcdoesn't solve the problem of privacy for external customers though (unless they too ran their own instances of Launchpad)19:56
lifelesstimrc: AIUI thats bogus :)19:57
lifelesstimrc: because you have multiple vendors you collaborate with, and you don't want mutual-disclosure amongst them19:57
timrcif we could bring up separate launchpad instances for each, though?19:58
timrcthat would imply Launchpad were much lighter than it is today, though19:58
lifelessit would be a totally different thing at that point19:58
timrcthere has been customer interest to put image building behind the firewall but what of the archive? on the face of things launchpad seems perfectly suited for that, but in practice, that would be a nightmare20:06
flacostemore like a set of bugzilla instances :-)20:06
flacostewhich means, no collaboration between them20:06
flacostewhich isn't what LP is about20:06
timrcflacoste, how do private projects within launchpad.net collaborate today?20:09
flacostetimrc: well they use multiple bug tasks20:10
timrcI thought that was going away :)20:10
flacosteyou asked today?20:10
timrclol ok20:10
flacostebut you are right20:10
timrcfair enough20:10
flacostethat's changing to use linking between issues20:10
flacosteso that it's easier to manage the conversations20:10
flacosteand easier to understand who has access to what20:11
flacostebut linked issues will still make it easier to collaborate than setting separate bugzilla instances20:11
flacostewhich really never talk to each other20:11
flacosteas a back story20:11
flacosteCanonical and Ubuntu started by using bugzilla itself20:11
flacosteand then quickly saw that trying to talk to upstream would never scale with it20:12
flacosteand that's when LP was born20:12
timrcFederate your Launchpad instances so BigCo's launchpad instance is comprised of all the data from launchpad.net and launchpad.bigco.com20:12
flacostewell, its bug tracker at least20:12
flacostetimrc: yep, that would be another way of doing it20:12
flacostebut more work20:12
flacosteand you guys have waited long enough already ;-)20:12
timrclol20:13
lifelessfederation has the same issues FWIW20:14
lifeless'if I reply to this bug, who sees the response'20:15
lifeless'who is this bug accessible to'20:15
lifeless'who should control accessibility to this bug'20:15
timrcdepends on where the bug originates?20:15
lifelesssure20:15
timrcif the bug originates on launchpad.bigco.com than by default it's only visible to people with access to launchpad.bigco.com20:15
lifelessbut if you get notified on bugs that are just federated in20:15
lifelessand you reply with proprietary info because you are confused...20:16
abentleyderyck: chat?20:16
deryckabentley, deep in sprinting right now.20:17
abentleyderyck: okay.20:17
deryckabentley, is this about something you're hacking on?20:17
abentleyderyck: Yes.20:17
timrclifeless, we have a nice banner that says "this bug is private"... I can envision the same here20:17
lifelesstimrc: right, but you see that its not something improved by federating20:17
deryckabentley, is this something you need me for, or could someone else pre-imp you?20:18
lifelesstimrc: federating doesn't naturally solve it20:18
timrclifeless, it seems more intuitive, the separation seems clearer20:18
abentleyderyck: I wanted some policy direction, but I think I can get started without it.20:19
timrcyou don't set a privacy bit, it's implied by organizational structure20:19
lifelessI think federating is a good way to think about the problem20:19
lifelessbut I don't think the act of federating itself solves much, not if you have it all automated20:20
deryckabentley, ok, cool.  Thanks!20:21
timrcokay, well thanks for humoring me :) i know your time is precious20:25
timrcI am trying to find a critical bug I can work on in my spare time -- need you guys focused on privacy! ;)20:26
jcsackettabentley: free for a review? https://code.launchpad.net/~jcsackett/launchpad/fancy-filebug-part2/+merge/8400420:29
abentleyjcsackett: I don't understand the difference between a private bug and a private-by-default bug.20:31
abentleyjcsackett: Do you know why these ribbons are implemented in JavaScript?20:32
jcsackettabentley: private by default is projects where all reported bugs are automatically marked as private.20:35
abentleyjcsackett: I got confused because I didn't understand were were talking about a bug that doesn't exist yet.20:36
jcsackettabentley: ah, yes, this is on +filebug, so as you're reporting it.20:36
jcsackettsorry if my mp didn't make that clear.20:36
jcsackettas to the javascript, abentley, it was written originally for existing bugs, so that it would dynamically display when a bug was marked as private or public once it already existed.20:37
jcsackettit seemed better to just reuse that even in non-dynamic situations then create another display.20:37
jcsackettand in the case of toggling the security related stuff, the dynamic part is actually desireable.20:37
abentleyjcsackett: It just seems bad not to provide these ribbons to non-JS users.20:38
abentleyjcsackett: Our new beta banner was based on these ones, so I've filed Bug 891697 about it.20:39
_mup_Bug #891697: Beta banner is not shown if JavaScript is disabled. <Launchpad itself:Triaged> < https://launchpad.net/bugs/891697 >20:39
jcsackettabentley: that's fair.20:40
jcsackettabentley: i *believe* the old privacy display (the grey stripey edging) still shows when you're looking at a private bug if you don't have JS.20:40
jcsackettbut having something like the banner still work would be better.20:40
abentleyjcsackett: oh, that's good.20:40
* timrc tests that20:41
abentleyr=me.  I prefer "set up" rather than "setup" for the verb, but I guess both are used.20:43
timrcjcsackett, it does indeed show the grey stripey edge20:43
jcsackettabentley: thanks. i've updated your bug to explicitly include the privacy banner, b/c the same considerations apply.20:43
pooliehi all20:55
sinzuiabentley, I share your observation about the privacy banner. It was interactive. We removed the hide button, so it is just structure and CSS now. in fact, we still load the old css. you will see the old background stripe on the left when the page loads :(21:09
lifelessthats good if js is disabled ;)21:14
=== matsubara is now known as matsubara-afk
flacostesinzui: timrc disabled js and confirmed that the old background strip appears21:21
flacostehi poolie21:22
pooliehi there21:22
flacostebenji: are we ready to renable the translations jobs?21:22
flacostebenji: a user complained again on #launchpad21:23
sinzuilifeless, flacoste it is not good, it is only acceptable. The page could have used the pretty CSS by default!21:23
benjiflacoste: we are (well, they weren't jobs before, but now are)21:23
flacostesinzui: right21:23
flacostebenji: care to file a RT for it? I'll put it at the top of the queue21:24
timrcgray stripey edge is definitely subtle21:24
benjiflacoste: the only problem remains that there is a disagreement about how exactly that is done, or if anything needs to be done at all21:24
flacostebenji: what's the disagreement about?21:24
timrcI've grown to depend on the red bar to make sure I'm not about to do something regrettable21:24
timrcif only I had it for other aspects of my life21:24
benjiflacoste: I wasn't around when it was last discussed but the way it was communicated to me was that nothing needed to be done and the jobs would simply begin running21:25
flacostebenji: i doubt that21:25
benjiflacoste: you and me both :)21:25
flacostebenji: right, we need a new cron job21:25
flacostethere is a generic script to run these jobs21:25
flacostebut the arguments to the script are job-specific21:26
flacosteiow, the config section to use21:26
benjiright (cronscripts/run_jobs.py)21:26
benjiflacoste: I'll file an RT to add "cronscripts/run_jobs.py pofile_stats" to the crontab or equivalent.21:27
flacostebenji: thx, let me know the # so that i can adjust the priority21:28
benjiflacoste: will do21:28
benjiflacoste: RT #4963521:34
_mup_Bug #49635: adept is _really_ slow.  <adept (Ubuntu):Fix Released by mornfall> < https://launchpad.net/bugs/49635 >21:34
flacostebenji: thx21:37
benjinp21:37
lifelesssinzui: so what time is the clal ?21:41
sinzui19 minutes21:42
sinzuiwe use mumble21:42
lifelesskk21:42
sinzuiI suspect we are the last team to use mumble21:42
poolieo/ sinzui21:44
sinzuipoolie, Last year, I had mumble on all the time and talked many times a day. Used mumble about 7 time a week now. :(21:47
pooliethat is more often than me21:47
poolieif i had better audio hardware21:47
pooliei would use it more21:47
poolienot sure what that would look like though21:47
lifelessif it worked better in .nz I would use it more ;)21:49
beunosinzui, in U1 we only use mumble, a lot of us are on it for the full working day and move between rooms to talk to people21:54
sinzuibeuno, That is what I remember the ~launchpad team was doing 12 months ago21:55
mwhudsonlifeless: it's been fine for me lately21:58
mwhudsonof course i have super internet in the office21:58
mwhudson(by nz standards)21:58
lifelessbeuno: I can't work like that - too much distractions (see for instance the research into productivity losses in open plan offices)21:59
beunolifeless, right, so my work is basically interrupt-based, so if anyone is blocked on something, they can just jump in and talk22:00
beunowhen I need to focus, I close it22:00
lifelessbeuno: they can do that to me too; but when its not happening I am focused ;)22:01
=== abentley changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Critical bugtasks: 3*10^2
beunolifeless, it's a bigger barrier if you need to ping someone on irc, get them to log in, adjust their mic, etc etc etc22:01
beunoif I'm already there, it's cheap and quick22:02
abentleysinzui: We never really did that on the Code team.22:02
lifelessbeuno: perhaps22:02
beunolifeless, then we also have a policy where developers always work in pairs, so they have their own channels22:02
beunoI can get dragged into those22:02
beunoor other developers can get pinged to join them22:03
=== jcsackett|afk is now known as jcsackett
beunoit's been quite good for us22:03
beunoOTOH, when it's hammer time, people even drop off of IRC   :)22:03
sinzuiStevenK, bug 60373223:18
_mup_Bug #603732: If there is no driver a maintainer should be able to accept a bug nomination <bugnominations> <lp-bugs> <planning> <series> <Launchpad itself:Triaged> < https://launchpad.net/bugs/603732 >23:19
sinzuiwallyworld_, Do you want to talk about launchpad.LimitedView on mumble23:33
wallyworld_sinzui: ack23:34
poolieis it just me who sees ec2 host keys getting cached in my real keyring by ec2test?23:42

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