Starting from scratch
This year I wanted to have a bit of time off everything. Blogging, programming, speaking and doing management stuff... Like a boss. But I've had itchy feet for quite a few months now and one of the things I wanted to get back into was blogging, except my current blog engine that I use is Feather which is also based on the no longer developed Ruby web framework called Merb.
It was a beast to get deployed last year and I just don't have the time or patience to maintain it. I just want to write. So here I am, using Posterous and quite liking it, it just works like a Mac. I'm happy.
I actually believe though that the future of life streaming and real time publishing is firmly with pubsubhubub. The ability of being able to update your blog in real time without some stupid polling mechanism or having to setup a cron job or background daemon is simply amazing. And a million times more scalable for blogging platforms that host hundreds of thousands of journals.
There are however two problems for me with regards to the current state of pubsubhub and personal publishing. The first is quite simple and that is that I don't see any blogging platforms that I can install myself that support pubsubhubub out of the box as a first class citizen. The second problem that I see is that there aren't any personal pubsubhububs. I can't just sign up to a hub and start pushing my updates to it in 2 minutes or have my topic subscriptions posted back to my blog in a similar easy manner. The arena for hubs just isn't as mature and user friendly I think it needs to be to really capture the imaginations of everyday publishers.
Because of this I started developing a minimal blogging engine that supported pubsubhubub out of the box, but when I tried hooking it to other hub's I realised that they weren't all that friendly. I don't just want to push my articles out to the unsuspecting masses. No, I want to push my tweets, flickr pics, porn videos etc back to me. To have them aggregated on my blog via a simple easy to use process.
So I bet you can guess what I did next. I wrote a pubsubhubub engine. First an evented one with Ruby, Async-sinatra, Eventmachine, Redis and Mongodb. Then a second one in Scala, Redis and Mongodb. Then a final one with Node.js and Redis (I didn't get around to hooking up mongodb to Node.js). All this took me quite a bit of time, because I was never fully happy with either implementation (don't get me started on the one I did in Clojure). Anyways, I'm taking this as a message. It's been a few months and I keep on re-writing the damn hub. But you know what? I'm not interested in the hub. I just want to write and I've got more interesting projects to work on. This is why over the xmas period I'll be open sourcing the pubsubhub aware blogging engine and then one or al lof my hub implementations. By the way when you have to do sync confirmation of subscriptions having a framework that doesn't block in a way that makes things totally transparent such Node.js really does make development easier. I just wish there was more CommonJS support for it.