Ben Hammersley hates the internet

Ben Hammersley now uses iWeb for publishing and claims that this is better for his readers.

Aristotle says it well:

Why not publish in PDF if you’re going to go against the web’s grain anyway? That gets you frictionless publishing tools.

Also see Gareth’s Textify! Greasemonkey script which restores the content to actual text rather than an embedded image. Nice way to really show how much you hate the web, Hammersley!

Is there a C++ library for Atom handling?

FeedThing is a desktop aggregator written in C++ by Gareth Simpson. The internals are split into several parts, including libfeedthing which is the core liberal feed parser, but it hasn’t been updated for ages, and I don’t think even he uses it any more, so it only supports the interim (and deprecated) Atom 0.3.

Which is a shame, because if was still using it, it would probably have a working Atom 1.0 parsing library.

As far as I can tell, there isn’t a single open-source Atom 1.0 parser written in C++. Unlike Java, Python, PHP, Ruby and .Net which all have it good with at least one solid feed parser.

I want a proper parsing library for my Atom-over-XMPP application. I’ve just been upgrading Feed On Feeds to transmit Atom 1.0, so now I need something to receive it – so far this has been FeedThing, but I don’t really fancy upgrading it to support Atom 1.0. The obvious alternative is to pick an open-source desktop client which already supports Atom 1.0 or could do by upgrading the parsing library it uses, and use that instead, but the only one that meets the “appealing” criteria (see below) seems to be Pears, which is a wxPython application (nice and cross-platform, and the xmpp libraries and code samples already exist) but that seems destined to move to an HTML interface in a desktop frame, which doesn’t sound particularly pleasant, and frankly, having actually now used it for five minutes, I already want to jump out of the window just to alleviate my suffering.

So what shall I do? I suppose it would be good for me to write some C++, but ditto with Python, and I have been wanting to do some RSS/Atom integrating with WikidPad – maybe this is my cue?

Those “appealing” criteria in full:

  • desktop aggregator
  • not .NET
  • not Java
  • three panes preferred
  • allows nested folders in the feed list
  • easy to upgrade to support Atom 1.0 if it doesn’t already
  • XMPP libraries in the aggregator’s programming language already exist (and work!)
  • must run in Windows (cross-platform a plus)

Of course, when I say “appealing”, I mean “non-negotiable”.

My subscriptions list in OPML, XOXO and Atom

For a larf, I added two quick hacks so that my Feed On Feeds installation now outputs my feed list in three formats:

Down sides:

  • Generating the OPML was easy, but despite its ubiquity, I have no idea what will and won’t be able to read it.
  • Generating the XOXO was harder, there’s no hBlogroll microformat, so I’ve just copied bits of what Les Orchard has done, and no aggregator tools will be able to use it.
  • Generating the Atom was mostly easy, but mandates an updated element per entry, which would need a query the other two don’t and I needed to ensure that if there wasn’t a feed description, that I was generating something else in order to fill the mandated summary element. Also, no aggregator tools will be able to use it for importing a list of feeds.

Up sides:

  • My OPML might be able to be imported by other applications. Marvellous!
  • My XOXO file can be displayed on the web straight away, as-is. Marvellous!
  • My Atom file validates, so can certainly be parsed by any tool that understands Atom. Marvellous!


Subscription lists, three years on from when I first started using them, are just as crap as they were back then. If I were a tool writer now, starting from scratch, I’d be exporting and importing subscription lists in the form of Atom files. Any tool that wants to understand that file can transform it into whatever bastardised version of OPML it understands. I will definitely be adding Atom feed list import to my copy of Feed On Feeds.

On a related note, a few weeks ago Danny Ayers was talking about using for reading lists and in November Aristotle Pagaltzis published an XSLT for converting from API results to Atom.

I’ll leave you to join up the dots.

Palm adopts Linux

Not that PalmSource aren’t entirely dead anyway, but they recently announced a “commercial-grade Linux-based platform designed for smartphones and mobile devices” called the ACCESS Linux Platform (ACCESS being the Japanese firm which bought PalmSource in December 05).

The interesting highlights are:

  • using SQLlite for data storage, which should make 3rd party integration easy
  • using GTK+ for the UI (just like Nokia with Maemo)

I don’t think I can even remember the last time I saw a Palm-powered device (other than my unused Clié, under my desk).

Internet fridges

I was reading the other day about how futurologists get it wrong and how we’re never going to see an Internet Fridge. Well goddamn if I don’t want some variation on that.

How much would I give for the ability to scan the barcodes of stuff I put in my cupboards and fridge, then scan it again when I remove it, and so be able to call up the list of what’s currently in my kitchen when I’m at the supermarket, or have it automatically remind me when I’m out of something, or running out, or, from a pre-defined list, auto-create most of my shopping list. I mean, how hard can that be? The hardest bit (by a country mile) is getting the barcode scanner to understand what item you’re swiping in front of it, the rest is “just” programming (and let’s face it, if I can do it, it can’t be hard).