blog

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



Pure Independence


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

These Collab Fund blog posts are exceptionally dense with solid advice. I couldn’t find only one pull quote to attach to this post because there are way too many.

This article touches on independence in all of its forms (financial, moral, tribal, etm.), as well as the importance of pairing it with purpose.

Continue to the full article


Find Wikipedia Entries Near You That Are Missing An Image

originally shared here on

The very first app I ever built for iOS was an app where you could push a button and it would generate a random celebrity for you.

I used only images in Wikipedia, and at the time, the vast majority of quality images of celebrities were from people who went to a convention or premiere, snapped a bunch of photos of as many famous people as possible, and then uploaded them to the public domain.

These are unsung heroes, as far as I'm concerned.

I always admired these people and thought maybe one day I would contribute to Wikipedia in this way.

So I used ChatGPT 4o to whip up a script that allows a user to provide a set of geo-coordinates and it'll return a list of the closest Wikipedia entries which are missing photos.

Here's a link to the HTML that got spit out. Feel free to take the source code and modify it. Or feel free to look up your own geo-coordinates and give it a spin.

The next time you are out on a walk in your neighborhood and you come across a park that you recall is missing an image, you can pull out your phone, snap a photo of it, and take ten minutes to release it into the public domain so other dorks in the future can see what your neighborhood looks like.

And by the way: I know that if I didn't have a large language model, there's no chance I'd be sitting here at 11pm looking up API documentation to try and figure out how I would put this dumb idea to use. This is the power of LLMs, people. This blog post took roughly three times as long to write than the code that was written.

I did have to refine the output once, and there's clearly no great error handling, and some of the entries it returns do have a photo yadda yadda. I get it.

This isn't a tool that one uses to produce artisanal, well-crafted software that will stand the test of time.

This is a tool that, in roughly 5 minutes, empowered me with information that I can now use to make my community a tiny bit better.

That's what I love about technology.