Clojure socket prepl cookbook

22 March 2019

This post has been translated into Russian by Vlad at Softdroid.

The socket prepl is a relatively new tool built into Clojure that allows you to REPL into a running application. It's essentially a much simpler "official" approach to the problem that nREPL also happens to solve. If your current nREPL tooling is working well for you then congratulations, carry on, this post won't be of much use to you.

Continue reading →

Wake word detection with Clojure (or Java)

12 October 2018

Hello there, intrepid Clojurian. If you don't want to follow along with this post and just want to copy some code, go to Olical/clojure-wake-word-detection. Enjoy!

If you follow me on twitter or GitHub you've probably seen me working on Snowball, a voice activated Discord bot written in Clojure.

Continue reading →

Editing Clojure with Neovim

04 May 2018

I've used Spacemacs since I started working with Clojure a few years ago, it's an extremely powerful system on par with full IDEs such as Cursive. I highly recommend either of these tools to the budding Clojure(Script) developer, they will carry you as far as you need to go and beyond.

The reason I have drifted back to Vim (Neovim specifically) is because I never felt quite at home within Emacs, which Spacemacs is built upon. I wrote JavaScript (among other languages) in Vim for around five years before I began really studying Clojure. Vim and it's nuances are pretty deeply buried within my brain and muscle memory (if that's actually a thing).

Continue reading →

Clojure and ClojureScript tests on Travis

29 March 2018

As far as I can tell, there isn't a canonical way to run your Clojure(Script) tests on Travis through the Clojure CLI. I think it's slightly easier for those of you using lein, but here's how to do it with clj.


Continue reading →

Finding new dependencies with Depot

29 March 2018

If you're using lein you can use lein-ancient to find newer versions of your dependencies, if you're using boot you probably have something similar. With the Clojure CLI however you have to keep track of these things manually.

I've created a little tool called Depot that aims to give you this same new version detection for your deps.edn file. The README is probably enough to get you going but here's a little example anyway.

Continue reading →