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.

Dependencies

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 →

Clojure and ClojureScript testing with the Clojure CLI

09 March 2018

This post is sort of an extension of a previous post, Clojure projects from scratch. That will introduce you to structuring your project around a deps.edn file, here we're going to simply add a couple of dependencies that allow you to run your tests.

In a Leiningen project, lein test will execute your Clojure tests, no questions asked. In a Clojure CLI / deps.edn based project we have no such command, tests have to be executed by a custom built test runner script.

Continue reading →