Geeking Out with UEFI
Some people may think some of my past posts get into the weeds, exploring the technical depths of Windows Autopilot, Intune, Windows 10, ConfigMgr, etc. But I would say those generally only g…
Some people may think some of my past posts get into the weeds, exploring the technical depths of Windows Autopilot, Intune, Windows 10, ConfigMgr, etc. But I would say those generally only g…
My macOS Big Sur Patcher allowed countless users of older Macs to enjoy the new design and features of macOS Big Sur.
Last week, I reached an exciting milestone in my career as a programmer. For the first time in my life, I ran code directly on hardware , with no Operating System sitting between the bare metal and my code.
The European Global Navigation Satellite System Galileo has recently been suffering from frequent "almost disruptions", most likely partially due to Corona, and possibly also due to Brexit, but in any case due to some historical stinginess. Before I explain what is going on, I should hasten to say that most days of…
This post explains how to implement heap allocators from scratch. It presents and discusses different allocator designs, including bump allocation, li…
It’s been a long time since my last pizzabox post - over a year! There’s been a lot going on in my life but I’m excited that lately I’ve had a lot more free time , which means more time to explore the world of workstations and share with you!
Modern applications don’t crash; they hang. One of the main reasons for it is the assumption that the network is reliable. It isn’t. When you make a network call without setting a timeout, you are telling your code that you are 100% confident that the call is going to succeed. Would you really take that bet? If you…
A complete guide to the structure and layout of APFS startup disks from High Sierra to Big Sur (Intel), together with tear-out PDF charts.
Or: How To Increase Your Elixir/Postgres Performance 20x With One Weird Trick
From home temperature monitoring to a Kubernetes cluster hosting a live Drupal website, I have a lot of experience running Raspberry Pis. I've used every model through the years, and am currently using a mix of A+, 2 model B, and 4 model B Pis. The 3 model B+ was the first generation that had me concerned more about…
Fibers, Oh My! # Written by Dale Weiler, last updated Oct 5th, 2020 Twitter GitHub It’s been brought to the attention of many people in the game development industry that you can use fibers to parallelize your engines and games. This one presentation in particular: Parallelizing the Naughty Dog engine using fibers has…
“Computers are all made out of logic gates”. We’ve heard that saying before. We also have a sense that logic gates are very simple machines, analogous to light switches even. This raises the question: how exactly do kind-of-light-switches come together to form computers ? How does “storing a variable” or “calling a…
There is a new release of Is Parallel Programming Hard, And, If So, What Can You Do About It? . This release features a number of formatting and build-system improvements by the indefatigible Akira Yokosawa. On the formatting side, we have listings automatically generated from source code, clever…
JSON is important, damn near everything that we do as programmers or operators involves JSON at some point. JSON decoding is expensive, if your product talks JSON then performance of marshalling data in and out of JSON is important. This is a talk about designing an efficient replacement for encoding/json.Decoder .
Your code might be perfect and never fail, but unfortunately the outside world is less reliable. Sometimes, other people's programs crash or freeze. Networks go down; printers catch on fire . Your code needs to be prepared for this: every time you read from the network, attempt to acquire an inter-process lock, or…
This post is based on an internal training I prepared for my employer, Locksley, and showcases some source-level techniques for improving C++ compilation times.
This is the story of the time I wrote some code, deployed it to production, and ended up bricking the server it was running on by frying the kernel. Beautiful rendition of me frying the kernel This post is about perils of concurrency and...
Unexpected performance deviations depending on how you spell zero.
This page describes a TCP performance problem resulting from a little-known interaction between Nagle’s Algorithm and Delayed ACK. At least, I believe it’s not well known: I haven’t seen it documented elsewhere, yet in the course of my career at Apple I have run into the performance problem it causes over and over…
Decimating Array.Sort with AVX2. I ended up going down the rabbit hole re-implementing array sorting with AVX2 intrinsics. There’s no reason I should go down alone.
How distributed serverless compute changes the game on whats possible
Debugging, GNU± Linux and WebHosting and ... and ...