New
The latest blog posts to take off on Hacker News. 3,497 posts.
The Drunken Bishop Algorithm
There’s a tradition in my family that everyone takes a turn stirring a secret wish into the yearly christmas pudding . It’s important that the wishes remain secret to the wisher or the pudding magics wont work so since moving to America I’ve implemented a new way of hashing my wish so it can be stirred in via text…
Lead Poisoning and Rome
"The bellows are burned, the lead is consumed of the fire; the founder melteth in vain: for the wicked are not plucked away. Reprobate silver shall men call them, because the Lord hath rejected them."
Mario Paint Masterpiece
Mario Paint the 1992 masterpiece game, music-maker, and animation studio
SAML Is Insecure by Design
What is SAML? Security Assertion Markup Language (SAML) is an open standard for exchanging authentication and authorization data between parties. Source: Wikipedia SAML is often used for single-sign on (“Sign in with Google”, “Sign in with Twitter” etc.). It means when you want to log in to example.com, example.com…
Uptime Lab's CM4 Blade Adds NVMe, TPM 2.0 to Raspberry Pi
A few weeks ago, I received two early copies of Uptime.Lab's CM4 Blade. The Blade is built for the Raspberry Pi Compute Module 4, which has the same processor as the Pi 4 and Pi 400, but without any of the built-in IO ports. You plug the CM4 into the Blade, then the Blade breaks out the connections to add some…
Early Retirement (2006)
The joys, challenges, and some practical aspects of retiring young.
Simple Systems Have Less Downtime (2020)
The Maersk Triple-E Class container ship is 1,300 feet long, carries over 18,000 containers across 11,000 miles between Europe and Asia, and… Its entire crew can fit inside a passenger van. As a former naval architect and a current marketing consultant to startups, I found that
The surreal experience of my first developer job
Nearly ten years ago I graduated with a degree in Mathematics & Computing, with a keen interest in pursuing a career involving maths and programming, but with little idea how. First and foremost I had decided to stay in Manchester after uni, rather than risk getting stuck at my parents' if I moved...
Bye CUPS: Printing with Netcat
Turns out printing doesn't have to be hard
Where are the robotic bricklayers?
When researching construction, you invariably discover that any new or innovative idea has actually been tried over and over again, often stretching back decades.
Knuth on Dijkstra (2014)
An excerpt from my book Coders at Work that I frequently find myself wanting to cite mostly because I get a kick out of someone having standing to call BS on Dijkstra:
This Can’t Go On
The long view of economic history says we're in the midst of a huge, unsustainable acceleration. What happens next?
Apple iPhone charger teardown: quality in a tiny expensive package (2012)
This article is now available in Vietnamese Bộ sạc iPhone của Apple . Disassembling Apple's diminutive inch-cube iPhone charger reveals ...
SQLite Is Dynamically Typed (2020)
A small, cool fact about SQLite is that its columns are flexibly typed. You can store any value in any column! Try it out: sqlite> create table t1 (v1 int, v2 varchar(10)); sqlite> insert into t1 values ("abc", "this string is longer than 10 characters!"); sqlite> select * from t1; abc|this string is longer than 10…
Bombs vs. Bugs
I’ll be taking some time in the next months to talk about the newly hostile-by-default nature of technology, and how I deal with it.
Emacs' org-mode gets citation support
Introducing citations!
Ultra fast Thunderbolt NAS with Apple M1 and Linux
In this post I discuss how you can upgrade a NAS Server by adding Thunderbolt 3 for lightning fast connectivity at 20 or 40Gbps. This particular implementation is specific to an Apple Mac Mini M1 and
Leap seconds: Causing bugs even when they don’t happen
Some new minor leap second drama is coming up, and for once we can
Full-time open source with Andrew Kelley
Today’s show: How to quit your job and work on open source full time. This story has it all -- balancing side projects and full-time employment, building up enough supports to leave your job, and explaining quitting to your family and friends. And also: what do you do if your project succeeds, and then someone forks…
A Bestiary of Functions for Systems Designers
Whether your game surfaces its numbers to the player or not, odds are it has underlying systems that rely on them, and you use functions to determine how those numbers affect each other. In other words, a mathematical function is usually at the core of the answer to a bunch of frequent game design questions.
Computational algebraic geometry for high school students
Can high school students really learn algebraic geometry? And what could it teach us about mathematics education?
How to boost your popularity on OkCupid using CSRF and a JSON type confusion
This is a quick blog post about a security vulnerability (now fixed) that allowed me to make anyone like or message a profile on okcupid.com simply by getting them to click a link on my website. In doing so, I used one of the most boring web application security issues (CSRF) combined with a somewhat interesting JSON…
Who Were the Romans, Part V: Saving and Losing an Empire
This is the fifth and final part (I, II, III, IV) of our series asking the question ‘Who were the Romans?’ How did they understand themselves as a people and the idea of ‘Roman’ as an i…
Life before smartphones (2020)
An essay about life pre-iPhone addiction, why you're wrong about Salt Bae, an Indian butter chicken Instant Pot adventure, and a new Hell & Wellness pod discussing Marie Kondo.
Spreadsheet formulas for personal finance
I love spreadsheets. Spreadsheet programs like Microsoft’s Excel, Apple’s Numbers and Google Sheets are the secret heroes of our civilization.
Why is China smashing its tech industry?
Maybe because what countries think of as a "tech industry" isn't always the same