Blog Contact Software Music
The Devil’s Pie

Remember Sawfish? Well, if you’re a veteran Gnome user you might remember it. It used to be Gnome’s default window manager back in the days. Sawfish looked quite simple on the outside, rendering a nice theme for window decoration and getting out of the way. Under the hood, however, it had a sophisticated LISP-programmable window matching engine, which allowed you to discover what new windows are being shown and do all kinds of things to them.

Speed forward a few years. Gnome ditched Sawfish in favour of Metacity, a simple, GTK-based, no-frills window manager (and with the latest Ubuntu you even get the singing and dancing, Enlightenment-syndrome inflicted Compiz, which makes your windows look like they’re made of jellow). There’s a lot to be said for using standard components, they’re stable and supported, for example, but for years I did feel that I’m missing the flexibility of Sawfish.

Take, for example, Firefox and Emacs. I spend considerable time in both of them. I usually open one instance of each at the beginning of every session, maximize it and switch between the buffers/tabs within. For a window that’s always maximized, it seems a bit unnecessary to draw a border. On my small laptop screen it’s downright wasteful. With Sawfish I could easily tell the border to go away, but with Metacity I just have to put up with the chunky, useless border on top of my window.

sudo aptitude install devilspie

Enter Devil’s Pie. Devil’s Pie is a complement to the window manager that fills the void left by Sawfish. It works in the background and reads LISP scripts that allow you to match new windows and do things to them.

; .devilspie/fullscreen-firefox.ds

; maximize the main firefox window and
; remove the window decoration.

(if (matches (window_name) ".* - Mozilla Firefox")
    (undecorate maximize))
look ma, no border!
Have you got API?

I have no idea for how long this has been going - I only discovered gotapi.com today and I’m already using it happily. GotAPI indexes tons of useful APIs on the web, and provides an incremental search for them.

GotAPI

The only thing missing, if you ask me, is adding some Gears to the mix, so that I can access the references offline.

Only two things are infinite

In every field, and technology is no exception, there is a constant tension between marketing and production attitudes. Marketing is all about making the customer feel that choosing to invest their money with you will make them better off and fulfill their needs. Engineering-driven production, on the other hand, is a constant battle to assure oneself that it is possible, with the resources at hand, to arrive at a satisfactory solution (and making adjustments to the solution or the resources until the equation is solved). Reconciling these two approaches can be very difficult, because the marketing attitude alone is unbounded by the uncomfortable truths of reality, and is therefore always at a risk of promising more than can actually be done. Invariably, if the promises given by people who’s only concern is marketing can’t be met (because they stand in contradiction to what’s actually possible) the marketing value of these promises is diminished, since they end up leaving the customer disappointed.

Take, for example, YAHOO. Earlier today the Internet giant announced that they will, as of May, give users of their web-mail product unlimited storage. As you probably know, nothing is unlimited, or infinite, except (citing a quote attributed to Albert Einstein) the Universe and human stupidity. How then, does YAHOO plan to offer unlimited storage? Surely that would require them to posses unlimited disk-space, in data centers of unlimited size.

What’s going on here? Do the engineers at YAHOO know something we don’t? Probably not. Let’s think for a second what’s really going to happen once YAHOO enables that unlimited storage feature. Most users will continue saving mail at the same amount they did before, which is much less than the 1 GB currently on offer. For these users the change from 1GB to unlimited wont make any difference, and YAHOO wont be suffering from offering them more than they already do.

Other users, the ones who currently almost scratch the top of their allocated 1GB will sigh with relief - no need to delete any of those old emails.

Very few users, perhaps a few hackers, will try to stress-test YAHOO’s offer and will start uploading huge amounts of data. Will they be able to do this ad infinitum? Only time will tell :-) But most likely they wont - YAHOO will have included something in the small letters on their EULA which will allow them to discontinue service to such users, and maybe even chase them in court. We all know where this leads, though - the conflict between those users and YAHOO will become very public, at least for a short while. At the very least, it will reach slashdot, and quite possibly will inspire a public debate about the obligations of service providers offering free use of their online facilities. The resulting effect on public opinion is likely to be embarrassing and even damaging to YAHOO.

Now, we all know why YAHOO is doing this, who their competitors are, which they feel a need to outdo. Google, with its GMail service, has been offering very large amounts of storage space since the very beginning, and the available space is increasing daily, so simply increasing the storage to top whatever it is Google is offering is hardly a satisfactory solution - the only way to be sure that you compete well with Google is to go unlimited.

That is, unless Google responds with its own unlimited offer. Only Google wont (or at least I bet they wont) - and that’s exactly the difference between Google, the Internet wunderkind that has grown so much as to nearly dominate the online world, and YAHOO, the company that probably suffered the most from Google’s growth. Google is an engineering-driven company. It was started by a pair of scientists and is famous for hiring only the best engineers around. When Google is offering 2833MB of storage, it means that there are many people within the company that know exactly what this means, how many disks, in how many data centers, and how is this likely to grow in the context of the company’s global strategy. YAHOO, on the other hand, is very much a marketing-driven company. In YAHOO (I guess), some marketing wizard came up with the brilliant idea of unlimited storage. When the engineers protested politely that there is no such thing as unlimited they were simply hushed. It’s not really unlimited, after all, just sort of unlimited, and anyway, who on earth would take advantage of such an offer … isn’t it illegal or something? We’ll just have to make sure Legal takes care of that.