Global Mutable State

January 06, 2016
Global mutable state is one of the biggest drivers of complexity in software systems. We tackle a definition and how to reduce our reliance on it.

How to Switch from the Imperative Mindset

December 12, 2015
Functional programming, from one perspective, is just a collection of habits that affect our programming. I've identified the cues for those habits and a routine for replacing imperative code with functional code.

Clojure + Ruby

December 03, 2015
If you're a Rubyist and you've heard some buzz about Clojure, these videos and links will be just for you. Rubyists teaching Clojure, Clojurists introducing Clojure to Ruby programmers, and Rubyists pontificating on Clojure.

2 Features of Clojure Editors Professionals Won't Do Without

November 28, 2015
Professional Clojure programmers rely on certain features of their editors to help them program. When choosing an editor, it's important to pick one that has these two important features: REPL integration and structural editing.

The 100 Most Used Clojure Expressions

November 14, 2015
Would you like to optimize your learning of Clojure? Would you like to focus on learning only the most useful parts of the language first? Take this lesson from second language learning: learn the expressions in order of frequency of use.

SOLID Principles in Clojure

November 09, 2015
The SOLID principles are guidelines for writing good Object-Oriented code. It turns out that these principles are followed and embodied in Clojure.

Where to find time to learn and practice Clojure

November 04, 2015
Learning any new language is a challenge, and Clojure is no different. Finding the time to learn and practice is a real challenge, so we need to make the most of what time we have. These tips will help you immerse yourself in Clojure.

Parens vs Brackets in Clojure

November 02, 2015
Clojure uses both parentheses and square brackets as part of its syntax. It might at first appear to be arbitrary, but it's actually systematic. What's more, it reveals one of the coolest things about Clojure: expressions define how they interpret their arguments.

clj-refactor cheatsheets

October 28, 2015
I've made some cheatsheets to help me learn clj-refactor, some Emacs software that helps you make systematic changes to code.

How to Read Clojure Code Like an Expert

October 14, 2015
As you get better with Clojure, it becomes easier to read. Why not jump ahead of the learning curve and read like an expert? Focus on the first thing, use the indentation, and read the evaluation order.