
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...
Mapping Strings to Float Arrays in Go: How Fast Can We Go?
lemire.me
A common pattern in modern software is to map a string key to a small array of floating-point numbers. Word embeddings, feature vectors, lookup tables for physical constants: all variations on the same theme. In Go, the obvious way to write this is a map[string][]float32 . But how fast is it, really, and can we do better?
I have been working on constmap , a Go library that builds an immutable map from strings to uint64 values using the binary fuse filter construction . A lookup amounts to...
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...
Writing my post on how I use my phone in grayscale yesterday got me thinking about other customisations I make to the computing devices I use. The first one that came to mind is that I keep my laptop, and by extension my external display when I am using it, in night shift mode at all times. According to Apple, night shift mode “adjusts the colours of your display to the warmer end of the spectrum – making the display easier on your eyes.” I have had night shift mode enabled on my lapto...
When Steve Jobs unveiled the iPhone in January 2007,
the crowd responded as if Apple had conjured something from nothing.
What neither Jobs nor the press mentioned was that
every technology in that device had been developed with government money.
The internet it connected to had been built by the Defense Advanced Research Projects Agency.
The GPS it used had been developed and maintained by the US Air Force,
which had turned off the deliberate signal degradation for civilian users only seven yea...
India’s Chandrayaan 4 lunar sampling mission cross-pollinates science, rockets, governance, and human spaceflight
jatan.spaceGraphic: Jatan Mehta | Individual images of the Launch Vehicle Mark III (LVM3) rocket, the two Chandrayaan 4 spacecraft stacks, and the Moon’s south pole: ISRO / NASA / GSFC / Timothy McClanahan / LOLA Announcement before we begin: I’m excited to welcome Catalyx Space as a returning sponsor of my independent space writing ! 🌗 Having raised $5.4 million in seed funding, Catalyx is building fully integrated autonomous labs and re-entry capsules for microgravity and in-space m...

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...
Minimal Viable Zig Error Contexts
May 3, 2026
fn process_file (io: Io, path: [] const u8 ) ! void {
errdefer log.err( "path={s}" , .{path});
const fd = try Io.Dir.cwd().openFile(io, path, .{});
defer fd.close(io);
// ...
}
Out of the box, Zig provides minimal and sufficient facilities for error handling —
strongly-typed error codes .
Error reporting is left to the user. Idiomatic solution is to pass a Diagnostics out paramete...

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

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 ...
🏃🚶 The unofficial Current London 2026 Run/Walk 🏃🚶
rmoff.net
Another year, another Current—another 5k run/walk for anyone who’d like to join!
Did I mostly copy-and-paste this from last year’s post ? You bet I did!
Another year, another Current—another 5k run/walk for anyone who’d like to join!
Did I mostly copy-and-paste this from last year’s post ? You bet I did!
Another year, another Current—another 5k run/walk for anyone who’d like to join!
Another year, another Current—another 5k run/walk for anyone who’d l...
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...
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...
Should I do something similar?
I don't have an academic journal like they do. I would need to find something that would work for a regular web site. I looked for recommendations for BibTeX, and found several suggestions on stackoverflow :
@misc{…}
@electronic{…}
@internet{…}
@online{…}
The answers on that page and elsewhere were consistent about using
title = {…}
author = {…}
but inconsistent about
year = {…} vs originalyear = {…...

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...
Vibe coding and agentic engineering are getting closer than I'd like
simonwillison.netI recently talked with Joseph Ruscio about AI coding tools for Heavybit's High Leverage podcast: Ep. #9, The AI Coding Paradigm Shift with Simon Willison . Here are some of my highlights, including my disturbing realization that vibe coding and agentic engineering have started to converge in my own work.
One thing I really enjoy about podcasts is that they sometimes push me to think out loud in a way that exposes an idea I've not previously been able to put into words.
Vibe coding and agent...
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...

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