<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Prashanth Ellina &#187; web</title>
	<atom:link href="http://blog.prashanthellina.com/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.prashanthellina.com</link>
	<description>In Pursuit of Truth</description>
	<lastBuildDate>Sun, 28 Nov 2010 09:35:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Notemonk &#8211; An exciting new way to learn your textbooks</title>
		<link>http://blog.prashanthellina.com/2010/04/03/notemonk-an-exciting-new-way-to-learn-your-textbooks/</link>
		<comments>http://blog.prashanthellina.com/2010/04/03/notemonk-an-exciting-new-way-to-learn-your-textbooks/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 21:06:24 +0000</pubDate>
		<dc:creator>prashanthellina</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[headrun]]></category>
		<category><![CDATA[notemonk]]></category>
		<category><![CDATA[text books]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://blog.prashanthellina.com/?p=151</guid>
		<description><![CDATA[People, I&#8217;ve just launched http://www.notemonk.com, an education portal. At notemonk you can Download books Share and read notes on text book topics Watch relevant videos Notemonk aims to create a rich and fun learning experience around text books. For launch, we&#8217;ve included the higher standards in NCERT. Please take a look and spread the work. [...]]]></description>
			<content:encoded><![CDATA[<p>People, I&#8217;ve just launched <a href="http://www.notemonk.com">http://www.notemonk.com</a>, an education portal. At notemonk you can</p>
<p><center><br />
<img src="http://www.notemonk.com/static/images/notemonk_mascot_medium.png" alt="Notemonk Mascot" /><br />
<img src="http://www.notemonk.com/static/images/notemonk_logo.png" alt="Notemonk Logo" /><br />
</center></p>
<ul>
<li> Download books
<li> Share and read notes on text book topics
<li> Watch relevant videos
</ul>
<p>Notemonk aims to create a rich and fun learning experience around text books. For launch, we&#8217;ve included the higher standards in NCERT. Please take a look and spread the work. Your feedback is most welcome!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.prashanthellina.com/2010/04/03/notemonk-an-exciting-new-way-to-learn-your-textbooks/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Query Wikipedia from your terminal</title>
		<link>http://blog.prashanthellina.com/2009/08/23/query-wikipedia-from-your-terminal/</link>
		<comments>http://blog.prashanthellina.com/2009/08/23/query-wikipedia-from-your-terminal/#comments</comments>
		<pubDate>Sun, 23 Aug 2009 05:34:23 +0000</pubDate>
		<dc:creator>prashanthellina</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[wikipedia]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://blog.prashanthellina.com/?p=122</guid>
		<description><![CDATA[I refer Wikipedia frequently. I use this BASH function to help me do that from the terminal. For explanation of how this works head over here. BASH function # wiki # eg: wiki India # wiki Apple_Inc # wiki Anglo_Saxon wiki() { dig +short txt $1.wp.dg.cx } Example usage prashanth@prashanth-desktop:~$ wiki India "India, officially the [...]]]></description>
			<content:encoded><![CDATA[<p>I refer Wikipedia frequently. I use this BASH function to help me do that from the terminal. For explanation of how this works head over <a href="http://www.commandlinefu.com/commands/view/2829/query-wikipedia-via-console-over-dns">here</a>.</p>
<p><strong> BASH function </strong></p>
<pre lang="bash">
# wiki
<page>
# eg: wiki India
#     wiki Apple_Inc
#     wiki Anglo_Saxon
wiki()
{
    dig +short txt $1.wp.dg.cx
}
</pre>
<p><br/></p>
<p><strong> Example usage </strong></p>
<pre lang="bash">
prashanth@prashanth-desktop:~$ wiki India
"India, officially the Republic of India ( '\; see also other Indian languages), is a country in South Asia.
It is the seventh-largest country by geographical area, the second-most populous country, and the most
populous democracy in the world. Bounded by t" "he Indian Ocean on the south, the Arabian Sea on
the west, and the Bay of Bengal on the east, India has a coastline of ... http://a.vu/w:India"

prashanth@prashanth-desktop:~$ wiki Anglo_Saxon
"Anglo-Saxons (or Anglo-Saxon) is the term usually used to describe the invading tribes in the south
and east of Great Britain starting from the early 5th century AD, and their creation of the English
nation, lasting until the Norman conquest of 1066. The " "Benedictine monk, Bede, identified
them as the descendants of three Germanic tribes: http://a.vu/w:Anglo-Saxons"
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.prashanthellina.com/2009/08/23/query-wikipedia-from-your-terminal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Command-line language translation</title>
		<link>http://blog.prashanthellina.com/2009/08/18/command-line-language-translation/</link>
		<comments>http://blog.prashanthellina.com/2009/08/18/command-line-language-translation/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 14:15:42 +0000</pubDate>
		<dc:creator>prashanthellina</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[translation]]></category>

		<guid isPermaLink="false">http://blog.prashanthellina.com/?p=117</guid>
		<description><![CDATA[Here is a simple utility created using Python for translating text from various languages into English. It uses the Google AJAX API to do this. Usage prashanth@prashanth-desktop:~$ translate bonjour hello prashanth@prashanth-desktop:~$ translate guten morgen Good morning Code #!/usr/bin/env python ''' Translates text into english using Google Translate. Usage: python translate.py (or) echo &#124; python translate.py [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a simple utility created using Python for translating text from various languages into English. It uses the Google AJAX API to do this.</p>
<p><strong>Usage</strong></p>
<pre lang="bash">
prashanth@prashanth-desktop:~$ translate bonjour
hello
prashanth@prashanth-desktop:~$ translate guten morgen
Good morning
</pre>
<p><br/></p>
<p><strong>Code</strong></p>
<pre lang="python">
#!/usr/bin/env python
'''
Translates text into english using Google Translate.
Usage: python translate.py <text>
        (or)
       echo <text> | python translate.py

For convenience, make a symlink to this file from /usr/bin/translate.
'''
# derived from : http://code.google.com/p/py-gtranslate/source/browse/trunk/gtrans.py

import sys
import urllib2
import urllib
import simplejson as json

FROM_LANGUAGE = ''
TO_LANGUAGE = 'en'
BASE_URL = 'http://ajax.googleapis.com/ajax/services/language/translate'

def translate(from_language, to_language, text):
    langpair = '%s|%s' % (from_language, to_language)
    params = {'v': '1.0', 'langpair': langpair, 'q': urllib.quote_plus(text)}

    params = '%s' % ('&#038;'.join(['%s=%s' % (k,v) for (k,v) in params.items()]))

    url = '%s?%s' % (BASE_URL, params)
    resp = json.load(urllib2.urlopen(url))
    try:
        return resp['responseData']['translatedText']
    except:
        return text

def main(text):
    if text:
        print translate(FROM_LANGUAGE, TO_LANGUAGE, text)

    else:
        lines = [l.strip() for l in sys.stdin.readlines()]
        for line in lines:
            if line:
                text = translate(FROM_LANGUAGE, TO_LANGUAGE, line)
                print '[%s]' % line
                print text
            else:
                print

if __name__ == '__main__':
    args = sys.argv[1:]
    text = ' '.join(sys.argv[1:])
    main(text)
</pre>
<p><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.prashanthellina.com/2009/08/18/command-line-language-translation/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Extracting relevant text from HTML pages</title>
		<link>http://blog.prashanthellina.com/2009/07/27/extracting-relevant-text-from-html-pages/</link>
		<comments>http://blog.prashanthellina.com/2009/07/27/extracting-relevant-text-from-html-pages/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 11:28:09 +0000</pubDate>
		<dc:creator>prashanthellina</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[text processing]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.prashanthellina.com/?p=99</guid>
		<description><![CDATA[Some time back I had done some work on extracting topics from an arbitrary piece of text using Wikipedia data. Recently I thought of a concept to put that algorithm to work. As a part of this project, I need to extract relevant text from an arbitrary HTML page. By relevant I mean the &#8220;meat&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Some time back I had done some work on <a href="http://blog.prashanthellina.com/2007/12/21/topic-extraction-using-wikipedia-data/">extracting topics</a> from an arbitrary piece of text using Wikipedia data. Recently I thought of a concept to put that algorithm to work. As a part of this project, I need to extract <strong>relevant</strong> text from an arbitrary HTML page. By relevant I mean the &#8220;meat&#8221; of the page devoid of navigation links and side-content.</p>
<p>This algorithm has the following <strong>steps</strong>:</p>
<ul>
<li>make doc from html data (clean html)
<li>identify content nodes (nodes having substantial content)
<li>prune xml tree to remove irrelevant nodes
<li>get the most linked node from pruned tree (subtree contains relevant text)
<li>make the dot graph
</ul>
<p>I&#8217;ve pasted the relevant python module below for easy reading. However, if you want to download the code and hack it, you can get all the files from <a href="http://code.prashanthellina.com/code/content_extraction">here</a>.</p>
<p><strong>Code files</strong></p>
<ul>
<li>content_extract.py &#8211; actual work gets done here (file pasted below)
<li>cextract.py &#8211; cgi front-end which fetched url content and feeds to above script.
<li>cextract_config.py &#8211; cgi script configuration file. You have to adjust this to your environment.
</ul>
<p><strong>Try it right here and right now</strong></p>
<form action="http://www.prashanthellina.com/cgi-bin/cextract.py" method="GET">
url:<br />
<input type="text" name="url" size="60"/>
<input type="submit" value="extract text"/>
</form>
<p><strong>Some samples</strong></p>
<ul>
<li><a href="http://www.prashanthellina.com/cextract_data/510fbe51d89334aecb70d9b1d1635711.html">http://news.bbc.co.uk/sport2/hi/motorsport/formula_one/8169436.stm</a>
<li><a href="http://www.prashanthellina.com/cextract_data/640ca0b7c6e818b2b1bf952a206a6388.html">http://www.prashanthellina.com/cextract_data/640ca0b7c6e818b2b1bf952a206a6388.html</a>
<li><a href="http://www.prashanthellina.com/cextract_data/8408efd51b4f1f6b91650d4ea3ce8924.html">http://www.telegraph.co.uk/news/worldnews/europe/france/5913494/Nicolas-Sarkozy-to-slow-down-after-collapsing-while-jogging.html</a>
</ul>
<p>Please let me know if you find cases for which the algorithm does not work. Even better would be to download the code and hack it up and post back. I am eager to see what you can come up with.</p>
<pre lang="python">
#!/usr/bin/env python

import sys
from cStringIO import StringIO

from lxml import etree #http://codespeak.net/lxml/

IGNORABLE_TAGS = set(['script', 'a'])
MIN_TEXT_LEN = 50

def get_text(node):
    '''
    Given a XML node, extract all the text it contains.
    (does not recurse into children)
    '''
    text = [node.text or '']
    for cnode in node.getchildren():
        tail = cnode.tail
        if tail is not None:
            text.append(cnode.tail)

    text = '\n'.join(text).strip()
    return text

def get_xml(node):
    '''
    Convert the sub-tree from node downwards
    into string XML representation.
    '''
    return etree.tostring(node)

def create_doc(data):
    '''
    Construct XML tree datastructure from xml string representation.
    '''
    parser = etree.HTMLParser()
    doc = etree.parse(StringIO(data), parser)
    return doc

def get_content_nodes(doc):
    '''
    Identify nodes in the XML document that
    have substantial text.
    '''
    nodes = []

    for n in doc.xpath('//*'):
        tag = n.tag

        if tag.lower() in IGNORABLE_TAGS:
            continue

        text = get_text(n)
        if not text:
            continue

        if len(text) < MIN_TEXT_LEN:
            continue

        nodes.append(n)

    return nodes

def make_pruned_tree(content_nodes):
    '''
    Prune the whole XML tree by remnoving nodes
    other than content nodes and their ancestors.
    '''
    nodes = {}
    links = {}

    for node in content_nodes:

        nodes[id(node)] = node

        parent = node.getparent()
        if parent is not None:
            links[id(node)] = id(parent)

        for anode in node.iterancestors():
            _id = id(anode)
            parent = anode.getparent()
            if parent is not None:
                links[_id] = id(parent)

            if _id not in nodes:
                nodes[_id] = anode

    return nodes, links

def get_inlink_counts(links):
    '''
    Given the inter-node links, find out which
    node has maximum number of links coming into it.
    '''
    counts = {}

    for from_id, to_id in links.iteritems():
        count = counts.setdefault(to_id, 0)
        counts[to_id] = count + 1

    return counts

def get_most_linked_node(nodes, links):
    '''
    Identify the node which is most linked.
    (i,e) has most number of inlinks.
    '''
    inlink_counts = get_inlink_counts(links)

    mcount, mid = max([(count, _id) for _id, count in inlink_counts.iteritems()])
    node = nodes[mid]
    return node

def make_dot_graph(nodes, links, chosen_node, stream):
    '''
    Construct the dot format graph representation
    so that graphviz can render the tree for visualization.
    '''
    o = stream

    print >> o, "digraph G {"

    for _id, node in nodes.iteritems():

        tlen = len(get_text(node))
        tag = node.tag

        if tlen:
            text = '%s (%d)' % (tag, tlen)
        else:
            text = tag

        if _id == chosen_node:
            attrs = 'style=filled color=lightblue'
        else:
            attrs = ''

        print >> o, "%s [label=\"%s\" %s];" % (_id, text, attrs)

    for fid, tid in links.iteritems():
        print >> o, "%d -> %d;" % (fid, tid)

    print >> o, "}"

def main():
    # make doc from html data (cleans html)
    doc = create_doc(sys.stdin.read())

    # identify content nodes
    content_nodes = get_content_nodes(doc)

    # prune xml tree to remove irrelevant nodes
    nodes, links = make_pruned_tree(content_nodes)

    # get the most linked node from pruned tree
    mnode = get_most_linked_node(nodes, links)

    # make the dot graph
    make_dot_graph(nodes, links, id(mnode), sys.stdout)

if __name__ == '__main__':
    #Eg: wget "http://blog.prashanthellina.com" -O - | python thisscript.py | dot -Tpng -o /tmp/test.png ; eog /tmp/test.png
    main()
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.prashanthellina.com/2009/07/27/extracting-relevant-text-from-html-pages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Look who&#8217;s downloaded Firefox 3!</title>
		<link>http://blog.prashanthellina.com/2008/06/18/look-whos-downloaded-firefox-3/</link>
		<comments>http://blog.prashanthellina.com/2008/06/18/look-whos-downloaded-firefox-3/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 13:41:08 +0000</pubDate>
		<dc:creator>prashanthellina</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[download day]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firefox3]]></category>
		<category><![CDATA[guiness book]]></category>

		<guid isPermaLink="false">http://blog.prashanthellina.com/?p=66</guid>
		<description><![CDATA[Firefox 3 has been getting rave reviews ever since it got in to beta. The blogosphere was abuzz with reports on how much more efficient and snappier FF3 is compared to its earlier incarnations and more so with respect to the competition (Opera, IE7, Safari). Features like &#8220;Places&#8221; (Bookmarks on steroids), Cairo for rendering and [...]]]></description>
			<content:encoded><![CDATA[<p>Firefox 3 has been getting rave reviews ever since it got in to beta. The blogosphere was abuzz with reports on how much more efficient and snappier FF3 is compared to its earlier incarnations and more so with respect to the competition (Opera, IE7, Safari).</p>
<p>Features like &#8220;Places&#8221; (Bookmarks on steroids), Cairo for rendering and OS specific widgets have made the best browser better. At the time of writing of this blog post 6 million plus downloads from around the world have already happened.</p>
<p>Everywhere I look at work, I see the &#8220;Download Day&#8221; certificate from Mozilla corp &#8230; I got one myself too <img src='http://blog.prashanthellina.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>But the question is &#8230;.</p>
<blockquote><p>
<font size="+3"><br />
<strong><br />
Do you know who else got the certificate ???<br />
</strong><br />
</font>
</p></blockquote>
<p>Who else but Billy and Ballmy <img src='http://blog.prashanthellina.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><img src="http://www.prashanthellina.com/images/billgates_ff3_cert.jpg" alt="Bill gates firefox 3 certificate"/></p>
<p><img src="http://www.prashanthellina.com/images/steveballmer_ff3_cert.jpg" alt="Steve Ballmer firefox 3 certificate"/></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.prashanthellina.com/2008/06/18/look-whos-downloaded-firefox-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wordza &#8211; A Smart Word Quizzer</title>
		<link>http://blog.prashanthellina.com/2008/04/27/wordza-a-smart-word-quizzer/</link>
		<comments>http://blog.prashanthellina.com/2008/04/27/wordza-a-smart-word-quizzer/#comments</comments>
		<pubDate>Sun, 27 Apr 2008 08:36:49 +0000</pubDate>
		<dc:creator>prashanthellina</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[quiz]]></category>
		<category><![CDATA[vocabulary]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[wordza]]></category>

		<guid isPermaLink="false">http://blog.prashanthellina.com/?p=62</guid>
		<description><![CDATA[I&#8217;d thought of making a word quizzer as a web application to improve my vocabulary when I took the GRE test a couple of years back. I&#8217;d written one in Visual Basic 6 when I wrote SAT , but desktop applications are boring! I got inspired to bring my long standing idea to fruition and [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;d thought of making a word quizzer as a web application to improve my vocabulary when I took the GRE test a couple of years back. I&#8217;d written one in Visual Basic 6 when I wrote SAT <img src='http://blog.prashanthellina.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , but desktop applications are boring!</p>
<p>I got inspired to bring my long standing idea to fruition and the outcome is <a href="http://www.wordza.com">Wordza</a>.</p>
<p><a href="http://www.wordza.com"><img src="http://www.prashanthellina.com/images/wordza_logo.gif" alt="wordza"/></a></p>
<blockquote><p>
Wordza is a smart word quizzing service designed to help you rapidly learn new words. It adapts to your level and continually challenges you to get better. Preparing for GRE/SAT/CAT? Use Wordza 15 minutes a day.</p>
<p>Questions have difficulty ratings ranging between 1 and 100. The ratings are derived from user activity. A question is easy if a lot of people get it right and difficult when very few do!</p>
<p>You start at difficulty level 50. If you get three questions right in a row, you drive up the difficulty level a notch. On the other hand, answering a question wrong will reduce the difficulty level by one.
</p></blockquote>
<p><img src="http://www.prashanthellina.com/images/wordza_screenshot.gif" alt="wordza screenshot"/></p>
<p>If you are interested in the implementation &#8230; I used Python, MySQL behind Apache to get this up. When I started making it, I wanted to keep it simple and make it work fast. I hope I&#8217;ve met both these requirements. Do give it a try and let me know what you think.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.prashanthellina.com/2008/04/27/wordza-a-smart-word-quizzer/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Alexa rank: A script to get the rank for any site</title>
		<link>http://blog.prashanthellina.com/2008/04/22/alexa-rank-a-script-to-get-the-rank-for-any-site/</link>
		<comments>http://blog.prashanthellina.com/2008/04/22/alexa-rank-a-script-to-get-the-rank-for-any-site/#comments</comments>
		<pubDate>Tue, 22 Apr 2008 17:49:55 +0000</pubDate>
		<dc:creator>prashanthellina</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[alexa]]></category>
		<category><![CDATA[alexa rank]]></category>
		<category><![CDATA[programmatically]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://blog.prashanthellina.com/?p=61</guid>
		<description><![CDATA[What is Alexa rank? Alexa collects statistics about visits by internet users to websites through the Alexa Toolbar. Based on the collected data, Alexa computes site ranking. By examining the Alexa rank of a site, you can get a rough idea of how popular the site is. Many argue that Alexa rank is misleading but [...]]]></description>
			<content:encoded><![CDATA[<h2>What is Alexa rank?</h2>
<p><a href="http://www.alexa.com">Alexa</a> collects statistics about visits by internet users to websites through the <a href="http://download.alexa.com/">Alexa Toolbar</a>. Based on the collected data, Alexa computes site ranking. By examining the Alexa rank of a site, you can get a rough idea of how popular the site is. Many argue that <a href="http://www.mattcutts.com/blog/thoughts-on-alexa-data/">Alexa rank is misleading</a> but it has its uses.</p>
<h2>The Alexa rank script</h2>
<p>You can find out the Alexa rank for any site by using this page. However, if you want to programatically get the Alexa rank, you can do it using <a href="http://code.prashanthellina.com/code/get_alexa_rank.py">this script</a>.</p>
<p><strong><a href="http://code.prashanthellina.com/code/get_alexa_rank.py">Get the Alexa rank script</a></strong></p>
<h2>Using the script</h2>
<p>After downloading the script, give it execute permission by doing this. You will need to have Python installed.</p>
<pre lang="BASH">
chmod +x get_alexa_rank.py
</pre>
<p><br/></p>
<pre lang="BASH">
$ ./get_alexa_rank.py google.com
popularity rank = 2
reach_rank = 1

$ ./get_alexa_rank.py wikipedia.com
popularity rank = 7
reach_rank = 6

$ ./get_alexa_rank.py blog.prashanthellina.com
popularity rank = 557287
reach_rank = 482289

$ ./get_alexa_rank.py www.inexistantsite.com
popularity rank = -1
reach_rank = -1
</pre>
<p><br/></p>
<h2>How does the script work?</h2>
<p>If you make a http request for the following url,</p>
<blockquote><p>http://data.alexa.com/data?cli=10&#038;dat=snbamz&#038;url=$URL</p></blockquote>
<p>after replacing $URL with the url of the site for which you need the Alexa rank, the following XML response is sent out. I tried with &#8220;http://blog.prashanthellina.com&#8221;.</p>
<pre lang="xml">
<ALEXA VER="0.9" URL="blog.prashanthellina.com/" HOME="0" AID="=">
<RLS PREFIX="http://" more="0">
</RLS>
	<SD TITLE="A" FLAGS="">
<POPULARITY URL="prashanthellina.com/" TEXT="557287"/>
<RANK DELTA="+70225"/>
<REACH RANK="482289"/>
</SD>
</ALEXA>
</pre>
<p><br/></p>
<p>The script parses the XML response and extracts POPULARITY/@TEXT and REACH/@RANK.</p>
<p>If you are looking for a PHP script for doing the same, <a href="http://googlepagerankin.wordpress.com/2008/02/01/alexa-rank-checking-scriptalexa-rank-checker-script/">check this out</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.prashanthellina.com/2008/04/22/alexa-rank-a-script-to-get-the-rank-for-any-site/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>How to generate domain names, place names &#8230; product names ?</title>
		<link>http://blog.prashanthellina.com/2008/04/03/how-to-generate-domain-names-place-names-product-names/</link>
		<comments>http://blog.prashanthellina.com/2008/04/03/how-to-generate-domain-names-place-names-product-names/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 17:17:33 +0000</pubDate>
		<dc:creator>prashanthellina</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[domain names]]></category>
		<category><![CDATA[name generator]]></category>
		<category><![CDATA[name suggestions]]></category>
		<category><![CDATA[product names]]></category>
		<category><![CDATA[web2.0 names]]></category>

		<guid isPermaLink="false">http://blog.prashanthellina.com/?p=59</guid>
		<description><![CDATA[One of the trickiest and enjoyable parts of starting something new (be it a website, project, band) is naming it! Sometimes a good name can be quite elusive and cause more than the deserved share of brain ache. Here is a list of automated services around the internet that will help you get name suggestions. [...]]]></description>
			<content:encoded><![CDATA[<p><strong><big><br />
<blockquote>One of the trickiest and enjoyable parts of starting something new (be it a website, project, band) is naming it! Sometimes a good name can be quite elusive and cause more than the deserved share of brain ache. Here is a list of automated services around the internet that will help you get name suggestions.</p></blockquote>
<p></big></strong></p>
<h2>Let us name a domain!</h2>
<p><img src="http://img.domaintools.com/logo_2.png" alt="domain tools"/><br />
<a href="http://www.domaintools.com/">http://www.domaintools.com/</a></p>
<p>DomainTools takes a concept as input and comes up with domain name suggestions. Let us say you are starting a website about &#8220;Vacations in Mexico&#8221;. Go to their website and type in &#8220;Mexico Vacations&#8221; in the text box and click on the button to get suggestions.</p>
<p><strong><a href="http://domain-suggestions.domaintools.com/?q=Mexico+Vacations">Domain name suggestions for &#8220;Mexico Vacations&#8221;</a></strong></p>
<blockquote><p>MexicoFreeTours.com<br />
GreatMexicoTrips.com<br />
MexicoGreatBreaks.com<br />
MyMexTrips.com<br />
FunMexVacations.com
</p></blockquote>
<p>Not bad at all. I like GreatMexicoTrips.com.</p>
<p>Another tool out there is <strong><a href="http://arf.noemata.net/dings/">Noemata Domain name generator</a></strong>. This one gives random domain name suggestions. Not very impressive.</p>
<blockquote><p>kawlant.com<br />
phobolapa.com<br />
jupidox.com<br />
nitrurth.com
</p></blockquote>
<h2>Doing a web2.0 start-up? Don&#8217;t sweat over the name</h2>
<p>Flickr, tumblr, zoho &#8211; all taken up? Find more!</p>
<p><strong><a href="http://www.lightsphere.com/dev/web20.html">The Web2.0 name generator</a></strong></p>
<blockquote><p>Gedel<br />
Eavu<br />
Plamba<br />
Trilith<br />
Zooveo
</p></blockquote>
<p><strong><a href="http://www.hackslash.net/?page_id=48"></strong><br />
Another Web2.0 name generator</a></p>
<blockquote><p>65pages<br />
inclicks<br />
type17<br />
bubbledesks
</p></blockquote>
<p><strong><a href="http://www.webscriptlab.com/domainnamegenerator.php">Another one!</a></strong> &#8211; This one checks domain availability too. sweet.</p>
<blockquote><p>Skiplounge<br />
Mivee
</p></blockquote>
<p><strong><a href="http://what.was.the.question.whyblog.org/buzz/">Web2.0 buzz generator</a></strong></p>
<blockquote><p>2.0 is the new New. It&#8217;s all changing. Label what defies categorization. &#8220;ASL&#8221; is geezer speak. Podcasts. The words aren&#8217;t what they were. Clear that. Hack it. Faster. Faster! Float this. Roll your own roll-your-own. MSM just doesn&#8217;t get it. Always be launching. The buzz is loud and clear. You need someone who gets it. On-demand streams. Splog is an aggregate noun. We are on the brink of a new age. This will change everything. We&#8217;re about what Web 2.0 is about. Single. Word. Sentences! News clouds. An AJAX-driven GUI. Cry out, blogosphere! This is newer media. The new is old. Tag me. We shall transcend borders. Clustering. It&#8217;s all about community. Social is the new push. Folksonomy.
</p></blockquote>
<h2>Starting a band? Check out the band name generator</h2>
<p><strong><a href="http://www.blamepro.com/bang.htm"></strong></p>
<blockquote><p>B.A.N.G &#8211; Band automatic name generator!</a><br />
Subtle Alphabet<br />
Uncommon Elasticity<br />
Notorious Sand<br />
Crass Ink
</p></blockquote>
<h2>Play Civ3? Want a name for your new city?</h2>
<p><strong><a href="http://nine.frenchboys.net/country.php">The place name generator</a></strong></p>
<blockquote><p>Agea<br />
Byzernova<br />
Genesini<br />
Mercentia<br />
Myruaror
</p></blockquote>
<p><strong><a href="http://nine.frenchboys.net/fantasyplace.php">The fantasy place name generator</a></strong></p>
<blockquote><p>Aldmeadow<br />
Blacklake<br />
Southshore<br />
Wildecoast<br />
Witchmead
</p></blockquote>
<p><strong><a href="http://www.generatorland.com/generators/british_town_gl.php">The British town name generator</a></strong></p>
<blockquote><p>Cuddleballabridge, Cambridgeshire<br />
Buttercanter Gate up the Snotty, Wiltshire<br />
Old Chippingbeck, Shropshire<br />
Dorkstrathsack in the Gloaming, Somerset
</p></blockquote>
<h2>Game name generators</h2>
<p><strong><a href="http://www.seventhsanctum.com/generate.php?Genname=rpgnamer">RPG Name Generator</a></strong></p>
<blockquote><p>Gilder&#8217;s Airship<br />
Ruby Law V<br />
Sad Guardian<br />
Star: Ghost of the Interstellar Air<br />
Unnamed Peace XI
</p></blockquote>
<p><strong><a href="http://naminator.planets.gamespy.com/superhero2.html?">The Ultimate game name generator</a></strong></p>
<blockquote><p>Aqua Badger<br />
Nuclear Dazzler
</p></blockquote>
<p><strong><a href="http://www.djork.net/castlevania/">Castlevania &#8211; game name generator</a></strong></p>
<blockquote><p>Surf Saxophone of Dog Poo<br />
Minuet of Skunky Beer<br />
Bathroom Break of Stubbed Toes
</p></blockquote>
<p><strong><a href="http://norefuge.net/vgng/vgng.html">The Video game name generator</a></strong></p>
<blockquote><p>Intelligent Kangaroo Park<br />
Spectacular Dentist All-Stars<br />
Master Chief&#8217;s Fantasy Rocket
</p></blockquote>
<p><strong><a href="http://www.rinkworks.com/namegen/fnames.cgi?d=checked&#038;f=0">Character name generator</a></strong></p>
<blockquote><p>Ageroth<br />
Cheon<br />
Hagiti<br />
Roddareld
</p></blockquote>
<h2>Name your dream gadget!</h2>
<p><strong><a href="http://www.seventhsanctum.com/generate.php?Genname=jokegadget">Wacky gadget name generator</a></strong></p>
<blockquote><p>Atomic Chronostinker<br />
Computerized Golfing Zapperion<br />
Configurable Barfer<br />
Configurable Electromagnetic Lithowhiner<br />
Dimension Whiner
</p></blockquote>
<h2>Name a corporation or government</h2>
<p><strong><a href="http://www.seventhsanctum.com/generate.php?Genname=corporationname">Corporation name generator</a></strong></p>
<blockquote><p>Boyd Science Logistics Holdings<br />
Cosmotechnics<br />
Estrada Medical Transportation<br />
Genetics Cosmosystems<br />
Gold Informational Solutions
</p></blockquote>
<p><strong><a href="http://www.seventhsanctum.com/generate.php?Genname=government">Government generator</a></strong></p>
<blockquote><p>Ancient Imperial Unity<br />
Constitutional Brotherhood<br />
Dominion of States<br />
Provincial Authority of Territories
</p></blockquote>
<h2>Name the pub</h2>
<p><strong><a href="http://www.mybeerpix.com/pub_name_generator.php">Pub name generator</a></strong></p>
<blockquote><p>The tenrec &#038; indian<br />
The boa constrictor &#038; bar<br />
The kudu &#038; deal<br />
The serval &#038; guide
</p></blockquote>
<h2>Cook up a research topic for your thesis <img src='http://blog.prashanthellina.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  !</h2>
<p><strong><a href="http://www.cs.purdue.edu/homes/dec/essay.topic.generator.html">A research topic generator!</a></strong></p>
<blockquote><p>A virtual high-speed agent embedded in a collaborative digital interface<br />
An active mobile display embedded in a meta-level programmable solution<br />
A high-level logical preprocessor related to an interactive concurrent theorem prover<br />
A responsive high-speed preprocessor applied to an active proxy network
</p></blockquote>
<h2>Throw some insults around!</h2>
<p><strong><a href="http://www.rinkworks.com/namegen/fnames.cgi?d=checked&#038;f=11">An insult generator</a></strong></p>
<blockquote><p>Sneezefinger<br />
Muckfoot<br />
Bumface<br />
Wadface
</p></blockquote>
<h2>People names!</h2>
<p><strong><a href="http://www.rinkworks.com/namegen/fnames.cgi">Greek names</a></strong></p>
<blockquote><p>Turatia<br />
Dodius<br />
Struinaus<br />
Kymius
</p></blockquote>
<p><strong><a href="http://www.rinkworks.com/namegen/fnames.cgi">Japanese names</a></strong></p>
<blockquote><p>Omira<br />
Ayuro<br />
Ekochiyu<br />
Hetamuri
</p></blockquote>
<h2>Cook up some colors</h2>
<p><strong><a href="http://nine.frenchboys.net/color.php">Color name generator</a></strong></p>
<blockquote><p>Cobalt Mesa<br />
French Latte<br />
Slate<br />
Southern Maroon<br />
Swirl Purple
</p></blockquote>
<p>I am sure there are many more around the web that I missed. <big><b>If you find anything interesting, comment about it!</b></big></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.prashanthellina.com/2008/04/03/how-to-generate-domain-names-place-names-product-names/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Songza &#8211; music search engine and jukebox</title>
		<link>http://blog.prashanthellina.com/2008/03/27/songza-music-search-engine-and-jukebox/</link>
		<comments>http://blog.prashanthellina.com/2008/03/27/songza-music-search-engine-and-jukebox/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 17:59:18 +0000</pubDate>
		<dc:creator>prashanthellina</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[songza]]></category>

		<guid isPermaLink="false">http://blog.prashanthellina.com/2008/03/27/songza-music-search-engine-and-jukebox/</guid>
		<description><![CDATA[Every once in a while, someone comes up with a way of doing things in an extremely obvious and simple way. When this happens, a zillion others say, &#8220;of course that&#8217;s the way to do it!&#8221;. Songza is a music search engine and jukebox that is dead simple to use. You should try it to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://songza.com/"><img src="http://www.prashanthellina.com/images/songza.jpg" alt="songza"/></a></p>
<p>Every once in a while, someone comes up with a way of doing things in an extremely obvious and simple way. When this happens, a zillion others say, &#8220;of course that&#8217;s the way to do it!&#8221;. Songza is a music search engine and jukebox that is dead simple to use. You should try it to really grok how simple the interface is.</p>
<blockquote><p>
Songza is the single best place to search for and listen to music on the Web. Find a song and listen immediately, in one place.</p>
<p>Unlike KaZaa or Bit Torrent, Songza users can only listen to songs, not download them. And unlike Last.fm or Rhapsody, Songza permits users to choose exactly the song or artist they want to hear, and does not require them to subscribe or pay for its services. </p>
<p>Songza is the brainchild of 24-year-old Aza Raskin — the son of Apple Macintosh founder Jef Raskin. He and Scott Robbin worked feverishly to bring the idea to life. The site launched on November 8, 2007, and instantly generated significant buzz around the world. Hundreds of bloggers and news writers have praised its elegant user interface, beautiful design, and all-around utility. Like all good ideas, both the concept and design came to Aza while he was in the shower.
</p></blockquote>
<p>The thing I liked most about songza is the &#8220;pie-menu&#8221;.<br />
<img src="http://www.prashanthellina.com/images/songza-share.jpg" alt="songza pie menu"/></p>
<h3>useful links</h3>
<ul>
<a href="http://ajaxian.com/archives/songza-would-you-like-a-habituatable-pie-menus-with-your-social-music">
<li>http://ajaxian.com/archives/songza-would-you-like-a-habituatable-pie-menus-with-your-social-music</a></p>
<li><a href="http://www.downloadsquad.com/2008/03/04/songza-adds-new-features/">http://www.downloadsquad.com/2008/03/04/songza-adds-new-features/</a>
<li><a href="http://humanized.com/weblog/2007/11/13/songza-launch/">http://humanized.com/weblog/2007/11/13/songza-launch/</a>
<li><a href="http://blog.wired.com/music/2007/11/songza-turns-yo.html">http://blog.wired.com/music/2007/11/songza-turns-yo.html</a>
<li> <a href="http://lifehacker.com/software/music/listen-to-music-on+demand-with-songza-321638.php">http://lifehacker.com/software/music/listen-to-music-on+demand-with-songza-321638.php</a>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.prashanthellina.com/2008/03/27/songza-music-search-engine-and-jukebox/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>All NCERT text books!</title>
		<link>http://blog.prashanthellina.com/2008/02/06/all-ncert-text-books/</link>
		<comments>http://blog.prashanthellina.com/2008/02/06/all-ncert-text-books/#comments</comments>
		<pubDate>Wed, 06 Feb 2008 15:43:16 +0000</pubDate>
		<dc:creator>prashanthellina</dc:creator>
				<category><![CDATA[books]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[crawler]]></category>
		<category><![CDATA[ncert]]></category>
		<category><![CDATA[textbooks]]></category>

		<guid isPermaLink="false">http://blog.prashanthellina.com/2008/02/06/all-ncert-text-books/</guid>
		<description><![CDATA[I recently came to know that NCERT was providing all the text books (class 1 &#8211; 12) for download. However, I found their interface hard to use for browsing through. So I wrote a crawler in python to get all the books to my webserver. Along with storing the books, I generated thumbnails for every [...]]]></description>
			<content:encoded><![CDATA[<p>I recently came to know that <a href="http://en.wikipedia.org/wiki/National_Council_of_Educational_Research_and_Training">NCERT</a> was providing all the text books (class 1 &#8211; 12) for <a href="http://ncert.nic.in/textbooks/backup/Index.htm">download</a>. However, I found their interface hard to use for browsing through. So I wrote a crawler in python to get all the books to my webserver.</p>
<p>Along with storing the books, I generated thumbnails for every chapter. Navigation pages have also been generated to help browse through the books easily. You can access this dump <font size="3"><a href="http://ncertbooks.prashanthellina.com">here</a></font>.</p>
<p><a href="http://ncertbooks.prashanthellina.com">
<div style="font-size:200%">ncertbooks.prashanthellina.com</div>
<p></a></p>
<p>The crawler code is <a href="http://code.prashanthellina.com/code/ncert_books_crawler/"><font size="3">here</font></a>.</p>
<p>These are the steps to run it yourself.</p>
<pre lang="BASH">
# scrape ncert site to get details about book pdf urls
python get_ncert_books_data.py > ncert_books_data

# create a directory to store all downloaded files
mkdir ncert_books

# download all the pdfs and cover page images
cat ncert_books_data | python download_ncert_books.py ncert_books

# generate thumbnails for each pdf (requires ImageMagick)
find ncert_books/ -iname "*.pdf" > all_pdf_files
sed -i "s/^/0\t/" all_pdf_files
python generate_thumbnails.py

# resize the book cover images
python resize_image_thumbnails.py ncert_books

# generate the navigation pages
python generate_navigation_pages.py ncert_books
</pre>
<p><br/><br />
For the thumbnail generation to work, you will need ImageMagick. Read <a href="/2008/02/03/create-pdf-thumbnails-using-imagemagick-on-linux/">this</a> for more information.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.prashanthellina.com/2008/02/06/all-ncert-text-books/feed/</wfw:commentRss>
		<slash:comments>63</slash:comments>
		</item>
		<item>
		<title>Google&#8217;s Knol &#8211; A new Wikipedia?</title>
		<link>http://blog.prashanthellina.com/2007/12/15/googles-knol-a-new-wikipedia/</link>
		<comments>http://blog.prashanthellina.com/2007/12/15/googles-knol-a-new-wikipedia/#comments</comments>
		<pubDate>Sat, 15 Dec 2007 06:10:08 +0000</pubDate>
		<dc:creator>prashanthellina</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[knol]]></category>
		<category><![CDATA[wikipedia]]></category>

		<guid isPermaLink="false">http://blog.prashanthellina.com/2007/12/15/googles-knol-a-new-wikipedia/</guid>
		<description><![CDATA[KNOL Google has announced &#8220;Knol&#8221;. In their words a new, free tool that we are calling &#8220;knol&#8221;, which stands for a unit of knowledge. Our goal is to encourage people who know a particular subject to write an authoritative article about it. &#8230; The key idea behind the knol project is to highlight authors. &#8230; [...]]]></description>
			<content:encoded><![CDATA[<div align="right" style="font-size: 5em; float: right; padding: 1em; color: #660000;">KNOL</div>
<p>Google has announced &#8220;Knol&#8221;. In their words</p>
<blockquote><p>
a new, free tool that we are calling &#8220;knol&#8221;, which stands for a unit of knowledge. Our goal is to encourage people who know a particular subject to write an authoritative article about it.</p>
<p>&#8230;<br />
The key idea behind the knol project is to highlight authors.<br />
&#8230;<br />
We believe that knowing who wrote what will significantly help users make better use of web content. At the heart, a knol is just a web page; we use the word &#8220;knol&#8221; as the name of the project and as an instance of an article interchangeably. It is well-organized, nicely presented, and has a distinct look and feel, but it is still just a web page.<br />
&#8230;<br />
Google will not serve as an editor in any way, and will not bless any content. All editorial responsibilities and control will rest with the authors.<br />
&#8230;<br />
At the discretion of the author, a knol may include ads. If an author chooses to include ads, Google will provide the author with substantial revenue share from the proceeds of those ads.
</p></blockquote>
<p>I am not impressed by what I hear. The model might encourage editors to start gearing their articles to get more Ad hits and the quality and correctness of information may take a downward turn.</p>
<p>However I do see some sense in one person controlling an article and accepting &#8220;patches&#8221; from others and incorporating them. This way maintenance of an article becomes less tedious than a comparable Wikipedia article. The model is somewhat like an open source project. You can contribute patches to the maintainers and they will be included after screening. If you don&#8217;t like the way the project is being handled, you can always fork it and maintain your own.</p>
<p>I am going to wait and watch to see what happens. Will Knol go the Orkut way or not?</p>
<p><strong>Links</strong></p>
<ul>
<li><a href="http://googleblog.blogspot.com/2007/12/encouraging-people-to-contribute.html">http://googleblog.blogspot.com/2007/12/encouraging-people-to-contribute.html</a></li>
<li><a href="http://en.wikipedia.org/wiki/Knol">http://en.wikipedia.org/wiki/Knol</a></li>
<li><a href="http://blog.sairahul.com/2007/12/google-knol-it-is-quite-surprise-news.html">http://blog.sairahul.com/2007/12/google-knol-it-is-quite-surprise-news.html</a></li>
<li><a href="http://www.techcrunch.com/2007/12/14/google-knol-a-step-too-far">http://www.techcrunch.com/2007/12/14/google-knol-a-step-too-far</a>/</li>
<li><a href="http://www.metafilter.com/67449/Googles-Knol">http://www.metafilter.com/67449/Googles-Knol</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.prashanthellina.com/2007/12/15/googles-knol-a-new-wikipedia/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>DreamHost: My wonderful web host</title>
		<link>http://blog.prashanthellina.com/2007/10/13/dreamhost-my-wonderful-web-host/</link>
		<comments>http://blog.prashanthellina.com/2007/10/13/dreamhost-my-wonderful-web-host/#comments</comments>
		<pubDate>Sat, 13 Oct 2007 13:23:41 +0000</pubDate>
		<dc:creator>prashanthellina</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[dreamhost]]></category>
		<category><![CDATA[web hosting]]></category>

		<guid isPermaLink="false">http://blog.prashanthellina.com/2007/10/13/dreamhost-my-wonderful-web-host/</guid>
		<description><![CDATA[I was hosted with &#8220;routhost&#8221; until April this year when I decided I needed more features like SSH access, build environment so I would be able to download and compile applications and most of all more disk space. After much hunting around I discovered DreamHost. The feature list is astounding. Here are a few to [...]]]></description>
			<content:encoded><![CDATA[<p>I was hosted with &#8220;<a href="http://www.routhost.com/">routhost</a>&#8221; until April this year when I decided I needed more features like SSH access, build environment so I would be able to download and compile applications and most of all more disk space. After much hunting around I discovered <a href="http://www.dreamhost.com/">DreamHost</a>. The feature list is astounding. Here are a few to give you an idea</p>
<ul>
<li>220 GB disk space and grows by 2GB every week</li>
<li>2TB bandwidth per month and grows by 16GB every week</li>
<li>SSH access</li>
<li>Build environment, gcc</li>
<li>Python, Perl, PHP</li>
<li>Unlimited mysql databases and tables</li>
<li>Free domain registration</li>
<li>Can host unlimited domains and sub-domains</li>
<li>Crontab</li>
<li>Subversion!</li>
<li>One click installs (I installed WordPress this way)</li>
</ul>
<p>These were the features when I got my account. However DreamHost is celebrating their 10th anniversary and starting disk space is 500GB and starting bandwidth per month is 5TB! For all this you pay $9.95 per month!</p>
<p>I was very wary as all this seemed too good to be true. After some googling I found that a lot of people liked DreamHost and the support is excellent (both from the community and the company itself).</p>
<p>DreamHost did have growing pains and had a major outage last year and I did notice that my site was inaccessible a couple of times for a duration of 2-5 minutes. Also the load average on the machine I was hosted, <em>touareg</em>, was 35  &#8211; 40. However, things have been improving. The load average is down to 10 and I have seen that during extended periods of time it even drops down to the 2 &#8211; 3 range. The server are pretty good too. AMD Opterons with 4GB of RAM.</p>
<p>You can even do some minimal back-end processing without too much hassle. I&#8217;ve noticed that processes which take less than around 88MB are allowed to stick around while those over are killed promptly.</p>
<p>If you are looking for a good host with tons of features, you need look no further. You can thank me for good advice by specifying me as the referrer when you sign-up. DreamHost has a referral program and I just might get referred enough times to cover my hosting fee! This works for you too after you register.</p>
<p><strong><a href="http://www.dreamhost.com/r.cgi?304636">Get an account with DreamHost here</a></strong></p>
<p>And don&#8217;t forget to use this promo code which will save $80 when you sign up.<br />
Promo code : <big><strong>PRASH80</strong></big></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.prashanthellina.com/2007/10/13/dreamhost-my-wonderful-web-host/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Embed vTap in your page</title>
		<link>http://blog.prashanthellina.com/2007/10/03/embed-vtap-in-your-page/</link>
		<comments>http://blog.prashanthellina.com/2007/10/03/embed-vtap-in-your-page/#comments</comments>
		<pubDate>Wed, 03 Oct 2007 04:14:05 +0000</pubDate>
		<dc:creator>prashanthellina</dc:creator>
				<category><![CDATA[veveo]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[vtap]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://blog.prashanthellina.com/2007/10/03/embed-vtap-in-your-page/</guid>
		<description><![CDATA[The vTap widget is finally out! Here is the embed code. Enjoy I will blog shortly about other interesting ways of embedding this.]]></description>
			<content:encoded><![CDATA[<p>The vTap widget is finally out! </p>
<div><iframe = style="border:0px" width="328px" height="300px" src="http://www.vtap.com/widget/index.html"></iframe></div>
<p>Here is the embed code. Enjoy <img src='http://blog.prashanthellina.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I will blog shortly about other interesting ways of embedding this.</p>
<pre lang="html">
<div><iframe = style="border:0px" width="328px" height="300px" src="http://www.vtap.com/widget/index.html"></iframe></div>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.prashanthellina.com/2007/10/03/embed-vtap-in-your-page/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

