[01:54] <davecheney> wallyworld: can you get to launchpad atm ?
[01:55]  * wallyworld checks
[01:55] <wallyworld> davecheney: appears ok, what error are you seeing?
[01:55] <davecheney> https://launchpad.net/juju-core times out
[01:55] <wallyworld> works quickly for me
[01:56] <wallyworld> maybe they were doing a deployment?
[01:56] <wallyworld> still broken?
[01:56] <davecheney> yup
[01:56] <davecheney> trying from another site
[01:56] <davecheney> oh, finally
[01:56] <wallyworld> good luck
[01:56] <wallyworld> \o/
[01:56] <davecheney> launchpad is slow as fuck for me most days
[01:56] <davecheney> but this was unusually lethargic
[01:57] <wallyworld> it's not bad for me
[01:57] <wallyworld> there's been a lot of work into performance improvements over the last 12 months
[01:57] <davecheney> what times to they schedule deployments ?
[01:57] <wallyworld> if you have any particular pages that are slow, let me know and i'll look into it
[01:58] <davecheney> everythign is slow for me
[01:58] <wallyworld> no down time deployments are done as needed, and should be transparent
[01:58] <davecheney> 2-5 second page loag times
[01:58] <davecheney> multiple locations
[01:58] <davecheney> multiple computers
[01:58] <wallyworld> fast down time deployments are done 3 times a day and result in about a 2 second outage
[01:58] <wallyworld> juju-core just loaded for me in 1 second
[01:59] <wallyworld> cold
[01:59] <wallyworld> maybe your connection has higher latency to the data centres?
[01:59] <davecheney> https://launchpad.net/juju-core/+milestone/1.9.3 4 seconds
[01:59] <wallyworld> 0.52 for me
[02:00] <davecheney> i'm on iinet, your on tpg
[02:00] <wallyworld> yeah
[02:00] <davecheney> neither of those are top shelf isps
[02:00] <wallyworld> nope
[02:00] <davecheney> but this happens for me from different locations
[02:00] <wallyworld> but cheap :-)
[02:00] <davecheney> different computers
[02:00] <davecheney> was in melbourne over the weekend on optus cable
[02:00] <davecheney> same
[02:00] <wallyworld> hmmm. i can't easily explain the difference
[02:00] <davecheney> don't worry
[02:01] <davecheney> i'm used to it
[02:01] <wallyworld> :-(
[02:01] <wallyworld> makes it hard to work efficiently
[02:01] <davecheney> yup
[02:02] <wallyworld> the guys are focused on performance issues, but they do need more than one data sample to be able to do anything concrete
[02:02] <wallyworld> especially if it is not slow across the board
[02:02] <davecheney> who should I complain too ?
[02:02] <wallyworld> Purple squad is on maintenance and hang out in #launchpad-dev - they are very responsive
[02:03] <wallyworld> another option is to go to a page on qastaging.launchpad.net and turn on tracing, i can help you with that if you want
[02:04] <wallyworld> qastaging is slower than prod, but it may show some issues worth looking at
[02:04] <wallyworld> have you checked your latency to the data centre?
[02:04] <davecheney> http://d.pr/KwdU
[02:05] <davecheney> http://d.pr/i/JVOI
[02:05] <davecheney> solid 312ms
[02:06] <davecheney> anyway, it's not your job to debug lp problems
[02:06] <davecheney> thanks for checking
[02:08] <wallyworld> no problems, but it would be nice to sort it out
[02:09] <wallyworld> davecheney: so, out of interest, in the light blue bar, what's the waiting time vs connecting time?
[02:10] <davecheney> connection and ssl neg is in excess of 2.5 seconds on the second screenshot
[02:10] <davecheney> i have no idea how you are negoating faster
[02:10] <davecheney> it's a function of rtt
[02:10] <davecheney> wallyworld: you're using firefox, right ?
[02:11] <wallyworld> davecheney: so, the 1.6s time i gave comes from an ajax info widget on lp, which i think developers get. i also have the connect time like you
[02:11] <davecheney> dunno how you got, 12:59 < wallyworld> 0.52 for me then
[02:12] <wallyworld> my graph says a waiting time of 2.2 seconds, and lp tells it it spent 1.6 seconds processing, so that leaves 0.6 seconds to get the data back to my browser i guess
[02:12] <wallyworld> that 0.52 for +milestone above was also the lp reported processing tim
[02:13] <davecheney> all lies i tell ya!
[02:13] <davecheney> anyway, seriously, i don't care about this
[02:13] <davecheney> slow I can handle, as long as it's not down
[02:14] <wallyworld> fair enough. as a data point then, my connect time (incl ssl) is around 1.5, lp render/processing time is between 0.5 and 1.6, and receiving data to browser takes about 0.3
[05:50] <davecheney> ping https://codereview.appspot.com/6855101/
[05:57] <wallyworld> davecheney: i'd +1 it but i fear i don't know enough to be able to offer anything worthwhile. it looks ok to me though
[05:57] <davecheney> wallyworld: thanks
[05:57] <davecheney> you coudl always dist-upgrade and test it :)
[05:57] <wallyworld> want me to +1 it anyway?
[05:57] <wallyworld> i'm on quantal already
[05:58] <davecheney> do the juju tests pass for you ?
[05:58] <wallyworld> let me test it then
[05:58] <wallyworld> i have not run them, will do so now
[05:58] <wallyworld> i've just been running goose tests
[05:58] <davecheney> go test launchpad.net/juju-core/...
[05:58] <wallyworld> yeah, will do after i merge your branch
[05:58] <davecheney> nah, do it before
[05:58] <davecheney> otherwise you won't know if I fixed anything
[05:59] <wallyworld> ok, need to pull tip first
[05:59] <davecheney> go get -v launchpad.net/juju-core/... will do that for you
[05:59] <davecheney> if you haven't already checked it out
[05:59] <wallyworld> i have the code checked out etc, i'm just used to using bzr
[05:59] <wallyworld> is go get the preferred way?
[06:00] <davecheney> if you have never checkout out the code, it is a fast way to get all the deps
[06:00] <davecheney> if you already have a working copy
[06:00] <davecheney> it'll screw it up royally
[06:00] <wallyworld> yeah, i have everything checked out and built
[06:00] <wallyworld> i used go get right at the start
[06:00] <davecheney> +1
[06:01] <davecheney> i have trunk under a cobzr branch called trunk
[06:01] <davecheney> so whenever I want to know what others are doing i do
[06:01] <davecheney> cobzr switch trunk ; cobzr pull
[06:01] <wallyworld> yeah, me too
[06:02] <davecheney> was, http://bazaar.launchpad.net/~gophers/juju-core/trunk/view/head:/README useful at all ?
[06:02] <wallyworld> i used to use light weight checkouts etc, and bzr switch, but am trying cobzr
[06:02] <wallyworld> it stores the branches in a hidden dir which is both convenient and annoying
[06:03] <wallyworld> davecheney: yes! i used that to get going
[06:03] <davecheney> cool
[06:03] <davecheney> glad it was useful
[06:03] <wallyworld> thanks for writing it :-)
[06:03] <davecheney> np, you can/should/might steal it for goose
[06:03] <wallyworld> yeah
[06:03] <wallyworld> ok, tests fail as expected
[06:03] <wallyworld> now to try your branch
[06:03] <davecheney> huzzah!
[06:03] <davecheney> it'll be whinging about can't find tools
[06:04] <davecheney> no, from memory the actual error is it can't find a suitable ami to 'fake' boot
[06:04] <davecheney> this change fills in the fixtures to make that happen
[06:05] <wallyworld> error was: cannot find image satisfying constraints: error getting instance types: 404 Not Found
[06:05] <davecheney> wallyworld: yup, that is the error
[06:10] <wallyworld> davecheney: tests running but taking a loooooong time - appears hung running the updated test
[06:11] <wallyworld> ie nothing after "ok      launchpad.net/juju-core/environs/config 0.373s"
[06:13] <davecheney> presences tests take over 70 seconds on my machine
[06:13] <davecheney> gocheck reports when the test is done, not when it starts
[06:13] <davecheney> check top
[06:13] <davecheney> you should see a number of someting.test processes running
[06:13] <wallyworld> davecheney: what do i look for?
[06:14] <davecheney> a child of a process call go
[06:14] <davecheney>      │        ├─bash───go─┬─2*[6g]
[06:14] <davecheney>      │        │           ├─container.test─┬─mongod
[06:14] <davecheney>      │        │           │                └─2*[{container.test}]
[06:14] <davecheney>      │        │           ├─downloader.test───4*[{downloader.test}]
[06:14] <davecheney>      │        │           └─9*[{go}]
[06:14] <davecheney> something like this, if pstree is your poison
[06:14] <wallyworld> i have a dummy.test
[06:15] <davecheney> from memory the default test timeout is 120s
[06:15] <davecheney> it'll fail eventually
[06:16] <wallyworld> ok, it's been a fair bit longer
[06:17] <davecheney> gotta go
[06:17] <davecheney> will be online in an hour or so
[06:17] <davecheney> if tests are fucked, email juju-dev with the output
[06:17] <davecheney> or raise an issue
[06:17] <wallyworld> ok, bye
[06:18] <wallyworld> just died now!
[06:22] <wallyworld> but works when run again
[07:47] <TheMue> Morning.
[08:05] <fwereade> mornings
[08:14] <TheMue> fwereade, davecheney: Hiya.
[08:14] <fwereade> TheMue, davecheney, morning
[08:17] <TheMue> Our new https://juju.ubuntu.com really looks good.
[08:24] <davecheney> morning
[08:46] <rogpeppe> fwereade, TheMue: mornin'
[08:46] <TheMue> Hello, Mr Peppe
[08:50] <fwereade> rogpeppe, heyhey
[08:51] <fwereade> rogpeppe, you know the TxnRevno field, that we need to use to start document watches?
[08:51] <rogpeppe> fwereade: yeah
[08:51] <fwereade> rogpeppe, it appears to me as though you can *actually* just pass 0 and it'll still work anyway
[08:51] <rogpeppe> fwereade: except you'll maybe get an event you don't need, right?
[08:51] <fwereade> rogpeppe, I guess that perhaps you'll get an extra event sometimes
[08:52] <rogpeppe> fwereade: maybe you don't care though
[08:52] <fwereade> rogpeppe, it doesn't have any macro-level effects that I am sophisticated enough to detect
[08:53] <rogpeppe> fwereade: it would mean doing strictly more work on restart
[08:53] <fwereade> rogpeppe, yeah, I'm not proposing actually doing it
[08:53] <fwereade> rogpeppe, the actual problem is that I was trying to use it, and doing it wrong, and couldn't see that from my tests
[08:53] <rogpeppe> fwereade: interesting thought though - we might decide the simplicity is worth the network traffic
[08:53] <fwereade> rogpeppe, and I am wondering if there's any way I can reliably goose it into doing the wrong thing
[08:54] <rogpeppe> fwereade: it's just an optimisation, right?
[08:54] <fwereade> rogpeppe, I dunno -- first time I used the API I just bunged 0 in and niemeyer was most unimpressed
[08:54] <rogpeppe> lol
[08:55] <rogpeppe> fwereade: well, the API doesn't actually give you the values - it just tells you that something has changed, no?
[08:55] <fwereade> rogpeppe, I forget
[08:55] <fwereade> rogpeppe, .Id is all I ever look at
[08:55] <rogpeppe> fwereade: if that's true, it's never going to make any difference as long as you get at least the required events
[08:56] <rogpeppe> fwereade: BTW, i've got a couple of CLs you might want to have a glance at if you fancy it. first is: https://codereview.appspot.com/6854107/
[08:56] <fwereade> rogpeppe, indeed -- anyway, I just thought it was interesting
[08:57] <rogpeppe> fwereade: second is https://codereview.appspot.com/6856105/ (which is the last in the series)
[08:57] <rogpeppe> fwereade: in terms of seeing problems, you'd see problems if the revno field was too high
[08:57] <fwereade> rogpeppe, yeah
[08:57] <rogpeppe> fwereade: so you might be able to goose it that way
[08:58] <fwereade> rogpeppe, not from outside I think
[08:58] <rogpeppe> fwereade: aren't you storing revnos in files?
[08:58] <fwereade> rogpeppe, the problem was that I used the txnrevno field, instead of txn-revno, and got 0 every time
[08:58] <fwereade> rogpeppe, I am but that's in a different area
[08:59] <rogpeppe> fwereade: yeah, in that case, i'm not sure i can think of a test that makes any difference.
[08:59] <rogpeppe> fwereade: 'cos if it's zero, you'll get a spurious first event, find that there's nothing to do, then do nothing
[09:00] <fwereade> rogpeppe, you might be interested to take a look at https://codereview.appspot.com/6850105/ and https://codereview.appspot.com/6851110/ while I read yours properly
[09:00] <fwereade> rogpeppe, yeah, exactly
[09:00] <rogpeppe> fwereade: looking
[09:02] <rogpeppe> fwereade: ah, i had taken a look at the first - i had one unpublished comment
[09:03] <rogpeppe> fwereade: LGTM
[09:03] <fwereade> rogpeppe, cheers, you have one too
[09:04] <rogpeppe> s/dong/ding/ lol
[09:05] <rogpeppe> fwereade: thanks
[09:10] <fwereade> rogpeppe, and another LGTM, that look fantastic
[09:10] <rogpeppe> fwereade: thanks!
[09:12] <rogpeppe> fwereade: the window really is very short indeed. i think it must be on the order of <0.1s
[09:12] <rogpeppe> fwereade: i've seen the "unauthorized access" problem precisely once
[09:17] <fwereade> rogpeppe, fantastic
[09:18] <rogpeppe> fwereade: basically the remote client and bootstrap-state are both racing for first access to the mongodb
[09:18] <fwereade> rogpeppe, ah, right, ofc
[09:19] <rogpeppe> fwereade: we're more likely to see the problem now because mgo redials about twice a second
[09:49] <dimitern> jam, mgz: would you take a look https://codereview.appspot.com/6851112/ pls?
[09:51] <jam> dimitern: looking
[10:15] <TheMue> rogpeppe, fwereade: Would you take a look at https://codereview.appspot.com/6853075/? I changed and simplified the way it's working.
[10:16] <rogpeppe> TheMue: looking
[10:16] <TheMue> dimitern, jam: Good morning.
[10:16] <jam> morning TheMue
[10:16] <dimitern> TheMue:  morning
[10:19] <jam> dimitern: done
[10:20] <dimitern> jam: thanks
[10:25] <rogpeppe> TheMue: i like the idea (of just sourcing the file), but i'm not sure that env is the right way to print the env vars
[10:25] <rogpeppe> TheMue: what happens if one of the vars has a newline in?
[10:26] <TheMue> rogpeppe: Good hint, yes.
[10:27] <TheMue> rogpeppe: Todays Py code is only grepping two values, but as a general purpose package I would like to provide all.
[10:28] <TheMue> rogpeppe: Do you know a command to get the names of all environment variables?
[10:28] <rogpeppe> TheMue: you could use awk
[10:29] <TheMue> rogpeppe: Uuuh, last time I used awk has been last century. ;)
[10:31] <rogpeppe> TheMue: something like this might do the job:
[10:31] <rogpeppe> awk 'BEGIN {for(v in ENVIRON){s = ENVIRON[v]; gsub("\\", "\\\\", s); gsub("\n", "\\n", s); printf("%s=\"%s\"\n", v, s)}}'
[10:31] <rogpeppe> TheMue: then you could use strconv.Unquote to read 'em in
[10:32] <wallyworld> jam: dimitern: mgz: wanna have the standup now?
[10:32] <TheMue> rogpeppe: Thx, I'll try.
[10:32] <jam> works for me, is mgz here?
[10:32] <rogpeppe> TheMue: there's probably a better tool around for doing this though
[10:32] <rogpeppe> TheMue: you may even be able to use bash directly
[10:33] <jam> wallyworld: I'm in mumble
[10:33] <dimitern> wallyworld, jam: I'm ok with that
[10:33]  * wallyworld opens mumble
[10:34] <wallyworld> jam: dimitern: i've hit that mumble bug again where it won't start, i have to reboot, give me a sec
[10:34] <rogpeppe> ha that's funny, you learn something new every day. i always thought that $'foo' was the same as $foo
[10:37] <jam> rogpeppe: do you mean $foo vs '$foo' ?
[10:37] <jam> I haven't really seen $'foo' before.
[10:37] <rogpeppe> jam: no
[10:37] <rogpeppe> jam: neither had i
[10:37] <rogpeppe> jam: except in rc
[10:37] <rogpeppe> jam: and i'd presumed sh was similar like that
[10:38] <rogpeppe> jam: try: echo $'foo\nbar'
[10:45] <rogpeppe> TheMue: looks like "typeset -p -x" might give you what you need
[10:46] <TheMue> rogpeppe: Looks nice, yes.
[10:47] <TheMue> rogpeppe: Just fetched my old shell programming book. ;)
[10:47] <rogpeppe> TheMue: alternatively, you could just parse the file. it wouldn't be too hard.
[10:48] <TheMue> rogpeppe: Which one? The /etc/default/lxc?
[10:48] <rogpeppe> TheMue: yeah
[10:48] <TheMue> rogpeppe: Values in it could be based on environment variables too. ;)
[10:49] <rogpeppe> TheMue: that's not too hard either
[10:49] <rogpeppe> TheMue: os.Expand might help
[10:49] <rogpeppe> TheMue: hmm, i dunno. at least using typeset you're guaranteed a standard format
[10:50] <rogpeppe> TheMue: i wonder about the security implications of sourcing the shell script, but since it's in /etc, it's probably ok
[10:50] <TheMue> rogpeppe: Yes, here this approach seems better. I started with parsing. But niemeyer had remarks.
[10:51] <TheMue> rogpeppe: The Py code just sources it too.
[10:51] <rogpeppe> TheMue: ok, that's interesting.
[10:51] <rogpeppe> TheMue: what values do you need from it, BTW?
[10:52] <TheMue> rogpeppe: For Juju only two, LXC_BRIDGE and LXC_ADDR. So they grepped it from env. But golxc is intended to be more general. So I would like to provide them all.
[10:55] <rogpeppe> TheMue: one issue with your current approach is that you'll see env vars that are defined in the testing environment too AFAICS
[10:55] <rogpeppe> TheMue: i think you need to start the shell command with a clean environment
[10:56] <TheMue> rogpeppe: I'm sourcing an own file with self-defined values for testing.
[10:57] <TheMue> rogpeppe: It's a copy, but with different values than the default values.
[10:57] <TheMue> rogpeppe: At least some of them.
[10:58] <rogpeppe> TheMue: i bet if you defined LXC_BRIDGE in your shell and deleted it from the "env" var, your test would still pass
[11:00] <TheMue> rogpeppe: If it has the right value, yes. :/
[11:06] <wallyworld_> jam: mgz: test one two three
[11:06] <mgz> ta!
[11:39] <niemeyer> Yo!
[11:39] <mgz> hey!
[11:45] <niemeyer> mgz: Heya
[11:45] <niemeyer> mgz: When's our next squash game? :-)
[11:47] <mgz> well, that would be one excuse for a holiday in brazil :)
[11:47] <niemeyer> mgz: Consider yourself invited :)
[11:48] <niemeyer> mgz: Just yesterday I was playing a pretty good match against a friend and reminding of that game in Copenhagen.. it was great
[11:48] <niemeyer> fwereade: Heya
[11:52] <niemeyer> fwereade: https://codereview.appspot.com/6850105 is ready to go in
[11:52] <fwereade> niemeyer, sweet! tyvm
[11:52] <niemeyer> fwereade: Thank you!
[11:59]  * dimitern => lunch
[12:02]  * fwereade also
[12:11] <rogpeppe> niemeyer: morning!
[12:39] <TheMue> rogpeppe: Found an even simpler way. Wonna look again?
[12:40] <rogpeppe> TheMue: sure
[12:40] <TheMue> rogpeppe: Thanks.
[12:43] <rogpeppe> TheMue: what are those double quotes doing at the start of script?
[12:44] <rogpeppe> TheMue: (printenv -0 looks good BTW)
[12:44] <TheMue> rogpeppe: Otherwise it isn't passed to sh as one argument. I wondered too.
[12:45] <rogpeppe> TheMue: huh?
[12:45] <rogpeppe> TheMue: have you tried it without them?
[12:45] <TheMue> rogpeppe: Yep.
[12:46] <TheMue> rogpeppe: Aargh, you meant now double quotes.
[12:46] <TheMue> rogpeppe: That works, will remove and repropose it. *facepalm*
[12:46] <rogpeppe> TheMue: s/now/no/ ?
[12:46] <TheMue> rogpeppe: Yep, fingers too fast. ;)
[12:48] <TheMue> rogpeppe: So, removed. Took them too automatically.
[12:49] <niemeyer> TheMue: I think we should move on to MAAS instead of continuing to spend cycles on this
[12:50] <TheMue> niemeyer: I'm reading the MAAS source in parallel. The remaining two branches are really small and you would do me a favour if I could complete them.
[12:51] <niemeyer> TheMue: I'd agree if they were ready to land, but last time I've seen there were several issues, so it spends your time, my time, Roger's time, for a branch we won't be using any time soon
[12:52] <TheMue> niemeyer: OK, but could you please take a look today to see if the direction now is better?
[12:55] <niemeyer> TheMue: What happens if there is an LXC variable in the Go process?
[12:57] <rogpeppe> niemeyer: i've raised that issue
[12:57] <TheMue> niemeyer: Ah, yeah, IC. That's a problem in the Py code too, but there only for LXC_ADDR and LXC_BRIDGE. /etc/default/lxc overwrites the processes variable.
[12:58] <rogpeppe> TheMue: you've got some more comments
[12:58] <TheMue> rogpeppe: Thanks.
[12:58] <rogpeppe> niemeyer: i think it should clear environment variables before sourcing the shell script
[13:03] <TheMue> rogpeppe: The sourcing is only in a subshell for reading the values.
[13:03] <rogpeppe> TheMue: that subshell inherits environment variables from the caller
[13:03] <niemeyer> TheMue: That's not how environment works
[13:04] <niemeyer> What roger said
[13:04] <TheMue> niemeyer: Wanted to express that for the execution of lxc commands the environment is unchanged.
[13:05] <niemeyer> TheMue: I don't understand how that changes the points made
[13:05] <niemeyer> TheMue: A child cannot change a parent's environment, ever
[13:05] <niemeyer> TheMue: But I'm not sure if that's what you're saying
[13:05] <niemeyer> I mean, at least in computing
[13:06] <niemeyer> IN the real world a child revamps a parent's environment in its entirety
[13:06] <TheMue> niemeyer: *lol*
[13:06] <TheMue> niemeyer: Yes, I know. I'm only using the way of the Py code to read values out of /etc/default/lxc
[13:07] <TheMue> niemeyer: Here they've done the same, but grepping only for the LXC_ values to then read ADDR and BRIDGE.
[13:07] <niemeyer> TheMue: Still doesn't change the points made
[13:08] <niemeyer> TheMue: and the point is reather simple really
[13:08] <niemeyer> rather
[13:09] <TheMue> niemeyer: IMHO sourcing that file overwrites the processes environment when fetchiing the values out of it. Am I right?
 niemeyer: i think it should clear environment variables before sourcing the shell script
 TheMue: that subshell inherits environment variables from the caller
[13:09] <niemeyer> TheMue: This is right
[13:10] <TheMue> niemeyer: So the environment I'm parsing is too large, but it contains the values of /etc/default/lxc. Still right?
[13:11] <TheMue> niemeyer: And by clearing the environment before I would reduce it to the values of that file.
[13:12] <niemeyer> TheMue: Right
[13:14] <TheMue> niemeyer: OK, then I know where we gor our wires crossed. (You say so?)
[13:14] <TheMue> s/gor/got/
[13:35] <niemeyer> rogpeppe: Can you please have a look at William's follow up when you have a second: https://codereview.appspot.com/6851110
[13:35] <niemeyer> Well, 10 minutes perhaps
[13:35] <niemeyer> :)
[13:35] <rogpeppe> niemeyer: will do
[13:35] <niemeyer> rogpeppe: Thanks
[13:52] <niemeyer> rogpeppe: One branch reviewed and double LGTMed with trivials
[13:52] <niemeyer> rogpeppe: Only one left in the queue.. will get to that after lunch
[13:52] <rogpeppe> niemeyer: thanks!
[13:52] <rogpeppe> niemeyer: whee!
[13:53]  * rogpeppe should have some lunch too
[13:53] <niemeyer> +1
[13:53] <niemeyer> :)
[14:45] <fwereade> rogpeppe, ----------------------------------------------------------------------
[14:45] <fwereade> FAIL: cert_test.go:50: certSuite.TestNewCA
[14:45] <fwereade> cert_test.go:60:
[14:45] <fwereade>     c.Assert(caCert.NotAfter.Equal(expiry), Equals, true)
[14:45] <fwereade> ... obtained bool = false
[14:45] <fwereade> ... expected bool = true
[14:45] <fwereade> ----------------------------------------------------------------------
[14:45] <fwereade> FAIL: cert_test.go:66: certSuite.TestNewServer
[14:45] <fwereade> cert_test.go:81:
[14:45] <fwereade>     c.Assert(srvCert.NotAfter.Equal(expiry), Equals, true)
[14:45] <fwereade> ... obtained bool = false
[14:45] <fwereade> ... expected bool = true
[14:45] <fwereade> ----------------------------------------------------------------------
[14:45] <fwereade> FAIL: cert_test.go:95: certSuite.TestVerify
[14:45] <fwereade> cert_test.go:104:
[14:45] <fwereade>     c.Assert(err, IsNil)
[14:45] <fwereade> ... value x509.CertificateInvalidError = x509.CertificateInvalidError{Cert:(*x509.Certificate)(0xf8400892c0), Reason:1} ("x509: certificate has expired or is not yet valid")
[14:45] <fwereade> OOPS: 3 passed, 3 FAILED
[14:45] <fwereade> --- FAIL: TestAll (1.96 seconds)
[14:45] <fwereade> FAIL
[14:45] <fwereade> FAIL	launchpad.net/juju-core/cert	1.974s
[14:45] <fwereade> rogpeppe, on trunk -- should I install something?
[14:46] <rogpeppe> fwereade: hmm, passes for me
[14:46] <rogpeppe> fwereade: i'll try against a different go version
[14:46] <fwereade> rogpeppe, I'm still using 1.0.2
[14:46] <fwereade> rogpeppe, (er, did we decide to standardize on 1.0.3?)
[14:47] <rogpeppe> fwereade: i'm not sure
[14:47] <rogpeppe> fwereade: i think maybe 1.0.2 as that's what's bundled
[14:47] <fwereade> rogpeppe, ah, yes, then I did that deliberately
[14:47]  * fwereade looks around shiftily
[14:49]  * rogpeppe builds 1.0.2
[14:49] <rogpeppe> fwereade: it passes on 1.0.3 BTW
[14:50] <fwereade> rogpeppe, I did indeed assume you wouldn't have merged stuff that didn't work for you ;)
[14:50] <rogpeppe> fwereade: i was compiling against tip, so it may not have
[14:50] <rogpeppe> fwereade: hmm, 1.0.2 passes for me too
[14:51]  * fwereade can't keep up with the cool kids and their crazy avant-garde go versions
[14:51]  * fwereade goes off to run it more verbosely
[14:51] <rogpeppe> fwereade: could you get it to print out the actual times you're seeing, please
[14:52] <rogpeppe> fwereade: i.e. c.Logf("cert notafter: %v, expiry: %v", caCert.NotAfter, expiry)
[14:54] <fwereade> rogpeppe, cert notafter: 2012-11-29 14:53:57 +0100 CET, expiry: 2012-11-29 15:53:57 +0100 CET
[14:54] <fwereade> rogpeppe, the otherone's equivalent
[14:55] <rogpeppe> fwereade: interesting. something to do with daylight savings
[14:55] <fwereade> rogpeppe, and/or timezones :)
[14:55] <rogpeppe> fwereade: yeah
[14:55] <fwereade> rogpeppe, anotheradvantage of the distributed team :)
[14:56] <rogpeppe> fwereade: yeah. i am GMT atm so particularly vulnerable to that kind of error
[14:59] <fwereade> rogpeppe, I will assume that the fix will be simple but not immediate, and merge over the top of it, ok?
[14:59]  * TheMue wonders …oooOOO( Interesting behavior. )
[14:59] <rogpeppe> fwereade: yeah, i guess so.
[14:59] <rogpeppe> fwereade: i'm just trying to reproduce the behaviour
[15:08] <rogpeppe> fwereade: i can't seem to reproduce the behaviour, which is a bit off
[15:08] <rogpeppe> odd
[15:09] <fwereade> rogpeppe, huh, weird
[15:09] <fwereade> TheMue, can you repro? you're in my timezone I think
[15:09] <rogpeppe> fwereade: i tried using a time which i parsed from your timestamp
[15:09] <TheMue> fwereade: Will try.
[15:10] <rogpeppe> fwereade: could you try this: where the test calls time.Now(), could you make it call time.Now().UTC() instead.
[15:11] <fwereade> rogpeppe, bingo
[15:12] <fwereade> rogpeppe, fixes all 3
[15:12] <rogpeppe> fwereade: hmm, it shouldn't make a difference
[15:12] <rogpeppe> fwereade: i'll push a fix see if i can fix the underlying Go too
[15:13] <rogpeppe> s/see/and see/
[15:13] <fwereade> rogpeppe, great, thanks, consider it pre-LGTMed if that's all you do :)
[15:13] <TheMue> fwereade, rogpeppe: Same error: http://paste.ubuntu.com/1394620/
[15:32] <fwereade> rogpeppe, sorry, I have no reason to still be waiting for your fix, do I? can I merge?
[15:33] <rogpeppe> fwereade: you can and may
[15:34] <fwereade> rogpeppe, cheers
[15:35] <rogpeppe> fwereade: i'm trying to understand the problem a little more before i commit a fix. it's weird that i can't reproduce the problem here.
[15:40] <TheMue> rogpeppe: Clearing the environment is handled now. But no need to review so far, I'm currently diving into MAAS. Only has been a litle fix to answer your last review.
[15:40] <rogpeppe> TheMue: ok
[15:42]  * TheMue is stepping out a bit earlier today. Had no lunch due to pre-christmas-dinner with friends.
[15:43] <fwereade> TheMue, enjoy
[15:44] <TheMue> fwereade: Thanks.
[15:58] <niemeyer> rogpeppe: Woohay TLS
[15:58] <niemeyer> rogpeppe: Just reviewed that last one
[15:58] <rogpeppe> niemeyer: thanks!
[16:00] <rogpeppe> niemeyer: BTW 0.5 seconds should be perfectly sufficient - mgo redials many times a second, and bootstrap-state takes very little time to complete
[16:01] <rogpeppe> niemeyer: i can raise the length of time anyway if you'd like.
[16:01] <niemeyer> rogpeppe: 0.5 second is spent in a trivial sneeze of AWS
[16:02] <rogpeppe> niemeyer: fair enough. BTW what in the ssh logic were you thinking we might miss?
[16:02] <niemeyer> rogpeppe: The ssh logic :-)
[16:03] <rogpeppe> niemeyer: if we're not using ssh, why should we care about that?
[16:04] <niemeyer> rogpeppe: ssh is battle tested as public doors.. I just feel a bit more comfortable there.
[16:13] <rogpeppe> niemeyer: i quoted the serverPEMPath because cfg.DataDir may reasonably contain spaces. quotes or backslashes are much more unlikely though.
[16:14] <rogpeppe> niemeyer: do you still think it's a bad idea to do that?
[16:14] <niemeyer> rogpeppe: We know it doesn't contain spaces, in the same way we know it doesn't contain quotes or backslashes
[16:14] <rogpeppe> niemeyer: do we know that ioutil.TempDir will never return a name with a space in?
[16:14] <niemeyer> rogpeppe: Pretending we're being safer isn't necessary
[16:14] <niemeyer> rogpeppe: Do we know it will never return a name with quotes?
[16:15] <rogpeppe> niemeyer: tbh, i'd prefer to know what the quoting rules *are* for upstart...
[16:15] <niemeyer> rogpeppe: Isn't that a line passed to a shell?
[16:16] <rogpeppe> niemeyer: no, it goes into the upstart config file which has its own syntax
[16:16] <niemeyer> rogpeppe: Isn't upstart taking that line from its config file and passing it to a shell?
[16:16] <rogpeppe> niemeyer: i don't think so.
[16:16] <niemeyer> rogpeppe: I'd be surprised
[16:16] <rogpeppe> niemeyer: i think it invokes the command directly
[16:16] <niemeyer> rogpeppe: But it doesn't really matter
[16:17] <rogpeppe> niemeyer: i did delve into the source once to try to find out
[16:17] <niemeyer> rogpeppe: The points made still hold
[16:17] <rogpeppe> niemeyer: does that mean i should remove all the shquote calls elsewhere?
[16:18] <niemeyer> rogpeppe: You're not using shquote there
[16:18] <rogpeppe> niemeyer: i'm using it to quote the same file name elsewhere
[16:18] <rogpeppe> niemeyer: i think maybe i'll add a sanity check early on that checks that DataDir is ok might be good. then i can relax.
[16:19] <rogpeppe> s/maybe i'll add /
[16:19] <niemeyer> rogpeppe: Sure.. whatever suits. The point made is pretty trivial: dumb-quoting and no-quoting work the same
[16:20] <niemeyer> rogpeppe: Hmm.. isn't DataDIr coming from our own code?
[16:20] <niemeyer> rogpeppe: Where's the tempdir coming from?
[16:21] <rogpeppe> niemeyer: i kinda presumed that c.MkDir() called ioutil.TempDir somewhere along the line.
[16:21] <rogpeppe> niemeyer: i may be wrong
[16:22] <niemeyer> rogpeppe: Ah, for testing.. sure.. I'd be eagerly awaiting for the first bug report. :-)
[16:22] <rogpeppe> niemeyer: :-)
[16:22] <niemeyer> rogpeppe: This works in upstart, btw: exec echo "foo" > /tmp/foo
[16:22] <niemeyer> rogpeppe: So it's surely a shell.
[16:23] <rogpeppe> niemeyer: yes, i think > is special syntax.
[16:23] <niemeyer> rogpeppe: For a shell? :-)
[16:23] <rogpeppe> niemeyer: try echo "foo`echo bar`"
[16:23] <niemeyer> exec echo "foo" 2>&1 > /tmp/foo
[16:24] <niemeyer> rogpeppe: Is that special syntax too? :)
[16:24] <rogpeppe> niemeyer: quite possibly
[16:24] <rogpeppe> niemeyer: did you try the above example?
[16:25] <rogpeppe> niemeyer: if it succeeds, then i'm more convinced
[16:25] <niemeyer> exec echo "`cat /etc/passwd`" 2>&1 > /tmp/foo
[16:25] <niemeyer> rogpeppe: Try it.. :)
[16:29] <rogpeppe> niemeyer: in that case, cool, we can just use shquote
[16:30] <niemeyer> rogpeppe: Scott is a pretty sharp guy.. I'd be surprised if he had reimplemented a shell inside upstart
[16:32] <rogpeppe> niemeyer: well, there's *something* going on, because the upstart file itself isn't a shell script, so it has to parse the shell line to some degree before bundling it up to pass to the shell again
[16:33] <rogpeppe> niemeyer: it loses newlines from within the quotes, for example, so it's not exactly the same
[16:34] <niemeyer> rogpeppe: It's trivial to pick an exec line out of a file, but we're not really reimplementing upstart today :)
[16:34] <rogpeppe> niemeyer: it can be more than one line
[16:34] <rogpeppe> niemeyer: but yeah...
[16:34] <niemeyer> Heh
[16:41] <rogpeppe> niemeyer: so with the above in mind, is it ok if i use shquote, rather than leaving it unquoted. it would make me feel more comfortable.
[16:41] <niemeyer> rogpeppe: Of course
[16:46] <rogpeppe> fwereade: could you confirm that this branch still fails when testing cert, please? lp:~rogpeppe/juju-core/174-fix-cert-times
[16:47] <fwereade> rogpeppe, branching
[16:47] <fwereade> rogpeppe, passes
[16:48] <rogpeppe> fwereade: weird
[16:48] <rogpeppe> fwereade: because it looks like x509 calls .UTC itself
[16:55] <rogpeppe> fwereade: ah! but only in tip, not in 1.0.3 or earlier
[16:56] <rogpeppe> fwereade: and now i can reproduce the issue, i'm happy to make the fix
[16:58] <fwereade> rogpeppe, ah, cool
[17:07] <fwereade> rogpeppe, niemeyer: unexpected snag with environs.InstanceId type: state.Machine.InstanceId() should surely return one?
[17:07] <rogpeppe> fwereade: i'd make it state.InstanceId
[17:08] <fwereade> rogpeppe, doesn't feel quite right tbh
[17:08] <fwereade> rogpeppe, but I guess I can live with it :)
[17:08] <rogpeppe> fwereade: environs already uses state types
[17:08] <fwereade> rogpeppe, indeed so
[17:08] <fwereade> rogpeppe, it's just that InstanceId really doesn't feel very statey :)
[17:09] <rogpeppe> fwereade: if it wasn't statey, the state wouldn't want to talk about it :-)
[17:09]  * fwereade shrugs
[17:09] <fwereade> rogpeppe, fair enough
[17:10] <niemeyer> fwereade: I agree with both points.. it'd indeed fit better in environs, I think having it in state is also fine
[17:10] <fwereade> niemeyer, sgtm
[17:10] <niemeyer> robbiew: I guess that meeting isn't happening?
[17:10] <robbiew> niemeyer: it is
[17:10] <robbiew> we are running late in another call
[17:10] <niemeyer> robbiew: Hmm, ok
[17:12] <rogpeppe> fwereade: do you wanna take a look at this, for form's sake? https://codereview.appspot.com/6858090
[17:12]  * fwereade looks
[17:13] <fwereade> rogpeppe, LGTM
[17:13] <rogpeppe> fwereade: (i verified that the new tests failed on my machine against 1.0.2)
[17:13] <rogpeppe> fwereade: ta
[17:13] <rogpeppe> fwereade: submitting as i deem it trivial :-)
[17:14] <fwereade> rogpeppe, SGTM
[17:28] <rogpeppe> niemeyer: i don't think that waiting for a minute when we get an unauthorized error is a good idea
[17:29] <rogpeppe> niemeyer: that means the first connection will always take at least a minute
[17:29] <niemeyer> rogpeppe: Why?
[17:29] <rogpeppe> niemeyer: because we try with the admin password, and if that fails, we try with the password hash
[17:29] <niemeyer> rogpeppe: I thougth you said it takes less than 0.5 seconds?
[17:29] <rogpeppe> niemeyer: so for the first connection we will always get ErrUnauthorized
[17:29] <niemeyer> rogpeppe: So we tell the user unauthorized?
[17:30] <rogpeppe> niemeyer: it's part of our standard login heuristics
[17:30] <rogpeppe> niemeyer: see juju.NewConn
[17:30] <niemeyer> rogpeppe: So I don't understand what's going on there
[17:30] <niemeyer> rogpeppe: WHy are we retrying at all if we're retrying anyway?
[17:30] <rogpeppe> niemeyer: it's all as we discussed earlier
[17:30] <rogpeppe> niemeyer: ages ago, that is
[17:30] <niemeyer> rogpeppe: I don't think we discussed this?
[17:31] <niemeyer> rogpeppe: I don't recall talking about that 0.5 delay
[17:31] <rogpeppe> niemeyer: we're retrying in that specific circumstance, using a different password each time
[17:31] <niemeyer> rogpeppe: Yeah, but that's flaky
[17:31] <niemeyer> rogpeppe: Vastly changing results if the server takes 0.5 seconds to answer something is really bad
[17:32] <rogpeppe> niemeyer: it's not if the server takes 0.5 seconds to answer. it's if bootstrap-state takes more than 0.5 seconds from dialling to initialising the state.
[17:32] <niemeyer> rogpeppe: That's exactly what I mean
[17:32] <niemeyer> rogpeppe: and actually, that's not right either
[17:33] <rogpeppe> niemeyer: maybe juju.NewConn should do the timed retry actually
[17:33] <niemeyer> rogpeppe: What happens when bootstrap-state dials that starts that period?
[17:33] <rogpeppe> niemeyer: as it's retrying anyway
[17:33] <niemeyer> rogpeppe: Yeah, that would probably be less flaky
[17:33] <rogpeppe> niemeyer: mgo continually redials with no delay
[17:33] <rogpeppe> niemeyer: (i think that's not right actually)
[17:34] <niemeyer> rogpeppe: I don't know what that means in this context
[17:34] <niemeyer> rogpeppe: It doesn't matter what mgo does
[17:34] <niemeyer> rogpeppe: What happens when bootstrap-state dials to kick that 0.5 period?
[17:34] <rogpeppe> niemeyer: i don't understand the question
 niemeyer: it's not if the server takes 0.5 seconds to answer. it's if bootstrap-state takes more than 0.5 seconds from dialling to initialising the state.
[17:35] <niemeyer> rogpeppe: "from dialling"!?
[17:35] <niemeyer> rogpeppe: What happens when it dials to get that 0.5 period kicked off?
[17:35] <niemeyer> rogpeppe: I can't see how that influences the period at all
[17:35] <rogpeppe> niemeyer: bootstrap-state continually redials the mgo server while it's coming up.
[17:35] <niemeyer> rogpeppe: MongoDB starts, and you'd get unauthorized, even if bootstrap-state hasn't even started running
[17:35] <rogpeppe> niemeyer: yes
[17:35] <niemeyer> rogpeppe: Yes, I don't think that's relevant
[17:36] <rogpeppe> niemeyer: the client is also continually redialling the mgo server
[17:36] <niemeyer> rogpeppe: Exactly
[17:36] <niemeyer> rogpeppe: bootstrap-state doesn't have to even start for that 0.5 period to pass by
[17:36] <rogpeppe> niemeyer: bootstrap-state starts well before mongodb is accepting connections
[17:37] <rogpeppe> niemeyer: but i agree the timeout in Open isn't right
[17:37] <niemeyer> rogpeppe: Because?  MongoDB is started before that
[17:37] <niemeyer> rogpeppe: You're trusting on external times of things that can take whatever time to run depending on scheduling and whatnot
[17:37] <rogpeppe> niemeyer: mongodb takes a while to answer connections. bootstrap-state is started immediately after starting mongo.
[17:37] <rogpeppe> niemeyer: yeah, that's true
[17:37] <niemeyer> rogpeppe: There's nothing about that "from dialling to initialising the state"
[17:38] <rogpeppe> niemeyer: i'm much happier putting the timeout in juju.NewConn
[17:38] <niemeyer> rogpeppe: Sounds good, we just have to make sure this is more reliable
[17:39] <rogpeppe> niemeyer: it's a pity we can't get bootstrap-state to tell mongodb to open a new port
[18:01] <fwereade> rogpeppe, niemeyer: https://codereview.appspot.com/6844103 should be trivial (state.InstanceId)
[18:03] <niemeyer> fwereade: On it
[18:04] <rogpeppe> niemeyer: if you could take a brief look at https://codereview.appspot.com/6856105 before i submit; in particular the new code in juju.NewConn, that would be great.
[18:05] <niemeyer> +func (inst *instance) Id() state.InstanceId {
[18:05] <niemeyer> +       return state.InstanceId(inst.InstanceId)
[18:05] <niemeyer>  }
[18:05] <niemeyer> fwereade: Why do we have a method that returns a public field?
[18:05] <niemeyer> fwereade: Did you spot why when doing it?
[18:06] <fwereade> niemeyer, to satisfy environs.Instance, I think
[18:06] <niemeyer> fwereade: A field can't be part of an interfae
[18:06] <niemeyer> interface
[18:06] <fwereade> niemeyer, hence the method
[18:06] <fwereade> niemeyer, which is part of the interface
[18:06] <niemeyer> fwereade: Ah, it's because that field is in ec2.Instance, actually
[18:07] <niemeyer> fwereade: Sure, I know why the method exist
[18:07] <niemeyer> s
[18:07] <niemeyer> fwereade: It wasn't clear why the field existed
[18:07] <fwereade> niemeyer, oh, yes, sorry, that too
[18:07] <niemeyer> fwereade: CHeers
[18:14]  * rogpeppe has to go now.
[18:15] <rogpeppe> g'night all
[18:15] <rogpeppe> niemeyer: if you like the new change, i'll submit a bit later.
[18:15] <fss> niemeyer: lol
[18:15] <fss> niemeyer: ops, wrong message
[18:15] <fss> niemeyer: sorry x)
[18:16] <niemeyer> rogpeppe: Super, cheers man
[18:17] <niemeyer> fwereade: LGTM with a couple of trivials. Thanks
[18:17] <niemeyer> fss: :)
[18:17] <fwereade> niemeyer, cheers
[18:18] <fwereade> niemeyer, the casting in the tests was justified in my mind on the basis that, well, we know the method signature and therefore the type
[18:19] <fwereade> niemeyer, and it's slightly more readable IMO
[18:19] <fwereade> niemeyer, no big deal, I'll change them
[18:20] <niemeyer> fwereade: In general that should be fine, but these tests are precisely the tests verifying that we know the method signature
[18:20] <niemeyer> fwereade: Note that the comment is specifically on the test of the InstanceId method itself
[18:20] <fwereade> niemeyer, ah, yes, true
[18:21] <fwereade> niemeyer, ok, sgtm, thanks
[18:21] <niemeyer> fwereade: My pleasure
[20:29] <fwereade> rogpeppe, can you precis the thinking behind having an explicitly required MachinerWorker but not an UpgraderWorker?
[20:29] <fwereade> rogpeppe, I would just as soon make them both implicit...
[21:15] <niemeyer> fwereade: The upgrader is a bit more attached to the details of the agent itself
[21:15] <niemeyer> fwereade: Although I'm not sure either if there's enough justification
[21:24] <niemeyer> davecheney: Good morning Dave
[21:25] <niemeyer> davecheney: Please ping me when you have a moment for a call
[21:26] <davecheney> niemeyer: morning
[21:26] <davecheney> lemmie get my headset
[21:31] <davecheney> ready to go, g+ ?
[21:32] <niemeyer> davecheney: Yep
[21:33] <niemeyer> davecheney: https://plus.google.com/hangouts/_/449c0b5562132d520a43332aaa7f1eb67ec41bd1?authuser=0&hl=en
[21:33] <davecheney> ta, for some reason you never show as online on g+ for me
[21:41] <niemeyer> davecheney: https://codereview.appspot.com/6854098/diff/2001/environs/ec2/local_test.go?column_width=90
[21:41] <niemeyer> davecheney: ping
[21:42] <davecheney> niemeyer: ack
[21:42] <davecheney> lost you
[21:42] <niemeyer> davecheney: Okay, let me reconnect.. are you still up?
[21:42] <davecheney> yeah, hangout is still working
[21:42] <niemeyer> davecheney: Cool, was my side only then


[15:28] <katkin> popey: ping
[15:28] <popey> what-ho!
[15:29] <popey> katkin: how can I help
[15:30] <katkin> popey: we have confirmed a venue for the UK release party :)
[15:30] <popey> woot
[15:30] <katkin> just wanted to check which lists I need to notify (again) to be sure
[15:30] <popey> :)
[15:30] <popey> mail to<EMAIL_ADDRESS>and I'll sort the rest
[15:31] <katkin> ok, rock on, thanks :) I will create a Facebook event as well
[15:31] <popey> ace
[15:31] <katkin> I will send out a mail before COP today
[15:31] <popey> great stuff, will it be as hot and sweaty as last time? :)
[15:33] <Daviey> katkin: hmm, been trying to call you today!
[15:34] <katkin> Daviey: apologies, I'm working from home today . . . have tonnes to get covered off before I go on hol for a week. You can get me on my mobile if you want tho?
[15:36] <Daviey> yeah.. no need now.. you confirmed what i wanted above ^^^
[15:36] <Daviey> thanks tho!
[15:36] <katkin> Daviey: no probs :)
[15:36] <popey> \o/ party
[15:37] <Daviey> P-A-R-T-Y
[16:48] <popey> nice one katkin
[17:05] <katkin> popey: o/


[16:30] <jcastro> jrwren: are you frantically reinstalling windows on all your machines now?
[16:31] <cmaloney> ?
[16:31] <cmaloney> Ubuntu Release?
[16:33] <jcastro> cmaloney: MS just announced that you can run ubuntu userspace in windows
[16:33] <jcastro> you hit the start button, type bash, hit enter
[16:33] <cmaloney> Yeah, that's what I was referring
[16:33] <jcastro> reverse WINE basically
[16:33] <jcastro> and since we know jrwren is windows fan #1
[16:33] <cmaloney> So basically Cygwin
[16:34] <jcastro> cygwin is a recompile
[16:34] <jcastro> what they do is translate linux syscalls to the windows kernel
[16:34] <jcastro> so it's the exact same binary
[16:35] <cmaloney> Interesting
[16:36] <jcastro> indeed
[16:36] <cmaloney> So what's the catch? :)
[16:37] <jcastro> none really
[16:37] <jcastro> it's for windows developers that want real linux tools
[16:39] <jrwren> jcastro: hell no.
[16:39] <jrwren> if this had happend 5 yrs ago, I'd have loved it. Now it is late, and maybe a bit desparate.
[16:39] <jrwren> Its amazing that they did it right though. Add elf support to windows, make that syscall translator, and use ubuntu. WOW!
[16:48] <jcastro> I think being able to tell old-jrwren style folks "just go to the windows store and install ubuntu" is like ... !!!!!
[16:49] <jrwren> +1
[16:49] <jrwren> me from five years ago would have !!!!!   and I know a lot of mes from five years ago are still out there.
[16:49] <jcastro> yeah
[16:49] <jrwren> Still using Visual Studio, and still doing weird things to get cmdline tools on windows
[16:50] <jcastro> a star trek plot involving you going back in time to tell yourself this seems more realistic than this announcement, heh
[16:50] <jrwren> hahaha! true!
[18:04] <cmaloney> http://openmetalcast.com/2016/03/30/open-metalcast-episode-126-good-looking-music/


[06:33] <theShirbiny> Morning everyone
[07:09] <CraigZim> Morning theShirbiny
[16:00] <MarwenDo> congrats pavlushka :)
[16:00] <pavlushka> Thanks MarwenDo :)


[00:21] <thethomaseffect> airurando:  still around?
[00:53] <thethomaseffect> infoturtle:  Hello there
[00:53] <infoturtle> thethomaseffect hello!! :D
[00:53] <thethomaseffect> infoturtle:  I was told to speak with you about ubuntu-ie.org related stuff
[00:54] <infoturtle> ok cool, whats up?
[00:55] <thethomaseffect> I was wondering if it would be okay to update the sites theme to match more closely with ubuntus recent branding
[00:55] <thethomaseffect> I already created a prototype theme with what I'm talking about, here's a screenshot: http://i196.photobucket.com/albums/aa1/gilgameish/site_prototype_1.png
[00:55] <infoturtle> thats not actually a bad idea and it would be possible
[00:56] <infoturtle> very neat looking indeed
[00:57] <thethomaseffect> Thank you :)
[00:57] <infoturtle> I'd be happy to look into it if people want the change
[00:57] <airurando> thethomaseffect: sorry been focussing on other stuff.
[00:57] <infoturtle> hey airurando
[00:57] <airurando> hi infoturtle
[00:57] <airurando> infoturtle: you go mail
[00:58] <thethomaseffect> Cool, I was also wondering if the site's software could be updated to Drupal 7? I could handle this if I had the FTP details easily, if it's as easy as Joomlas update process it should be a cinch. I can install drupal 6 on my local web server and upgrade that to make sure it all runs smoothly
[00:58] <infoturtle> so I do!
[00:59] <airurando> thethomaseffect: I like it alot to.
[00:59] <thethomaseffect> airurando:  Was just going to ask your opinion on a prototype theme i made, link is up above
[00:59] <thethomaseffect> airurando:  Oh cheers!
[02:05] <infoturtle> thethomaseffect: I'm back, sorry bout that
[02:05] <thethomaseffect> infoturtle:  np
[02:07] <infoturtle> If people are for the Drupal and theme changes we can go ahead and look into it, I would feel it unfair to do this without consulting the rest first
[02:07] <infoturtle> But I am for the idea
[02:08] <thethomaseffect> I proposed it on the mailing list and should be around for the next IRC meeting so it's all dandy
[02:08] <airurando> infoturtle: has the site been migrated to blacknight?
[02:08] <airurando> I am for the idea also.
[02:09] <thethomaseffect> I'm just in a doing things mood today since all i've been doing is rooting around in Wordpress's SVN repository :)
[02:09] <infoturtle> nope, there was talk of getting that done but I have not heard anything about it in a while
[02:09] <airurando> but I think we can only upgrade Drupal when hosting is transferred
[02:09] <infoturtle> well then should we make the move?
[02:10] <airurando> yes
[02:10] <airurando> that is the plan
[02:10] <airurando> blacknight offered to sponsor hosting some time ago
[02:11] <airurando> believe it still stands
[02:11] <airurando> ebel can confirm
[02:12] <infoturtle> I'll also have to get passwords off him as a short while ago 3 hard drives broke and everything was lost
[02:12] <thethomaseffect> 3? ouch
[02:12] <airurando> current hosting is quite limited in terms of what you can achieve.
[02:12] <infoturtle> ok I'll talk with ebel on the move and get it osrted
[02:12] <airurando> good stuff
[02:13] <infoturtle> thethomaseffect, yep and 2 dvd's and my BIOS went too
[02:13] <infoturtle> :c
[02:14] <thethomaseffect> infoturtle:  wow, just what were you doing with your computer?! :D
[02:15] <infoturtle> I thought it was the PS for a while there but things are fine again now? it was just odd it seems
[02:15] <thethomaseffect> I can porbabely be on hand to help during the migration, though I've never migrated a CMS before. I'd assume blacknight would handle it anyways.
[02:15] <infoturtle> Took one apart and put pictures and a guide on the site
[02:16] <infoturtle> http://infoturtle.ie/topics/harddrive.php
[02:16] <thethomaseffect> infoturtle:  Yeah PS was my first thought too. Maybe you just annoyed the tech gods
[02:17] <infoturtle> I have been referred to as the tech anti-Christ so maybe I have upset someone
[02:17] <thethomaseffect> Running a virtual machine inside a virtual machine inside a virtual machine or something similar? :P
[02:18] <infoturtle> http://www.picshag.com/pics/022011/windows-inception.jpg
[02:18] <infoturtle> thats the one alright
[02:20] <airurando> ping fagan
[02:20] <thethomaseffect> hahahahahaha that's excellent!
[02:21] <airurando> thethomaseffect: fagan replied to your mail to the list.
[02:21] <infoturtle> ya, it's a classic alright
[02:21] <thethomaseffect> airurando:  Aye, and i replied back :)
[02:21] <airurando> ah. cool
[02:22] <thethomaseffect> I'll have to send it to my friend, he's always warned me about my dream of running a hell of a lot of virtual machines :)
[02:23] <infoturtle> Why would you want to run a load of VM's?
[02:23] <thethomaseffect> although strangely purple is present on the canonical design doc i got in the footer http://design.canonical.com/brand/B.%20Complete%20Ubuntu%20brand%20guide%20-%20November%202010.pdf
[02:23] <airurando> With two kids I should NOT be up at this hour!
[02:23] <airurando> I'm of to bed
[02:23] <thethomaseffect> just after the heading "A vibrant palette"
[02:23] <thethomaseffect> airurando:  nn
[02:23] <infoturtle> nite airurando
[02:23] <airurando> keep up the good work thethomaseffect and infoturtle
[02:24] <airurando> nn
[02:24] <infoturtle> we'll try
[02:24] <thethomaseffect> infoturtle:  No real reason, it's just a joke between us, kind of like the IT Crowd's "If you type google into google, you'll break the internet"
[02:24] <thethomaseffect> cheers airurando, will do
[02:25] <infoturtle> haha love that show
[02:25] <thethomaseffect> yeah it's excellent
[02:26] <thethomaseffect> VampiricPadraig:  Hello Padraig, nice to see you here!
[02:26] <VampiricPadraig> hi thethomaseffect, I am a regular in here :P
[02:27] <thethomaseffect> infoturtle:  much better than the big bang theory in my opinion, not a fan of that show at all
[02:27] <infoturtle> oh ya?
[02:27] <thethomaseffect> VampiricPadraig:  I haven't been on here in about a year, it's good to be back
[02:27] <infoturtle> I love that sheldon said Ubuntu was his fav linux in one episode
[02:27] <infoturtle> love that show too
[02:27] <thethomaseffect> yeah that was all good and well
[02:28] <thethomaseffect> but there was canned laughter afterwards
[02:28] <infoturtle> I can understand that disliking alright
[02:28] <thethomaseffect> "Ah Ubuntu, you're my favorite linux-based distribution" is not nearly nerdy enough to warrant a laugh :D
[02:28] <thethomaseffect> My sister could say that
[02:29] <thethomaseffect> and recently she rang me up and asked how to install the internet :D
[02:29] <infoturtle> .............
[02:29] <infoturtle> oh mna
[02:29] <infoturtle> thats bad
[02:29] <infoturtle> *man
[02:29] <infoturtle> ggggggrrrrrrr hate this keyboard!
[02:29] <thethomaseffect> I was on a bus at the time, and i raged so loudly people at the front turned around :)
[02:30] <infoturtle> thats classic!
[02:30] <infoturtle> I must go back to Windows now tho to play some quick unreal and then bed
[02:30] <thethomaseffect> I love that game
[02:31] <thethomaseffect> was playing it just last weekend
[02:31] <infoturtle> so I'll be in touch thethomaseffect and we get things done
[02:31] <infoturtle> which one?
[02:31] <thethomaseffect> 3
[02:31] <thethomaseffect> the newest one
[02:31] <infoturtle> love 3 but it's all about 2004 for fun!!
[02:32] <thethomaseffect> I've been told this many times, shall have tio install it at some point!
[02:32] <VampiricPadraig> i like alien arena 2011 and UT
[02:32] <infoturtle> never played that
[02:32] <thethomaseffect> alien arena is the open source one based on the unreal engine no?
[02:32] <infoturtle> My games are Gears of war, UNreal and Dawn of war
[02:32] <infoturtle> oh I have tried that actually!
[02:33] <thethomaseffect> dawn of war is amazing, didn't play the second one yet though. Gears is another of my faves
[02:34] <thethomaseffect> i won't keep you though. enjoy your UT! nn
[02:34] <airurando> one last thing guys
[02:34] <infoturtle> Got the newest DOW the other day, DOW II reribution
[02:34] <infoturtle> *retribution
[02:34] <infoturtle> yes airurando?
[02:35] <airurando> don't forget to put this topic on the agenda for next months IRC meeting
[02:35] <infoturtle> will do
[02:35] <airurando> hope both of you can make it.
[02:35] <thethomaseffect> ah had forgotten about that, cheers
[02:35] <airurando> nn finally :)
[02:35] <thethomaseffect> looking forward to it :)
[02:35] <thethomaseffect> nn airurando
[02:35] <infoturtle> nn airurando
[02:36] <thethomaseffect> infoturtle:  is retribution good?
[02:36] <infoturtle> thethomaseffect you seen the new nvidia card?
[02:36] <infoturtle> duno, haven't played it yet cos I'm still playing the first part
[02:36] <thethomaseffect> I very briefly had a look at it on your blog, shall have a looksie now
[02:37] <infoturtle> it's insane power!! I want that card!!
[02:37] <thethomaseffect> I'm not a big PC gamer due to not having a nice chair for my computer :D
[02:37] <infoturtle> ha ha
[02:37] <infoturtle> I have no place for this pc in my house so it's beside me couch
[02:37] <thethomaseffect> I mostly play xbox, the best thing microsoft was created imo
[02:37] <infoturtle> anyway now i g2g
[02:38] <thethomaseffect> ok cool ttyl
[02:38] <infoturtle> take care till we meet again!
[02:38] <thethomaseffect> same to you :)
[03:51] <thethomaseffect> nn all
[11:48] <airurando> good morning ubuntu-ie
[11:56] <thethomaseffect> morning airurando, cheers for the tweet!
[11:59] <thethomaseffect> oh dear just saw someone on #Wordpess-Mobile asking about the idea I wanted to do for gsoc, better make myself known in the hackers mailing list right now :O
[12:04] <airurando> morning thethomaseffect.
[12:05] <airurando> def get your skates on re GSoC.   It's gonna be a busy day.
[12:36] <airurando> thethomaseffect: I don't believe Ubuntu were accepted into the GSoC programme this year.
[12:36] <airurando> afternoon ebel
[12:36] <ebel> afternoon!
[12:36] <airurando> how are you?
[12:37] <ebel> grand grand
[12:37] <ebel> yourself?
[12:38] <airurando> not too bad at all.
[12:38] <airurando> ebel: take a look at http://i196.photobucket.com/albums/aa1/gilgameish/site_prototype_1.png
[12:39] <airurando> thethomaseffect, aka johnnycbadde did the mockup
[12:40] <airurando> he's interested in helping out with getting the website updated.
[12:40] <airurando> had a good chat with infoturtle last night about it.
[12:41] <ebel> oh cool
[12:41] <airurando> ebel: you would be able to confirm a few things for them
[12:41] <ebel> oh?
[12:41] <airurando> 1) we can't update drupal with the current service right?
[12:42] <airurando> 2) not really much we can do until the site is migrated to blacknight, right?
[12:42] <ebel> we may be able to change the theme on the current serviuce
[12:43] <ebel> but yes AFAIK we can't change the drupal code / upgrade it / install a new version
[12:43] <czajkowski> nope ye cant not on the current hosting
[12:43] <ebel> we can do whatever on the blacknight hosting
[12:43] <airurando> blacknight is still open to us?
[12:43] <infoturtle> mornin`
[12:43] <czajkowski> airurando: aye
[12:43] <czajkowski> it's been a while but yeah tis
[12:43] <airurando> howdy infoturtle
[12:44] <ebel> anyone want the password for that? if they install some software we can look at pointing the ubuntu-ie.org to it
[12:44] <ebel> AFAIK we still have blacknight sponsored hosting.
[12:44] <infoturtle> I could use those passwords again
[12:44] <airurando> thethomaseffect: seemed real interested in helping infoturtle last night
[12:44] <infoturtle> seeing how I lost the one's I had before
[12:44] <airurando> didn't think it would be a huge deal either
[12:46] <ebel> infoturtle: sent
[12:47] <infoturtle> ebel, fantastic, worked and logged in
[12:47] <ebel> :)
[12:48] <ebel> great, so set up what you want, install drupal, install another thing if you want
[12:48] <infoturtle> is there anyway of backing up content on the current host for fear of lossing data??
[12:48] <infoturtle> on it now
[12:48] <airurando> this is exciting
[12:48] <airurando> :)
[12:49] <thethomaseffect> hey all, back. Got talking to a potential summer of code mentor so happy happy :D
[12:49] <ebel> infoturtle: backing up old data? dunno. Maaaaaybe drupal might have an export/import system?
[12:50] <ebel> I wonder if we could ask for a mysql dump from the canonical hosts, etc.
[12:50] <infoturtle> I just have fear of loosing old content or records from the site
[12:51] <thethomaseffect> I've caught up. easiest way to do things would we to host the new site at new.ubuntu-ie.org until a mySQL backup can be obtained
[12:51] <infoturtle> thethomaseffect true that!
[12:51] <czajkowski> infoturtle: ebel thethomaseffect if ye tell me waht ye want a back up of in detail in a mail
[12:52] <czajkowski> I'll request such from canonical
[12:52] <thethomaseffect> you can point subdomains to different servers right?
[12:53] <thethomaseffect> can phpmyadmin be accessed with the current hosting?
[12:54] <ebel> thethomaseffect: sure you can point subdomains anywhere
[12:54] <ebel> infoturtle: remember the current website is not hosting on blacknight. it's hosting elsewhere.
[12:55] <ebel> if you install anything on blacknight, it has no affect on our existing website.
[12:55] <thethomaseffect> ebel:  thought as much, just never had to do it so wasn't sure :)
[12:55] <infoturtle> ya I remember that, starting from ground up here
[12:55] <ebel> The 2 can operate completely independently and not interfere with each other.
[12:55] <czajkowski> infoturtle: ebel thethomaseffect if ye tell me waht ye want a back up of in detail in a mail
[12:55] <czajkowski> I'll request such from canonical
[12:56] <ebel> thethomaseffect: :) wanna get more confused? You can point a single domain to more than one server :P
[12:56] <ebel> czajkowski: cheers thanks. :)
[12:56] <infoturtle> ebel thats witch talk!!
[12:57] <ebel> infoturtle: hubble bubble toil and tcp, let me show you my dark arts of hacking the network
[12:57] <thethomaseffect> We'd want a backup of all tables and the drupal root directory at least
[12:58] <ebel> Do we want to keep a backup? :P
[12:58] <thethomaseffect> might be easier to install drupal 6 (or 5, whichever current site uses) on the new blacknight host and upgrade there once the content is verified working
[12:58] <thethomaseffect> not as clean as a fresh install but safer
[12:58] <infoturtle> ha, seems the old arts of witch craft have rally been brought to the future
[12:59] <infoturtle> think a backup would be handy, no harm to have just in case
[12:59] <ebel> we could just spider the website locally, keep that as a mirror.
[12:59] <ebel> that way we don't lose anything.
[12:59] <ebel> we have options
[12:59]  * ebel gotta flee
[13:00] <thethomaseffect> infoturtle:  ebel of coarse, sure isn't rickrolling the modern equivalent of placing a curse on someone :D
[13:00] <infoturtle> see ya later ebel
[13:01] <infoturtle> thethomaseffect I knew there was something not natural about that video
[13:01] <thethomaseffect> later ebel
[13:01] <infoturtle> ok so what version of drupal we going for here?
[13:01] <thethomaseffect> http://drupal.org/node/330719
[13:01] <infoturtle> 5/6/7??
[13:01] <thethomaseffect> good question, gimmie 2 secs
[13:02] <thethomaseffect> infoturtle:  5.22 is the version currently used
[13:02] <thethomaseffect> holy crap
[13:02] <thethomaseffect> no wonder it looks out of date
[13:02] <thethomaseffect> new admin page is *lovely*, a lot like wordpress's
[13:05] <thethomaseffect> my best possible way of doing this would be 1) migrate from 5.22. to 5.22 2)upgrade new server to drupal 6 and hen drupal 7 3) THEN migrate drupal 7 install to a fresh drupla 7 install. not nessessary but might lead to cleaner database tables?
[13:06] <thethomaseffect> infoturtle:  most info neede is here: http://www.ubuntu-ie.org/admin/logs/status
[13:07] <infoturtle> your plan has logic to it, supose we should get started then and try it
[13:10] <thethomaseffect> sounds good, just finishing off a email then I'm a free man
[13:11] <infoturtle> egg salad
[13:22] <infoturtle> thethomaseffect, I'll work on installing drupal so and let you know what happens when it's done (just said I'd post that out here so people know what were doing)
[13:22] <thethomaseffect> okie dokie
[13:27] <thethomaseffect> czajkowski:  I can't install new modules on drupal 5 without ftp access :(
[13:28] <czajkowski> oh which ?
[13:28] <czajkowski> oh the blacknight hosting ?
[13:29] <thethomaseffect> no on ubuntu-ie.org as it is
[13:30] <thethomaseffect> the only way to install modules on Drupal 5 is to place then in a directory
[13:31] <infoturtle> thethomaseffect useing blacknights app installer, I've installed drupal but it's v6.19-2 should I uninstall and manually install v5.22 or chance this one?
[13:31] <thethomaseffect> a RAW backup of the tables and content might work, I doubht it though. Is it possible to ask that canonical install and user this http://drupal.org/project/backup_migrate to do the backup?
[13:32] <czajkowski> thethomaseffect: we know that, thats why we're going down the #BK routes
[13:32] <thethomaseffect> infoturtle:  I'm fairly certain we'll have to manually install 5.22 since the file tree design changes with each version
[13:33] <infoturtle> bugger, ok no problem
[13:36] <thethomaseffect> Would not being able to migrate old content be a huge failure? Between myself and infoturtle we could copy and paste most of the content and create new accounts within about 2 hours, which could be a lot shorter than the time needed to get the old databases working with new host
[13:37] <thethomaseffect> and we'd be able get going right now, as opposed to waiting on canonical for a backup that might not work?
[13:38] <infoturtle> It would be a bit of work tho, to copy all the site, no? including the planet section and stuff
[13:40] <thethomaseffect> planet is just an RSS aggregator from what I understand, all we'd have to do is add all the feed URLs currently in it?
[13:41] <infoturtle> ah!!
[13:41] <infoturtle> I thought it was hosted internally
[13:41] <infoturtle> my fault
[13:42] <thethomaseffect> np
[13:42] <infoturtle> ya thats not so bad, if you want to do that?
[13:44] <thethomaseffect> ok so from what i see planet works liek this
[13:45] <thethomaseffect> 1) pulls from RSS feed 2) mirrors original post and it seems to not be a speial module, it's just the aggregator that comes included with drupal
[13:46] <thethomaseffect> and it doesn't aqllow comments, so no worry about losing them :)
[13:46] <thethomaseffect> infoturtle:  I think it'll be less stress in the long run and will defo lead to healthier database tables
[13:48] <infoturtle> sweet, I'm waiting for a file manager to activate and I'll have drupal moving
[13:49] <thethomaseffect> infoturtle:  You didn't actually create new.ubuntu-ie.org did you? getting a 404 here
[13:50] <infoturtle> I did, I'm getting it too, i duno if it's the index.php fiel (which I'm just abuot to check) or if it takes a while for the DNS to update?
[13:50] <thethomaseffect> do you have the absolute path to it?
[13:50] <infoturtle> ..........
[13:51] <thethomaseffect> prob something like canonical/blahblahblah/htdocs/ww/new.ubuntu.ie/
[13:51] <thethomaseffect> www*
[13:51] <infoturtle> then no, no I don't
[13:51] <infoturtle> how can I get it for you?
[13:52] <thethomaseffect> not sure, i've only used digiweb and it was available on the page where you register subdomains
[14:25] <thethomaseffect> just to let everyone know the progress, we're just transferring all the drupal 7 files to the new server for testing right now, something should be live in about 30 mins :)
[14:28] <airurando> great stuff lads
[14:36] <thethomaseffect> I love it when a plan comes together
[14:36] <thethomaseffect> http://d1090429.cp.blacknight.com/
[14:37]  * davem has a poke
[14:38] <infoturtle> fantastic thethomaseffect!
[15:42] <thethomaseffect> I'm off for a while for some grub, later folks
[19:01] <airurando> infoturtle ping
[19:01] <infoturtle> airurando pong
[19:02] <airurando> infoturtle do you subscribe to the loco-contacts mailing list?
[19:02] <infoturtle> I do
[19:03] <airurando> did you just get the mail regarding UGJ bootcamp tomorrow?
[19:04] <infoturtle> no but I'll look now
[19:05] <airurando> running in #ubuntu-classroom and #ubuntu-classroom-chat
[19:05] <airurando> definitely one to check out
[19:06] <airurando> will certainly give you a flavour of what some folks get up to for UGJ.
[19:07] <infoturtle> ah I see, I read your message wrong, I'm not on that mailing list
[19:07] <infoturtle> I'm in the rooms now
[19:07] <airurando> probably great tips for preparing and hitting the ground running
[19:07] <airurando> I'll forward the mail to you.
[19:08] <infoturtle> excelent, need help like that!
[19:09] <airurando> unfortunately Ill be back at work tomorrow.  will try to read the IRC logs though.
[19:10] <airurando> short notice for this.
[19:11] <infoturtle> Ya, and I've a nice bit of work other than this, ment to be doing my test this week, promote the UGJ limerick, UH limerick work for the site.......
[19:11] <infoturtle> I'ma be one tired turtle
[19:40] <airurando> infoturtle that's a real busy schedule
[19:40] <airurando> what test
[19:41] <airurando> I suggest saving the IRC logs and reading the transcript at UH limerick.
[19:42] <infoturtle> didn't know the C# test was this week but thats life, the UH is a bit of time off if anything, just a bit of prepairing for the Limerick UGH and I'll just have to cut back adding content to the site this week, something has to give and the sites the least imporant
[19:44] <airurando> aye