Coupling is a Tradeoff

June 08, 2022

Coupling is usually described as something intrinsic: code is either coupled or not. But Kent Beck argues that it is always with respect to a particular change. What does that mean for us?

Zettelkasten from "How to take Smart Notes"

April 16, 2022

A review and summary of 'How to take Smart Notes' and the Zettelkasten process described within. I think of it as purposeful note-taking, used to generate ideas for writing or content creation.

Why use Polymorphism in OOP?

March 20, 2022

Polymorphism in Object-Oriented Programming, while abstract, is still somewhat easy to understand. Why we should use it, though, is less obvious. Let's investigate polymorphism's benefits!

A 1972 paper and the Single Responsibility Principle

February 28, 2022

While trying to explain the Single Responsibility Principle, it's originator calls attention to the paper 'On the Criteria To Be Used in Decomposing Systems into Modules'. Why was this paper so significant? Let's find out!

Reading a Ruby gem with VSCode

February 15, 2022

Steps to try when investigating a gem's implementation in VSCode, using mocha's any_instance as an example.

My Learning Workflow for 2022

December 31, 2021

A walk through my current learning workflow before diving into the thinking and frameworks behind it.

Don’t give up on your Rails Generators!

March 14, 2021

Most devs quickly stop using Rail's built-in generators. This is a pity, as generators can help improve team productivity - we just need to tweak them. In this post, we'll explore customising the rake task generator.

First Steps into Open Source

May 06, 2020

Charting my first few open source contributions. If you're looking to contribute, I hope this helps!


By Nick, a Business grad turned Software Engineer, living in sunny 🇸🇬. I write mostly about Ruby and Rails, not wasabi (sorry!).