I’ve just installed Sunbird (Mozilla’s calendar app). It’s currently at 0.3 Alpha 1, which rather put me off, but it’s so far proven to be very stable and is very nicely put together. Definitely worth a look if you want an iCal client for Windows.

Google payments

TechCrunch is rapidly moving up my list of must read sites… Today they have an exclusive on the new Google payments system, a direct shot across ebay’s bows.

Intriguing. Google Base was to me an odd offering; allowing users to take and make payments makes it make a lot more sense, but there’s a lot of ground to be made up if they are to catch ebay. Also interesting that this is not directly about ‘organising the world’s information’, but *is* directly about tackling the biggest c2c market available and digging directly into yet another mega-brand’s territory and revenue stream.

Our Indian adventure…

…really is starting to bear all the hallmarks of a slow motion train crash. Yesterday, on top of everything else, it was announced that Trescothick is going home. So. We’re without Trescothick, Collingwood and Giles, and Vaughan, Pietersen, (Simon) Jones and Udal are nursing injuries or sickness and may well not play.

On top of that it looks like we’re going to ask Freddie to captain the side. I really hope not. He’s averaged 8 with the bat since his arrival in India. Asking him to bowl the hard overs, improve with the bat and captain? No chance. Making him captain on top of everything else will ruin his chances of having any kind of tour.

Suddenly we’re looking very weak again. 50% of the side are new faces, and a good few of whom are only there, sad to say, because of a of lack of depth in selection possibilities, not because they would honestly be vying for a place in the side if the first choice eleven were fit. Let us hope upon hope that a good English summer brings some fitness to the players and some depth to our choices before the Ashes.

Flight plans

Over at TechCrunch there’s a fascinating preview of FlySpy, a rather neat application that allows you to better understand and manage the airline’s rather murky capacity management processes – meaning you can find the cheapest day, time and destination for your intended journey in one place, rather than ludicrous numbers of round trips between websites and brokers. Very nice.

What interested me more though was the frequent reference in the comments to “the same service already existing in Europe”. Apparently Sky Scanner does the same thing…

Sad to say it doesn’t. Not only does it not do what FlySpy claims to do, it does the little it does do extraordinarily slowly and with absolutely no thought to UI or usability. Poo. Which is a shame, because I can see FlySpy being very US-centric for a while yet (and I was looking for cheap tickets to Oslo as well).


So. I think I’m decided on the architecture for the new incarnations of offmessage… Rather than go barrelling in with another half arsed solution (this may look beautiful on the outside – natch – but it’s vile and unmaintainable on the inside) I thought I’d do a little research this time and try and treat it like a proper project.

So, given my new found love of python it had to be one of the python frameworks. I’d been thinking about Django and CherryPy for a while, but then TurboGears came along, and that seems to a) have ludicrous traction, and b) be supported by some very good developers so those bits that are missing and broken are getting filled in and fixed very quickly. Turbogears then kind of makes the main choices easy, as on top of CherryPy it brings with it MochiKit (for Javascript, which includes some lovely code), Kid (for templating) and SQLObject (as an object to rdbms mapper).

Then there’s the database, for which I’m going with sqlite until I absolutely have to use something else. Doug‘s been doing some performance testing and found that even with 200 simultaneous users in a turbogears application sqlite gives PostgreSQL a run for it’s money, so i see little point in over complicating things this time around.

Finally, I’ve been looking at WYSIWYG editors. One of the things that I’ve come to feel is absolutely necessary recently is an editor. I have to type all the HTML in by hand at the moment and for something as basic as this it’s fine, but the minute your content becomes less structured and more varied or, God forbid, your users become less technical, a plain textarea just isn’t enough…

There are 3 out there at the moment that all seem to have some mindshare: Kupu, FCKeditor and TinyMCE. While I see Kupu every day (it ships with Plone) I’m actually not that fond of it’s implementation, and the integration seems unecessarily complex. FCKeditor started out more promisingly, until I tried to actually implement it in a framework that they hadn’t already and it rapidly started to prove very hard. So. TinyMCE it is. It took me all of 10 minutes to get it working, and the rest of my time has been spent improving my implementation, rather than struggling with integration with my own code.


  • Tubogears
    • CherryPy
    • MochiKit
    • Kid
    • SQLObject
  • sqlite
  • TinyMCE

Please feel free to treat this like a book club and learn along with me 🙂

Zope and Plone – a whole lot of changes

Crikey. So. An awful lot is going on all of a sudden (or so it appears):

  • Zope 3.2 is released, and it replaces ZServer with the Twisted Server (something that I know Doug for one will be very excited about).
  • At the same time there are moves afoot to fork the Plone collective, creating a new repository for products that are ‘high quality’ (have installation instructions, use Zope 3 concepts, use eggs, etc)
  • And on top of all that 3 (yes *3*) Plone roadmaps have been published – 2.1.3 (next maintenance release), 2.5 (next infrastructure release) and 3.0 (which at the moment looks like it should be called the AJAX release).

Looks like a) Zope 3 is suddenly looking very very good (rather than simply very good, as it was), and b) Plone is looking to use Zope 3’s concepts sooner than perhaps imagined. That learning curve never gets any shallower, does it?