This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-06-01
Channels
- # beginners (133)
- # boot (59)
- # cider (5)
- # cljs-dev (30)
- # cljsrn (23)
- # clojure (212)
- # clojure-austin (3)
- # clojure-brasil (1)
- # clojure-chicago (5)
- # clojure-italy (10)
- # clojure-russia (5)
- # clojure-serbia (1)
- # clojure-spec (34)
- # clojure-turkiye (2)
- # clojure-uk (132)
- # clojurescript (163)
- # clojutre (1)
- # cursive (5)
- # datomic (58)
- # emacs (42)
- # events (1)
- # graphql (26)
- # hoplon (16)
- # jobs (1)
- # lumo (27)
- # numerical-computing (3)
- # off-topic (127)
- # om (9)
- # onyx (24)
- # re-frame (20)
- # reagent (20)
- # ring-swagger (14)
- # sql (19)
- # unrepl (28)
- # untangled (3)
- # vim (8)
- # yada (17)
my understanding is that you can only watch the iPlayer outside of the UK when you go through a proxy which is in the UK. never tried it myself though
Morning
^ a greeting with rotational symmetry of degree 2
@thomas imho putting some effort into understanding monads is well worth it - they essentially give you a common pattern to structure functional code in order to achieve pluggable evaluation behaviour
once you have grokked the monad 'pattern' then any monadic code becomes easy to read, without getting tangled up with the complexities of the particular evaluation behaviour (either, promises, i/o, state, continuations etc)
so you get to the essence of the code more quickly, and also get to rely on well tested evaluation strategies
@mccraigmccraig I'll add it to my ever increasing list of things to do... I ordered a new camera yesterday... so I suspect that is where a lot of my time in the new future will go.
yw 🙂 it took me ages to get around to grokking them - in the end all those blog posts didn't help very much - just writing a little code did the trick
I think it was brian marick (?) saying something like that. (in order to learn about Monads --> write about them)
@yogidevbear it was a great talk by James Reeves last night. In a nutshell he described Clojure by first talking about edn. Edn is a better version of Json & Clojure is edn + eval. James also had a nice analogy for simple made easy, using a twisted road that you have to put barriers around, whereas in Clojure you would just build a straight road. Main points were that immutable data + pure functions make code simpler to reason about. This is very valuable as it's the human element that is the harder aspect of scaling your code. The talk was recorded, so hopefully should be up in the next day or two.
@jr0cket 👍 thank you
No problem, see you tonight
That's awesome. I'll be sure to give it a watch
Turns out my talk proposal was accepted!
Looks like I might be taking you up on that offer to test pilot my talk, @jr0cket
I think James' talk was definitely conference keynote quality...
it's a greeting with degree 2 rotational symmetry @thomas !
no, 'covfefe' is the fumbled mistake of an overbearing fool
Wow! 10k members and counting
can you feel the overbearing edge of slack's damoclean sword yet @yogidevbear ?
Well, I did sign up to the Discord group when I heard some chatter 😉
(I have to say I quite like slack. certainly better than Hipchat which we use here at work)
I had a few issues with Discord when I last used it. It didn't feel very polished to me.
I've only got the mobile app at the moment and it definitely feels less polished to me than slack
and here for some interesting news: https://www.theguardian.com/politics/2017/jun/01/nigel-farage-is-person-of-interest-in-fbi-investigation-into-trump-and-russia
thomas: > he was seen on 9 March leaving the Ecuadorian embassy where Assange has lived for years Putting it a little lightly..
Nigel Farage in questionable associations shocker... I am in no way surprised, put it that way.
Just back on-topic for a sec... If I've got my SQL db "stuff" (yesql) in a separate namespace, will I need to wrap it up as a component to have it updated by (reset) after adding new queries to the query file?
https://clojuredocs.org/clojure.core/find seems useful. Can't think why :thinking_face:
i've always used https://clojuredocs.org/clojure.core/contains_q for that
boot.user=> (when-let [[_ v] (find {:a 1} :a)] (+ v 1))
2
boot.user=> (when-let [[_ v] (find {:b 1} :a)] (+ v 1))
nil
My approval!lol @dominicm here's my example i was just about to paste
(when-let [[k v] (find {:foo 100} :foo)] [k v])
Unless find
works on inherited keys, don't know that I'd ever use the k in this destructuring
@maleghast refresh tracking is done by looking at clojure files. There's no known dependency between the clj file & those sql files.
Right, but if I make the whole namespace a component then (reset) would re-load it, right, thereby re-running (defqueries ...) ?
If the component ran defqueries, that should work, yeah. Not considered idiomatic afaik, but appropriate here I think 🙂
@minimal yours is basically where I found it actually: https://github.com/clojure/tools.nrepl/blob/c14eaa89dbb750e230530afd267cd53fdd486c51/src/main/clojure/clojure/tools/nrepl/middleware/pr_values.clj#L30-L37
@dominicm - Thanks; that's what I am going to do in that case, 'cos restarting the entire app from cold every time I add a new SQL query is going to REALLY annoy me 😉
Some people get upset about modifying code in response to developer happiness ¯\(ツ)/¯
(reset-all) did the trick actually, so I am not going to component-ise the sql-db namespace. Thanks!
@maleghast No problem 🙂
I am re-discovering my love for yesql and Clojure as a language for "doing stuff" with PostgreSQL - so nice...
(I still like Datomic too, but this is like a nice bowl of homemade soup, you know, familiar and comforting 😉 )
Looks interesting... I am going to stick with "what I know" right now__, but I will definitely have a poke at this soon. Thanks @dominicm 🙂
I've been thinking up something, kinda like an in the middle of gorilla repl & protorepl. Issues with gorilla repl: - Must start the nrepl, makes it harder to plug with everything else - Doesn't work with boot - Clojurescript is now a big thing, which gives lots of oppurtunity to do live graphs I'm thinking of a gorilla repl, where you could integrate your editor, e.g. a cider-eval-code–like thing that could send code to thisthing. & It would visualize it for you, very similar to how protorepl does, but it should work with any editor (yay!). I also want the interactive repl, so that should be a feature too, but I might make these two features one & the same. Feedback, thoughts?
@dominicm sounds cool, if you have the time to dedicate to building this tool, go for it! Maybe also mention it at your talk?
are you suggesting something that visualises code?
@peterwestmacott It could do :thinking_face: I think protoREPL had a feature like that, it could visualize function calls from a function so you could see a graph of that for example.
I don’t think I quite ‘get’ what you’re describing
perhaps if I had played with Gorilla REPL and protoREPL I would understand
I have seen that previously
but thank you
I’ve occassionally been lurking on #unrepl - it all sounds super interesting but I still have no idea what anyone is talking about.
@peterwestmacott essentially Gorilla REPL, but with the ability to send code from vim/emacs into it directly.
ah - well that sounds useful
(or it will once I get around to learning emacs)
@peterwestmacott what do you use? 🙂
cursive
I’ve been meaning to learn something that is free for a while
and I’ve been meaning to write my own editor for a while too, but realistically….
Cursive is hard for me to know how hard it would be to customize. Being closed makes me think you might be a bit restricted unless Colin gives you a way to do some key mapping that does a modification of the code you send to the repl.
@otfrom It's pretty close tbh 🙂. The biggest value-add over that would be project integration. (Hmm, I'd like to view my onyx graph as I go)
That talk looks interesting, watching now. I might be able to latch on & safe myself a lot of effort 🙂
and there is the epic literate stuff in http://thi.ng
here is the elisp from that https://gist.github.com/jackrusher/26be42a5a60d0372c872161d81114784
In all honesty. When I build things, I feel obliged to make them hugely interoperable. https://github.com/SevereOverfl0w/clojure-check/ is such an example. CLI that happens to work quite well in Vim. I think it would hook into Emacs really easily.
I'm not going to lie. I got Org mode extricated from JUXT, partially because there was no way I was giving up Vim 😉 & I got into a big ol' deep path of interop.
I'm starting to notice that you should try and spend 5-10% more time on making something a little more open for re-use & extension. Wayland suffers from this compared to X. Wayland is a very targetted set of use cases, and ergo all the cool things people could do with X, is no longer possible. It won't affect most users, but it stops people from doing clever things which makes their lives significantly better. Same goes for Org mode vs Using Asciidoctor for organization-wide stuff. One is accessible from all editors, can even be parsed in Java, Ruby & Node.js programatically. By doing that, we've been able to build simple things like the training page on JUXT as a document, but even the profiles on JUXT are Asciidoc (admittedly a little empty right now, but the capability is all there). We index the attributes of those profiles in order to link your blogs to you & run a little search engine too. tl;dr Open for extension = Open for hacks. Silos stop you from doing cool stuff, even if it allows you to do stupid things too 🙂
surely you can still be a vim user and love org http://www.vim.org/scripts/script.php?script_id=3342
I mean, it mostly works. But Org changed their syntax again plus it's near impossible to parse Org syntax consistently.
Org is great for personal things. & It's my envy there. But I also don't tend to automate too much of my note taking & to-dos. I have automated remember the milk inputs though. By piping into a CLI & stuff that. Too much Unix in my bones I think 😛
Oh, I see how giraffe works, that's a neat way to pull it together. I could almost use that from Vim. Except no way to show a SVG :thinking_face: Nyaovim can do that though.
I liked the more bliki nature of planner mode. org doesn't quite do that. it is more about outlining than creating a web