[15:00] <lazyPower> hatch: just open a MP against trunk, it'll make it's way into the queue
[15:01] <hatch> lazyPower: yup found that out :) took about a day to get into the queue :)
[15:03] <hatch> ahhh -30C gota love it
[15:04] <hatch> -42C with windchill
[15:04] <urulama> hatch: awesome!
[15:04] <urulama> :D
[15:05] <hatch> lol
[15:06] <hatch> it's really early for temps this low - I hope this isn't a sign of things to come
[15:27] <urulama> oh, man, hatch, i missed to comment the PR666! 
[15:28] <hatch> lol you did
[15:34] <hatch> man this would be nice to have https://support.leankit.com/entries/30469547-Merge-2-Cards-Together
[15:40] <hatch> teslanick: hey I was looking at lisps this last weekend but could not find an answer to whether CL has any features that Clojure does not
[15:41] <teslanick> CL has better macro support.
[15:41] <hatch> which isn't relaly too interesting because macros are only executed at compile
[15:41] <hatch> really*
[15:42] <teslanick> That's actually most of the power of Lisp
[15:42] <hatch> yeah I know lol
[15:43] <hatch> in my head it's only syntactic sugar over just creating  a wrapper function 
[15:43] <hatch> maybe I'm thinking of that wrong
[15:43] <teslanick> Yeah, definitely thinking about that wrong
[15:44] <teslanick> Macros let you do really powerful source code transformations, which is also their biggest danger. It's easy to write a macro that makes your code incomprehensible to the average dev.
[15:44] <teslanick> e.g. I wrote a Clojure macro that looks for symbols in the form <SomethingService> and replaces them with instances of a Hessian remote interface.
[15:44] <hatch> do you know of any examples which show it being useful beyond just a wrapper fn? 
[15:45] <hatch> it's essentially like a built in transpiler then?
[15:46] <teslanick> In clojure, go-style CSP is implemented as a macro.
[15:46] <teslanick> So, inside a (go ...) s-expression, the semantics of the language are entirely different.
[15:49] <hatch> blah I need to do more research - I was initially looking at Lisps for the macro support but couldn't find anything which 'clicked' to show the power other than being like a wrapper/transpiler
[15:50] <teslanick> Well, it is a transpiler in a sense. It translates one set of symbols to a different set of symbols. For domain-specific problems it's a really valuable affordance.
[15:50] <hatch> I was actually initially looking for runtime macro support :) 
[15:51] <hatch> but to do that you need a special version of CL
[15:51] <teslanick> I don't know what you mean by "runtime macro"
[15:51] <teslanick> In Clojure, the difference between read-time and run-time is pretty blurry.
[15:52] <teslanick> e.g., I can write a macro in the repl and then immediately use it on my clojure code.
[15:52] <hatch> at compile Fn A calls fn B but depending on some interaction Fn A now calls G 
[15:52] <rick_h_> uiteam call in 9 kanban please
[15:52] <hatch> and that's a source code change, not just a conditional
[15:53] <teslanick> Well, you could write a macro that captures that specific logic. But to capture any arbitrary logic, you're folding a ton of logic into your build step
[15:53] <hatch> exactly
[15:54] <hatch> so there is a version of CL which maintains the source which you can then modify and recompile
[15:55] <hatch> but the CL landscape is a wash with custom versions heh
[15:55] <hatch> not sure I want to wade into that, which is why I started looking at Clojure - but that didn't quite get me where I wanted
[15:56] <hatch> js and it's prototype tree could be used to do something similar 
[15:56] <hatch> well in that it would call the same fn name but it would be a different fn
[15:58] <teslanick> Yeah, the problem with CL (as I understand it, I've not played with it at all, really) is that the moment you've bootstrapped yourself into good and usable code, you're no longer writing CL anymore.
[15:58] <teslanick> Clojure is nice because it's way closer to good and usable code without a ton of bootstrapping.
[15:59] <hatch> CL also doesn't have a good entry point
[15:59] <teslanick> But it's a tradeoff -- you don't get fully-featured reader macros.
[16:00] <teslanick> Also, it really sounds like you want to use a clojure multimethod for the problem you have in mind
[16:01] <teslanick> Which is basically a multiple-dispatch function based on some arbitrary logic.
[16:07] <hatch> I'll look into that
[16:19] <hatch__> maybe I can come up with a way of doing it with goroutines
[16:19] <teslanick> What problem are you trying to solve?
[16:20] <hatch__> a totally arbitrary academic made up one :) 
[16:20] <hatch__> basically I wanted to investigate a script in which a function would be multi purposed
[16:20] <hatch__> but not by conditionals but by code-rewriting 
[16:25] <teslanick> Well, from a technical standpoint, compiled clojure code can't do dynamic code rewriting because it all gets flattened into java bytecode.
[16:25] <teslanick> Even in JS, you'd have to either write a meta-interpreter or eval() the rewritten code.
[16:27] <hatch__> yeah I was hoping to find a language which allowed such a thing
[16:28] <hatch__> I was even thinking something compiled (Go C C++) which could compile a new 'dll'esk module  
[16:32] <teslanick> Right, and you can do dynamic compilation in most languages (it's a pain in the ass), but it's a serious code smell.
[16:32] <teslanick> I'm pretty sure you could write a clojure interpreter in clojure pretty easily. It comes with an excellent set of reader libs.
[16:41] <hatch__> this is probably all nonsense anyways - but I couldn't find any papers or anything that actually showed it being functional
[16:41] <hatch__> lots of talk about it
[16:41] <hatch__> but no examples
[16:41] <hatch__> but maybe my google fu is failing me
[17:50] <hatch__> rick_h_: will there still be the category drop down with the ac removal?
[17:51] <rick_h_> hatch__: no, because we'll be moving to tags and a different search/filter method in the future
[17:52] <hatch__> sounds like a plan
[17:52] <hatch__> *ctrl+a del*
[17:52] <rick_h_> :)
[18:25] <hatch__> I can tell Huw wrote the code I'm working on right now because 'else' is on a new line
[18:26] <hatch__> lol
[18:26] <hatch__> #idotoomanycodereviews
[18:27] <rick_h_> :P
[20:43] <hatch__> yuilibrary.com is down, I pinged some of the guys on the old YUI team to look into it - we may not have YUI docs for a bit....who knows
[20:43] <rick_h_> heh
[20:51]  * teslanick awaits yuidoc.juju.ubuntu.com
[20:52] <hatch__> lol
[20:53] <hatch__> lazyPower: have you had a chance to give the latest Ghost release a try?
[20:53] <lazyPower> hatch__: i haven't
[20:53] <lazyPower> been a bit preoccupied being out of state
[20:54] <hatch__> ahh
[21:30] <hatch> somehow the ac removal has caused the inspector tests to break :/
[21:31] <rick_h_> hatch: lol
[21:31] <hatch> I do not get it, it's very confusing
[21:33] <rick_h_> hatch: let me know if you need another set of eyes
[21:36] <hatch> ok well I figured out what the problem is, but I am not sure why it started now.
[21:37] <hatch> query selectors which are querying on things like [name=mediawiki/7] or [data-bind=config.admin]
[21:37] <hatch> change it to be  [name="mediawiki/7"] or [data-bind="config.admin"]
[21:38] <hatch> and they pass
[21:40] <rick_h_> hmm, no idea
[21:40] <hatch> yeah just switched back to develop and they all pass
[21:40] <hatch> I'm going to checkpoing this commit and push it up
[21:40] <hatch> maybe some fresh eyes can see what's up
[21:42] <hatch> rick_h_: https://github.com/juju/juju-gui/pull/669/files
[21:42] <hatch> if you get a moment
[21:48] <rick_h_> hatch: race? is databinding all in place?
[21:48] <rick_h_> hatch: but yea nothing jumps out at me
[21:49] <hatch> well the issue is that it can't find the element so I debugger it and indeed it can't
[21:49] <hatch> I wrap the names and such in " and it works
[21:49] <hatch> but there are hundreds of places where this is done
[21:49] <rick_h_> oh, huh strange
[21:49] <hatch> AND it works fine in develop...
[21:50] <rick_h_> is container different at all? 
[21:50] <rick_h_> from develop to this, exact same node/path? 
[21:50] <hatch> yeah - it's not that the container doesn't exist - it's that the query for it returns undefined if they aren't quoted
[21:51] <hatch> it makes a little sense because they are special characters..but I'm pretty sure it was valid
[21:51] <rick_h_> hatch: yea, I'm wondering if there's some diff in native dom element type or something before/after the code change?
[21:51] <rick_h_> but yea, no idea off the top of my head
[21:51] <hatch> I think I'll start a new branch and remove code/run tests
[21:52] <hatch> and see what triggers it
[21:52] <rick_h_> ok
[21:52] <hatch> 1000+loc code removal is sure gona be nice though :)
[21:52] <rick_h_> hey! that's more of my code! :P
[21:53] <hatch> lol
[21:54] <hatch> who knows maybe there will be some revolutionary blog post come out of this
[21:54] <hatch> ...or I deleted a comma somewhere...
[21:54] <hatch> :P
[22:13] <huwshimi> Morning
[22:24] <hatch> hey huwshimi
[22:34] <hatch> ok the failures were caused by removing the 'autocomplete' module 
[22:34] <hatch> which is not used anywhere in the codebase
[22:34] <hatch> ugh
[22:57] <hatch> uiteam lf reviews and qa on https://github.com/juju/juju-gui/pull/670 
[22:57] <Makyo> On it
[22:58] <hatch> thanks
[22:58] <hatch> doh
[22:58] <hatch> lint error
[22:58] <hatch> sorry will fix
[22:59] <hatch> update
[22:59] <hatch> d