Hey there! I’m an SRE, software developer, and system administrator, currently working as a Production Engineer/SRE at Facebook. I work as part of the Linux Kernel team, responsible for kernel-related developments that improve the overall reliability and performance of Facebook’s user-facing products. In general, my drive is in concieving, designing, and improving systems that make Facebook and the wider industry better.
Most of my active work revolves around making operating systems more efficient at scale, developing things like the Linux kernel’s memory subsystem, cgroups, systemd, and a number of other emerging technologies.
Outside of that, I dabble in photography and sim racing.
Recent blog posts
- Linux memory management at scale
- The curious case of stalled squashfs reads
- In defence of swap: common misconceptions
- Adding power related targets to systemd
- cgroupv2: Linux’s new unified control group hierarchy
More posts are available on the archive page.
Software
I am a contributor to and maintainer of a number of projects, including:
- cgroup v2 — modern resource control and accounting
- hypothesis — an advanced Quickcheck style testing library for Python
- Linux — a free and open-source OS kernel
- mpv — videos on the command line
- oomd — next-generation OOM killer
- osquery — an OS instrumentation, monitoring, and analysis framework
- pacaur — an AUR helper that minimises user interaction
- pass — the standard Unix password manager
- systemd — a system and service manager for Linux
- taglib-rust — Rust FFI bindings for taglib
- the Pro Git book — a guide to Git and its internals
I also maintain the following personal projects:
- aur — interface to the Arch User Repository
- clipmenu — a clipboard manager with a dmenu frontend
- gh-mirror — mirror all public repositories for a user to your local machine
- mac-cel — remove mouse acceleration on OSX
- nota — super simple daily logs with your $EDITOR + git
- mack — an opinionated, fast music organiser
- mpdmenu — control mpd from dmenu
- pinyin — manipulate Hanyu Pinyin
- srt — a library to deal with SRT files
- travis-automerge — automatically merge successful builds from Travis CI
- tzupdate — update /etc/localtime automatically using geolocation
- xinput-toggle — tool to manipulate arbitrary xinput devices
- yturl — watch YouTube videos on the command line
You can find other projects on my GitHub, although if they’re not on this list, I’m probably not actively developing or maintaining them.
Things on this site
- Assorted technology-related notes
- Project quality dashboard
- Sim racing data/notes
- My PGP public key
- My SSH public key
- My old TF2 configs
- RYM profile export
- Old game miscellania
Profiles elsewhere
Talks
- Memory Management at Scale — SREcon
- cgroupv2: Linux’s new unified resource hierarchy — FOSDEM/DevOpsDays/ASG
- Lessons learned running SSL at scale — FOSDEM
- The Web Foundation model — University College London lecture
- Bash pitfalls and code smells — LVL.UP Kuala Lumpur
- Pragmatic minimalism as a software design tool — LVL.UP Kuala Lumpur