Stop Using Pie-Charts

What’s Wrong With Pie ChartsHumans have a hard time comparing areas. Try it for yourself: Which slice is the largest? Which is the smallest?Can you... | Continue reading


@earthly.dev | 2 years ago

The Canary Deployment Strategy and When to Use It

As you’re building your application, you want to ensure that your customers have a bug-free user experience as much as possible. Since bugs show up... | Continue reading


@earthly.dev | 2 years ago

Show HN: Earthly v0.6

We are pleased to announce the release of Earthly v0.6 - our 80th release to date! This version promotes a number of features from Experimental, or... | Continue reading


@earthly.dev | 2 years ago

Using Awk with CSV Files

When the AWK tutorial came out, one of the questions on hacker news was how you use AWK with CSV (comma-separated value) files.The thing that preve... | Continue reading


@earthly.dev | 2 years ago

Career Advice: Be Confidently Uncertain

“OH GAWD”Around the time of the subprime mortgage collapse, I was working in an enterprise software company. I worked in a large open space full of... | Continue reading


@earthly.dev | 2 years ago

Understanding Awk

It turns out Awk is pretty simple. It has only a couple of conventions and only a small amount of syntax. It’s straightforward to learn, and once y... | Continue reading


@earthly.dev | 2 years ago

An Introduction to JQ

In this article, I’m going to go over the basics building blocks of jq in enough depth that you will be able to understand how jq works. | Continue reading


@earthly.dev | 2 years ago

Idiots and Maniacs

ObservabilityIf you do software-as-a-service development and you have paying customers, you at some point learn about the need for operational moni... | Continue reading


@earthly.dev | 2 years ago

Command Line Tools for Productive Programmers

Lately, I’ve been doing a lot more things at the command line. I’m not a hard-core terminal guy – I use VSCode more than Vim – but I’m always surpr... | Continue reading


@earthly.dev | 2 years ago

Beating TimSort at Merging

Here is a problem. You are tasked with improving the hot loop of a Python program: maybe it is an in-memory sequential index of some sort. The slow part is the updating, where you are adding a new sorted list of items to the already sorted index. You need to combine two sorted li … | Continue reading


@earthly.dev | 2 years ago

Show HN: Earthly – Better Builds

Continue reading


@earthly.dev | 2 years ago

SQL Errors and Video Cameras

Continue reading


@earthly.dev | 2 years ago

Git branching strategies and the Greek revival

Some modern development practices are easiest to understand from a historical perspective: things started a certain way, and then steps were added or removed as conditions changed. Git branching, for example, is like that. | Continue reading


@earthly.dev | 2 years ago

Don’t Feed the Thought Leaders

Here is a somewhat fictionalized personal story. I’ve changed the names of the people and the technology used. | Continue reading


@earthly.dev | 2 years ago

Why Is JRuby Slow?

Recently, I made some contributions to the continuous integration process for Jekyll. Jekyll is a static site generator created by GitHub and written in Ruby, and it uses Earthly and GitHub Actions to test that it works with Ruby 2.5, 2.7, 3.0, and JRuby. | Continue reading


@earthly.dev | 2 years ago

Green vs. Brown Programming Languages

I’ve noticed something interesting about the types of programming languages people like. It’s something that doesn’t seem to come up in various discussions of programming language preferences. | Continue reading


@earthly.dev | 3 years ago