Today, I began full-time work as a Collabora employee. With that company, I shall develop and augment open-source software infrastructure, and act as a programmer analyst on Mozilla technologies.
Mozilla's "Electrolysis" project is re-structuring Firefox into a multi-process architecture. A side effect is that Mozilla developers must learn to program in an environment where inter-process communication (IPC) is necessary. To ease this development burden, Mozilla has devised "IPDL", the Inter-process Protocol Definition Language. Developers are meant to specify their IPC protocol via IPDL, and have the IPDL compiler provide C++ code for their use.
This article investigates the functionality provided by the C++ classes generated by the IPDL compiler. Developers should never have to modify the generated code, but understanding how it works will help to explain what responsibilities developers of IPDL protocols have.
This documents my efforts to produce a 32-bit Debian Lenny image for Xen with a 64-bit Debian Lenny dom0.
- arch: AMD64 Athlon X2
- os: Xen 3.2 (via Debian Lenny's install)
- dom0: Debian Lenny 64-bit
- domU: Debian Lenny 32-bit (desired)
This documents how I built a Debian development environment capable of building the Mozilla source code. I believe that it is minimal — all of the installed Debian packages are necessary, and they are sufficient.
This is an elided log of my installation of Xen in which I omit mentioning the many wrong paths that I took.
Started with functioning Debian 5.0.2 stable installed on a box with AMD Athlon X2 Dual Core 64-bit processor with virtualization technology.
This tutorial summarizes how I built Mozilla Firefox on my new Debian 5.0.2 ("Lenny") installation. The box is AMD Athlon X2 64-bit. I document the packages that one must install with 'apt-get' in order to satisfy the build dependencies on this platform. [Updated 2009-Oct-11 to reflect new dependencies.]
- Mozilla's Firefox (TraceMonkey)
- Apple's Safari (SquirrelFish Extreme a.k.a. Nitro)
- Google's Chrome (V8)
Microsoft's two engines, IE7 and IE8, are not important because of their terrible performance.