Whiskers 2.5D Engine, Magicor WASM, and MCP Playtesting
Whiskers 2.5D platformer demo, ImGui editor, and JSON debug protocol. Magicor in Python WASM and a C++/Whiskers preview at magicor.org/2/.
Thoughts on game development, security, privacy, and building software
Whiskers 2.5D platformer demo, ImGui editor, and JSON debug protocol. Magicor in Python WASM and a C++/Whiskers preview at magicor.org/2/.
Porting Hermes to AWS Lambda with DynamoDB chat history, S3 skills, EventBridge cron, and Telegram webhooks—the same agent loop without an always-on server.
How attribution-mcp evolved from a single Umami MCP server into a multi-platform analytics collection connecting to your LLM.
Building growlichen.com: a terminal-based AI interface that frames human-AI interaction as a symbiotic partnership.
How HPKE encryption protects user email addresses and personal data so the server can't read them even if compromised.
How I stripped the Umami MCP LLM reporter to just 3 dependencies, added newsletter tracking, and fixed UTM reporting bugs.
How HttpOnly cookies with CHIPS prevent XSS attacks and cross-site tracking while maintaining seamless authentication across subdomains.
How bitboards and card bitsets compress game state to a fraction of JSON size for faster multiplayer sync and cloud saves.
Augmenting CI/CD with continuous agency. Using formal specs to power autonomous AI agents and accelerated playtesting.
Explore my 2026 agent-driven workflow, a shift from CI/CD. This post details using AI agents and formal specifications to build modern websites.
A reflection on departing Mozilla for the second time, marking nearly 18 years of deep involvement with the mission.
Built a C++ game engine with ECS architecture, OpenGL/Vulkan rendering, and cross-platform support. Should I have started with 'Hello World'? Absolutely not.
Automate analytics reporting with AI using MCP Python SDK, Google Gemini, and Umami. Intelligent insights from your website data with natural language queries.
Explore cookieless analytics with Umami to ditch cookie banners while keeping useful insights. Privacy-first approach to GDPR compliance.
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.
A post about rewriting my 17-year-old Breakout! clone, now named Meteor Bounce hosted by Stellar Whiskers Games
A post comparing and contrasting game development using C and SDL, Godot, and a pure web approach, from a cross-platform perspective.
Step-by-step guide to creating a web extension in React, Astro, Svelte, and Angular for Firefox, Chrome, Edge, Brave, Vivaldi, and Safari.
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
Discover my modern approach to hosting and optimizing websites for performance, reliability, and efficiency using Astro, Azure and CloudFlare.
The Importance of Browser Engine Diversity: A Lesson from Vectiv and my experience with the IE browser monopoly, guest-starring Apple
Announcing a New Owner for the Add-ons Manager in Firefox, the component that manages extensions and themes. Links to more information about WebExtensions.
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.
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.
Implementing DXR, Mozilla's static analysis and code browsing tool, to improve source code comprehension and navigation within FreeBSD's complex codebase.
Quickly deploying Socorro, the powerful software behind Mozilla's crash-stats service, with this straightforward guide.
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.
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.
The WebKit project adopts Mozilla's graph server, leveraging shared tools to enhance performance tracking and foster collaboration in open web development.
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.
Announcing the launch of version 2.0 of the graphs.mozilla.org platform, with real-time access to production data.
Sharing a Vagrant virtual machine config for Socorro development, automating setup with Puppet, thoughts on continuous integration for publishing VM appliances.
Announcement and updates about the new perf-o-matic 2.0 interface. Progress on replacing the existing Mozilla Graphserver UI.
Testing gzip encoding on Tinderbox-stage to boost loading speeds. Share your feedback and help refine this performance improvement!
Exploring the HTML5 canvas and its use in web development, including discussions about excanvas for IE support and comparisons with SVG.
Journey from Tinderbox CI/CD to modern continuous integration practices, exploring how Momentum enhances deployment workflows and development automation.
A meme challenge where participants share an unedited picture of themselves, following simple instructions to capture an authentic, unfiltered moment.
A discussion on simplifying and improving the process of configuring and serving updates for Mozilla-based applications
Streamlining Software Releases with Automation. Discussions on Mozilla and Firefox's unique challenges when it comes to release engineering.
Exploring openSUSE Build Service: A Cross-Distro Packaging Solution. Ideas about cloud computing build and release services.
Rethinking OS Vendors: A Platform-First Approach. Should OS vendors be competing with application developers, or providing essential services?
Insights on math and algorithm learning strategies, exploring breadth-first learning, analysis, and blending music, programming, and physics.
Transitioning Mozilla to Buildbot for Continuous Integration, moving fully away from the venerable Mozilla Tinderbox CI
Announcing departure from Mozilla Corporation after an incredible experience and transition to CustomWeather, Inc.
Building a basic Breakout clone with JavaScript and HTML5 Canvas, a fun project to practice coding and create a classic game.
Announcement about migrating nightly production to release machines for the 1.8 branch for Firefox releases, with a list of impacted machines
Streamlining Mozilla 1.8 Nightly Builds with Release Automation, with links to bugzilla and more information. Tinderbox still in use, with help from BuildBot.
Volunteers bring passion and purpose, not just labor. Empower them to contribute their best, whether in politics or open-source projects.
Launch of the Tinderbox JSON API (tinderboxJsonApi 0.1), a simpler and more accessible way to interact with Tinderbox data.
Addressing concerns regarding build-on-checkin automation. Contrasting the trade-offs for the current and proposed systems.