harsh (in C)
harsh (in Haskell)
user-space TCP
harsh is a console RSS aggregator. I had been using Snownews, but wanted to change so many things about it that I decided to just write my own, in C. Later, when I started trying to learn Haskell (especially networking and STM), I rewrote harsh in Haskell. Almost all of the original functionality is in the Haskell version, with the following notable exceptions:
  • It cannot read your netscape cookies.txt file (see this bug)
  • Some web servers may not like the HTTP request made (see this bug)
  • Some web servers may not like the cookies sent (see this bug)
The Haskell version is roughly one-sixth the number of lines of code, but to count lines of code strictly is kind of unfair to the C version, since more libraries were used in the Haskell version. More details here.

This software is available under the public domain.

harsh.tar.gz was last modified 03/31/2008 03:46pm PDT.