Simple Complexity

As computer engineers we aim to make things simple. Recently I’ve started to notice something which I have been calling simple complexity, which manifests over and over again in new frameworks, approaches and designs. Im not sure what drives this, somehow it seems that driven by the desire to produce less lines of code or embrace the latest ideas without thinking, but it manifests like this:


Really? I mean, take a look at that class name. Maybe its just me but in the effort to make things simple, has it not become something hugely complex? Simple complexity at its finest.

Maybe this sums it up. Maybe its not the wrong design, the wrong decision, but I just wonder…


Setting up OS X for Clojure Development

Developing in clojure is an absolute pleasure, however setting it up is rarely as easy. In this guide I will take you through the steps to get OS X up and running with Clojure and Leiningen (the Clojure build system).

Install Macports

Macports is a great package manager for OS X, it has all you need to get up and running. Install Macports from hereĀ

Install Clojure

To install clojure you need to run this as root:

sudo port -R install clojure

When you run that you will be asked for your password, after that it will automatically install. The -R will upgrade any dependencies too, just to keep things tidy.

Install Leiningen

Leiningen is the build tool for clojure, like maven is for java. In fact it even plays nicely with maven! Install it as such:

sudo port -R install leiningen

Once its installed it comes with a 2nd step you need to run:

lein self-install

Test your work

After which you are done. We’re going to test this by creating a new project using leiningen and proving the template tests fail as they are designed to do.

lein new testing
cd testing
lein test

If you see the line:

FAIL in (replace-me) (core.clj:6)

Then you have a working setup, welcome to the world of clojure!

Commitment to blogging

Over the past few years I’ve had a blog in one form or another, but I’ve never really commited to it. Yes I wrote the odd article, yes I jotted some ideas down, but never really gave it enough effort to do so consistently.

Well, that’s about to change. Its time I started working on this more seriously and giving a lot more back.

More to come.