Putting this blog on ATProto with standard.site
rednafi.com
Mirroring a static Hugo blog onto ATProto with standard.site and Sequoia, plus the GitHub Actions wiring that republishes the records on every push without any manual steps. Mirroring a static Hugo blog onto ATProto with standard.site and Sequoia, plus the GitHub Actions wiring that republishes the records on every push without any manual steps.

“Glasgow, Saturday Night” by John Atkinson Grimshaw, via Wikipedia . Welcome to the reading list, a weekly roundup of news and links related to buildings, infrastructure and industrial technology. This week we look at chatbots replacing realtors, Chinese synthetic diamonds, Australian batteries, Meta’s data center tents, and more. Roughly 2/3rds of the reading list is paywalled, so for full access become a paid subscriber. Iran war Iran breaks off negotiations with the US and vows to “c...
Today I attended my first Magic the Gathering (MtG) draft: a “secret draft,” where players did not know ahead of time what series of the trading card game would be played. The event was held in a breathtaking church building, now used as a community centre. The building is also home to the Pianodrome , an organisation that creates sculptures with pianos that people no longer want. Before I entered the building, I was enamoured with the architecture. The beauty of my surroundings helped calm...

I t was the dead of winter in Boston. The surface of the Charles River was frozen solid. But Zachary Kelso braved the biting cold to finally put to rest a mystery that has haunted neuroscience labs for over half a century. To do that, Kelso, a research assistant in the Harvard lab of the neuroscientist Sam Gershman, needed some worms. Specifically, planarians: arrow-headed flatworms…
Source I t was the dead of winter in Boston. The surface of the Charles River was frozen solid. But Zachary ...
This is an external post of mine. Click
here
if you are not redirected.
This is an external post of mine. Click
here
if you are not redirected. This is an external post of mine. Click
here
if you are not redirected. here
This week on the People and Blogs series we have an interview with Barry Hess, whose blog can be found at bjhess.com .
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?
I’m a programmer-type from rural Minnesota. I grew...

The book can’t compete with the screen. It couldn’t compete beginning with the
movie screen, it couldn’t compete with the television screen, and it can’t
compete with the computer screen. — Philip Roth
We’re halfway through 2026, and according to Goodreads I’ve read 80 books
so far, fiction and non-fiction and textbooks, including such doorstoppers as
Life and Fate (864p, astoundingly good). And I don’t feel like I’m
trying particularly hard. I still have plenty of tim...
Do web components make your design system framework-agnostic?
adamsilver.io
I recently read a blog post claiming that web components can make your design system framework agnostic.
But this is down to the false dichotomy between engineers who:
love React (or the current popular thing)
hate React (or the current popular thing)
React is probably a bad choice for your design system. But that’s not an argument against libraries or frameworks.
That’s an argument for choosing something better than React.
Either way, the claim that web components give you a...
How much do amd64 microarchitecture levels help in Go?
lemire.me
Our 64-bit Intel and AMD processors have evolved over decades. When you compile a Go program for a 64-bit Intel or AMD processor, the compiler targets, by default, a nearly 20-year-old instruction set. The binary that comes out runs on essentially any x64 chip, but it also leaves on the table every instruction that was added since 2003.
We often refer to microarchitecture levels . Each level bundles a set of instruction-set extensions that you can assume are present:
Level
Adds (rou...
Automatic programming dramatically speeds up writing software in certain use cases and in the right hands. In my experience the output does not reach the structural quality and economy of complexity of the best hand-written software. However, not all the software is stellar, and my feeling is that automatic programming surpasses most of the times (and if well managed) the quality of decently developed hand-written code.
Yet, there is a tradeoff between quality and time, in the case of writing...

There is a strange thing that happens in communities that gather around
abstinence from something: identity from opposition. At their best these
communities are not just negative: childfree spaces can be about autonomy,
choice and acceptance, anti-car spaces about safer streets and transit, and
LLM-skeptical developer spaces about the future of labor, code quality and
slop 1 . But the thing being refused often does not go away and instead
becomes the main subject of the community’s identit...
Since the PiKVM came out in 2017, there's been an explosion of IP KVMs. I've tested almost every one . But what are they good for?
You can use Remote Desktop, Screen Sharing, or VNC to remote control a computer from anywhere on a LAN. And if you don't have a private VPN, you could use RealVNC , Raspberry Pi Connect , or wire up Tailscale or Pangolin for fully remote access. Those solutions are great, and so is SSH if you don't need a full desktop.
Since the PiKVM came out in 201...

Hello,
Nice to see you all again so soon.
Mixed rockets Genhis
Imagine you are setting up your first space platform. You start building tiles, a full rocket-load is sent.
When you need belts, assembling machines or furnaces, again, a full stack is sent.
A small platform could request 10-20 automated rockets and leave plenty of unused items in the inventory.
The advantage is that you don't have to wait for more when you decide to rebuild it or add machines.
This is how we ...
A single server processes two job classes:
High-priority jobs (class H) arrive frequently and are served quickly.
Low-priority jobs (class L) arrive rarely and take longer to serve.
The server always picks the highest-priority job available. Total server utilization $\rho = \rho_H + \rho_L < 1$, so the server has spare capacity on average. Yet low-priority jobs can wait far longer than the utilization level suggests they should.
Static Priority: Starvation at Moderate Load
With a s...

Programmers were better back in the day, weren’t they? Back when we had real programmers. Not just people who got paid to write code, but people who lived it, who were obsessed with their craft, and whose code was a lively expression of themselves. Hackers were hackers in those days before money took over the industry.
Don’t even get me started on LLMs. Could there be a better example of today’s degenerate spirit? A machine to mass-produce software (not good software, just barely good ...
Compilers, especially method just-in-time compilers, operate on one function at
a time. It is a natural code unit size, especially for a dynamic language JIT:
at a given point in time, what more information can you gather about other
parts of a running, changing system?
I don’t have any data to back this up—maybe I should go gather some—but on
average, methods are small. Especially in languages such as Ruby that use
method dispatch for everything, even instance variable (attribute, fiel...

A cottagecore desk setup leans on vintage wood, plants, and warm light. The trouble is, a lot of these setups photograph well and then fall apart the moment you actually try to work eight hours at them.
This guide keeps the look you want and fixes the parts that usually get ignored, like posture, cable mess, and lighting that doesn’t fry your eyes by 3pm.
Start With a Desk That Holds the Cottagecore Look
A secondhand wooden desk does most of the heavy lifting. Look for s...

I've been experimenting with different approaches to running code in a sandbox for several years now, but my latest attempt feels like it might finally have all of the characteristics I've been looking for. I've released it as an alpha package called micropython-wasm , and I'm using it for a code execution sandbox plugin for Datasette Agent called datasette-agent-micropython .
Why do I want a sandbox?
What I want from a sandbox
WebAssembly looks really promising here
MicroP...
A few months ago I wrote about using LLM agents to help restructuring one of my
Python projects .
It's worth beginning by saying that the
rewrite has been successful by all reasonable measures; I've been able to
continue maintaining that project since then without an issue.
In this post, I want to discuss another project I've recently completed with
significant help from agents: watgo . In
this project many things are different; most notably, it's a from-scratch
project rather than a rewrite...

Sometimes Sydney Trains runs a special train, just for me! Or at least, I pretend they do. How luxurious.
As an aside, for those of you who live in cities with double deck train carriages, do you sit upstairs or down? I tend to sit downstairs, because the rocking motion of taller carriages is reduced slightly… though I admit the upper deck is more fun when I know I’ll be crossing the Harbour Bridge.
By Ruben Schade in Sydney, 2026-06-05. Sometimes Sydney Trains runs a special trai...

This post is a little side-quest from my “Kafka Share Groups and Parallelizing Consumption” series. My “Kafka Share Groups and Parallelizing Consumption” series ( part 1 , part 2 ) has been laser focused on how different configurations and behaviors affect parallel consumption in share groups (Queues for Kafka). So far I’ve shown that you most definitely can hold share groups wrong . You could quite easily and inadvertently create a work queue and with the right combination of things...
IPv6 is weird. One of the more strange parts of the standard is that every interface's link local addresses are in fe80::whatever . If you have a machine with two network interfaces, both of them will be in fe80:: , so if you have a packet destined to fe80::4 , how do you disambiguate it?
The answer is you use IPv6 scopes/zones . The exact format of what goes into a zone is OS dependent, but on Linux it's the interface name and on Windows it's the interface ID. This lets the kernel...

“I will not say "Do not weep", for not all tears are an evil.”
― The Lord of the Rings
On my way to the last stop in New Zealand, I spent a good amount of time at the Ōhau Point Lookout , which is known for a nearby fur seal colony.
At one point, another photographer pointed out dolphins in the ocean. While they were quite far away, it was interesting to see their acrobatic talents in action.
My trip ended in Kaikōura , with a rocky beach right next to my hostel.
...