How I Use LLMs as a Staff Engineer in 2026

In my view, the current core AI skill is shifting as much work onto AI agents as possible, without going too far. Many people are under-utilizing agents: not allowing them to investigate bugs or test their changes, or not throwing enough simple tasks at them. Other people are over-utilizing them: using them to write messages that ought to be hand-written, or trusting them to make sweeping changes that need careful human review. ...

2026-05-19

Thinking Analog

Give me a blank page of my notebook and my pen — I shall fill that page in no time. I’ve been doing this for years now. It doesn’t matter the problem, something with math and numbers: paper and pen. Org structures? Paper and pen. Blog posts? Paper and pen. This seems to work because the human mind abhors the emptiness of a blank page. I typically juice the cycle by writing a heading, a date, or any one liner associated with what I want to think about to get things moving. From there the mess happens, scribbles and words. They are disjointed but reconfigured with arrows. In all of that, my thinking solidifies, and the idea takes hold. ...

2026-05-18

Unfuck Tomorrow Morning

Unfuck Your Habitat has a lot of great information for keeping your space tidy. Big fan. Below is one of their best posts. I’ve been doing most of these each night and it makes mornings so much better, especially with a toddler. Wash the dishes in your sink Get your outfit for tomorrow together, including accessories Set up coffee/tea/breakfast Make your lunch Put your keys somewhere obvious Wash your face and brush your teeth ...

2026-05-11

Data Center Land Use Issues Are Fake

Thanks for Simon Willison for the link. […] Between 2000 and 2024, farmers sold in total a Colorado-sized chunk of land all on their own, 77 times all land on data center property in 2028, and grew more food than ever on what was left. None of this caused any problems for US food access. And then, in the middle of all this, a farmer in Loudoun County sells a few acres of mediocre hay field to a hyperscaler for ten times its agricultural value, and the response is that we’re running out of farmland. ...

2026-05-08

SSH Key Best Practices

Today I needed to create a new SSH public/private keypair for work. I wanted to make sure I was following modern best practices for this, so I did some reading online. I found these two articles to be very helpful: SSH Key Best Practices for 2025 – Using ed25519, key rotation, and other best practices SSH Agent Explained Things I learned I didn’t ever think to change the comment at the end of the keyfile. Now I plan to date them, as it suggests. Using the email sub-alias (+) is clever and I’m stealing that. ...

2025-09-10

Using Github Issues

This interview with Simon Willison is great. It pushed1 me into using GitHub Issues for my private repositories. They’re wonderful. (In the past, I’ve been just tracking everything in Markdown documents. That worked, but was just OK.) As an example, I have a private GitHub repo with notes and documents for a private network I maintain (as a volunteer). It’s very ad-hoc and I sometimes go months between without working on it. ...

2025-07-10

System Design Patterns by Sean Goedecke

This blog post by Sean Goedecke was a great read on high-level system design patterns. Most of them were familiar to me, but I got several good ideas from it. Using a database as queue: Sometimes you want to roll your own queue system. For instance, if you want to enqueue a job to run in a month, you probably shouldn’t put an item on the Redis queue. Redis persistence is typically not guaranteed over that period of time (and even if it is, you likely want to be able to query for those far-future enqueued jobs in a way that would be tricky with the Redis job queue). In this case, I typically create a database table for the pending operation with columns for each param plus a scheduled_at column. I then use a daily job to check for these items with scheduled_at <= today, and either delete them or mark them as complete once the job has finished. ...

2025-07-02