One year of keeping a tada list

one-year-of-keeping-a-tada-list

A tada list, or to-done list, is where you write out what you accomplished each day. It’s supposed to make you focus on things you’ve completed instead of focusing on how much you still need to do. Here is what my tada lists look like: I have a page for every month. Every day, I […]

Animating Quines for Larva Labs

animating-quines-for-larva-labs

“Quine” by Larva Labs A couple months ago, when I was first planning to go independent again, I ran into my friend, John Watkinson, on the walk home from my studio. John is half of Larva Labs along with my good friend, Matt Hall, and they’re responsible for industry-defining projects, like CryptoPunks and Autoglyphs. I […]

Project Vend: Phase Two

project-vend:-phase-two

In June, we revealed that we’d set up a small shop in our San Francisco office lunchroom, run by an AI shopkeeper. It was part of Project Vend, a free-form experiment exploring how well AIs could do on complex, real-world tasks. Alas, the shopkeeper—a modified version of Claude we named “Claudius”—did not do particularly well. […]

Tachyon: High frequency statistical sampling profiler

tachyon:-high-frequency-statistical-sampling-profiler

The profiling.sampling module, named Tachyon, provides statistical profiling of Python programs through periodic stack sampling. Tachyon can run scripts directly or attach to any running Python process without requiring code changes or restarts. Because sampling occurs externally to the target process, overhead is virtually zero, making Tachyon suitable for both development and production environments. What […]

If You Don’t Design Your Career, Someone Else Will

if-you-don’t-design-your-career,-someone-else-will

A client once responded to one of my questions by saying, “Oh Greg, I am too busy living to think about life!” His off-the-cuff comment named a trap all of us fall into sometimes. In just one example, it is easy to become so consumed in our careers we fail to really think about our careers. To avoid this […]

A year of vibes

a-year-of-vibes

written on December 22, 2025 2025 draws to a close and it’s been quite a year. Around this time last year, I wrote a post that reflected on my life. Had I written about programming, it might have aged badly, as 2025 has been a year like no other for my profession. 2025 Was Different […]

The Inner-Platform Effect (2006)

the-inner-platform-effect-(2006)

I’m sure that a lot of you have may heard about ”antipatterns.” They’re more or less the converse of ”software design patterns” in that they describe a frequently repeated problem in designing a commonly-occurring solution. I’ve observed quite of a few of these antipatterns in the real world, but noticed that one particularly egregious (though, […]

The ancient monuments saluting the winter solstice

the-ancient-monuments-saluting-the-winter-solstice

Alamy We will probably never know the specific beliefs and rituals that inspired Maeshowe tomb. But it’s nonetheless possible to understand the enormous significance of the winter solstice as the ”year’s midnight”, both as the darkest moment in the calendar and the pivot to six future months of greater illumination. It was a moment of […]

Inverse Parentheses

Have you ever noticed that lots of programming languages let you use parentheses to group operands, but none use them to ungroup them? No? Well let’s pretend this is a normal thing to be thinking about, and see what we can do about it. Grouping with parentheses is relatively easy to add to a language […]