Blog entries related to the Mozilla project
Submitted by Ehsan Akhgari on January 25, 2012 - 22:54
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.
Submitted by Ehsan Akhgari on November 11, 2011 - 22:09
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.

Submitted by Ehsan Akhgari on October 18, 2011 - 06:19
Clang is a new C/C++/Objective-C/Objectice-C++ compiler being developed on top of LLVM. Clang is open-source, and its development is being sponsored by Apple. I'm writing this post to try to convince you that you should switch to using it by default for your local development if you're targetting Mac or Linux at least.
Submitted by Ehsan Akhgari on October 4, 2011 - 02:55
Last week I landed a number of patches which I've been working on which fix two very old (5 digit) bugs in Gecko (bug 10209 and bug 87277) which affect rendering of web content. This point summarizes the changes to the behavior of Firefox as a result of those patches.
Submitted by Ehsan Akhgari on August 31, 2011 - 00:31
Last week, I met with Aryeh Gregor (the editor of the HTML Editing APIs specification, among other specs), Ryosuke Niwa and Annie Sullivan (both of WebKit editing fame) and Jonas Sicking (prolific Gecko hacker) to discuss the future of HTML editing APIs on the web, and also exchange ideas on how Gecko and WebKit handle editing. The meetings were extremely productive, and we managed to discuss a lot of stuff. I'm trying to provide a summary of everything we discussed. Yo
Submitted by Ehsan Akhgari on June 30, 2011 - 18:44
We've been too used to say yes. I'd like to remind everyone about this, and ask them to reconsider this old habit of ours.
Recently, what happened with bug 656120 made me feel warm and fuzzy inside. This bug potentially solves the Javascript memory usage problems introduced in Firefox 4. The feedback from the users on the Nightly branch was positive after landing this patch on trunk, so it was suggested for this patch to be backported to the Aurora branch.
Submitted by Ehsan Akhgari on June 30, 2011 - 18:00
Address Sanitizer is a new project based on clang which aims to provide relatively cheap memory access checking. It is capable of detecting errors such as out-of-bounds access or use-after-free at runtime. Although its functionality is a subset of what Valgrind supports, running applications built with Address Sanitizer is noticeably faster than running them under Valgrind, which can simplify the testing process.
Submitted by Ehsan Akhgari on May 13, 2011 - 04:33
My previous post about assisted landing of patches on mozilla-central was very well received. Apparently, all you have to do to get something awesome like that working is to blog about it. I chatted at the office with Chris AtLee about the idea and talked to him about what needs to be done, and who needs to own it, and shortly after, Lukas Blakk informed me that she has an intern for this job, and invited me to a meeting about the project. All this happened without me lifting a finger, which is amazing!
Submitted by Ehsan Akhgari on April 28, 2011 - 06:41
Imagine this for a second. You work on fixing something, get the required reviews, and run your patch on the try server. Everything looks good. Then you set a flag or something on the bug, and go home, and enjoy your evening. The next morning, you're reading your bugmail while enjoying your coffee, and you see a message from landingbot@mozilla.org saying that the patch has successfully landed on mozilla-central, you smile, and wonder how people used to spend 4 hours watching the tree (and possibly getting yelled at by me or philor in the meantime) when they wanted to land something on mozilla-central. This, my friend, is what we need to move towards, I think.
Submitted by Ehsan Akhgari on April 2, 2011 - 19:14
Writing tests which are resilient against intermittent failures is hard. In the process of trying to fix a large number of intermittent orange bugs, I've found out that a large portion of them are just caused by mistakes in writing tests, and almost all of those mistakes fall into commonly reoccurring patterns. It's hard to avoid those mistakes, unless you know how they lead to intermittent oranges, and how to avoid them.