Today I am continuing with 3 more useful function concepts: How to define functions, anonymous functions and using apply with functions
Saturday, September 05, 2020
#100DaysOfClojure (Day [6] Functions Continued)
Friday, September 04, 2020
#100DaysOfClojure (Day [5] Functions)
The excitement is building up, today I played with functions. A Clojure function has the following structure
Thursday, September 03, 2020
#100DaysOfClojure (Day [4] Basics)
Today I can dip my toes into the language itself. I will be looking at the some of the syntax and forms, Clojure refers to valid code as forms. Clojure has literals which consist of primitive data types, symbols and collections.
Wednesday, September 02, 2020
#100DaysOfClojure (Day [3] IntelliJ + Cursive)
With the wide variety of editors/ides available, it was a difficult decision to make. So how did I make this decision you ask? I made the decision based on the quality of the documentation and my familiarity with the editor. Hence I chose IntelliJ and the Cursive plugin. Cursive provide 3 licenses, personal, commercial and non-commercial. Since I am only using it to learn Clojure, I chose the non-commercial licence which is a free 6 month renewable licence.
Tuesday, September 01, 2020
#100DaysOfClojure : (+ Day [2] Tools)
Today was a busy and tiring day, so I decided to keep it light and explore the tools available for Clojure. The first tool of importance is Leiningen. It is a build automation and dependency management tool for the Clojure programming language written in Clojure itself. It integrates well with Maven repositories and the Clojars repository for Clojure libraries. On an Apple Mac you can install Leiningen very easily using homebrew.
- The ability to create projects
- Compile and package projects
- Run projects
- Run tests
- And more….
- Emacs with Cider plugin
- Atom with nrepl
- Cursive plugin for IntelliJ
- Nightcode
- Counterclockwise a plugin for Eclipse
- Vim with plugins
- Light table
- SublimeText with SublimeREPL
- Netbeans Clojure
- VS Code with Calva plugin
Monday, August 31, 2020
#100DaysOfClojure : (#Day [1] Intro)
Saturday, August 03, 2019
throw new InterruptedException()
Thursday, September 27, 2018
Stephen Colebourne's blog: Do not fall into Oracle's Java 11 trap
Monday, December 11, 2017
Thursday, June 08, 2017
Zen and Software Architecture
Tuesday, November 08, 2016
I Am A Failed Consultant
Wednesday, January 13, 2016
Book Review: Domain Driven Design

My rating: 5 of 5 stars
The author has distilled what most experienced object oriented designers typically do implicitly. The ideas are not new, but the author has created a ubiquitous language for describing the process more explicitly. It is well worth a read especially for aspiring architects.
View all my reviews
Wednesday, August 19, 2015
Deliverers vs Loyalists
The purpose of any software development project is working software and the technologies and processes are but just enablers and are secondary. They are useful in building and delivering software but are not ends in themselves.
Those focused on delivering quality software usually deliver successful software projects. They are the deliverers rather than the loyalists.