🎵 Christmas time is here. Happiness and cheer. Fun for all… that children call… their favorite time of year.

School’s out. The work laptop’s closed. Now is a good time to recount the vibes. I wanted to get out this vibecheck before embarking on the annual recap that way it’s less moodier than years prior.

Fixing my mood with music

Last vibe check I was super grumpy. Thankfully, I was able to start shaking off that cloud by fixing my mood with music. I am not kidding when I say I got to see three of my favorite bands in the span of a month.

the beths on stage

The first was my current favorite band The Beths. According to Spotify Wrapped I’m a Top 0.2% global fan. They came through Austin and played an incredible set at Emo’s. All the hits. I was enchanted for one evening.

Then a week or so later I saw my friend Richard’s band Heartswarm play at The Aristocrat. I have a lot of friends who play music and in a town like Austin I was feeling remorse for not enjoying that more at every chance I get.

Then, a couple nights later, I saw one of my all time favorite emo bands when Rainer Maria open for my other absolute most favorite (midwest) emo band Cap’n Jazz. The show was so great and the audience was an even 50/50 split between dads over 45 and queer kids under 21. What a cross-section of society! And because my friend Richard is friends with Mike Kinsella, I got to hang out with the him a bit. Cool dude and an honor to finally meet in person.

A couple weeks after that, I took my son and his friend to their first hardcore punk show featuring Dark Thoughts opening for Béton Armé. First time hearing all these bands but Dark Thoughts was awesome. Béton Armé had incredible energy. But the real surprise was Houston hardcore punk/ska band Liberty & Justice. Being from Houston I wondered if we knew similar people in the punk scene. I didn’t summon up enough courage to ask though because it’s been decades since I lived there, but after texting some friends back home I learned the lead singer is good friends with my old neighbor and grew up in the next town over. Small world.

Coding vibes

Despite a heavy workload at work and home projects piling up, I summoned some energy to work on some coding projects at night.

A tennis app for my wife

My wife likes to obsess over tennis scores and ratings; not limited to hers and the team she captains, but for anyone she knows in the United States. She was having trouble accessing the site she uses (tennisrecord.com) and I thought we were potentially IP-banned because she uses it so much. the app is kind of a terrible user experience… so why not try to make a good one?

One constraint I added to the project was that I had to vibe code it. Partly because that’s the approximate amount of spoons I had for this project, but also to practice wrangling these machines a bit better.

Vibe coding was –per usual– a rollercoaster. I told it what I wanted (a multi-page Vite app that uses Netlify functions to connect to the USTA API) and it seemed to like that. The agent generated a PRD.md. I read the PRD. It looked good. I made some edits. I ran the plan…

It did not follow the plan. It went off and scaffolded out the entire application and most of the views. While super impressive in such a short amount of time, generally speaking, that’s not what you want? With software I find you want to step down a path iteratively and make sure you’re not repeating the same mistakes. It would benefit LLMs to maintain a tight context window instead of doing a full blow-out on the first prompt… but that’s not what LLMs do, is it? They drive down a road until it ends and tend to go overboard; they build out features you didn’t even ask for. Also worth nothing they charge per token used.

For example it didn’t understand how to write and use web components. It wrote thousands of lines of JavaScript in an imperative way, which is the opposite of what I asked for and the antithesis of the web components ethos which tends to be highly declarative and template driven. After a half-dozen repeated failures I tried the prompt “Use Lit” and seemed to understand that (sometimes). I need to re-read the chatlogs because I was able to turn the corner on quality but it required a lot of hand-holding and babysitting the machine. It excelled at short tasks like “Rename X to Y” but to be honest “Find & Replace in Project” isn’t a hard task for me. I think where it can be good is tedious work like changing API structures (renaming functions, etc) and then extrapolating that change out to the rest of the project.

Ultimately the project died in an unceremonious way when the USTA denied my application for an API key. Boo. I will never know if all those API endpoints that weren’t in the documentation actually worked or if Copilot just invented them. Also impacting the project was the fact that Quiet UI disappeared from the internet, which is a special kind of setback for doc-dependent LLMs. Oh well. I’d rank it a mixed success. I got through my personal quality-via-the-LLM barrier, but trying to corral the stateless machine wasn’t the most enjoyable experience and I didn’t ship the app.

An app for analog drawing

I loved graph paper as a kid. I used to buy giant pads of it and make scale architectural models of my house. The algorithm surfaced some cool isomorphic dungeon drawing videos for me but the process of sourcing some graph paper let me down. I wanted to print out a couple sheets of graph paper but I kept getting skeezed out by my options on image search. Low-res JPEGs with shitty logos splattered all over. No sense of how big it’d actually be when I printed it out.

screenshot of my grid paper app with some configurable settings in a header and a grid covering the entire background

So I spent an evening making my own little Grid Paper app. I’m pleased with the results. It supports grids, dot-grids, isomorphic grids, perspective grids, and dual-hex grids. I have a branch locally that adds normal hex grids and more fidelity but it’s a complete refactor so it’ll take some time to finish out.

All said, I’m happy with the time vs effort results on this project. A couple nights worth of work.

Retrogaming

I got a neat little Anbernic retro-handheld emulator for Christmas last year but to be honest I hadn’t played it much. The system was lacking a lot of the first-party blockbuster games I loved. Y’know what I’m talking about… the sbarro brothers, the sanics, the pokey-mens, the mega-dudes; those sorts of games.

I mentioned this to a friend and he helped me… ahem… backup some games I had. And that was enough of a spark to inspire me to swap out the default operating system to a custom one called Knulli and I made it feel neat-o by installing the Techdweeb theme.

I’m loving it so much more. I’ve been playing through a game where you capture these little critters and use them in ethically-questionable battles against other children and adults. So that’s fun and been a great way to relax that isn’t doomscrolling or YouTube rabbit holes.

Statistical Breakdown

📖 Reading

SapiensAt HomeSlow DownControl FreakIt's Only DrowningA Libertarian Walks Into a Bear
  • Sapiens ★★★½ - This book very much fits into my historical graphic novel wheelhouse. It suffers some of the common problems with the real-book-to-comic genre (long speeches, hammy conversation setups, etc) and I struggled at the beginning, but towards the middle I latched on and enjoyed it enough to get the second book from the Library… which I didn’t read. One eyebrow-raising bit is that it somewhat opens the door to “These people have different DNA”-type phrenology or supremacy narratives. Woof.

  • At Home DNF - I did not finish this book, but I did enjoy it. I probably prefer a more linear history lesson on a single topic, but Bill Bryson does something unique and ties together a tapestry of historical anecdotes based on common objects found in his home. I may pick this up again in the future when things slow down and my mind can wander more.

  • Slow Down ★★★★½ - Comrades! Degrowth is a topic I’m interested in. How do we break away from the “always grow” cycle of Capitalism and it’s climate death march. Kōhei Saitō suggests communism, leaning on the contemporary writings of Marx that didn’t make it in Das Kapital that were focused around ecological sustainability as opposed to revolution.

  • Control Freak ★★ - I’m always up for some video game history and CliffyB’s has played a role in some of gaming’s biggest moments. The book starts with a classic nerd coming-of-age at the dawn of the internet story that is familiar, his father’s passing, but before digging into his time at Epic games, the story takes a sudden turn recounting his own sexual abuse. Then it hops back into video games like nothing happened. The book is soaked in CliffyB’s non-malignant but very apparent narcissism. Name drops. Affairs. Divorce. Matching Lambos. Markers of success CliffyB seems to wear like self-deprecating badges of honor. I don’t mean to take from CliffyB’s successes (Unreal Tournament, Gears of War, Fortnite, etc) and those portions of the book are interesting in their own right, but overall… it felt like a very personal story rather than a general nerds-to-riches type story.

  • It’s Only Drowning ★★★½ - Author David Litt decides to take up surfing late-in-life. To achieve this goal he must befriend his twenty-something brother-in-law. It’s a story of self-realization and challenging yourself to achieve a difficult goal as well as bridging an awkward familial/generational/political gap. I think it also embodies the male loneliness epidemic; a desire to have relationships with people who aren’t our spouse, to be invited, and to belong.

  • A Libertarian Walks Into a Bear [In progress]

📝 Blogging

I had a secret theme –that I don’t if anyone picked up on– but I was trying to share things I like. A couple got serious, but most of them were simple posts about a game or YouTube series I like. I think this also helped put me in a better moo.

These posts are easier technical posts. They don’t get as many hits… but they also don’t get stuck in months-long quality assurance and demo-building limbo.

📺 Media Diet

Movies

Podcasts

  • Systems of Harm (S2) - I’m late to it but been enjoying season two of Systems of Harm.
  • Nice Try (S1) - A podcast about failed utopias.
  • Beyond that the usual If Books Could Kill & Maintenance Phase routine.

YouTubes

  • Been really into Rust vods.

🎙 Recording

Chris and I wrapped up our 14th season of Shop Talk. 695 episodes of showing up every week. Can’t believe we’ll be at 700 soon.

⌨️ Open source

  • 🎉 Fluent Web Components v3 is in Release Candidate - It’s been a lot of work (138 beta versions) to get here. But we’re happy with the progress as well as the capabilities.

👾 Video games

  • Retro gaming: As said above, I got into retro-gaming. I’m happy to mine this vein for awhile.
  • Puzzle games (see blog).