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. →


I got a tattoo

originally shared here on

Me, wincing while getting my tattoo

The final product: a skull on my calf

It's not yet summer, but I'm declaring 2026 to be the summer where I "Do The Thing."

Shannon and I have been talking about getting tattoos for years now. We went to a friend's brewery's anniversary party this past weekend, and they had a tattoo pop-up stand. You could pick from one of roughly 30 tattoos.

Mine was a no brainer: skulls have been a big part of my aesthetic lately, and this one looked perfect. Slightly smiling, like I always seem to be.

Shannon's choice, a marshmallow roasting on a flame, was similarly the perfect fit for her.

I'm very motivated to make this summer memorable. We're off to a good start.


they told me the internet was forever


🔗 a linked post to samsharp.ca » — originally shared here on

In thinking about protecting the past, I'm grateful to Brennan Brown for their post, "How are we preparing for the Long Web?," a great introduction to the web-preservation movement that's unfolding right now. I like that the tone of the post is mostly hopeful - it poises us as readers embarking on a project through time, a thought experiment into the future.

Personally, I find frameworks like React to be neat from a developer's perspective and obnoxious from nearly every single other metric.

I'm sure at some point I'll have cause to meaningfully invest time in learning a fancy Javascript front end framework, and maybe I'll eat my own hat. But boy, as the old man in the room, I have a hard time accepting that the benefits of a front end framework outweigh the downsides of increased pipeline complexity, page size, and third party dependency attack vectors.1

I say all that because I feel like React made the web more inhospitable. It's harder to archive. It requires browsers to require even more resources. It's just... greedy.

They point to some stats that highlight just how much has been lost over the past few years, one of the worst ones being that over 66.5% of links published in the last nine years are dead. Nine years. The stats can only be more devastating if we go back twenty. Brown's post hones in on the ways that digital history is disappearing & puts together a great list of the ways that webmasters and archivists can make their sites as future-proof as possible, namely by sticking to HTML/CSS3 & updating one file, not thousands. I won't re-hash Brown's entire post, but I bring it up here as an example of the ways that the decay of the internet is being stalled and how everyday webmasters are fighting back against it.

This post inspired me to go through my own links and do what I can to preserve the contents of them.

So I vibed up a feature that loops through all 700+ of my links and checks to see if they are still alive.

The results? Of the 626 links that were checked, my script couldn't access 83 links.

Of the 81 YouTube videos I've shared, six are broken.

Looking through the list of broken links made me realize I should do some more weeding around here.

Mostly I need to cut the links to topical hot takes. Sure, it was fun to dig on Sony for hiking the price of some Whitney Houston music hours after her death. But I don't need to remember that forever, right?2


  1. I accept that you could make that argument about a backend framework like Rails. Maybe I am more annoyed about the concept of an SPA? No. It's the React that's wrong. 

  2. The BBC apparently didn't, because that's one of the links that 404s. 

Continue to the full article


“What have you tried?”


🔗 a linked post to multiline.co » — originally shared here on

Early on, I picked up the habit of checking with him when some technical thing or other wasn’t working the way I expected:

  • “I can’t connect to the thingamabob :(”
  • “The whatchamacallit isn’t working :(”
  • “How do I fix the doohickey?”
  • etc.

Without fail, James’s response would be not an answer but a question, one that has shaped my thinking ever since:

What have you tried?

I just stuck that on post it note and stuck it to my monitor for tomorrow morning.

Continue to the full article


vibes is live

originally shared here on

Taking inspiration from my buddy Paul's talk, I decided this week that I needed to commit to finishing my patio project.

For those who forgot, I started redoing my patio last summer, but sort of lost steam + got bad anxiety about doing things to my house, so it's sat dormant. A giant sand pit, a daily reminder that I can't finish anything.

Obviously not done patio

The last couple of nights, I've pulled up a patio chair in the sand and imagined what this place can look like. I mean, the hard stuff is pretty much done. I have all the pavers. The retaining wall is complete. Now I just need to clean the sand again, level it, and set the pavers.

I was having a hard time imagining what a good paver layout would look like since I have two different colors, so I vibe coded a little tool to help me visualize what different patterns might look like.


A few weeks ago, my friend Kelly sent out a survey collecting data points for her Minnebar talk. One question on this survey was: "Think of a piece of code you've written that you're proud of. In a sentence or two, what made it good?"

After a lot of reflection, here was my response:

In middle school, I learned how to write TI-BASIC, and I used it to program small apps to help me with math homework. Simple apps that helped me remember things like the Pythagorean theorem.

What made these apps good was sharing them with my friends and seeing them use them for their own homework and tests. I've heard some even used my Pythagorean theorem app in college.

To me, "good code" is mostly unimportant. What's important is unblocking others from being stuck on the semantics (e.g. memorizing a mathematical equation), allowing them to focus their energy on solving a bigger problem.

I was thinking about my Pythagorean theorem app this evening while staring at my patio, and it dawned on me that I have a device in my pocket at all times which Claude claims is somewhere between 200,000× and over 1,000,000,000× more powerful than that humble TI-83+ Silver Edition.


There are a lot of people who have a lot of opinions about artificial intelligence. I find validity in all of them: it's bad for the environment, it's being crammed down our throats, it's trained on stolen data, using these tools fly in the face of hard-earned engineering skills, etc. etc.

Me? My general stance on all technology is "what can this thing do?"

I want to make things. Useful things. Cool things. Fun things.

You know what's fun?

Having an idea for a single page app at 7pm, then hanging out with your family watching Survivor 50 until about 9:45pm, then jumping into a few Claude Code sessions to whip together the idea in about two hours.

If you visit junk.timbornholdt.com/vibes, you'll see a pretty weird looking landing page of random pages.

I have four tools on there right now:

  1. A visualizer for my patio (better seen on desktop)
  2. A syllabus guide to the lo-fi genre
  3. A page designed to encourage me to try new-to-me PS2 games
  4. Based off albums that I was into last month (need to update now), a page that gives me more detailed listening notes when exploring similar albums

The coolest part? This is all tied into Github Actions. If I want to make another page like this, I load Claude on my iPhone, tell it what app I want it to build, then let it commit that code to my vibes repo, which automatically gets rsyncd to my junk VPS.

I now have the ability to start out on a walk, come up with a random tool I need built, tell Claude to Ralph Wiggum loop itself until it accomplishes the vision, then see the results for myself right on my phone.

It took me two hours to make this happen. Most of it was spent deploying and securing a brand new VPS.

The future is kinda dope.

I hope all of this will help me finish that damn patio.

(PS: Look at how terrible that SVG logo is that it generated lmao I love it so much)


Not Every Feeling is an Emergency


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

Great blog post exploring how techniques for dealing with OCD can be broadly applied to all the feelings we feel.

We can either make our internal world foreign, or we can adjust the alarm. This is what mindfulness is, mechanistically. It’s the phone-free walk, sitting with the awkward silence, dealing with boredom standing in line. It’s wrestling with the blank page instead of having AI fill it for you.

It’s accumulating enough small moments where you don’t reach for the fix. Enough reps that your brain learns the default: not every feeling needs a response. True toughness is being able to sit with the feeling and decide: is this alarm real and worth responding to, or should I let this crazy thought or feeling just float on by.

This is the work I've been doing for several years now. It's painful, being able to trust in not only yourself but your communities and support systems.

But on the other side of it, there's a world where you can load Reddit in a private browser tab, scroll for 5 minutes, laugh at the absolute absurdity of the world we find ourselves in, close it down, and get back to building stuff that matters.

Continue to the full article



Photogrammetry to Furniture - Designing for the Real World in Blender


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

My buddy Paul gave a talk at Minnebar ostensibly about how he's able to take a 3d scan of a room and throw it into Blender to visualize how a furniture piece will look in a room.

It ended up being a love letter to creativity and learning.

I've known Paul for more than two decades now. Every time I see him, he's either recently completed or is midway on some insanely cool idea. It's annoyingly inspiring. I'm getting lunch with him in a couple days and I am 70% sure he's gonna say something like "yeah, I got irritated and decided to dig an underground bunker."

Just... just watch this talk. And if it blows your mind like it did mine, hire the man to make your house cool!

Also, for my own future notes, here's Paul's pithy checklist for how to approach projects:

  1. Start small
  2. Have a goal
  3. Lower your expectations

The Dumbest Hack of the Year Exposed a Very Real Problem


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

In the wee hours of the night last April, someone stopped at roughly 20 street intersections across Silicon Valley and launched an unprecedented cyberattack that would eventually spread to multiple states, embarrassing local officials and prompting them to question their security practices. Authorities suspect the unknown culprit took advantage of weak and publicly available default passwords to wirelessly upload custom recordings that played whenever a pedestrian pressed a crosswalk button.

Instead of the normal recordings telling people to either wait or cross the street, pedestrians heard the spoofed voices of billionaire tech CEOs. A fake Mark Zuckerberg said at one Menlo Park intersection that people would not be able to stop AI from “forcefully” being inserted “into every facet of your conscious experience.” At another, he celebrated “undermining democracy.” At a different intersection, an altered Elon Musk described President Donald Trump as “actually really sweet and tender and loving,” while on a nearby street his faked voice whined about being “so alone.”

It's almost like... maybe we should give our civic employees enough budget and time to implement the bare minimum basic things you need to do when deploying infrastructure like this?

But yes, continue the layoffs and cutting taxes, everybody.

Continue to the full article


Craig Mod on the Creative Power of Walking


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

When I’m not talking, just walking (which is most of the time), I try to cultivate the most bored state of mind imaginable. A total void of stimulation beyond the immediate environment. My rules: No news, no social media, no podcasts, no music. No “teleporting,” you could say. The phone, the great teleportation device, the great murderer of boredom. And yet, boredom: the great engine of creativity. I now believe with all my heart that it’s only in the crushing silences of boredom—without all that black-mirror dopamine — that you can access your deepest creative wells. And for so many people these days, they’ve never so much as attempted to dip in a ladle, let alone dive down into those uncomfortable waters made accessible through boredom.

For me, from this boredom—this blankness of mind as I walk past sometimes fields and sometimes giant gambling pachinko parlors—words flow. I can’t stop them. My mind begins writing about what we see and refuses to shut up. That gap created by a lack of artificial stimulation is filled—thanks to the magic plasticity of our brains—with words and more words. Without Candy Crush, an inverted event horizon spawns, and out shoots: thoughts. I dictate as I walk.

Continue to the full article


The Dynamic Between Domain Experts & Developers Has Shifted


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

During the peak of mobile app madness, iOS and Android developers would often find themselves cornered by friends, relatives, and random people at parties.

“I’ve got a great idea for an app
”

More often than not, this dreaded sentence would be followed by a hard sell when the developer didn’t display adequate enthusiasm. If the developer didn’t act fast and feign the exact right level of approval — enough to communicate they ‘got’ the idea but not so much that they’d be asked to build it — the idea guy would advance onto hashing out NDAs, equity allocations, and asking when coding can start.

Recently, I’ve noticed the AI era is a bit different. The balance of power has shifted. Builders need domain experts as much as domain experts need builders.

You can no longer simply copy an app model with a few improvements or obsess over user feedback as you sharpen your prototype towards product-market fit.

To build a differentiated AI product you need training data and examples curated by a domain expert.

I don't think the role of a software engineer is going to go away, but I do think personally, I'm not gonna cut it anymore as "just a software engineer."

The real value is in pairing someone who knows how these AI systems work with someone who knows how to get deep with a real world problem.

Continue to the full article