Ehsan Akhgari is a programmer living in Toronto working for Mozilla. He has over 10 years of experience on browsers and the web platform and Firefox. Learn more about him here.

Firefox 15: updates are now more silent

Firefox 15 is released on August 28th. Among many new features implemented in this release is background updates. This feature allows Firefox to download the update in the background, apply it alongside with the existing installation, and keep the updated version around so that it can quickly switch to it the next time that the browser starts up. This effectively eliminates the update progress dialog that appears when you start Firefox after it has downloaded an update:

Moving the Mozilla code base over to more modern C++

The Mozilla code base is very old. It dates back to before many of the common features of C++ today existed. As a result, people need to get used to a lot of arcane patterns and idioms that don't really feel great for those used to more modern code bases. This has been especially difficult for new contributors as it increases the barrier to entry for them by adding to the list of new things that they need to learn before they can be effective working on the Mozilla code.

Resizing windows in Ubuntu

If you're an Ubuntu user, you've probably come across problems when resizing Windows in the recent versions of Ubuntu. Jeff made me excited today by showing me one way to fix this problem. I looked around a bit on the web, and I found an even better way. To modify Ambiance to have a wider margin, open /usr/share/themes/Ambiance/metacity-1/metacity-theme-1.xml and increase the values of the following properties: Hopefully you'll find this useful!

How I lost access to my Google account today

After I woke up this morning, I saw a weird login prompt on my phone asking me to log in. I tried entering my password a couple of times but it didn't work. I then turned on my laptop and saw that I've been logged out of Gmail. After I tried logging in, this is what I saw: “Account has been disabled.” I'm sorry, what?! Yes, indeed, Google has disabled my account for some reason.

Porting an OpenGL application to the web

Emscripten is a tool which compiles C/C++ applications to Javascript, which can then be run inside a web page in a browser. I have started to work on adding an OpenGL translation layer which is based on WebGL. The goal of this project is to make it possible to compile OpenGL C/C++ applications into Javascript which uses WebGL to draw the 3D scenes. My first demo is a port of the es2gears application to the web.

Updating Firefox in the Background

The dialog below should look familiar. It displays while Firefox completes the update process after a new version is installed and the browser is restarted. In order to update itself, Firefox first starts to download an update in the background. When the update is downloaded, Firefox stages it in a directory ready to be applied. The next time that Firefox is about to start up, it checks out the staging directory.