My Phone Will Spam You If I Fail To Exercise By 3PM
taylor.townThat's right. My phone sends annoying text messages to my friends if I don't log
a workout by 3PM.
Try it yourself .
To add friends as spam targets, write "Tattle." somewhere in their contact
notes. Use "Automations" in the Shortcuts app to trigger it on a recurring
schedule.
It's strange how this motivates me -- I'm not seeking encouragement nor
validation here. My brain simply converts the situation to "I must do pushups to
save my friends from my spam robot".
Whatever works.
Tha...

I gave a talk this weekend at Social Science FOO Camp in Mountain View. The event was a classic unconference format where anyone could present a talk without needing to propose it in advance. I grabbed a slot for a talk I titled "The State of LLMs, February 2026 edition", subtitle "It's all changed since November!". I vibe coded a custom macOS app for the presentation the night before.
I've written about the last twelve months of development in LLMs in December 2023 , December 2024 and D...

I don’t tend to post links to videos here, as I can’t stand watching videos to learn about things . But some talks are worth a watch, and I do suggest this overview on how organizations are currently using AI by Laura Tacho. There’s various nuggets of data from her work with DX:
92.6% of devs are using AI assistants
devs reckon it’s saving them 4 hours per week
27% of code is written by AI without significant human intervention
AI cuts onboarding time by half
T...
snakes.run: rendering 100M pixels a second over ssh
eieio.games
snakes.run: rendering 100M pixels a second over ssh
snakes.run is a massively multiplayer snake game that uses the Secure Snake Home (SSH) protocol. It can render 100M pixels a second. ssh snakes.run to play.
Read the full post on my blog!
Here's a raw link, if you need it:
https://eieio.games/blog/secure-massively-multiplayer-snake
snakes.run: rendering 100M pixels a second over ssh
snakes.run is a massively multiplayer snake game that uses the Secure Snake Home (SSH) protocol....
Against Query Based Compilers
Feb 25, 2026
Query based compilers are all the rage
these days, so it feels only appropriate to chart some treacherous shoals in those waters.
A query-based compiler is a straightforward application of the idea of incremental computations to,
you guessed it, compiling. A compiler is just a simple text transformation program, implemented as a
lot of functions. You could visualize a run of a compiler on a particular input source code as a
graph of functio...

We talked a couple issues ago about the application of Linearity of Expectation to building intuition about Copysets , and the ways that we're both constrained and freed by the laws of probability.
Evan recently pointed out a cool paper and writeup to me that can be understood in a similar way.
Here's the problem as he described it to me:
This is a really basic idea: generate unique IDs, in this case, that are going to be embedded in RocksDB SST files. The goal: don't have collis...

https://austinhenley.com/blog/dearresearchers.html https://austinhenley.com/blog/dearresearchers.html https://austinhenley.com/blog/dearresearchers.html
As part of writing Logic for Programmers I produced a lot of “chaff”, code samples and sections I wrote up and then threw away. Sometimes I found a better example for the same topic, sometimes I threw the topic away entirely. It felt bad to let everything all rot on my hard drive, so I’m sharing a bunch of chaff for a tool called “Z3”, which has all sorts of uses in software research. As part of writing Logic for Programmers I produced a lot of “chaff”, code samples and sections I...

I mentioned on Mastodon that everyone should have a family wiki. It’s a super useful way to maintain notes, thoughts, projects, ideas, links, and basically anything else you’d want to capture and share. This naturally generated a bunch of replies from people asking (a) which Wiki software I use, and (2) which I’d recommend.
Clara and I use MediaWiki for our public and private wikis. I have a lot of experience writing its markup, metadata, and templates thanks to being a Wikipedia...

When Demian Goos followed Karin Richter into her office on March 12 of last year, the first thing he noticed was the bust. It sat atop a tall pedestal in the corner of the room, depicting a bald, elderly gentleman with a stoic countenance. Goos saw no trace of the anxious, lonely man who had obsessed him for over a year. Instead, this was Georg Cantor as history saw him. An intellectual giant…
Source When Demian Goos followed Karin Richter into her office on March 12 of last year, the first...
We’ll be working with the set P_n(\mathbb{R}) , real polynomials
of degree \leq n . Such polynomials can be expressed using
n+1 scalar coefficients a_i as follows:
\[p(x)=a_0+a_1 x + a_2 x^2 + \cdots + a_n x^n\]
Vector space
The set P_n(\mathbb{R}) , along with addition of polynomials and
scalar multiplication form a vector space . As a proof, let’s review
how the vector space axioms are satisfied. We’ll use p(x) ,
q(x) and r(x) as arbitrary polynomials from the set
P...

When I was in high school, I used to keep a pencil or pen up my sleeve. I don’t remember anyone else doing it, or why I started. But if I had a pen up my sleeve, I would at least know I had one nearby for when I’d need one. (I may be mis-remembering whether having a pen up my sleeve actually helped me remember one (oh the irony!). I remember a lot of times that I would forget a pen or a pencil. My organisational skills are better now, although still more on the chaotic side than I would like...
I quit my job at EnterpriseDB hacking on PostgreSQL products last
month to start a company researching and writing about software
infrastructure. I believe there is space for analysis that is more
focused on code than TechCrunch or The Register, more open to covering
corporate software development than LWN.net, and (as much as I love
some of these folks) less biased than VCs writing about their own
investments.
I believe that more than ever there is a need for authentic and
trustworthy analysi...
Implementing a clear room Z80 / ZX Spectrum emulator with Claude Code
antirez.comAnthropic recently released a blog post with the description of an experiment in which the last version of Opus, the 4.6, was instructed to write a C compiler in Rust, in a “clean room” setup.
The experiment methodology left me dubious about the kind of point they wanted to make. Why not provide the agent with the ISA documentation? Why Rust? Writing a C compiler is exactly a giant graph manipulation exercise: the kind of program that is harder to write in Rust. Also, in a clean room expe...
Moon Monday #263: Artemis II, a Canadian capcom, Chandrayaan, and Long March 10
jatan.spaceArtemis II launch delayed again On February 19, NASA successfully fully fueled the SLS rocket and performed a practice countdown test ahead of the upcoming launch of the Artemis II mission to fly four astronauts around the Moon and back. This was a repeat of the February 2 test which hadn’t gone as planned due to excessive hydrogen leaks. This time around the leaks remained under NASA’s deemed allowable limits thanks to new seals installed after the first test. All seemed ...

Last week I read a post by designer and frontend dev, Theodore Soti:
Stop clearing forms with JavaScript.
The browser already knows how.
I still see a lot of apps using custom code to track inputs and reset state.
But for many forms, you can just use the native reset button.
That reset button restores every field to its initial value.
Text inputs. Checkboxes. Radios. Selects. Textareas.
No event listeners.
No state management.
No missed fields and strange edge cases.
...
Vibe Coding is the Future of B2B SaaS
nmn.gl
Monday.com just launched their fastest product to $1M ARR.
And it just took them 2.5 months.
The kicker is that the product actually doesn’t do anything by itself – it just lets customers vibe code whatever they want on top of Monday’s platform.
From all the disdain we’re seeing about vibe coding lately, it’s astonishing what this one company has accomplished in such a short time.
Three weeks ago, I wrote about how AI is killing B2B SaaS . Stocks were (and s...
A few weeks ago I introduced Pure Blog a simple PHP based blogging platform that I've since moved to and I'm very happy. Once Pure Blog was done, I shifted my focus to start improving my commenting system . I ended that post by saying:
At this point it's battle tested and working great. However, there's still some rough edges in the code, and security could definitely be improved. So over the next few weeks I'll be doing that, at which point I'll probably release it to the public so you...
It’s hard to get optimizers right. Even if you build up a painstaking test
suite by hand, you will likely miss corner cases, especially corner cases at
the interactions of multiple components or multiple optimization passes.
I wanted to see if I could write a fuzzer to catch some of these bugs
automatically. But a fuzzer alone isn’t much use without some correctness
oracle—in this case, we want a more interesting bug than accidentally
crashing the optimizer. We want to see if the optimi...
Last week I had the pleasure of meeting Alex Bellos in Oxford. Among other things Bellos writes the Guardian Monday puzzle column . He gave me a copy of his latest book, Puzzle Me Twice , where the obvious answer is not correct. I got more right than wrong, but I hated being wrong. Here is one of those puzzles, Sistery Mystery (page 28), which is a variation of a puzzle from Rob Eastaway . Puzzle 1: Suppose the probability of a girl is 51% independently and uniformly over all children. In...

I’ve spent more time than I’d like debugging context canceled and
context deadline exceeded errors. The error tells you a context was canceled but not why.
It could be any of:
The client disconnected
A parent deadline expired
The server started shutting down
Some code somewhere called cancel() explicitly
Go 1.20 and 1.21 added cause-tracking functions to the context package that fix this,
but there’s a subtlety with WithTimeoutCause that most examples skip.
What ...
My job has me travel a lot. When I'm in my office I normally have a seven monitor battlestation like this:
[image or embed] — Xe ( @xeiaso.net ) January 26, 2026 at 11:34 PM
So as you can imagine, travel sucks for me because I just constantly run out of screen space. This can be worked around, I minimize things more, I just close them, but you know what is better? Just having another screen.
On a whim, I picked up this 15.6" Innoview portable monitor off of Ama...
For some weird combination of factors, I ended up answering questions to three different people for three entirely unrelated projects, and all three interviews went live around the same time.
I answered a few questions for the Over/Under series run by Hyde . Love the concept, this was a lot of fun.
I also answered a few questions from Kai since he’s running a great series where he asks previous IndieWeb Carnival hosts to share some thoughts about the theme they chose.
And lastly,...