







In his classic Programming Perl — affectionately known to a generation of technologists as "the Camel Book" — Larry Wall famously wrote of the three virtues of a programmer as laziness, impatience, and hubris: If we’re going to talk about good software design, we have to talk about Laziness, Impatience, and Hubris, the basis of good software design. We’ve all fallen into the trap of using cut-and-paste when we should have defined a higher-level abstraction, if only just a loop or subroutine. To be sure, some folks have gone to the opposite extreme of defining ever-growing mounds of higher level abstractions when they should have used cut-and-paste. Generally, though, most of us need to think about using more abstraction rather than less.
Laziness, Impatience, and Hubris · Adam Jacob
How Larry Wall's virtues of a Perl programmer inspire me in this era of engineering

A quote from Andrew Quinn
One could say in the first quarter-century of my life, that while I was always fascinated by programming, I could never overcome the guilt of not really knowing whether the …
Tiling Is the Missing Abstraction in Graphics Programming
A software engineer’s playbook for tiling: scheduling, threadgroups, and the small decisions that make performance predictable.

Its Time for a New Programming Language
Today, when compared to any other point in programming history, we find ourselves spoiled for choice when it comes to programming…


The Optimization Trap: Why Too Much Efficiency Makes Us Fragile with Olivier Hamant
Small Programming Tricks
A lot of effective engineering comes from the accumulation of small nuggets of knowledge.
Slim Lim: "Concrete syntax matters, actually"
Understanding is the new bottleneck
Agents can write code faster than we can absorb it. Here's why it still matters for humans to understand what they build — and some techniques for doing that efficiently: explainer docs, quizzes, micro-worlds, and shared spaces.

Understanding is the new bottleneck
Agents can write code faster than we can absorb it. Here's why it still matters for humans to understand what they build — and some techniques for doing that efficiently: explainer docs, quizzes, micro-worlds, and shared spaces.

Understanding is the new bottleneck
Agents can write code faster than we can absorb it. Here's why it still matters for humans to understand what they build — and some techniques for doing that efficiently: explainer docs, quizzes, micro-worlds, and shared spaces.

Modeling Software With Quint - Zicklag's Leaflets
I believe having good abstractions is key to writing good code. But as a coder, I often write code in an effort to find those abstractions…
Sung Kim (@sungkim.bsky.social)
I like this quote on code review: "The idea that humans will reliably look through code to find the increasingly rare issues that automated tools miss seems like a fantasy." By Marc Brooker, AWS.
We should rethink how we teach people to code | deadSimpleTech
It's fair to say that the tech industry at the moment is not in a good place. Software engineers tend to be detached, demotivated and unwilling to care much about the work they're doing beyond their paycheck. Code quality is poor on the whole, made worse by the current spate of vibe coding and whatever other febrile ideas come out of Sam Altman's brain. Much of the software that we write is either useless or actively hurts people. And the talented, creative people that we most need in the industry are pushed to the margins of it.

The Gap Through Which We Praise the Machine
My current theory of agentic programming: people are amazing at adapting the tools they're given and totally underestimate the extent to which they do it, and the amount of skill we build doing that is an incidental consequence of how badly the tools are designed.

Satisficing and the Use of Keyboard Shortcuts: Being Good Enough Is Enough?
Keyboard shortcuts are generally accepted as the most efficient method for issuing commands, but previous research has suggested that many people do not use them. In this study we investigate the use of keyboard shortcuts further and explore reasons why they are underutilized by users. In Experiment 1, we establish two baseline findings: (1) people infrequently use keyboard shortcuts and (2) lack of knowledge of keyboard shortcuts cannot fully account for the low frequency of use. In Experiments 2 and 3, we furthermore establish that (3) even when put under time pressure users often fail to select those methods they themselves believe to be fastest and (4) the frequency of use of keyboard shortcuts can be increased by a tool that assists users learning keyboard shortcuts. We discuss how the theoretical notion of ‘satisficing’, adopted from economic and cognitive theory, can explain our results.