RSSAmplifier

Blog

Rob Helmer - Blog

Thoughts on game development, security, privacy, and building software

rhelmer.orgRSS feed ↗64 posts

Latest posts

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/.

Running Hermes on AWS Lambda: Serverless AI Agents

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.

Chat with Your Analytics: attribution-mcp Evolution

How attribution-mcp evolved from a single Umami MCP server into a multi-platform analytics collection connecting to your LLM.

LICHEN: A Symbiotic Approach to Human-AI Interface Design

Building growlichen.com: a terminal-based AI interface that frames human-AI interaction as a symbiotic partnership.

Asymmetric Encryption for Player PII in Multiplayer Games

How HPKE encryption protects user email addresses and personal data so the server can't read them even if compromised.

Simplifying AI Analytics: Minimal-Dependency Umami Reports

How I stripped the Umami MCP LLM reporter to just 3 dependencies, added newsletter tracking, and fixed UTM reporting bugs.

Building Secure Login Systems with HttpOnly Cookies

How HttpOnly cookies with CHIPS prevent XSS attacks and cross-site tracking while maintaining seamless authentication across subdomains.

Efficient Game State Encoding with Bitboards for Multiplayer

How bitboards and card bitsets compress game state to a fraction of JSON size for faster multiplayer sync and cloud saves.

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.

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.

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.

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.

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.

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.

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.

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

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.

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.

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

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.

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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!

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.

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.

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.

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

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.

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.

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?

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.

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

Leaving MoCo after an incredible experience (2008)

Announcing departure from Mozilla Corporation after an incredible experience and transition to CustomWeather, Inc.

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.

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

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.

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.

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.

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.