This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-01-11
Channels
- # admin-announcements (8)
- # announcements (1)
- # boot (343)
- # braid-chat (23)
- # cider (20)
- # clara (5)
- # cljsrn (48)
- # clojars (5)
- # clojure (90)
- # clojure-canada (3)
- # clojure-czech (1)
- # clojure-russia (107)
- # clojure-sg (2)
- # clojurebridge (2)
- # clojured (10)
- # clojurescript (70)
- # community-development (73)
- # cursive (106)
- # datavis (40)
- # datomic (40)
- # docs (4)
- # editors (1)
- # emacs (1)
- # events (4)
- # funcool (2)
- # hoplon (46)
- # jobs (2)
- # ldnclj (11)
- # mount (8)
- # om (214)
- # onyx (12)
- # re-frame (35)
- # reagent (31)
- # spacemacs (12)
- # yada (18)
I am trying to make an endpoint work with clara but I am not getting the the right hand side to work: https://gist.github.com/datajohnny/a927c54a56f00035676e any help be appreciated
@donmullen: mount looks promising, when I had my first contact with component I felt something bad about using OO however as I'm clojure noob I decided not to think about it and just accept it. I might be missing something but mount looks simpler
anyone around that has used clara I have some questions that I cant find answers for
@esnunes: @donmullen fantastic conversation on the two (component / mount) on reddit - https://www.reddit.com/r/Clojure/comments/3zppdn/the_beauty_of_clojure/
Everything that has been said about mount vs component vs system is true. However, I would like to point out that beyond providing ready-made community-backed components, system also provides a development workflow that only Boot allows. The other noteworthy property of system is that the latest snapshot supports abstractions derived from Duct: endpoints and handlers.
The development workflow is demonstrated at https://github.com/danielsz/holygrail
As for the Duct abstractions, it's basically this: https://github.com/weavejester/duct/wiki/Components
Personally, I think it's very cool that mount has emerged, and I will take a closer look at it. Maybe system will end up supporting that too.
Im having trouble with some NoClassDefFoundErrors, including the drill-jdbc-all lib (apache drill bundled with all dependencies) which seems to conflict with hadoop and other libs. Can anyone give me any tips on dealing with this? It seems that the classloader is at some point looking for apache commons libs used by both libraries which drill is shadowing.
I personally don't see the OOness in component, I guess it's low level and can lead you into dark places if you use it the wrong way
we have systems with >50 components that would be hell to manage without (or full of redundant stuff to manage lifecycles)
You really have >50 things with global state?
yes, a few base components, tons of subs that are themselves components, but yes, we have some complex systems
That much state sounds bad...
"just a web app" — that’s a bit dismissive...
the "state" is quite limited, it's just get propagated in many different "sub-systems"
My view on Component and Mount is that they can both be abused and both, used properly, are very useful. I think the issues arise with inexperience when the patterns both use get applied universally without understanding the tradeoffs?
BTW I am completely inexperienced in both and would worry about misapplication.
How can I filter a XML to only return nodes without children?
<data>
<node>
<children>
Foo
</children>
</node>
<node>
bar
</node>
</data>
@seancorfield: @martinklepsch: both slack integrations removed
@danielgrosse: clojure.xml/parse will return a data structure of nested maps. (-> parsed-xml first :content) will give you a collection of the node maps. :content on the node maps will give you a vec with the contents of the node tag. items in that vec will either be a string- "bar"- or a map in the case of nested elements like <children>. take what you wish and turn it back into xml if desired. an example: http://blog.korny.info/2014/03/08/xml-for-fun-and-profit.html#parsing-xml-as-structured-data
Clojure 1.8.0-RC5 is now available https://groups.google.com/forum/#!msg/clojure/5UjWgwTI6fY/Q06vv6cVDQAJ - we expect this to be the last RC. Any testing would be appreciated - feedback on the google group (including "looks good") is preferable.
@meow: of course. they were used for clojure nyc’s meetup group. Kinda useful but ok not to have them
yeah, as you know we're just extremely constrained by slack's imposed limitations and are trying to enable some folks to test various integrations that might help with Slackpocalypse
@alexmiller: first time I tried 1.8 and it seems it doesn't like Immutant - https://gist.github.com/jaen/8d1ff8a1605d74034086
@jaen: what version of immutant? and can you tell me what version of potemkin is shown by lein deps :tree
or boot show -d
?
we test Immutant against 1.8 on CI, so things should work. there were issues with an older potemkin at one point
@jaen: you'll need to update that to "0.4.1" - immutant depends on "0.4.1", so something else must be dragging in an older version
@jaen: if bumping potemkin
doesn't fix it, try using a custom 1.8 with the following patch applied: http://sprunge.us/HTAW
@alexmiller, @tcrawley, @bronsa: it seems it was potemkin after all. Adding [potemkin "0.4.3"]
to my dependencies seems to have fixed it. Thanks!
what's the trick for getting leiningen to run in a mode that will allow me to show Swing JFrames etc
I'm trying to use seesaw
and I suspect that leiningen is running in headless mode or something
@stathissideris: have you tried passing java.awt.headless=true
as a JVM param ?
@dobladez: on you are correct, that's the problem I was having... the parameter that you mention seems to have fixed it, but then I tried again without it and it seems to work ok as well now
so I'm confused, maybe the window was opening underneath other windows (I'm on OSX)
I’m writing something that takes a map on the Clojure side, but needs to turn that into a Java object (for interop). Is it preferred to use (doto (ThatObject.) (.withX x) (.withY y))
, or proxy
? It seems like what proxy is built for
Consists in fact that slack company may just close the clojurians slack has it happens previously with other community
@lvh http://cemerick.com/2011/07/05/flowchart-for-choosing-the-right-clojure-type-definition-form/
yeah, doto is useful when the java side has expectations for a specific concrete type, and the source of truth for the data resides in that type. if you want to bridge some clojure data or functionality into java via specific java interfaces, use proxy or reify
@jasonjckn: #C0J5T38VB
jonahbenton: yeah, that’s what I thought. Thanks! I’ll write a bunch of tests with doto, then check if the proxy works
@lvh sure thing, good luck
When using varquotes to subvert ^:private
, is it preferred to deref the var, or call the var directly? (@#’my-ns/my-fn x y z)
and (#’my-ns/my-fn x y z)
both work. This is for a namespace testing that, hence why I want to subvert ^:private
)
@lvh my imperfect understanding is that @ in that case is a no-op
No need to deref when calling a function: https://groups.google.com/d/msg/clojure/mJqplAdt3TY/GjcWuXQzPKcJ https://groups.google.com/d/msg/clojure/Mi277rszUs0/G9Q0ua9nM1EJ
I’m using timbre and component. When I start the app inside nRepl, timber’s console println appender logs into my nrepl, rather than into the console repl where I started lein, which is really irritating. Is there a way to grab the console’s stdout, from nrepl, so I can log there instead?