Saturday, February 18, 2006

Feed Reader Update

Well, progress is being made on the rss aggregator front, which means little to no work on the Lisp front. At this point, the basic infrastructure for downloading feeds periodically and putting them in a context menu in the notification tray works. I even have a snazy animation when processing feeds. It is actually a functional aggregator, as long as you are willing to hack the registry every time you want to add a new feed. Obviously this won't work. I still have to add the ability to easily add/edit/remove feeds. Oh, and parse atom feeds as well. One sticky issue I have run into is HTTP 302 redirects. Jasko was able to break the RSS processing with the first two feeds he gave me. The first because it had an XML comment node where I didn't expect (easy fix) and the other caused a 302 redirect. Blech. That one I am still working on.

Speaking of Jasko, he has been cranking on some very cool Lisp tool stuff that is going to make our lives (and I would imagine a number of other non-old-school Lispers) much better. Speaking of making life easier, SBCL can now create stand-alone executables.

Hopefully I can get back to sb-bsd-sockets hacking on Windows once I get this reader squared away. Things are falling into place.

Sunday, February 12, 2006

Right Pew, Wrong Church

this post does a very good job of covering some of the shifts in what is considered good programming practice in C++. I noticed the shift to non-member functions over the last couple of years, and generic programming has obviously been taking over for some time. I now completely understand why lispniks are so bitter and cynical. What the C++ gurus are coming around to is the fact that single-dispatch message-passing OO is an inferior model to a generic function OO - the same OO style of CLOS - the Common Lisp Object System.

Windows Feed Aggregators

After careful consideration, I have come to the decision that RSS/Atom readers on Windows all suck. Actually, SharpReader isn't too bad, but it necessitates a 30MB .NET runtime download if you don't already have it. Based on our experience deploying Paragent Manage in the wild, .NET just isn't widely deployed even now.

Why all this interest in an RSS aggregator now? We are evaluating some future development using a web-based model, and want to allow our users to get timely information through RSS feeds. I wanted to see if there were some good RSS readers that our users could use. All of them are just overkill for our needs:
  1. A small, self-contained executable that runs in the system tray
  2. An icon that changes to indicate the severity of new items
  3. a context menu that lists the new items
  4. pop toast on new entries
That is pretty much it. All the readers we know about use a three-pane email style interface that allow for reading all entries within the reader itself. For showing alerts, this is overkill. Once we have these features, we are not far from my personal ideal news reader. Add the following, and I would use for all my feed needs:
  • a simple interface for managing feeds
  • a very simple display of all the current items with their descriptions
So, I have been working on a new aggregator. Watch this space...