News Aggregator Search

I have been looking for a good online feed aggregator for some time. It is not at all clear to me why most of the feed aggregators out there meet my needs so poorly. I do feel fairly specific about what I want (online, oldest first sorting, OPML export, exclusion of articles that I have read) but none of those features seem particularly complicated.

I tried out NewsGator Online recently and it is pretty nice. There are a few things about it that could be better but over all I think it is pretty sweet. I definitely like it better than Bloglines, which is what I have been using recently.

One of the things I really like is the slightly modified river-of-news style it uses. The modification is that you can mark stories and groups of stories as read so that they do not clutter up your view once you have read them. I find this a much more efficient, and enjoyable, than the categorized by feed approach of Bloglines and many others.

The biggest I do not like about this aggregator is that the name of the article’s source feed is displayed below the text of the article. I really prefer to know the source of an article before I read it, rather than after. The only other real complaint I have is that it is black text on a white background, which I despise (but apparently I think it is good enough for you, since I have not bothered to create nicer theme for my blog).

Over all the NewsGator Online aggregator is definitely worth a look.

Porch Rails

Last week-end I replaced the hand rails on my front porch. The new ones are Severe Weather Pre-Finished Composite Railing. They come as kit with everything you need, are very easy to install and, as you can see, they look really nice. (And best of all, they require no maintenance.)

There is something so satisfying about finishing a project. Especially when it makes a big difference in the way your house looks.

And Now You’re Older Still

My son slept in his bed (as opposed to his crib) for the first time last night. We got the bed last week-end and he took a nap in it on Sunday, but he slept in his crib on Sunday night. Last night he really wanted to sleep in the bed so we let him. He did really well, by which I mean he slept through the night and did not fall out of bed. Though, given all the pillows Cat put around him I am not at all sure that it was physically possible for him to fall out of bed.

Another milestone passed. They seem to be coming quite close together these days.

The Joy of Programming

The last couple of days I have been working on a little tool written in PHP, HTML and CSS. It is your basic, simple data-driven web application. Nothing particularly technically challenging, but it was unbelievably fun to write.

After using Java almost exclusively for the last several months I had forgotten just how much fun it is to write code in a really productive environment. (That usually means one that you can use reasonably well without 100 megs worth of IDE.) There are quite a few things about PHP which I think is less than optimal or elegant but you can get so much done in such a short time that those issues really just don’t matter.

PHP and Pretty URIs

The W3C has had published guidelines for designing URIs since 1998. On the public internet they even seem to be followed reasonably well, but the applications on company intranets generally seem to have depressingly ugly URIs. I think this is because many web application servers make it more difficult to have pretty URIs than to have ugly ones — which really sucks. When you are deploying an app to the public the pretty URI argument is more compelling, which basically means that time is rarely devoted to prettying-up the URIs of internal tools.

I am writing this fresh from my first encounter with PHP. PHP seems very useful, except for it’s URI handling. In PHP it is really easy to get information from the client that is sent in the query string but that pretty much dooms to to having ugly URIs. The right way to deal with this, IMHO, is to add information to the path-info portion of the URI. For example, if you have a URI “http://tools.mydomain.com/workflow/processes.php/fulfillOrder/1523” the “/fulfillOrder/1523” part is the path-info portion of the URI (same for for CGIs). (This URI does break at least one pretty URI rule, it has a ‘.php’ part, but you can always remove that part with a simple mod_rewrite rule.) The path-info portion of the request URI is passed into the PHP script but there is an complete lack of tools to help with interpreting it.

There are not even functions to normalize it (remove dots and repeated slashes and remove levels for double dots) and to split it into it’s component parts, which I think are the bare minimum functionalities required to use the path-info safely. It is no wonder that internal applications URIs suck. To make them not suck you have to write a bunch of code. Either lots of complicated mod_rewrite rules or some really boring URI path manipulation functions in PHP. Not that this problem is exclusive to PHP, I think that many of the web application frameworks out there have similar, or worse, hurdles for pretty URIs. (Even the web application server I helped design completely prevents the use of pretty URIs, a decision for which I apologize.)

Anyway, I guess what I am trying to say is that if you design a web application server, please make it easy to use pretty URIs. I hate to use ugly URIs but I have a hard time convincing my boss that pretty URIs are worth the money for internal projects.