=== kadams54 is now known as kadams54-away | ||
=== kadams54-away is now known as kadams54 | ||
=== kadams54 is now known as kadams54-away | ||
=== kadams54 is now known as kadams54-away | ||
=== kadams54 is now known as kadams54-away | ||
=== kadams54-away is now known as kadams54 | ||
=== kadams54 is now known as kadams54-away | ||
=== kadams54 is now known as kadams54-away | ||
lazyPower | hatch: just open a MP against trunk, it'll make it's way into the queue | 15:00 |
---|---|---|
hatch | lazyPower: yup found that out :) took about a day to get into the queue :) | 15:01 |
hatch | ahhh -30C gota love it | 15:03 |
hatch | -42C with windchill | 15:04 |
urulama | hatch: awesome! | 15:04 |
urulama | :D | 15:04 |
hatch | lol | 15:05 |
hatch | it's really early for temps this low - I hope this isn't a sign of things to come | 15:06 |
urulama | oh, man, hatch, i missed to comment the PR666! | 15:27 |
hatch | lol you did | 15:28 |
hatch | man this would be nice to have https://support.leankit.com/entries/30469547-Merge-2-Cards-Together | 15:34 |
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:40 |
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:41 |
teslanick | That's actually most of the power of Lisp | 15:42 |
hatch | yeah I know lol | 15:42 |
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:43 |
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:44 |
hatch | it's essentially like a built in transpiler then? | 15:45 |
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:46 |
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:49 |
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:50 |
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:51 |
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:52 |
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:53 |
hatch | so there is a version of CL which maintains the source which you can then modify and recompile | 15:54 |
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:55 |
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:56 |
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:58 |
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. | 15:59 |
teslanick | Also, it really sounds like you want to use a clojure multimethod for the problem you have in mind | 16:00 |
teslanick | Which is basically a multiple-dispatch function based on some arbitrary logic. | 16:01 |
=== kadams54 is now known as kadams54-away | ||
=== kadams54-away is now known as kadams54 | ||
=== kadams54 is now known as kadams54-away | ||
hatch | I'll look into that | 16:07 |
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:19 |
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:20 |
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:25 |
hatch__ | yeah I was hoping to find a language which allowed such a thing | 16:27 |
hatch__ | I was even thinking something compiled (Go C C++) which could compile a new 'dll'esk module | 16:28 |
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:32 |
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 | 16:41 |
=== kadams54 is now known as kadams54-away | ||
=== kadams54-away is now known as kadams54 | ||
hatch__ | rick_h_: will there still be the category drop down with the ac removal? | 17:50 |
rick_h_ | hatch__: no, because we'll be moving to tags and a different search/filter method in the future | 17:51 |
hatch__ | sounds like a plan | 17:52 |
hatch__ | *ctrl+a del* | 17:52 |
rick_h_ | :) | 17:52 |
hatch__ | I can tell Huw wrote the code I'm working on right now because 'else' is on a new line | 18:25 |
hatch__ | lol | 18:26 |
hatch__ | #idotoomanycodereviews | 18:26 |
rick_h_ | :P | 18:27 |
=== kadams54 is now known as kadams54-away | ||
=== kadams54-away is now known as kadams54 | ||
=== kadams54 is now known as kadams54-away | ||
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:43 |
* teslanick awaits yuidoc.juju.ubuntu.com | 20:51 | |
hatch__ | lol | 20:52 |
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:53 |
hatch__ | ahh | 20:54 |
=== kadams54-away is now known as kadams54 | ||
hatch | somehow the ac removal has caused the inspector tests to break :/ | 21:30 |
rick_h_ | hatch: lol | 21:31 |
hatch | I do not get it, it's very confusing | 21:31 |
rick_h_ | hatch: let me know if you need another set of eyes | 21:33 |
=== perrito6` is now known as perrito666 | ||
hatch | ok well I figured out what the problem is, but I am not sure why it started now. | 21:36 |
hatch | query selectors which are querying on things like [name=mediawiki/7] or [data-bind=config.admin] | 21:37 |
=== kadams54 is now known as kadams54-away | ||
hatch | change it to be [name="mediawiki/7"] or [data-bind="config.admin"] | 21:37 |
hatch | and they pass | 21:38 |
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:40 |
hatch | rick_h_: https://github.com/juju/juju-gui/pull/669/files | 21:42 |
hatch | if you get a moment | 21:42 |
=== kadams54-away is now known as kadams54 | ||
rick_h_ | hatch: race? is databinding all in place? | 21:48 |
rick_h_ | hatch: but yea nothing jumps out at me | 21:48 |
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:49 |
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:50 |
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:51 |
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:52 |
hatch | lol | 21:53 |
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 | 21:54 |
huwshimi | Morning | 22:13 |
hatch | hey huwshimi | 22:24 |
=== kadams54 is now known as kadams54-away | ||
=== kadams54-away is now known as kadams54 | ||
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:34 |
=== kadams54 is now known as kadams54-away | ||
hatch | uiteam lf reviews and qa on https://github.com/juju/juju-gui/pull/670 | 22:57 |
Makyo | On it | 22:57 |
hatch | thanks | 22:58 |
hatch | doh | 22:58 |
hatch | lint error | 22:58 |
hatch | sorry will fix | 22:58 |
hatch | update | 22:59 |
hatch | d | 22:59 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!