macroexpand-1 for C++ Coroutines |
Book Review: Children of Memory |
binfmt_misc: The magic behind Linux/Windows interop |
Differences in backwards incompatibility between Rust and C++ |
How large are the arbitrage opportunities in Eve Online? |
Valuing converters in Sidereal Confluence |
Is implementing alloca(3) in C really impossible? |
Booting the 1994 Dr Dobb's 386BSD 1.0 CD |
Adding keyword arguments to Java with annotation processing |
The problem with using splice(2) for a faster cat(1) |
Searching for Planet X with the Z3 solver |
Why does Mockito need JVM bytecode generation? |
Java doesn't really get immutability |
Don't hide things from people reading your code |
Why object to the death of Venice? |
We sent the worst YCombinator application possible |
What does it mean for someone to "deserve" success? |
I'm moving to New York, here's why |
LeetCode on a Z80 CPU from 1976 |
Don't stick to what you're good at - my startup catastrophes |
Why doesn't GCC do this "easy" NRVO optimization? |
Representing complex numbers exactly on a computer |
Writing a parser for a function call is surprisingly hard |
Decomposing representations: a slice of computational group theory |
How to accidentally become a maintainer of a project |
Electromagnetic weaponry for fun and profit |
Finding uses for neodymium magnets |
Modding a Sun Ultra 45 fan module |
Hacking into a Sky router |
My first homebrew computer! |
Containerizing my transcript search app |
HP PA-RISC Assembly Crash Course |
Reviving an HP PA-RISC server |
Using PostgreSQL to search transcripts |
Register windows: a cool feature of SPARC |
Porting OpenJK to sparc64 |
Playing with LDoms, OpenBSD and Solaris |
Using vmm(4) to target old OpenBSD releases |
Reviving a Sun Ultra 5 workstation |
Sorting a ton of mail |
Moving to my own email server |
Hardware Census |
Cutting down memory usage of a Haskell web app |
Trying out DragonflyBSD |
Playing around with distcc |
Backing up PGP private keys |
Making a list of the websites of people on nixers.net |
Sharing /home between OpenBSD and Debian |
Converting my blog to frog |
Hacking StumpWM with Common Lisp |
How to get a list of processes on OpenBSD (in C) |
Iodine is cool |
Rainbow brackets in Emacs |
OpenShift vs Heroku: Haskell |
Quaternions, spinors and rotations |
ShareLaTeX on OpenBSD |
Switching to Mercurial |
Pkgsrc on Slackware |
NetBSD "Review" |
Learning Racket |
Emacs is great |
Patching OpenBSD |
Samba |
Haskell isn't difficult |
How I share a file, simply |
Workflow |
Installing OpenBSD on a T61 |
Configuring Mutt |
Ideas for a project |
How this blog works |
How not to run a website |
Creating a GNU/Linux distro |
Vim |
My Desktop |
Functors in Haskell |
Updating DNS records |
What's a monoid? |
Writing Unix manual pages |
Reviving an old ThinkPad |
Using GNU Stow |
Emacs |
Introduction to C |
Email is the Future |
How to Wipe a Disk |
Why I Use FreeBSD |
What is LaTeX? |
Web Servers |
How to use GPG |