I’ve thought for years in terms of two kinds of software quality: “internal” and “external” quality. The idea is that “internal” is essentially the stuff...more.
Two-factor authentication, or 2FA, provides extremely effective protection against account takeovers. But as SIM-swapping attacks have become more commonplace, more and more folks are starting...more.
Often, as well-meaning programming language enthusiasts, we might find ourselves encouraging newcomers with simplified descriptions of language features. There’s sometimes a tricky balance between explaining...more.
Microservices are a big deal. They can give us some pretty big wins for our architectures and teams, but microservices have plenty of costs too....more.
[Updated 2018-04-16] I was corrected on Twitter about how Event (async) invocation throttling behaves, and have updated this post accordingly in several places marked like...more.
You've probably heard the sales pitch for Clojure before. It's simple! It's scalable! It turns you into a genius who can machine-learn their way out...more.
I recently saw a terrific talk by Sandi Metz at the Abstractions conference where she encouraged the audience to learn to identify the concrete code...more.
The words "legacy code" strike fear into the hearts of developers everywhere. Behind that fear, legacy code means it's slow to understand existing behavior, slow...more.
strace is awesome [1] [2] [3]. It lets you see exactly what system calls are being made by your running application. Wondering what configuration files...more.
Unit tests that fail intermittently, without exposing any production bugs, are the worst. Like the boy who cried wolf, they reduce our confidence that they're...more.
Characters seem like an easy concept to grasp at first glance. , "Java"has a primitive type char and an object wrapper Character, and these are...more.
Primitive Obsession is bad stuff. But it's bad, not because primitives are bad, but because obsession is bad. From Merriam-Webster: ob-ses-sion, noun: a persistent disturbing...more.
Many Lisp beginners find quoting to be a foreign concept. My own confusions around quote and friends began with my first ventures into Scheme, and...more.
Lately I've been fascinated with the idea of logical fallacies, and especially problems in arguments that may at first glance seem reasonable. Now, clearly not...more.
Do you use validates_uniqueness_of in Rails? Do you feel confident that it works to prevent duplicate records? If you’re like most of us, you won’t...more.
We encountered a strange spec failure today in our continuous integration build. It’s a Rails project, we’re using RSpec, and this was the failing expectation...more.
Day 3 at Relevance began, as the previous days, with the company standup. Stuart Sierra, of clojure.test and Practical Clojure fame, was my pair for...more.
I’m honored, humbled and excited to represent 8th Light, Inc. on its most recent Craftsmanship Swap, with Relevance in Durham, North Carolina. I’d first heard...more.
Many of us have heard a lot of talk about functional programming and its benefits, especially when it comes to highly concurrent applications where thread...more.