January 18, 2008

A Simple Mozilla Build Script and Tutorial

Last Wednesday, I started working at Mozilla, the awesome company responsible for leading and coordinating the development of the Firefox browser. I’m now working for their labs team, exploring new ways of making the internet easier to use. Everyone I’ve met here so far is very friendly, intelligent, and motivated to make the web a better place; I’m really looking forward to working with them more.

One of the first tasks I’ve given myself here has been to get myself acquainted with the Mozilla build system, which is used to build Firefox, among other Mozilla projects. I’m most familiar with SCons, a Python-based tool we use at Humanized to develop Enso, and while I have some experience with Makefiles and the GNU Autotools, it’s been enlightening to see how the build system for a project as large as Firefox works.

While doing this, I spoke with Mike Meltzner, who passed me some gems of wisdom that were given to him by Vlad Vukicevic regarding a different way of setting up the build system than the one prescribed in the Mozilla Build Documentation.

I thought that the way Mike and Vlad did things was much more preferable than the one prescribed in the traditional build documentation, largely because it kept the CVS checkout 100% “pristine” and used a completely separate, parallel directory structure for everything else; aside from providing a really clean separation between what was under version control and what wasn’t, this gave me a much better idea of how the build system actually worked. Mike said that his way of doing things wasn’t documented anywhere, so I figured I’d write a simple script/tutorial that walks a reader through the setting up of the build system, the checking-out of Firefox from the source code repository, and the building of the application itself. It works on my OS X machine; I’m not sure if it works under cygwin or Linux, but I imagine it should.

Feedback is appreciated.

... Read more

January 11, 2008

Pickle Presentation Slides

At yesterday’s Chicago Python User Group (ChiPy) meeting, I gave a presentation on the Python pickle module; I’d always been curious in the internals of how serialization works “under the hood” and wanted to learn enough about it to give a talk that was accessible to Python newcomers and veterans alike. I’d like to thank Robert Zeh of GETCO for hosting the meeting, and everyone for attending–we had a great turnout. ... Read more

April 13, 2007

PyPy Presentation Slides

At yesterday’s Chicago Python User Group (ChiPy) meeting, I gave an informal presentation on PyPy, a project that I’ve been interested in lately. I’ve posted the slides here as a PDF. Be warned, though, that PyPy is by no means my area of expertise, so these slides may not be terribly accurate. I’ll be fixing them as I learn about their errors.

March 8, 2007

Python Emacs Development

Back in 2005, while I was taking a class taught by the late Jef Raskin at the University of Chicago, I was inspired by his program The Humane Environment to write some Emacs commands that would make software development a little easier for myself. Based on some interest from the Chicago Python User Group, I’ve polished the code a bit and published it here. Read more about pymdev, A Python Emacs Development Module. ... Read more

July 31, 2006

GuildPal 0.3

GuildPal is a World of Warcraft addon that adds two simple slash commands to your World of Warcraft interface, intended to facilitate the communication between members of a growing guild.

... Read more

August 1, 2005

Slightly Old Stuff

The following is a summary of stuff I worked on before the new Toolness was created, but after I stopped maintaining any of my old sites. Programming Narrowcaster - During the summer of 2004, I realized how great RSS syndication was and decided to get an aggregator. Unfortunately, all of them were horribly complicated: highly modal interfaces, tons of tabs and controls and buttons to mess around with and what have you. ... Read more

© Atul Varma 2021