Skip navigation.


Video tutorials

I've been experimenting with making tutorial videos / screencasts:

"The scarily-named Injector"

The Zero Install Injector is named after the concept of "dependency injection". In this post, I'll try to explain what this means and why we use it.

Reinteract-ROX: a re-packaging tutorial

Reinteract thumbnail

Earlier this month, Owen Taylor announced Reinteract ("a system for interactive experimentation with python"). I've been wanting something like this for a while now.

In this article, we're going to turn it into a ROX application. In the past, this has meant taking a copy of a program and renaming and changing things to fit the ROX application structure. The trouble is, the ROX version and the original upstream version diverge over time. So, we're going to look at how improvements in tooling can make things easier for us.

New hosting for ROX web-site has provided us with excellent service over the years considering the charge (free!), but it's often very slow to respond now (see this thread). Therefore, I'm experimenting with paid hosting. Please try it out and see what you think!

New accounts on

Due to the huge amount of spam that has been posted here over the last few days, I've had to block the creation of new accounts (there are over 300 bogus registered users currently). If you need an account, just write to the mailing list and ask. Sorry for the inconvenience!

Zero Install 2007 survey

The 2007 Zero Install survey is now up, so please submit your feedback there!

There's also some discussion on the LSB packaging list about third-party installation, including Zero Install.

Using ROX with Ion

Spending too much time organising your windows instead of getting things done? Tiling window managers aim to handle the layout for you. In this article, I'll show how to configure Ion 3 to work with ROX.

Regression testing

One of the great advantages of open source for library authors is that you get access to your users' unit test suites. Ensuring that your library passes its own test suite before release is good, but sometimes your users are relying on features (or undocumented behaviour) you didn't test. Running their tests too can give you extra confidence, and it's easy to make this happen automatically in your release script.

Async python Socket Server using gobject

Recently I created a small command line python utility to process some stuff on a TCP socket connection. I used the standard python SocketServer class because it was dead simple to use for my purposes.

However, as the requirements of the utility grew (a GUI), I hit the main problem with SocketServers - they block - which is not so good for GUIs.

So, instead of using nasty old threading, I worked out how to use gobject.io_add_watch() to do everything in the gobject/gtk main loop. This makes it very simple to have this run in a gtk UI without needing threads.

Ubuntu integration

Note: An updated version of these instructions can be found on the Ubuntu page.

Can we get rid of ROX-Session? It should be possible to integrate ROX with your existing session manager. In this experiment, I configure a fresh Ubuntu installation to run ROX, without using ROX-Session.

Syndicate content