Find me on:
Blog
Insights on AI safety, pharmacy UI, and privacy engineering
2/21/2026 ·
Agent-Driven Engineering: My 2026 Formal Spec Workflow
Augmenting CI/CD with continuous agency. Using formal specs to power autonomous AI agents and accelerated playtesting.
1/1/2026 ·
My 2026 Web Development Workflow: Agent-Driven Engineering
Explore my 2026 agent-driven workflow, a shift from CI/CD. This post details using AI agents and formal specifications to build modern websites.
11/21/2025 ·
Leaving Mozilla... Again. A reflection on departing, again
A reflection on departing Mozilla for the second time, marking nearly 18 years of deep involvement with the mission.
10/4/2025 ·
Building A Modern C++ Game Engine from Scratch (Whiskers)
Built a C++ game engine with ECS architecture, OpenGL/Vulkan rendering, and cross-platform support. Should I have started with 'Hello World'? Absolutely not.
6/24/2025 ·
AI-Powered Analytics Reports — Read Your Umami Data with MCP
Automate analytics reporting with AI using MCP Python SDK, Google Gemini, and Umami. Intelligent insights from your website data with natural language queries.
6/19/2025 ·
Can You Ditch Cookie Banners and Still Get Useful Analytics?
Explore cookieless analytics with Umami to ditch cookie banners while keeping useful insights. Privacy-first approach to GDPR compliance.
6/7/2025 ·
Automatic, Configurable Analytics for Umami with umami-kit
Umami Kit is a drop-in enhancement for Umami Analytics. Scroll depth, time-on-page, visibility, and click tracking—no cookies, configurable, and privacy-first.
2/13/2025 ·
Rewriting my 17-year-old Breakout! clone for the modern web
A post about rewriting my 17-year-old Breakout! clone, now named Meteor Bounce hosted by Stellar Whiskers Games
1/20/2025 ·
Comparing game development using C and SDL vs. Godot vs. Web
A post comparing and contrasting game development using C and SDL, Godot, and a pure web approach, from a cross-platform perspective.
1/10/2025 ·
Cross-Browser Extensions Using React, Astro, Svelte, +more
Step-by-step guide to creating a web extension in React, Astro, Svelte, and Angular for Firefox, Chrome, Edge, Brave, Vivaldi, and Safari.
1/10/2025 ·
Observability in Godot Web games with Highlight.io
Learn how to enable observability for Godot Web games for errors and session record/replay with highlight.io to see how people play your game
1/1/2025 ·
My Modern Website Hosting Stack for 2025 using Astro
Discover my modern approach to hosting and optimizing websites for performance, reliability, and efficiency using Astro, Azure and CloudFlare.
6/15/2019 ·
Browser Engine Diversity: Lessons from Vectiv, IE, and Apple
The Importance of Browser Engine Diversity: A Lesson from Vectiv and my experience with the IE browser monopoly, guest-starring Apple
11/15/2017 ·
Announcing a new owner for Firefox Add-ons Manager component
Announcing a New Owner for the Add-ons Manager in Firefox, the component that manages extensions and themes. Links to more information about WebExtensions.
11/30/2016 ·
about:addons in React: exploration, and a prototype
Exploring a React version of Firefox's about:addons as a proof-of-concept to replace XBL and XUL, with an emphasis on reusable components and state management.
11/30/2016 ·
Exploring Firefox Add-on Manager in Rust: Enums and Match
Experimenting with a toy version of Firefox's Add-on Manager in Rust, exploring its core components and comparing Rust's features like enums and match.
11/28/2014 ·
Better Source Code Browsing With FreeBSD and Mozilla DXR
Implementing DXR, Mozilla's static analysis and code browsing tool, to improve source code comprehension and navigation within FreeBSD's complex codebase.
6/21/2014 ·
Quickly deploying Socorro to power Mozilla's crash-stats
Quickly deploying Socorro, the powerful software behind Mozilla's crash-stats service, with this straightforward guide.
4/18/2013 ·
Etherpad 2013 Meetup Videos now available on Youtube
A post about migrating Mozilla's Etherpad install from the original Etherpad to Etherpad Lite. It includes a YouTube video series from the 2013 Etherpad meetup.
12/8/2012 ·
How to capture and replay HTTP POST requests using tcpdump
A tutorial on how to capture and replay HTTP POST requests using tcpdump, a case study for testing changes in a Mozilla crash-stats service.
3/1/2012 ·
WebKit Adopts Mozilla GraphServer for Performance Tracking
The WebKit project adopts Mozilla's graph server, leveraging shared tools to enhance performance tracking and foster collaboration in open web development.
5/24/2011 ·
Perf-O-Matic: Hacking on graphs 2.0 is fun and easy
Guide on contributing to and using perf-o-matic 2.0, with setup instructions and how to add features, fix bugs, or use your own data.
5/24/2011 ·
Launch of Graphs 2.0: Real-Time Access to Production Data
Announcing the launch of version 2.0 of the graphs.mozilla.org platform, with real-time access to production data.
5/18/2011 ·
Vagrant VM Config for Socorro: Puppet Setup and CI Insights
Sharing a Vagrant virtual machine config for Socorro development, automating setup with Puppet, thoughts on continuous integration for publishing VM appliances.
3/24/2011 ·
Updates on Perf-o-matic 2.0 and Replacing Graphserver UI
Announcement and updates about the new perf-o-matic 2.0 interface. Progress on replacing the existing Mozilla Graphserver UI.
6/29/2010 ·
Testing gzip encoding on Tinderbox-stage to boost speed
Testing gzip encoding on Tinderbox-stage to boost loading speeds. Share your feedback and help refine this performance improvement!
2/19/2009 ·
HTML5 canvas love: exploring its use in web development
Exploring the HTML5 canvas and its use in web development, including discussions about excanvas for IE support and comparisons with SVG.
2/15/2009 ·
Evolving beyond Mozilla Tinderbox: to Buildbot and beyond
Journey from Tinderbox CI/CD to modern continuous integration practices, exploring how Momentum enhances deployment workflows and development automation.
9/19/2008 ·
I accidentally the whole Meme(me): a meme challenge response
A meme challenge where participants share an unedited picture of themselves, following simple instructions to capture an authentic, unfiltered moment.
7/30/2008 ·
Simplifying and speeding up the serving of Firefox updates
A discussion on simplifying and improving the process of configuring and serving updates for Mozilla-based applications
7/11/2008 ·
Releases on tap: Addressing Mozilla's Automation Challenges
Streamlining Software Releases with Automation. Discussions on Mozilla and Firefox's unique challenges when it comes to release engineering.
7/9/2008 ·
Exploring the new openSUSE hosted build service (2008)
Exploring openSUSE Build Service: A Cross-Distro Packaging Solution. Ideas about cloud computing build and release services.
7/8/2008 ·
OS as software delivery platform, or competing app vendor?
Rethinking OS Vendors: A Platform-First Approach. Should OS vendors be competing with application developers, or providing essential services?
4/8/2008 ·
Learning strategies: Insights on math and algorithms
Insights on math and algorithm learning strategies, exploring breadth-first learning, analysis, and blending music, programming, and physics.
4/8/2008 ·
On moving from Tinderbox to Buildbot (for reals this time)
Transitioning Mozilla to Buildbot for Continuous Integration, moving fully away from the venerable Mozilla Tinderbox CI
4/2/2008 ·
Leaving MoCo after an incredible experience (2008)
Announcing departure from Mozilla Corporation after an incredible experience and transition to CustomWeather, Inc.
3/19/2008 ·
Breakout! Building a classic game using HTML5 Canvas
Building a basic Breakout clone with JavaScript and HTML5 Canvas, a fun project to practice coding and create a classic game.
3/4/2008 ·
moving 1.8 nightlies to release machines March 5 2008
Announcement about migrating nightly production to release machines for the 1.8 branch for Firefox releases, with a list of impacted machines
2/15/2008 ·
moving nightly Mozilla1.8 Firefox to release automation
Streamlining Mozilla 1.8 Nightly Builds with Release Automation, with links to bugzilla and more information. Tinderbox still in use, with help from BuildBot.
1/22/2008 ·
Empowering Volunteers: Lessons from Politics and Open Source
Volunteers bring passion and purpose, not just labor. Empower them to contribute their best, whether in politics or open-source projects.
1/17/2008 ·
Launch of Tinderbox JSON API (0.1): Simplified Data Access
Launch of the Tinderbox JSON API (tinderboxJsonApi 0.1), a simpler and more accessible way to interact with Tinderbox data.
1/10/2008 ·
Build-on-Checkin Automation: Concerns and System Trade-Offs
Addressing concerns regarding build-on-checkin automation. Contrasting the trade-offs for the current and proposed systems.
12/29/2007 ·
Improving Firefox Builds with CI and Performance Testing
Improving Firefox Build and Performance Testing. Discussions on continuous integration and building only as needed.
12/19/2007 ·
Automating Mozilla 1.8 Releases with Buildbot Nightlies
Setting up release automation for the Mozilla 1.8 branch using Buildbot to generate nightly and dependent builds
12/6/2007 ·
Migrating Mozilla Automation from Tinderbox to Buildbot
Migrating from Tinderbox to Buildbot for Mozilla automation, improving cycle times, centralized management, and closer alignment between nightly and release.
11/25/2007 ·
Updates on the process of migrating Tinderbox to Buildbot
Transitioning Firefox Nightly Builds to a new release automation CI/CD system based on Buildbot instead of Mozilla's venerably Tinderbox
9/2/2007 ·
JSON Mode and Performance Upgrade: now with 100% more AJAX
Introduction of a more AJAX-driven Tinderbox waterfall, using the new Tinderbox JSON output mode. The post discusses performance improvements.
9/2/2007 ·
Hands-Off Firefox Releases with Buildbot: Speed & Efficiency
Progress towards hands-off releases for Firefox with Buildbot-enabled release automation, aimed at improving the speed and efficiency.
8/29/2007 ·
Tinderbox JSON Update: Testing and UI Backend Insights
Tinderbox JSON Output Update, and a call for testing. Discussion into current UI techniques and using Mozilla Tinderbox as a backend.
5/20/2007 ·
Releases: On Bootstraps, And Pulling Oneself Up By One's
Explore how Bootstrap automation scripts enhance release quality and ensure consistency for streamlined development workflows.
2/10/2007 ·
Buildbot 'try' support for one-off Mozilla Firefox builds
Exploring Buildbot integration for Mozilla, including the creation of a custom Buildbot 'try' server for one-off builds.
11/1/2006 ·
The Automaton: Automating Firefox and Thunderbird releases
Automating the release process for Firefox and Thunderbird with a custom workflow, using tools like Buildbot, SVK, and Subversion.
10/14/2006 ·
Mozilla Release Automation Update: Progress and Challenges
An update on the progress of release automation at Mozilla, discussing the completed steps, challenges faced in automation and verification.
9/29/2006 ·
Automation, Buildbot, trying svk for version control
Implementing release automation for Mozilla using Buildbot, exploring distributed development workflows and version control optimization with SVK and CVS.