Setting up Arcanist for Mozilla development on Windows

Mozilla is rolling out Phabricator as part of our tooling. However, at the time of writing I was unable to find a straight forward setup to get the Phabricator tooling playing nice on Windows with MozillaBuild. Right now there are a couple of separate threads around how to interact with…

Tips and tricks for eslint-ing mozilla-central

eslint is a great tool when dealing with JavaScript. Using eslint in mozilla-central helps save time by catching issues before review and aids in keeping the codebase consistent. Clever people have already setup eslint in various ways in mozilla-central, see here and here to get started! This post is a…

Why Does Firefox Use e4 and e5 Values to Fill Memory?

I was once talking to some colleagues about a Firefox crash bug. As we gazed at the crash report, one leaned over and pointed at the value in one of the CPU registers: 0xe5e5e5e9. “Freed memory,” he sagely indicated: “e5”. Magic debug numbers Using special numbers to indicate something in…

Migrating From LastPass to KeePass

I've recently been trying out KeePass 2 as an alternative to LastPass, in this post I'm going to go briefly into why I made the switch, and detail how you can do so with a fairly minimal amount of pain. If you're just interested in how to migrate, you can…

Dissecting Firefox's -no-remote option

Starting multiple instances of Firefox is something I've done countless times, in order to test different versions and use different profiles. In order to do so I use the handy-dandy -no-remote option. However, the documentation on -no-remote is a little sparse. So let's looks at what the option really does,…

Of Too Long File Names (in Windows) and Git

I was recently involved in a restructure of git repositories for a moderate sized Java code base. As it's a Java code base you end up with impossibly long paths due to package structure, e.g.: ~/src/main/java/com/brycecorp/documenthandling/xml/server/rest/util/mock/MockDocumentResourceLoader.java In…

Null is Bollocks

This is a blog post I wrote while working on a Java heavy project. It was spurred by adoption of Java 8 being on the horizon, as well as some frustrating code dives to figure out which code paths in a document handling pipeline could lead to null values. Null…