Hacker News new | comments | show | ask | jobs | submit login
A Google Reader Replacement written in Haskell and Ur (bazqux.com)
112 points by Rickasaurus 1092 days ago | past | web | 46 comments



Author: please consider open-sourcing your code. NewsBlur and FeedHQ do it and they are profitable. Plus a huge open source Haskell+Ur exemple would be a very good thing for the community. I'm more inclined to choose FeedHQ or NewsBlur as my Google Reader replacement of choice because I know it will be possible to use them even if the authors don't want to work on it anymore.


Probably I'll open-source it at some moment in future. But just have no time to do it now.


I believe this is it, though github is down for me now so I can't really tell.

https://github.com/bazqux


That's only API docs and some forked Haskell libraries. You can't find source code of the actual app there.


Looks he answered that at his reddit thread:

http://www.reddit.com/r/haskell/comments/1ha5dd/rss_reader_w...


I just signed up and this is the best Reader replacement I've seen so far.

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.


This does look excellent. I look forward to seeing how well it works on mobile. I wonder if there is any native ios / android implementation in the works? I would happily pay for both!

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.


It's from the sequence of ["foo","bar","baz","qux", "quux", ...]. More info at http://en.wikipedia.org/wiki/Metasyntactic_variable#English

Doesn't sound like a great name, but whatever. It's a placeholder at least.


I had no idea "qux" came before "quux". How embarrassing. It's like counting "one, two, three, five".


Oh! Thanks for explaining. I had no idea.


Mr.Reader and Feeddler supports BazQux on iOS. And there is a beta Android app from the author of gReader https://github.com/noinnion/newsplus

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.


Nice, but I don't see a "download" link. Without the ability to run my own, how can I be sure this will not go the way of the "Google reader"? Especially being a "one man show".


You never know. But you can reduce the likelihood for that to happen by paying for it.


I'm not interested in news reader apps but I had never heard of Ur/Web before... I'm glad that was mentioned in the title as it's not obvious from the site; always nice to hear about new frameworks.


Ur is a really cool language from Adam Chlipala of MIT. It has a bunch of novel language features that help you write correct web code.


I would love to hear more about your Ur/Web experience (if you are the author Rickasaurus?).


I'm not the author but have written a couple of production web applications using Ur/Web and have found it pretty nice. The enforced purity took a little getting used too. If an error occurs during a request all side effecting changes during that request are rolled back. This is nice for the database side of things but dealing with other interfaces with the world (eg. payments, sending mail) required some work arounds. Nothing impossible to deal with though.

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.


Seems that these problems are Clojure's selling points.


Maybe so, but Closure and Ur/Web are apples and oranges. The selling points of Ur/Web are not present in Clojure.


I'm not sure exactly what you mean. Clojure is a programming language. Ur/Web is a web application development system. You'd have to compare Clojure+database library+web library.


For those interested in an experience report I'll copy and paste the post from the developer from http://www.reddit.com/r/haskell/comments/1ha5dd/rss_reader_w... (go there for some additional discussion):

<--- 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 author posts a number of details and seems to be answering questions at http://www.reddit.com/r/haskell/comments/1ha5dd/rss_reader_w...


I would be just as interested in an experience report. Hopefully we can coax the author into giving a talk on it at some point.


The language my RSS reader in written in is not important for me.


Well this is hacker news, and not consumer news.


If it was open source it would, I'm reluctant to run tiny tiny rss because of my own anti-PHP bigotry.


maybe the "excellent" part would interest you then?


I can just hope English language'll get some more importance in your life. :)


That's offensive. I'm trying my best speaking in YOUR language


If you prefer simplicity try http://skimfeed.com.


Can I suggest mentioning mobile apps which can sync with BazQux on the landing page? I left quickly because it didn't appear there were any options for mobile/device sync, but then I saw this on the feedbin landing page (which has a great App Support section):

> Mr. Reader is a RSS News Reader for your iPad that synchronizes with Feedbin, Feedly, BazQux Reader, FeedHQ, Feed Wrangler and Fever.


Had no time to fix landing page )


I have a really good impression of the site, and might use it as my feed reader.

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.


From what I see people pay for a feed readers. Especially after Google decided to close one well known free RSS reader.


As someone who will use it every day I don't mind a small fee at all.


Maybe it's also your information center.


"Start your free trial today!"

and no pricing info...


From the FAQ: You can choose any price you want from $9 to $29 annually.


hey.. so.. the reason I stopped using Google Reader was that many of the feeds I was subscribed to would only include the first few paragraphs of the blog entry forcing me to click through to the blog anyhow. (This is what killed RSS for me)

Is there a reader that will just open the web page that the feed item links to rather than the text of the feed?


Check out Newsblur's story view (or text view if you don't want the site's hideous styling).


Someone here on HN said that this one scrapes the web page linked to by the feed item oif the feed only contains teasers.


I just removed all those feeds from my subscription list and only follow the ones who put the whole article in their feed. Works very well for me.


Amazing! First time I saw Haskell-based website. But this is not free, I'm sad.


Take a look at https://www.fpcomplete.com/. They're trying to push the edge of Haskell web dev commercialization.


thanks!


This looks good




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: