Bob Nadler, Jr. Bob Nadler, Jr.

Don't miss a post! Subscribe to my mailing list.

No spam, ever. Unsubscribe at any time.
Symbol of context

The Most Important Question A Commit Message Should Answer

Published almost 4 years ago 3 min read

(Note: I previously wrote this article for a blog that no longer exists, so I'm re-posting it here. I've updated a couple of the examples to use more recent ones.)

Many people have written about various guidelines for writing a good commit message...

Read more →

What's the Point of having a Stand-up Meeting?

Published about 4 years ago 2 min read

Over the years I've participated my fair share of daily stand-up meetings. The ones I hate the most are where someone (usually a manager) reads a list of tasks, asking about each one. These type of stand-up meetings tend to drag on for an hour or more...

Read more →

Workflow for Using Ruby Bumpversion

Published about 4 years ago 2 min read

A few years ago while working on a Python project for a client, I came across a tool called bumpversion. It was written in Python and was used to modify the version of a package before publishing. It used semver language, so the command bumpversion...

Read more →

Guidelines for Writing Commit Messages

Published over 4 years ago 2 min read

Many developers take the skill of writing a good commit messages for granted. It is an essential skill that requires discipline. While there are a variety of guidelines and opinions about writing them, I'm going to share my current preferences. These...

Read more →

Middleman, Shadow-CLJS and React

Published over 4 years ago 7 min read

A few months ago I wrote about integrating Middleman with Shadow-CLJS. Today I'm going to expand on that by showing you how to add React to the mix by making a simple BMI calculator from scratch. I'm not going to spend too much time explaining the...

Read more →
MSZ-008 Z II(rear booster #9)

Middleman Shadow-CLJS Project Template

Published over 4 years ago less than 1 min read

Awhile ago I wrote about how to set up Shadow-CLJS with Middleman. I finally got around to making a Middleman project template to ease the process of setting up Shadow-CLJS. The source is available on GitHub.

To use the template, you'll need to have...

Read more →
Running test suite on computer screen

Write the Assertion First

Published almost 5 years ago less than 1 min read

When writing automated tests (whether in a TDD fashion or otherwise) I find it helpful to write the assertion first, before any setup code. There are two main reasons I think it is helpful.

One, I think it's useful to begin with the end in mind. Writing...

Read more →
5 different coins in 5 different currency units (Japanese yen, Taiwanese dollar, Malaysian ringgit, US cent, Thai baht)

Formatting Currency in JavaScript

Published about 5 years ago less than 1 min read

The other day I needed to format some currency values in JavaScript. I remembered coming across Intl.NumberFormat a long time ago on another project, but browser support was sketchy. I looked up the most recent info on caniuse and thankfully almost...

Read more →
In the middle

ClojureScript with Middleman via Shadow-CLJS

Published about 5 years ago 6 min read

Ruby's Middleman is my preferred tool when I need to generate a static website. In this post I'm going to show you how to set up a Middleman project that uses ClojureScript instead of the default JavaScript or CoffeeScript that ships with Middleman...

Read more →
Pair of boots


Published over 5 years ago 7 min read


I’ve been playing around with Clojure and ClojureScript for awhile. So far I’ve always used Leiningen for managing dependencies and build tasks. I recently decided to give Boot a try. I needed to create a Boot task for compiling Selmer

Read more →