the tortured artist
• 4 minutes • programming, cursedAI is optimized for stateless interactions. It can save some memories for the next session, but that isn't an identity. Nothing it goes through changes what it is. read more →
AI is optimized for stateless interactions. It can save some memories for the next session, but that isn't an identity. Nothing it goes through changes what it is. read more →
The method looks wrong: you burn dry pasta in a pan, then feed it sauce until it decides to cooperate. The technique rewards patience and a small appetite for ruin. Useful traits at the stove and elsewhere. read more →
My first AR-15 came in two halves, the complete upper and the complete lower. Then come the upgrades, and as you get more comfortable with the system the gun turns into the AR of Theseus. A build transformed piece by piece until none of the original remains. The problem with upgrading one part at a time is that every decision is locked into past ignorance. With that AR I saw mediocrity in my future and decided to start again from scratch. read more →
Toddler-proofing your home is really just acknowledging that you now share living space with a small, relentless chaos agent whose only mission is to find and exploit every vulnerability in your environment. These are the products that help you maintain the illusion of control. read more →
A photographer's holy trinity is the three lenses they will be buried with. You can cover a lot of ground with three lenses from a focal length perspective, or choose to completely disregard reason and become a bokeh whore while making some tough financial decisions. With that in mind, my weapon of choice is the Sony A7, which I won't be getting into for this article. If you know, you know. read more →
What is the marginal cost of happiness? Each new dependency, each build tool or abstraction, quietly claims a piece of your agency. These decisions are not free. Over time, the stack you build begins to shape the way you think. It narrows your options, calcifies your patterns, and it replaces expression with compliance. The more you add, the less you notice what has been lost. The code becomes a weight. At some point, you forget what you were trying to say. When is it enough? What is sick funny? read more →
Filling the empty void, or at least the space where my unused light switch used to be in the living room. I decided to yank it out and replace it with something more honest: an e-ink display embedded inside the switch box. Another screen in my life sounded like a good idea. Build first; provide purpose later. read more →
This project isn’t new. I built it almost a decade ago, a simple CLI tool to send my friends pennies through Venmo, each with an unsolicited cat fact. I wrote it mostly to amuse myself, and maybe irritate them a little. What surprised me is that it still works. The API hasn’t changed. The token still authenticates. The endpoints, still listening. read more →