Toggle navigation
dcreager.net
About
Archive
Newsletter
Talks
Publications
All posts
2021-06-14
A map of the tree-sitter ecosystem
2021-06-07
Getting started with tree-sitter
2021-03-08
A better varint
2021-01-28
Using a Sony RX100 Mk IV as a webcam on Linux
2021-01-03
Git commits and code review (revisited)
2020-12-30
Swanson: S₁ for bootstrapping
2020-12-29
Staff engineering manager
2020-12-16
Rust error handling patterns
2020-11-15
Swanson: S₀, the “assembly language”
2020-10-29
Swanson: Execution model
2020-10-28
Swanson: Introduction
2018-05-31
NP-hard isn't the end of the world
2018-04-19
Clean git histories and code review workflows
2018-03-27
Introducing Network Error Logging
2017-10-29
Shared library versions
2017-08-10
Obligations: Introduction
2017-01-17
HST: Lazy processes
2016-11-17
HST: Semantic methods
2016-11-17
HST: Refinement overview
2016-11-16
HST: Introduction
2016-09-07
Concurrency models in CSP: Read Atomic: Internal consistency
2016-08-03
Concurrency models in CSP: Preliminaries
2016-07-28
Concurrency models in CSP: Introduction
2014-11-21
Dependency management in C
2014-05-14
Tagged releases using git flow
2014-02-28
CSP: The basics
2014-01-07
CSP: An introduction
2010-05-13
Installing Ubuntu Lucid on a PowerPC QEMU virtual machine
2010-02-25
Parser callbacks in libpush, Part 1 — Streams
2010-02-17
Using LLVM's link-time optimization on Ubuntu Karmic
2010-02-10
Extracting setuptools version numbers from your git repository
2010-02-06
A combinator-based parsing library for C
2010-02-05
Updating graffle-export to work with OmniGraffle 5
2010-01-08
Default “scons -c” targets
2010-01-05
Exporting OmniGraffle documents from the command line
2009-12-23
“High-water mark” buffers
2009-12-21
Decentralized datatypes
2009-12-18
Simulating “make distclean” in SCons
2009-09-08
Downgrading packages in Ubuntu
2009-08-13
iPhone tethering
2009-08-13
Using callbacks with the subprocess module
2009-08-07
Adding Disqus comments
2009-08-06
Problems with Python's subprocess.communicate method
2009-08-06
SBMF07 paper chosen for extended proceedings
2009-08-05
Site layout