The Power of Clojure: Debugging

A common question we hear is "How do I use Clojure for real?" Not the language basics, but the practicalities of building software – questions like how to structure the project file tree and namespace hierarchy, how to write tests, or how to use the REPL. This article covers a general approach, three general strategies, and numerous specific techniques for debugging Clojure code in practice.

Read More
Ian Truslove
Microservice Madness

This is an op-ed piece referring to "The Death of Microservice Madness in 2018".

Let's call the reader’s attention to the section in the above article that lists some of the challenges with microservices. All too often, when people talk about why they have decided to move to microservices, they inevitability leave out the discussion of the cost. Let's take a look at a few of the most common costs people encounter.

Read More
Daniel Glauser
Why software projects slow down, and what to do about that.

Why do software projects seem to slow down the closer you get to completion? We think there are a number of reasons - perceptual, intrinsic, and organizational. What are they, and how can you counter them? All of these factors are expressed in terms of "cost" (whether that be money, complexity, or difficulty) and how that changes over time (or age or size of the project).

Read More
Ian Truslove
The best remote pairing setup

Yes, really, the best.

We are big fans of a remote-first approach, and (like many software teams) we practice pair programming, but this can be challenging in a distributed context. Our pairing setup uses Emacs (or Vim, or any other capable command line editor), tmux, and SSH tunnels. It works really well for us. If you are willing to place a few limitations on your dev environment, what you gain is a low latency pairing setup that works from anywhere in the world, where you can quickly switch off who is driving.

Read More
Ian Truslove
Automated testing for business owners: Designing your first automated test plan

This series of articles is for business owners and product managers with a small team of contract or full-time developers who build software products of all kinds, and who want to increase product quality, increase confidence in the product, and get time back from repetitive manual testing to focus on more important work. This article guides you through developing your first test automation plan. It will take you two to four hours to complete a plan based on the guidelines presented below.

Read More
Ian Truslove