Elite software development.

Mozilla

'MmRelive' - Collect Stats on Memory Management Activity

MmRelive is a software utility used to 're-live' the memory management activities of a process. Use it to collect useful statistics on the memory usage of a program. It is especially useful for discovering high water marks.

I wrote 'MmRelive' in Haskell, but it can be used by non-programmers.

Employed by Collabora

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.

Understanding The C++ Code Generated By Mozilla's IPDL Compiler

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.

Using Xen With Debian Lenny on 64-bit AMD To Emulate (Paravirtually) 32-bit IA32, A Log, Part 2

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)

Building Mozilla Firefox on Debian 5.0.2 (in an i386 VM on Xen)

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.

Using Xen With Debian Lenny on 64-bit AMD To Emulate (Paravirtually) 32-bit IA32, Part 1

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.

Building Mozilla Firefox on Debian 5.0.2 (AMD64)

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.]

Working With Collabora

As of yesterday, I have started working with Collabora on Mozilla's Electrolysis Project.

I am pleased to begin a new contract, and excited to see what technical challenges lie in store.

The Future of JavaScript Engines: Replace Them With JavaScript Compilers

This is my professional position on the future of JavaScript engines. I focus on Mozilla's TraceMonkey, Safari's "Nitro" (a.k.a. SquirrelFish Extreme from WebKit), and Google's V8 engine. I explain why future JavaScript engines should not be interpreters at all. They should be JavaScript compilers.

A Brief Timeline of JavaScript Engine Developments

This is a timeline of recent developments related to the only important JavaScript engines — those in:

  1. Mozilla's Firefox (TraceMonkey)
  2. Apple's Safari (SquirrelFish Extreme a.k.a. Nitro)
  3. Google's Chrome (V8)

Microsoft's two engines, IE7 and IE8, are not important because of their terrible performance.

Syndicate content