
On a remote island in the Indian Ocean, six closely watched bats took to the star-draped skies. As they flew across the seven-acre speck of land, devices implanted in their brains pinged data back to a group of sleepy-eyed neuroscientists monitoring them from below. The researchers were working to understand how these flying mammals, who have brains not unlike our own, develop a sense of direction…
Source On a remote island in the Indian Ocean, six closely watched bats took to the star-drap...

And now, for something, completely pointless:
package main
import (
"fmt"
)
func main() {
love := []string{"cricket", "reggae", "Jamaica"}
for _, value := range love {
fmt.Printf("I don't like %s! No no. I love it!\n", value);
}
fmt.Printf("Dreadlock holiday. ♫\n")
}
You could say it’s a slice of heaven. AAAAAAA!!! Wait, wrong song.
By Ruben Schade in Sydney, 2026-01-21. And now, for something, completely pointless:
package main
...

Over the past years, two major players invested into the future of Python. Microsoft’s Faster CPython team has pushed ahead with impressive performance improvements for the CPython interpreter, which has gotten at least 2x faster since Python 3.9. They also have a baseline JIT compiler for CPython, too. At the same time, Meta is worked hard on making free-threaded Python a reality to bring classic shared-memory multithreading to Python, without being limited by the still standard Global Interp...

Last week I talked about my forays into Compiler Construction (1996). This week, I have worked through more of the book and I'm going to share some of my explorations on Wirth's approach to constant folding (and some other optimizations).
Part of the guiding principle of how this book wants you to design a compiler is that we should act locally to the extent that we can. No materializing syntax trees in memory, just walk the parse tree as we parse it and shove instructions out from there as di...

Will AI Pet My Dog for Me?
Sometimes I don't want to outsource work - especially when it comes to understanding a system. Where should I draw the line?
Read the full post on my blog!
Here's a raw link, if you need it:
https://eieio.games/blog/will-ai-pet-my-dog-for-me
Will AI Pet My Dog for Me?
Sometimes I don't want to outsource work - especially when it comes to understanding a system. Where should I draw the line?
Read the full post on my blog!
Here's a raw link, if yo...

My wife recently asked me at what point in my life was I the happiest. The answer surprised her.
First, a little context. I’m currently in my early 40s. I’m married with 2 kids, many pets, and lots of other responsibilities. According to this site I am in the top 1% of earners in the UK (that’s not a flex - the relevance will become apparent later).
So 2 lovely kids, lots of animals, a beautiful home in the countryside, nice cars on the drive, and 2 motorbikes in an incredible g...

This week I demoed some flows I’d been redesigning to stakeholders.
For context, the programme I’m on is huge. We’re redesigning a highly complex, enterprise-grade, case-working system.
There are many feature teams, each with their own product manager. I’ve been on the programme for 6 months but it’s so big I’ve not met many of them.
The goal was to show how you can use patterns from the GOV.UK Design System to design complex case working systems. And to encourage other feature...

https://austinhenley.com/blog/ladybugclock.html https://austinhenley.com/blog/ladybugclock.html https://austinhenley.com/blog/ladybugclock.html

A conversation between Unmesh Joshi , Rebecca
Parsons , and Martin Fowler on how LLMs help us
shape the abstractions in our software. We view our challenge as building
systems that survive change, requiring us to manage our cognitive load. We
can do this by mapping the “what” of we want our software to do into the
“how” of programming languages. This “what” and “how” are built up in a
feedback loop. TDD helps us operationalize that loop, an...

0.0 Context Setting
Tuesday, 20 January 2026 in Portland, Oregon, where it is cold, but not as cold as other places in the country. Apparently there were visible aurora last night, but I was too busy being asleep.
A long one, today.
1.0 Some Things That Caught My attention
1.1 The Collapse of Form
I was reading Paul Musgrave’s newsletter of today 1 on amongst other things the Mark Carney-saying-out-loud that the old international world order is dead, that Trump has kicked them al...
One of the things that irks me the most when it comes to human interactions, is seeing people judging other people based on moral false dichotomies: you said you enjoy some piece of creative work, that creative work is related to a creator who might have said or done something awful/despicable/debatable/whatever, therefore you either don’t care about the broader issue the creators is involved with (and that’s bad) or you support their awful/despicable/debatable world views (which is worse). ...
Students are using ChatGPT to do their HW. Here are things I've heard and some of my thoughts on the issue (Lance also added some comments). I have no strong opinions on the issue. Some of what I say here applies to any AI or, for that matter, old-fashioned cheating by having your friend do the homework for you or by going to the web for the answer (Is ChatGPT going to the web for the answer but with a much better search tool?) 1) Ban the use of ChatGPT. That might be impossible. ...
I came across a recent article on making Linux system calls from a Wine
process . Windows programs running under Wine are still normal Linux
processes and may interact with the Linux kernel like any other process.
None of this was surprising, and the demonstration works just as I expect.
Still, it got the wheels spinning and I realized an almost practical
application: build my pkg-config implementation such that on Windows
pkg-config.exe behaves as a native pkg-config, but when run under ...

Programmers love to proclaim they’ve found the best tool. Paul Graham called Lisp his “ secret weapon .” DHH described Ruby as “ a magical glove that just fit my brain perfectly .” Pieter Levels ships million-dollar products with vanilla PHP and jQuery .
These declarations aren’t about the languages themselves. They’re about developers finding tools that fit how they think. When the environment clicks, you move fast.
I had that experience with nbdev , a development environmen...

You can use Polecats without the Refinery and even without the Witness or
Deacon. Just tell the Mayor to shut down the rig and sling work to the
polecats with the message that they are to merge to main directly. Or the
polecats can submit MRs and then the Mayor can merge them manually. It’s
really up to you. The Refineries are useful if you have done a LOT of up-front
specification work, and you have huge piles of Beads to churn through with
long convoys.
— Gas Town Emergency User Manual ...

Vertical farming operation in China, via Mao Ning on Twitter . Welcome to the reading list, a weekly roundup of news and links related to buildings, infrastructure, and industrial technology. This week we look at ALARA, OLED screens, bus stop frequency, Ozempic and airlines, and more. Roughly 2/3rds of the reading list is paywalled, so for full access become a paid subscriber. Is ALARA dead? Nuclear advocates have long railed against ALARA, the nuclear power safety requirement that demands radi...
After 16 years on the LAMP stack, I finished migrating this website from Drupal to Hugo a few weeks ago.
What's old is new, as this blog was originally built with Thingamablog , a Java-based Static Site Generator (SSG) I ran on my Mac to generate HTML and FTP it up to my first webserver (over 20 years ago!).
The main reason I moved from an SSG to Drupal was to add comments . I wanted my blog to have the same level of interactivity I had pre-Thingamablog, when I was (briefly) on Xanga.c...
Publicly sharing my poetry booklet’s downloads & sales stats
jatan.spaceOne of my kind readers sent this picture after getting a copy of my poetry pamphlet ^_^ It’s been two months since I released Seven uni-verses as a celebratory poetry booklet on humanity’s exploration of space. Some friends and readers have been curious about how it has fared, especially considering my unusual open access approach that also rejects traditional publishing norms. And so for public curiosity as well as for transparency on this experiment, I share below how many times my...

This is the twelfth edition of this newsletter in its current form.
It’s great to see the audience for it growing, and consistently positive reception when I share it.
Nice words always inspire me to carry on with it :D
The substack edition (which is exactly the same content but sent out by email), is also picking up views and subscribers.
A couple of blog posts from me since the last edition of Interesting Links—both outside the usual Kafka/Flink scope:
A love letter...
Vibecoding #2
Jan 20, 2026
I feel like I got substantial value out of Claude today, and want to document it. I am at the tail
end of AI adoption, so I don’t expect to say anything particularly useful or novel. However, I am
constantly complaining about the lack of boring AI posts, so it’s only proper if I write one.
Problem Statement
At TigerBeetle, we are big on
deterministic simulation testing .
We even use it
to track performance ,
to some degree. Still, it is crucial to ...
My post “ Floating-Point Printing and Parsing Can Be Simple And Fast ”
depends on fast unrounded scaling, defined as: ⟨ x ⟩ = ⌊ 2 x ⌋ || ( 2 x ≠ ⌊ 2 x ⌋ ) uscale ( x , e , p ) = ⟨ x · 2 e · 10 p ⟩
The unrounded form of x ∈ ℝ , ⟨ x ⟩ , is the integer value of ⌊ x ⌋ concatenated
with two more bits:
first, the “½ bit” from the binary representation of x (the bit representing 2 − 1 ; 1 if x − ⌊ x ⌋ ≥ ½ ; or equivalently, ⌊ 2 x ⌋...
The most conservative way to build a career as a software developer is
1) to be practical and effective at problem solving but 2) not to
treat all existing code as a black box. 1 means that as a conservative
developer you should generally use PostgreSQL or MySQL (or whatever
existing database), Rails or .NET (or whatever existing framework),
and adapt code from Stack Overflow or LLMs. 2 means that you're
curious and work over time to better understand how web servers and
databases and operating ...
A new way to call C from Java: how fast is it?
lemire.me
Irrespective of your programming language of choice, calling C functions is often a necessity. For the longest time, the only standard way to call C was the Java Native Interface (JNI). But it was so painful that few dared to do it. I have heard it said that it was deliberately painful so that people would be enticed to use pure Java as much as possible.
Since Java 22, there is a new approach called the Foreign Function & Memory API in java.lang.foreign . Let me go through step by step.
You...