/srv/irclogs.ubuntu.com/2014/11/21/#juju-dev.txt

thumperoh FFS...00:06
* thumper takes the dog for a walk00:36
davecheneythumper: i'm coming around to your way of thinking that we should have unit tests in place01:35
davecheneyto assert if we add extra transitive dependencies01:35
thumper:-)01:40
davecheneyericsnow: ping, https://github.com/juju/juju/pull/120201:43
davecheneyits pretty easy to screw it up01:43
davecheneythumper: you said we had some tests in another package I could appropriate ?01:43
thumperdavecheney: juju/osenv/package_test.go01:44
davecheneylucky(~/src/github.com/juju/juju/juju/osenv) %01:44
davecheneyworst package name, ever01:45
thumperheh01:46
davecheneywho wants to review this cheeky one ? https://github.com/juju/juju/pull/120201:49
davecheneywhy does jc.Contains not work in a sane way01:54
davecheneyc.Assert([]string{"a","b","c"}, jc.Contains, "c")01:55
davecheneydoesn't work01:55
menn0davecheney: did you ever figure out the issue with tests leaving behind lots of stuff in tmp?01:55
menn0davecheney: my merge run just broke because the disk was full01:55
davecheneymenn0: yes01:55
davecheneyi logged the issue01:55
davecheneyit's very hard to fix01:55
davecheneyshort version01:55
davecheneythe mongo suite thing that caches mongos between suites01:56
davecheneylacks a signal to say "tehre are no more suites, shut yourself down"01:56
davecheneyso the last suite will finish01:56
davecheneythe test process will exit01:56
davecheneyand mongo will die because it's parent died01:56
axwdavecheney: can we not just run the tests within a script with $TMPDIR set to something temporary, then rm -f $TMPDIR after the test run?01:57
davecheneybut the merge failing on the bot is a differnt issue01:57
davecheneyaxw: maybe01:57
davecheneyi haven't looked into fixing the issue01:57
davecheneyi just cron up01:57
axwI think we used to do that with tarmac01:57
davecheneyrm -rf /tmp/test-mgo*01:57
axwfair enough01:58
davecheneybut that bot is made afresh on each test01:58
davecheneyit shouldn't fill up01:58
davecheneybecause it is a new machine every time01:58
axwah yeah01:58
davecheneythe leak is ~43mb per pacakge01:58
axwnice01:58
davecheneyi think it's possible to fix the leak01:58
davecheneybut we'd have to push gc.Mkdir() right down intot he mongo testing suite01:58
davecheneybut seriously, why is jc.Contains useless ?01:59
davecheneyparams_test.go:265: c.Assert(imports, gc.Not(jc.Contains), "state")01:59
davecheney... obtained []string = []string{"cert", "constraints", "instance", "juju/arch", "mongo", "network", "replicaset", "rpc", "rpc/rpcreflect", "service/common", "service/upstart", "state/backups", "state/multiwatcher", "storage", "tools", "utils", "utils/ssh", "version"}01:59
davecheney... expected string = "state"01:59
davecheney... Obtained value is not a string and has no .String()01:59
menn0davecheney: this could help with mongo suite issue: https://code.google.com/p/go/issues/detail?id=820202:05
menn0letting us run something at the end of the test run02:06
davecheneyyes, it will be very useful02:09
davecheneymenn0: but it means 1.4 everywhere02:16
davecheneywhich is basically impossible02:16
menn0davecheney: ok. I didn't look into which Go version this was part of.02:18
jw4names package update to reflect simpler UUID based Action ID's : PTAL https://github.com/juju/names/pull/3202:19
* jw4 thought we'd rolled reviewboard out to the names package recently?02:19
davecheneymenn0: the magic is baked into the test runner that the go tool generates during the build02:21
davecheneyjw4: is rb watching that repo ?02:21
davecheneyJYNX!02:21
jw4davecheney: I thought I saw ericsnow say something about that02:21
menn0davecheney: yep I realise that. just didn't know what version the feature had been added.02:22
menn0thumper: this canary environment stuff is working out pretty well. 100's of genuine test failures.02:24
thumperI guess that's good02:24
menn0thumper: i suspect the number of fixes required will actually be a lot smaller02:24
davecheneyjw4: change looks ok02:28
davecheneyi can't lgtm it02:28
jw4thanks davecheney02:28
davecheneyi'm too scared of compatibility issues02:28
jw4davecheney: yeah, we're still skating on "no-one is using actions yet"02:29
davecheneymenn0: canary environment ?02:29
davecheneyjw4: someone else will have to make that call02:29
jw4davecheney: kk02:29
jw4fwereade_: ? ^^02:29
menn0davecheney: as discussed in standups, it's a fully-featured environment that gets created in ConnSuite.SetupTest designed to screw things up when we forget to filter by env UUID. The data for the canary env gets returned unexpectedly breaking tests.02:31
menn0davecheney: undecided if it will just stay there02:31
menn0davecheney: but it's useful for finding issues right now.02:31
davecheneyok02:37
davecheney+1 to destructive testing02:37
menn0davecheney, thumper: I'm just checking the performance hit that the canary environment incurs... not good02:38
menn040-50% on my machine02:38
menn0so it might not stay there02:39
menn0a more targetted approach might be required02:39
* thumper nods02:39
* thumper glares at wallyworld02:53
wallyworldwot02:53
thumperI shouldn't have been talked into fixing this damn bug02:53
wallyworld\o/02:53
thumperstabby stabby03:01
thumperwell, the tests are doing the right thing03:01
thumper...03:01
thumperfinding bugs in my code03:01
thumperok... I think I have this done now03:09
thumpergah...03:10
* thumper enfixorates some more03:10
thumperdavecheney: jc.Contains is for string in string03:16
thumperdavecheney: not item in slice03:16
thumperdavecheney: which I dearly would have liked to use earlier too03:16
thumperdavecheney: I think it is poorly named03:16
thumperdavecheney: you can blame me for that03:16
davecheneys'ok03:16
davecheneyi found an example03:16
davecheneytest is proposed03:16
thumperwallyworld, menn0: http://reviews.vapour.ws/r/498/diff/03:19
thumpermenno because you looked at it before03:19
wallyworldabout time03:19
thumperwallyworld: because you made me do it03:19
davecheneyjust saw this fail, FAIL: upgrade_test.go:437: UpgradeSuite.TestLoginsDuringUpgrade03:20
* thumper takes kids into town to get sushi03:24
=== thumper is now known as thumper-sushi-ru
=== thumper-sushi-ru is now known as thumper-sushirun
menn0davecheney: can you get the details of the failure to me?03:31
menn0thumper-sushirun: looking03:32
davecheneymenn0: sorry, closed the window03:33
menn0davecheney: np. was it on your machine?03:34
davecheneyyeah03:37
menn0davecheney: there's another one in that suite that occasionally fails. I have a ticket for that.03:43
davecheneyanyone ? http://reviews.vapour.ws/r/512/03:45
davecheneyi'd like to have the argument about names today03:45
davecheneyrather than monday03:45
davecheneymake that monday week03:49
jw4davecheney: which names argument?  DB interface?03:49
axwwallyworld: I answered my own question about Xen; it's a general thing, not EC2-specific03:49
axwso name is stable03:49
davecheneyyup03:50
davecheneyof course03:50
wallyworldok03:50
davecheneyif nobody cares about the name03:50
davecheneyor nobody has the will to argue03:50
davecheneythat is also fine03:50
davecheneybut it is spelt DB with two spaces after it :)03:50
jw4davecheney: you had me til the two spaces03:50
jw4davecheney: now I'm feeling argumentative03:50
* davecheney cracks knucles03:52
jw4ah; hate to dissapoint you - I was just joking - I like DB03:52
jw4;)03:52
davecheneyall the good names are taken, several times over03:52
davecheneyenviron, env, db, state03:52
davecheneyone in every package03:52
davecheneyat least03:52
jw4I know, just like John03:53
davecheneyjw4: i'd be happy to name the interface John03:53
jw4(and Dave for that matter)03:53
jw4haha03:53
=== thumper-sushirun is now known as thumper
* thumper finally submits the branch for master04:09
=== Spads_ is now known as Spads
menn0anastasiamac: nice job on sorting out that bug04:21
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
anastasiamacmenn0: thnx for finding it :-) it was gr8 fun to fix04:55
* anastasiamac is kind of a fan of strict accessor/mutator separation.. :-p04:55
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
=== kadams54 is now known as kadams54-away
=== fuzzy is now known as Ponyo
wallyworldaxw: can i offer you a small one? http://reviews.vapour.ws/r/516/06:06
axwlooking06:07
axwwallyworld: lgtm06:11
wallyworldtyvm06:11
mattywmorning all08:44
TheMuemorning08:56
voidspacemorning all09:18
TheMuevoidspace: o/09:25
dimiternmorning mattyw, TheMue, voidspace09:50
TheMuedimitern: morning09:51
mattywdimitern, TheMue voidspace morning09:52
TheMuemattyw: o/09:52
voidspacemattyw: o/09:54
voidspacedimitern: o/09:54
mattywlots of people waving with their left hands - that's what I like to see09:55
TheMuemattyw: \o/09:55
TheMuemattyw: also there's no face, so maybe you see them from behind? ☺︎/09:57
mattywTheMue, these are all good points09:58
TheMuemattyw: but best and most simple is to interpret it your way ;)09:58
perrito666morning10:41
=== kadams54 is now known as kadams54-away
fwereade_axw, ping12:08
fwereade_axw, I am looking at the charm storage changes12:09
fwereade_axw, it seems there is no way to ask where to download a charm from any more12:11
fwereade_axw, and so ISTM we have to depend on some funky magic whereby archive urls are always transformed versions of the charm urls in question12:12
axwfwereade_: who has no way to ask where to download from?12:37
axwthe unit agent?12:37
fwereade_axw, yeah12:37
* axw rolls back memory12:38
fwereade_axw, shouldn't the state server know where they can be downloaded from, and be able to tell the unit agent, rather than the unit agent inferring same?12:38
axwfwereade_: the problem I had with that was that the facades don't know anything about how they should be queried12:40
fwereade_axw, sorry, not quite following12:41
axwfwereade_: the API server is hosting the charm storage, right? how does it figure out the URL to send to the client?12:42
fwereade_axw, how does it figure out the URL to send to the client when new state servers are added? ;p12:42
axwfwereade_: the facade doesn't even know which address it should be contacted on - that's all at a higher level12:43
axwand the client knows what address it has connected to already12:43
axwwe could do relative locations?12:44
fwereade_axw, I don't see why the facade needs to concern itself with that?12:45
fwereade_axw, IIRC what we used to do was ask the state server for the charm's archive URL12:46
fwereade_axw, we used to get that from state12:46
fwereade_axw, we also get things like lists of state server addresses over the api12:46
axwfwereade_: we could get a list of URLs (one for each API server), if that's what you're getting at?12:48
axwit seems a little counterproductive, since the API server is clearly up and available if it's responding to a request for URL... :)12:48
fwereade_axw, right, but it creates a distributed assumption about exactly where the charm server lives12:49
fwereade_axw, it's already moved once12:49
axwfair enough12:50
fwereade_axw, what long-term guarantees do we have that all state servers will always be charm servers, and will always use serve them on that path?12:50
axwfwereade_: it was my understanding that we'd always proxy through the API server12:50
axwI see your point though, it would be safer to tell the client12:51
axwalso means other clients don't need that intelligence/stupidity recoded12:51
fwereade_axw, yeah12:52
axwI'll log a bug12:52
fwereade_axw, cheers -- do you reckon there's half a chance of getting it scheduled soonish?12:53
axwfwereade_: I'm happy to take a look early next week, could do with a rest from thinking about block devices12:54
fwereade_axw, awesome12:54
axwfwereade_: https://bugs.launchpad.net/juju-core/+bug/139497612:56
mupBug #1394976: api/uniter: Charm.ArchiveURL should query API server <juju-core:Triaged> <https://launchpad.net/bugs/1394976>12:56
axwfwereade_: (just out of curiosity) is there really any rush? because it's just the uniter, there's not backwards compatibility issue? I mean, even if we changed the path at which we served the archives, it wouldn't be the end of the world if the uniter threw a few errors before upgrading13:02
axwis there another reason I'm missing?13:02
fwereade_axw, ehh, I wanted to patch out the api so I could do some proper testing in the uniter and got all angried up when I couldn't find an api call to patch13:06
axwfwereade_: fair enough :)13:08
perrito666katco: https://twitter.com/ShiroSirius/status/535515056528969728/photo/113:08
axwfwereade_: in the two new workers I just landed for storage, they accept interfaces rather than an api/*.State struct13:09
fwereade_axw, there might not be that much rush though, I am strongly tempted to just write the api call I need anyway, definitely ping me before you start work on it ;)13:09
axwso I managed to write a worker without any API at all...13:09
fwereade_axw, that is awesome13:09
axwsure13:10
fwereade_axw, the uniter api is sadly a bit more involved and a bit harder to patch out -- *unless* I just write that method, because there are actually only 2 methods I need on it at the moment, and it's only the charm one that's awkward13:10
perrito666hey, can I, from juju client, know which of the state servers of an HA setup is the master?13:25
fwereade_perrito666, that's awesome13:31
fwereade_perrito666, http://imgur.com/uVWFN9213:31
perrito666heh seems to be a trend these days the coder barbie thing I just saw the one of emacs vs vim and cracked13:31
fwereade_perrito666, yeah, it's *awesome*, I've just spent 10 minutes looking at examples and laughing like a drain13:38
=== jcsackett_ is now known as jcsackett
perrito666natefinch: ping?14:32
natefinchperrito666: sorry, gotta run a quick errand for my wife, mind if we move it later?14:37
perrito666np14:37
perrito666natefinch: actually I suddenly have to rush run an urgent one too14:38
wwitzel3ericsnow, perrito666, natefinch15:03
natefinchstupid friggin' chrome on utopic15:04
natefinchahh crud, school thanksgiving party thing.. gotta leave in a few minutes.15:50
natefinchericsnow: if you run out of things to do, look at output variables.  Should be pretty well spec'ed out15:50
natefinchericsnow: I'll try to figure out how to split up GCE work, but not going to have time to do it now15:50
ericsnownatefinch: no worries15:53
perrito666fwereade_: voidspace I am reviewer next tue but Ill be on holiday, back on fri when you two are reviewers does any of you want to swap with me so we dont have a day with only one rev and I get to do some reviewing?16:11
voidspaceperrito666: fine with me16:18
perrito666deal then :D16:18
voidspaceperrito666: can you swap them in the calendar16:19
perrito666yup, on it16:19
perrito666voidspace: I created new events16:21
perrito666bc if I change those i seem to change the whole series16:21
perrito666which is not good16:21
voidspaceperrito666: ah, right - thanks16:21
ericsnowperrito666: what where those two issues you brought up during standup? (something about filenames and archives)16:48
voidspacedimitern: ping16:55
dimiternvoidspace, pong16:55
voidspacedimitern: you said to look at the address collection16:55
dimiternvoidspace, yeah?16:56
voidspacedimitern: I've been looking in the state package at the address stuff - that's mostly api server addesses16:56
voidspacedimitern: and in machine.go16:56
voidspacedimitern: the machine doc stores address info - is that what you meant?16:56
dimiternvoidspace, it does but it shouldn't :)16:56
voidspacedimitern: I've also re-read the container addressability doc - and updated it a bit16:56
voidspacedimitern: heh16:56
voidspacedimitern: where is the address collection?16:56
dimiternvoidspace, the idea is to have a separate addresses collection16:57
voidspacedimitern: I've tried grepping but failed16:57
voidspacedimitern: ah...16:57
voidspacedimitern: and have machine doc reference that16:57
wwitzel3fwereade_: *poke* need some of your time for the juju-run stuff I addresses16:57
wwitzel3addressed16:57
dimiternvoidspace, which will contain "proofed", verified addresses linked properly to machines, subnets, etc.16:57
voidspacedimitern: right16:57
dimiternvoidspace, ideally we'll drop the addresses from the machine doc at some point16:58
fwereade_wwitzel3, oh *hell* sorry16:58
dimiternvoidspace, even now the addresses there are considered incomplete, plain wrong or unusable16:58
wwitzel3fwereade_: no trouble, you told me you'd forget and I would have to poke you today :)16:58
voidspacedimitern: hah, wonderful16:58
dimiternvoidspace, :)16:59
dimiternvoidspace, we'll fix that as we go16:59
voidspacedimitern: will the new address collection just be used for where we're managing addresses (ec2 with default vpc and maas)?17:00
voidspaceso just for the new stuff17:00
dimiternvoidspace, if you have a look at the older network model doc (the one with more details like the state docs and fields) there are some pointers what we need17:01
voidspacedimitern: cool, thanks17:01
voidspaceI have that starr3ed17:01
voidspace*starred even17:01
dimiternvoidspace, yeah - it should contain only addresses we know and can match (or manage)17:01
voidspacedimitern: "Juju networking model specification"17:02
dimiternvoidspace, but please keep in mind that doc is a bit obsolete now by the "phase 1" model (i.e. compare the statements/assumptions in the old doc with the similar ones in the new model)17:03
voidspacedimitern: sure, I've just read that so its fresh17:03
dimiternvoidspace, that's the one I think - it should say it's a low level tech spec17:03
voidspacedimitern: actually this one says "This document presents a high-level draft specification for discussion and approval."17:04
dimiternvoidspace, hmm, so not this one, just a sec..17:04
voidspacedimitern: https://docs.google.com/a/canonical.com/document/d/1UzJosV7M3hjRaro3ot7iPXFF9jGe2Rym4lJkeO90-Uo/edit#heading=h.a92u8jdqcrto17:04
voidspaceoops17:05
voidspacenot that one17:05
voidspacehttps://docs.google.com/a/canonical.com/document/d/11KbAnVWf8GBJYznOEpzqSRxY7Os7FQSL9huIt1hq1Ao/edit#17:05
voidspaceThis one17:05
dimiternyeah17:05
dimiternno17:05
dimitern:)17:05
voidspace so, uhm... which one?17:06
dimiternI've sent you a link in a pm17:06
voidspaceah!17:07
=== psivaa-holiday is now known as psivaa
fwereade_wwitzel3, that's only a hair away from a ship-it-with-trivials, just explain why my suggestion for keeping the old form of newRelationIdValue is dumb17:18
wwitzel3fwereade_: yeah, so the way f.Var works internally, you must assign the value to the exact same pointer, if you want the flags to stack in the help output, e.g. -r, --relation17:33
jw4fwereade_: params.Entites use string for the Tag type instead of names.Tag17:37
sinzuiAnyone, everyone there is an issue with 1.20.12 :( https://bugs.launchpad.net/juju-core/+bug/1395081 relates to a change in https://launchpad.net/juju-core/+milestone/1.20.12 that we need to identify quickly17:38
mupBug #1395081: 1.20.12 breaks neutron-gateway, since all interfaces are brought up <cloud-installer> <landscape> <juju-core:New> <https://launchpad.net/bugs/1395081>17:38
jw4fwereade_: can I make a params.Tags struct that is strongly typed?17:42
jw4fwereade_: fwiw, we already have a params.Tags type which we're using elsewhere18:01
=== kadams54 is now known as kadams54-away
=== kadams54-away is now known as kadams54
voidspacehappy weekend everyone18:34
voidspaceg'night all18:35
dimiternwwitzel3, natefinch, perrito666, guys, urgent bug fix review - who can have a look? http://reviews.vapour.ws/r/518/18:38
dimiternthe bug is https://bugs.launchpad.net/juju-core/+bug/139508118:38
mupBug #1395081: 1.20.12 breaks neutron-gateway, since all interfaces are brought up <cloud-installer> <landscape> <juju-core:Triaged> <https://launchpad.net/bugs/1395081>18:38
natefinchlooking18:39
natefinchare there side effects to us *not* bringing these up?18:39
dimiternnatefinch, not really - if anything it was messing up maas environments for is18:40
perrito666dimitern: looks a lot like you are reverting or partially reverting a patch, could you add a reference to it in the commit?18:40
dimiternnatefinch, and it's really *my bad*, because I backported that from trunk, but accidentally changed the behavior between 1.20.11 and 1.20.1218:41
dimiternperrito666, it's not a complete revert, it's just dropping some code which was the source of the issue - this code is already gone in more recent versions18:41
dimiternperrito666, updated the PR to include a link to the PR that changed that part of the code most recently18:44
natefinchcool18:44
natefinchdimitern: LGTM'd18:45
dimiternnatefinch, thanks! and I've just confirmed it with the live test18:46
bacmarcoceppi: you still going to do an amulet release today?18:52
marcoceppibac: yes18:53
bacyay18:53
fwereade_jw4, don't tags get sent over the wire as strings anyway?19:28
fwereade_jw4, and don't we have to do manual stuff at the other end to turn them back into the right sort of tags anyway?19:29
mgzhow do I set the log level of root to be debug rather than having that override up to warning that happens now?19:58
mgzI am failing to find this documented anywhere19:58
natefinchI think thumper is the only one who understands loggo20:04
mgz...someone must have needed to debug juju at some point though,,,20:05
mgzI've not done it since that change, and I am currently going insane20:05
perrito666how considerate, x crashed20:12
natefinchmgz: I think juju set-environment logging-config "root=DEBUG"20:13
natefinchmgz: unless someone invalidated juju help logging20:13
natefinchwhich is entirely possible given our history of keeping the help up to date20:14
mgznatefinch: ta, seems we also have a logging-config thing to go in environments.yaml as well now?20:15
natefinchmgz: I think anything you can set with set-environment can be set in environments.yaml ... not that we actually have either documented anywhere20:16
katcoif anyone wants to know more about the new leadership/lease services: http://reviews.vapour.ws/r/519/20:32
=== kadams54 is now known as kadams54-away
natefinchfinally uploaded all my music to google music... I'd forgotten how much I like listening to music while I hack20:46
=== kadams54-away is now known as kadams54
jw4fwereade_: we can discuss - but the short answer is no, it doesn't have to be that way21:09
fwereade_jw4, ahh, a TagSlice with a SetJSON or something? nice21:14
fwereade_jw4, I guess we'd need an InvalidTag type or something though?21:14
jw4fwereade_: what I found with the ActionTags (before I knew we were 'supposed' to convert to string before using) is that the reason they had trouble serializing was because the fields were private21:16
fwereade_jw4, ah yes21:16
jw4fwereade_: if we accept public fields then they serialize just fine21:16
fwereade_jw4, right, but we want them to be actual strings21:16
fwereade_jw4, over the wire21:17
jw4fwereade_: how come? (They all implement String() fwiw)21:17
fwereade_jw4, I have no interest in forcing that sort of structure on every client21:17
jw4fwereade_: I see21:17
fwereade_jw4, and I want people to be able to do things like use them as map keys21:17
jw4fwereade_: you mean in other client languages, or does Go not allow that either?21:18
* jw4 goes to check21:18
fwereade_jw4, in general, but specifically in python I guess21:19
fwereade_jw4, seriously, a tag over the API is a string21:19
fwereade_jw4, smarter representations in go? awesome21:19
fwereade_jw4, subverting the deliberately trivial wire-format representation of an entity? not so much ;)21:20
jw4fwereade_: lol21:20
jw4fwereade_: okay - so in the params types should we not be using names.Tag or names.*Tag ?21:21
fwereade_jw4, yeah21:22
fwereade_jw4, and, hmm, you shouldn't be using charm.Actions either, I think21:22
fwereade_jw4, params has the same forces in play as internal state stuff does21:23
fwereade_jw4, if we use types from other packages, we allow changes to those other packages to magically change our wire format/db format21:23
jw4fwereade_: yeah - I remember that discussion21:23
jw4fwereade_: good point21:23
* fwereade_ looks at the rest of apiserver/params and starts swearing21:25
natefinchdude, seriously?:  Bootstrap(ctx BootstrapContext, params BootstrapParams) (arch, series string, _ BootstrapFinalizer, _ error)21:25
jw4natefinch: what; four return values too much for you?21:26
natefinchjw4: you get TWO.  No more.21:27
jw4hehe21:27
jw4unless it's after a full stop?21:27
natefinch (╯°□°)╯︵ ┻━┻)21:27
jw4haha21:28
jw4katco: your code is delightful to read21:28
natefinchkatco: I think he wants something ;)21:28
katcohaha21:28
jw4haha21:28
katcojw4: thank you so much... that's probably the highest compliment someone could give me21:29
jw4I just appreciate clean well laid out, well named, elegantly flowing code21:29
* katco beams21:29
jw4now, do you think you could help me out with something katco ?21:29
* jw4 is kidding21:29
katcorofl21:29
jw4about the last line not the prior two21:30
katcoi got it ;)21:30
natefinchwow... environs.Environ is an interface with 18(!) methods on it.  Sad gopher is sad.21:43
=== kadams54 is now known as kadams54-away
natefinchhappy weekend all22:01
jw4katco: do you want to write the Actions spec?23:21
katcojw4: i don't know, i think there are other plans for me23:35
jw4katco: I don't know what the emoticon is for tongue-in-cheek, but I couldn't help contrasting Leadership Spec with the Actions Spec23:36
katcooh lol23:36
katcofwiw i use ":p"23:36
jw4katco: that makes sense - I think of that as tongue sticking out, but that's probably more like it23:37
katcooh no you're right23:38
katcobut that's for when i'm feeling cheeky :)23:38
jw4hehe23:38
jw4:-J23:38
katcolol there you go23:39

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