<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>vikasing</title><link>http://www.vikasing.com/</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Vikasing" /><description></description><language>en</language><managingEditor>noreply@blogger.com (Vikash Singh)</managingEditor><lastBuildDate>Sun, 20 May 2012 23:08:15 PDT</lastBuildDate><generator>Blogger</generator><atom:id xmlns:atom="http://www.w3.org/2005/Atom">tag:blogger.com,1999:blog-7849417896242181398</atom:id><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">26</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Vikasing" /><feedburner:info uri="vikasing" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>Vikasing</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FVikasing" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FVikasing" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FVikasing" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/Vikasing" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FVikasing" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FVikasing" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FVikasing" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2FVikasing" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2FVikasing" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2FVikasing" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2FVikasing" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FVikasing" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FVikasing" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FVikasing" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FVikasing" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FVikasing" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2FVikasing" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2FVikasing" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2FVikasing" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item><title>Introduction to node.js</title><link>http://feedproxy.google.com/~r/Vikasing/~3/sfOx70Q4EOM/introduction-to-nodejs.html</link><category>nodejs</category><category>Teq</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Thu, 12 Apr 2012 12:02:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-5165191599625024336</guid><description>I recently had to give a presentation on a technology, I sorted out two: a graph db (neo4j) and node.js. I had heard a lot of about node.js and was not very sure what it really was, so I choose it for the presentation, because that made learn about it in more details. Here is the presentation:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="width:595px" id="__ss_11730771"&gt; &lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/vikasing/introduction-to-nodejs-11730771" title="Introduction to Node.js" target="_blank"&gt;Introduction to Node.js&lt;/a&gt;&lt;/strong&gt; &lt;object id="__sse11730771" width="595" height="497"&gt; &lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=nodejs-120224031311-phpapp01&amp;rel=0&amp;stripped_title=introduction-to-nodejs-11730771&amp;userName=vikasing" /&gt; &lt;param name="allowFullScreen" value="true"/&gt; &lt;param name="allowScriptAccess" value="always"/&gt; &lt;param name="wmode" value="transparent"/&gt; &lt;embed name="__sse11730771" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=nodejs-120224031311-phpapp01&amp;rel=0&amp;stripped_title=introduction-to-nodejs-11730771&amp;userName=vikasing" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="transparent" width="595" height="497"&gt;&lt;/embed&gt; &lt;/object&gt; &lt;div style="padding:5px 0 12px"&gt; View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/vikasing" target="_blank"&gt;Vikash Singh&lt;/a&gt; &lt;/div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-5165191599625024336?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/um5GNhZWJUTD4zcJ0S-sg7fNx7k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/um5GNhZWJUTD4zcJ0S-sg7fNx7k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/um5GNhZWJUTD4zcJ0S-sg7fNx7k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/um5GNhZWJUTD4zcJ0S-sg7fNx7k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=sfOx70Q4EOM:ssBcKLI9Dus:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=sfOx70Q4EOM:ssBcKLI9Dus:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=sfOx70Q4EOM:ssBcKLI9Dus:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=sfOx70Q4EOM:ssBcKLI9Dus:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=sfOx70Q4EOM:ssBcKLI9Dus:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=sfOx70Q4EOM:ssBcKLI9Dus:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=sfOx70Q4EOM:ssBcKLI9Dus:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=sfOx70Q4EOM:ssBcKLI9Dus:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/sfOx70Q4EOM" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2012-04-13T00:32:59.959+05:30</atom:updated><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.vikasing.com/2012/04/introduction-to-nodejs.html</feedburner:origLink></item><item><title>Extracting meaningful text from webpages</title><link>http://feedproxy.google.com/~r/Vikasing/~3/xhAfrRJ13sY/extracting-meaningful-text-from.html</link><category>java</category><category>Teq</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Mon, 26 Mar 2012 13:30:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-5317073097836036229</guid><description>I was trying to extract the meaningful text from a webpage for a given URL for &lt;a href="http://code.google.com/p/crowl/" target="_blank"&gt;crowl&lt;/a&gt;. For example if I visit any news site for a particular article, I will find a lot of crap (clutter) with the news text, this includes: ads, related news stories, top news stories, comments on the article, other web site links and much more.&lt;br /&gt;
Lets take an example of this The Times of India article:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://timesofindia.indiatimes.com/tech/news/hardware/83-year-old-woman-sues-Apple-for-1m/articleshow/12415012.cms" target="_blank"&gt;&amp;nbsp;http://timesofindia.indiatimes.com/tech/news/hardware/83-year-old-woman-sues-Apple-for-1m/articleshow/12415012.cms&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The useful text in the The Times of India article has around 30% share of total content, the remaining 70% is the clutter. You may argue that you need those links related to most popular stories, related stories etc. But sill a lot of extra stuff is there which we really don't care about. &amp;nbsp;(Meaningful) Information extraction from such a page is a big nightmare. We can start with getting the HTML source and stripping the HTML tags from the text.&amp;nbsp;&amp;nbsp;Using regular expressions, lets remove all the links too. The resultant content will look like:&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;83-year-old woman sues Apple for $1m - The Times of India | The Times of India | | More More ADVERTISEMENT Hardware The Times of India The Times of India Indiatimes Web (by Google) Video Photos You are here: &amp;nbsp;» &amp;nbsp; » &amp;nbsp; » Hardware Breaking News: 83-year-old woman sues Apple for $1m The writer has posted comments on this articleANI | Mar 26, 2012, 04.42PM IST My Saved articles Read more:||||||| SHARE AND DISCUSS NEW YORK: An 83-year-old American woman has sued for 1 million dollars after she failed to see the glass door at the tech giant's office and smashed her face. Evelyn Paswall, a former Manhattan fur-company vice president, went to to return an on December 13. While approaching the store, Paswall didn't realize she was heading straight for a wall of glass. She smashed her face against it, breaking her nose, Paswall claims in her suit filed in the US Eastern District federal court. Now the Forest Hills, Queens, resident, Paswall claimed in her lawsuit that the company was negligent not elderly-proofing the store's see-through fa ade, The New York Post reports. She argues that Apple should have put marks on the glass that older people could spot before they come face-to-face with disaster. "The defendant was negligent . . . in allowing a clear, see-through glass wall and/or door to exist without proper warning," Paswall suit said. Hi ! Do you like this story? My saved articles RELATED COVERAGE Articles Blogs LATEST NEWS » ......&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;
As you can observe the above text has a lot of extra text which we don't want. Attempts have been made to get extract the main content, here is one such article:&amp;nbsp;&lt;a href="http://www.chrisspen.com/blog/how-to-extract-a-webpages-main-article-content.html" target="_blank"&gt;How to Extract a Webpage’s Main Article Content&lt;/a&gt;&lt;br /&gt;
The Java program to get&amp;nbsp;the&amp;nbsp;above text: (Jsoup can be downloaded from &lt;a href="http://jsoup.org/" target="_blank"&gt;here&lt;/a&gt;)&lt;/div&gt;
&lt;br /&gt;
&lt;pre class="brush: java;"&gt; public static void main(String[] args) throws Exception {
     String href="(&lt;a(.|\n)*?&gt;.*?&amp;lt;\\/a&amp;gt;)";
     Document doc = Jsoup.connect("http://timesofindia.indiatimes.com/tech/news/hardware/83-year-old-woman-sues-Apple-for-1m/articleshow/12415012.cms").get();
            String source = doc.html();
            source = source.replaceAll(href, "");
     System.out.println(Jsoup.parse(source).text());
 }
&lt;/a(.|\n)*?&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
The best Java lib I could find to get the main text from a web page was &lt;a href="http://code.google.com/p/boilerpipe/" target="_blank"&gt;boilerpipe&lt;/a&gt;,&amp;nbsp;and the same&amp;nbsp;can be tested &lt;a href="http://boilerpipe-web.appspot.com/" target="_blank"&gt;here&lt;/a&gt;. It does a pretty good job of removing the clutter around the meaningful text. Running the The Times of India news article link through boilerpipe gives the following text:&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;Tweet
NEW YORK: An 83-year-old American woman has sued Apple for 1 million dollars after she failed to see the glass door at the tech giant's office and smashed her face.
Evelyn Paswall, a former Manhattan fur-company vice president, went to Apple's Manhasset store to return an iPhone on December 13.
While approaching the store, Paswall didn't realize she was heading straight for a wall of glass.
She smashed her face against it, breaking her nose, Paswall claims in her suit filed in the US Eastern District federal court.
Now the Forest Hills, Queens, resident, Paswall claimed in her lawsuit that the company was negligent not elderly-proofing the store's see-through fa ade, The New York Post reports.
She argues that Apple should have put marks on the glass that older people could spot before they come face-to-face with disaster.
"The defendant was negligent . . . in allowing a clear, see-through glass wall and/or door to exist without proper warning," Paswall suit said.
Hi !&lt;/pre&gt;
&lt;br /&gt;
The above text is very close to what we want. Boilerpipe library is based on &lt;a href="http://www.l3s.de/~kohlschuetter/publications/wsdm187-kohlschuetter.pdf" target="_blank"&gt;this&lt;/a&gt; paper. By&amp;nbsp;combining&amp;nbsp;Jsoup (to get the page title) with boilerpipe (to get the page content) we can get the meaningful content from a webpage.&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-5317073097836036229?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jmZUcT2DEFFvl0BGHeLGNxLS3vY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jmZUcT2DEFFvl0BGHeLGNxLS3vY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jmZUcT2DEFFvl0BGHeLGNxLS3vY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jmZUcT2DEFFvl0BGHeLGNxLS3vY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=xhAfrRJ13sY:a3vky6iMh-I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=xhAfrRJ13sY:a3vky6iMh-I:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=xhAfrRJ13sY:a3vky6iMh-I:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=xhAfrRJ13sY:a3vky6iMh-I:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=xhAfrRJ13sY:a3vky6iMh-I:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=xhAfrRJ13sY:a3vky6iMh-I:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=xhAfrRJ13sY:a3vky6iMh-I:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=xhAfrRJ13sY:a3vky6iMh-I:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/xhAfrRJ13sY" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2012-03-27T02:04:26.110+05:30</atom:updated><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.vikasing.com/2012/03/extracting-meaningful-text-from.html</feedburner:origLink></item><item><title>A Note on YCSB</title><link>http://feedproxy.google.com/~r/Vikasing/~3/ruj_psNFPpo/note-on-ycsb.html</link><category>java</category><category>MongoDB</category><category>Teq</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Sat, 09 Jul 2011 13:02:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-5710108813871405372</guid><description>Recently we had to benchmark a number of In-Memory databases available, mainly open source ones. I didn't know about YCSB until my architect told me about it.&lt;br /&gt;
&lt;blockquote&gt;
&lt;b&gt;YCSB = &lt;a href="https://github.com/brianfrankcooper/YCSB"&gt;Yahoo! Cloud Serving Benchmark &lt;/a&gt;&lt;/b&gt;&lt;/blockquote&gt;
It didn't impress me at first because it was from Yahoo! no offense but Yahoo! still expects us to pay for it's email POP3 access (Yahoo! Plus), they haven't learned anything from GMail, immaturity at its best. Nevertheless we started our benchmarking with Oracle and MongoDB. I know neither of them is an in-memory database but we liked the concept of memory mapped data of MongoDB. &lt;br /&gt;
&lt;br /&gt;
I wrote the Oracle client for YCSB and MongoDB client was included with the benchmark code (thanks to Yen Pai). Writing a client for YCSB is fairly simple and that's what impressed me. But my impressions were washed away by horrible glitches I found in the included drivers as well as in YCSB code itself. There are a number of forks (including mine, which is a dead one by the way) which provide a lot of patches to the original YCSB code and include many new clients as well but the owner of the project Brian Frank Cooper has a very small interest in reviewing them.&lt;br /&gt;
&lt;br /&gt;
I ran the first benchmark on 1,00,000 data sets for all the work loads provided with YCSB. Default workloads are not sufficient to test all the operation properly, which forced me to create my own workload configuration. It turned out that MongoDB was just 2-4 times faster than Oracle and that didn't impressed us much. So we considered Gemfire and Hazelcast as well, both "real" in-memory databases, one open source and other commercial (a 60 day trial in this case).&lt;br /&gt;
&lt;br /&gt;
Again I had to write the clients for both the new DBs and it turned out to be a piece of cake. I have to admit YCSB has a great pluggability, plugging a client for any db just requires the driver libs + some 20 lines of code and you are done . YCSB can also run on multiple machines. YCSB offers a great platform for benchmarking any kind of database out there and same should be realized by Yahoo! or Brian Cooper who can put some more effort in its development.&lt;br /&gt;
&lt;br /&gt;
Here are the results of MongoDB, Gemfire and Hazelcast benchmarks on 100000 data sets:&lt;br /&gt;
&lt;br /&gt;
&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;
&lt;tr style="min-height: 14.5pt;"&gt;&lt;td style="border: solid black 1.0pt; min-height: 14.5pt; padding: 0in 1.5pt 0in 1.5pt; width: 103.1pt;" valign="top" width="137"&gt;&lt;div class="MsoNormal" style="text-autospace: none;"&gt;
&lt;b&gt;&lt;span style="color: black;"&gt;Operation (100,000)&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td colspan="3" style="border-left: none; border: solid black 1.0pt; min-height: 14.5pt; padding: 0in 1.5pt 0in 1.5pt; width: 73.3pt;" valign="top" width="98"&gt;&lt;div align="center" class="MsoNormal" style="text-align: center; text-autospace: none;"&gt;
&lt;b&gt;&lt;span style="color: black;"&gt;DBs Throughput (operations/sec)&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="min-height: 14.5pt;"&gt;
&lt;td style="border-top: none; border: solid black 1.0pt; min-height: 14.5pt; padding: 0in 1.5pt 0in 1.5pt; width: 103.1pt;" valign="top" width="137"&gt;&lt;div align="right" class="MsoNormal" style="text-align: right; text-autospace: none;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; min-height: 14.5pt; padding: 0in 1.5pt 0in 1.5pt; width: 73.3pt;" valign="top" width="98"&gt;&lt;div align="center" class="MsoNormal" style="text-align: center; text-autospace: none;"&gt;
&lt;span style="color: black;"&gt;Gemfire&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; min-height: 14.5pt; padding: 0in 1.5pt 0in 1.5pt; width: 71.75pt;" valign="top" width="96"&gt;&lt;div align="center" class="MsoNormal" style="text-align: center; text-autospace: none;"&gt;
&lt;span style="color: black;"&gt;MongoDB&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; min-height: 14.5pt; padding: 0in 1.5pt 0in 1.5pt; width: 72.5pt;" valign="top" width="97"&gt;&lt;div align="center" class="MsoNormal" style="text-align: center; text-autospace: none;"&gt;
&lt;span style="color: black;"&gt;Hazelcast&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="min-height: 14.5pt;"&gt;
&lt;td style="border-top: none; border: solid black 1.0pt; min-height: 14.5pt; padding: 0in 1.5pt 0in 1.5pt; width: 103.1pt;" valign="top" width="137"&gt;&lt;div class="MsoNormal" style="text-autospace: none;"&gt;
&lt;span style="color: black;"&gt;Write (ops/sec)&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; min-height: 14.5pt; padding: 0in 1.5pt 0in 1.5pt; width: 73.3pt;" valign="top" width="98"&gt;&lt;div align="center" class="MsoNormal" style="text-align: center; text-autospace: none;"&gt;
&lt;span style="color: black;"&gt;3032.324&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; min-height: 14.5pt; padding: 0in 1.5pt 0in 1.5pt; width: 71.75pt;" valign="top" width="96"&gt;&lt;div align="center" class="MsoNormal" style="text-align: center; text-autospace: none;"&gt;
&lt;span style="color: black;"&gt;5123.475&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; min-height: 14.5pt; padding: 0in 1.5pt 0in 1.5pt; width: 72.5pt;" valign="top" width="97"&gt;&lt;div align="center" class="MsoNormal" style="text-align: center; text-autospace: none;"&gt;
&lt;span style="color: black;"&gt;3709.336&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="min-height: 14.5pt;"&gt;
&lt;td style="border-top: none; border: solid black 1.0pt; min-height: 14.5pt; padding: 0in 1.5pt 0in 1.5pt; width: 103.1pt;" valign="top" width="137"&gt;&lt;div class="MsoNormal" style="text-autospace: none;"&gt;
&lt;span style="color: black;"&gt;Read (ops/sec)&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; min-height: 14.5pt; padding: 0in 1.5pt 0in 1.5pt; width: 73.3pt;" valign="top" width="98"&gt;&lt;div align="center" class="MsoNormal" style="text-align: center; text-autospace: none;"&gt;
&lt;span style="color: black;"&gt;7634.170&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; min-height: 14.5pt; padding: 0in 1.5pt 0in 1.5pt; width: 71.75pt;" valign="top" width="96"&gt;&lt;div align="center" class="MsoNormal" style="text-align: center; text-autospace: none;"&gt;
&lt;span style="color: black;"&gt;7825.338&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; min-height: 14.5pt; padding: 0in 1.5pt 0in 1.5pt; width: 72.5pt;" valign="top" width="97"&gt;&lt;div align="center" class="MsoNormal" style="text-align: center; text-autospace: none;"&gt;
&lt;span style="color: black;"&gt;4315.367&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
MongoDB turns out to be the winner, the reason which I can think of is that both Gemfire and Hazelcast use JVM but MongoDB leaves everything to OS by mapping the data into memory.&lt;br /&gt;
&lt;br /&gt;
More about YCSB can be found &lt;a href="http://research.yahoo.com/files/ycsb.pdf"&gt;here&lt;/a&gt; and on the &lt;a href="https://github.com/brianfrankcooper/YCSB/wiki"&gt;wiki &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-5710108813871405372?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TOD5G0KgSr3HxTDLdfUXNZuZQ4g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TOD5G0KgSr3HxTDLdfUXNZuZQ4g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TOD5G0KgSr3HxTDLdfUXNZuZQ4g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TOD5G0KgSr3HxTDLdfUXNZuZQ4g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=ruj_psNFPpo:sUH4TRikb0s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=ruj_psNFPpo:sUH4TRikb0s:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=ruj_psNFPpo:sUH4TRikb0s:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=ruj_psNFPpo:sUH4TRikb0s:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=ruj_psNFPpo:sUH4TRikb0s:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=ruj_psNFPpo:sUH4TRikb0s:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=ruj_psNFPpo:sUH4TRikb0s:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=ruj_psNFPpo:sUH4TRikb0s:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/ruj_psNFPpo" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2011-07-10T01:41:50.417+05:30</atom:updated><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.vikasing.com/2011/07/note-on-ycsb.html</feedburner:origLink></item><item><title>Find Me Lazy</title><link>http://feedproxy.google.com/~r/Vikasing/~3/EY7oYKVH9iY/find-me-lazy.html</link><category>Xeneral</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Sun, 26 Jun 2011 02:42:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-1191900696247282631</guid><description>I was supposed to write a New Year post six months back, I didn't. Someone last week asked me what are you best at, I didn't (or couldn't) answer, now I guess laziness is what I am best at. Last year's new year post can be found &lt;a href="http://www.vikasing.com/2010/01/bad-old-year-happy-new-year.html"&gt;here&lt;/a&gt; which I posted just after 3 days of new year. This year I am late by just 6 months. So I'll summarize whats happened in last 18 months span:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Series I finished:&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt0306414/"&gt;The Wire &lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt0118421/"&gt;OZ  &lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt0995832/"&gt;Generation Kill &lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt0248654/"&gt;Six Feet Under&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt0098936/"&gt;Twin Peaks&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt0950701/"&gt;The Life and Times of Tim &lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt0285331/"&gt;24&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt0830361/"&gt;The Lost Room&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt0374463/"&gt;The Pacific&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt0118298/"&gt;Daria&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt0403778/"&gt;Long Way Round&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt1702042/"&gt;An Idiot Abroad&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt1442449/"&gt;Spartcus: Blood and Sand&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Series which I started following&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt0903747/"&gt;Breaking Bad&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt0944947/"&gt;Game of Thrones&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt0835434/"&gt;In Treatment&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt0472954/"&gt;Its Always Sunny In Philadelphia&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt1553644/"&gt;The Ricky Gervais Show&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt0417373/"&gt;The Venture Bros.&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt0487831/"&gt;The IT Crowd&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt0979432/"&gt;Boardwalk Empire&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.imdb.com/title/tt1119644/"&gt;Fringe&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Apart from series, movies and games; few more insignificant things happened in my life:&lt;br /&gt;
Started a project &lt;a href="http://code.google.com/p/crowl/"&gt;Crowl&lt;/a&gt; and released first revision (0.1)&lt;br /&gt;
Shifted to Noida from Bangalore.&lt;br /&gt;
Started gizmoage.com.&lt;br /&gt;
Finished a couple of novels.&lt;br /&gt;
Finished following games:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Crysis 2&lt;/li&gt;
&lt;li&gt;Blur&lt;/li&gt;
&lt;li&gt;Battlefield: Bad Company 2&lt;/li&gt;
&lt;li&gt;Need for Speed: Hot Pursuit&lt;/li&gt;
&lt;li&gt;Call of Duty Black Ops&lt;/li&gt;
&lt;li&gt;Call Of Duty Modern Warfare 2&lt;/li&gt;
&lt;li&gt;Just Cause 2&lt;/li&gt;
&lt;/ul&gt;To add to the list I bought a car and still learning how to drive with L sign on front as well as back. In Jack Sparrow way: the feeling which someone should have after getting a car, I don't have it.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Caution: A Blurry Pic Ahead!&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-CHMbDN6AXFU/Tgb-BgTksMI/AAAAAAAABlU/EGdNw7kC7Qg/s1600/IMG_20110620_170929.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/-CHMbDN6AXFU/Tgb-BgTksMI/AAAAAAAABlU/EGdNw7kC7Qg/s640/IMG_20110620_170929.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-1191900696247282631?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SLksB-fy4AROFPPAJ4QbT9_OL_w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SLksB-fy4AROFPPAJ4QbT9_OL_w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SLksB-fy4AROFPPAJ4QbT9_OL_w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SLksB-fy4AROFPPAJ4QbT9_OL_w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=EY7oYKVH9iY:92OYT6jmKug:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=EY7oYKVH9iY:92OYT6jmKug:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=EY7oYKVH9iY:92OYT6jmKug:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=EY7oYKVH9iY:92OYT6jmKug:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=EY7oYKVH9iY:92OYT6jmKug:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=EY7oYKVH9iY:92OYT6jmKug:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=EY7oYKVH9iY:92OYT6jmKug:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=EY7oYKVH9iY:92OYT6jmKug:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/EY7oYKVH9iY" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2011-06-26T21:46:50.780+05:30</atom:updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-CHMbDN6AXFU/Tgb-BgTksMI/AAAAAAAABlU/EGdNw7kC7Qg/s72-c/IMG_20110620_170929.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.vikasing.com/2011/06/find-me-lazy.html</feedburner:origLink></item><item><title>A Simple URL Shortening Algorithm in JAVA</title><link>http://feedproxy.google.com/~r/Vikasing/~3/fVY3RwXIWGE/simple-url-shortening-algorithm-in-java.html</link><category>algo</category><category>Teq</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Sat, 20 Nov 2010 15:25:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-6823044875072562943</guid><description>We have so many url shortening services available today, I am not sure what kind of algorithm they use to shorten a particular url. Given the limitations over the characters which can be used in a url it becomes pretty much obvious that we are limited to 62 alpha numeric chars i.e. [a-z 0-9 A-Z]. Though - (hyphen) and _ (underscore) are allowed in a url still we want to avoid them for many good reasons. Very obvious would be a bad looking url like http://xyz.com/&lt;b&gt;c0--rw_&lt;/b&gt; or http://xyz.com/&lt;b&gt;______-.&lt;/b&gt;&lt;br /&gt;
Following is the simple implementation of base10 to base62 converter, that's all we need to shorten a url. With 62 chars and a unique string 7 char long we can shorten:&lt;br /&gt;
&lt;blockquote&gt;&lt;b&gt;62&lt;sup&gt;7&lt;/sup&gt; = 3,521,614,606,208&lt;/b&gt; urls&lt;/blockquote&gt;that's a lots of urls. &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;How shortening works in the present case:&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Suppose you have a table with following columns: &lt;br /&gt;
&lt;blockquote&gt;&lt;b&gt;1. unique auto increment id&lt;/b&gt; (long), &lt;br /&gt;
&lt;b&gt;2. url &lt;/b&gt;(string), &lt;br /&gt;
&lt;b&gt;3. base62 string &lt;/b&gt;(string)&lt;/blockquote&gt;Now the trick is that we convert unique id to base62 string not the url, and then the url is mapped to the unique id. For example if we want to shorten the following url:&lt;br /&gt;
&lt;blockquote&gt;&lt;i&gt;http://news.xinhuanet.com/english2010/world/2010-11/18/c_13612801.htm&lt;/i&gt;&lt;/blockquote&gt;First we need to look for the last unique id in the table then add 1 to it and convert the resulting number to base62. Suppose last unique id was 678544325 now the next id 678544326 will be mapped to the above url and base62 of a 678544326 will be:&lt;br /&gt;
&lt;blockquote&gt;&lt;b&gt;45*62&lt;sup&gt;4&lt;/sup&gt;&lt;/b&gt;&lt;b&gt;+57*62&lt;sup&gt;3&lt;/sup&gt;&lt;/b&gt;&lt;b&gt;+6*62&lt;sup&gt;2&lt;/sup&gt;&lt;/b&gt;&lt;b&gt;+23*62&lt;sup&gt;1&lt;/sup&gt;&lt;/b&gt;&lt;b&gt;+20*62&lt;sup&gt;0&lt;/sup&gt;&lt;/b&gt;&lt;/blockquote&gt;means a five char url, having following array indexes {45}{57}{6}{23}{20} in&lt;br /&gt;
&lt;pre class="brush: java;"&gt;String[] elements = {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o",
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; "p","q","r","s","t","u","v","w","x","y","z","1","2","3","4",
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; "5","6","7","8","9","0","A","B","C","D","E","F","G","H","I",
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; "J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X",
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; "Y","Z"
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; };
&lt;/pre&gt;which will give a base62 string: &lt;b&gt;JVgxu&lt;/b&gt; and a shortened url can be &lt;b&gt;http://xyz.com/JVgxu&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Following is the java code to convert a number to base62 string&lt;br /&gt;
&lt;pre class="brush: java;"&gt;/**
 * @author vikasing
 *
 */
public class Base62Converter {
    private final int LENGTH_OF_URL_CODE=6;
    public String convertTo62Base(long toBeConverted)
    {
        String[] elements = {
                &amp;quot;a&amp;quot;,&amp;quot;b&amp;quot;,&amp;quot;c&amp;quot;,&amp;quot;d&amp;quot;,&amp;quot;e&amp;quot;,&amp;quot;f&amp;quot;,&amp;quot;g&amp;quot;,&amp;quot;h&amp;quot;,&amp;quot;i&amp;quot;,&amp;quot;j&amp;quot;,&amp;quot;k&amp;quot;,&amp;quot;l&amp;quot;,&amp;quot;m&amp;quot;,&amp;quot;n&amp;quot;,&amp;quot;o&amp;quot;,
                &amp;quot;p&amp;quot;,&amp;quot;q&amp;quot;,&amp;quot;r&amp;quot;,&amp;quot;s&amp;quot;,&amp;quot;t&amp;quot;,&amp;quot;u&amp;quot;,&amp;quot;v&amp;quot;,&amp;quot;w&amp;quot;,&amp;quot;x&amp;quot;,&amp;quot;y&amp;quot;,&amp;quot;z&amp;quot;,&amp;quot;1&amp;quot;,&amp;quot;2&amp;quot;,&amp;quot;3&amp;quot;,&amp;quot;4&amp;quot;,
                &amp;quot;5&amp;quot;,&amp;quot;6&amp;quot;,&amp;quot;7&amp;quot;,&amp;quot;8&amp;quot;,&amp;quot;9&amp;quot;,&amp;quot;0&amp;quot;,&amp;quot;A&amp;quot;,&amp;quot;B&amp;quot;,&amp;quot;C&amp;quot;,&amp;quot;D&amp;quot;,&amp;quot;E&amp;quot;,&amp;quot;F&amp;quot;,&amp;quot;G&amp;quot;,&amp;quot;H&amp;quot;,&amp;quot;I&amp;quot;,
                &amp;quot;J&amp;quot;,&amp;quot;K&amp;quot;,&amp;quot;L&amp;quot;,&amp;quot;M&amp;quot;,&amp;quot;N&amp;quot;,&amp;quot;O&amp;quot;,&amp;quot;P&amp;quot;,&amp;quot;Q&amp;quot;,&amp;quot;R&amp;quot;,&amp;quot;S&amp;quot;,&amp;quot;T&amp;quot;,&amp;quot;U&amp;quot;,&amp;quot;V&amp;quot;,&amp;quot;W&amp;quot;,&amp;quot;X&amp;quot;,
                &amp;quot;Y&amp;quot;,&amp;quot;Z&amp;quot;
                };
        String convertedString=&amp;quot;&amp;quot;;
        int numOfDiffChars= elements.length;
        if(toBeConverted&amp;lt;numOfDiffChars+1 &amp;amp;&amp;amp; toBeConverted&amp;gt;0)
        {
            convertedString=elements[(int) (toBeConverted-1)];
        }
        else if(toBeConverted&amp;gt;numOfDiffChars)
        {
            long mod = 0;
            long multiplier = 0;
            boolean determinedTheLength=false;
            for(int j=LENGTH_OF_URL_CODE;j&amp;gt;=0;j--)
            {
                multiplier=(long) (toBeConverted/Math.pow(numOfDiffChars,j));
                if(multiplier&amp;gt;0 &amp;amp;&amp;amp; toBeConverted&amp;gt;=numOfDiffChars)
                {
                    convertedString+=elements[(int) multiplier];
                    determinedTheLength=true;
                }
                else if(determinedTheLength &amp;amp;&amp;amp; multiplier==0)
                {
                    convertedString+=elements[0];
                }
                else if(toBeConverted&amp;lt;numOfDiffChars)
                {
                    convertedString+=elements[(int) mod];
                }
                
                mod=(long) (toBeConverted%Math.pow(numOfDiffChars,j));
                toBeConverted=mod;                
            }
            
        }
        return convertedString;
    }

}
&lt;/pre&gt;Above code is part of the project &lt;a href="http://code.google.com/p/crowl/"&gt;Crowl&lt;/a&gt; on which I have been working for a while. File can be browsed under org.crow.utils package.&lt;br /&gt;
&lt;br /&gt;
Update: found this precise code for base62 conversion on the &lt;a href="http://javaconfessions.com/2008/09/convert-between-base-10-and-base-62-in_28.html"&gt;web&lt;/a&gt;:&lt;br /&gt;
&lt;pre class="brush: java;"&gt;public String converter ( int base, long decimalNumber)
 {
  
   String tempVal = decimalNumber == 0 ? "0" : "";
         long mod = 0;

         while( decimalNumber != 0 ) {
             mod = decimalNumber % base;
             tempVal = baseDigits.substring( (int)mod, (int)mod + 1 ) + tempVal;
             decimalNumber = decimalNumber / base;
         }
         System.out.print(tempVal);
         return tempVal;
 }
&lt;/pre&gt;&lt;br /&gt;
I didn't check the performance of the above code but it is smaller than the first one but both give the same output.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-6823044875072562943?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/u4Kt0SHX3mTA_sYWikNsqUjKA1E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/u4Kt0SHX3mTA_sYWikNsqUjKA1E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/u4Kt0SHX3mTA_sYWikNsqUjKA1E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/u4Kt0SHX3mTA_sYWikNsqUjKA1E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=fVY3RwXIWGE:4oVFO0x8P4k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=fVY3RwXIWGE:4oVFO0x8P4k:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=fVY3RwXIWGE:4oVFO0x8P4k:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=fVY3RwXIWGE:4oVFO0x8P4k:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=fVY3RwXIWGE:4oVFO0x8P4k:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=fVY3RwXIWGE:4oVFO0x8P4k:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=fVY3RwXIWGE:4oVFO0x8P4k:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=fVY3RwXIWGE:4oVFO0x8P4k:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/fVY3RwXIWGE" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-11-21T22:30:19.859+05:30</atom:updated><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://www.vikasing.com/2010/11/simple-url-shortening-algorithm-in-java.html</feedburner:origLink></item><item><title>10 TV series You Don't Want to Miss</title><link>http://feedproxy.google.com/~r/Vikasing/~3/w9elKr_NgHs/10-tv-series-you-dont-want-to-miss.html</link><category>Xeneral</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Sun, 24 Oct 2010 15:17:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-6522237971378761777</guid><description>I watched (or started following) &lt;a href="http://www.vikasing.com/2010/01/bad-old-year-happy-new-year.html"&gt;15 TV series in 2009&lt;/a&gt; itself and in 2010 I was able to finish another 6. Here is a list of some of the great series you wouldn't wanna miss:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1.&lt;/b&gt;&lt;a href="http://draft.blogger.com/goog_1910856731"&gt; &lt;/a&gt;&lt;b&gt;&lt;a href="http://www.imdb.com/title/tt0141842/"&gt;The Sopranos&lt;/a&gt;:&lt;/b&gt; You'll have to get through a couple of episodes first to get to know whats really going on. Its one of the best series HBO ever produced, depicting a New Jersey mafia family. Watch Tony Sopranos running a mafia family and struggling with his own.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ma2ePdFSZeE/TMXVC2QFROI/AAAAAAAABVQ/KGiLcz7XNZQ/s1600/sopranos.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/_ma2ePdFSZeE/TMXVC2QFROI/AAAAAAAABVQ/KGiLcz7XNZQ/s640/sopranos.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;2.&lt;/b&gt; &lt;b&gt;&lt;a href="http://www.imdb.com/title/tt0118421/"&gt;OZ&lt;/a&gt;&lt;/b&gt;: This is my favorite from HBO, it shows the daily life of prisoners in a maximum security penitentiary. It has got every possible face of crime. One of the many things I like about HBO is that it gives its characters a complete freedom and doesn't hesitate in showing anything, things which can't be seen on any other channel. The narration of character &lt;a href="http://www.imdb.com/character/ch0021487/"&gt;Augustus Hill&lt;/a&gt; is one of the best part of the series.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_ma2ePdFSZeE/TMXRoiA8GmI/AAAAAAAABVE/1awYtp-JVMY/s1600/oz.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_ma2ePdFSZeE/TMXRoiA8GmI/AAAAAAAABVE/1awYtp-JVMY/s1600/oz.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;3.&lt;/b&gt; &lt;b&gt;&lt;a href="http://www.imdb.com/title/tt0773262/"&gt;Dexter&lt;/a&gt;&lt;/b&gt;: When it comes to the narration Dexter takes the cake,          &lt;a href="http://www.imdb.com/name/nm0355910/"&gt;Michael C. Hall&lt;/a&gt; is a great actor and he fits perfectly in the role of a serial killer. Although many times a factor of luck plays an important role in the life of Dexter, the character of Dexter is very strong. A serial killer who can't feel any emotions: that's new and fresh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_ma2ePdFSZeE/TMXZCG3PYWI/AAAAAAAABVY/xO2E-DmxKs0/s1600/dexter-wallpaper-tv-show-9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="360" src="http://3.bp.blogspot.com/_ma2ePdFSZeE/TMXZCG3PYWI/AAAAAAAABVY/xO2E-DmxKs0/s640/dexter-wallpaper-tv-show-9.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;4.&lt;/b&gt; &lt;b&gt;&lt;a href="http://www.imdb.com/title/tt0264235/"&gt;Curb Your Enthusiasm&lt;/a&gt;&lt;/b&gt;: Co-creator of &lt;a href="http://www.imdb.com/title/tt0098904/"&gt;Seinfeld&lt;/a&gt;&lt;b&gt; &lt;/b&gt;&lt;a href="http://www.imdb.com/name/nm0202970/"&gt;Larry David&lt;/a&gt; unites with HBO to produce this masterpiece. Believe me this series is better than Seinfeld, I have to admit I could not finish watching Seinfeld beyond 5th season because of its repetitive expressions/actions/dialogues. I liked Kramer but others became dull and boring after a certain number of episodes. Curb Your Enthusiasm shows David's daily life and his unusual way of handling the everyday matters.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_ma2ePdFSZeE/TMXWFzxgm8I/AAAAAAAABVU/U6DRoE0llfE/s1600/tv_curb_your_enthusiasm01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="432" src="http://3.bp.blogspot.com/_ma2ePdFSZeE/TMXWFzxgm8I/AAAAAAAABVU/U6DRoE0llfE/s640/tv_curb_your_enthusiasm01.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;5.&lt;/b&gt; &lt;b&gt;&lt;a href="http://www.imdb.com/title/tt0185906/"&gt;The Band of Brothers&lt;/a&gt;&lt;/b&gt; and &lt;b&gt;&lt;a href="http://www.imdb.com/title/tt0374463/"&gt;The Pacific&lt;/a&gt;&lt;/b&gt;: If you liked Saving Private Ryan, you don't wanna miss these two mini-series produced by HBO with the collaboration of Steven Spielberg and Tom Hanks. Aren't the names of these two masters enough? Both are based on World War-II.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_ma2ePdFSZeE/TMXRJQqoBCI/AAAAAAAABVA/sSwC2Bzroog/s1600/MV5BMTkxOTEzMTk5NV5BMl5BanBnXkFtZTYwNzkzNjc3._V1._SX485_SY389_.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_ma2ePdFSZeE/TMXRJQqoBCI/AAAAAAAABVA/sSwC2Bzroog/s1600/MV5BMTkxOTEzMTk5NV5BMl5BanBnXkFtZTYwNzkzNjc3._V1._SX485_SY389_.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;6.&lt;/b&gt; &lt;b&gt;&lt;a href="http://www.imdb.com/title/tt0384766/"&gt;Rome&lt;/a&gt;&lt;/b&gt;: BBC has produced a few documentary series's on Rome before. For this 2 season series BBC unites with HBO to produce a great series, which covers the most important time in history of Roman Empire, the lives of Julius Caesar and Augustus when the Rome expanded the most.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ma2ePdFSZeE/TMXZxLQpTpI/AAAAAAAABVg/Aq_5VeNREok/s1600/rome.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://2.bp.blogspot.com/_ma2ePdFSZeE/TMXZxLQpTpI/AAAAAAAABVg/Aq_5VeNREok/s640/rome.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ma2ePdFSZeE/TMXZPpS_6-I/AAAAAAAABVc/49nlksEO7FU/s1600/arrested-development-02-1024x767.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;
&lt;/a&gt;&lt;/div&gt;&lt;b&gt;7. &lt;/b&gt;&lt;b&gt;&lt;a href="http://www.imdb.com/title/tt0319969/"&gt;Carnivàle&lt;/a&gt;&lt;/b&gt;: This is again from HBO, a  kind of serious and disturbing drama series set in 1934. Its a story of a Carnivàle which travels around and a fugitive Ben who joins the Carnivàle. It is great to watch the superb&amp;nbsp; acting from these nobodies. Its a  (sadly) 2 season series with some amazing background music.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ma2ePdFSZeE/TMXTyoHlBnI/AAAAAAAABVM/__kc4G9BcIs/s1600/Carnivale.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_ma2ePdFSZeE/TMXTyoHlBnI/AAAAAAAABVM/__kc4G9BcIs/s1600/Carnivale.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;8.&lt;/b&gt;&lt;b&gt;&lt;a href="http://www.imdb.com/title/tt0367279/"&gt; Arrested Development&lt;/a&gt;&lt;/b&gt;: Its neither like FRIENDS nor like Seinfeld, its a different kind of comedy series from Fox. A story of a broken (or stupid) family. Jason Bateman tries to fix the problems of the family only to find himself in the funniest situations.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/_ma2ePdFSZeE/TMXZPpS_6-I/AAAAAAAABVc/49nlksEO7FU/s1600/arrested-development-02-1024x767.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="476" src="http://1.bp.blogspot.com/_ma2ePdFSZeE/TMXZPpS_6-I/AAAAAAAABVc/49nlksEO7FU/s640/arrested-development-02-1024x767.jpg" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;9.&lt;/b&gt;&lt;b&gt;&lt;a href="http://www.imdb.com/title/tt0098936/"&gt; Twin Peaks&lt;/a&gt;&lt;/b&gt;: Twin Peaks is a name of the town in which a murder takes place and an FBI agent visits the town to investigate the murder, this investigation covers the whole two seasons. The series is known for its bizarre characters e.g the main character Dale Cooper likes black coffee and cherry pie and it can be seen very often. Twin Peaks became a huge hit and almost gave birth to a cult.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ma2ePdFSZeE/TMXS5YoBCiI/AAAAAAAABVI/PEZUc2q9Oqs/s1600/twinpeaks_show_3.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_ma2ePdFSZeE/TMXS5YoBCiI/AAAAAAAABVI/PEZUc2q9Oqs/s1600/twinpeaks_show_3.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;10.&lt;/b&gt; &lt;b&gt;&lt;a href="http://www.imdb.com/title/tt0904208/"&gt;Californication&lt;/a&gt;&lt;/b&gt;:  I was surprised to see this kind of stuff coming from a non-HBO  channel. This is an amazing drama/comedy series from Showtime. The main  character Hank Moody is played by &lt;a href="http://www.imdb.com/name/nm0000141/"&gt;David Duchovny&lt;/a&gt; who played Fox Mulder in The X-Files. Moody is an interesting character who tries to live his life in his own way and does many 'nasty' things. Another interesting character is Charlie Runkle played by &lt;a href="http://www.imdb.com/name/nm0359577/"&gt;Evan Handler.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ma2ePdFSZeE/TMXbdQwjo9I/AAAAAAAABVk/Vc77ts6ulwI/s1600/watch_californication_megavideo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_ma2ePdFSZeE/TMXbdQwjo9I/AAAAAAAABVk/Vc77ts6ulwI/s1600/watch_californication_megavideo.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-6522237971378761777?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Yq1bqVBANKeb7Axvlu8vtnCmqsU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Yq1bqVBANKeb7Axvlu8vtnCmqsU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Yq1bqVBANKeb7Axvlu8vtnCmqsU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Yq1bqVBANKeb7Axvlu8vtnCmqsU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=w9elKr_NgHs:8c2EUcDtdsY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=w9elKr_NgHs:8c2EUcDtdsY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=w9elKr_NgHs:8c2EUcDtdsY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=w9elKr_NgHs:8c2EUcDtdsY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=w9elKr_NgHs:8c2EUcDtdsY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=w9elKr_NgHs:8c2EUcDtdsY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=w9elKr_NgHs:8c2EUcDtdsY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=w9elKr_NgHs:8c2EUcDtdsY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/w9elKr_NgHs" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-10-26T01:43:30.707+05:30</atom:updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_ma2ePdFSZeE/TMXVC2QFROI/AAAAAAAABVQ/KGiLcz7XNZQ/s72-c/sopranos.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.vikasing.com/2010/10/10-tv-series-you-dont-want-to-miss.html</feedburner:origLink></item><item><title>available memory less than 128mb!!! -1 half life 2</title><link>http://feedproxy.google.com/~r/Vikasing/~3/GRJSaxpBhKM/available-memory-less-than-128mb-1-half.html</link><category>Gaming</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Fri, 08 Jan 2010 13:08:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-6611897783730740738</guid><description>Half Life 2 has got some problem on Vista 64 bit, it keeps crashing with a pop up message:&lt;br /&gt;
&lt;blockquote&gt;&amp;nbsp;available memory less than 128mb!!! -1&lt;br /&gt;
&lt;/blockquote&gt;Solution for this is to run Half Life in Windows XP Compatibility Mode, right click on the short-cut of Half Life, click on the &lt;b&gt;Compatibility&lt;/b&gt; tab, select &lt;b&gt;Run this program in compatibility mode for:&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ma2ePdFSZeE/S0eecoOlV_I/AAAAAAAAASY/XSUBc0ny1IM/s1600-h/half-life.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_ma2ePdFSZeE/S0eecoOlV_I/AAAAAAAAASY/XSUBc0ny1IM/s400/half-life.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-6611897783730740738?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lEcbB00iFipdK1DEMP7HA7Y-KrA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lEcbB00iFipdK1DEMP7HA7Y-KrA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lEcbB00iFipdK1DEMP7HA7Y-KrA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lEcbB00iFipdK1DEMP7HA7Y-KrA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=GRJSaxpBhKM:13Hy9ev5YUg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=GRJSaxpBhKM:13Hy9ev5YUg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=GRJSaxpBhKM:13Hy9ev5YUg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=GRJSaxpBhKM:13Hy9ev5YUg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=GRJSaxpBhKM:13Hy9ev5YUg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=GRJSaxpBhKM:13Hy9ev5YUg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=GRJSaxpBhKM:13Hy9ev5YUg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=GRJSaxpBhKM:13Hy9ev5YUg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/GRJSaxpBhKM" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-01-13T01:57:22.248+05:30</atom:updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_ma2ePdFSZeE/S0eecoOlV_I/AAAAAAAAASY/XSUBc0ny1IM/s72-c/half-life.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">15</thr:total><feedburner:origLink>http://www.vikasing.com/2010/01/available-memory-less-than-128mb-1-half.html</feedburner:origLink></item><item><title>Enable GZip Compression on Glassfish v3</title><link>http://feedproxy.google.com/~r/Vikasing/~3/XKOKIDndlpY/enable-gzip-compression-on-glassfish-v3.html</link><category>glassfish</category><category>Teq</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Tue, 05 Jan 2010 12:39:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-2420546898179559534</guid><description>Login to https://localhost:4848 (admin panel). Go to the Network Config &amp;gt; Network Listener and select the listener for which you want to enable gzip. Click on the HTTP tab, see below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_ma2ePdFSZeE/S0OiXU-U2UI/AAAAAAAAASQ/RRyJguwiwx4/s1600-h/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_ma2ePdFSZeE/S0OiXU-U2UI/AAAAAAAAASQ/RRyJguwiwx4/s400/1.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Scroll down until you get the following entries:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ma2ePdFSZeE/S0OizAm1RuI/AAAAAAAAASU/YlrBRY_hHUA/s1600-h/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_ma2ePdFSZeE/S0OizAm1RuI/AAAAAAAAASU/YlrBRY_hHUA/s400/2.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;Select Compression= &lt;b&gt;on, &lt;/b&gt;Put the mime types and click on Save button.&lt;br /&gt;
Its done!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-2420546898179559534?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wKv4Wdzla1KUoppRRyYOm62Iw-M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wKv4Wdzla1KUoppRRyYOm62Iw-M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wKv4Wdzla1KUoppRRyYOm62Iw-M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wKv4Wdzla1KUoppRRyYOm62Iw-M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=XKOKIDndlpY:bXo4zgV7RxQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=XKOKIDndlpY:bXo4zgV7RxQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=XKOKIDndlpY:bXo4zgV7RxQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=XKOKIDndlpY:bXo4zgV7RxQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=XKOKIDndlpY:bXo4zgV7RxQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=XKOKIDndlpY:bXo4zgV7RxQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=XKOKIDndlpY:bXo4zgV7RxQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=XKOKIDndlpY:bXo4zgV7RxQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/XKOKIDndlpY" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-01-13T00:16:21.086+05:30</atom:updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_ma2ePdFSZeE/S0OiXU-U2UI/AAAAAAAAASQ/RRyJguwiwx4/s72-c/1.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://www.vikasing.com/2010/01/enable-gzip-compression-on-glassfish-v3.html</feedburner:origLink></item><item><title>mysql and jtpl template engine tutorial</title><link>http://feedproxy.google.com/~r/Vikasing/~3/ar1-HtUu_Rc/mysql-and-jtpl-template-engine-tutorial.html</link><category>MySQL</category><category>java</category><category>Teq</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Sun, 03 Jan 2010 08:33:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-7334179220504392033</guid><description>&lt;a href="http://jtpl.sourceforge.net/"&gt;jtpl&lt;/a&gt; is a light-weight java template engine, which is good for small size application but becomes sludgy for data intensive apps. Following example shows how to use jtpl with mysql.&lt;br /&gt;
&lt;br /&gt;
jtpl replaces everything which is put inside &lt;b&gt;{} &lt;/b&gt;and it uses html comments as entry and exit points&lt;br /&gt;
&lt;blockquote&gt;
&amp;lt; ! -- BEGIN: main -- &amp;gt;&lt;br /&gt;
{&lt;i&gt;This will be replaced by jtpl&lt;/i&gt;}&lt;br /&gt;
&lt;i&gt;{ThisToo}&lt;/i&gt;&lt;br /&gt;
&amp;lt; ! -- END: main -- &amp;gt;&lt;/blockquote&gt;
this template file should be saved with the extension .jtpl&lt;br /&gt;
In your servlet you need to create a Template object which will take template file as input parameter.&lt;br /&gt;
&lt;pre class="brush: java;"&gt;Template tpl = new Template(new File("FULL_PATH\\home.jtpl"));
&lt;/pre&gt;
&amp;nbsp;next you need to assign the value to the template parameters like:&lt;br /&gt;
&lt;pre class="brush: java;"&gt;tpl.assign("ThisToo", "Assigned Value Here !");&amp;nbsp;&lt;/pre&gt;
in the end template is parsed using &lt;br /&gt;
&lt;pre class="brush: java;"&gt;tpl.parse("main");&amp;nbsp;&lt;/pre&gt;
If you have nested template regions in a template like this:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
&amp;lt; ! -- BEGIN: main -- &amp;gt;&lt;br /&gt;
&amp;lt; ! -- BEGIN: header-- &amp;gt; &lt;br /&gt;
&lt;i&gt;{Links}&lt;/i&gt;&lt;br /&gt;
&amp;lt; ! -- BEGIN: header-- &amp;gt;&lt;br /&gt;
&amp;lt; ! -- END: main -- &amp;gt;&lt;/blockquote&gt;
Everything remains same except when you parse, you'll have to parse the inner region first, like: &lt;br /&gt;
&lt;pre class="brush: java;"&gt;tpl.parse("main.header"); &lt;/pre&gt;
then the outer (or main) region:&lt;br /&gt;
&lt;pre class="brush: java;"&gt;tpl.parse("main");&amp;nbsp;&lt;/pre&gt;
You can put as many regions you want inside a main region.&lt;br /&gt;
Using jtpl with mysql(or any other db) is simple as explained above. Here is a sample template file &lt;i&gt;home.jtpl&lt;/i&gt;:&lt;br /&gt;
&lt;pre class="brush: html;"&gt;&amp;lt;!-- BEGIN: main1 --&amp;gt;
&amp;lt;html&amp;gt;
    &amp;lt;head&amp;gt;
        &amp;lt;title&amp;gt;{PTITLE}&amp;lt;/title&amp;gt;       
    &amp;lt;/head&amp;gt;
    &amp;lt;body&amp;gt;
            &amp;lt;div&amp;gt;               
                    &amp;lt;div&amp;gt;
                       &amp;lt;a class="a" href="/anylink1"&amp;gt;{LINK1}&amp;lt;/a&amp;gt;
                       &amp;lt;a class="a" href="/anylink2"&amp;gt;{LINK2}&amp;lt;/a&amp;gt;
                       &amp;lt;a class="a" href="/anylink3"&amp;gt;{LINK3}&amp;lt;/a&amp;gt;
                    &amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;div&amp;gt;
                &amp;lt;div&amp;gt;
                    &amp;lt;div&amp;gt;
                        &amp;lt;!-- BEGIN: div --&amp;gt;
                            &amp;lt;div&amp;gt;
                                &amp;lt;a target="_blank" href ="{LINK}"&amp;gt;{TITLE}&amp;lt;/a&amp;gt;
                                &amp;lt;br&amp;gt;&amp;lt;span&amp;gt;{CONTENT}&amp;lt;/span&amp;gt;
                            &amp;lt;/div&amp;gt;
                        &amp;lt;!-- END: div --&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&amp;lt;!-- END: main1 --&amp;gt;&amp;nbsp;&lt;/pre&gt;
and here is the Servlet:&lt;br /&gt;
&lt;pre class="brush: java;"&gt;import net.sf.jtpl.Template;

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;

/**
 *
 * @author viksin
 */
public class sample extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        try {
            out.print(this.generatePage());
        } catch (Exception e) {
            e.printStackTrace(out);
        } finally {
            out.close();
        }
    }

    protected String generatePage() throws Exception {
        Template tpl = null;
        Connection conn = null;
        Statement st = null;
        ResultSet rs = null;
        String Content = "";
        TimeCalc tc = new TimeCalc();
        tpl = new Template(new File("FULL_PATH\\home.jtpl"));
        tpl.assign("PTITLE", "MySite");
        tpl.assign("LINK1", "Home");
        tpl.assign("LINK2", "News");
        tpl.assign("LINK3", "About");
        try {
            Class.forName("org.gjt.mm.mysql.Driver").newInstance();
            conn = DriverManager.getConnection("mysql_URL", "USERNAME", "PASSWORD");
            st = conn.createStatement();
            rs = st.executeQuery("select title,link,content from table");
            while (rs.next()) {
                tpl.assign("TITLE", rs.getString("title"));
                tpl.assign("CONTENT", rs.getString("content"));
                tpl.assign("LINK", rs.getString("link"));
                tpl.parse("main1.div");
            }           
            tpl.parse("main1");
        } catch (Exception ex) {
            return ex.toString();
        } finally {
            if (rs != null) {
                rs.close();
            }
            if (st != null) {
                st.close();
            }
            if (conn != null) {
                conn.close();
            }
        }
        return (tpl.out());
    }
}
&lt;/pre&gt;
jtpl is meant for small and simple applications, it does not have many features which other template engines like velocity, stringtemplate etc. have.&lt;br /&gt;
jtpl also uses the SingleThreadModel which is not recommended also it gets slower with large data.&lt;br /&gt;
Presently I am using StringTemplate which is faster and better than jtpl.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-7334179220504392033?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/56R8Pg1ezqeEtdoBBZAcwwaIJQQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/56R8Pg1ezqeEtdoBBZAcwwaIJQQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/56R8Pg1ezqeEtdoBBZAcwwaIJQQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/56R8Pg1ezqeEtdoBBZAcwwaIJQQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=ar1-HtUu_Rc:Kld1M6Akyfo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=ar1-HtUu_Rc:Kld1M6Akyfo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=ar1-HtUu_Rc:Kld1M6Akyfo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=ar1-HtUu_Rc:Kld1M6Akyfo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=ar1-HtUu_Rc:Kld1M6Akyfo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=ar1-HtUu_Rc:Kld1M6Akyfo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=ar1-HtUu_Rc:Kld1M6Akyfo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=ar1-HtUu_Rc:Kld1M6Akyfo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/ar1-HtUu_Rc" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2011-07-17T14:04:52.795+05:30</atom:updated><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.vikasing.com/2010/01/mysql-and-jtpl-template-engine-tutorial.html</feedburner:origLink></item><item><title>Bad Old Year! Happy New Year!</title><link>http://feedproxy.google.com/~r/Vikasing/~3/jbSmocj0wzc/bad-old-year-happy-new-year.html</link><category>Xeneral</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Sat, 02 Jan 2010 16:40:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-3853843708371211611</guid><description>&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;i&gt;&lt;b&gt;2009: &lt;/b&gt;One of the worst years of my life!&lt;/i&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;Here are a few facts which support above statement:&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;1. Got cheated for USB modem in March.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;2. Got chicken-pox in April.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;3. Lost money in shares in June&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;4. Father got into a major accident in Oct.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;5. Got back pain in Nov.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;6. Troubles at workplace (Whole Year!)&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;There were a few good moments too:&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;1. Got a beautiful niece (Asmi) on 7th March.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;2. Had fun with college friends in Ahemdabad and Mumbai.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;3. Watched following TV Series:&lt;br /&gt;
&lt;blockquote&gt;1) The Sopranos&lt;br /&gt;
2) Carnivale&lt;br /&gt;
3) Scrubs&lt;br /&gt;
4) Dead Like Me&lt;br /&gt;
5) 24&lt;br /&gt;
6) The Life and Times of Tim &lt;br /&gt;
7) Rome&lt;br /&gt;
8) John Adams&lt;br /&gt;
9) Avatar the last Airbender&lt;br /&gt;
10) Psych&lt;br /&gt;
11) That 70's Show&lt;br /&gt;
12) Curb Your Enthusiasm&lt;br /&gt;
13) Dexter&lt;br /&gt;
14) Heroes&lt;br /&gt;
15) Bones&lt;br /&gt;
&lt;/blockquote&gt;&lt;div style="text-align: left;"&gt;&lt;i&gt;&lt;b&gt;2010: &lt;/b&gt;Expectations&lt;/i&gt;&lt;i&gt;!&lt;/i&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;1. Complete the development of &lt;i&gt;9am.in, algowiki.com, showthe.info/about, paltan.org, index3r.com &lt;/i&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;2. Complete remaining TV series: &lt;i&gt;The Wire, OZ, Deadwood, Futurama, Meerkat Manor, Generation Kill, Mash, Six Feet Under,Twin Peaks, From the Earth to the Moon&lt;/i&gt;&lt;br /&gt;
3. Self Employment&lt;br /&gt;
4. Get a powerful server for natmac.org&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-3853843708371211611?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/W2eA7vS-DfdCq4zTbJxmxViQnHc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/W2eA7vS-DfdCq4zTbJxmxViQnHc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/W2eA7vS-DfdCq4zTbJxmxViQnHc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/W2eA7vS-DfdCq4zTbJxmxViQnHc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=jbSmocj0wzc:ls_EwWyrlHQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=jbSmocj0wzc:ls_EwWyrlHQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=jbSmocj0wzc:ls_EwWyrlHQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=jbSmocj0wzc:ls_EwWyrlHQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=jbSmocj0wzc:ls_EwWyrlHQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=jbSmocj0wzc:ls_EwWyrlHQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=jbSmocj0wzc:ls_EwWyrlHQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=jbSmocj0wzc:ls_EwWyrlHQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/jbSmocj0wzc" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2010-01-03T18:31:14.664+05:30</atom:updated><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.vikasing.com/2010/01/bad-old-year-happy-new-year.html</feedburner:origLink></item><item><title>Glassfish v3 and NetBeans 6.8</title><link>http://feedproxy.google.com/~r/Vikasing/~3/HElXmTznu7I/glassfish-v3-and-netbean-68.html</link><category>netbeans</category><category>glassfish</category><category>Teq</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Sun, 13 Dec 2009 13:57:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-2625365658674475157</guid><description>Finally they are out but after using the combo, I have realized that the best integration of both was glassfish v2.1 and netbeans 7.1.&lt;br /&gt;
&lt;br /&gt;
The new combo has got some troubles in integration I think (or I may be doing something wrong!). Whenever I try to restart the glassfish from netbeans, it stops but does not start properly, when browsing an application I get blank pages. Again I stop the server and start it from the console it works fine.&lt;br /&gt;
&lt;br /&gt;
Creating virtual server is still a nightmare as it was in Beta release of GF. &lt;br /&gt;
&lt;br /&gt;
Keep getting this exception in server log all the time:&lt;br /&gt;
&lt;blockquote&gt;SEVERE: PWC3989: An exception or error occurred in the container during the request processing&lt;br /&gt;
java.lang.ClassCastException: com.sun.grizzly.config.ContextRootInfo cannot be cast to org.apache.catalina.Context&lt;br /&gt;
at org.apache.catalina.connector.CoyoteAdapter.postParseRequest(CoyoteAdapter.java:511)&lt;br /&gt;
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:273)&lt;br /&gt;
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233)&lt;br /&gt;
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)&lt;br /&gt;
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)&lt;br /&gt;
at com.sun.grizzly.comet.CometEngine.executeServlet(CometEngine.java:473)&lt;br /&gt;
at com.sun.grizzly.comet.CometEngine.handle(CometEngine.java:341)&lt;br /&gt;
at com.sun.grizzly.comet.CometAsyncFilter.doFilter(CometAsyncFilter.java:84)&lt;br /&gt;
at com.sun.grizzly.arp.DefaultAsyncExecutor.invokeFilters(DefaultAsyncExecutor.java:161)&lt;br /&gt;
at com.sun.grizzly.arp.DefaultAsyncExecutor.interrupt(DefaultAsyncExecutor.java:137)&lt;br /&gt;
at com.sun.grizzly.arp.AsyncProcessorTask.doTask(AsyncProcessorTask.java:88)&lt;br /&gt;
at com.sun.grizzly.http.TaskBase.run(TaskBase.java:189)&lt;br /&gt;
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)&lt;br /&gt;
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)&lt;br /&gt;
at java.lang.Thread.run(Thread.java:619)&lt;br /&gt;
&lt;/blockquote&gt;&amp;nbsp;One reason may be enabling the Comet support in GF, but no exact idea.&lt;br /&gt;
&lt;br /&gt;
Don't put anything unknown inside &lt;b&gt;C:\Program Files\sges-v3\glassfish\domains\domain1\docroot&lt;/b&gt;, you'll start receiving this warning and any JSP application will stop working.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;WARNING: StandardWrapperValve[jsp]: PWC1406: Servlet.service() for servlet jsp threw exception&lt;br /&gt;
org.apache.jasper.JasperException: PWC6345: There is an error in invoking javac.&amp;nbsp; A full JDK (not just JRE) is required&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:89)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:375)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.jasper.compiler.Jsr199JavaCompiler.compile(Jsr199JavaCompiler.java:200)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:380)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.jasper.compiler.Compiler.compile(Compiler.java:449)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:620)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:483)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:373)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.sun.grizzly.comet.CometEngine.executeServlet(CometEngine.java:473)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.sun.grizzly.comet.CometEngine.handle(CometEngine.java:341)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.sun.grizzly.comet.CometAsyncFilter.doFilter(CometAsyncFilter.java:84)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.sun.grizzly.arp.DefaultAsyncExecutor.invokeFilters(DefaultAsyncExecutor.java:161)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.sun.grizzly.arp.DefaultAsyncExecutor.interrupt(DefaultAsyncExecutor.java:137)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.sun.grizzly.arp.AsyncProcessorTask.doTask(AsyncProcessorTask.java:88)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.sun.grizzly.http.TaskBase.run(TaskBase.java:189)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.lang.Thread.run(Unknown Source)&lt;br /&gt;
&lt;/blockquote&gt;&lt;i&gt;&amp;nbsp;Waiting for the fixes!!&lt;br /&gt;
&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-2625365658674475157?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DaeO_dU6joqCfWS6_mXMhRc0b98/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DaeO_dU6joqCfWS6_mXMhRc0b98/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DaeO_dU6joqCfWS6_mXMhRc0b98/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DaeO_dU6joqCfWS6_mXMhRc0b98/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=HElXmTznu7I:uYfwVzVBXiQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=HElXmTznu7I:uYfwVzVBXiQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=HElXmTznu7I:uYfwVzVBXiQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=HElXmTznu7I:uYfwVzVBXiQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=HElXmTznu7I:uYfwVzVBXiQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=HElXmTznu7I:uYfwVzVBXiQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=HElXmTznu7I:uYfwVzVBXiQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=HElXmTznu7I:uYfwVzVBXiQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/HElXmTznu7I" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2009-12-15T02:45:06.204+05:30</atom:updated><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://www.vikasing.com/2009/12/glassfish-v3-and-netbean-68.html</feedburner:origLink></item><item><title>tormac.info++</title><link>http://feedproxy.google.com/~r/Vikasing/~3/P-08T9-GUmI/tormacinfo.html</link><category>Xeneral</category><category>Teq</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Thu, 10 Dec 2009 14:04:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-8475111837848544661</guid><description>&lt;a href="http://tormac.info/"&gt;tormac.info&lt;/a&gt; is a torrent search engine which uses Google custom search service to search 250+ torrent sites.&lt;br /&gt;
Created it after getting frustrated jumping from one torrent site to another site for a video.&lt;br /&gt;
&lt;br /&gt;
&lt;form action="http://tormac.info/results.html" id="cse-search-box"&gt;&lt;div&gt;Search torrents&lt;input name="cx" type="hidden" value="001635410243446571879:aymyh3wgnqs" /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;input gtbfieldid="11" name="q" size="30" type="text" /&gt;&lt;input name="sa" type="submit" value="Search" /&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/form&gt;&lt;br /&gt;
It also displays latest feeds updated on a few torrent sites.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;News:&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Netbeans 6.8 and Glassfish v3 released today.&lt;/li&gt;
&lt;li&gt;Got a new 1.4kva UPS&lt;/li&gt;
&lt;li&gt;updated &lt;a href="http://natmac.org/"&gt;natmac.org&lt;/a&gt; home page&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-8475111837848544661?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DoC9hFWWgXA9EjYegKThhzdr8fY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DoC9hFWWgXA9EjYegKThhzdr8fY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DoC9hFWWgXA9EjYegKThhzdr8fY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DoC9hFWWgXA9EjYegKThhzdr8fY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=P-08T9-GUmI:01kJGztF3Ts:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=P-08T9-GUmI:01kJGztF3Ts:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=P-08T9-GUmI:01kJGztF3Ts:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=P-08T9-GUmI:01kJGztF3Ts:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=P-08T9-GUmI:01kJGztF3Ts:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=P-08T9-GUmI:01kJGztF3Ts:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=P-08T9-GUmI:01kJGztF3Ts:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=P-08T9-GUmI:01kJGztF3Ts:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/P-08T9-GUmI" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2009-12-11T03:38:24.955+05:30</atom:updated><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.vikasing.com/2009/12/tormacinfo.html</feedburner:origLink></item><item><title>General Problems encountered when parsing RSS or ATOM feeds</title><link>http://feedproxy.google.com/~r/Vikasing/~3/s12BKeKRBbI/general-problems-encountered-when.html</link><category>atom</category><category>9am</category><category>Teq</category><category>rss</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Wed, 18 Nov 2009 08:24:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-4845737355198160639</guid><description>RSS and ATOM are XML specifications for &lt;a href="http://en.wikipedia.org/wiki/Web_syndication"&gt;web syndication&lt;/a&gt;. &lt;a href="http://natmac.org/about/"&gt;9am&lt;/a&gt; completely depends on RSS/ATOM feeds discovered on the web, it uses &lt;a href="http://www.codeplex.com/Argotic"&gt;Argotic Syndication Framework&lt;/a&gt; .Net library for parsing the feed, it is able to do the job most of the time, but whenever it encounters an unwanted element in the feed it throws an exception, which is expected. But my question is why these unwanted elements are there at first place? Have a look at these two RSS 2.0 feeds:&lt;br /&gt;&lt;pre class="brush: xml;"&gt;&lt;br /&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;br /&gt;&amp;lt;rss version="2.0"&amp;gt;&lt;br /&gt;&amp;lt;channel&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Liftoff News&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;link&amp;gt;http://liftoff.msfc.nasa.gov/ &amp;lt;/link&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;Liftoff to Space Exploration.&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;language&amp;gt;en-us&amp;lt;/language&amp;gt;&lt;br /&gt;&amp;lt;pubDate&amp;gt;Tue, 10 Jun 2003 04:00:00 GMT&amp;lt;/pubDate&amp;gt;&lt;br /&gt;&amp;lt;lastBuildDate&amp;gt;Tue, 10 Jun 2003 09:41:01 GMT&amp;lt;/lastBuildDate&amp;gt;&lt;br /&gt;&amp;lt;docs&amp;gt;http://blogs.law.harvard.edu/tech/rss &amp;lt;/docs&amp;gt;&lt;br /&gt;&amp;lt;generator&amp;gt;Weblog Editor 2.0&amp;lt;/generator&amp;gt;&lt;br /&gt;&amp;lt;managingEditor&amp;gt;editor@example.com&amp;lt;/managingEditor&amp;gt;&lt;br /&gt;&amp;lt;webMaster&amp;gt;webmaster@example.com&amp;lt;/webMaster&amp;gt;&lt;br /&gt;&amp;lt;item&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Star City&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;link&amp;gt;http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp &amp;lt;/link&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;How do Americans get ready to work with Russians aboard the International Space Station? They take a crash course in culture, language and protocol at Russia's Star City &amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;pubDate&amp;gt;Tue, 03 Jun 2003 09:39:21 GMT&amp;lt;/pubDate&amp;gt;&lt;br /&gt;&amp;lt;guid&amp;gt;http://liftoff.msfc.nasa.gov/2003/06/03.html#item573 &amp;lt;/guid&amp;gt;&lt;br /&gt;&amp;lt;/item&amp;gt;&lt;br /&gt;&amp;lt;/channel&amp;gt;&lt;br /&gt;&amp;lt;/rss&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Listing 1&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="brush: xml;"&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;rss version="2.0"&amp;gt;&lt;br /&gt;&amp;lt;channel&amp;gt;&lt;br /&gt;&amp;lt;item&amp;gt;DDI NEWS&amp;lt;/item&amp;gt;&lt;br /&gt;&amp;lt;link&amp;gt;http://www.ddinews.com &amp;lt;/link&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;The latest news from Doordashan news - India's largest broadcaster&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;copyright&amp;gt;Copyright: (C) Doordarshan News&amp;lt;/copyright&amp;gt;&lt;br /&gt;&amp;lt;item&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Climate talks make progress, pressure on US  &amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;description&amp;gt;Environment ministers made progress on Tuesday towards a scaled-down climate deal in Copenhagen next month, with Washington facing pressure to promise deep cuts by 2020 in greenhouse gas emissions. &amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;link&amp;gt;http://www.ddinews.gov.in/Homepage/Homepage+-+Headlines/Climate+talks+make+progress.htm&amp;lt;/link&amp;gt;&lt;br /&gt;&amp;lt;pubDate&amp;gt;11/18/2009 1:53:18 PM&amp;lt;/pubDate&amp;gt;&lt;br /&gt;&amp;lt;/item&amp;gt;&lt;br /&gt;&amp;lt;/channel&amp;gt;&lt;br /&gt;&amp;lt;/rss&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Listing 2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Listing 1 shows the correct format of an RSS 2.0 feed. Listing 2 is incorrect since tag &amp;lt;item&amp;gt; is there after tag &amp;lt;channel&amp;gt; which is not the right place for &amp;lt;item&amp;gt; tag. Argotic Syndication Framework throws an exception for the Listing 2 and doesn't parse it further.&lt;br /&gt;&lt;br /&gt;This is one of the problems which I have observed along with the following:&lt;br /&gt;&lt;blockquote&gt;1. Tag &amp;lt;language&amp;gt; missing or most of the time it has value "en-us" no matter what is the language used in the feed.&lt;br /&gt;2. Tag &amp;lt;pubDate&amp;gt; is missing or having some wrong value.&lt;br /&gt;3. Mismatch between the actual format of the feed and the format declared in &amp;lt;rss version="??"&amp;gt; tag.&lt;br /&gt;4. Description is missing.&lt;br /&gt;5. Feed Title is missing.&lt;br /&gt;6. Item Title is missing ...most stupid and irritating.&lt;br /&gt;7. Incomplete/Relative url in &amp;lt;link&amp;gt; tag&lt;/blockquote&gt;These are a few problems which I have seen with the web feeds, although I am talking about only RSS 2.0 here, similar problems can be imagined with ATOM/BLOGML and other syndication formats.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-4845737355198160639?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NMRpZieVc5IixXsfVDYe59SOrWc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NMRpZieVc5IixXsfVDYe59SOrWc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NMRpZieVc5IixXsfVDYe59SOrWc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NMRpZieVc5IixXsfVDYe59SOrWc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=s12BKeKRBbI:DjWi4ail0tQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=s12BKeKRBbI:DjWi4ail0tQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=s12BKeKRBbI:DjWi4ail0tQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=s12BKeKRBbI:DjWi4ail0tQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=s12BKeKRBbI:DjWi4ail0tQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=s12BKeKRBbI:DjWi4ail0tQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=s12BKeKRBbI:DjWi4ail0tQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=s12BKeKRBbI:DjWi4ail0tQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/s12BKeKRBbI" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2009-11-18T22:43:29.449+05:30</atom:updated><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://www.vikasing.com/2009/11/general-problems-encountered-when.html</feedburner:origLink></item><item><title>PITA 5: NetBeans 6.8 Beta &amp; Glassfish v3 Problems!</title><link>http://feedproxy.google.com/~r/Vikasing/~3/irGi4ATD-8g/pita-5-netbeans-68-beta-glassfish-v3.html</link><category>PITA</category><category>netbeans</category><category>glassfish</category><category>Teq</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Sun, 15 Nov 2009 09:25:00 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-149805938731646577</guid><description>Installed NetBeans 6.8 Beta last week, firstly I had some trouble creating virtual server:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:x-small;"&gt;Cause: Unable to create a new instance of 'com.sun.faces.application.resource.ResourceHandlerImpl': java.lang.NullPointerException&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;had to use default virtual server.&lt;br /&gt;&lt;br /&gt;and now after a glassfish update last night, I am not able to build, deploy and undeploy any web app on glassfish. Keep getting this in server log:&lt;br /&gt;&lt;blockquote&gt; &lt;span style="font-size:x-small;"&gt;org.apache.catalina.LifecycleException: PWC2769: Manager has not yet been started&lt;br /&gt;        at org.apache.catalina.session.StandardManager.stop(StandardManager.java:892)&lt;br /&gt;        at org.apache.catalina.core.StandardContext.stop(StandardContext.java:5383)&lt;br /&gt;        at com.sun.enterprise.web.WebModule.stop(WebModule.java:531)&lt;br /&gt;        at org.apache.catalina.core.StandardContext.start(StandardContext.java:5211)&lt;br /&gt;        at com.sun.enterprise.web.WebModule.start(WebModule.java:500)&lt;br /&gt;        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:928)&lt;br /&gt;        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:912)&lt;br /&gt;        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:694)&lt;br /&gt;        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1932)&lt;br /&gt;        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1604)&lt;br /&gt;        at com.sun.enterprise.web.WebApplication.start(WebApplication.java:90)&lt;br /&gt;        at org.glassfish.internal.data.EngineRef.start(EngineRef.java:126)&lt;br /&gt;        at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:241)&lt;br /&gt;        at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:236)&lt;br /&gt;        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:337)&lt;br /&gt;        at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:340)&lt;br /&gt;        at com.sun.enterprise.v3.server.ApplicationLoaderService.postConstruct(ApplicationLoaderService.java:163)&lt;br /&gt;        at com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:174)&lt;br /&gt;        at com.sun.hk2.component.ConstructorWomb$1.run(ConstructorWomb.java:87)&lt;br /&gt;        at java.security.AccessController.doPrivileged(Native Method)&lt;br /&gt;        at com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:84)&lt;br /&gt;        at com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:77)&lt;br /&gt;        at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)&lt;br /&gt;        at com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)&lt;br /&gt;        at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)&lt;br /&gt;        at com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.java:236)&lt;br /&gt;        at com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup.java:128)&lt;br /&gt;        at com.sun.enterprise.module.bootstrap.Main.launch(Main.java:457)&lt;br /&gt;        at com.sun.enterprise.module.bootstrap.Main.launch(Main.java:401)&lt;br /&gt;        at org.jvnet.hk2.osgiadapter.HK2Main.start(HK2Main.java:125)&lt;br /&gt;        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:640)&lt;br /&gt;        at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)&lt;br /&gt;        at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)&lt;br /&gt;        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:915)&lt;br /&gt;        at org.jvnet.hk2.osgimain.Main.start(Main.java:140)&lt;br /&gt;        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:640)&lt;br /&gt;        at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)&lt;br /&gt;        at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)&lt;br /&gt;        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1077)&lt;br /&gt;        at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)&lt;br /&gt;        at java.lang.Thread.run(Thread.java:619)&lt;br /&gt;|#]&lt;br /&gt;org.apache.catalina.LifecycleException: java.lang.NullPointerException&lt;br /&gt;        at org.apache.catalina.core.StandardContext.start(StandardContext.java:5216)&lt;br /&gt;        at com.sun.enterprise.web.WebModule.start(WebModule.java:500)&lt;br /&gt;        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:928)&lt;br /&gt;        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:912)&lt;br /&gt;        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:694)&lt;br /&gt;        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1932)&lt;br /&gt;        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1604)&lt;br /&gt;        at com.sun.enterprise.web.WebApplication.start(WebApplication.java:90)&lt;br /&gt;        at org.glassfish.internal.data.EngineRef.start(EngineRef.java:126)&lt;br /&gt;        at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:241)&lt;br /&gt;        at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:236)&lt;br /&gt;        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:337)&lt;br /&gt;        at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:340)&lt;br /&gt;        at com.sun.enterprise.v3.server.ApplicationLoaderService.postConstruct(ApplicationLoaderService.java:163)&lt;br /&gt;        at com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:174)&lt;br /&gt;        at com.sun.hk2.component.ConstructorWomb$1.run(ConstructorWomb.java:87)&lt;br /&gt;        at java.security.AccessController.doPrivileged(Native Method)&lt;br /&gt;        at com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:84)&lt;br /&gt;        at com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:77)&lt;br /&gt;        at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)&lt;br /&gt;        at com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)&lt;br /&gt;        at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)&lt;br /&gt;        at com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.java:236)&lt;br /&gt;        at com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup.java:128)&lt;br /&gt;        at com.sun.enterprise.module.bootstrap.Main.launch(Main.java:457)&lt;br /&gt;        at com.sun.enterprise.module.bootstrap.Main.launch(Main.java:401)&lt;br /&gt;        at org.jvnet.hk2.osgiadapter.HK2Main.start(HK2Main.java:125)&lt;br /&gt;        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:640)&lt;br /&gt;        at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)&lt;br /&gt;        at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)&lt;br /&gt;        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:915)&lt;br /&gt;        at org.jvnet.hk2.osgimain.Main.start(Main.java:140)&lt;br /&gt;        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:640)&lt;br /&gt;        at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)&lt;br /&gt;        at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)&lt;br /&gt;        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1077)&lt;br /&gt;        at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)&lt;br /&gt;        at java.lang.Thread.run(Thread.java:619)&lt;br /&gt;Caused by: java.lang.NullPointerException&lt;br /&gt;        at org.glassfish.deployment.common.ClassDependencyBuilder.getAnnotatedClasses(ClassDependencyBuilder.java:57)&lt;br /&gt;        at org.glassfish.deployment.common.ClassDependencyBuilder.computeResult(ClassDependencyBuilder.java:41)&lt;br /&gt;        at org.glassfish.web.loader.ServletContainerInitializerUtil.checkAgainstInterestList(ServletContainerInitializerUtil.java:405)&lt;br /&gt;        at org.glassfish.web.loader.ServletContainerInitializerUtil.getInitializerList(ServletContainerInitializerUtil.java:313)&lt;br /&gt;        at org.apache.catalina.core.StandardContext.callServletContainerInitializers(StandardContext.java:5258)&lt;br /&gt;        at com.sun.enterprise.web.WebModule.callServletContainerInitializers(WebModule.java:551)&lt;br /&gt;        at org.apache.catalina.core.StandardContext.start(StandardContext.java:5190)&lt;br /&gt;        ... 37 more&lt;br /&gt;|#]&lt;br /&gt;java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.NullPointerException&lt;br /&gt;        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:932)&lt;br /&gt;        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:912)&lt;br /&gt;        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:694)&lt;br /&gt;        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1932)&lt;br /&gt;        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1604)&lt;br /&gt;        at com.sun.enterprise.web.WebApplication.start(WebApplication.java:90)&lt;br /&gt;        at org.glassfish.internal.data.EngineRef.start(EngineRef.java:126)&lt;br /&gt;        at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:241)&lt;br /&gt;        at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:236)&lt;br /&gt;        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:337)&lt;br /&gt;        at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:340)&lt;br /&gt;        at com.sun.enterprise.v3.server.ApplicationLoaderService.postConstruct(ApplicationLoaderService.java:163)&lt;br /&gt;        at com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:174)&lt;br /&gt;        at com.sun.hk2.component.ConstructorWomb$1.run(ConstructorWomb.java:87)&lt;br /&gt;        at java.security.AccessController.doPrivileged(Native Method)&lt;br /&gt;        at com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:84)&lt;br /&gt;        at com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:77)&lt;br /&gt;        at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)&lt;br /&gt;        at com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)&lt;br /&gt;        at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)&lt;br /&gt;        at com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.java:236)&lt;br /&gt;        at com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup.java:128)&lt;br /&gt;        at com.sun.enterprise.module.bootstrap.Main.launch(Main.java:457)&lt;br /&gt;        at com.sun.enterprise.module.bootstrap.Main.launch(Main.java:401)&lt;br /&gt;        at org.jvnet.hk2.osgiadapter.HK2Main.start(HK2Main.java:125)&lt;br /&gt;        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:640)&lt;br /&gt;        at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)&lt;br /&gt;        at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)&lt;br /&gt;        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:915)&lt;br /&gt;        at org.jvnet.hk2.osgimain.Main.start(Main.java:140)&lt;br /&gt;        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:640)&lt;br /&gt;        at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)&lt;br /&gt;        at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)&lt;br /&gt;        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1077)&lt;br /&gt;        at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)&lt;br /&gt;        at java.lang.Thread.run(Thread.java:619)&lt;br /&gt;|#]&lt;br /&gt;java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.NullPointerException&lt;br /&gt;        at com.sun.enterprise.web.WebApplication.start(WebApplication.java:118)&lt;br /&gt;        at org.glassfish.internal.data.EngineRef.start(EngineRef.java:126)&lt;br /&gt;        at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:241)&lt;br /&gt;        at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:236)&lt;br /&gt;        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:337)&lt;br /&gt;        at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:340)&lt;br /&gt;        at com.sun.enterprise.v3.server.ApplicationLoaderService.postConstruct(ApplicationLoaderService.java:163)&lt;br /&gt;        at com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:174)&lt;br /&gt;        at com.sun.hk2.component.ConstructorWomb$1.run(ConstructorWomb.java:87)&lt;br /&gt;        at java.security.AccessController.doPrivileged(Native Method)&lt;br /&gt;        at com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:84)&lt;br /&gt;        at com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:77)&lt;br /&gt;        at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)&lt;br /&gt;        at com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)&lt;br /&gt;        at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)&lt;br /&gt;        at com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.java:236)&lt;br /&gt;        at com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup.java:128)&lt;br /&gt;        at com.sun.enterprise.module.bootstrap.Main.launch(Main.java:457)&lt;br /&gt;        at com.sun.enterprise.module.bootstrap.Main.launch(Main.java:401)&lt;br /&gt;        at org.jvnet.hk2.osgiadapter.HK2Main.start(HK2Main.java:125)&lt;br /&gt;        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:640)&lt;br /&gt;        at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)&lt;br /&gt;        at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)&lt;br /&gt;        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:915)&lt;br /&gt;        at org.jvnet.hk2.osgimain.Main.start(Main.java:140)&lt;br /&gt;        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:640)&lt;br /&gt;        at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)&lt;br /&gt;        at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)&lt;br /&gt;        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1077)&lt;br /&gt;        at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)&lt;br /&gt;        at java.lang.Thread.run(Thread.java:619)&lt;br /&gt;|#]&lt;br /&gt;java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.NullPointerException&lt;br /&gt;        at com.sun.enterprise.web.WebApplication.start(WebApplication.java:118)&lt;br /&gt;        at org.glassfish.internal.data.EngineRef.start(EngineRef.java:126)&lt;br /&gt;        at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:241)&lt;br /&gt;        at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:236)&lt;br /&gt;        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:337)&lt;br /&gt;        at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:340)&lt;br /&gt;        at com.sun.enterprise.v3.server.ApplicationLoaderService.postConstruct(ApplicationLoaderService.java:163)&lt;br /&gt;        at com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:174)&lt;br /&gt;        at com.sun.hk2.component.ConstructorWomb$1.run(ConstructorWomb.java:87)&lt;br /&gt;        at java.security.AccessController.doPrivileged(Native Method)&lt;br /&gt;        at com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:84)&lt;br /&gt;        at com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:77)&lt;br /&gt;        at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)&lt;br /&gt;        at com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)&lt;br /&gt;        at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)&lt;br /&gt;        at com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.java:236)&lt;br /&gt;        at com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup.java:128)&lt;br /&gt;        at com.sun.enterprise.module.bootstrap.Main.launch(Main.java:457)&lt;br /&gt;        at com.sun.enterprise.module.bootstrap.Main.launch(Main.java:401)&lt;br /&gt;        at org.jvnet.hk2.osgiadapter.HK2Main.start(HK2Main.java:125)&lt;br /&gt;        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:640)&lt;br /&gt;        at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)&lt;br /&gt;        at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)&lt;br /&gt;        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:915)&lt;br /&gt;        at org.jvnet.hk2.osgimain.Main.start(Main.java:140)&lt;br /&gt;        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:640)&lt;br /&gt;        at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)&lt;br /&gt;        at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)&lt;br /&gt;        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1077)&lt;br /&gt;        at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)&lt;br /&gt;        at java.lang.Thread.run(Thread.java:619)&lt;br /&gt;|#]&lt;br /&gt;|#]&lt;br /&gt;|#]&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;For now I am using Tomcat and waiting for final release of glassfish v3.&lt;br /&gt;Also I keep getting following error all the time whenever I try to edit a jsp file in NB:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:x-small;"&gt;java.lang.NullPointerException&lt;br /&gt;    at org.netbeans.modules.web.core.jsploader.BaseJspEditorSupport$4.propertyChange(BaseJspEditorSupport.java:176)&lt;br /&gt;    at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:339)&lt;br /&gt;    at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:276)&lt;br /&gt;    at org.openide.text.CloneableEditorSupport.firePropertyChange(CloneableEditorSupport.java:527)&lt;br /&gt;    at org.openide.text.CloneableEditorSupport.fireDocumentChange(CloneableEditorSupport.java:2320)&lt;br /&gt;    at org.openide.text.CloneableEditorSupport.closeDocument(CloneableEditorSupport.java:2201)&lt;br /&gt;    at org.openide.text.CloneableEditorSupport.access$2500(CloneableEditorSupport.java:123)&lt;br /&gt;    at org.openide.text.CloneableEditorSupport$StrongRef.run(CloneableEditorSupport.java:2681)&lt;br /&gt;    at org.netbeans.modules.openide.util.ActiveQueue.run(ActiveQueue.java:64)&lt;br /&gt;[catch] at java.lang.Thread.run(Thread.java:619)&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt; Hope this too gets resolved in final 6.8 release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-149805938731646577?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lDt3rTYTB0cMJ1G9TMgDEs95RS8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lDt3rTYTB0cMJ1G9TMgDEs95RS8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lDt3rTYTB0cMJ1G9TMgDEs95RS8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lDt3rTYTB0cMJ1G9TMgDEs95RS8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=irGi4ATD-8g:aGqqLM1t0uA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=irGi4ATD-8g:aGqqLM1t0uA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=irGi4ATD-8g:aGqqLM1t0uA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=irGi4ATD-8g:aGqqLM1t0uA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=irGi4ATD-8g:aGqqLM1t0uA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=irGi4ATD-8g:aGqqLM1t0uA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=irGi4ATD-8g:aGqqLM1t0uA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=irGi4ATD-8g:aGqqLM1t0uA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/irGi4ATD-8g" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2009-11-15T23:04:05.536+05:30</atom:updated><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.vikasing.com/2009/11/pita-5-netbeans-68-beta-glassfish-v3.html</feedburner:origLink></item><item><title>PITA 4: MySQL Error Messages</title><link>http://feedproxy.google.com/~r/Vikasing/~3/mTNL_wgwS_U/pita-4-mysql-error-messages.html</link><category>MySQL</category><category>PITA</category><category>Teq</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Sun, 25 Oct 2009 14:32:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-5840448095977008737</guid><description>Today while connecting to my DB Server, I got a strange error message:&lt;br /&gt;
&lt;blockquote&gt;Got error 28 from storage engine&lt;br /&gt;
&lt;/blockquote&gt;Tried to check the .err file located in var/lib/mysql (Xubuntu), couldn't open the file, when checked, the file size was more than 50GB.&lt;br /&gt;
&lt;br /&gt;
This was the reason of the above error (No free space on the disk to write!). Stopped MySQL server and deleted the .err file. After starting the server I checked the file for errors and found this error repeated for millions times:&lt;br /&gt;
&lt;blockquote&gt;091026 ***** InnoDB: Error: page ***** log sequence number * *********&lt;br /&gt;
InnoDB: is in the future! Current system log sequence number 0 330424282.&lt;br /&gt;
InnoDB: Your database may be corrupt or you may have copied the InnoDB&lt;br /&gt;
InnoDB: tablespace but not the InnoDB log files. See&lt;br /&gt;
InnoDB: http://dev.mysql.com/doc/mysql/en/backing-up.html for more information.&lt;br /&gt;
&lt;/blockquote&gt;Since I copied the complete data folder from one computer to another, the log files for InnoDB got corrupted. I could not restore them.&lt;br /&gt;
&lt;br /&gt;
The only option I had to avoid any data loss or corruption was to change the Engine type to MyISAM, which doesn't look for log files and can be repaired with less effort.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-5840448095977008737?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/H8yi6wT7CQLoLxV8QdCSwreQDQ4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/H8yi6wT7CQLoLxV8QdCSwreQDQ4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/H8yi6wT7CQLoLxV8QdCSwreQDQ4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/H8yi6wT7CQLoLxV8QdCSwreQDQ4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=mTNL_wgwS_U:6k0nLjEtViI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=mTNL_wgwS_U:6k0nLjEtViI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=mTNL_wgwS_U:6k0nLjEtViI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=mTNL_wgwS_U:6k0nLjEtViI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=mTNL_wgwS_U:6k0nLjEtViI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=mTNL_wgwS_U:6k0nLjEtViI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=mTNL_wgwS_U:6k0nLjEtViI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=mTNL_wgwS_U:6k0nLjEtViI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/mTNL_wgwS_U" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2009-11-15T22:57:55.782+05:30</atom:updated><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.vikasing.com/2009/10/pita-4-mysql-error-messages.html</feedburner:origLink></item><item><title>Lucene and MySQL (Correction!)</title><link>http://feedproxy.google.com/~r/Vikasing/~3/xzH3QdOnonU/lucene-and-mysql-correction.html</link><category>MySQL</category><category>lucene</category><category>Teq</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Sat, 03 Oct 2009 18:10:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-7098356708759770897</guid><description>In my &lt;span class="post-author vcard"&gt;&lt;span class="fn"&gt;25 July 2009 post I mentioned about creating a lucene index of MySQL table, however there is glitch in the &lt;span style="font-weight: bold;"&gt;getSqlData()&lt;/span&gt; method, which can be corrected as following:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre class="brush: java;"&gt;&lt;br /&gt;public void GetSqlData() {&lt;br /&gt;        String IndexStoreDir = "F:/NewsIndex";      &lt;br /&gt;        StandardAnalyzer analyzer = new StandardAnalyzer();&lt;br /&gt;        Connection con = null;&lt;br /&gt;        Statement stmt = null;&lt;br /&gt;        ResultSet rs=null;&lt;br /&gt;        try {&lt;br /&gt;            String connUrl = "jdbc:mysql://localhost:3306/SQLDb"; &lt;br /&gt;           // put your mysql database name in place of SQLDb&lt;br /&gt;            Connection con = DriverManager.getConnection(connUrl, "root", "SQLPassword");&lt;br /&gt;           // put your mysql password in place of SQLPassword&lt;br /&gt;            stmt = con.createStatement();&lt;br /&gt;            Class.forName("com.mysql.jdbc.Driver");&lt;br /&gt;            stmt.executeQuery("select * from table");&lt;br /&gt;            IndWri = new IndexWriter(IndexStoreDir, analyzer, false, IndexWriter.MaxFieldLength.UNLIMITED);&lt;br /&gt;            int numberOfUpdates=0;&lt;br /&gt;            rs = stmt.getResultSet();&lt;br /&gt;&lt;br /&gt;            while (rs.next()) {&lt;br /&gt;                Document docu = new Document();&lt;br /&gt;                Field title= new Field("title", rs.getString("title"), Field.Store.YES, Field.Index.ANALYZED);&lt;br /&gt;                Field content= new Field("content", rs.getString("content"), Field.Store.YES, Field.Index.ANALYZED);&lt;br /&gt;                docu.add(title);&lt;br /&gt;                docu.add(content);&lt;br /&gt;                IndWri.addDocument(docu);&lt;br /&gt;            }&lt;br /&gt;            IndWri.close();&lt;br /&gt;           &lt;br /&gt;        } catch (Exception ex) {&lt;br /&gt;        }&lt;br /&gt;        finally {&lt;br /&gt;            if(rs!=null){try{rs.close();} catch(Exception ex2){}}&lt;br /&gt;            if(stmt!=null){try{stmt.close();} catch(Exception ex1){}}&lt;br /&gt;            if(con != null){try{con.close(); }catch(Exception e){}}&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;There is no need of addDoc() method. In previous case the index was getting created for (number of fields)*(number of records) number of docs because every time addDoc() method was called which created a new document for a field.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-7098356708759770897?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VAW8S9Ibb-QHBPY-Pv8fxwI3BR4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VAW8S9Ibb-QHBPY-Pv8fxwI3BR4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VAW8S9Ibb-QHBPY-Pv8fxwI3BR4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VAW8S9Ibb-QHBPY-Pv8fxwI3BR4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=xzH3QdOnonU:TeiYWU0z_hc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=xzH3QdOnonU:TeiYWU0z_hc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=xzH3QdOnonU:TeiYWU0z_hc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=xzH3QdOnonU:TeiYWU0z_hc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=xzH3QdOnonU:TeiYWU0z_hc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=xzH3QdOnonU:TeiYWU0z_hc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=xzH3QdOnonU:TeiYWU0z_hc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=xzH3QdOnonU:TeiYWU0z_hc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/xzH3QdOnonU" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2009-10-04T06:58:07.354+05:30</atom:updated><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.vikasing.com/2009/10/lucene-and-mysql-correction.html</feedburner:origLink></item><item><title>PITA 3: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure</title><link>http://feedproxy.google.com/~r/Vikasing/~3/73QuN3J8P98/pita-3-commysqljdbcexceptionsjdbc4commu.html</link><category>MySQL</category><category>PITA</category><category>Teq</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Sat, 03 Oct 2009 17:28:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-14590260487731603</guid><description>I was trying to update around 70k records in a MySQL table through a loop, and kept getting the following exception after 16k+ records:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure&lt;br /&gt;Last packet sent to the server was 0 ms ago.&lt;/blockquote&gt;&lt;br /&gt;Tried everything which I could get on the web, but nothing happened. Few suggestions which I found on the web are:&lt;br /&gt;&lt;br /&gt;1. &lt;span style="font-weight: bold;"&gt;replace localhost with 127.0.0.1 in MySQL connection string&lt;/span&gt;... In some cases this works because Windows Defender removes localhost entry from C:\Windows\system32\drivers\etc\hosts file therefore MySQL won't be able to resolve the host and throw that exception.&lt;br /&gt;&lt;br /&gt;2. &lt;span style="font-weight: bold;"&gt;modify registry to connect from TCP ports greater than 5000&lt;/span&gt;... this also didn't work for me, you can see the opened connection by typing the command netstat -b.&lt;br /&gt;Details about this are given here &lt;a href="http://support.microsoft.com/kb/196271"&gt;http://support.microsoft.com/kb/196271&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3. &lt;span style="font-weight: bold;"&gt;add wait_timeout = X in my.ini (or my.cnf on *nix env.)&lt;/span&gt;... this will help if you have problems with MySQL itself, for that check MySQL error log located in mysql Data directory. If you have any errors about connections setting wait_timeout may help, but in my case there are no errors from MySQL site.&lt;br /&gt;&lt;br /&gt;How did I resolve it??... &lt;span style="font-style: italic;"&gt;Instead of processing all the records in one execution I processed only 1000 records at a time.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;However the exact reason is still unknown.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-14590260487731603?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NY5A9mKhLIX-DNA4680Wbel11_k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NY5A9mKhLIX-DNA4680Wbel11_k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NY5A9mKhLIX-DNA4680Wbel11_k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NY5A9mKhLIX-DNA4680Wbel11_k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=73QuN3J8P98:GaWOUTX3t4s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=73QuN3J8P98:GaWOUTX3t4s:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=73QuN3J8P98:GaWOUTX3t4s:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=73QuN3J8P98:GaWOUTX3t4s:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=73QuN3J8P98:GaWOUTX3t4s:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=73QuN3J8P98:GaWOUTX3t4s:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=73QuN3J8P98:GaWOUTX3t4s:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=73QuN3J8P98:GaWOUTX3t4s:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/73QuN3J8P98" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2009-10-09T16:57:58.428+05:30</atom:updated><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.vikasing.com/2009/10/pita-3-commysqljdbcexceptionsjdbc4commu.html</feedburner:origLink></item><item><title>PITA 2: Edit my.cnf file in Ubuntu</title><link>http://feedproxy.google.com/~r/Vikasing/~3/rah21AqIKdU/pita-2-edit-mycnf-file-in-ubuntu.html</link><category>PITA</category><category>Teq</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Sun, 13 Sep 2009 15:48:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-5927172182226121396</guid><description>&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;I tried to bind the local machine's global address to allow the remote connections for mysql (5.1) in my.cnf file, it kept giving me:&lt;blockquote&gt;Error: no write permission for file "my.cnf"&lt;/blockquote&gt;tried &lt;span style="font-style: italic;"&gt;edit etc/mysql/my.cnf&lt;/span&gt; and &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-style: italic;"&gt;gedit etc/mysql/my.cnf&lt;/span&gt; also tried to change the permission of the file and the mysql folder by chmod with no success.&lt;br /&gt;&lt;br /&gt;Until I found out putting sudo is necessary before every command if the user account is not root.&lt;br /&gt;&lt;a href="http://ubuntuforums.org/showthread.php?p=7077569"&gt;http://ubuntuforums.org/showthread.php?p=7077569&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Used &lt;span style="font-style: italic;"&gt;sudo&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-size:100%;" &gt;&lt;span style="font-family:arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-style: italic;"&gt;gedit etc/mysql/my.cnf&lt;/span&gt; and it worked.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-5927172182226121396?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-AGAprFrYyILA9TIWc6SfrTKv9M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-AGAprFrYyILA9TIWc6SfrTKv9M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-AGAprFrYyILA9TIWc6SfrTKv9M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-AGAprFrYyILA9TIWc6SfrTKv9M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=rah21AqIKdU:A9IHabDlWL4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=rah21AqIKdU:A9IHabDlWL4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=rah21AqIKdU:A9IHabDlWL4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=rah21AqIKdU:A9IHabDlWL4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=rah21AqIKdU:A9IHabDlWL4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=rah21AqIKdU:A9IHabDlWL4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=rah21AqIKdU:A9IHabDlWL4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=rah21AqIKdU:A9IHabDlWL4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/rah21AqIKdU" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2009-09-14T04:29:42.127+05:30</atom:updated><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.vikasing.com/2009/09/pita-2-edit-mycnf-file-in-ubuntu.html</feedburner:origLink></item><item><title>Feed Crawler Revisit Policy</title><link>http://feedproxy.google.com/~r/Vikasing/~3/wcN3B3mqov4/feed-crawler-revisit-policy.html</link><category>Teq</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Sat, 29 Aug 2009 10:23:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-4673285942470656207</guid><description>&lt;div style="text-align: justify;"&gt;Every crawler has some revisit policy for crawling a web document. If a web site changes very frequently, the crawler will try to visit the site more than a web site which does not change so frequently, for example a crawler will be more interested in a news site than a static About Us page. This saves time for the crawler and avoids unwanted traffic for the web servers.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;A feed crawler is crawler which tries to get the data from web site feeds, which may include: rss, atom, blogml etc. A feed crawler should expect more rapid changes than a normal web crawler and also it should penalize the slow changes. I have used an exponential function to implement the revisit policy for my feed crawler. Following graphs show three different functions which can be used as a revisit policy:&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Definitions: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;nd : Number of days to wait till next visit&lt;br /&gt;x : Number of visits without a feed update (Blank Visits)&lt;br /&gt;lc : Last Change (or Update)&lt;br /&gt;nv : Next Visit&lt;br /&gt;lv : Last Visit&lt;br /&gt;s: staleness&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ma2ePdFSZeE/Spf_a2SrgVI/AAAAAAAAAOg/j-i-7qognfg/s1600-h/rev1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5375045517005521234" style="margin: 0px auto 10px; display: block; width: 400px; cursor: pointer; height: 254px; text-align: center;" alt="" src="http://4.bp.blogspot.com/_ma2ePdFSZeE/Spf_a2SrgVI/AAAAAAAAAOg/j-i-7qognfg/s400/rev1.jpg" border="0" /&gt;&lt;/a&gt;Function 1:&lt;span style="font-weight: bold;"&gt; nd = 2&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;sup style="font-weight: bold;"&gt;(x+1)&lt;/sup&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;/x&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ma2ePdFSZeE/SphhL76c0aI/AAAAAAAAAOw/Y_4OrrdVQmA/s1600-h/rev3.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5375153012955992482" style="margin: 0px auto 10px; display: block; width: 400px; cursor: pointer; height: 253px; text-align: center;" alt="" src="http://2.bp.blogspot.com/_ma2ePdFSZeE/SphhL76c0aI/AAAAAAAAAOw/Y_4OrrdVQmA/s400/rev3.jpg" border="0" /&gt;&lt;/a&gt;Function 2: &lt;span style="font-weight: bold;"&gt;nd =&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;x&lt;sup&gt;2&lt;/sup&gt;-2*x+k&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ma2ePdFSZeE/SphhLYyN9uI/AAAAAAAAAOo/oWXqUIEwVC0/s1600-h/rev2.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5375153003526223586" style="margin: 0px auto 10px; display: block; width: 400px; cursor: pointer; height: 199px; text-align: center;" alt="" src="http://1.bp.blogspot.com/_ma2ePdFSZeE/SphhLYyN9uI/AAAAAAAAAOo/oWXqUIEwVC0/s400/rev2.jpg" border="0" /&gt;&lt;/a&gt;Function 3: &lt;span style="font-weight: bold;"&gt;nd =&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; e&lt;/span&gt;&lt;sup style="font-weight: bold;"&gt;x&lt;/sup&gt;&lt;span style="font-weight: bold;"&gt;/2*x&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;The revisit algorithm works in following way (for Function 3):&lt;br /&gt;&lt;blockquote&gt;s=lv-lc;&lt;br /&gt;IF (&lt;span style="font-style: italic;"&gt;s==0&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;)&lt;br /&gt;THEN nv=&lt;span style="font-style: italic;"&gt;TOMORROW&lt;/span&gt;;&lt;br /&gt;ELSE nv=&lt;span style="font-style: italic;"&gt;TODAY + &lt;/span&gt;e&lt;sup&gt;x&lt;/sup&gt;/2*x --(any function can be used!)&lt;br /&gt;&lt;/blockquote&gt;If a feed is not updated after a certain number of visits the crawler should assume the feed as a dead feed and stop visiting that page. Also if a feed gets updated after certain time after some blank visits (say y), next visit can be calculated in following way (for Function 3):&lt;br /&gt;&lt;blockquote&gt;nv= &lt;span style="font-style: italic;"&gt;TODAY + &lt;/span&gt;e&lt;sup&gt;(y-1)&lt;/sup&gt;/2*(y-1)&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Example: &lt;/span&gt;Take Function 2:&lt;span style="font-size:100%;"&gt; x&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;-2*x+k&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt; &lt;/span&gt;&lt;span style="font-style: italic;font-size:100%;" &gt;(say k =3)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;If a feed is updated after 5 blank visits, then:&lt;/span&gt; y=5;&lt;blockquote&gt;&lt;span style="font-size:100%;"&gt;F(y-1)= (y-1)&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;sup&gt;2&lt;/sup&gt;-2*(y-1)+3&lt;/span&gt;&lt;br /&gt;= (5-1)&lt;span style="font-size:100%;"&gt;&lt;sup&gt;2&lt;/sup&gt;-2*(5-1)+3&lt;/span&gt;&lt;br /&gt;=16-8+3=11&lt;/blockquote&gt;so next visit will be after 11 days.&lt;br /&gt;&lt;br /&gt;If a feed is not updated after 5 blank visits, then: &lt;span style="font-size:100%;"&gt;k=3 &amp;amp; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;y=5;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:100%;"&gt;F(y) = (y)&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;sup&gt;2&lt;/sup&gt;-2*(y)+3 &lt;/span&gt;&lt;br /&gt;= (5)&lt;span style="font-size:100%;"&gt;&lt;sup&gt;2&lt;/sup&gt;-2*(5)+3 &lt;/span&gt;&lt;br /&gt;=25-10+3=18&lt;/blockquote&gt;now next visit will be after 18 days.&lt;br /&gt;&lt;span style="font-size:0pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-4673285942470656207?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HTt3ms6rgiev9wrrHkH3Wrz4jJg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HTt3ms6rgiev9wrrHkH3Wrz4jJg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/HTt3ms6rgiev9wrrHkH3Wrz4jJg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HTt3ms6rgiev9wrrHkH3Wrz4jJg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=wcN3B3mqov4:9kBJNRaqMnQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=wcN3B3mqov4:9kBJNRaqMnQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=wcN3B3mqov4:9kBJNRaqMnQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=wcN3B3mqov4:9kBJNRaqMnQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=wcN3B3mqov4:9kBJNRaqMnQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=wcN3B3mqov4:9kBJNRaqMnQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=wcN3B3mqov4:9kBJNRaqMnQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=wcN3B3mqov4:9kBJNRaqMnQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/wcN3B3mqov4" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2009-10-11T03:48:13.916+05:30</atom:updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_ma2ePdFSZeE/Spf_a2SrgVI/AAAAAAAAAOg/j-i-7qognfg/s72-c/rev1.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.vikasing.com/2009/07/feed-crawler-revisit-policy.html</feedburner:origLink></item><item><title>Lucene and MySQL</title><link>http://feedproxy.google.com/~r/Vikasing/~3/7IQNiTEsEV8/lucene-and-mysql.html</link><category>java</category><category>lucene</category><category>Teq</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Sat, 25 Jul 2009 10:07:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-7855060555634078018</guid><description>&lt;div style="text-align: justify;"&gt;
I read about the full text search provided by MySQL over the web and had to look for a better option for indexing my data which grows everyday. Sphinx looked a better choice but the Java api is not fully mature yet so I had to choose Lucene which takes little more time than Sphinx in displaying the search results but is far better than MySQL full text search, comparison is given &lt;a href="http://jayant7k.blogspot.com/2006/06/benchmarking-results-of-mysql-lucene.html"&gt;here&lt;/a&gt;. In some cases Lucene outperforms other two. Other advantage of Lucene is its sub-projects like: Solr, Compass, Nutch etc.&lt;br /&gt;
&lt;br /&gt;
Here is the sample code for indexing the MySQL data: (Please find the corrected code &lt;a href="http://www.vikasing.com/2009/10/lucene-and-mysql-correction.html"&gt;here&lt;/a&gt; for the method &lt;b&gt;getSqlData()&lt;/b&gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush: java;"&gt; 
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.TopDocCollector;
import java.sql.*;
import java.io.IOException;

/**
*
* @author viksin
*/
public class LuceneImp {

public void getSqlData() {
   String IndexStoreDir = "F:/LuceneIndex";
   ResultSet rs;
   StandardAnalyzer analyzer = new StandardAnalyzer();
   IndexWriter writer = null;

   try {
       String connUrl = "jdbc:mysql://localhost:3306/SQLDb"; 
        // put your mysql database name in place of SQLDb
       Connection con = DriverManager.getConnection(connUrl, "root", "SQLPassword");
       // put your mysql password in place of SQLPassword
       Statement stmt = con.createStatement();
       Class.forName("com.mysql.jdbc.Driver");
       stmt.executeQuery("select * from table");
       writer = new IndexWriter(IndexStoreDir, analyzer, true, IndexWriter.MaxFieldLength.UNLIMITED);
       rs = stmt.getResultSet();
       while (rs.next()) {
      
           addDoc(writer, "title", rs.getString("title"));
           addDoc(writer, "content", rs.getString("content"));

       }
       writer.close();
       rs.close();
       stmt.close();
   } catch (Exception ex) {
   }
}

private static void addDoc(IndexWriter w, String field, String value) throws IOException {
   Document doc = new Document();
   doc.add(new Field(field, value, Field.Store.YES, Field.Index.ANALYZED));
   w.addDocument(doc);
}
}
&lt;/pre&gt;
&lt;br /&gt;
If you want to add a new sql row to an existing index replace true with false in the following line and run the above program.&lt;br /&gt;
&lt;pre class="brush: java;"&gt; writer = new IndexWriter(IndexStoreDir, analyzer, true, IndexWriter.MaxFieldLength.UNLIMITED);&lt;/pre&gt;
&lt;br /&gt;
You can put a column in the sql table (a flag) for checking and updating the indexing status of the row. In that case the you'll have to add following lines in the above code:&lt;br /&gt;
&lt;pre class="brush: java;"&gt;
int indexStatus = 0;            
while (rs.next()) {
                indexStatus = rs.getInt("isindexed");
                if (indexStatus != 1) {
                    addDoc(writer, "title", rs.getString("title"));
                    addDoc(writer, "content", rs.getString("content"));
                    addDoc(writer, "link", rs.getString("link"));
                    addDoc(writer, "source", rs.getString("source"));
                    updateIndexStatus(rs.getString("id"));
                }&lt;/pre&gt;
&lt;br /&gt;
updateIndexStatus method will look like this:&lt;br /&gt;
&lt;pre class="brush: java;"&gt;            
    private static void updateIndexStatus(String Id) {
        try {
           String connUrl = "jdbc:mysql://localhost:3306/SQLDb"; 
           // put your mysql database name in place of SQLDb
           Connection con = DriverManager.getConnection(connUrl, "root", "SQLPassword");
           // put your mysql password in place of SQLPassword
            Statement stmt = con.createStatement();
            Class.forName("com.mysql.jdbc.Driver");
            stmt.executeQuery("update table set isindexed='1' where id="+Id+"");
            stmt.close();
        } catch (Exception ex) {
        }
    }&lt;/pre&gt;
&lt;br /&gt;
For searching your index this method can help:&lt;br /&gt;
&lt;pre class="brush: java;"&gt; private static void searchIndex() {
      StandardAnalyzer analyzer = new StandardAnalyzer();
      String qu = "Java and Linux"; // put your keyword here
      String IndexStoreDir = "F:/LuceneIndex";
      try {
          Query q = new QueryParser("title", analyzer).parse(qu);
          int hitspp = 100; //hits per page
          IndexSearcher searcher = new IndexSearcher(IndexStoreDir);
          TopDocCollector collector = new TopDocCollector(hitspp);
          searcher.search(q, collector);
          ScoreDoc[] hits = collector.topDocs().scoreDocs;
          System.out.println("Found " + hits.length + " hits.");
          for (int i = 0; i &amp;lt; hits.length; ++i) {
                int docId = hits[i].doc;
                Document d = searcher.doc(docId);
                System.out.println((i + 1) + ". " + d.get("title"));
            }
            searcher.close();
        } catch (Exception ex1) {
        }
    }&lt;/pre&gt;
&lt;br /&gt;
Or you can use &lt;a href="http://www.getopt.org/luke/"&gt;Luke&lt;/a&gt; for browsing index created by Lucene.&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-7855060555634078018?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/S2pb_EiS0CuIsTpLcVVGkC3diG8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/S2pb_EiS0CuIsTpLcVVGkC3diG8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/S2pb_EiS0CuIsTpLcVVGkC3diG8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/S2pb_EiS0CuIsTpLcVVGkC3diG8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=7IQNiTEsEV8:uIXHw7bod1A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=7IQNiTEsEV8:uIXHw7bod1A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=7IQNiTEsEV8:uIXHw7bod1A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=7IQNiTEsEV8:uIXHw7bod1A:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=7IQNiTEsEV8:uIXHw7bod1A:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=7IQNiTEsEV8:uIXHw7bod1A:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=7IQNiTEsEV8:uIXHw7bod1A:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=7IQNiTEsEV8:uIXHw7bod1A:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/7IQNiTEsEV8" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2011-07-17T14:15:13.243+05:30</atom:updated><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.vikasing.com/2009/07/lucene-and-mysql.html</feedburner:origLink></item><item><title>Phenom II X4 940 BE Temperature Analysis</title><link>http://feedproxy.google.com/~r/Vikasing/~3/Sb3lJCBvYbU/phenom-ii-x4-940-be-temperature.html</link><category>Teq</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Fri, 12 Jun 2009 14:22:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-8762031655159264827</guid><description>&lt;div style="text-align: justify;"&gt;Little Overclocking and you'll hit the Max Temperature allowed for Phenom II X4 940 BE which is 62°C.  I hit that temperature when I overclocked to 3.6 GHz with 1.4 V. Cool'n'Quiet helps in decreasing the CPU temperature by 5-6°C. My current idle temperature is 39°C-45°C with Cool'n'Quiet enabled  and full load temperature goes upto 55°C (with playing FarCry2). Here is the analysis (using Biostar TA790GX 128MB):&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ma2ePdFSZeE/SjVFkqC0rFI/AAAAAAAAALw/wsmqOBnCpFQ/s1600-h/Untitled-1.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 220px;" src="http://2.bp.blogspot.com/_ma2ePdFSZeE/SjVFkqC0rFI/AAAAAAAAALw/wsmqOBnCpFQ/s400/Untitled-1.jpg" alt="" id="BLOGGER_PHOTO_ID_5347256628636068946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Figure 1&lt;/span&gt; (Y-axis: Temperature in °C, X-axis: Time in Mins)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;Figure 1&lt;/span&gt; shows the temperature for 3 different cases:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;No Overclocking + Cool'N'Quiet enabled (Blue Line)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;OCed to 3.4GHz + Cool'N'Quiet disabled + stock voltage (Red Line)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;No Overclocking + Cool'N'Quiet disabled (Green Line)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Ran the test for one hour for each setting. The maximum temperature I hit was 55°C under full load and the lowest temperature was 39°C. My room temperature stays between 25-35°C so idle CPU temperature is not bad but its not good either. With stock CPU cooler I'll suggest to enable the cool n quiet feature. And if you want to overclock, don't exceed more than 3.4GHz, because that's the max you can go with the stock voltage. The &lt;span style="font-weight: bold;"&gt;Figure 2&lt;/span&gt; shows the % of CPU usage in three conditions I mentioned above.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ma2ePdFSZeE/SjVEFtFxJqI/AAAAAAAAALg/lTgLsYmURvE/s1600-h/Untitled-2.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 249px;" src="http://3.bp.blogspot.com/_ma2ePdFSZeE/SjVEFtFxJqI/AAAAAAAAALg/lTgLsYmURvE/s400/Untitled-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5347254997366154914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Figure 2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;When OCed the CPU usage doesn't go more than 60%, but in case of Cool N Quiet enabled the CPU usage is around 90% most of the time.&lt;br /&gt;&lt;br /&gt;Opening the case (CoolerMaster CM 690) from both the sides decreases the CPU temperature by 5°C and idle temperature hovers around 34°C-40°C (&lt;span style="font-weight: bold;"&gt;Figure 3&lt;/span&gt;). Will put more fans to improve the air flow, also will apply a new thermal paste some time soon. I am expecting an idle temperature around 30°C.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ma2ePdFSZeE/SjVmAYJDHxI/AAAAAAAAAMw/e413mgcphHo/s1600-h/OpenCase.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 149px;" src="http://4.bp.blogspot.com/_ma2ePdFSZeE/SjVmAYJDHxI/AAAAAAAAAMw/e413mgcphHo/s400/OpenCase.jpg" alt="" id="BLOGGER_PHOTO_ID_5347292289238769426" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Figure 3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Here are a few screen shots of CPUID HWMonitor, CoreTemp64, CPU-Z:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ma2ePdFSZeE/SjVoGRN21ZI/AAAAAAAAAM4/i5ZpsVjWs4Q/s1600-h/mix2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 198px;" src="http://3.bp.blogspot.com/_ma2ePdFSZeE/SjVoGRN21ZI/AAAAAAAAAM4/i5ZpsVjWs4Q/s400/mix2.jpg" alt="" id="BLOGGER_PHOTO_ID_5347294589482358162" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ma2ePdFSZeE/SjVl_kDzFzI/AAAAAAAAAMg/btntVNWyfcI/s1600-h/mix1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 235px;" src="http://1.bp.blogspot.com/_ma2ePdFSZeE/SjVl_kDzFzI/AAAAAAAAAMg/btntVNWyfcI/s400/mix1.jpg" alt="" id="BLOGGER_PHOTO_ID_5347292275258103602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ma2ePdFSZeE/SjVeI4Q5TQI/AAAAAAAAAL4/CtSnzVaJjQE/s1600-h/Phenom+940+CPU+Temp.jpg"&gt;&lt;img style="cursor: pointer; width: 338px; height: 400px;" src="http://4.bp.blogspot.com/_ma2ePdFSZeE/SjVeI4Q5TQI/AAAAAAAAAL4/CtSnzVaJjQE/s400/Phenom+940+CPU+Temp.jpg" alt="" id="BLOGGER_PHOTO_ID_5347283639207546114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-8762031655159264827?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IPudrpLn266FpywMSJwjFrtvVng/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IPudrpLn266FpywMSJwjFrtvVng/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/IPudrpLn266FpywMSJwjFrtvVng/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IPudrpLn266FpywMSJwjFrtvVng/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=Sb3lJCBvYbU:FVfC70vJl6U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=Sb3lJCBvYbU:FVfC70vJl6U:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=Sb3lJCBvYbU:FVfC70vJl6U:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=Sb3lJCBvYbU:FVfC70vJl6U:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=Sb3lJCBvYbU:FVfC70vJl6U:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=Sb3lJCBvYbU:FVfC70vJl6U:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=Sb3lJCBvYbU:FVfC70vJl6U:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=Sb3lJCBvYbU:FVfC70vJl6U:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/Sb3lJCBvYbU" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2009-06-15T02:52:05.160+05:30</atom:updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_ma2ePdFSZeE/SjVFkqC0rFI/AAAAAAAAALw/wsmqOBnCpFQ/s72-c/Untitled-1.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.vikasing.com/2009/06/phenom-ii-x4-940-be-temperature.html</feedburner:origLink></item><item><title>Overclocking Phenom II 940BE with Biostar TA790GX 128MB</title><link>http://feedproxy.google.com/~r/Vikasing/~3/2X563cNKrXM/overclocking-phenom-ii-940be-with.html</link><category>Teq</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Sun, 07 Jun 2009 09:28:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-4337852458925458972</guid><description>I tried the Automate OverClock given in the Bios but it didn’t work, kept getting the blue screens on Vista x64. Tried to get the info about manual overclock option on the Google with no luck. Therefore I explored all the options which were available in the Bios. Here is how to over clock Phenom II 940 by increasing the Multiplier: (Will show how to overclock upto 3.6Ghz)&lt;br /&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Step0:&lt;/span&gt; Disable Cool N Quiet in the Bios&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ma2ePdFSZeE/Siv3r_88hEI/AAAAAAAAAKQ/BTxdL_LL9Mc/s1600-h/Image324.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5344637718078719042" style="WIDTH: 400px; CURSOR: pointer; HEIGHT: 320px" alt="" src="http://1.bp.blogspot.com/_ma2ePdFSZeE/Siv3r_88hEI/AAAAAAAAAKQ/BTxdL_LL9Mc/s400/Image324.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Step1:&lt;/span&gt; Go to your bios T-Series tab, select Manual OverClock option&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ma2ePdFSZeE/SivvuTkAesI/AAAAAAAAAJ4/33cgHzTkFnY/s1600-h/Image318.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5344628961609546434" style="WIDTH: 400px; CURSOR: pointer; HEIGHT: 320px" alt="" src="http://3.bp.blogspot.com/_ma2ePdFSZeE/SivvuTkAesI/AAAAAAAAAJ4/33cgHzTkFnY/s400/Image318.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Step2:&lt;/span&gt; Click on the CPU FID/UID Control and Enable the Custom P-States&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ma2ePdFSZeE/SivwZnSn5TI/AAAAAAAAAKA/3ks-hSWq7Sg/s1600-h/Image319.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5344629705639716146" style="WIDTH: 400px; CURSOR: pointer; HEIGHT: 320px" alt="" src="http://3.bp.blogspot.com/_ma2ePdFSZeE/SivwZnSn5TI/AAAAAAAAAKA/3ks-hSWq7Sg/s400/Image319.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Step3:&lt;/span&gt; Select a Core FID&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ma2ePdFSZeE/SivxLgREpfI/AAAAAAAAAKI/QSDguioTTqY/s1600-h/Image320.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5344630562747622898" style="WIDTH: 400px; CURSOR: pointer; HEIGHT: 320px" alt="" src="http://4.bp.blogspot.com/_ma2ePdFSZeE/SivxLgREpfI/AAAAAAAAAKI/QSDguioTTqY/s400/Image320.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Note:&lt;/span&gt; Select a multiplier which your system can handle, higher multiplier means higher frequency hence it requires higher voltage which means higher CPU temperature. You need a very good cooling system (Cabinet!) for keeping your CPU temp low at higher frequencies.&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Step4:&lt;/span&gt; Select a suitable voltage according the frequency selected in Step3 by clicking on the Core VID on the same screen. For 3.6Ghz select a voltage 1.4000V or little high but not very high.&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Note:&lt;/span&gt; Over Clocking reduces the CPU life because of high voltage and temp. So if you want your CPU to last long (5+ years) don't go for over clocking.&lt;br /&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-4337852458925458972?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LL9EfkxUxklP686C6BTNuFmp60w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LL9EfkxUxklP686C6BTNuFmp60w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LL9EfkxUxklP686C6BTNuFmp60w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LL9EfkxUxklP686C6BTNuFmp60w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=2X563cNKrXM:GY5bj0eHm3w:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=2X563cNKrXM:GY5bj0eHm3w:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=2X563cNKrXM:GY5bj0eHm3w:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=2X563cNKrXM:GY5bj0eHm3w:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=2X563cNKrXM:GY5bj0eHm3w:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=2X563cNKrXM:GY5bj0eHm3w:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=2X563cNKrXM:GY5bj0eHm3w:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=2X563cNKrXM:GY5bj0eHm3w:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/2X563cNKrXM" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2009-06-08T17:22:13.706+05:30</atom:updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_ma2ePdFSZeE/Siv3r_88hEI/AAAAAAAAAKQ/BTxdL_LL9Mc/s72-c/Image324.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.vikasing.com/2009/06/overclocking-phenom-ii-940be-with.html</feedburner:origLink></item><item><title>Crysis Ends</title><link>http://feedproxy.google.com/~r/Vikasing/~3/lUXsEYRSOPE/crysis-ends.html</link><category>Gaming</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Sat, 23 May 2009 16:12:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-7800572725990664572</guid><description>&lt;div style="text-align: justify;"&gt;Finished playing Crysis, it was a great fun ride with a lot of action and also with a last moment crysis. Last level of Crysis has got a huge memory leak, it starts using 100% RAM and hangs. Patch 1.2 helps and running the game in DX 9 mode improves performance. This is how to set the Crysis in DirectX 9 mode: Open the Game Explorer (Vista) and right click on the Crysis icon.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ma2ePdFSZeE/ShiFFlNL1sI/AAAAAAAAAJY/rg6i40LdqXo/s1600-h/Crysis_Dx9.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_ma2ePdFSZeE/ShiFFlNL1sI/AAAAAAAAAJY/rg6i40LdqXo/s400/Crysis_Dx9.jpg" alt="" id="BLOGGER_PHOTO_ID_5339163689180976834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;The game is smaller than I expected, I was thinking in the line of FarCry but still it was fun playing Crysis. Downloading Crysis Warhead. One screenshot from last level of Crysis:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ma2ePdFSZeE/ShiGXm7lp3I/AAAAAAAAAJg/Rnno6Nv5rtk/s1600-h/Untitled.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 250px;" src="http://2.bp.blogspot.com/_ma2ePdFSZeE/ShiGXm7lp3I/AAAAAAAAAJg/Rnno6Nv5rtk/s400/Untitled.jpg" alt="" id="BLOGGER_PHOTO_ID_5339165098393315186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also finished playing NFS Undercover, it is similar to Carbon, but again its just another NFS (Let me forget the Prostreet Horror!).&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-7800572725990664572?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4pBgB-W5b54ye54U5i3DDa7tBw8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4pBgB-W5b54ye54U5i3DDa7tBw8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4pBgB-W5b54ye54U5i3DDa7tBw8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4pBgB-W5b54ye54U5i3DDa7tBw8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=lUXsEYRSOPE:RHuRjnFFl5c:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=lUXsEYRSOPE:RHuRjnFFl5c:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=lUXsEYRSOPE:RHuRjnFFl5c:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=lUXsEYRSOPE:RHuRjnFFl5c:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=lUXsEYRSOPE:RHuRjnFFl5c:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=lUXsEYRSOPE:RHuRjnFFl5c:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=lUXsEYRSOPE:RHuRjnFFl5c:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=lUXsEYRSOPE:RHuRjnFFl5c:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/lUXsEYRSOPE" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2009-05-24T05:02:14.577+05:30</atom:updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_ma2ePdFSZeE/ShiFFlNL1sI/AAAAAAAAAJY/rg6i40LdqXo/s72-c/Crysis_Dx9.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.vikasing.com/2009/05/crysis-ends.html</feedburner:origLink></item><item><title>State of Broadband in India</title><link>http://feedproxy.google.com/~r/Vikasing/~3/pM4CoDWIafI/state-of-broadband-in-india.html</link><category>Beyond Madness</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Mon, 18 May 2009 13:59:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-6187494091887541666</guid><description>&lt;div style="text-align: justify;"&gt;Today I received a surprise call from my Broadband provider, Tata Indicom. The person on the other end talked about their new &lt;strong style="font-weight: normal;"&gt;Fair Usage Policy for those who have unlimited plans. The details of this policy are given &lt;a href="http://www.tataindicombroadband.in/termsconditions.html#new11"&gt;here&lt;/a&gt;. The Indicom guy said that it was forced by the government (a lie!!). I have an unlimited 384Kbps plan, now according to&lt;/strong&gt;&lt;strong style="font-weight: normal;"&gt; this policy I can not upload+download more than 70GB (limitation!). I wonder if both speed and data transfer are restricted, why they call it an unlimited plan.&lt;/strong&gt; On asking the same question from the Indicom guy, he said that this policy enables other users to use the Internet fairly (I use it unfairly!).&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;strong style="font-weight: normal;"&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;I have around 200GB in the downloading queue and with these restrictions in the place it will take around 4 months &lt;/strong&gt;&lt;strong style="font-weight: normal;"&gt;to download &lt;/strong&gt;&lt;strong style="font-weight: normal;"&gt;(not to forget the downtime and power cuts!). I can not get rid of Tata Indicom because Airtel does not cover my area (heard they also have similar policy!), Reliance broadband is worse than Indicom, BSNL guys are deaf  and they don't really care about a thing in the world (govt employees!). Other option, USB Modems is another nightmare, never heard a good thing about them. Only BSNLs EVDO is good (based on rumours!) but again its availability and support is NIL in the Indian IT Hub.&lt;br /&gt;&lt;br /&gt;To be frank, India (&lt;/strong&gt;&lt;strong style="font-weight: normal;"&gt;a third world country&lt;/strong&gt;&lt;strong style="font-weight: normal;"&gt;!!) is still far behing in this field, we pay huge amounts to get nothing but headache in the name of broadband. Lets pray that one day after hundred years we'll get an unlimited 32 Mbps connection.&lt;br /&gt;&lt;br /&gt;Here are my speedtest results:&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.speedtest.net/result/476500193.png"&gt;&lt;img style="cursor: pointer; width: 300px; height: 135px;" src="http://www.speedtest.net/result/476500193.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And I pay 1100+ Rs. for this, which works 15 days a month and 15 hrs in a day.&lt;br /&gt;&lt;/div&gt;&lt;strong style="font-weight: normal;"&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-6187494091887541666?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pX3rWC1advooLET9YjTh9bsFWY0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pX3rWC1advooLET9YjTh9bsFWY0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pX3rWC1advooLET9YjTh9bsFWY0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pX3rWC1advooLET9YjTh9bsFWY0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=pM4CoDWIafI:wiwnirg8S1o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=pM4CoDWIafI:wiwnirg8S1o:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=pM4CoDWIafI:wiwnirg8S1o:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=pM4CoDWIafI:wiwnirg8S1o:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=pM4CoDWIafI:wiwnirg8S1o:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=pM4CoDWIafI:wiwnirg8S1o:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=pM4CoDWIafI:wiwnirg8S1o:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=pM4CoDWIafI:wiwnirg8S1o:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/pM4CoDWIafI" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2009-06-04T22:10:16.311+05:30</atom:updated><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.vikasing.com/2009/05/state-of-broadband-in-india.html</feedburner:origLink></item><item><title>Gaming Begins</title><link>http://feedproxy.google.com/~r/Vikasing/~3/40eJCjZjcjc/gaming-begins.html</link><category>Gaming</category><author>noreply@blogger.com (Vikash Singh)</author><pubDate>Sun, 17 May 2009 13:48:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-7849417896242181398.post-5044154897166805083</guid><description>&lt;div style="text-align: justify;"&gt;I bought my first PC in 2004 having configuration: 2.5 Gz P4, 128MB of RAM, 40 GB HDD, CD-R, 15'' Monitor. With 16 MB shared graphics I was left with 112MB of RAM but the worst part was its SiS chipset which is known for its bad graphics and also a 4x AGP slot (not 8x !) and with this combination gaming was just a dream. However in 2007 I did a full upgrade with 1GB RAM (Max supported!), an Nvidia FX 5 series 8x 256 MB card and a 160 GB hard drive, this enabled me to play the games which were released in 2005 or before. This was a branded PC from Compaq IL-5030 Series.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;This time I decided to assemble a PC with my configuration, which can play latest games coming out in the market as well as next two years games with a little part upgrades. So I went for this configuration:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;AMD Phenom II X4 940 BE&lt;br /&gt;
ATI 4870 1 GB DDR5&lt;br /&gt;
4GB DDR2 800 MHz (will upgrade to 8GB soon!)&lt;br /&gt;
Biostar TA 790GX 128MB Mobo with Crossfire (I can put one more Gfx Card :D)&lt;br /&gt;
500GB HDD + 320GB (Ext) + 500GB (Ext) - will add another 1.5 TB internal HDD&lt;br /&gt;
&lt;/blockquote&gt;Here are a few screenshots of NFS Undercover (with 1440x900 @ 75 Hz):&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/_ma2ePdFSZeE/ShCC39aGxHI/AAAAAAAAAJQ/vAQG4ctIMaM/s1600-h/UntitledFG.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5336909456322511986" src="http://4.bp.blogspot.com/_ma2ePdFSZeE/ShCC39aGxHI/AAAAAAAAAJQ/vAQG4ctIMaM/s400/UntitledFG.jpg" style="cursor: pointer; height: 250px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/_ma2ePdFSZeE/ShCAt6SBXOI/AAAAAAAAAJA/83EMrkb7TCk/s1600-h/Untitledo.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5336907084661349602" src="http://3.bp.blogspot.com/_ma2ePdFSZeE/ShCAt6SBXOI/AAAAAAAAAJA/83EMrkb7TCk/s400/Untitledo.jpg" style="cursor: pointer; height: 250px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/_ma2ePdFSZeE/ShCBwFwrETI/AAAAAAAAAJI/Zx0Ud9k3YXM/s1600-h/Untitled67.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5336908221614068018" src="http://2.bp.blogspot.com/_ma2ePdFSZeE/ShCBwFwrETI/AAAAAAAAAJI/Zx0Ud9k3YXM/s400/Untitled67.jpg" style="cursor: pointer; height: 250px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Click on the image to see the full resolution image. FYI currently I am playing NFS and Crysis. &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849417896242181398-5044154897166805083?l=www.vikasing.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/goTCJpvuz_E0eDJXkiB4l4ciDMs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/goTCJpvuz_E0eDJXkiB4l4ciDMs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/goTCJpvuz_E0eDJXkiB4l4ciDMs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/goTCJpvuz_E0eDJXkiB4l4ciDMs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=40eJCjZjcjc:Kyefc0OSvZA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=40eJCjZjcjc:Kyefc0OSvZA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=40eJCjZjcjc:Kyefc0OSvZA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=40eJCjZjcjc:Kyefc0OSvZA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=40eJCjZjcjc:Kyefc0OSvZA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=40eJCjZjcjc:Kyefc0OSvZA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Vikasing?a=40eJCjZjcjc:Kyefc0OSvZA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Vikasing?i=40eJCjZjcjc:Kyefc0OSvZA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Vikasing/~4/40eJCjZjcjc" height="1" width="1"/&gt;</description><atom:updated xmlns:atom="http://www.w3.org/2005/Atom">2009-05-18T03:13:26.074+05:30</atom:updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_ma2ePdFSZeE/ShCC39aGxHI/AAAAAAAAAJQ/vAQG4ctIMaM/s72-c/UntitledFG.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.vikasing.com/2009/05/gaming-begins.html</feedburner:origLink></item></channel></rss>

