This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-05-26
Channels
- # admin-announcements (2)
- # aws (1)
- # beginners (21)
- # boot (61)
- # cider (5)
- # cljs-dev (94)
- # cljsrn (35)
- # clojure (106)
- # clojure-austin (3)
- # clojure-belgium (1)
- # clojure-dev (4)
- # clojure-dusseldorf (9)
- # clojure-greece (2)
- # clojure-mexico (1)
- # clojure-russia (40)
- # clojure-spec (61)
- # clojure-uk (17)
- # clojurescript (151)
- # code-art (1)
- # component (7)
- # core-async (4)
- # cursive (1)
- # datomic (9)
- # dirac (55)
- # funcool (12)
- # hoplon (118)
- # incanter (12)
- # jobs (8)
- # juxt (1)
- # lein-figwheel (6)
- # mount (2)
- # off-topic (2)
- # om (76)
- # onyx (28)
- # other-lisps (1)
- # planck (7)
- # re-frame (9)
- # reagent (13)
- # ring-swagger (2)
- # specter (1)
- # yada (22)
would be convenient if there was an inclusive take-while, (take-while-inclusive (complement #{5}) (range)) => (0 1 2 3 4 5)
There is a ticket for that as take-until if you want to vote for it
hello peeps
what's a good book on clojure?
or where could I get a nice, long and detailed list of good cljure books?
@mariogintili: This was very helpful (and still is) for me - http://www.braveclojure.com
I was going to mention that as well 🙂 Haven’t read it myself, but would choose that book if I would start reading on Clojure now 🙂
@jasonbell is it hands-on?
I'm looking for some book that walks through implementing a full project
or something of the sort
or maybe multiple small projects?
OMG we just hit 6000 people
@mariogintili: I wouldn’t say a “full project” but it certainly gives you all the building blocks I can think of. If you want to learn from full projects then I would suggest looking at github repos. Mastodon C open source a lot of their projects, lots to learn from there - https://github.com/mastodonc - that’s where I learn 🙂
The O’Reilly books Clojure Programming and the Clojure Cookbook http://shop.oreilly.com/product/0636920013754.do http://shop.oreilly.com/product/0636920029786.do and if you’re heading into data science then Clojure for Data Science is excellent https://www.packtpub.com/big-data-and-business-intelligence/clojure-data-science
@jasonbell more like a one man startup 😂
but thanks
well I'm working as a senior full stack web developer
I know ruby and javascript
and I finished the clojure koans recently
i'm doing a course on machine learning...but they use python because of the jupyter notebook...which I think its fair
but ideally I'd use clojure for that
and I like the language so far
@mariogintili: <<more like a one man startup>> lol - if only you knew…. my boss will love that.
@mariogintili: I prefer doing machine learning stuff on Clojure, using Java libraries. Python is certainly good for it too though.
@mariogintili: it sounds like you’re going in the right direction, plus there’s plenty of great people here. good luck!
is the java ecosystem and developed as python's?
in the scope of machine learning
actually there is a kernel for clojure
I'll start there
thanks!
in case you guys are curious, I'm doing Udacity's ML course. I'm recording my notes here: https://github.com/mariogintili/machine-learnist/blob/master/chapters/001.md#about-artificial-intelligence 😄
Hi Everyone. The announcement of clojure.spec made me wonder whether test.check is useful for functions with side-effects or is it mostly for testing pure functions?
@acron, or just use StringerWriter directly (-> (java.io.StringWriter.) (.write "boom") str)
rather (-> (doto (java.io.StringWriter.) (.write "boom")) str)
so I'm working a web app with luminus, but my javascript (not using clojurescript right now) file seems to not update when I edit it. Any idea why that wouldn't work? Testing in Firefox and using Selmer for templates (that is what generates the javascript link)
Yo, had about enough of mutable class-based madness and I might be looking to try clojure, I'm curious on how long would it take to be proficient with it, and surpass the pet language and actually use it in a real job?
the biggest leap for me was thinking functionally (clojure was my first lisp). After that, it was a shorter time to really understand the impact of immutable data (and when to introduce mutable construcst instead)
Would love to hear your experiences just saying
I don't have a job where I can use it full-time nor do I live somewhere where that's a possibility so maybe someone in a larger city can speak to its professional opportunities
Anybody else wants to share an insight? 😄
Not exactly the same, but I jumped from javascript to clojurescript and felt like writing clojurescript was easier after about 1 month
There are many resources available to help you become proficient in clojure quickly, this blog provides a great list: https://notamonadtutorial.com/how-to-earn-your-clojure-white-belt-7e7db68a71e5
similar experience to @chris-andrews After trying to write more functional javascript for node/frontend, Making the leap to clojure(script) I became pretty productive within a few weeks. The syntax is so simple that all you have to focus on is the thinking in a more functional manner.
I've read good things about Om Next, which is basically the next step of what i'm doing with React/Redux/Immutable
One of the reasons I'm interested in Clojure, but I will mainly use it for backend dev though
yeah I came from using React/Redux/Immutable and if you enjoy that architecture using something similar in clojurescript I find to be much more enjoyable
The hardest part for me was learning/configuring emacs for clojure development. There are plenty of other editor / IDE options out there, but personally I really wanted to go with emacs
I'd go with IntelliJ if I decide to jump in
yeah I stuck with my current editor but learning to use the repl effectively for development was a hurdle for me
A couple of things do scare me though, community support in forms of libraries and stuff, and tooling
Not so much for the functional thinking because I kinda have a background
Here is a hard one for you guys. I am running a piece of code stored in redis. This piece of code is evaled and executed at run time, but I need to use an external library (specifically clj-time). How can I use this library with code that is stored in redis and evaled and ran at run time?
Oh and eval
s #justkidding 😄
I couldn't help myself
Yeah the tooling has a big impact on how you pick things up
haha nice catch @blackxored
still not sure how to make this work
The cursive editor is built on IntelliJ, so I would think that would be a good resource for you
Yeah I already have it installed
@josh_tackett: try
(eval (str “(require '[clj-time.core :as t]) “ code-from-redis))
Thank you!
@josh_tackett: Just checking - did that successfully fix your issue?
will tell you tonight!
@mvaline: more enjoyable - really? I still prefer react/redux so far, I haven't been able to reproduce my level of productivity just yet. As far as Emacs goes, I just use Vim
@octo221: I tried IntelliJ, It didn't sink well with me so I went back to mother theresa - vim
@lewix: I use vim as well, since it was my preferred editor before. I definitely enjoy react/redux, but I enjoy reagent/re-frame more simply because its clojure and not JS. I wouldnt say I'm more productive (pretty close though), but definitely more enjoyable developer experience so far just because I find clojure easier to reason about the actual code.
@surreal.analysis: That did not work
"on-create": "(require '[clj-time.core :as t]) (fn [existing-data parsed-fields] (let [month (second (clojure.string/split (str (t/today) ) #\"-\")) day (last (clojure.string/split (str (t/today) ) #\"-\"))] (str month\"/\"day\"- \"(get parsed-fields \"Description\"))))",
What error messages are you getting? Any?
none, just not running the code
What are you expecting it to do? It’s just defining a function as far as I can tell
then run that function with arguments
((eval (read-string dependency-macro)) existing-data parsed-fields)
the string function in redis is the dependency macro
any other ideas @surreal.analysis ?
@josh_tackett: why do you need the actual code in redis, rather than something to tell you what code to run?
because if you store in redis then you can change redis on the fly without recompiling, and redeploying the code on the server
In general, I've found exec
ing code that comes from an external source to be a terrible design choice, especially if that code is not under version control or if it is supplied by users
@josh_tackett: I agree that in general, you should probably not be running the code from an external source. But if you still wanted to do that, you want to use the function load-string
instead of read-string
And then there’s no need to eval
user> ((load-string (str "(require '[clj-time.core :as time]) (fn [existing-data parsed-fields] (prn (time/now)) (prn existing-data))")) "any" "data")
#object[org.joda.time.DateTime 0x708bd528 "2016-05-26T21:36:54.610Z"]
“any”