
Last September I’d had my eye on a specific electronic diagnostic tool at a $LargeRetailer for several weeks, to the point where I had put it in my “cart” and taken it out several times. It would make my life significantly easier in one key area, but I couldn’t justify the cost. The problem was, there were precious few of these devices available. Turns out, this is fertile ground for some retail dark patterns.
(I write in vague tones because the device itself isn’t that important...

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...
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...
As I mentioned to the supporters on Ko-fi a week ago, I am currently considering the possibility of pausing the series at the end of this third year, with the last interview going live on August 28th. There are a few reasons for this.
The first reason is that running the series is starting to become more annoying and time-consuming over time. I tried to simplify my life as much as possible, recoded part of my site to make it easier to manage and publish the series, but at the end of the day, i...
ASCII characters are not pixels: a deep dive into ASCII rendering
alexharri.com
A look at how I used shape vectors to achieve sharp, high-quality ASCII rendering. A look at how I used shape vectors to achieve sharp, high-quality ASCII rendering.
One of my oldest open-source projects - Bob
- has celebrated 15 a couple of months ago .
Bob is a suite of implementations of the Scheme programming language in Python,
including an interpreter, a compiler and a VM. Back then I was doing some hacking
on CPython internals and was very curious about how CPython-like bytecode VMs
work; Bob was an experiment to find out, by implementing one from scratch for
R5RS Scheme.
Several months later I added a C++ VM to Bob ,
as an exercise to learn how...
s21e03: The Problem is Defining the Problem; The Unreasonable Effectiveness of Caring
newsletter.danhon.com
0.0 Context Setting
I am sneakily writing this on Wednesday, January 14, 2026 in Portland Oregon, where I just finished writing the previous episode.
It is taking a lot of energy to deal with my impulse control to post this straight away, and what I’m going to do instead is schedule it for Thursday, just to annoy Pavel and beat his issue of The Product Picnic 1 .
1.1 The Problem is Defining the Problem
I’m not, personally, worried too much about AI completely devastating my work....
I want to continue with my series on how you can use Claude Code for software
development , but I have at least two posts I need to write
first. This post is one of those two. Thanks for all of the kind words you all
have said about the first post in the series, I’ll absolutely be continuing it,
hopefully next week.
With that out of the way… let’s talk about Gas Town. If you’re not familiar,
it’s a project from Steve Yegge that has a lot of people having a lot of
feelings. Steve lau...

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 a room full of product managers and 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 meeting was meant to show the before/after of the redesigns and show what it looks like to just use the si...
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 ...

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

Previously on Computers Are Bad, we discussed the early history of air
traffic control in the United States .
The technical demands of air traffic control are well known in computer history
circles because of the prominence of SAGE, but what's less well known is that
SAGE itself was not an air traffic control system at all. SAGE was an air defense
system, designed for the military with a specific task of ground-controlled
interception (GCI). There is natural overlap between air defense and ...

Just as there’s no single best way to organize your bookshelf, there’s no one-size-fits-all solution to storing information. Consider the simple situation where you create a new digital file. Your computer needs to rapidly find a place to put it. If you later want to delete it, the machine must quickly find the right bits to erase. Researchers aim to design storage systems…
Source Just as there’s no single best way to organize your bookshelf, there’s no one-size-fits-all solution to...
The opposite of freedom is oppression. Man is born into a state of freedom. Through a man’s interactions with the world, he finds himself oppressed or restricted in ways that limit this natural freedom. Man ought to introduce government in accordance with the principle that a society is only as good as the most oppressed man within the society. Participation in a governed society can be incentivized by the prospect of safety from oppression. It is possible for a governmental structure to cre...
I don't like being interrupted when I'm deep in flow working on things. When my flow is interrupted, it can feel like my focus was violently stolen from me and the mental context that was crystalline falls apart into a thousand pieces before it is lost forever. With this in mind, being asked to do a "quick" 5 minute task can actually result in over an hour of getting back up to speed.
This means that I sometimes will agree to do things, go back into flow (because if I get back into flo...
Moon Monday #258: Tests China will conduct this year in prep towards landing humans on Luna
jatan.spaceA beautiful image of the Long March 2F/G rocket silhouetted against the backdrop of our Moon. The rocket launched the Shenzhou 21 crew towards China’s Tiangong space station. Image: CMG / CCTV / CNSA In 2025, China progressed on many elements which will help the country land humans on the Moon by 2030 , notably including successful tests of the launchpad escape system , lander propulsion , and the rocket booster core stage . This year, China aims to complete testing several more asp...

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

https://austinhenley.com/blog/ladybugclock.html https://austinhenley.com/blog/ladybugclock.html https://austinhenley.com/blog/ladybugclock.html
I used to think that when I retired,
I would spend my time writing short tutorials on topics I was interested in
as a way to learn more about them myself.
I’ve now been unemployed for three months,
and while I’ve written some odds and ends,
it’s not nearly as fulfilling as I expected
because I know that
most people aren’t going to read a three-thousand word exposition of discrete event simulation:
they’re going to ask an LLM,
and get something pseudo-personalized in return.
To be c...
You don’t “need retries in Kafka” until the day one of your handlers starts failing and you’re forced into a choice: block consumption (and watch lag climb) or keep consuming and retry somewhere else.
This post is about one very pragmatic approach: commit the Kafka offset even when processing fails , then push the failed message into a Go retry queue. Kafka keeps moving, and your application owns the retry policy.
Quick context (assuming you already speak Kafka): consumer groups spl...
So you’ve installed Visual Studio and you want to run the compiler cl.exe from command-line. Microsoft makes it surprisingly hard.
They give you a shortcut which opens a terminal window with cmd.exe setup for compilation. But I don’t want a separate window, I want to use the terminal app.
You can run cmd.exe /k "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64 (location for your setup can be different).
But I don’t want to run ins...
Today Raspberry Pi launched their new $130 AI HAT+ 2 which includes a Hailo 10H and 8 GB of LPDDR4X RAM .
With that, the Hailo 10H is capable of running LLMs entirely standalone, freeing the Pi's CPU and system RAM for other tasks. The chip runs at a maximum of 3W, with 40 TOPS of INT8 NPU inference performance in addition to the equivalent 26 TOPS INT4 machine vision performance on the earlier AI HAT with Hailo 8.
Today Raspberry Pi launched their new $130 AI HAT+ 2 which includes ...