The Hammer Hack

Who doesn’t love a hack?

A hack. A clever bit of knowledge that, when used, provides disproportionate return on investment. The fact that it costs you little to nothing to use and deploy a hack isn’t irrelevant. You understand the work involved in discovering and refining what others call a hack. You call it knowledge, and knowledge is processed experience.

That is part of the joy of a hack. It’s your relief that, whew, I don’t have to do all the work to enjoy the reward. Our ability to both create and share hacks is fundamental to our species. We share hacks as gifts in how we play and how we work.

Think about the first hammer. Someone somewhere, a very, very long time ago — probably accidentally — figured out that when you lashed a stone to the end of the stick, they suddenly could clobber the crap out of stuff. CLOBBER BASH WHACK. This is so much easier than hitting stuff with my hands…. hurts a whole lot less. Also, kind’a fun, right?

All this clobbering did not go unnoticed. Nearby others quickly recognized this exponential value of stone lashed to stick, figured out how to build one themselves, and commenced their own clobbering, bashing, and whacking. THIS IS FUN.

This is Fun

My current most productive Claude Code workflow for developing the randinrepose.com weblog — it’s a WordPress joint — involves a long-running Ghostty session:

I used to have Claude Code build scripts for me to perform tasks, but I realized scripts are actually a time-saver of the past. I can ask Claude Code to do many of the common activities, including: Google Analytics queries, theme tweaks, and plugin development and management. Yes, sometimes I build a script, but more often than not, my one-off requests are readily fulfilled by robots calling available APIs. Worth noting that Claude Code is frequently developing scripts on its own, but I’m mostly unaware of this.

Whenever I complete a task, I have the robots update a file called worklog.md. This Markdown file is a log of everything that I’ve done with the site since I started this process two months ago. This file is checked in along with everything else into GitHub.

Finally, and more recently, I’ve learned of claude.md, which is a markdown file Claude Code loads at the beginning of the session. This file is a home to core principles I want the robot to follow (Ask clarifying questions), critical dependencies in the project (I use external typefaces, they are slow, I understand and accept this), build and deployment reminders, known issues, readily available tools, and much more. Claude Code loads this at the beginning of the session and suddenly knows, well, all the hacks we’ve developed over the past two months.

Each of the prior three bullets is a result of the robots doing something frustrating. The primary issue is blowing away the context of what we’re working on and having to remind the robot of the hack. Yes, you can copy files to production. This is how. Yes, I know that performance is slower because of remotely loading fonts. Yes, we’ve already tried other approaches, and they didn’t perform.

It’s a series of hacks I’ve developed not only because I keep catching the robots in errors, but also because I deeply understand how software is developed. Robot mistakes look mostly like the mistakes we humans make, and I’ve made a career out of sniffing out and fixing mistakes big and small.

The Hammer Hack

Most of the initial reactions I’ve seen to the first use of AI are pure wonder. How did it know? How does it do it? If it can do this, what sorcery can it perform? Pure wonder is usually followed by terror, too. How did it know? How does it do it? If it can do this, what other sorcery can it perform?

Watching a robot do work you thought was the domain of we humans is wondrous and alarming. Watching someone with no experience build, draw, or create something via robots for the first time is a joy. Watching them attempt to finish that building, complete that drawing, or put a bow on the creation quickly devolves into a study in frustration. These previously delighted humans quickly realize they don’t have the language or the experience to explain their intent or their goals, so the robot hallucinates their intent. This turns into a frustrating communication pain spiral where the creator becomes increasingly frustrated, and the robot becomes increasingly unhelpful and apologetic.

There are two populations I see using the robots. An excited group of humans who believe these tools are going to magically build for them, even though these humans have no experience in this craft. Unless these humans take the time to understand how to build, the results will be incomplete or mediocre.

The other population knows a hammer doesn’t build anything for you; it just makes the act of building easier. Understanding the act of building doesn’t make your product good; it’s the experience of building and deeply understanding what you want to build that makes it great.