Some thoughts on clojure.spec

Posted on 14 Jun 2016

Some of the readers of my Beyond Clojure blog series have asked about my opinion on clojure.spec, and if it solves Clojure’s ‘type problem’. Implying whether its presence makes me look more favorably on Clojure. Here are some of my thoughts.

Read More

Beyond ClojureScript: Elm

Posted on 03 May 2016

This is a post in the Beyond Clojure blog series, in which a Clojure developer looks at typed languages for web app development. In this episode we look at front-end development in the language Elm.

Front end development targeting web browsers is a ghetto, everybody seems to agree. The core tools at our disposal are the amalgamation of ideas and accidents thrown together without much overall strategy. One positive development in recent years has been the drastic improvement of the JavaScript (JS) engines in popular browsers. They have now gotten so good that its a valid option to treat JS as a compilation target. This fact is one of the drivers behind the explosion of JS transpilers, there are now literally hundreds of languages that (either primarily or as an after-though) can compile to JS. These languages range from light syntax improvements (ala CoffeScript) to full blown languages with big runtimes and everything in between.

Read More

Beyond Clojure: Haskell

Posted on 21 Apr 2016

This is a post in the Beyond Clojure blog series, in which a Clojure developer looks at typed languages for web app development. This is by no means a complete survey of the Haskell web development landscape, rather a random collection of thoughts.

If you are interested in typed functional languages one stands taller than the rest. Its impossible not to get sucked into the Haskell vortex, but why fight it? In spite of its reputation of being extremely hard to learn and even harder to master, there are several excellent resources out there and you are guaranteed to learn a lots of very valuable lessons.

Read More

Beyond Clojure: Prelude

Posted on 19 Apr 2016

Here we are, after five years of learning and later doing Clojure full time, I’ve come to the point where I am seriously looking around for alternatives. I’ve gotten very comfortable working in Clojure, and it has and will continue to serve me very well. But getting comfortable has a flip-side, you stop caring.

Read More

Enable gzip with Ring and Jetty

Posted on 04 Oct 2015

Read More

Datomic Do's and Don'ts

Posted on 03 Jun 2015

I recently tried to use Datomic in anger in a project, here are some things I learned.

Read More

Software archaeology, hunting bugs in Emacs

Posted on 18 Mar 2015

By reading the title of this post you might think this entry is about using some clever Emacs skills to find bugs in old software. But no, it’s actually about hunting down bugs in Emacs itself (which incidentally happens to be very old software).

Read More

Moving my devboxes to Docker

Posted on 22 Feb 2015

I’ve been quite vocal about my opinions on development environments and automating the creation of them on this blog and elsewhere. Boiling it down to the 2 points I feel most strongly about it would be;

  1. Always develop in a production-like environment
  2. Automate the creation of these environments
Read More

Clojure and Emacs without Cider redux

Posted on 14 Feb 2015

Its been a couple of months since I’ve stopped using Cider for Clojure development in Emacs. I find a simple ‘inferior lisp’ setup faster and more reliable. For a good summary of why one would consider not using Cider, see Luke VanderHart’s excellent summary.

Read More

Developing Clojure in the Cloud

Posted on 04 Dec 2014

Recently I gave a talk at the Clojure eXchange 2014 titled ‘Developing Clojure in the Cloud’. I described a way of creating and using (Clojure) development environments inside VMs, I’ve been developing like this for the last year (spanning 2 projects).

Read More
Blog Archive