I'm Carin Meier, ask me anything!

ama

#21

I think the necessary tools are evolving. There’s been fantastic work like https://github.com/MastodonC/kixi.stats and others to develop our own Clojure libraries and as Data Science becomes more and more mainstream, there will be more and more efforts to develop them for the JVM and we, as Clojurists, can leverage that.

Graal is a really intriguing direction but is still a ways off. But again, the JVM lets us take advantage of any advances there too.

The pragmatic aspect of Clojure is very nice.


#22

Hi Carin,

I really enjoyed your book “Living Clojure” as it is a succinct introduction to Clojure (I read it twice). Are there any plans for a second edition incorporating newer language features?


#23

I haven’t really tried to do that myself, but here are a couple possibilities:

https://github.com/jtablesaw/tablesaw - It’s a Java library that claims to be panda-like.

You can load a 500,000,000 row, 4 column csv file (35GB on disk) entirely into about 10 GB of memory. If it’s in Tablesaw’s .saw format, you can load it in 22 seconds. You can query that table in 1-2 ms: fast enough to use as a cache for a Web app.

BTW, those numbers were achieved on a laptop.

I haven’t tried it, but it certainly sounds promising :slight_smile:

The other thing might be to consider using Datomic instead of SQL. You might be better able to explore the datasets with a datalog query.


#24

Awesome! Glad you enjoyed it.

There are no plans for an updated edition, but there is another beginner Clojure book with updated features just about to come out. Russ Olsen is very close to shipping “Getting Clojure” twitter announcement. He’s a fantastic writer and the author of my favorite Ruby book Eloquent Ruby - so keep a lookout for it.


#25

Genetic Programming/ Algorithms are very cool. They are being combined lately with other technologies like Deep Learning with great success, like this one that uses it to evolve Deep Learning networks https://github.com/joeddav/devol.

As far as getting into them, I started out with a book a few years ago called Programming Collective Intelligence that gave a brief overview of genetic algorithms with some examples. In the end, I learned the most when trying to implement it myself with a project to evolve specs for data https://github.com/gigasquid/genetic-programming-spec.

Other resources:

There’s tons of other great blog post introductions on it too. I would just pick one that you find interesting and try to implement it yourself and let your inspiration take it from there :slight_smile:


#26

Signing off for tonight. Feel free to post any more questions and I’ll answer them in the morning.

Thanks again. It’s been fun :smile:


#27

Hi Carin,

Thanks for doing the AMA!

I would like to know what your preferred approaches and libraries are for plotting when doing DataScience or MachineLearning work in Clojure. Not so much for publishing but rather for plots during model building and evaluation.


#28

I haven’t really used much plotting right now in what I’m doing, but I was going to dive into it, I would most likely look at a couple of libraries that I’ve heard people speak highly of:

  • Geom-Viz - Again part of the great th-ng repo
  • Jutsu - which uses Plotly

#29

Thanks everyone! This has been wonderful. Thanks @martinklepsch and @plexus for arranging it. It was great talking to everyone and I’ll see you around the Clojureverse :slight_smile:


#30