Beginner's guide to error handling in Rust
Easy to follow guide using practical examples
Gameboy Doctor: debug and fix your gameboy emulator
Are you building a Gameboy emulator? Are you stuck? Are you failing Blargg’s test ROMs and can’t work out why?
The Great Renaming 1985 – 1988 (2000)
The Great Renaming FAQ
McKinsey and Providence colluded to force poor patients into destitution
Providence is a health giant whose anchor is a network of Catholic hospitals. They colluded with McKinsey to steal from their poorest patients, by deceiving them about their eligibility for free care, saddling poor, sick people with crushing debts:
Run Stable Diffusion natively on your Mac
Describe the image you want, and the app makes it for you.
I Built a Ruby Parser
Sorry, this post will read like a “dear diary” entry rather than some life-changing HN-worthy guidance. Back in November 2020, almost on a whim I started work on a new parser for the Ruby programming language. It was almost exactly a year after I had started working on my compiler project (I hope to write a longer…
Vector Animations with Python (2014)
I am a big fan of Dave Whyte’s vector animations, like this one: It was generated using a special animation language called Processing (here is Dave …
Cognitive load theory and its applications for learning
What makes learning hard? How can we make it easier? Cognitive load theory explains how we learn and how to do it better.
Street Fighter II, Sound System Internals
This article is part of a series about Street Fighter II and the CPS-1. It is recommended to read the previous entries before reading this one.
The “je ne sais quoi” of TikTok
How a misunderstood platform has completely taken over the world.
The tech interview prep industry
Before I got into tech, I worked at a tutoring company in the Northern Virginia suburbs of Washington, D.C., doing a mix of schoolwork-related tutoring and standardized test prep. From a business perspective, it made so much sense - you have kids taking standardized tests and parents who wanted their kids to do well…
Launching Version 13.1 of Wolfram Language and Mathematica
Substantial set of new and updated functions in Version 13.1 covers generalized listability, language conveniences, emoji computations, default toolbar, large-scale code editing, drawing in notebooks, Tree expansion, video capture, mathematics, customizable documentation, chemical quantities, machine learning…
High-intensity exercise, some new news
Several months I noticed something interesting (to me!) about my heart rate, and I thought about blogging about it…but I didn’t feel like it would be interesting (to you!) so I’ve been hesitant. But then the NYT published something that is kinda related and I thought OK, what the hell, maybe it’s time for an update…
Vampire Attack Twitter
Here’s a simple way to take over Twitter for way less than $43 billion dollars.
Regrets of the Dying (2010)
For many years I worked in palliative care. My patients were those who had gone home to die. Some incredibly special times were shared. I was with them for the last three to twelve weeks of their lives.
Making Code Faster
I’ve enjoyed writing software for 40+ years now. Lots of activities fall into that “writing software” basket, and here’s my favorite: When you have a body of code with a decent unit-test suite and you need to make it go faster. This part of the Quamina diary is a case study of making a piece of the library faster.
Compile time evaluation in Nim, Zig, Rust and C++
Evaluating code at compile time is a capability that most, if not all, compiled programming languages possess, even if it can't be directly used by the programmer, but rather applied as an optimization. In this post, we'll explore a bit how to execute code at compile time in Nim, Zig, Rust and C++.
ZFS on a single core RISC-V hardware with 512MB
Is this feasible? Yes it is! OpenZFS on Linux compiled from sources for RISC-V, it will work with less than 250MB of RAM for a nearly fully filled 2TB zfs volume with 225.000 files! Even stressing the system and run in parallel (via Wifi): a…
Why does zsh start so slowly?
I’m serious about shell startup speed. I use tmux to open and close tmux splits all day every day, so I need zsh to start quickly. I used to use frameworks like oh-my-zsh or prezto and while I was happy with the functionality they provided I wasn’t happy with their impact on my shell’s startup speed. So, what do we do…
One-on-ones with executives
Often when an organization is going through some turmoil, executives think to themselves, “Ah, I should have some one-on-ones with the team so they can hear how we’re handling this.” On the other side, I frequently hear from folks who get nervous when they get these meeting invites, “The CEO/CTO/CPO/etc just scheduled…
Deploying Kubernetes clusters in increasingly absurd languages
It’s been over 3 years since I published my most successful blog post about the abject horror of templated yaml and in many ways, I feel the same way now
Scrumdog – a program to download Jira Issues to a local database
Why I created Scrumdog - a program to download Jira Issues to a local database
MLOps is a mess but that's to be expected
I discuss the messy state of MLOps today and how we are still in the early phases of a broader transformation to bring machine learning value to enterprises globally.
The Linux kernel can spawn processes on its own
While investigating the aftermath of a potential security breach, I came across a somewhat "odd" process looking like this:
Washed Up
Even if every technology jockeying for a spot under the 'web3' banner evolves beyond proof-of-work blockchains, these systems will still not be part of the web because they designed not to be. 'web3' ain't the web, and VCs talking their own book don't get the last word, no matter how much dirty money they throw at it.
The Open Source Initiative Did Not Win Neo4j vs. PureThink
everywhere it looks, OSI sees itself, and in triumph
Machine Learning with PyTorch and Scikit-Learn
Machine Learning with PyTorch and Scikit-Learn has been a long time in the making, and I am excited to finally get to talk about the release of my new book…