FUSE for macOS is no longer open source
And what that means for the rest of us.
Htop Explained
Explanation of everything you can see in htop/top on Linux
Adventures of putting 16 GB of RAM in a motherboard that doesn’t support it
A while ago, I put 16 GB of RAM into one of my computers. The computer is using a Foxconn P55MX motherboard with a Core i5 750. It’s old and could probably be replaced, but it still works for what I need.
ZedRipper: A 16-core Z80 laptop
Meet the ZedRipper – a 16-core, 83 MHz Z80 powerhouse as portable as it is impractical. The ZedRipper is my latest attempt to build a fun ‘project’ machine, with a couple of goals in mind:
Local-first software: you own your data, in spite of the cloud
Local-first software: you own your data, in spite of the cloud Kleppmann et al., Onward! ’19 Watch out! If you start reading this paper you could be lost for hours following all the interesti…
PCI Express on the Raspberry Pi 4
After the daily dose of Hackaday - and with an idea that seemed very doable, and actually, with some improvements can be easily reproducible.
Writing an OS in Rust: Introduction to Paging
This post introduces paging, a very common memory management scheme that we will also use for our operating system. It explains why memory isolation i…
The world in which IPv6 was a good design (2017)
Last November I went to an IETF meeting for the first time. The IETF is an interesting place; it seems to be about 1/3 maintenance grunt wo...
The Raspberry Pi 4 needs a fan
December 2020 Update: Lo and behold, the Pi Foundation tacitly acknowledges the Pi needs a fan in the official case, because now they sell the Case Fan! The Raspberry Pi Foundation's Pi 4 announcement blog post touted the Pi 4 as providing "PC-like level of performance for most users". The Foundation even offers a…
Undocumented Catalina file access change
It's well known that if you drag a file from Finder and drop it into Terminal, the full path of the file will output in Terminal. The same behavior occurs with copy and paste too. This has always been a very convenient but innocuous operation… until macOS 10.15 Catalina. I've discovered that on Catalina, pasting a…
O(n^2), again, now in Windows Management Instrumentation
I recently hit some multi-minute delays on my workstation. After investigating I found that the problem was due to a lock being held for five minutes, and during that time the lock-holder was mostl…
63 Cores Blocked by Seven Instructions
I seem to have a habit of writing about super powerful machines whose many cores are laid low by misuse of locks. So. Yeah. It’s that again. But this one seems particularly impressive. I mean, how …
Fast Software, the Best Software
Essay on the benefits of speedy software, and how it affects user perception of engineering quality and overall usability
Google Chrome Keystone is modifying /var symlink on non SIP Macs causing k-panic
Reports that some AVID Users Macs would no longer boot. It now may be that a Google Chrome Keystone update modifies /var on NON SIP Protected Macs.
A generalised solution to distributed consensus
A generalised solution to distributed consensus Howard & Mortier, arXiv’19 This is a draft paper that Heidi Howard recently shared with the world via Twitter, and here’s the accompanying …
Falsehoods programmers believe about Unix time
It's not quite the number of seconds since 1 January 1970.
Why databases use ordered indexes but programming uses hash tables
I think it is safe to state that hash tables (e.g. maps in Go, dicts in Python, HashMap in Java, etc.) are far more common than ordered data structures such as trees for in-memory data structures. One data point is that in a talk about C++ hash table optimization at Google ( available in Abseil ), the speaker noted…
Stupid Unix Tricks
These are my stupid unix tricks. I hope that they are useful to you. Platform Note I use Mac OS X (pron: “ten”). If you don’t, you might want to switch…
Remote code execution vulnerability in apt/apt-get
tl;dr I found a vulnerability in apt that allows a network man-in-the-middle (or a malicious package mirror) to execute arbitrary code as root on a machine i...
#include </etc/shadow>
This blog is written by Hanno Böck. Unless noted otherwise, its content is licensed as CC0 .
Zen 2 Missives – AMD now delivering efficiencies that are double that of Intel
After languishing through the CPU dark-ages (read: Intel trying real hard to keep people on 4 cores so they could charge an arm and a leg for more), the last two years has seen a vertible tsunami of advances in CPU technologies. AMD's introduction of an 8-core CPU (the 1700X) began the rat-race and with both AMD and…
Performance Matters
Last year I got certified as an EMT. As part of the training I shadowed an ambulance for a day and assisted with each run. For each patient we treated, we had to fill out a patient care report. A patient care report. (source) EMTs are just one part in a long chain. If they transport a patient to a hospital, the…