About Me
I work for Futurewei Technologies where I am a member of the Rust team. I have also worked for Apple, Mozilla, and National ICT Australia. I have worked remotely since 2009. My LinkedIn profile has a detailed work history.
I have a blog on this site, and an old Mozilla blog. Many of the links below are to posts from those blogs.
I like the Rust programming language. I am a member of the Rust compiler team where I have “maintainer” status.
I have a lot of experience making code faster and more memory-efficient. Examples: the Rust compiler (1, 2), pdf.js (1, 2), JavaScript parsing, Clownshoes allocations.
I have written a number of profilers. Examples:
DHAT,
ad hoc profiling,
Firefox’s about:memory
(1,
2,
3,
4),
Firefox’s memory reporting
(1,
2),
DMD
(1,
2),
Rust’s
-Zmacro-stats
.
I have often overhauled ugly code to make it simpler, more reliable, maintainable, and performant. Examples: Rust dataflow analysis, Firefox static atoms, Firefox prefs parser, Firefox startup, Gecko Profiler, Firefox BMP decoder, Firefox fatal compiler warnings, Nanojit.
I have run some projects and teams. Examples: MemShrink (1, 2, 3), Project Uptime, Project Candle, Mozilla’s Low-Level Tools team.
I like explaining things. Examples: The Rust Performance Book, Power profiling docs, Browser memory measurements, Memory consumption, Firefox memory improvements, Buffer growth, 64-bit Firefox, N-ary trees in C, Jury duty.
I sometimes do things that don’t fit neatly into the above categories. Examples: A home free from fossil fuels, Firefox stack fixing, OS X Activity Monitor deep-dive, Power estimates, SegmentedVector, Tracking protection experiments, Bio-poem.
I have a PhD in Valgrind and other publications. I co-won the Most Influential PLDI Paper Award for a paper about Valgrind.