[11:16]  * gmb -> lunch
[12:07] <gary_poster> hey gmb.  I had one follow-up thought on our pre-imp call about bug 777874.  From my notes:
[12:07] <gary_poster> " * OPEN QUESTION: if a bug has been explicitly moved back to "New," should we not make the change--that is, should we honor explicit moves back to "New"? Given current feedback on related issues, I believe the answer is that we should still make the change, ignoring any previous explicit moves. That would certainly be easier."
[12:07] <_mup_> Bug #777874: If multiple reports on new bug, mark it confirmed <bug-lifecycle> <bugs> <escalated> <ubuntu-platform> <Launchpad itself:In Progress by gary> <Ubuntu:Triaged> < https://launchpad.net/bugs/777874 >
[12:07] <gary_poster> WDYT?
[12:08]  * danilos drops out to pick up some food, back in time for the call
[12:14] <gary_poster> cool
[12:20]  * gary_poster received stuff for MacBuntu hard drive!  Will attempt over lunch
[12:27] <bac> gary_poster: which machine are you putting that in?  an iMac?
[12:28] <gary_poster> bac, MacBook Pro.  http://eshop.macsales.com/shop/drive_bracket/datadoubler/
[12:28] <gary_poster> bac benji danilo gmb, call in 2
[12:29] <danilos> ack
[12:29] <bac> gary_poster: i've wondered about those.  curious to hear how it goes.
[12:29] <gary_poster> bac, me too. ;-) I'll let you know.  reviews looked good.
[12:32]  * gary_poster check to see if he forgot about gmb/benji not being around
[12:32] <gmb> I'm here...
[12:32] <benji> I think I'm here.
[12:32] <gary_poster> oh cool
[12:37] <bac> gary_poster: my expense is 'awaiting signoff'
[13:27] <gary_poster> gmb, I have assembled a few more proposals for that bug.  Could you review these and see what you think?
[13:27] <gmb> gary_poster: Sure
[13:27] <gary_poster>  * (this one might be kind of lame; I haven't decided yet) I think I don't want to use event listeners after all.  If I did, I would want to fire an ObjectModifiedEvent every time a bug's "duplicates" value changed, using an ObjectModifiedEvent.  To do that properly, I'd have to fire the event more often than I need or want (for instance, when a bug is no longer a duplicate).  I'm afraid the listeners would be unne
[13:27] <gary_poster>  * As a follow-on, the only places I will eventually want to have code checking what to do is in Bug.markUserAffected, Bug._markAsDuplicate and Bug.addTask (not BugTaskSet.createTask because not during bug creation, import).  This seems like a small list.
[13:27] <gary_poster>  * While we have a feature-flag based opt-in for this feature, I'll also need some code in BugTask.transitionToTarget--if the old one didn't participate but the new one does, we'll want to consider changing status.
[13:27] <gary_poster>  * len(bug.user_ids_affected_with_dupes) > 1 looks like the proper basic condition to consider changing statuses.
[13:27] <gary_poster>  * I don't think external (bugwatch) bugs should be affected.  I think status should be managed separately for them.  If so, though, I'm pretty confused.  It looks like LP bugs correspond to external bugs...and they have corresponding bugtasks...but can you add bugtasks for other in-LP projects?  bug.bugtasks[0] appears to be the bugwatch bugtask...but there doesn't seem to be a reliable way to check if the bugtask
[13:27] <gary_poster>   I currently have this guess.  You *can* add LP-project bugtasks to bugwatch bugs.  bugwatch *bugs* should participate in this status-update thing but *only for non-bugwatch tasks*--which means tasks with an index > 0 AFAICT, which seems *very* fragile. :-/  So, I'm hoping you have brilliant ideas for this one in particular.
[13:27] <gary_poster> DONE
[13:28] <gary_poster> Let me know if you think a call would be appropriate; that bugwatch issue seems kind of hairy to me
[13:28] <gary_poster> thanks
[13:28]  * gmb reads
[13:30] <gary_poster> oops!
[13:31] <gary_poster> how did I do that?
[13:31]  * gary_poster is back gmb, sorry about that
[13:31] <gary_poster> last thing I saw was "gmb reads"
[13:32] <gmb> gary_poster: The next bit was "gmb makes vast philosophical pronouncement that gary_poster needs to understand to become rich and famous throughout the land"
[13:32] <gmb> But never mind that...
[13:32] <gary_poster> damn it all!
[13:32] <gmb> gary_poster: So, working backwards...
[13:33] <gmb> A simpler way to deal with the bugwatch issue is to do something like this in the auto-confirm code:
[13:33] <gmb> for bug_task in bug.bugtasks:
[13:33] <gmb>     if bug_task.bugwatch is not None:
[13:33] <gmb>         continue
[13:33] <gary_poster> oh!  ok
[13:33] <gmb> (Obviously there are pithier ways)
[13:33] <gary_poster> I guess I didn't look far enough for that
[13:34] <gary_poster> ok easy, yay
[13:34] <gmb> len(bug.user_ids_affected_with_dupes) > 1 makes sense to me, too; I think that's fine.
[13:34] <gary_poster> cool
[13:34] <gmb> Also agree on transitionToTarget() whilst this is only available for certain targets.
[13:35] <gary_poster> oh...
[13:35] <gary_poster> oh, right, gotcha
[13:35] <gary_poster> (misread at first)
[13:35] <gmb> gary_poster: And I think that you might be right about event listeners, too, given how few places the auto-confirm code needs to be called.
[13:36] <gmb> Although event listeners is nice and generic, I suspect that YAGNI.
[13:36] <gary_poster> cool, gmb
[13:36] <gary_poster> ok, that sounds like all of 'em, yeah?
[13:36] <gmb> Yep
[13:36] <gary_poster> cool, thanks again
[13:36] <gmb> np
[14:07] <danilos> benji, hey, how are you doing?
[14:08] <benji> danilos: not well; it'll have to wait until Monday
[14:12] <danilos> benji, ack, if there's anything I can help with, do not hesitate to ask while I am still around
[14:12] <benji> sure; thanks
[15:00] <gary_poster> CHR...
[15:05] <gary_poster> hey gmb, is there a work around for this bug?  Feel free to triage while you are there ;-) https://bugs.launchpad.net/launchpad/+bug/810798
[15:05] <_mup_> Bug #810798: Launchpad needs upstream bug search <Launchpad itself:New> < https://launchpad.net/bugs/810798 >
[15:09]  * gmb looks...
[15:11] <gmb> gary_poster: No work-around, sadly. Wouldn't be all that hard to do (though it would be a small feature rather than a single bug, I think, to get it right)
[15:11] <gmb> I'll triage it as Low for now.
[15:11] <gary_poster> thanks gmb
[16:03] <gary_poster> ugh
[16:03] <gary_poster> CHR has been even lower on fun quotient than usual lately...
[16:03]  * gary_poster takes lunch break
[16:20]  * gary_poster decides to try installing his new hard drive.  If he is not back on line in an hour, you know will know...
[16:20] <gary_poster> A Computer Catastrophe Occurred Here!
[16:20] <gary_poster> Hopefully that won't happen...
[17:38] <gary_poster> ...not as smooth as it could have been, but so far, so ok
[19:10] <bac> benji i wonder if gary's mac is belly up?  how did you resolve your SSD problem?  did they just give you a new one?
[19:11] <benji> bac: yep; it died in an apparently common way and they cross shipped me another one
[19:11] <benji> If Gary is doing an OS install and getting things set up from scratch, it might take a while.
[19:15] <bac> that's what you get for scrimping and buying an intel!  :)
[19:15] <benji> heh
[19:23] <benji> I recently saw some numbers on SSD failures somewhere.  It's something like 0.4% (lifetime?) which was worse than hard disks, but not by too much.
[19:26] <benji> gary_poster: so you /weren't/ eaten by an SSD!
[19:27] <gary_poster> benji, no...ubuntu install is more challenging that I had hoped, but...I'm practicing creative problem solving ;-)
[19:28] <benji> what kind of challenges?  does the installer ask you to multiply large numbers in your head?
[19:28] <gary_poster> heh
[19:28] <gary_poster> no, it doesn't work
[19:28] <bac> gary_poster: eek
[19:29] <gary_poster> I've tried 64 bit and 32 bit so far
[19:29] <bac> gary_poster: what kind of errors?
[19:29] <gary_poster> On one path, I get a mostly purple screen with a couple of icons on the bottom that I don't inderstand
[19:30] <gary_poster> looks kind of like "computer keyboard = person with a circle around them"
[19:30] <gary_poster> which doesn't communicate a lot to me :-)
[19:30] <gary_poster> then I get a black screen with a blinking cursor
[19:30] <bac> it wants you to play twister
[19:31] <gary_poster> then the cd/dvd drive stops spinning after a while...
[19:31] <gary_poster> and the cursor is still blinking...
[19:31] <gary_poster> and then I kill it.
[19:31] <bac> yes, that qualifies as "challenging"
[19:31] <gary_poster> Another path just gives me funky random blocks on my screen.
[19:32] <gary_poster> Trying a third now
[19:38] <gary_poster> ok here goes crazy nothing.  will be surprised if this works
[19:51] <bac> benji: can
[19:51] <bac> remove_button.set('innerHTML', link_text);
[19:51] <bac> be replaced with
[19:51] <bac> remove_button.set('text', link_text);
[19:51] <bac> ?
[19:51] <bac> if so, isn't the latter preferable?  am i right in remembering innerHTML should be avoided?
[19:56] <benji> bac: if link_text doesn't include markup, yes
[19:56] <bac> righto