Home
Blog
Notes
Work
Skills
Thoughts
Resume
Blog Posts
Transferring Python Build Standalone Stewardship to Astral
(2024-12-03)
My Shifting Open Source Priorities
(2024-03-17)
My User Experience Porting Off setup.py
(2023-10-30)
Achieving A Completely Open Source Implementation of Apple Code Signing and Notarization
(2022-08-08)
Announcing the PyOxy Python Runner
(2022-05-10)
Expanding Apple Ecosystem Access with Open Source, Multi Platform Code Signing
(2022-04-25)
Bulk Analyze Linux Packages with Linux Package Analyzer
(2022-01-09)
Rust Implementation of Debian Packaging Primitives
(2022-01-03)
Why You Shouldn't Use Git LFS
(2021-05-12)
Pure Rust Implementation of Apple Code Signing
(2021-04-14)
Rust is for Professionals
(2021-04-13)
Modern CI is Too Complex and Misdirected
(2021-04-07)
Surprisingly Slow
(2021-04-06)
Announcing the 0.9 Release of PyOxidizer
(2020-10-18)
Announcing the 0.8 Release of PyOxidizer
(2020-10-12)
Using Rust to Power Python Importing With oxidized_importer
(2020-05-10)
PyOxidizer 0.7
(2020-04-09)
Mercurial's Journey to and Reflections on Python 3
(2020-01-13)
Problems with Pull Requests and How to Fix Them
(2020-01-07)
C Extension Support in PyOxidizer
(2019-06-30)
Building Standalone Python Applications with PyOxidizer
(2019-06-24)
On Algorithms and Interviewing
(2019-01-17)
What I've Learned About Optimizing Python
(2019-01-10)
Seeking Employment
(2019-01-07)
PyOxidizer Support for Windows
(2019-01-06)
Faster In-Memory Python Module Importing
(2018-12-28)
Distributing Standalone Python Applications
(2018-12-18)
Absorbing Commit Changes in Mercurial 4.8
(2018-11-05)
Global Kernel Locks in APFS
(2018-10-29)
Benefits of Clone Offload on Version Control Hosting
(2018-07-27)
Deterministic Firefox Builds
(2018-06-20)
Scaling Firefox Development Workflows
(2018-05-16)
Revisiting Using Docker
(2018-05-16)
Release of python-zstandard 0.9
(2018-04-09)
High-level Problems with Git and How to Fix Them
(2017-12-11)
Good Riddance to AUFS
(2017-12-08)
from __past__ import bytes_literals
(2017-03-13)
Better Compression with Zstandard
(2017-03-07)
Mercurial, SHA-1, and Trusting Version Control
(2017-02-28)
MozReview Git Support and Improved Commit Mapping
(2016-02-08)
Making MozReview Faster by Disregarding RESTful Design
(2016-01-13)
Investing in the Firefox Build System in 2016
(2016-01-11)
hg.mozilla.org replication updates
(2016-01-05)
Mozilla Mercurial Extension Updates
(2015-12-16)
hg.mozilla.org Updates
(2015-11-05)
Cloning Improvements in Mercurial 3.6
(2015-10-22)
Append I/O Performance on Windows
(2015-10-22)
Lowering the Barrier to Pushing to MozReview
(2015-10-14)
Serving Mercurial Clones from a CDN
(2015-09-01)
JSON APIs on hg.mozilla.org
(2015-08-18)
moz.build metadata on hg.mozilla.org
(2015-08-04)
hg.mozilla.org Operational Workings Now Open Sourced
(2015-08-04)
Mercurial 3.5 Released
(2015-07-31)
My Contributions to Mercurial 3.5
(2015-07-31)
Prompting to Run mach mercurial-setup
(2015-07-17)
MozReview Statistics July 2015
(2015-07-16)
Cloning From S3
(2015-07-08)
Publish When Pushing to MozReview
(2015-07-07)
Changeset Metadata on hg.mozilla.org
(2015-06-04)
Important Changes to MozReview
(2015-05-29)
Faster Cloning from hg.mozilla.org With Server Provided Bundles
(2015-05-29)
Firefox Mercurial Repository with CVS History
(2015-05-18)
Notes from Git Merge 2015
(2015-05-12)
Dropping Explicit Support for Mercurial 3.0
(2015-05-07)
Reporting Mercurial Issues
(2015-05-04)
Mercurial 3.4 Released
(2015-05-04)
Automatically Redirecting Mercurial Pushes
(2015-04-30)
My Current Thoughts on System Administration
(2015-04-17)
Notes from Facebook's Developer Infrastructure at Scale F8 Talk
(2015-03-28)
New High Scores for hg.mozilla.org
(2015-03-19)
Network Events
(2015-03-18)
Lost Productivity Due to Non-Unified Repositories
(2015-02-17)
Branch Cleanup in Firefox Repositories
(2015-01-28)
Commit Part Numbers and MozReview
(2015-01-27)
Automatic Python Static Analysis on MozReview
(2015-01-24)
End to End Testing with Docker
(2015-01-24)
Bugzilla and the Future of Firefox Development
(2015-01-16)
Modern Mercurial Documentation for Mozillians
(2015-01-15)
Major bzexport Updates
(2015-01-13)
Utilizing GitHub for Firefox Development
(2015-01-12)
Code First and the Rise of the DVCS and GitHub
(2015-01-10)
Firefox Contribution Process Debt
(2015-01-09)
Style Changes on hg.mozilla.org
(2015-01-09)
Mercurial Pushlog Is Now Robust Against Interrupts
(2014-12-30)
Firefox Source Documentation Versus MDN
(2014-12-30)
Why hg.mozilla.org is Slow
(2014-12-19)
mach sub-commands
(2014-12-18)
A Crazy Day
(2014-12-04)
The Mozlandia Tree Outage and Code Review
(2014-12-04)
Test Drive the New Headless Try Repository
(2014-11-20)
Mercurial Server Hiccup 2014-11-06
(2014-11-07)
Soft Launch of MozReview
(2014-10-30)
Implications of Using Bugzilla for Firefox Patch Development
(2014-10-27)
The Rabbit Hole of Using Docker in Automated Tests
(2014-10-16)
Robustly Testing Version Control at Mozilla
(2014-10-14)
Deterministic and Minimal Docker Images
(2014-10-13)
Mozilla Mercurial Statistics
(2014-09-30)
On Monolithic Repositories
(2014-09-09)
Reproducing Mozilla's Mercurial Server
(2014-09-05)
New Job Role
(2014-09-05)
Submit Feedback about Mercurial
(2014-08-19)
Mercurial hooks move and testing Mercurial
(2014-08-18)
Please run mach mercurial-setup
(2014-07-25)
Repository-Centric Development
(2014-07-24)
Updates to firefoxtree Mercurial extension
(2014-07-16)
Python Packaging Do's and Don'ts
(2014-07-15)
Update Bugzilla Automatically on Push
(2014-06-30)
Track Firefox Repositories with Local-Only Mercurial Tags
(2014-06-30)
Please Stop Using MQ
(2014-06-23)
Using Mercurial for Status Reports
(2014-04-01)
How Promises and Tasks are Improving Tests
(2014-03-30)
New Repository for Mozilla Version Control Tools
(2014-02-05)
The Mercurial Revlog
(2014-02-05)
Review Board at Mozilla
(2014-01-27)
Aggregating Version Control Info at Mozilla
(2014-01-21)
Things Mozilla Could Do with Mercurial
(2014-01-17)
mach now lives in mozilla-central
(2014-01-09)
Why do Projects Support old Python Releases
(2014-01-08)
On Multiple Patches in Bugs
(2014-01-07)
Python Package Providing Clients for Mozilla Services
(2014-01-06)
Importance of Hosting Your Version Control Server
(2013-11-13)
Mercurial 2.8 released
(2013-11-08)
Using Mercurial to query Mozilla metadata
(2013-11-08)
MacBook Pro Firefox Build Times Comparison
(2013-11-05)
Distributed Compiling and Firefox
(2013-10-31)
OS X Mavericks and the Firefox Build System
(2013-10-22)
Alternate Mercurial Server for Firefox Development
(2013-10-17)
The State of the Firefox Build System (2013 Q3 Review)
(2013-10-15)
Phabricator is Awesome
(2013-10-14)
Why Firefox builds are slow
(2013-10-01)
Important Ubuntu bootstrap update
(2013-09-12)
Hosting Mozilla services with Stackato
(2013-09-04)
Visualizing Mozilla's release infrastructure machine efficiency
(2013-08-30)
Mercurial setup wizard for Firefox development
(2013-07-29)
Track pushes and train riding with Mercurial
(2013-07-25)
Mercurial Extension for Gecko Development
(2013-07-22)
Analysis of Firefox's Build Automation
(2013-07-16)
Quantifying Mozilla's Automation Efficiency
(2013-07-14)
The Importance of Time on Automated Machine Configuration
(2013-06-24)
Using Docker to Build Firefox
(2013-05-19)
Build System Status Update 2013-05-14
(2013-05-13)
Mozilla Build System Brain Dump
(2013-05-13)
The State of Mercurial at Mozilla
(2013-05-13)
Thoughts on Mercurial (and Git)
(2013-05-12)
Mozilla Automation Load Over Time
(2013-05-06)
SQLite.jsm - SQLite Done Betterer
(2013-04-14)
Making hg-git Faster
(2013-04-14)
Bulk Analysis of Mozilla's Build and Test Data
(2013-04-01)
Omnipresent mach
(2013-03-03)
moz.build Files and the Firefox Build System
(2013-02-28)
Thoughts on Logging - Part 1 - Structured Logging
(2012-12-06)
Changes to How mach Loads mozconfigs
(2012-12-05)
Firefox Build System Presentation
(2012-11-30)
Mach Has Landed
(2012-09-26)
Bootstrap Your System to Build Firefox
(2012-09-18)
Visual Studio Project Generation for mozilla-central
(2012-08-28)
Build Firefox Faster with Build Splendid
(2012-08-15)
mozilla-central Build Times
(2012-07-29)
Mozilla Build System Overview
(2012-07-29)
Makefile Execution Times
(2012-07-28)
Mozilla Build System Plan of Attack
(2012-07-25)
One Year at Mozilla
(2012-07-18)
Improving Mozilla's Build System
(2012-06-25)
Finding Oldest Firefox Code
(2012-06-18)
Smaller Firefox Build Logs
(2012-05-23)
Python Bindings Updates in Clang 3.1
(2012-05-14)
Better Sharing of Test Code in Mozilla Projects
(2012-05-10)
Improving the Mozilla Build System Experience
(2012-05-07)
Comparing the Security and Privacy of Browser Syncing
(2012-04-08)
Gone with the Wind Thoughts
(2012-02-26)
Blogging Again
(2012-01-28)