2024 Finding near-duplicates with Jaccard similarity and MinHash Jul 3 2024 Stripe's monorepo developer environment May 21 2024 2023 Performance engineering, profilers, and seeing the invisible Dec 18 2023 Advent of Code in C++ Template Metaprogramming Dec 8 2023 What's with ML software and pickles? Nov 7 2023 Graceful behavior at capacity Aug 7 2023 Efficiency trades off against resiliency Apr 15 2023 2022 Transformers for software engineers Apr 1 2022 A Cursed Bug Feb 22 2022 2021 Distributed cloud builds for everyone May 31 2021 Building LLVM in 90 seconds using Amazon Lambda May 20 2021 Some opinionated thoughts on SQL databases Mar 30 2021 2020 Towards solving Ultimate Tic Tac Toe Jul 15 2020 Write testable code by writing generic code Mar 11 2020 Test suites as classifiers Mar 1 2020 Systems that defy detailed understanding Feb 22 2020 Computers can be understood Feb 16 2020 Reflections on software performance Feb 2 2020 Why the Sorbet typechecker is fast Jan 23 2020 Testing and feedback loops Jan 19 2020 Record/Replay testing in Sorbet Jan 13 2020 2019 Two kinds of testing Dec 24 2019 The architecture of declarative configuration management Nov 12 2019 A Go/C Polyglot Sep 5 2019 Reader/reader blocking in reader/writer locks May 7 2019 My Apollo Bibliography Apr 8 2019 2018 Three kinds of memory leaks Apr 29 2018 2017 Property Testing Like AFL Oct 24 2017 Property-Based Testing Is Fuzzing Oct 3 2017 Disable Transparent Hugepages Jul 10 2017 Two Perspectives on the End-to-End Principle Jun 11 2017 Running Tensorflow on AWS GPUs Feb 26 2017 Thoughts On Kubernetes Feb 19 2017 Measuring Capacity Through Utilization Jan 8 2017 2016 How I Write Tests Dec 29 2016 Design for Testability Mar 6 2016 2015 What MongoDB got Right Nov 1 2015 Indices point between elements Jul 17 2015 Regular Expression Search with Suffix Arrays Feb 1 2015 2014 New reptyr feature: TTY-stealing Aug 20 2014 2013 Lightweight Linux Kernel Development with KVM Dec 30 2013 Tracking down a memory leak in Ruby's EventMachine Mar 7 2013 2012 Why node.js is cool (it's not about performance) Mar 12 2012 2011 BlackHat/DEFCON 2011 talk: Breaking out of KVM Aug 8 2011 Exploiting misuse of Python's "pickle" Mar 20 2011 reptyr: Changing a process's controlling terminal Feb 8 2011 reptyr: Attach a running process to a new terminal Jan 21 2011 2010 Some Android reverse-engineering tools Dec 27 2010 CVE-2010-4258: Turning denial-of-service into privilege escalation Dec 10 2010 Some notes on CVE-2010-3081 exploitability Nov 30 2010 Why scons is cool Nov 7 2010 Configuring dnsmasq with VMware Workstation Oct 24 2010 Using Haskell's 'newtype' in C Oct 11 2010 amd64 and va_arg Oct 4 2010 A brief look at Linux's security record Sep 26 2010 Dear Twitter: Stop screwing over your developers. Sep 12 2010 How is duct tape like the force? Sep 5 2010 Write yourself an strace in 70 lines of code Aug 29 2010 Navigating the Linux Kernel Aug 15 2010 Suggestion time: What should I blog about? Aug 8 2010 Some musings on ORMs Jul 18 2010 Implementing a declarative mini-language in the C preprocessor Jul 4 2010 Check Plus: An EDSL for writing unit tests in C Jun 26 2010 Lab Notebooking for the Software Engineer Jun 20 2010 Wordpress tricks: Disabling editing shortcuts Jun 13 2010 Confessions of a programmer: I hate code review Jun 6 2010 Using X forwarding with screen by proxying $DISPLAY May 30 2010 Getting carried away with hack value May 23 2010 The Window Manager I Want May 9 2010 Software Engineers should keep lab notebooks May 2 2010 Some thoughts on Quora Apr 4 2010 Fun with the preprocessor: CONFIG_IA32_EMULATION hacks in Linux Mar 28 2010 Security doesn't respect abstraction boundaries Mar 13 2010 Followup to "A Very Subtle Bug" Mar 3 2010 A Very Subtle Bug Feb 27 2010 Iron Blogger: Blogging for Beer Feb 21 2010 Versioning dotfiles in git Feb 14 2010 CVE-2007-4573: The Anatomy of a Kernel Exploit Feb 5 2010 Git in pictures Jan 24 2010 On git and usability Jan 18 2010 A Brief Introduction to termios: Signaling and Job Control Jan 11 2010 2009 A Brief Introduction to termios: termios(3) and stty Dec 30 2009 A Brief Introduction to termios Dec 22 2009 2008 wpa_supplicant: GUI and wpa_action Sep 18 2008 autocutsel Sep 16 2008 New Blog Location Sep 12 2008 Using wpa_supplicant on Debian/Ubuntu Aug 22 2008 Automounting sshfs Mar 23 2008 Conkeror Mar 13 2008 todo.pl ratmenu Feb 19 2008 2007 A week with the iPhone Dec 31 2007 DEF CON Aug 5 2007 6.170, CVS, and SVN Feb 11 2007