Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 3,497 posts.
Abundant Capital
The venture capital industry was built on the premise that both capital and high quality companies are scarce. For most of the history of the industry, this has been true. I remember sitting at...
Backdooring Rust crates for fun and profit
Supply chains attacks are all the rage these days, whether to deliver RATs, cryptocurrencies miners, or credential stealers. In Rust, packages are called crates and are (most of the time) hosted on a central repository: https://crates.io for better discoverability. We are going to study 8 techniques to achieve Remote…
The Insane Innovation of TI Calculator Hobbyists
In the mid-to-late 2000s, you either knew, or were, that kid in grade school. You know. The one who could put games on your graphing calculator. You may be surprised to learn that some of these people didn’t exist totally in a vaccuum. There was in fact a thriving scene of hackers who had bent these calculators to…
Squeezebox Keyboard
Staff Engineer, Back End
Exploring Clang/LLVM optimization on programming horror
Recently, I’ve come across a not so efficient implementation of a isEven function (from r/programminghorror ).
My personal wishlist for a decentralized social network
I'd be interested in a decentralized social network with network-layer anonymity, grassroots content delivery, and customizable moderation.
The complexity that lives in the GUI
The user interfaces are a weird thing. There are all sorts of libraries and frameworks that are supposed to help you on your journey of writing a GUI, but despite all the best practices and frameworks forcing you to eat your vegetables, the GUI always ends up being a ridiculous mess. After pondering some more about…
Home-Built Scanning Tunneling Microscope (2015)
Scan Head STM Tips Vibration Isolation Electronics Software Scans Image Gallery Useful Links This project is my attempt to build a low-cost scanning tunneling microscope (STM) capable of atomic res…
Gitlet.js – Git implemented in 1k lines of JavaScript (2015)
I wrote Gitlet to show how Git works under the covers. I wrote it to be readable. I commented the code heavily.
Every search bar looks like a URL bar to users
Computers would be so much better if they never had to deal with users, amirite?!!? I remember, years ago, working on a mobile web service which had a URl bar - so users could tap in bbc.co.uk on their T9 keypads - and a separate search bar. I thought that was pretty nifty. But it turns out, users tried searching for…
Functors and Monads for People Who Have Read Too Many “Tutorials”
Title is literally true. This may not be the best place to learn about these concepts for the first time, because I'm going to focus on knocking down the misconceptions about them.
NixOS on Framework Laptop
The time has come to replace the work laptop (thanks, Mozilla!). Here is an adventure of setting up NixOS on a Framework laptop. I’m writing this on it right...
It's tough being an Azure fan
Azure has never been the #1 cloud provider - that spot continues to belong to AWS, which is the category leader. However, in most people’s minds, it has been a pretty reasonable #2, and while not necessarily vastly differentiated from AWS there are enough things to write home about. However, even as a user and…
Why do long options start with two dashes? (2019)
Around 1990, Richard Stallman (RMS) and I were writing the GNU C library getopt() and he wanted to extend it to support long (multi-character) option names for user-friendliness. He considered Unix…
AWS Lambda Cold Start Times
Let’s compare the performance of all supported runtimes + 2 custom runtimes (Rust and GraalVM).
The neural network of the Stockfish chess engine
Last time, we briefly mentioned the high-level differences between Stockfish and Leela Chess. To recap, Stockfish evaluates about 100 million positions per second using rudimentary heuristics, wher…
Operations is not Developer IT
My code doesn't compile. Why? The number of times in my career I have been asked a variation on "why doesn't my application work" is shocking. When you meet up with Operations people for drinks, you'll hear endless variations on it. Application teams attempting to assign ownership
Turing Oversold?
It is not the fault of Turing, though.
Weird architectures weren't supported to begin with
This post contains my own opinions, not the opinions of my employer or any open source groups I belong or contribute to.
How to increase your luck surface area (2010)
"Luck Surface Area" is a turn of phrase that popped out my mouth during a discussion episode of TechZing a few months back and is something I've been meaning to write about ever since but never got around to actually doing. However, thanks to Lance Jones who referenced the concept in a recent blog post I have finally…
FedEx shipping damage creates fractured artworks
Since 2007, artist Walead Beshty has been cleverly using FedEx’s shipping infrastructure to create a series of artworks. He constructs glass objects that fit ex
Zenreader: A 4.7" E-Ink RSS Reader
I have been long wanting a PDA of sorts with an E-Ink screen that allows me to read stuff on the Internet without eye strains. But the Kindle really sucks as a newsreader device because the experimental browser never works correctly.
Will Linux phones stay around this time?
While working through the old posts in order to adjust the front matter (and sometimes more), I thought: Will this last? Or will this go south soon, like it did around with previous projects again? A recent reddit post reinforced this line of thought, so I decided to write down my thoughts on the issue.
I had to give a wrong answer to get the job (2017)
Back in 2007, I was searching for a software developer job at various companies. At one of these companies, the best strategy to get the job was to give a wrong answer. If this seems weird to you, let me explain what happened.