Blogworm as in Bookworm.

Blogworm is an RSS aggregators with a browser-based interface. It looks and operates like a Web-based aggregator aka bloglines. The interface is served through an integrated HTTP server. I have coded Blogworm in Perl [Template toolkit, XML::SAX Parser].
Snapshots of blogworm – here

Features

1) Add/Subscribe a Feed/XML/RSS,

2) Delete/Unsubscribe a Feed/XML/RSS/RDF (There is a whole list of name and it keeps on adding up)
3) Import an OPML File,

4) Display Feed Content,

5) Retrive Feeds after User specified interval,

6) Can access through a Proxy Server ,

7) Feeds are stored and archived in SQLite,
8) In-Built Minimalistic Search Engine.

How I made the project ?

Prior to building Blogworm I sourcecode audited AmphetaDesk. AmphetaDesk is one of the early RSS aggregator to surface way back in 2001 however the project maintainer abandoned the project in 2003. Its coded in perl and is pretty outdated.

Nevertheless the amount of insight that one gains post auditing an opensource program is huge.

Here’s why
1) You get to peek inside production quality code,(ppl writing free software code are aware that others shall be looking into it … i believe they try to write their best)

2) See how ppl fixed the bugs,(Sometimes I had trouble understanding the bug leave alone the fix)

3) Perl slogan is Timtoady – There is many ways to do it … there exist a whole lot of regex patterns etc .. the points is one takes refuge in the style that suits him/her, You’ll use only those regex syntax and then build and think upon it only. However as soon as you read someone else’s code … bang … (you need to code in perl to get my point)

4) You dont reinvent the wheel (I took AmphetaDesk’s code – subclass of HTTP daemon and the queuing code for serving the webpages …(In the words of morfus(AmphetaDesk maintainer) it’s one pathetic queuing system … It indeed is but works like a charm)

5) You don’t resort to learning by hit and trial methods … The code does teach you a lot.

What I enjoyed coding most ?

The implementation of a search engine was pretty tricky for me. My intention was to extract all the query results from sqlite at a go dump it into a HASH based (Blogid=>Blogpostid=>content) datastructure and then provide aka google based interface with Next, Prev, amd showing 10 pages at a time only.

However as I got started I realised how difficult its to maintain an offset as to where the user is first 10 query result or next 10 to 20 or last 10. Its more difficult coz the pages that I am serving are not statically but Dynamically rendered . So I finally decided to just spit everything on one page only. The amount of time I invested in R&D didnt result in any visible output though I enjoyed this feature a lot.

Tags Project

2 Responses to “Blogworm – My Fifth Semester Project”

  1. tushar Says:

    sahi hai bhiddu..
    lage raho.
    - Tushar

  2. Ankur Gupta Says:

    thanks tushar for commenting. This is a very old project of mine.

Leave a Reply