New
The latest blog posts to take off on Hacker News. 5,820 posts.
What's in the Box?
Here’s a sentence I find myself saying several times a week: …or we could just box it. There’s two remarkable things about this sentence. The first, is that the advice is very rarely heeded, and in...
Representing SHA-256 Hashes as Avatars
How to turn 256 bits of entropy into a beautiful, avatar-friendly circular SVG: the Hashvatar.
Why we chose Elm for Humio’s web UI
Uncover security and reliability issues before they impact your business with CrowdStrike Falcon® LogScale™.
On the bare necessity of psychological safety
The what, why and how of effective teams
Deriving the piano keyboard from biological principles using clustering
Once upon a time we were creatures in the wilderness and we evolved the ability to hear sounds. Now here's an interesting thing, if you hear a sound of frequency f and others of frequency 2f, 3f, etc then there's a good chance these sounds come from the same object, due to the physical principle of resonance . And so…
Heating Water with Fire (2019)
Cook your food, warm your home AND heat your hot water?? Learn all about how thermosyphoning works, in a passive and continuous cycle. The ins-and-outs of pressure systems, water jackets, and all associated systems - including solar, radiators and underfloor heating!
Why Specifications Don't Compose
Recently my friend Lars Hupel and I had a discussion on why formal methods don’t compose well. You can read the conversation here. We focused mostly on composing formally-verified code. I want to talk a little more about the difficulties in composing specifications. This is half because it’s difficult for interesting…
Basic Music Theory in ~200 Lines of Python
A basic introduction to Western music theory using the Python programming language to derive scales, chords, and modes in every key.
Curl those funny IPv4 addresses
Everyone knows that on most systems you can specify IPv4 addresses just 4 decimal numbers separated with periods (dots). Example: 192.168.0.1 Useful when you for example want to ping your local wifi router and similar. "ping 192.168.0.1" Other bases The IPv4 string is usually parsed by the inet_addr() function or at…
MirkoPC – a Raspberry Pi CM4-powered computer made in Poland
The MirkoPC is so far the closest thing to a full-fledged Raspberry Pi desktop computer: Based on the Compute Module 4, it has a full-size M.2 M-key slot, allowing the Pi to boot from reliable and fast NVMe SSD storage, a built-in headphone amp and line out, 4 USB 2.0 ports, gigabit Ethernet, two HDMI ports, and a…
Dissecting the Apple M1 GPU, Part III
After a few weeks of investigating the Apple M1 GPU in January, I was able to draw a triangle with my own open source code . Although I began dissecting the instruction set, the shaders there were specified as machine code. A real graphics driver needs a compiler from high-level shading languages (GLSL or Metal) to a…
Power consumption of Game Boy flash cartridges
Flash cartridges (= "carts") are commonly used to run Game Boy ROMs, such as homebrew games or dumped officially released games, on real hardware. Different kinds of flash carts with various features and performance characteristics have been available for a long time, but flash carts have in general the reputation of…
Your Book Review: Progress And Poverty
Finalist #3 of the book review contest
Turning an iPad Pro into a classic Macintosh
I’ve started work on the next in my 1-bit Woodblocks series: “Tekagami” (Ito Shinsui’s “Hand Mirror”). So it’s a good time to talk about how I turned an iPad...
Proposal: Treat FLoC as a security concern
Google is rolling out Federated Learning of Cohorts (FLoC) for the Chrome browser. TL;DR: FLoC places people in groups based on their browsing habits to target advertising. Why is this bad? As the …
Livebook: A collaborative and interactive code notebook for Elixir
Livebook is a web application for writing interactive and collaborative code notebooks
Product-focused and sales-focused companies
Every company has a focus, and for most it's either sales or product. Here's why both are the wrong focal points
Reducing Rust Incremental Compilation Times on macOS
How I reduced Rust incremental debug build times on macOS from 14 seconds down to 4 seconds.
Thanks for the Bonus, I Quit
A corporate tale of greed, desperation, and the power of expectations. And a little bit about Capacitors.
Internet Search Tips
A description of advanced tips and tricks for effective Internet research of papers/books, with real-world examples.
Everything Easy is Hard Again (2018)
Personal site of designer Frank Chimero
WinGet is terrible, I want AppGet back
It’s been almost a year that Keivan Beigi shut down the AppGet project in response to shenanigans by the Windows App Model team. Microsoft…
Retro nostalgia and why my new website looks like Window 9x (2019)
For a while I’ve been wanting to update my website, but I’m really not a designer and I knew any attempts to improve on what I already had would be a haphazard mess.
What’s the origin of the phrase “big data doesn’t fit in excel”?
Welcome to Yak Shaving School! As part of my MSc I'm reading a book about Data Analytics. So I've been chasing down quotes to find their origin. One paper had this popular quote in it (emphasis added): As with many rapidly emerging concepts, Big Data has been variously defined and operationalized, ranging from trite…