I've been a reluctant Bank of America customer for over a decade. My parents
chose BofA, so I chose BofA. Migrating to Chase or Wells Fargo is more of the
same -- not worth the
switching cost .
Am I really a "customer" when they charge -0.01% interest to hold my
money?
BofA is clunky . Their physical branches seem simultaneously overstaffed and
understaffed. Everybody there is cordial yet confused. I would never visit their
physical locations if their app worked, but alas, their app ...

I have been working on a few new features for Artemis , the calm web reader I maintain. You can read a summary of what’s new below. Organise subscriptions with folders You can now create folders in Artemis. This feature is designed to help you organise websites you follow into separate pages in your reader. To add an author to a folder, go to the Edit page for an author, then scroll down to the “Folder” option: Set a name for the folder to which you want to add the author. Then, save your...
Ideological Resistance to Patents, Followed by Reluctant Pragmatism
martinfowler.com
Naresh Jain has long been uncomfortable with software
patents. But a direct experience of patent aggression, together with the
practical constraints faced by startups, led him to resort to defensive
patenting as as a shield in this asymmetric legal environment.
more… Naresh Jain has long been uncomfortable with software
patents. But a direct experience of patent aggression, together with the
practical constraints faced by startups, led him to resort to defen...

When multiple goroutines need to read and write the same value, you need a mutex to make sure
they don’t step on each other. Without one, concurrent writes can corrupt the state - two
goroutines might read the same value, both modify it, and one silently overwrites the other’s
change. The usual approach is to put a sync.Mutex next to the fields it protects:
var (
mu sync . Mutex
counter int
)
mu . Lock ()
counter ++
mu . Unlock ()
This works, but noth...
I took a voluntary layoff from Google ~200 days ago. I have split my time between software, literature, and governance. Previous articles: One Week of Unemployment Two Weeks of Unemployment One Month Out 136 Days of Unemployment These first 6 months were part sabbatical, part work. I am officially back in the bay since Jan 31st. Here are the things that I have done in these 6 months: Visited USA NYC, Boston, Portsmouth, Ogunquit, Portland (ME), D.C., New Orleans, Austin, Denver Visited Europe Lo...

yt-browse: a powerful youtube search TUI
I made a TUI for searching a specific youtube channel. I think it's much nicer than the experience of searching a channel on youtube's website.
Read the full post on my blog!
Here's a raw link, if you need it:
https://eieio.games/blog/yt-browse
yt-browse: a powerful youtube search TUI
I made a TUI for searching a specific youtube channel. I think it's much nicer than the experience of searching a channel on youtube's website.
Read the f...
Shield AI’s V-BAT Proves Cold Weather Capabilities in NATO’s Arena HEIMDALL Exercise
shield.ai
HARSTAD, Norway (March 3, 2026) – Shield AI, the deep-tech company building state-of-the-art autonomy software products and aircraft, demonstrated Arctic-ready, ship-based intelligence, surveillance, and reconnaissance (ISR) capabilities during NATO’s HEIMDALL 26 exercise in Norway.
Hosted by the NATO Center of Excellence for Cold Weather Operations (CEO-CWO) between February 17 and 26, HEIMDALL served as the validation of NATO’s Arctic experimentation arena, evaluating mann...

I read a great post this week from Marc Brooker: SFQ: Simple, Stateless, Stochastic Fairness . In it, Marc does a great job of explaining a cute little algorithm for isolating different customers from each other in a multitenant system. You should go read that post first.
I was curious to improve my intuition on how it is that this algorithm works so I wrote some simulations to see how it behaves and to observe the steps that Marc lays out actually making an improvement.
Let's describe the ...
After seeing Oliver Ettlin's 39C3 presentation Excuse me, what precise time is It? , I wanted to replicate the PTP ( Precision Time Protocol ) clock he used live to demonstrate PTP clock sync:
I pinged him on LinkedIn inquiring about the build (I wasn't the only one!), and shortly thereafter, he published Gemini2350/ptp-wallclock , a repository with rough instructions for the build, and his C++ application to display PTP time (if available on the network) on a set of two LED matrix disp...
I was recently listening to an episode of The Rest Is Science , specifically the episode The Evolution Of The Butthole . As always, Hannah and Michael put on a great show and I came away thinking about its contents.
In it, they asked how many holes does a straw have? And my default response was something like:
Why they have 2 holes, silly! One at each end.
You probably don't need it, dear reader, but here's a handy-dandy diagram of what I'm talking about...2 holes, right?
Then ...
This week on the People and Blogs series we have an interview with Eric Schwarz, whose blog can be found at schwarztech.net .
Tired of RSS? Read this in your browser or sign up for the newsletter .
People and Blogs is supported by the "One a Month" club members.
If you enjoy P&B, consider becoming one for as little as 1 dollar a month.
Let's start from the basics: can you introduce yourself?
Hi! I'm Eric Schwarz and my online "home" has...

This is follow-up to the earlier onslaught of questions I subjected you all to last Friday.
51. What about under-utilised practices, or things you think people should do more?
Walk slow and fix things.
52. Do you use a lot of semantic HTML? Or are you guilty of generic structure?
HTML comes with most of the elements you could need to markup a page. If you use it correctly, most of your identifiers and classes for CSS aren’t necessary.
53. Do you consider different browsers?
Tex...
Can coding agents relicense open source through a “clean room” implementation of code?
simonwillison.netOver the past few months it's become clear that coding agents are extraordinarily good at building a weird version of a "clean room" implementation of code.
The most famous version of this pattern is when Compaq created a clean-room clone of the IBM BIOS back in 1982 . They had one team of engineers reverse engineer the BIOS to create a specification, then handed that specification to another team to build a new ground-up version.
This process used to take multiple teams of engineers weeks ...

If you love building things, and the process of building is just as important to you as the result itself, it’s not unreasonable that you’re in a slump these days.
The world is telling you that your thinking process is extraneous, unnecessary, and must be commoditized and compressed. But you are multidimensional, you need room to touch the code, to explore, to rise above the local minima. In engineering, the journey is the destination. The working system in production is our reward, and ...
In discussions of AI and Mathematics, the discussion often goes to mathematical proofs, such as the the First Proof challenge. So let's look at the role of proofs in mathematics. Without a proof, you don't even know whether a theorem is true or false. It's not even a theorem until you have a proof, just a conjecture or hypothesis. You might have some intuition but you don't know the hardness of a proof until you find it. Even then that only gives you an upper bound on hardness as someone mig...

Today, I’m publishing evals-skills , a set of skills for AI product evals 1 . They guard against common mistakes I’ve seen helping 50+ companies and teaching 4,000+ students in our course .
Why Skills for Evals
Coding agents now instrument applications, run experiments, analyze data, and build interfaces. I’ve been pointing them at evals.
OpenAI’s Harness Engineering article makes the case well. They built a product entirely with Codex agents — three engineers, five months,...

Prefab home manufacturer National Homes’ factory floor, via HUD. Many who look at the high and rising cost of housing see the problem as fundamentally one of production methods ; more specifically, that homes could be built more cheaply if they were made using factories and industrialized processes, instead of assembling them on site using manual labor and hand-held tools. This idea goes back decades: in the 1930s, Bauhaus School founder Walter Gropius argued that the reason car prices had ...

The Internet relies on text formats. Thus, we spend a lot of time producing and consuming data encoded in text.
Your web pages are HTML. The code running in them is JavaScript, sent as text (JavaScript source), not as already-parsed code. Your emails, including their attachments, are sent as text (your binary files are sent as text).
It does not stop there. The Python code that runs your server is stored as text. It queries data by sending text queries. It often gets back the answer as text ...

Because code gets cheaper and cheaper to write, this includes
re-implementations. I mentioned recently that I had an AI port one of my
libraries to another language and it ended up choosing a different
design for that implementation. In many ways, the functionality was the same,
but the path it took to get there was different. The way that port worked was
by going via the test suite.
Something related, but different, happened with
chardet .
The current maintainer reimplemented it from scra...
Advice for staying in the hospital for a week
xeiaso.netAs I mentioned in my last couple posts , I recently got out of the hospital after a week-long stay. I survived the surgery, I survived the recovery, and now I'm home with some hard-won wisdom about what it's actually like to be stuck in a hospital bed for seven straight days. If you or someone you love is about to go through something similar, here's what I wish someone had told me.
Cadey None of this is medical advice. I'm a software engineer who spent a week as a
patient, no...
JJ LSP Follow Up
Mar 5, 2026
In Majjit LSP , I described an idea of
implementing Magit style UX for jj once and for all, leveraging
LSP protocol. I’ve learned today that the upcoming 3.18 version of LSP has a feature to make this
massively less hacky:
Text Document Content Request
LSP can now provide virtual documents, which aren’t actually materialized on disk. So this:
can now be such a virtual document, where highlighting is provided by semantic tokens, things li...

“When in doubt, follow your nose.”
― The Lord of the Rings
As a Lord of the Rings fan, visiting Hobbiton was non-negotiable. Everything was booked out for February, and I was almost considering changing my trip route. Fortunately, there were some external provider tickets left, incl. a bus transfer. This led me to the interesting city of Rotorua .
Hobbiton Hobbiton was the village of our favorite hobbits from the Tolkien world. After the filming of The Lord of the Rings ha...
State of WASI support for CPython: March 2026
snarky.ca
It's been a while since I posted about WASI support in CPython ! 😅 Up until now, most of the work I have been doing around WASI has been making its maintenance easier for me and other core developers. For instance, the cpython-devcontainer repo now provides a WASI dev container so people don't have to install the WASI SDK to be productive (e.g. there's a WASI codespace now so you can work on WASI entirely from your browser without installing anything). All this work around making devel...