Image of Linux Kernel Development (3rd Edition)
Image of Advanced Programming in the UNIX Environment, Second Edition (Addison-Wesley Professional Computing Series)
Image of Beginning Google Maps API 3
Image of Modern Operating Systems (3rd Edition)

Firefox 4 Restartless Add-ons

Prior to Firefox 4, extensions (more commonly called add-ons) that modified or added to the browser user interface (UI) required one or more UI overlays which the browser loaded from the add-on and applied atop its own user interface. While this technology made creating add-ons that modified the Firefox UI relatively easy, it also meant that updating, installing, or disabling an extension required that Firefox had to be restarted. UI overlays for Firefox are written in XUL (pronounced “zool”), an XML-based markup language created by Mozilla for specifying user interfaces. XUL provides a number of largely platform independent widgets from

Using JavaScript Code Modules in Firefox 4 Add-Ons

The concept of a JavaScript code module in the Gecko layout engine was first introduced in Gecko 1.9. This post discusses how such code modules can be used to simplify preference and add-on management in Firefox 4 which uses Gecko 2.0 and JavaScript 1.8.5. It uses a simple Firefox add-on called HTML5toggle as an example of how to modify existing code to use Javascript code modules. A JavaScript code module is simply some JavaScript code located in a registered (well-known) location. JavaScript code modules are primarily used to share code between different privileged scopes. They can also be used to

IPython – A Configurable Interactive Python Shell

Python is a popular interpretive object-orientated programming language that has been around since the early 1990s and comes with its own command line shell. To make Python more productive for himself, Fernando Perez, currently a research scientist at U.C. Berkeley, created an enhanced version of the standard interactive Python shell which he called IPython. IPython evolved from a number of then existing projects: An existing project by Fernando PĂ©rez to add Mathematica-like prompts and a flexible configuration system to the standard Python interactive interpreter. An enhanced interactive Python prompt by Janko Hauser, called IPP, which maintained a prompt history which