Tell me more about this intriguing future

Firefox 1.0 was released on the 9th of November of 2004, and I still remember the buzz. We were all excitedly downloading it because our browser had finally reached v1.0.

Using Firefox at that time, with all the developer extensions, gave you such an advantage over other web developers. Adding in the tabs, and the way it was predictable (CSS standards wise), and that it wouldn’t get infected with stuff as often as Internet Explorer, made it into such a joyous experience.

Now, if you had told me back then that I’d be contributing code to Firefox, I’d be laughing in your face. But then I’d stop and ask: Wait… what? Tell me more about this intriguing future!

Fast forward thirteen years. I am working at Mozilla, and tomorrow we release Firefox Quantum to the general public. It’s, as the name says, a “quantum leap” between this and previous Firefox versions.

I’m personally excited that I’ve contributed code to this release. I worked on removing dependencies on the (now defunct) Add-on SDK from the code base of Developer Tools. This means that the SDK code could be finally removed from Firefox, as the new WebExtensions format that Firefox uses now does not make use of that SDK. Results? Safer and leaner Firefox (the old SDK exposed way too many internals). Oh, and that warm and fuzzy feeling after deleting code…

So I didn’t contribute to a big initiative such as a new rendering engine or whatnot, but it’s often the little non-glamourous things that need to be done. I’m proud of this work (which was also done on time). My team were great!

Another aspect I’m very thrilled about is how this work has set us up for more successes already, as we’ve developed new tools and systems to find out ‘bad stuff’ in our code, and now we’re using these outside of the Firefox “core” team to identify more things we’ll want to improve in the upcoming months. There’s a momentum here!

Who knows what else will the future bring? Maybe in 10 years time I’ll be telling you I shipped code for the new rendering engine in Firefox indeed! One has to be open to the possibilities…

Update: my colleague Lin has explained how Firefox Quantum is a browser for the future, using modern technology.

How to solve the “aborting due to worker thread panic” error message while compiling Firefox on a virtual machine

Short answer: allocate more memory to your virtual machine.

The error is produced because the build process ran out of memory when compiling Servo’s style crate.

I tried with 4096Mb and it seems to be happily chugging along now. I guess your mileage may vary, yadda yadda… 💁🏻

This is nothing short of miraculous as it’s a Virtual Machine running Linux in a Macbook retina (with 8 Gb of RAM), which is a moderately underpowered-for-compiling-things laptop. But hey, lightweight, right?

Splitting PDFs into single pages using Automator

Every quarter at Mozilla managers get an automatically generated PDF report that we need to split into single pages.

The first time, I did that with Preview.app… dragging each page out. Slow, but reliable! It was only two pages, so it’s doable.

The second time, I automated it, using THE AUTOMATOR!

This app was introduced in 2005 in Mac OS X and I’ve never actually used it for good. Well, I’m glad I finally found some good use for it, as these reports are getting longer and I would rather spend my time on something more interesting than dragging thumbnails around 🙂

So, instructions if you don’t like watching videos:

  1. Open Automator
  2. Create a new workflow
  3. Select Library… Ask For Finder Items… double click to add it to the workflow
  4. Select PDFs… Split PDF
  5. And RUN IT, using the bottom on the top right!

It will ask you for the PDF you want to split, then it will split it in pages and place it on the Desktop.

You could get fancier, and you probably still need to rename the individual files, but I haven’t researched that bit yet.

Happy (and fast) splitting!

Service Workers in iOS?!!!!111one

Someone has spotted a bug in WebKit’s Bugzilla with a patch for implementing Web IDL and stub for Service Workers.

The “PWA community” is 🔥 on fire 🔥 on Twitter right now.

I find this amusing, as I think it was only yesterday that I was reading Yet Another Rant in Medium by someone who had to learn React Native instead of just building a website, because iOS didn’t support Service Workers, also accusing Apple of not supporting the Web because it doesn’t make them any money directly. I don’t think that was the straw that broke the camel’s back, but it’s a funny coincidence.

I also don’t know where the rant is, as people share so many Medium “pieces” in twitter and I find it hard to differentiate between them. I also often just open in an incognito window out of habit so I can’t even find it in my history.

Anyway, I’m excited! It won’t be implemented next month (I reckon), and we’ll probably have to wait until the next big iOS roll out that ships a new Safari, but it is nice to see movement rather than a stern ‘under consideration’. In the future, you will not need to build two or more different versions of a native app, using different programming languages, in order to get offline support, push notifications, etc, etc. Yay!

I’m also secretly happy that WebKit use Bugzilla as well. There’s something about shared pain that fortifies the soul… 😂