/srv/irclogs.ubuntu.com/2013/06/10/#juju-dev.txt

=== thumper is now known as thumper-afk
=== tasdomas_afk is now known as tasdomas
TheMuemorning07:05
fwereade__TheMue, heyhey07:26
TheMuefwereade__: heya07:30
TheMuefwereade__: any good idea on how to test the cleaner? maybe i should export an access to the size of the cleanup collection ... *loudThink*07:33
fwereade__TheMue, yeah, export_test sounds sensible to me07:34
TheMuefwereade__: ok, will go this way07:36
TheMue*bibber*07:49
* TheMue switched clothes to summer mode, but right now we have 12°, not very much07:49
=== thumper-afk is now known as thumper
thumperfwereade__: hey, you around?07:58
fwereade__thumper, hey dude07:58
thumperfwereade__: I made a calendar appt with you, but perhaps we could do it now?07:59
fwereade__thumper, sure, just 5 mins to clean up some tests please?07:59
thumpersure, np07:59
jamhi danilos07:59
jamwould you prefer a G+ hangout to mumble today?07:59
thumperhi jam, danilos07:59
danilosjam: hi07:59
jamhey thumper, I'm suprised to see you still around07:59
danilosjam: whatever works for you, generally hangouts07:59
jamare you still poaching mgz from me this week ?08:00
danilosthumper, hey-hey08:00
thumperjam: monday nights are a convenient time to catch up08:00
jamdanilos: https://plus.google.com/hangouts/_/865fe063d65c84b4533952ee66bfefaec8fc18d808:00
thumpergrab people at the start of the week08:00
jamI added it to the calendar event08:00
thumperdinner is done here08:00
jamthumper: and throttle them?08:00
danilosjam: cool, getting in08:00
thumperjam: nothing so violent08:01
rogpeppe1mornin' all, BTW08:19
TheRealMuerogpeppe1: heya08:20
=== TheRealMue is now known as TheMue
thumpermgz_: you up?09:06
thumperhi rogpeppe109:06
thumperrogpeppe1: I have a juju-core branch up for the loggo changes09:06
rogpeppe1thumper: yo!09:06
rogpeppe1thumper: i LGTM'd it09:07
thumpercool, ta09:07
thumperI'll land things tomorrow09:07
rogpeppe1thumper: great09:08
rogpeppe1thumper: any feedback on the loggo CL?09:08
thumperrogpeppe1: it's all good, will land unchanged09:08
rogpeppe1thumper: lovely, thanks a lot09:08
mgz_thumper: yup09:08
thumperrogpeppe1: jam also raised the point about the logger and module separatness, and I think it may well be a hang over from C++ where you won't want to hand out pointers you care about09:09
rogpeppe1thumper: what do you think of my other suggested changes (lose case insensitivity, always use ";" as a separator... there might've been another one too)09:09
thumperbecause people might delete them09:09
rogpeppe1ah09:09
rogpeppe1thumper: i think you can probably lose the whole concept of "module"09:09
thumperrogpeppe1: actually I may have missed those, but I'm ok with them09:09
rogpeppe1thumper: i just mentioned them in the CL description09:10
thumperrogpeppe1: yeah, I think go gives more protection there, so could be ok09:10
thumperI thought the other day, when jam suggested it, that I had a good reason why it was bad09:10
thumperbut when I thought again, I couldn't recall09:10
thumperso I'll think a bit more, and we may be able to get rid of modules... and just have loggers09:10
thumpermgz_: quick hangout?09:11
rogpeppe1i think that may end up nicer09:11
jamthumper: I would probably say that Logger should be an Interface, rather than a concrete type. What do you think?09:11
rogpeppe1jam: why would you want to do that?09:11
mgz_thumper: sure09:11
thumperhmm.. that is an interesting idea09:11
thumperI like interfaces09:11
* rogpeppe1 likes interfaces too09:11
=== rogpeppe1 is now known as rogpeppe
jamrogpeppe1: you never want to muck with the internals anyway09:12
jamand it lets you do all sorts of nice tricks in test suites, etc09:12
rogpeppejam: hmm, i'm not sure09:12
jamIt is a bit of "least information that you should care about" which is the interface.09:12
rogpeppejam: it's a big interface09:12
rogpeppejam: and you can already replace the logger with something test-suite specific09:13
rogpeppejam: and if it's not an interface call, the compiler can potentially work out the arguments don't escape09:14
jamrogpeppe: 5 related APIs doesn't seem very wide to me, and global objects that must be concrete types can be a bit clumsy when you really want something else. However, I agree that the compile-time optimization is nice.09:15
rogpeppejam: Logger has 16 methods. i'd say that's a pretty big interface.09:15
rogpeppejam: i'd be more interested in something which gave you more than one possible logging hierarchy.09:17
jamthumper: what was your thought on the Is* methods being public? Are you expecting people to do a pre-check before computing something expensive?09:18
rogpeppejam: but actually the Writer interface probably gives you everything you need for the fancy tricks in test suites09:18
thumperjam: I thought it could be a possibility09:19
rogpeppethumper: i think it's reasonable to expose them, but perhaps compress them all into IsLevelEnabled(Level) bool09:21
jamthumper: well, you do have GetEffectiveLevel which gives you that information, it seems a bit of "you can ask 3-different ways for the same info, because we're not sure what fits best".09:24
rogpeppejam: yeah, i tend to agree with that. given how rare it's likely to be, log.EffectiveLevel() <= level is probably good enough.09:27
rogpeppejam: BTW the compiler does currently know that the variadic argument to Logf, Errorf, etc does not escape, and saves an allocation per call accordingly09:30
thumperrogpeppe: btw, if you have log.Errorf("100% failure"), it kinda messes up09:32
thumperrogpeppe: as it expects params for a % thingy09:32
thumperwhich is why the special case used to be there09:32
thumperanyway, I'm off now09:32
rogpeppethumper: that's a problem with using % in any printf format string09:32
thumperI'll leave you two to argue09:33
jamthumper: doesn't that need to be "100%% " anyway?09:33
rogpeppejam: +109:33
thumpershould have an Error one that only takes a message09:33
rogpeppethumper: govet will warn you about the above09:33
thumpernot touched govet09:33
rogpeppethumper: yeah. or Error(...interface)09:33
thumperdoes it do pets?09:33
rogpeppethumper: only pet projects09:33
thumperha09:33
jamthumper: govet is the "go compiler doesn't believe in warnings only errors, so things we might want warnings on we put in another tool" :)09:34
rogpeppethumper: there's also golint now09:34
* thumper off to watch game of thrones09:34
rogpeppethumper: enjoy!09:34
jamthumper: enjoy09:34
rogpeppeit's interesting seeing what golint says about our code actually09:34
rogpeppethe most frequent warning is that it prefers ID to Id.09:35
jamrogpeppe: on the same premise as URL vs Url ?09:35
rogpeppejam: i guess.09:35
rogpeppejam: only i'd always reasoned the other way09:36
jamthough ID isn't an acronym is it?09:36
rogpeppejam: exactly09:36
rogpeppejam: but evidently in google, they've gone with ID09:36
rogpeppejam: github.com/golang/lint/golint if you want to play09:37
fwereade__Makyo, ping09:47
* rogpeppe is going to reboot again. i'm finding raring really quite buggy.10:23
* TheMue is at lunch10:37
=== tasdomas is now known as tasdomas_afk
=== fdehay_ is now known as fdehay
=== tasdomas_afk is now known as tasdomas
rogpeppesigh.10:58
* rogpeppe goes off to submit a unity bug10:59
mgz_jam: standup today?11:34
TheMue*facepalm*11:45
TheMueLooking for an error at the right place helps a lot.11:45
jammgz_: I probably missed the standup since you and danilos should be fast, but I'm around for 1:1 whenever you are ready.11:48
mgz_we're just wrapping up :)11:50
mgz_mumble?11:50
danilosjam: you've had your chance to join in as well :)11:50
jamdanilos: you were doing a g+ I guess I just missed it11:50
danilosjam: yeah11:51
=== tasdomas is now known as tasdomas_afk
=== tasdomas_afk is now known as tasdomas
* fwereade__ lunch12:07
TheMueah, bug found12:17
=== BradCrittenden is now known as bac_
=== wedgwood_away is now known as wedgwood
rogpeppenot my day today. second forced reboot of the day.15:40
rogpeppeat least i only lost 30 minutes of work this time15:41
=== tasdomas is now known as tasdomas_afk
mattywit looks like under the current version of juju-core (1.11) and possibly tip $HOME isn't set when a hook is running, has anyone else seen or reported this? I couldn't see a bug for it16:13
rogpeppemattyw: hmm, interesting. was it definitely set before?16:15
mattywrogpeppe, 1.10 it seemed to be yes16:15
rogpeppemattyw: fwereade__ would be yer man for knowing about what might have changed there.16:16
rogpeppemattyw: in the meantime, i'd make sure it's reproducible and report a bug16:17
mattywrogpeppe, ok thanks, - while I have your attention: you mentioned in oakland that you'd done some stuff in SBCL yeah?16:17
rogpeppemattyw: yeah16:18
rogpeppemattyw: though my CL skills are somewhat rusty by now... :-)16:18
mattywrogpeppe, have you used it for connecting to secure websockets? I tried to get clojure connected up to the juju-core api over the weekend, the java ssl stuff seems a complete mess16:19
rogpeppemattyw: no; i played a little bit with some web server stuff, but never from client side and not involving ssl16:20
rogpeppemattyw: i'd google around. there are quite a few nice libraries out there16:20
rogpeppemattyw: you're implementing stuff in lisp?16:20
mattywrogpeppe, I have a love hate relationship16:21
rogpeppemattyw: i had fun playing with it, but it really is a baroque language. i imagine clojure is a bit less idiosyncratic though16:22
mattywrogpeppe, clojure has been my favourite, but connecting to wss sockets doesn't just work like in python and go - I get all sorts of crazy exceptions16:22
rogpeppemattyw: i think you're best off persevering with clojure - porting to CL is unlikely to be a breeze16:23
mattywrogpeppe, clojure is the sanest one I've used, but being based on the jvm is a blessing and a curse16:23
rogpeppemattyw: does clojure even do macros in a similar style to CL?16:23
mattywrogpeppe, I've only done clojure macros. I've not done CL macros so I don't know16:25
rogpeppemattyw: are they hygienic?16:25
mattywrogpeppe, I think so yes16:25
fwereade__rogpeppe, mattyw: I'm not sure why that would have happened, I'm afraid, although I'm a bit suspicious of needing $HOME in charms16:27
mattywfwereade__, we've got a binary that gets called in a hook. the binary uses $HOME16:28
rogpeppemattyw: sorry, my laptop just crashed again16:29
rogpeppemattyw: last thing i saw was "i think so yes"16:29
rogpeppei think this laptop might be on its way out16:29
mattywrogpeppe, it ended there16:29
rogpeppemattyw: ah, it must've crashed just after that and i hadn't seen it16:30
* rogpeppe is well annoyed. just lost 500 words of detailed documentation.16:31
rogpeppe(at least)16:31
rogpeppemattyw: sbcl macros aren't hygienic16:33
rogpeppeaargh16:35
=== deryck is now known as deryck[lunch]
=== wedgwood is now known as wedgwood_away
=== wedgwood_away is now known as wedgwood
rogpeppe1g'night all17:48
=== deryck[lunch] is now known as deryck
=== BradCrittenden is now known as bac
thumpermorning21:23
hatchmorning21:51
thumperperhaps it is time for a second coffee...22:11
=== wedgwood is now known as wedgwood_away

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