[00:47] <thumper> ericsnow: $ rbt post -r 169 -p
[00:47] <thumper> ERROR: Error updating review request draft: HTTP 500
[01:00] <ericsnow> thumper: what's the unicode table-flipping URL again?
[01:01] <thumper> http://emojicons.com/table-flipping
[01:01] <ericsnow> thanks
[01:02] <ericsnow> thumper: (╯'□')╯︵ ┻━┻
[01:04] <ericsnow> thumper: is there an existing review request?
[01:05] <ericsnow> thumper: perhaps a draft?
[01:05] <thumper> yep
[01:05] <ericsnow> oh, right (rbt -r)
[01:05] <thumper> yes...
[01:05] <thumper> it looks like previous attempts to upload diffs half worked
[01:05] <ericsnow> which review request?
[01:05]  * thumper tries again
[01:07] <thumper> same error
[01:07] <thumper> looks like it is ok...
[01:07] <thumper> although
[01:07] <thumper> only some of the file moves were identified as moves
[01:07] <ericsnow> what's the review request number?
[01:07] <thumper> but it didn't publish
[01:08] <thumper> http://reviews.vapour.ws/r/169
[01:08] <thumper> see the "-r 169"
[01:08] <thumper> if I try to click publish
[01:08] <thumper> I get: 500, internal server error
[01:10] <thumper> at least the current review looks ok
[01:10]  * thumper will leave it there
[01:10]  * thumper looks around for ax2
[01:10]  * thumper looks around for axw
[01:21] <thumper> oh hai axw
[01:21] <axw> thumper: hey, otp
[01:22] <thumper> axw: yeah, standup time, can you ping me when you're done?
[01:30] <axw> thumper: finished
[01:31] <thumper> axw: quick hangout?
[01:31] <axw> sure
[01:31] <thumper> axw: https://plus.google.com/hangouts/_/g4kiddxgksppcg5jevrhyid5xqa?hl=en
[01:32] <thumper> axw: re http://reviews.vapour.ws/r/169/diff
[02:50] <thumper> wallyworld_: can I get a +1 from you here: https://github.com/juju/errors/pull/10
[02:50] <wallyworld_> looking
[03:00] <thumper> axw: has that branch got you wanting to slash your wrists?
[03:02] <axw> thumper: a little bit :)
[03:02] <axw> I'm on page 2
[03:02] <thumper> \o/
[03:02] <thumper> not too many changes needed I hope
[03:03] <axw> no, but I haven't been particularly thorough and I'm not completely au fait with this user/auth stuff
[03:05]  * thumper is happy with cursory
[03:10] <axw> thumper: done
[03:10] <thumper> axw: thanks
[03:10]  * thumper looks
[03:10]  * thumper hopes he didn't say thanks too soon...
[03:11] <axw> thanks... FOR NOTHING
[03:12] <axw> bbl, tea
[03:25] <thumper> axw: thank you for the review. I know it was massive.  Tweaks made and pushing.
[03:26] <thumper> I do wonder how we can fix the command API usage in a better way
[03:26] <thumper> axw: we could inject from the outside in the tests, and have nil for the api normally
[03:27] <thumper> axw: so if it is nil, we get the api calls from the appropriate api client
[03:27] <thumper> axw: is that what you meant?
[03:28]  * thumper thinks on this
[03:28] <thumper> axw: I may look at changing it for my 'user list' command to see how it looks
[03:51] <thumper> BOO YEAH!!!
[03:51] <thumper> mega user manager branch merged first time
[03:52] <wallyworld_> you sounds surprised?
[03:55] <thumper> of course not, I checked it here first
[03:55] <thumper> just happy that CI agrees with me
[04:03] <thumper> wallyworld_: and related juju branch https://github.com/juju/juju/pull/937
[04:03] <davechen1y> thumper: "Update to the latest juju/errors.
[04:03] <davechen1y> Old Contextf and Maskf replaced by DeferredAnnotatef."
[04:03] <davechen1y> how much of this is up for debate ?
[04:03] <wallyworld_> ok
[04:03] <thumper> wallyworld_: hey... isn't review board going to do this...
[04:03] <davechen1y> zero, can be an answer
[04:03] <wallyworld_> thumper: supposedly :-)
[04:03] <thumper> davechen1y: zero at this stage...
[04:04] <davechen1y> then LGTM
[04:04] <thumper> davechen1y: but I'm open to listening
[04:04] <davechen1y> didn't even read it
[04:04] <davechen1y> DeferredAnnotatef means jack shit to me
[04:04] <davechen1y> it's 0% improvement over the old, also unknowable methods
[04:05] <thumper> well... I'm open to a better name, but couldn't think of one
[04:05] <davechen1y> ok, so when you said zero is up for debate
[04:05] <davechen1y> that was incorrect ?
[04:05] <thumper> effectively it allows someone to say `defer <somename>(&err, "some text")`
[04:05] <wallyworld_> thumper: just checked, github->reviewboard worked this time :-)
[04:05] <thumper> so it can annotate the error response if it is non-nil
[04:06] <thumper> davechen1y: can you think of a better name?
[04:06] <davechen1y> After ?
[04:06] <davechen1y> Possibly ?
[04:06] <davechen1y> putting Deferred at the front is as bad as
[04:06] <thumper> davechen1y: errors.MaybeAnnotate?
[04:06] <davechen1y> type IInterface interface
[04:07] <thumper> davechen1y: I don't particularly like the name
[04:07] <thumper> davechen1y: but I couldn't think of a better one
[04:07] <davechen1y> defer eerrors.Maybe
[04:07] <thumper> so suggest away
[04:07] <thumper> davechen1y: sounds like we aren't sure :)
[04:07] <wallyworld_> what's wrong with IFoo interface? :-P
[04:08] <davechen1y> sssstuttering
[04:08]  * thumper stabs wallyworld_quitely
[04:08] <davechen1y> wallyworld_: we're not all hungarian
[04:08] <wallyworld_> i don't like hungrian, but don't mind IFoo
[04:08]  * thumper doesn't like IFoo
[04:08] <thumper> I prefer "Foo" for the interface
[04:08] <thumper> and a concrete implementation
[04:08] <wallyworld_> and FooImpl
[04:09] <wallyworld_> i've used both
[04:09] <thumper> or namespaced
[04:09] <thumper> wallyworld_: got any ideas on a better name?
[04:09] <thumper> I'm not sure about maybe
[04:10] <wallyworld_> me either, .... maybe
[04:10]  * thumper invites bikeshed colours
[04:10] <thumper> davechen1y: any other ideas?
[04:10] <wallyworld_> thumper: i don't mind Annotate
[04:10] <thumper> wallyworld_: but it isn't Annotate
[04:10] <wallyworld_> it should be obvious it will pass nil through
[04:10] <thumper> it is currently 'DeferredAnnotatef'
[04:11] <davechen1y> thumper: honestly, you';ve done the work now
[04:11] <davechen1y> the work to change this now or change it later is the same
[04:11] <davechen1y> so leave it
[04:11]  * wallyworld_ is bad at names
[04:11] <thumper> davechen1y: how about we paint it later?
[04:11] <thumper> davechen1y: agreed
[04:11]  * thumper merges for now
[04:12] <thumper> davechen1y: magic words needed here: http://reviews.vapour.ws/r/232/
[04:12] <davechen1y> "I ain't even mad, bro" ?
[04:13] <thumper> ta
[04:14] <thumper> bugger...
[04:15]  * thumper waits for the bot to fail
[04:15] <thumper> at least it should fail fast
[04:16]  * thumper takes a deep breath and resolves a shed load of conflicts in his user list branch
[04:39]  * thumper rages against the machine
[04:39] <thumper> WTF...
[04:40] <thumper> missing }
[04:55] <axw> thumper: I meant it would be good if the cmd/juju package passed an API client into the cmd/juju/user command constructor (if it had one)
[04:56] <axw> and the tests could do their own mock API client
[04:56] <thumper> I don't think it knows at that time, but I have an idea...
[04:56] <axw> IOW, make cmd/juju/user unaware of the API client code
[04:56]  * thumper is trying it out
[05:56]  * thumper promises to do documentation and email reading tomorrow
[05:56] <thumper> long day...
[05:56] <thumper> perhaps I'll exercise more tomorrow
[05:57] <thumper> night folks
[09:09] <fwereade> jam, do you have a few minutes? I need someone to talk to gsamfira about reboots
[09:10] <fwereade> jam, I'm completely failing to multitask today and I don't want to drop the code I'm writing
[09:10] <fwereade> alternatively, dimitern or voidspace, perhaps? ^^
[09:13] <voidspace> fwereade: I'm happy to listen - not a topic I know about :-) Is that sufficient?
[09:13] <dimitern> fwereade, hey, I'm sprinting in bluefin with mattyw and the cts guys for the rest of this week
[09:14] <fwereade> voidspace, looks like it's you then :)
[09:14] <fwereade> voidspace, you don'yt need to know anything going in
[09:14] <voidspace> fwereade: sure
[09:15] <voidspace> fwereade: do gsamfira sort this out between ourselves from here?
[09:15] <fwereade> ok, gsamfira, voidspace -- please hang out and introduce yourselves at your convenience :)
[09:15] <voidspace> cool
[09:15] <voidspace> gsamfira: hi, do you want to start a hangout or shall I?
[09:15] <gsamfira> voidspace: If you prefer a 10 minute hangout to bring you up to speed, we could do that now :)
[09:15] <gsamfira> either way is fine :P)
[09:15] <gsamfira> :)
[09:16] <voidspace> gsamfira: that's fine - go ahead and start a hangout and send me the link
[09:17] <gsamfira> link sent :)
[09:29] <TheMue> morning
[09:29] <TheMue> voidspace: now my power adapter broke and I had to organize a new one *sigh*
[09:30] <voidspace> TheMue: my laptop is cursed
[09:31] <voidspace> TheMue: it even broke your power!
[09:31] <TheMue> voidspace: *rofl*
[10:44]  * fwereade lunch, would love a review of https://github.com/juju/juju/pull/939
[11:02] <jam> TheMue: voidspace: would you guys want to move the meeting up by 45min? It works better for me and means we won't run into this as much. (we'll need to move our 1:1 though voidspace)
[11:05] <voidspace> jam: that's fine with me - I would prefer to move the 1:1 forward rather than back though :-)
[11:05] <voidspace> jam: if possible
[11:06] <voidspace> jam: 9:15am on a monday morning I tend to be a bit blurrier than usual...
[11:08] <TheMue> jam: just done calculations due to change of CEST to CET this weekend. so if I'm right the meeting would be 15 mins earlier for me then from Monday on. ;) so change is ok.
[11:08] <voidspace> gsamfira: ping
[11:09] <gsamfira> voidspace: pong
[11:11] <voidspace> gsamfira: how does jujud on the parent know to clear the reboot flag?
[11:12] <voidspace> gsamfira: is it just on restart, if it sees the flag it clears it
[11:13] <gsamfira> the lock is created on all machines. Parent and container. It gets cleared when the reboot worker starts
[11:13] <gsamfira> both the local lock and the flag
[11:13] <gsamfira> on the state machine
[11:13] <gsamfira> https://github.com/juju/juju/pull/782/files#diff-127c383eb8a738c5f51ef175dfee5734R80
[11:13] <voidspace> gsamfira: if jujud crashes (and is restarted by upstart) in between setting the flag and actually rebooting, what happens
[11:14] <voidspace> (jujud on the parent machine - not the state machine)
[11:15] <voidspace> gsamfira: or are you saying that it's the reboot worker on the state machine that knows when the parent machine has rebooted and clears the flag?
[11:18] <gsamfira> right now, the flag gets set by the hook when the tool is called: https://github.com/juju/juju/pull/831/files#diff-8ff4032006e797fd3c81d33149202160R541 . When that happens, the worker notices the flag, grabs the locks and exits with worker.ErrMachineReboot. The machine agent then sees the error,  and issues a reboot
[11:19] <gsamfira> so if the agent gets killed before the reboot is actually executed, when it comes back up, it simply clears the flag
[11:19] <voidspace> and reboot doesn't happen
[11:19] <gsamfira> problem is, that the containers might do the right thing anyway and shutdown
[11:19] <gsamfira> yeah
[11:19] <voidspace> what about if the flag was cleared *immediately* prior to the actual reboot command being executed
[11:20] <voidspace> so there's only microseconds of race condition between the flag being cleared and the reboot for a crash to interfere
[11:20] <gsamfira> I would actually prefer this, but that means reconnecting to state after the fatal error is returned
[11:20] <gsamfira> if that is fine with everyone, I could revert to a previous version that did this
[11:21] <voidspace> but william didn't like this approach?
[11:22] <gsamfira> not that much. To be fair, it was a bit ugly.
[11:22] <voidspace> it seems we just traded one race condition (jujud dies after clearing flag) for another (jujud dies after flag is set)
[11:22] <voidspace> and clearing the flag before reboot saves having to have the uuid
[11:22] <voidspace> I guess it depends on *how* ugly
[11:23] <gsamfira> I can give it a shot and make it pretty
[11:23] <gsamfira> :)
[11:24] <voidspace> gsamfira: cool
[11:28] <mattyw> voidspace, ping - when you have a spare moment - not urgent
[11:28] <jam> voidspace: TheMue: I moved the time, just confirm that it matches what you were thinking it would be
[11:29] <jam> TheMue: would you like to join the hangout again to quickly go over what you're working on?
[11:29] <voidspace> jam: looks good
[11:30] <voidspace> mattyw: pong
[11:30] <mattyw> voidspace, cancel that ping actually
[11:30] <mattyw> voidspace, but thanks anyway
[11:30] <jam> voidspace: and then for our 1:1 how about just after the standup?
[11:30] <voidspace> mattyw: unpong
[11:30] <voidspace> jam: great
[11:30] <mattyw> voidspace, ack
[11:30] <voidspace> :-)
[11:32] <jam> hmmm.. TheMue is probably out for lunch. I'm going to go help with homework and be back in a bit. Ping me when you're back around so we can coordinate again.
[12:15] <TheMue> jam: back again
[12:17] <TheMue> jam: short status is, that the test matrix and the tests are defined, in there is a setup for each scenario and here I'm currently working on (some manipulations in state, thankfully nowhere else)
[12:18] <TheMue> jam: and new standup time is confirmed
[12:29] <jam> TheMue: sounds good, I'm in and out a bit while I help with homework (we also had to discuss an incident at school today).
[12:31] <TheMue> jam: oh, I know these discussions. I hope nothing too bad.
[12:32] <jam> TheMue: just some pushing, etc. But wanting to make sure he learns well at 7 so it isn't a bigger problem at 17 :)
[12:32] <TheMue> jam: hehe, good way, yes
[13:03] <anastasiamac> ericsnow: Eric, I've committed some changes to github but did not get review automatically created... was I meant to have are view or do I need to do rbt stuff? I think it's meant to be 940 (number appended on PR)
[13:11] <anastasiamac> ericsnow: did rbt meanwhile..
[13:12] <jam> anastasiamac: http://reviews.vapour.ws/r/235/ "this review is not yet public"
[13:12] <jam> anastasiamac: so is there an "anastasialinux" user ? :)
[13:18] <anastasiamac> jam: i created 235 manually by running rbt post
[13:19] <jam> anastasiamac: sure, but if you create one, you do still need to make it public when you're done
[13:19] <anastasiamac> jam: i have ;-)
[13:21] <jam> anastasiamac: anyway, it definitely looks like we need to check on why you didn't get an automatic review post
[13:21] <jam> but the rbt thing seems to have worked
[13:21] <anastasiamac> jam: mac is start of my family name and not an affiliation :-)
[13:21] <anastasiamac> jam: thnx for checking. i really appreciate
[13:21] <jam> anastasiamac: I realized that, but when I first read it I thought it was because you had multiple active accounts and this was you connecting from your mac (given the recent discussions we've been having of trying to get you set up.)
[13:22] <jam> I realized when I saw your github name was the same
[13:23] <jam> anastasiamac: fwiw, you should also be added to the github.com/juju/ "hackers" team, so you can vote on merge proposals, etc. I'll do that now
[13:23] <jam> hmm.. .says you are part of the team, what is the sorting on this page
[13:23] <jam> I see you there now
[13:24] <jam> anastasiamac: I thought that might be part of the reviewboard issue, but obviously not related
[13:25] <anastasiamac> jam, ericsnow: my push had 2 commits with 25 files overall... maybe that caused an issue?
[13:25] <jam> anastasiamac: it shouldn't
[13:26] <jam> we've certainly had much bigger
[13:27] <anastasiamac> jam: oh well, I'll put it down to beginner's luck and will call it a nite :-) thnx for feedback!
[13:50] <natefinch> ahh
[13:50] <natefinch> yes, that's a good fix for the import cycle.  Or at least, an expedient fix
[13:51] <natefinch> this is a good place to use the export_test pattern
[13:51] <natefinch> i.e. make an export_test.go file, which by definition is only compiled when peergrouper tests are running - it can export the private functions that the tests need
[13:52] <natefinch> so like
[13:52] <natefinch> var PrivateFunction = privateFunction
[13:52] <natefinch> will make privateFunction available for use in tests, just have to rename the calls to use PrivateFunction instead
[13:56]  * fwereade needs a walk, bbiab
[13:57] <perrito666> natefinch: I was making that but dind find a way for the types
[13:58] <perrito666> so I guess a solution there is to always export the types and since members are private make accessors for those in export_test
[14:02] <perrito666> man, its so hard to get anniversary gifts when you share credit cards with your wife :p
[14:03] <natefinch> haha
[14:04] <natefinch> perrito666: yeah, not sure what to do about types
[14:06] <perrito666> I googled a bit and I dont see a much cleaner solution for types
[14:06] <perrito666> I mean I do, but I dont know if the cost of re-writing half peergrouper is worth it
[14:22] <voidspace> computer having "issues"
[14:22] <voidspace> rebooting
[14:39] <natefinch> ug, so I had the stupid idea to try out vim today.... I can't even finish making my .vimrc without hitting what seems like a ridiculous bug
[14:39] <natefinch> Wanted to set up the right tabstops, so google, find this: http://stackoverflow.com/questions/1878974/redefine-tab-as-4-spaces/1878984#1878984
[14:39] <natefinch> right, so copy and paste into my vimrc, right?  WRONG
[14:40] <perrito666> that works
[14:40] <perrito666> that is what is on my vimrc
[14:40] <rick_h_> natefinch: heh, it hates you
[14:40] <natefinch> it's not that the content is wrong... it's that copy and paste is fubared.  What actually gets pasted is this: http://pastebin.ubuntu.com/8628514/
[14:40] <rick_h_> natefinch: heh, :set paste
[14:41] <rick_h_> natefinch: I've mapped it to F11
[14:41] <rick_h_> natefinch: but yea, that happens, not a bug.
[14:41] <rick_h_> natefinch: it's other vim settings kicking in for you
[14:41] <rick_h_> and then :set nopaste to turn back
[14:41] <perrito666> natefinch: for vim every input is input, so if you dont set paste as rick_h_ says it will try to autocomplete your text
[14:42] <rick_h_> and do things like carry on your comment block from one line to the next/etc
[14:42] <rick_h_> which is darn handy writing a comment block, but sucks for pasting text
[14:42] <perrito666> natefinch: if you think that sucks try pasting html :p
[14:42] <natefinch> this is the problem with using a terminal as software - vim can't tell the difference between a paste and me typing really fast.  Which is epically dumb
[14:43] <perrito666> natefinch: there is no, you are not using a paste feature of the editor
[14:43] <natefinch> I was even ok with having to put vim into edit mode, but now I need to put it into paste mode too?  Do people not copy and paste all the time in vim?
[14:43] <perrito666> natefinch: but if it makes you feel better you can use gvim
[14:44] <rick_h_> natefinch: not large blocks of text with mixed comments/etc no
[14:44] <perrito666> which is perhaps the most esthetically offensive piece of software ever
[14:44] <rick_h_> natefinch: didn't they teach you copy/paste is bad :P
[14:44] <natefinch> perrito666: I did run gvim for just long enough to have it burn my eyes before I closed it down
[14:44] <rick_h_> esthetically? it's an editor. Give me a blinking cursor and a keyboard baby :)
[14:44] <rick_h_> ah, right you have to turn off all the menu/tec
[14:44] <rick_h_> etc
[14:44] <rick_h_> toolbars
[14:45] <perrito666> rick_h_: I like my editor to be surrounded by not so much uglyness
[14:45] <perrito666> :p
[14:46] <rick_h_> perrito666: I prefer it to be surrounded by nothing :)
[14:46] <perrito666> hehe
[14:48] <rick_h_> perrito666: natefinch pics sent with gvim running :)
[14:50] <perrito666> rick_h_: you use gvim set up exactly like vim :p
[14:51] <perrito666> you dont use the ugly graphical things that come in gvim
[14:51] <rick_h_> perrito666: except I get better mouse integration and such :)
[14:51] <rick_h_> perrito666: but yea
[14:52] <perrito666> rick_h_: ah true, interesting indea, I might try it, although I have picked the habit of bg/fg mi vim after peer programming with mgz
[14:52] <rick_h_> perrito666: ah, I just us tiling and flip active windows vs fg/bg
[14:53] <mgz> eheh, evil ways
[14:54] <perrito666> aghh why ubuntu keeps setting my apt with local mirrors
[14:56] <natefinch> vim tutorials need to be written by people who *haven't* been using vim for 30 years
[14:57] <perrito666> natefinch: they need to be written by both, the new people write "to do this use <placeholder>" and then the old guys fill placeholder
[14:59] <natefinch> they're all like 10 pages of different ways to edit and delete shit, and you have to do a full text search to find all the basic stuff.  Like, how do I make a new tab?  How to I switch tabs?  How do I open a friggin' file from inside vim?  How do I undo?
[15:02] <perrito666> natefinch: just create your own config, itll be faster, I dont think anyone uses the defaults for thos
[15:02] <perrito666> those
[15:02] <perrito666> they suck
[15:04] <natefinch> ok, so .... how do I open a file once I'm in vim?  it seems like :o is the right thing, except vim doesn't seem to like anything I type after that as a filename
[15:05] <perrito666> natefinch: :edit file
[15:05] <perrito666> for the current buffer
[15:05] <perrito666> :tabnew blah
[15:05] <perrito666> for a new tab
[15:05] <perrito666> and if you have a decent sized screen you can :vsplit your screen
[15:06] <natefinch> ok
[15:07] <natefinch> how do I switch to the other buffer?
[15:08] <mfoord> TheMue: after I made the change to use a const for "none", are you happy with my ec2 SupportAddressAllocation mp?
[15:08] <perrito666> natefinch: :buffer numbe
[15:08] <perrito666> to know which is which :buffers
[15:08] <perrito666> natefinch: you could use nerdtree which is that fs tree that you can see on rick_h_ gvim, but it sucks
[15:09] <natefinch> no but really, how do you actually do it, because I'm not typing 14 characters every time I want to switch back and forth
[15:09] <perrito666> there is only so much you can do with a terminal
[15:09] <perrito666> natefinch: lol, I dont use buffers I use tabs
[15:09] <mfoord> TheMue: http://reviews.vapour.ws/r/211/
[15:09] <perrito666> but I actually have a shortcut around there for changing buffers
[15:10] <TheMue> mfoord: sure, mom
[15:10] <natefinch> perrito666: I have a 30" screen, not using a split screen would be terrible
[15:10] <perrito666> natefinch: noone really types these things, you figure the ones you use and shortcut them
[15:11]  * natefinch goes back to sublime text
[15:12] <perrito666> natefinch: lol
[15:12] <perrito666> vim is a way of life, you cannot have one day stands with it
[15:12] <perrito666> btw, good luck exiting vim
[15:13] <TheMue> natefinch: hehe, I moved back from ST to my good old vim.
[15:13] <natefinch> haha.... I know how to exit vim :)  I learned to edit with vim a long time ago because ssh...
[15:14] <natefinch> you know what I can do with sublime text? Grab a tab, pull it into a different window on a different screen.  It takes a half a second with this new fangled thing they call a mouse :)
[15:14] <TheMue> what is a mouse?
[15:15] <mfoord> I'm pleased that are still options for those afraid of GUIs
[15:15] <TheMue> those animals our cat fetches from time to time?
[15:15] <mfoord> ;-)
[15:15] <perrito666> natefinch: I like sublime, I just dont feel like paying 70 bucks for it :p
[15:15] <natefinch> perrito666: I found it to be worth the $70 after using it in nag-mode for a year or so
[15:16] <TheMue> or you can reserve one of your cores and run Atom
[15:16] <natefinch> lol
[15:16] <natefinch> I did eventually install Atom, but after running it for about 30 seconds I didn't really see a point if I was already used to ST
[15:18] <natefinch> and ST is like 1000 times faster
[15:19] <perrito666> I actually wrote my own IDE with a friend, but we are both too lazy to add go support
[15:19] <TheMue> natefinch: but hey, you can develop plugins in this fantastic language they call JavaScript
[15:20]  * TheMue has to say he likes JS like he likes having a flu
[15:21] <perrito666> TheMue: I dont really mind writing it, as long as I dont have to read it
[15:22] <TheMue> perrito666: oh, so now I know how you are. you abuse maintainers. WORN (write-once, read-never) coder.
[15:22] <TheMue> :D
[15:23] <perrito666> TheMue: only in javascript, and perhaps php if I really have to
[15:23] <TheMue> perrito666: ouch, ok, reasonable ;)
[15:24] <perrito666> TheMue: the last time I had to write JS my job description was senior python dev, so I only wrote the JS with the "father helping child to do homework" disclaimer "Ill write this, but you will have to understand it and explain it later" :p
[15:26] <TheMue> perrito666: hehe, reminds me of an old colleague and perl fan. first comment in his code: "don't read any further if you don't understand this statement: ..." with something I never understood.
[15:28] <perrito666> lol
[15:43] <rick_h_> natefinch: https://www.youtube.com/watch?v=XXJO_Swmdnw and https://www.youtube.com/watch?v=KVAeelM-0QI
[15:43] <rick_h_> natefinch: and https://www.youtube.com/watch?v=SzrcMilnre8
[16:01] <natefinch> rick_h_: thanks... those looks cool, but I think I'll stick with ST.  I'm not sure I'd really get much from vim, other than hacker cred
[16:02] <rick_h_> natefinch: cool, use what works for you. If you think on vim again let me know. it takes some time but I can't move back
[16:02] <rick_h_> natefinch: have the same keybindings in my shell as I do in my editor and such, <3
[16:27] <perrito666> mm, private methods on interfaces behave funny :p
[16:37] <sinzui> natefinch, is there a plan for win images in os streams, possibly at cloud-images.ubuntu.com
[16:53] <bodie_> hello all, I'm trying to call a subpackage API client (api/actions/client.go) from cmd/juju; however, there's no NewAPIClient method for that subpackage client type on cmd.Context
[17:10] <natefinch> sinzui: we're trying to figure out what to do with win images...
[17:56] <perrito666> rick_h_: the videos suggested from your links are fun "how to become ultra productive writing code with vim" I am sure that if the difference on the speed of your programming is significant depending on how fast you write you re not putting enough though into your logic
[17:56] <perrito666> rick_h_: but the video tutorial is nice
[17:57] <rick_h_> perrito666: they're my videos :)
[17:57] <rick_h_> perrito666: did them a few years ago trying to help convert some folks
[17:58] <perrito666> rick_h_: the bar with the keys+mouse is a nice touch
[17:58] <rick_h_> perrito666: and true enough, but there are times when you've given tasks that knowing the editor better help make a lot smoother, TDD, csv/test data editing/etc
[17:58] <perrito666> rick_h_: true, the thing is I actually clicked on some of those suggestions :p
[17:58] <rick_h_> being better able to flow from MVC files of code and such are really helpful keeping the brain on track
[17:59] <perrito666> rick_h_: I see you really make something of the mouse integration Ill try gvim again
[18:30] <bodie_> let me grab a quick review on https://github.com/juju/names/pull/30
[18:30] <bodie_> miniscule change to export a struct member for using tags over the wire, blocking an api PR
[18:31] <perrito666> sometimes godeps reminds me too much of ensure availability
[18:33] <bodie_> I noticed there's a Go mode for LightTable
[18:33] <bodie_> kinda curious about that
[18:39] <natefinch> someone review this trivial change?  It's just a typo: http://reviews.vapour.ws/r/214/
[18:41] <mfoord> g'night all
[18:42] <perrito666> natefinch: done
[18:44] <natefinch> perrito666: thanks
[18:46] <perrito666> np, running tests, not like I can do much else at some parts
[19:06] <perrito666> mm can anyone run the full test suite?
[19:06] <perrito666> I got provisioner failing when I do a full run but not on isolation
[19:26] <natefinch> quick review to fix a critical bug?  http://reviews.vapour.ws/r/237/
[19:27] <natefinch> perrito666: I'll run the full test suite if you review that fix :)
[19:27] <perrito666> heh
[19:27] <perrito666> btw, the review board thing is empty Ill use github
[19:27] <natefinch> dammit
[19:27] <natefinch>  mongod --version
[19:27] <natefinch> TokuMX mongod server v2.0.0-mongodb-2.4.10, using TokuKV rev 668f1118593ba0976b6ec68768062f64d418ec83
[19:27] <ericsnow> natefinch: is it still not posting the diff?
[19:28] <natefinch> ericsnow: dunno, didn't notice
[19:28] <natefinch> ericsnow: guess not
[19:28] <natefinch> perrito666: I uploaded the diff
[19:28] <natefinch> ericsnow: at least rbt post -u is working now
[19:30] <ericsnow> natefinch: looks like RB was fussing about the diff that github gave it
[19:31] <ericsnow> natefinch:  only one other auto review request  has had any issues (unicode related)
[19:38] <perrito666> natefinch: I can think of a couple of nicer fixes
[19:39] <natefinch> perrito666: oh yeah?
[19:39] <perrito666> like making updateDistroInfo take a Reader and making something else wrap it and you can test updateDistroInfo and ignore the wrapping function that only opens a file
[19:40] <perrito666> natefinch: and I am pretty sure that there is a way to use PatchValue :p but I have not looked that much into it
[19:41] <perrito666> "oh yeah?" from your manager usually means that I will end up doing the programming equivalent of cleaning toilets right?
[19:41] <natefinch> perrito666: I was trying to go as neutral as possible :)
[19:42] <natefinch> perrito666: it's a good point about avoiding reading from disk
[19:43] <perrito666> natefinch: also I feel that SetDistroInfo breaks isolation a bit
[19:43] <natefinch> perrito666: it's in export_test so it only is exposed to tests in that package
[19:43] <perrito666> natefinch: breaks isolation between tests
[19:44] <perrito666> there are no other tests, so its a bit irrelevant
[19:44] <perrito666> but you never know
[19:44] <natefinch> perrito666: oh, I see what you mean
[19:47] <perrito666> there, nice and tidy in the right lines in the reviewboard
[19:47] <perrito666> I am not that clear explaining it on the air
[19:47] <bodie_> hm
[19:47] <katco> ok this is driving me slightly batty... i have 2 testing suites, A embeds B. A has a TearDownTest and if i reset a context in this method, i get a panic saying it's already been reset. if i don't, it's not reset. is anyone familiar with gocheck and suites?
[19:48] <perrito666> ericsnow: I believe the name resolution of reviewboard is not going so well in mails
[19:48] <perrito666> http://ec2-54-165-123-2.compute-1.amazonaws.com/r/238/
[19:48] <perrito666> :p
[19:49] <ericsnow> perrito666: yeah, I saw that
[19:49] <bodie_> my godeps -t $(go list github.com/juju/juju/...) > dependencies.tsv.new is significantly different than the old one.  is anyone else having this issue?
[19:49] <ericsnow> perrito666: it's on my list of low-priority bugs :)
[19:49] <perrito666> ericsnow: completely agree
[19:49] <natefinch> perrito666: I fixed the isolation thing.  I don't think I'll bother to fix writing to disk... it's not a huge deal, and it keeps the production code more obvious
[19:49] <perrito666> I couldnt care less what is before /r/###
[19:50] <perrito666> katco: that sounds odd
[19:50] <perrito666> its the only difference?
[19:51] <bodie_> this is the case even if I do godeps -t *in master immediately after running godeps -u*
[19:51] <katco> perrito666: meaning only difference between tip and my branch?
[19:51] <perrito666> katco: the only difference between your two suite runs is commenting the context reset?
[19:52] <katco> perrito666: ah, yes. if i toggle commenting out the resetContext(...) i get different classes of failures
[19:52] <katco> perrito666: commented out, i get a complaint that i'm adding a machine trying to be a state server when it's the 3rd machine to be added (context not being reset)
[19:52] <katco> perrito666: uncommented, i get the panic saying it's already been reset
[19:53] <katco> perrito666: and i'm fairly sure it's something to do with order of operations b/t the embedded suite and how i'm calling TearDownTest et. al. but i'm not able to pin it down as of yet
[19:54] <perrito666> katco: I was unde the impression that if you want to call TearDownTest on a "parent" type you need to do it explicitly
[19:54] <perrito666> so I am a bit puzzled
[19:54] <katco> perrito666: me too... i mean please work under the assumption that i'm just doing something wrong. i just don't know what.
[19:55] <perrito666> natefinch: I am not savvy enough to know if that solves the issue of concurrency
[19:56] <katco> perrito666: http://reviews.vapour.ws/r/87/diff/#3
[19:57] <katco> perrito666: you can see on L2602 i commented out the reset because my tests were panicing, but now the StatusSuite has a failure
[19:57] <perrito666> katco: this might sound idiotic, have you tried swaping the calls?
[19:57] <katco> perrito666: i believe when i first ran into it, but let me try again
[19:58] <perrito666> katco: have you tried turning it off and on again?
[19:58] <perrito666> :p
[19:58] <katco> perrito666: wait a second... have i wandered into a tiere-1 call-center!?
[19:58] <perrito666> Well, I am south american :p
[19:58] <katco> i'm not using windows dammit! there is no start button!
[19:59] <perrito666> and I worked on a call center for 6 hs
[19:59] <katco> (tests running now)
[19:59] <bodie_> so I guess nobody else is having that problem? lol
[19:59] <perrito666> bodie_: sorry I have not tried, but I actually did not add a dependency in ages
[20:00] <perrito666> bodie_: natefinch is the resident godeps guru :p
[20:00] <bodie_> yeah, it's something different, a whitespace thing I think
[20:00] <katco> perrito666: oh btw, what is even stranger is i'm doing -gocheck.f to filter down to just a StatusSuite test, yet this is still having an effect
[20:01] <thumper> waigani: are you really around?
[20:01] <thumper> waigani: notice the new standup time?
[20:01] <natefinch> bodie_: you know you can just do godeps -t ./...
[20:01] <katco> perrito666: test failed with a panic still =/
[20:01] <perrito666> morning thumper
[20:01] <waigani> thumper: yes and no
[20:01] <thumper> o/ perrito666
[20:01] <katco> hiyo thumper
[20:01] <natefinch> bodie_: from the juju root dir of cours
[20:01] <thumper> waigani: it is now
[20:01] <waigani> ah
[20:01] <bodie_> natefinch, aye
[20:02] <perrito666> katco: at that point I believe its worth seeing what is going on in the parent TearDown
[20:02] <bodie_> natefinch, http://paste.ubuntu.com/8631657/ is the diff against master immediately after godep -u
[20:03] <natefinch> bodie_: so, yes, I see some differences... but it's mostly BS
[20:03] <bodie_> right
[20:03] <katco> perrito666: tons of stuff... it hooks into JujuConnSuite
[20:03] <bodie_> I've just bumped into this before and I'm not sure what's happening or why -_-
[20:03] <bodie_> very irritating to fix manually
[20:03] <bodie_> just wondering if it's something someone else has seen before I assume PEBKAC
[20:04] <perrito666> bodie_: wrong version of godeps?
[20:04] <bodie_> just updated godeps to make sure
[20:04] <natefinch> bodie_: so, the bitbucket ones are because they're windows only, and godeps currently only shows the dependencies for things that are compiled for your current OS.  This is fixable in our code if we're careful
[20:04] <katco> niemeyer: ping
[20:04] <perrito666> bodie_: we are programming the thing, its always PEBKAC
[20:04] <natefinch> for example I did this with my npipe code... you just import it without using it
[20:04] <niemeyer> katco: Hey
[20:05] <bodie_> weeeell, there's pebkac and then there's pebkak::ID-10T
[20:05] <katco> niemeyer: howdy :) i have a gocheck question. i'm seeing some behavior i don't understand
[20:05] <katco> niemeyer: do you have time to review the backlog b/t me and perrito666?
[20:05] <niemeyer> katco: Not right now, but I can do it soon
[20:05] <natefinch> bodie_: the syslog difference is just an ordering difference, someone didn't put it in the right spot
[20:05] <niemeyer> katco: I can answer a specific question now, though
[20:06] <katco> niemeyer: not a problem, whenever you can get to it. thank you :)
[20:06] <bodie_> natefinch, okay, I just want to make sure I'm not that person before I go opening a PR with content that messes it up for others
[20:06] <natefinch> bodie_: and errgo... I don't have a difference for errgo in mine... I can't tell what the actual difference is in your pastebin
[20:06] <katco> niemeyer: i'm not sure i can pin it down to 1 question... it's a dependency issue b/t testing suites and TearDownTest
[20:07] <katco> niemeyer: trying to reset a context, but if i do that it panics b/c calling TearDownTest on parent suite also does that
[20:07] <katco> niemeyer: however if i don't, it appears as though the context doesn't reset
[20:07] <niemeyer> katco: Okay, there are no "parent" suites, strictly speaking
[20:07] <natefinch> bodie_: I tried to get people to let me put in a test that ensures godeps -t outputs the same contents as are in dependencies.tsv but I got shot down
[20:07] <katco> niemeyer: sorry, a suite i've chosen to embed within another suite
[20:08] <niemeyer> katco: Got it.. still doesn't make much sense to me.. will need more context indeed
[20:08] <katco> niemeyer: i'm almost absolutely doing something wrong and stupid. just trying to figure out what :)
[20:08] <natefinch> bodie_: ahh, I see... someone removed the use of errgo but didn't remove the godeps entry
[20:09] <bodie_> there we go
[20:09] <bodie_> okay
[20:09] <bodie_> cool
[20:09] <bodie_> and I'll just leave the windows deps in there
[20:09] <natefinch> bodie_: yep
[20:10] <perrito666> it would be awesome if godeps would support creating dependencies with the same type of filter as go _windows _linux and such
[20:10] <natefinch> bodie_: I blame thumper
[20:10] <natefinch> or rather, git blame does :)
[20:11] <thumper> wat?
[20:11] <natefinch> perrito666: yeah, roger wants to add that, but hasn't gotten around to it
[20:11] <perrito666> mmmpf on my way back from brussells I watched the lego movie and now every time I read/say/hear awesome this obnoxious song pops into my head
[20:11] <natefinch> thumper: dependencies.tsv still included github.com/juju/errors
[20:11] <natefinch> er errgo
[20:11] <thumper> davecheney: http://reviews.vapour.ws/r/233/
[20:11] <thumper> netyes...
[20:11] <thumper> natefinch: yes
[20:11] <thumper> natefinch: errgo has slipped into juju/charms and juju/utils
[20:12] <thumper> so until that is unpicked, still needed
[20:12] <natefinch> thumper: godeps doesn't think it's used anymore
[20:12] <natefinch> thumper: maybe that's been fixed
[20:12] <thumper> maybe...
[20:12] <natefinch> apologies... not your fault, then
[20:13] <natefinch> thumper: yeah, quick grep says it's not used anymore.  That's good.
[20:14] <thumper> natefinch: feel free to submit a branch that removes it
[20:15] <bodie_> hrm
[20:16] <bodie_> thumper, it'll be in reviewboard 178 in about 1 minute -- should I just include that change there?
[20:16] <bodie_> thumper, the godeps tweak to remove errgo, that is
[20:17] <bodie_> thumper, also, I could really use a confirmation on your query there
[20:19] <bodie_> http://reviews.vapour.ws/r/178/#comment1225
[20:20] <natefinch> http://reviews.vapour.ws/r/239/
[20:21] <natefinch> thumper: ^
[20:21] <natefinch> removes errgo and fixes the ordering and fixes the windows-only imports problem so godeps -t ./... > dependencies.tsv produces the right output
[20:21] <niemeyer> katco: Okay, here
[20:22] <katco> niemeyer: can you review the backlog, or would you like me to go over it again?
[20:22] <natefinch> thanks for the review davecheney
[20:23] <niemeyer> katco: Reading
[20:23] <katco> ty
[20:23] <niemeyer> katco: What does it mean to "reset a context"?
[20:24] <katco> http://reviews.vapour.ws/r/87/diff/#3 L2602
[20:25] <katco> it is in JujuConnSuite; looks like it kills pingers and then calls JujuConnSuite.Reset
[20:31] <thumper> bodie_: so, re http://reviews.vapour.ws/r/178/#comment1225, I don't think that ServicesCharmActions is a good client call.
[20:31] <thumper> bodie_: it exposes the wire protocol objects unnecessarily
[20:32] <thumper> bodie_: and it isn't going to be called by the juju command line client
[20:32] <thumper> bodie_: perhaps just don't export the method?
[20:32] <thumper> menn0: hangout?
[20:33] <menn0> thumper: yep. the standup one?
[20:33] <thumper> sure
[20:33] <niemeyer> katco: Have you noticed there are two different suites being setup there?
[20:33] <niemeyer> katco: StatusSuite and JujuConnSuite?
[20:33] <niemeyer> katco: While there's only a single anonymous type in the struct
[20:33] <bodie_> thumper, sounds good to me
[20:34] <katco> niemeyer: in filteringFeature's SetUpSuite?
[20:34] <niemeyer> katco: In the suite
[20:35] <niemeyer> katco: filteringFeature is manipulating sub-fields on an embedded suite
[20:35] <niemeyer> katco: and in the TearDownTest, the commented out method I suppose is a method of the anonymous field as well
[20:36] <niemeyer> katco: So there are at least three different ways in which the embedded suite is being used:
[20:36] <niemeyer> 1. An explicit method of the embedded type
[20:36] <niemeyer> 2. A method of a field from the embedded type which is a suite
[20:37] <niemeyer> 3. A suite method from the embedded type
[20:37] <niemeyer> katco: I'm not surprised the behavior is unclear
[20:38] <niemeyer> katco: Unfortunately I cannot tell you what is wrong, but I bet that cleaning up that situation would reveal the problem
[20:38] <katco> niemeyer: so, i believe i'm only utilizing methods on my embedded type (StatusSuite) which may be forwarding calls onto its embedded suite(s)
[20:38] <niemeyer> f.JujuConnSuite.SetUpTest(c)
[20:38] <niemeyer> katco: That's not a method of the embeded type
[20:39] <niemeyer> katco: It' s a method of a field of the embedded type
[20:39] <katco> niemeyer: ah i missed that... i think that's in error, let me correct it
[20:39] <niemeyer> katco: and then there are both
[20:39] <niemeyer> f.StatusSuite.TearDownTest(c)
[20:39] <niemeyer> and the suggestion of
[20:40] <niemeyer> f.resetContext(c, <-f.ctx)
[20:40] <niemeyer> Which is the problematic piece
[20:41] <katco> niemeyer: except the ctx i pass in is a member of filteringFeature... but perhaps resetContext relies on some member variables of statusSuite?
[20:41] <niemeyer> katco: I don't really know
[20:41] <katco> niemeyer: also puzzling is how 2 different instances of suites could affect one another
[20:41] <niemeyer> katco: I would try to make the interface of StatusSuite more clear
[20:42] <niemeyer> katco: and would probably not have it as a suite in the first place, if it's supposed to be a helper
[20:42] <katco> niemeyer: i think you're on the right track... i'll start teasing things apart
[20:42] <katco> niemeyer: thank you :)
[20:42] <niemeyer> katco: Code that calls one another can affect one another.. :)
[20:43] <niemeyer> katco: Which is why a cleaner interface would help out
[20:43] <niemeyer> katco: np
[20:43] <katco> niemeyer: hrm, but if they're separate instances, i don't know how that works haha
[20:43] <katco> niemeyer: at any rate, thanks for taking the time
[20:43] <niemeyer> katco: I have avoided using that sort of SetUpSuite/TearDownSuite "forwarding" in recent projects
[20:43] <niemeyer> katco: It's much better to have a helper with a clear interface that is called out by the suites
[20:44] <niemeyer> katco: So there's only one SetUpSuite/TearDownSuite
[20:44] <katco> niemeyer: it does cause complexity, but it appears to be the way juju does things at the moment
[20:44] <niemeyer> katco: and the tasks inside it are clear
[20:44] <katco> niemeyer: i like your idea better
[20:44] <niemeyer> katco: Well, it doesn't have to be
[20:49] <waigani> thumper: inserting a new instanceData doc, what fields need to be populated? _id, instanceid ...
[21:05] <thumper> waigani: pretty much
[21:05] <waigani> ok
[21:06] <thumper> waigani: what file is it in again?
[21:06] <waigani> thumper: state/upgrades.go
[21:06] <thumper> waigani: I was meaning the instance data struct
[21:06]  * thumper has found it
[21:07] <waigani> oh sorry
[21:07] <thumper> waigani: you'd need a status too
[21:08] <waigani> where do we get the status from?
[21:08] <waigani> ah machine.Status()
[21:10] <thumper> waigani: hmm...
[21:10] <thumper> waigani: no, that appears to be a different status...
[21:15] <thumper> waigani: just don't worry about the instance status, that is provider specific
[21:15] <thumper> and can be empty
[21:15] <thumper> should be fine
[21:15] <waigani> thumper: sgtm
[21:17] <bodie_> thumper, tweaked what you asked for on RB 178
[21:28] <thumper> davecheney: would be good if you could look at http://reviews.vapour.ws/r/233/ earlyish so I can address issues to land today
[21:28]  * thumper goes to walk the dog while the weather is still good
[21:47] <waigani> davecheney: wont the 9am stand-ups be very early for you?
[21:50] <davecheney> waigani: meh
[22:44] <thumper> ericsnow: are you still on http://reviews.vapour.ws/r/237/ ??
[22:44] <thumper> ericsnow: it is critical and blocking landing
[22:46] <ericsnow> thumper: I took a cursory look at it but perrito666 was already giving it a more thorough review
[22:46] <thumper> ericsnow: I thought it was your branch
[22:46] <ericsnow> thumper: I'm not sure where Nate left it
[22:46] <thumper> who owns it?
[22:46] <ericsnow> thumper: Nate (at least he did)
[22:46] <thumper> it shouldn't just be left...
[22:46] <thumper> it is a critical bug
[22:47] <thumper> grr
[22:47] <ericsnow> thumper: I can pick it up
[22:47] <thumper> ericsnow: I'll take it
[22:47] <thumper> it is your EOD
[22:48] <ericsnow> perrito666: do you know where Nate left that distro info patch?  was he still addressing any of your comments
[22:48] <ericsnow> ?
[22:48] <ericsnow> thumper: k, thanks
[22:50] <ericsnow> thumper: FYI Nate and Horacio were having a lengthy discussion here about the patch
[22:50] <thumper> ericsnow: yeah I commented too
[22:50] <ericsnow> thumper: ah
[22:56] <davecheney> ericsnow: why does reviews.vapour.ws now direct us to the ec2 machine directly ?
[22:56] <davecheney> http://ec2-54-165-123-2.compute-1.amazonaws.com/r/233/
[22:57] <ericsnow> davecheney: you mean in the emails?
[22:59] <davecheney> yup
[23:00] <ericsnow> davecheney: yeah, I noticed that earlier today too; haven't had a chance to look into it
[23:01] <ericsnow> davecheney: looks like a setting got flipped
[23:02] <ericsnow> davecheney: I've set it back to reviews.vapour.ws so it should be squared away now
[23:03] <davecheney> ta
[23:03] <ericsnow> see you all in a few hours
[23:05] <thumper> davecheney: I've taken nate's branch for the critical blocking bug
[23:05] <thumper> davecheney: should have a review for you shortly
[23:05] <thumper> just running the tests
[23:08] <davecheney> kk
[23:08] <davecheney> thumper: did ou see my followup to 233 ?
[23:08] <thumper> davecheney: yeah, I'll test the constants
[23:08] <thumper> when I had vars it complained
[23:08] <thumper> I then assumed it would also complain with the const
[23:09] <davecheney> thumper: take your c++ hat off
[23:09] <davecheney> and put your feet up
[23:09] <thumper> ha
[23:11] <thumper> davecheney: https://github.com/juju/juju/pull/947
[23:11] <thumper> davecheney: expecting rbt to pick it up
[23:11] <thumper> davecheney: http://reviews.vapour.ws/r/244/