blog

What I'm thinking about

Welcome to my blog! This is mostly a link blog, where I share links to articles and websites that I would otherwise share with my IRL friends. From time to time, I also write my own posts and longer-form entries. You can also subscribe to this blog in an RSS feed reader.

Here are the topics I tend to cover. → Click on a tag to see all the posts about that topic.


Why we are still using 88x31 buttons


🔗 a linked post to ultrasciencelabs.com » — originally shared here on

I suspect Netscape used 88x31 "sample" sized buttons to promote their "Now" rewards program and browser. But then they released "official" 88x32 buttons to registered rewards program participants. It would be a quick and easy way to verify if your site was using an "authorized" image.

But if all you wanted was a "Now" button or if you wanted to modify or remix it, well you'd just grab the unofficial 88x31 "sample" size buttons off the Netscape site and riff. And riff people did. I also suspect this usage guideline "No Alteration Allowed - The Netscape Now button must not be altered in ANY way. Do not shrink it; take it apart; change its proportions, color, or font; or otherwise alter it from the Netscape-supplied version." did little to discourage people and probably outright encouraged them just for spite - y'know because the Internet. By the end of the decade and well into the 2000's everyone used 88x31 buttons - from software giants like Microsoft, advertisers, media outlets, technology sites, to Geocities homesteaders - everybody.

This origin story (theory?) for the 88x31 button is wild.

I've been going through the hard drive which contains all my documents since... well, basically the beginning of my computing life, and I recently came across a bunch of old 88x31s that I used for various websites of mine.

Here they are for your amusement:

1.gif ralph 2.gif ralph.gif tu2.gif tu3.gif tu5.gif tu6.gif tu7.gif fc.gif phase1.gif boredboard.gif support 3.gif support3.gif support4.gif support5.gif

I don't care what you say: that "Tim's World" one still rules.

Continue to the full article


Caitlin Clark and Iowa find peace in the process


🔗 a linked post to espn.com » — originally shared here on

This profile is over a year old1, but it’s still delightful.

At a team meeting that season, when hurt feelings over Caitlin's lack of trust had come to the surface, it was Martin who rose to speak.

"I got something," she said.

The team fell silent.

"Everybody thinks they want to be Caitlin," she said. "I don't know if you want to be Caitlin."

The women knew immediately what she meant.

I’m inspired by Caitlin’s ability to succeed so spectacularly in public without losing herself.


  1. For the last few months, I’ve been reflexively avoiding the Instapaper app. This happens from time to time when I save a lofty, aspirational article which I’m afraid to take on. Now that I’m doing the work of weeding out my digital gardens, I’m much more comfortable with moving onto the next piece if the current one isn’t inspiring me. 

Continue to the full article


How to Kick Your Phone Addiction Using Stop-Smoking Techniques


🔗 a linked post to kottke.org » — originally shared here on

Carr notes that there is a huge disconnect between what we want and what we actually enjoy. They’re different neurological processes. That’s why you can desperately crave, for example, an entire blueberry cheesecake, but when you actually eat it, it’s only OK. Or why you often don’t feel like going out with your friends at all — it seems like kind of a hassle — but when you actually see them, you have an amazing time.

So Carr recommends working to really notice and internalise that disconnect. He tells smokers to pay attention to their next cigarette. It’s like mindfulness but for noticing the unpleasantness. How does it taste? Not, “how did you imagine it would taste when you were craving it,” but how does it actually taste? Does it smell nice? Do your hands smell nice? How do you feel — do you actually feel more relaxed, or do you feel worse?

I need to tell myself this, but with eating junk food.

Continue to the full article


At 9,000 Feet


🔗 a linked post to vimeo.com » — originally shared here on

Permaculture has three main ethics: care of people, care of the earth, and ‘fair share’, or re-investing surplus back into the first two.

We do a lot of caring for the earth, and what the interns have taught me is how we can actually care for people. And through doing that: find ways of re-investing in ourselves.

Continue to the full article


Things I Made Today While (Digital) Gardening and Vibe Coding

originally shared here on

I'm beginning the slow process of turning this blog into a digital garden, and on the whole, I'm working on cleaning up the digital messes that have been accumulating for decades.

Over the past year, I spent time almost every day going through my Plex library and my drives which contain nearly every saved file since I've used a computer and deciding what to do with them.

This process has had many fits and starts, which feels correct. In my day job, I don't get many "fits and starts" because I'm being paid to understand a task and deliver it. Pruning a digital garden gives me a chance to be a rookie again, where I can take steps in a direction and learn from my mistakes.

I figured it might be interesting to the IndieWeb to see some ways I'm pruning and using AI to seriously help me.


Previewing Winamp Skins

I have a handful of .wsz files on my drives, and at first glance, I could not remember what a .wsz file even did.

I asked Claude and it helpfully told me that they were Winamp skin files, which were essentially .zip files with a different extension, so I was able to dig around inside to see what they were.

Winamp skins contained a handful of .bmp files that used image spriting, a technique commonly used by devs to optimize memory usage. It's clever, but clever things are often inscrutable twenty years later.

So at first, I went to Claude and asked it to write me an app that took in a .wsz file and showed me what the overall theme looked like. Honestly? Not completely terrible results here for 3 minutes of vibe coding1:

Janky but passable display of a Winamp skin

It turned out that the themes I had on my machine were already represented in the Winamp Skin Museum, so thank god "Darth Maul vs. Ash Ketchem" is still being appreciated here in 2025.


Tagging moods for my favorite albums

I've been working on a way to display my music library on my site, and the basic layout I've been vibe coding for the past few days is here:

Screenshot of current layout for music library

You can see the live version of it here. It's kinda neat.

But as you can see on the screenshot, I show a list of an album's genres and styles and moods.

I am not extremely picky about these, but many of them are missing from services like MusicBrainz, so I decided to use Claude and ChatGPT to help me fill in the blanks.

I've got another 30 or so to go, but the page looks a lot better with something in there. I think I'll use this layout to help me consolidate or improve the tags later, which I guess makes it a win for having this layout in the first place.

Another improvement I'd like to make to this is being able to browse by mood. I'd love to have an interface where I am prompted about my general feeling at the moment and have it surface albums to complement that vibe.


  1. I define "vibe coding" as using an LLM to write almost all the code for a project with extremely minimal adjustments on my end. Sometimes, I feel like it's wasteful to vibe code "string change"-sized adjustments, so I will often make those changes in a text editor and, if I need to vibe code something larger, I provide the current file in its entirety and say "here is the most recent version of my code, you can forget anything you've written so far" so it can free up that out-of-date info from its context window. 


Why Anthropic’s Claude still hasn’t beaten Pokémon


🔗 a linked post to arstechnica.com » — originally shared here on

In some sense, it’s impressive that Claude can play Pokémon with any facility at all. When developing AI systems that find dominant strategies in games like Go and Dota 2, engineers generally start their algorithms off with deep knowledge of a game’s rules and/or basic strategies, as well as a reward function to guide them toward better performance. For Claude Plays Pokémon, though, project developer and Anthropic employee David Hershey says he started with an unmodified, generalized Claude model that wasn’t specifically trained or tuned to play Pokémon games in any way.

“This is purely the various other things that [Claude] understands about the world being used to point at video games,” Hershey told Ars. “So it has a sense of a Pokémon. If you go to claude.ai and ask about Pokémon, it knows what Pokémon is based on what it's read… If you ask, it'll tell you there's eight gym badges, it'll tell you the first one is Brock… it knows the broad structure.”

This is the camp I’m in with AI. Is it super human? Obviously not in this specific instance, but still, undeniably impressive that a large language model is able to get as far as it can.

Continue to the full article


Inside Danny McBride’s Low Country Comedy Commune


🔗 a linked post to gq.com » — originally shared here on

This whole profile got me very excited to watch the new season of Gemstones. Danny’s approach to life, while perhaps initially off-putting to us stodgy midwesterners, is one I’m choosing to adopt in my late thirties.

It would be a mistake, he continued, for the movie business to leave behind young people. He’d been thinking about his son, and the sort of content that appealed to him. “To him, a YouTube dude is a million times cooler than any actor that he might come across. And I look at him like, He’s right, man. These fucking guys are making shit with their friends, making tons of money. And they have no bosses. People want to see a future where they get to ball, they get to have fun, and they get to do it their way. And I wonder if the film industry conveys that to people anymore.”

I’m at Nickelodeon Resort this week, and they have a bunch of character meet and greet opportunities. One of which was the Ninja Turtles.

As we walked past, I holler at my son and said, “Look! There’s Mikey!”

Gus looked around with the biggest, most excited face you could imagine on a 5 year old, and hollered, “Where? Where?”

I pointed directly at Mikey and said, “Right there!” How could he miss him?

Then, with a dejected tone, he says, “Dad, that’s just Michelangelo. That’s not Mikey.”

Mikey, to him, is not a ninja turtle. It is one half of the popular YouTube gamers Mikey and JJ.

Continue to the full article


Refactoring to understand and "vibe coding"


🔗 a linked post to seangoedecke.com » — originally shared here on

If you want to onboard someone onto a new codebase, let them rewrite part of it. They’ll learn a lot from the process, but crucially they’ll become an instant subject-matter expert on the part they rewrote. With a few refactors, you can go from a situation where you’re the only go-to engineer to a situation where multiple engineers on the team can take ownership. That’s the only sustainable way to run a large codebase.

This is exactly what I’ve been doing at work for the last six months, and now I’m the subject matter expert on a small number of essential components of the system.

These sneaky buggers… 😂

Continue to the full article


Jon Batiste Hears Chappell Roan For The First Time


🔗 a linked post to youtu.be » — originally shared here on

Watching Jon Batiste improvise over a song he’s never heard before is magical. If you need a shot of pure joy in the arm today, give this a watch.


Taking Breaks from the News is Not a Moral Failure


🔗 a linked post to mysweetdumbbrain.substack.com » — originally shared here on

Journalism has long been in crisis. Business models are broken. Trust is eroding. And recently, there’s been a notable uptick in news avoidance. Worldwide, nearly four in 10 people say they sometimes or often avoid the news, according to the latest research from the Reuters Institute.

As much as I care about journalism’s survival — it’s an industry I work in and believe is crucial to a functioning society — I can’t blame people for stepping back. I’m one of them. And I no longer feel guilty about it.

One lesson I hope our generation learns is that it’s okay to step back and let the younger ones step up. They’ve got boundless energy and are smart.

Recover, regroup, and when you’re ready, you can rejoin the fight.

Continue to the full article