A Google Reader Replacement written in Haskell and Ur
bazqux.com
bazqux.com
http://www.reddit.com/r/haskell/comments/1ha5dd/rss_reader_w...
Someone actually thought through what an evolution of Reader should be. It can subscribe to non-RSS pages like Facebook public pages or Google+ pages. If the feed only contains teasers it scrapes the pages to get at the the full text and displays that inline. This seems to be a Reader replacement by an actual former Reader user.
But the name? How am I supposed to pronounce it? I'm sorry to say this, but a name like this could be a serious impediment to getting widespread adoption. It's not as bad as calling it something like "flaming purple penis of death" but it's not that far off.
Doesn't sound like a great name, but whatever. It's a placeholder at least.
I'm not a native English (Russian in fact) and didn't knew that qux (or bazqux?) is unpronounceable. I'm reading it like Buzz-Cooks which sound somewhat funny in Russian.
There are some advantages with this name. It's unique (very easy to find mentions) and always on top of alphabetical lists.
And from what I'm seeing name is not that important if you have good product. But maybe I do some "rebranding" later.
<--- 8< ---->
Hi, I'm developer of this RSS reader and want to share with you why Haskell is a big win for my project.
First. Haskell is a fast compiled language. Most RSS readers are written in Python, Ruby or PHP. And they're all quite slow or requre a ton of servers to handle the load. With Haskell I'm able to quickly implement complex features and don't think much about performance.
Second. Haskell is very high level and handles concurrency well. It's not a problem to write very generic code or spawn thousands of threads.
Third. There a many good libraries now (much more than 10 years ago ;).
I want to thank Bryan O'Sullivan, Michael Snoyman and all other package authors for their efforts on making Haskell true platform.
I'm especially like text, riak, aeson, http-conduit and warp packages. They're used 24x7 under load and I haven't found any major problems with them.
And few quirks.
Unfortunately not all packages are equal in quality. Many libraries are toys or don't work well under load. But at least there are libraries to take some code from.
Bindings to C libraries (as well as C libs itself) are evil. I've had problems with almost every C package I've tried (curl, regex-pcre, hsdns).
Long-lived ByteStrings can cause memory fragmentation and ten-fold performance drops. So I'm using Text for everything except I/O.
Haskell was missing fast malformed html/xml parser. But it took only a couple of days to write fast-tagsoup package that parses tens of MB/sec.
In general with Haskell I can quickly write high level code that runs fast. And (at least for my project) I'm seeing that most tasks now are CPU bound (due to fast SSDs), not I/O. So compiled yet high-level languages shold gain more popularity now.
If you have some questions about reader implementation details feel free to ask me.
PS: reader is profitable, so I'm thinking it could be counted as a Haskell success story ;)
</--- 8< --->
The FFI of Ur/Web is low level and easy to use. This made interfacing with existing C routines easy. When I couldn't work out how to do something in Ur, I just wrote it in C (well, actually I wrote it in ATS which compiles to C) and called it from Ur.
I did have some interesting issues in an application that had fairly heavy load. If one transaction is in process and it relies on data that gets changed in another transaction then one of them is rolled back and retried once the other has succeeded. Under very heavy load, where transactions required some semi-global state in the database, and all those transactions modified that state then these rollbacks would happen a lot and cause performance issues. Fixed with better data design in the app of course to avoid the contention on the global state.
All in all though Ur/Web has held up very well for me and makes it pretty quick to put things together.
> Mr. Reader is a RSS News Reader for your iPad that synchronizes with Feedbin, Feedly, BazQux Reader, FeedHQ, Feed Wrangler and Fever.
One question: Do people really want to pay for a feed reader? On one hand the price is low compared to what we use on day-to-day goods, but I'm curious as to whether a feed reader is something that the average hacker would pay for.
and no pricing info...
Is there a reader that will just open the web page that the feed item links to rather than the text of the feed?