Explaining nil interface{} gotcha in Go
A footgun
In Go empty interface is an interface without any methods, typed as interface{} .
A zero value of interface{} is nil :
var v interface {} // compiler sets this to nil, you could explicitly write = nil
if v == nil {
fmt . Printf ( "v is nil\n" )
} else {
fmt . Printf ( "v is NOT nil\n" )
}
Try online
This prints: v is nil .
However, this sometimes trips people ...
According to my mother, I was birthed into this world late in the morning, on the 6th day of July in the year 1989 (a small part of me is bummed that I didnāt arrive into this world at precisely 10:11 am). That means today is my 36th birthday.
Contrary to other people, I never cared about posting something on July 6th here on the blog. Since 2017, the year I stared this blog, I only posted twice on July 6th: back in 2018 I wrote a blog post about typography and spacing in CSS āsomething I...

Looking around in thought, I notice one of the trees outside is swaying from the wind. It has been a bit cooler in the latter half of the week ā most welcome after the warm weather of late. There are a few raindrops on the window from when the rain was falling earlier, but are only noticeable if you look from one perspective.
I have been listening to the sounds of the trees a lot lately. In summer, I can keep my windows open more, amplifying the sound of Nature outside. I hear birds singing;...
Fifty percent of Australians live in the red areas
rubenerd.com
I knew already, but wow a visualisation makes all the difference! With thanks to ZarlokX on Wikimedia Commons :
Youāll read that Australia is one of most sparcely populated places in the world. Thatās true if you average us out over the continent, but not if you see where most people live.
Iām in that red blob on the south-east coast :). Most of my Australian friends online are in the red blob at the bottom, and itās where Clara and I almost moved last year. The blob in the midd...
James and I are doing a collab post, reviewing and sharing thoughts on poems that we sent each other. You can read his post here
Read more on the site⦠James and I are doing a collab post, reviewing and sharing thoughts on poems that we sent each other. You can read his post here
Read more on the site⦠James and I are doing a collab post, reviewing and sharing thoughts on poems that we sent each other. You can read his post here James his post here Read more on the site⦠...

When Thomas Hummel gets a whiff of an unripe, green tomato, he finds himself in his childhood home in Bavaria. Under the tilted ceilings of the bedroom that he shared with his two older brothers, there were three beds, a simple table and a cupboard. āMy mother put those green tomatoes on the cupboard for them to ripen,ā said Hummel, an olfaction researcher at the Carl Gustav Carus Universityā¦
Source When Thomas Hummel gets a whiff of an unripe, green tomato, he finds himself in his chil...

If you've been following me on Twitter, you know I'm not a big fan of MCP
( Model Context Protocol )
right now. It's not that I dislike the idea; I just haven't found it to work as
advertised. In my view, MCP suffers from two major flaws:
It isnāt truly composable. Most composition happens through inference.
It demands too much context. You must supply significant upfront input, and
every tool invocation consumes even more context than simply writing and
running code.
A quick e...
One unassuming week of September 2022, Google DeepMind dropped a fully-fledged
CPython JIT called S6 squashed to one
commit. I had heard nothing of its development even though I was working on
Cinder at the time and generally
heard about new JIT efforts. I started poking at it.
The README has some excellent structural explanation of how they optimize
Python, including a nice introduction to hidden classes (also called shapes,
layouts, and maps elsewhere). Hidden classes are core to making...

Jet engine test stand with a turbulence control structure, via @sci_fi_infra . Welcome to the reading list, a weekly roundup of news and links related to buildings, infrastructure, and industrial technology. This week we look at a microscopic electric motor, Californiaās CEQA rollback, a US shipbuilding startup, Chinese map obfuscation, and more. Roughly 2/3rds of the reading list is paywalled, so for full access become a paid subscriber. No essay this week, but working on a piece about feder...
Frequently Asked Questions (And Answers) About AI Evals
hamel.dev
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PKGWQMKL" height="0" width="0"></iframe>
This post curates the most common questions Shreya and I received while teaching 700+ engineers & PMs AI Evals. Warning: These are sharp opinions about what works in most cases. They are not universal truths. Use your judgment.
š We are teaching our last and final cohort of our AI Evals course next month (we have to get back to building). Here is a 35% discount code for...
Automated logistics will heavy impact one third of GDP.Ā ...
Read More
Automated logistics will heavy impact one third of GDP.Ā ...
Read More
Automated logistics will heavy impact one third of GDP.Ā ...
... Read More Read More
I recently had the privilege and pleasure of co-writing a post on the Swift programming language blog about Appleās Password Monitoring service and its re-write from Java to Swift . The positive impact on memory use and overall throughput were stunning. Give it a read!
I recently had the privilege and pleasure of co-writing a post on the Swift programming language blog about Appleās Password Monitoring service and its re-write from Java to Swift . The positive impact on memory use and o...
Mini NASes marry NVMe to Intel's efficient chip
I'm in the process of rebuilding my homelab from the ground up, moving from a 24U full-size 4-post rack to a mini rack .
One of the most difficult devices to downsize (especially economically ) is a NAS. But as my needs have changed, I'm bucking the trend of all datahoarders and I need less storage than the 120 TB (80 TB usable) I currently have.
Jeff Geerling
July 4, 2025
Mini NASes marry NVMe to Intel's eff...
A function that satisfies f(-x)=f(x) for its entire domain is
called an even function (also sometimes referred to as symmetric ).
Its graph is symmetric w.r.t. the y axis. Some examples of even
functions are f(x)=x^2 and f(x)=cos(x) :
A function that satisfies f(-x)=-f(x) for its entire domain is
called an odd function (also sometimes referred to as
anti-symmetric ). Its graph is flipped to negative across the y axis.
Note that all odd functions must have f(0)=0 . Some exam...
Installing Actual Budget expense tracker in LXD and serving it using Tailscale with TLS.
stfn.plSelf-hosting another service with my newest favourite combination: LXD and Tailscale Self-hosting another service with my newest favourite combination: LXD and Tailscale
goHardDrive Leaked Personal Data for Thousands of Customers
mtlynch.io
I recently returned a product to goHardDrive, a merchant that specializes in selling used hard drives. During the return process, I discovered that they were accidentally publishing details about thousands of their customers, including their full names, mailing addresses, email addresses, and order details.
The leak
When I requested a return from goHardDrive, they assigned me a return merchandise authorization (RMA) number ending in five numeric digits. Iām not publishing my actual RMA num...
We denote the busy beaver function by BB. BB(n) is the max time a Turing machine of size n takes to halt on the empty string. (A particular model of TM and a notion of size has become standardized.) BB(n) grows faster than any computable function. That is obviously interesting. What is less obvious (andĀ some of my co-bloggers disagree) the pursuit of actual values of BB is interesting. For an excellent overview of the BB numbers, written in 2020 (that is relevant) by Scott Aaronson, seeĀ here...
Unsoundness and accidental features in the <nobr><code>#[target_feature]</code></nobr> attribute
predr.ag
Researching the SemVer hazards of the #[target_feature] attribute led to finding unexpected unsoundness, discovering an "accidental feature" in Rust, finding bugs in rustdoc , the creation of an RFC that evolves the Rust language , and the addition of a dozen new SemVer lints. My work on cargo-semver-checks benefits the Rust ecosystem in more ways than just preventing breakage! Researching the SemVer hazards of the #[target_feature] attribute led to finding unexpected unsoundness, dis...
Writing to Apache Iceberg on S3 using Kafka Connect with Glue catalog
rmoff.net
Without wanting to mix my temperature metaphors, Iceberg is the new hawtness, and getting data into it from other places is a common task.
I wrote previously about using Flink SQL to do this , and today Iām going to look at doing the same using Kafka Connect.
Kafka Connect can send data to Iceberg from any Kafka topic.
The source Kafka topic(s) can be populated by a Kafka Connect source connector (such as Debezium), or a regular application producing directly to it.
Iā...
On SpaceNews going paywalled, and the broader disregard for archiving in journalism
jatan.spaceThis article is a break from my usual because space communities worldwide are affected by this important topic, and I have some thoughts to offer to add to the discussions. SpaceNews , a well known media publication in the global space industry, went paywalled for its website on July 1 with a short announcement . This led many longtime readers such as myself to run into the following view on its articles. The new SpaceNews digital access paywall Considering that SpaceNews typically publishes we...
JSON, or JavaScript Object Notation, is a lightweight data-interchange format. It is widely used for transmitting data between a server and a web application, due to its simplicity and compatibility with many programming languages.
The JSON format has a simple syntax with a fixed number of data types such as strings, numbers, Booleans, null, objects, and arrays. Strings must not contain unescaped control characters (e.g., no unescaped newlines or tabs); instead, special characters must be esca...

Iāve been slowly sorting through and cleaning up my disorganized collection of notes. I came across one from a few years ago when I was reading Emergent Strategy by adrienne maree brown.
This quote in particular keeps ringing ringing ringing in my head:
The future is not an escapist place to occupy. All of it is the inevitable result of what we do today, and the more we take it in our hands, imagine it as a place of justice and pleasure, the more the future knows we want it, and that we...

By Vipul Marlecha , Lara Deek , ThiaraĀ Ortiz The mission of Open Connect , our dedicated content delivery network (CDN), is to deliver the best quality of experience (QoE) to our members. By localizing our Open Connect Appliances (OCAs), we bring Netflix content closer to the end user. This is achieved through close partnerships with internet service providers (ISPs) worldwide. Our ability to efficiently localize traffic, known as Content Delivery Efficiency, is a critical component of Open...