This text below post is presented verbatim, as it was typed with only a keyboard: without a display or any assistive technology. Typos are left in. The "Notes after writing" and "My writing setup" sections were typed on my Mac as I prepared to publish the post. This is my first ever blog post written without a display. I have wanted a tool like this for a while, but my motivation for finally building something was seeing Jo's excellent implementation of the idea. Jo used a Raspberry Pi 400 with ...

Yesterday I received an email from the Thunderbird team inviting me to join a preview of their new hosted email service, Thunderbird Pro . I love email, so was very keep to sign up and test it out.
Before we get into this, I want to say that Thunderbird Pro is still under active development, please bear that in mind. Also, these are just my opinions, please don't get butthurt.
What is Thunderbird Pro?
I hate it when people explain what things are in a blog post, but I think it's warran...
A composite of images of Jupiter and its four largest moons: Io, Europa, Ganymede and Callisto. Europa is about the same size as our Moon whereas Ganymede is bigger than the planet Mercury. Image: ESA Recipes to make moons Weirdest types of moons in the Solar System When will we explore Saturn’s moon Enceladus to find alien life? Water plumes from Saturn’s icy moon may show promising signs of life Is life possible on rogue planets and moons? Missions: Japan wants to sample Mars’ moon Pho...

Over the last couple of months Rahul Garg published a series of posts here on how to reduce the friction in AI-assisted programming . To make it easier to put these ideas into practice he’s now built an open-source framework to operationalize these patterns .
AI coding assistants jump straight to code, silently make design decisions, forget constraints mid-conversation, and produce output nobody reviewed against real engineering standards. Lattice fixes this with composable skills in ...
Readers will be familiar with Mask-Step-Index (MSI) hash tables , a
technique for building fast, open-addressed hash tables in a dozen lines
of code . If multiple threads or processes access an MSI table with
at least one still inserting elements, care must be taken to avoid data
races. This article will show how to add atomic operations to MSI tables
in order to support different concurrency constraints.
Let’s begin with the simplest case: An integer hash set, no deletions,
only one inse...
In August 2016,
the European Commission ordered Apple to repay thirteen billion euros in back taxes to Ireland.
The commission had investigated Apple’s tax arrangements in Ireland
and concluded that they amounted to illegal state aid:
Ireland had given Apple a selective advantage unavailable to other companies,
allowing the company to pay an effective tax rate of 0.005% on European profits
of sixteen billion euros in 2014.
The Irish government was ordered to collect the money,
and promptly a...
Redis array type: short story of a long development
antirez.comI started working on the new Array data type for Redis in the first days of January. The PR landed the repository only now, so this code was cooked for four months. I worked at the implementation kinda part time (kinda because many weeks were actually full time, sometimes to detach yourself from the keyboard is complicated), and even before LLMs the implementation was likely something I could do in four months. What changed is that in the same time span, I was able to do a lot more. This is the ...
I am a smolweb advocate and, sometimes, I use LLMs.
2026-05-02 19:15
I spend a lot of time thinking about simplicity. Fewer dependencies, lighter
pages, tools that do one thing well. So yes, it might look strange that I also
spend time talking to large language models. Let me explain where I draw the
line, and why I think the contradiction is smaller than it appears.
What I avoid
I do not use LLMs to generate images, musics or videos. Not because I am against
creativity, but because that...

Suppose that x is a variable of an unsigned type. In C/C++, it could be of type size_t for example.
You have an expression like 6 * x and you want to know whether 6 * x overflows. That is, you want to know if 6 * x exceeds the range of values that can be represented by the type. In most cases, a variable of type size_t will be about to represent all values in the range [0, 2^64-1] . Instead of 64, let me use a variable for the number of bits: [0, 2^L-1] .
The easiest approach i...

Fire Kirin XYZ pulls in attention with arcade-style fish games and a $20 no-deposit reward. After spending real time on the platform, several issues turned up that raise questions about its trustworthiness. This breakdown covers the bonuses, gameplay, payout details, and safer sweepstakes alternatives so you can decide whether the risk is worth taking.
Fire Kirin XYZ Sign-Up Bonus: $20 Free Credits
Fire Kirin XYZ gives every new account holder a $20 credit without any upfront deposit. Regi...

I’d like to start here (as opposed to somewhere else?) by putting something on the record. Or the cassette tape, or whatever. Travan tape? LTO?
My esteemed BSD Now podcast co-host Tom says he has enough computers; sentiment to which I can relate. I have enough of these electronic contraptions to last me a lifetime of tinkering, upgrading, maintaining, maintaining, maintaining and did I mention…? Naturally then, I’d like to clarify that I have absolutely no need for additional machine...
I'm at Anthropic's Code w/ Claude event today. Here's my live blog of the morning keynote sessions. You are only seeing the long-form articles from my blog. Subscribe to /atom/everything/ to get all of my posts, or take a look at my other subscription options . I'm at Anthropic's Code w/ Claude event today. Here's my live blog of the morning keynote sessions. You are only seeing the long-form articles from my blog. Subscribe to /atom/everything/ to get all of my posts, or take a look at my...
Configuring Mikrotik devices to be Access Points without NAT
stfn.plThis is a topic that I have been planning to dive into for a long time, but I
kept procrastinating. Yet, finally I sat down to it and found out it is much,
much simple than I anticipated.
I am a fan of MikroTik. They make high quality network devices for a good price,
and they are based within the EU, in Latvia, close to my country of Poland. On
the other hand, the learning curve of their software is so steep that sometimes
feels to be a vertical wall. Especially for a person like me without a...
The Kubernetes iceberg.
If I’d have to describe my homelab setup via analogy I guess it would be similar to me on a unicycle carrying plates with both of my hands, or maybe a leaking barrel with water that I try to patch up with silver tape.
I’ve also been Kubernetes-curious so I decided to completely redesign my homelab, centered around Kubernetes.
It was a bit painful but at least it fulfilled my need for procrastination very well.
Overarching goals
I’ve got three goals with t...
Links to CSS colour palettes
jvns.caA while back I decided to stop using Tailwind for new projects and to just write
vanilla CSS instead.
But one thing I missed about Tailwind was the colour palette ( here as CSS ).
If I wanted a light blue I could just use blue-100 and if I didn’t like it
maybe try blue-200 or blue-50 . I’m not very good with colours so it makes
a big difference to me to have a reasonable colour palette that somebody who is
better at colour than me has thought about.
But I’m also a little tired o...

Qiji T1000 quadruped from Dax Robotics, via Reddit . Welcome to the reading list, a weekly roundup of news and links related to buildings, infrastructure, and industrial technology. This week we look at chilling effects in the build-to-rent sector, how fast could robot manufacturing scale up, PJM’s new interconnection queue, the backlash against battery storage, and more. Roughly 2/3rds of the reading list is paywalled, so for full access become a paid subscriber. War in Iran The latest war-r...

Before he changed the way we understand lightning on Earth, Joseph Dwyer studied the weather in more cosmic settings. Using the sensors on NASA’s Wind satellite, orbiting a million miles away, he watched flares shoot out from the sun and analyzed the particles that stream from the sun’s surface. But when he relocated to Florida around the turn of the millennium, Dwyer felt ready for something new…
Source Before he changed the way we understand lightning on Earth, Joseph Dwyer studied th...
AI Slop is Killing Online Communities
rmoff.net
Like a young child coming home from kindergarten with their latest crayon scrawls, the internet is currently awash with people sharing their AI-generated work.
And just like the young child’s drawings, much of that work should be proudly put up on the walls within the artist’s house—and no further.
Like a young child coming home from kindergarten with their latest crayon scrawls, the internet is currently awash with people sharing their AI-generated work.
And just like the young child...
A computer that's just a keyboard, no screen
dead.gardenOh you mean like with audio output instead
Nope. No output at all. Just input. With the keyboard.
Why
Short answer: why not?
Long answer: James floated this idea at IWC / BTconf of a PC that's just a keyboard for taking notes; and I said that's totally doable and probably not hard at all to do, since computers that are inside a keyboard already exist. So here's me putting my money where my mouth is.
Read more on the site… Oh you mean like with audio output instead
No...
As the blog of record in computational complexity, we like to bring attention to those in the community who have left us. When we learn of someone in our field who has died, Bill and I will talk to each other and decide whether we should do a social media post or a full blog post, and who should write it, Bill, me, or someone else. In fact, if I call Bill, he'll often answer the phone with "who died?" We also remember those who passed away during the year in our end-of-year post. One challenge i...

I've been reflecting a bit on my philosophy of learning stuff. How I like to think about things (and maybe how you like to think about things, if you like to read this newsletter).
I make a lot of observations of the form " X is Y " which tend to get understood sometimes as being reductive, and missing important aspects of both concepts. Which is strange to me because I think it seems fairly clear that the intended reading of "X is Y" is "one way, of many, of conceiving of X is that it is an i...

Language is constantly evolving, particularly in some communities. Not
everybody is ready for it at all times. I, for instance, cannot stand that my
community is now constantly “cooking” or “cooked”, that people in it are “locked
in” or “cracked.” I don’t like it, because the use of the words primarily
signals membership of a group rather than one’s individuality.
But some of the changes to that language might now be coming from … machines?
Or maybe not. I don’t kno...

Last week I listened to episode 70 of the Complimentary podcast.
The hosts, Katie and Anthony, were discussing what they think is easy to design and what’s hard. They discussed:
Illustrations
Notifications
Typography
Animation
Form design
They both seemed to agree that form design is easy. Although Katie did temper that by saying:
“Form design could be easy if designers stopped making it so complicated.”
She’s got a point.
You only have to look at Material Design...