Rewrite It in Rails
In 2022 I started building an application for creating Customs declarations. After evaluating some options and writing code in various programming languages ...
The latest blog posts to take off on Hacker News. 49,204 posts.
In 2022 I started building an application for creating Customs declarations. After evaluating some options and writing code in various programming languages ...
Jon's personal site.
I spend a lot of time reading about manufacturing and its evolution, which means I end up repeatedly reading about the times and places where radical changes in manufacturing were taking place: Britain in the late 18th century, the US in the late 19th and early 20th centuries, Japan in the second half of the 20th…
This is a tutorial series on implementing a basic CPU rasterization engine in C++ from scratch. No GPU involved, just drawing pixels with our bare hands, emulating what the GPU usually does for us.
This is a follow-up to my blog post macOS Sonoma silently enabled iCloud Keychain despite my precautions from five months ago. The TL;DR of that blog post is that when you have iCloud enabled but not iCloud Keychain, updating from Ventura to Sonoma causes iCloud Keychain to be silently enabled. (I don't know yet…
My experience of online conferences has mostly been underwhelming. They typically borrow the form and structure of an in-person conference without considering whether those still make sense online, and whether the goals of an online conference should even be the same as an in-person conference.
I’m a keen user of Emacs and Org mode for a variety of tasks, including note taking, generating documents for exporting to LaTeX, Word, or html. creating blog posts (notably for this blog, us…
At last, the Hamiltonian circuit problem for Rubik's Cube has a solution! To be a little more mathematically precise, a Hamiltonian circuit of the quarter-turn metric Cayley graph for the Rubik's Cube group has been found.
It is 9:59 AM in Melbourne, 9th October, 2024. Sunlight filters through my windows, illuminating swirling motes of dust across my living room. There is a cup of tea in my hand. I take a sip and savor it.
Query language and terminal utility for transforming various data formats
Ever wondered how the ^.?$|^(..+?)\1+$ regular expression can tell you if a number is not prime? In this blog post you'll learn how and why it works. Code examples in Java, JavaScript, Python and Perl are provided.
I have long struggled with understanding what probability-generating functions are and how to intuit them. There were two pieces of the puzzle missing for me, and we’ll go through both in this article.
I’ve been a programmer since the age of 8, and some kind of developer for most of my life. Throughout my life as a coder, both hobbyist and professional, I’ve learnt plenty of programming languages that felt like cookie-cutter clones of each other, but also a few programming languages that changed the way I looked at…
Given that events play such a central role in event-driven architecture, there’s an astonishing lack of agreement on what should be contained in an event. This may be rooted in the fact that, depending on your perspective, events fulfill different purposes.
[…] Security has unveiled a critical vulnerability that has lingered in the popular torrent client qBittorrent for over 14 […]
While everyone was waiting on news for the successor of the Nintendo Switch, Nintendo released the Alarmo. A small plastic alarm clock that ...
OpenZFS 2.3.0 will be released any day now, and it includes the new “Fast Dedup” feature. My team at Klara spent many months in 2023 and 2024 working on it, and we reckon it’s pretty good, a huge step up from the old dedup as well as being a solid base for further improvements. I’ve been watching various forums and…
Building software is hard. Oftentimes things that seem like they should be simple end up being way more complicated when you get into the details. ( OK, maybe this isn’t specific to software. )
My currently understanding of types
A detailed essay on my research and process of building a shader to mimic paint, watercolor, and aquarelle by exploring various implementations of the Kuwahara image smoothing filter.
A bunch of malicious extensions in Chrome Web Store have hidden affiliate fraud functionality, collect users’ browsing profiles, or both. These extensions appear to be connected to the Karma shopping assistant, developed by Karma Shopping Ltd. which is not a small company.
A play in one act Dramatis personae EM, an engineering manager TL, the tech lead for the team X, an engineering manager from a different team Scene 1: A meeting room in an office. The walls are ado…
Thoughts on open source governance and how to create trust within technology, communities, and media.
I’m not sure what’s going on over in Cupertino for them to …
I have written about my on-going rewrite-it-to-Rust effort at work: 1 , 2 , 3 . And now it's finished, meaning it's 100% Rust and 0% C++ - the public C API has not changed, just the implementation, one function at time until the end. Let's have a look back at what worked, what didn't, and what can be done about it.
Towards the end of Wim Wenders’s excellent Perfect Days , the protagonist Hirayama is drinking beer under a bridge after he has seen a Businessman courting his crush. Suddenly the Businessman joins him under the bridge. As it turns out, things aren’t actually that simple but the point is their conversation takes them…