<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-23809956</id><updated>2009-12-16T08:09:58.807+05:30</updated><title type='text'>teleported bits</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default?start-index=26&amp;max-results=25'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>438</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-23809956.post-802699536708149764</id><published>2009-05-13T09:52:00.002+05:30</published><updated>2009-05-13T09:53:03.486+05:30</updated><title type='text'>Moving</title><content type='html'>Hello reader, I am moving to wordpress: &lt;a href="http://amitksaha.wordpress.com"&gt;http://amitksaha.wordpress.com&lt;/a&gt;&lt;br /&gt;All my blogging continues there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23809956-802699536708149764?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/802699536708149764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/05/moving.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/802699536708149764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/802699536708149764'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/05/moving.html' title='Moving'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-5852896454943317562</id><published>2009-04-15T16:56:00.001+05:30</published><updated>2009-04-15T17:02:04.779+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Embedded Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='BookReviews'/><title type='text'>Book Review: Embedded Linux Primer</title><content type='html'>My review of &lt;a href="http://www.pearsonhighered.com/educator/academic/product/0,3110,0131679848,00.html"&gt;Embedded Linux Primer: A Practical Real-World Approach&lt;/a&gt; is now in the stands - &lt;span style="font-style: italic;"&gt;April, 2009 &lt;/span&gt;issue for &lt;a href="http://www.lfymag.com"&gt;Linux For You&lt;/a&gt;. Thanks to Linux For You and Pearson Higher Ed. for the review copy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23809956-5852896454943317562?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/5852896454943317562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/04/book-review-embedded-linux-primer.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/5852896454943317562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/5852896454943317562'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/04/book-review-embedded-linux-primer.html' title='Book Review: Embedded Linux Primer'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-4948397746723327382</id><published>2009-04-09T13:43:00.002+05:30</published><updated>2009-04-09T13:57:52.096+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Functional Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='Haskell'/><title type='text'>Quick Tip: Using the 'parsec' Haskell library</title><content type='html'>You will have to do a &lt;code&gt;sudo apt-get install libghc6-parsec-dev &lt;/code&gt; and &lt;code&gt;sudo apt-get install libghc6-parsec-doc &lt;/code&gt; on Ubuntu/Debian systems if you are going to use the &lt;code&gt;parsec&lt;/code&gt; library with &lt;code&gt;ghc&lt;/code&gt; installed via &lt;code&gt;apt-get&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Once you have installed both, you should be able to use the library in your Haskell code and also view the library documentation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23809956-4948397746723327382?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/4948397746723327382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/04/quick-tip-using-parsec-haskell-library.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/4948397746723327382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/4948397746723327382'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/04/quick-tip-using-parsec-haskell-library.html' title='Quick Tip: Using the &apos;parsec&apos; Haskell library'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-3268958052583511323</id><published>2009-03-31T10:00:00.002+05:30</published><updated>2009-03-31T10:20:41.726+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='AI'/><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><category scheme='http://www.blogger.com/atom/ns#' term='Lisp'/><title type='text'>Logo, Lisp and Me</title><content type='html'>By the time I moved to a new school (&lt;span style="font-style: italic;"&gt;Don Bosco School, Siliguri&lt;/span&gt;) in Grade 5, they had stopped teaching LOGO. So, my journey with computers in any form started with GW BASIC. So, I had no idea about what LOGO was except that it was fun. I did not have a computer so early and by the time I got it, I was too old (!!) for learning LOGO.&lt;br /&gt;&lt;br /&gt;Some things have changed now, however. After 14 years have passed, I don't think that I am too old, any more! My 10 year old sister is learning LOGO in her 4th grade (&lt;span style="font-style: italic;"&gt;Saint Joseph's School, Matigara&lt;/span&gt;) and I want to teach her to program LOGO on the computer. So I began my LOGO learning journey..&lt;br /&gt;&lt;br /&gt;The&lt;a href="http://el.media.mit.edu/Logo-foundation/logo/programming.html"&gt; first&lt;/a&gt; &lt;a href="http://blog.ianbicking.org/2007/10/19/logo/"&gt;things&lt;/a&gt; I &lt;a href="http://el.media.mit.edu/Logo-foundation/pubs/logoupdate/V1N1.html#elephant"&gt;saw&lt;/a&gt; startled me:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Its a dialect of Lisp&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Seymour_Papert"&gt;Seymour Papert&lt;/a&gt; was one of the developers&lt;/li&gt;&lt;/ul&gt;To top it all:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;dl&gt;&lt;dl&gt;&lt;dt&gt;&lt;cite&gt;"Logo is the name for a philosophy of education and                    a continually evolving family of programming languages that                    aid in its realization."&lt;/cite&gt;&lt;/dt&gt;&lt;dd&gt; - Harold Abelson&lt;br /&gt;                    &lt;i&gt;Apple Logo,&lt;/i&gt; 1982&lt;/dd&gt;&lt;/dl&gt;&lt;/dl&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Never lose the child like wonder&lt;/span&gt;- said &lt;a href="http://en.wikipedia.org/wiki/Randy_Pausch"&gt;Randy Pausch&lt;/a&gt; in his &lt;a href="http://www.thelastlecture.com/"&gt;last lecture&lt;/a&gt;. Well, I am 24 and I hope computers will continue startling me for many years to come!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23809956-3268958052583511323?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/3268958052583511323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/03/logo-lisp-and-me.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/3268958052583511323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/3268958052583511323'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/03/logo-lisp-and-me.html' title='Logo, Lisp and Me'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-8131356550596755796</id><published>2009-03-29T08:24:00.003+05:30</published><updated>2009-03-29T08:41:44.866+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScienceFiction'/><category scheme='http://www.blogger.com/atom/ns#' term='BookReviews'/><title type='text'>Book Review: The Last Theorem</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_XRq5NM_5XLA/Sc7l2viYa9I/AAAAAAAAA2o/QB5pF0YfwP8/s1600-h/la2.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 225px;" src="http://3.bp.blogspot.com/_XRq5NM_5XLA/Sc7l2viYa9I/AAAAAAAAA2o/QB5pF0YfwP8/s400/la2.jpg" alt="" id="BLOGGER_PHOTO_ID_5318440938607504338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I finished reading &lt;a href="http://www.amazon.com/s?search-alias=stripbooks&amp;amp;field-isbn=0345470214"&gt;&lt;span style="font-style: italic;"&gt;The Last Theorem&lt;/span&gt;&lt;/a&gt;, Arthur C. Clarke and Frederik Pohl. Its a story of Ranjit Subramanium and his life after he finds a proof to &lt;a href="http://en.wikipedia.org/wiki/Fermat%27s_Last_Theorem"&gt;Fermat's Last Theorem&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There is also a parallel storyline in the book which involves characters from other parts of the universe- Grand Galactics, One point fives and machine-stored creatures. The two storylines have common strings attached at various points and finally converges in the end with both Ranjit and Myra (his beloved wife) ending up as &lt;span style="font-style: italic;"&gt;machine-stored&lt;/span&gt; long after their deaths.&lt;br /&gt;&lt;br /&gt;My main motivation in reading this book was its fictional relationship to the theorem. Considering that, I am a tad disappointed as it doesn't really justify my choice as it has a somewhat cursory in its treatment of the theorem.&lt;br /&gt;&lt;br /&gt;However,  taking that out of the equation, this book is a enjoyable read as it takes you on a voyage in a &lt;a href="http://en.wikipedia.org/wiki/Solar_sail"&gt;solar sail&lt;/a&gt; and more. To the math lover's delight there are references to &lt;a href="http://en.wikipedia.org/wiki/Sophie_Germain"&gt;Sophie Germain&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Ada_Lovelace"&gt;Lady Ada Lovelace&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;For a detailed review of the book, please visit &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.sfsite.com/03b/la292.htm"&gt;http://www.sfsite.com/03b/la292.htm &lt;/a&gt;&lt;br /&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;img src="http://www.blogger.com/img/blank.gif" alt="Link" class="gl_link" border="0" /&gt;&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/23809956-8131356550596755796?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/8131356550596755796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/03/book-review-last-theorem.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/8131356550596755796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/8131356550596755796'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/03/book-review-last-theorem.html' title='Book Review: The Last Theorem'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_XRq5NM_5XLA/Sc7l2viYa9I/AAAAAAAAA2o/QB5pF0YfwP8/s72-c/la2.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-4754110988790939187</id><published>2009-03-28T23:07:00.006+05:30</published><updated>2009-03-28T23:26:32.191+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='CS'/><title type='text'>CS17 at Brown University: A great CS foundation course</title><content type='html'>I just finished going through bulk of the lecture notes published as part of the &lt;a href="http://www.cs.brown.edu/courses/csci0170/home.xml"&gt;CS17 course&lt;/a&gt; of &lt;span style="font-weight: bold;"&gt;Brown University&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The course begins by introducing &lt;span style="font-weight: bold;"&gt;functional programming&lt;/span&gt; via Scheme and moves on to OCaml in later stages. By introducing the two languages, the students get a flavor of a static and a dynamically typed language. An important point inferred is:  &lt;span style="font-style: italic;"&gt;static typing is not simply about prefixing the data type of the data during its declaration&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Just as a basic foundation course should, the course also introduces algorithmic analysis, &lt;span style="font-style: italic;"&gt;Abstract Data Types&lt;/span&gt; or &lt;span style="font-weight: bold;"&gt;ADTs&lt;/span&gt;- the reason for calling them abstract is very well clarified with illustrations.&lt;br /&gt;&lt;br /&gt;There are really great lecture notes in there and they are enjoyable too. If you are a CS student work the &lt;a href="http://www.cs.brown.edu/courses/csci0170/assignments.xml"&gt;assignments&lt;/a&gt; out. If you are no more a student  with at least a faint interest in good CS and if you haven't taken a look at this course, please do.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;I would also be interested in knowing some more such delightful courses.&lt;/span&gt; If you know one, please let me know in a comment. (I am aware of SICP, and currently have planned a schedule for working through them)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23809956-4754110988790939187?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/4754110988790939187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/03/cs17-at-brown-university-great-cs.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/4754110988790939187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/4754110988790939187'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/03/cs17-at-brown-university-great-cs.html' title='CS17 at Brown University: A great CS foundation course'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-3891865434967269903</id><published>2009-03-27T22:05:00.006+05:30</published><updated>2009-03-27T22:28:57.295+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='AI'/><category scheme='http://www.blogger.com/atom/ns#' term='SoM'/><category scheme='http://www.blogger.com/atom/ns#' term='Research'/><title type='text'>SoM: Amnesia of Infancy</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.medicirc.org/images/infancy_off.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 172px; height: 186px;" src="http://www.medicirc.org/images/infancy_off.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Image Source: &lt;a href="http://www.medicirc.org/images/infancy_off.gif"&gt;http://www.medicirc.org/images/infancy_off.gif&lt;/a&gt; )&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://web.media.mit.edu/%7Eminsky/"&gt;Marvin Minsky&lt;/a&gt; in in the prologue of his book- &lt;a href="http://www.amazon.com/Society-Mind-Marvin-Minsky/dp/0671657135"&gt;The Society of Mind&lt;/a&gt;, describes &lt;span style="font-style: italic;"&gt;common sense&lt;/span&gt; as an &lt;span style="font-style: italic; font-weight: bold;"&gt;amnesia of infancy&lt;/span&gt;,  which makes human beings forget the way they learned to do simple things such as putting blocks together to form a tower.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Its insanely hard to tell more than a &lt;span style="font-style: italic;"&gt;I don't know&lt;/span&gt;, when confronted with the &lt;span style="font-weight: bold;"&gt;How &lt;/span&gt;of knowing certain things:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Q: How do you know that if you fall, you get hurt&lt;/span&gt;?&lt;br /&gt;&lt;span style="font-style: italic;"&gt;A: I fell for the first ever time in my life and I got hurt, so I know that&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Q. &lt;span style="font-style: italic;"&gt;How do you &lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;know&lt;/span&gt;&lt;span style="font-style: italic;"&gt; that? &lt;/span&gt;&lt;br /&gt;A. I learnt it the first time&lt;br /&gt;&lt;br /&gt;Q. &lt;span style="font-style: italic;"&gt;How did you learn and how did you remember?&lt;/span&gt;&lt;br /&gt;A. I don't know much except that I, like most sane living beings, including animals have something called a brain which tells me these amazing things, which I now would classify under &lt;span style="font-style: italic;"&gt;common sense&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Not perhaps the best example to prove my point. But, the idea is that most things that we know today, as adult human beings converges to a point, where all seems to be&lt;span style="font-style: italic;"&gt; common sense&lt;/span&gt;, the origin of which we don't know.&lt;br /&gt;&lt;br /&gt;Perhaps, that is &lt;span style="font-weight: bold;"&gt;amnesia of infancy&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23809956-3891865434967269903?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/3891865434967269903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/03/som-amnesia-of-infancy.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/3891865434967269903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/3891865434967269903'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/03/som-amnesia-of-infancy.html' title='SoM: Amnesia of Infancy'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-1504573881360291047</id><published>2009-03-22T17:14:00.002+05:30</published><updated>2009-03-22T17:17:12.556+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Science'/><category scheme='http://www.blogger.com/atom/ns#' term='Mathematics'/><title type='text'>The Music of Primes</title><content type='html'>You really don't have to be a (wannabe) Mathematician to love &lt;span style="font-weight: bold;"&gt;prime numbers&lt;/span&gt;. Just browse through &lt;a href="http://www.musicoftheprimes.com/"&gt;http://www.musicoftheprimes.com/&lt;/a&gt; and you will have spent a very enlightening 45-60 minutes of your time.&lt;br /&gt;&lt;br /&gt;Also, you might try to get hold of the book: &lt;a href="http://books.google.com/books?id=3wtJP1qmnUcC"&gt;http://books.google.com/books?id=3wtJP1qmnUcC&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23809956-1504573881360291047?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/1504573881360291047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/03/music-of-primes.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/1504573881360291047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/1504573881360291047'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/03/music-of-primes.html' title='The Music of Primes'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-6156529616264370416</id><published>2009-03-16T19:29:00.001+05:30</published><updated>2009-03-16T19:29:05.371+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='AI'/><category scheme='http://www.blogger.com/atom/ns#' term='Science'/><title type='text'>Learning Machines</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I just finished reading &lt;i&gt;&lt;b&gt;&lt;a href='http://loebner.net/Prizef/TuringArticle.html' target='_blank'&gt;Computing Machinery and Intelligence&lt;/a&gt;&lt;/b&gt;&lt;/i&gt;, the oft-cited seminal work of &lt;a href='http://en.wikipedia.org/wiki/Alan_Turing' target='_blank'&gt;Alan Turing&lt;/a&gt;. &lt;br/&gt;&lt;br/&gt;The paper is the basis of the &lt;a href='http://en.wikipedia.org/wiki/Turing_test' target='_blank'&gt;Turing Test&lt;/a&gt; that is a proposal for testing a machine's ability to think and hence demonstrate  Intelligence, at par with Intelligent human beings. &lt;br/&gt;&lt;br/&gt;Among the various issues discussed in the paper, (bulk of which I comprehended only slightly), section on &lt;i&gt;Learning Machines&lt;/i&gt; interested me a lot. During a year's work (a year ago;now in coma) on &lt;b&gt;&lt;i&gt;Commonsense Reasoning&lt;/i&gt;&lt;/b&gt;, along with my supervisor, we were trying to devise or at least think of solutions to endow programs with simple commonsensical facts and figures- stuffs that "we, humans just seem to know", but the all conquering machines seem so dumb when confronted with them. The interesting point that is mentioned in the work is:   &lt;br/&gt;&lt;br/&gt;Instead of trying to make machines think or know like adult humans, we should rather think of making them think like small children, at birth and subject them to a learning process- filled with punishments and rewards, so that they learn during their life- so that they grow. They have a lifetime. In my words, I would call it as making machines aware of their immediate sourroundings, so that they learn, and gather exprience, as humans do.&lt;br/&gt;&lt;br/&gt;On greater motivation and understanding, I might try my hand at &lt;a href='http://en.wikipedia.org/w/index.php?title=Computing_Machinery_and_Intelligence&amp;amp;action=edit' target='_blank'&gt;giving back&lt;/a&gt; a bit to Wikipedia&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=23c8171e-b899-48bb-922f-b4274324c141' class='zemanta-pixie-img'/&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/23809956-6156529616264370416?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/6156529616264370416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/03/learning-machines.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/6156529616264370416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/6156529616264370416'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/03/learning-machines.html' title='Learning Machines'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-2213343666046991711</id><published>2009-03-12T08:32:00.002+05:30</published><updated>2009-03-12T08:36:23.221+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rant'/><title type='text'>Magical 6 Figure</title><content type='html'>Howdy Readers! My blog hit the &lt;span style="font-weight: bold;"&gt;100000 &lt;/span&gt;mark sometime today morning! Yay! I am also closing in on 500 posts.&lt;br /&gt;&lt;br /&gt;Its been a great &lt;span style="font-weight: bold;"&gt;3 years&lt;/span&gt; of blogging!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23809956-2213343666046991711?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/2213343666046991711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/03/magical-6-figure.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/2213343666046991711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/2213343666046991711'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/03/magical-6-figure.html' title='Magical 6 Figure'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-5427223209622714796</id><published>2009-03-10T14:45:00.002+05:30</published><updated>2009-03-10T14:46:57.384+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vim'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Quick Tip: Setting up LaTex editing with 'gvim'</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;A year back, when I was using &lt;a href="http://www.latex-project.org/" target="_blank"&gt;LaTeX&lt;/a&gt; for preparing my high-quality (at least visually!) technical reports, I used &lt;a href="http://kile.sourceforge.net/" target="_blank"&gt;Kile&lt;/a&gt;. I liked it and was very happy with it.&lt;br /&gt;&lt;br /&gt;I need to edit a .tex file again. However, instead of using Kile (which is a KDE program) on my XFCE destop, I decided to set up VIM for LaTex environment.&lt;br /&gt;&lt;br /&gt;Turned out to be really simple:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Install the &lt;i&gt;base&lt;/i&gt; latex compilers,etc. On Ubuntu, use &lt;code&gt;sudo apt-get texlive-latex-base&lt;/code&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Configure the Latex suite by following the excellent instructions &lt;a href="http://vim-latex.sourceforge.net/documentation/latex-suite-quickstart.html" target="_blank"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;And, you should be ready to go.&lt;img src="http://img.zemanta.com/pixy.gif?x-id=3c5fad20-020f-418e-a21b-320c1acc6c94" class="zemanta-pixie-img" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23809956-5427223209622714796?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/5427223209622714796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/03/quick-tip-setting-up-latex-editing-with.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/5427223209622714796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/5427223209622714796'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/03/quick-tip-setting-up-latex-editing-with.html' title='Quick Tip: Setting up LaTex editing with &amp;#39;gvim&amp;#39;'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-4902206074376211977</id><published>2009-03-07T10:16:00.005+05:30</published><updated>2009-03-07T10:37:37.779+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ScienceFiction'/><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><category scheme='http://www.blogger.com/atom/ns#' term='BookReviews'/><title type='text'>Book Review: The Hammer of God</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.amazon.com/Hammer-God-Arthur-C-Clarke/dp/055356871X"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 240px; height: 240px;" src="http://4.bp.blogspot.com/_XRq5NM_5XLA/SbIAaiVpHhI/AAAAAAAAA2g/oz9OYyfZE_s/s400/hog.jpg" alt="" id="BLOGGER_PHOTO_ID_5310307366517415442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I finished reading  my first Science Fiction work ever (Never too  late :-))- &lt;a href="http://www.amazon.com/Hammer-God-Arthur-C-Clarke/dp/055356871X"&gt;&lt;span style="font-weight: bold;"&gt;The Hammer of God&lt;/span&gt;&lt;/a&gt;, Arthur C. Clarke.&lt;br /&gt;&lt;br /&gt;Why did I choose this book, since frankly I &lt;span style="font-style: italic;"&gt;had&lt;/span&gt; hardly any idea about what I was buying?&lt;br /&gt;Well, I wanted to start reading Science Fiction (Why? Read the second point in &lt;span style="font-weight: bold;"&gt;Points for Style&lt;/span&gt; in &lt;a href="http://www.catb.org/%7Eesr/faqs/hacker-howto.html"&gt;&lt;span style="font-style: italic;"&gt;How to Become a Hacker&lt;/span&gt;&lt;/a&gt;) and I had an upcoming 4-5 hour road trip coming up.&lt;br /&gt;&lt;br /&gt;I was browsing through the books in the Science Fiction section and was reading the summary when the name of the asteroid- &lt;span style="font-style: italic;"&gt;kali &lt;/span&gt;struck me. I mean, &lt;a href="http://en.wikipedia.org/wiki/Kali"&gt;&lt;span style="font-weight: bold;"&gt;Kali&lt;/span&gt;&lt;/a&gt;? The Goddess of destruction, and being an Indian and a Bengali, I found it weirdly amazing. So I happily picked the book up, was excited to buy my first Science Fiction work ever and already had in mind the text I would write on the first page of the book.&lt;br /&gt;&lt;br /&gt;It was an amazing read, taking &lt;a href="http://twitter.com/amitsaha/status/1261504738"&gt;exactly a week&lt;/a&gt; to finish and savour. How do I feel after reading my first Science Fiction? &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Give me more&lt;/span&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23809956-4902206074376211977?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/4902206074376211977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/03/hammer-of-god.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/4902206074376211977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/4902206074376211977'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/03/hammer-of-god.html' title='Book Review: The Hammer of God'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_XRq5NM_5XLA/SbIAaiVpHhI/AAAAAAAAA2g/oz9OYyfZE_s/s72-c/hog.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-7871789904005049406</id><published>2009-03-04T22:40:00.005+05:30</published><updated>2009-03-05T10:55:11.259+05:30</updated><title type='text'>DTrace on Linux</title><content type='html'>Linux port of DTrace has been moving for some time now.&lt;br /&gt;&lt;br /&gt;I just tried the latest bits from &lt;a href="ftp://crisp.dynalias.com/pub/release/website/dtrace"&gt;ftp://crisp.dynalias.com/pub/release/website/dtrace&lt;/a&gt; and the initial impression is we got really cool stuff (in the making here).&lt;br /&gt;&lt;br /&gt;Besides, GCC, Kernel headers, you will need the following stuffs to compile and load the DTrace kernel module:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;libelf-dev: Working with 'elf' files&lt;/li&gt;&lt;li&gt;zlib libraries: working with the zlib files&lt;/li&gt;&lt;li&gt;bison, flex&lt;/li&gt;&lt;/ul&gt;Once you have got them, extract the sources and do:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;make all&lt;/li&gt;&lt;li&gt;sudo make install&lt;/li&gt;&lt;li&gt;sudo make load&lt;/li&gt;&lt;/ol&gt;If you do not see any error message, then the DTrace kernel module 'dtracedrv' has been correctly insrted.&lt;code&gt;dtrace -l &lt;/code&gt; should display a long list of the currently available probes.&lt;br /&gt;&lt;br /&gt;Let's try a simple DTrace one-liner.&lt;br /&gt;&lt;br /&gt;This DTrace one-liner &lt;code&gt;dtrace -n 'syscall:::entry { @num[probefunc] = count(); }&lt;/code&gt; will display the number of times a system call is invoked during the time its running. Press a &lt;code&gt; C-c&lt;/code&gt; after sometime and you should see something like this:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;amit@kubuntu904:~$ dtrace -n 'syscall:::entry { @num[probefunc] = count(); }'&lt;br /&gt;dtrace: description 'syscall:::entry ' matched 329 probes&lt;br /&gt;dtrace: buffer size lowered to 512k&lt;br /&gt;dtrace: aggregation size lowered to 256k&lt;br /&gt;^C&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;kill                                                              1&lt;br /&gt;rt_sigpending                                                     1&lt;br /&gt;readlink                                                          2&lt;br /&gt;sigprocmask                                                       2&lt;br /&gt;brk                                                               3&lt;br /&gt;uname                                                             3&lt;br /&gt;lstat64                                                           5&lt;br /&gt;fcntl64                                                           7&lt;br /&gt;sigreturn                                                         7&lt;br /&gt;close                                                            11&lt;br /&gt;open                                                             11&lt;br /&gt;socketcall                                                       11&lt;br /&gt;_llseek                                                          14&lt;br /&gt;munmap                                                           15&lt;br /&gt;rt_sigaction                                                     16&lt;br /&gt;mmap2                                                            19&lt;br /&gt;access                                                           27&lt;br /&gt;rt_sigprocmask                                                   30&lt;br /&gt;stat64                                                           54&lt;br /&gt;fstat64                                                          69&lt;br /&gt;setitimer                                                       230&lt;br /&gt;writev                                                          397&lt;br /&gt;time                                                            482&lt;br /&gt;_newselect                                                      545&lt;br /&gt;write                                                           709&lt;br /&gt;futex                                                           727&lt;br /&gt;ioctl                                                           754&lt;br /&gt;poll                                                           1583&lt;br /&gt;gettimeofday                                                   2212&lt;br /&gt;read                                                           4878&lt;br /&gt;clock_gettime                                                  5462&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;That's all for now. I just wanted to post my initial excitement :-)&lt;br /&gt;&lt;br /&gt;Some points:&lt;br /&gt;&lt;ol&gt;&lt;li&gt; If your OS seems to hang after the DTrace command, and even a C-c/ C-d/ C-z won't help, then its possibly an issue with the terminal you are using. I had issues with gnome-terminal, xterm and ETerm. However, it works perfectly on KDE's konsole&lt;br /&gt;&lt;/li&gt;&lt;li&gt; If you are using Debian 5, you will possibly need to recompile your kernel for the zlib symbols in the kernel&lt;br /&gt;&lt;/li&gt;&lt;li&gt; If you are familiar with DTrace on Solaris, you must have noticed that I could use DTrace as non-root user, this is different from the way it works on Solaris. I shall try to explore more on this.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23809956-7871789904005049406?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/7871789904005049406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/03/dtrace-on-linux.html#comment-form' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/7871789904005049406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/7871789904005049406'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/03/dtrace-on-linux.html' title='DTrace on Linux'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-1723777167345031943</id><published>2009-03-02T22:43:00.001+05:30</published><updated>2009-03-02T22:43:23.513+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Netbeans'/><title type='text'>NetBeans Community Docs: 300!</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Hey all!&lt;br/&gt;&lt;br/&gt;We at the &lt;b&gt;NetBeans Community Docs&lt;/b&gt; have reached 300 documents! Wow! Exactly, 2 years back the program was &lt;a href='http://blogs.sun.com/branajam/entry/nb_community_docs_300_contributions' target='_blank'&gt;started &lt;/a&gt;by &lt;i&gt;James Branam&lt;/i&gt;!&lt;br/&gt;&lt;br/&gt;Congratulations to all involved in the program! &lt;b&gt;Thank You&lt;/b&gt; James for starting the program which have helped many a soul to do their bit for a great Open Source project. &lt;br/&gt;&lt;br/&gt;&lt;b&gt;A very big Thank You :-)&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=215b5558-7544-4e02-8f52-7fe46cf1f141' class='zemanta-pixie-img'/&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/23809956-1723777167345031943?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/1723777167345031943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/03/netbeans-community-docs-300.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/1723777167345031943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/1723777167345031943'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/03/netbeans-community-docs-300.html' title='NetBeans Community Docs: 300!'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-8058939047841902446</id><published>2009-02-25T08:49:00.001+05:30</published><updated>2009-02-25T08:49:34.932+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Utilities'/><title type='text'>Quick Tip: 'Download' YouTube (or like) Videos, Linux only</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;You watch videos on YouTube, Google videos, and all those FLV powered video sharing portals. You want to download it and save it for your later pleasure. Ofcourse, lots of desktop and online portals are available. Well, if you are on Linux (atleast; don't know about other Unix), you need none.&lt;br/&gt;&lt;br/&gt;The video that you are currently viewing is on your Linux in a file: &lt;b&gt;/tmp/FlashFOO&lt;/b&gt; (the FOO can be any random string. After the video is completely buffered, you just have to copy the file to your local disk for persistent storage. That is it. &lt;br/&gt;&lt;br/&gt;You can watch as many you want and copy them too. Each of the &lt;b&gt;Flash*&lt;/b&gt; files have a unique random character string.&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=cc692a2e-dd52-422d-a5a4-335e971de4fa' class='zemanta-pixie-img'/&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/23809956-8058939047841902446?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/8058939047841902446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/02/quick-tip-youtube-or-like-videos-linux.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/8058939047841902446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/8058939047841902446'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/02/quick-tip-youtube-or-like-videos-linux.html' title='Quick Tip: &amp;#39;Download&amp;#39; YouTube (or like) Videos, Linux only'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-5678602756594921583</id><published>2009-02-21T18:12:00.004+05:30</published><updated>2009-07-11T11:31:46.930+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Kernel'/><title type='text'>Linux Kernel 2.6 compilation Guide, User Mode Linux (UML), Ext4 support</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:sans-serif;"&gt;When I wrote &lt;a target="_blank" href="http://www.geocities.com/amit_saha_works/linux/html/kernel_compile.html"&gt;this guide&lt;/a&gt; 3 years ago, it was my first ever attempt at writing articles which I had yearned to start. I had to get bluetooth support on my Linux 2.4 kernel and the easier and better way out was to upgrade to a 2.6 series kernel. Hence the guide. Its still good. Let me know, if otherwise.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:sans-serif;"&gt;Today, I wanted to play around with the &lt;i&gt;&lt;a target="_blank" href="http://ext4.wiki.kernel.org/index.php/Main_Page"&gt;Ext4&lt;/a&gt; &lt;/i&gt;filesystem and &lt;a target="_blank" href="http://user-mode-linux.sourceforge.net/"&gt;&lt;i&gt;User Mode Linux&lt;/i&gt;&lt;/a&gt;. Hence I am recompiling a vanilla 2.6.28 kernel, the first time after I had written that article. I am reproducing it here with some modifications and the theme as &lt;b&gt;compilation&lt;/b&gt; of a vanilla kernel, rather than the &lt;b&gt;upgradation&lt;/b&gt; and spelling corrections specific to&lt;i&gt; User Mode Linux&lt;/i&gt; (UML)  and &lt;i&gt;ext4&lt;/i&gt;.&lt;/span&gt;&lt;span style="font-family:sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:sans-serif;"&gt;The idea is to build a 'ext4' and a UML enabled kernel, then some newbie style playing with the UML and 'ext4' filesystem. I am using &lt;a target="_blank" href="http://www.debian.org/"&gt;Debian 5.0 "Lenny"&lt;/a&gt; on &lt;a target="_blank" href="http://www.virtualbox.org/"&gt;VirtualBox&lt;/a&gt; (&lt;i&gt;I don't have much to loose, that way :-)&lt;/i&gt;)&lt;span style="font-family:Palatino Linotype;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:sans-serif;"&gt;&lt;b&gt;Obtaining the kernel source code&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:sans-serif;"&gt;&lt;a target="_blank" href="http://www.kernel.org/"&gt;Get&lt;/a&gt; the latest kernel source code (I am using 2.6.28) and extract it to a directory under your $HOME.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;&lt;br /&gt;Kernel Configuration&lt;/b&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;You will need to enable the 'ext4' support under 'Filesystems' and also specify that we are building a UML kernel:&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/span&gt;&lt;span style="font-family:sans-serif;"&gt;&lt;code&gt;debian:/home/amit/kernel/sources/linux-2.6.28# make depconfig ARCH=um&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:sans-serif;"&gt;&lt;code&gt;debian:/home/amit/kernel/sources/linux-2.6.28# make menuconfig ARCH=um&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Save the configuration.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Building the Kernel&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Once the configuration is over, you can start the build process:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;debian:/home/amit/kernel/sources/linux-2.6.28# make linux ARCH=um &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;After the build process is over, you will have a binary, &lt;i&gt;linux&lt;/i&gt; which is the kernel just built for you with UML support.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Booting into UML&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Before you can boot, you will need a UML root file system. You can either download one from &lt;a target="_blank" href="http://uml.nagafix.co.uk/filesystems/"&gt;here&lt;/a&gt; or &lt;a target="_blank" href="http://user-mode-linux.sourceforge.net/old/fs_making.html"&gt;build one yourself&lt;/a&gt;, or you may &lt;a href="http://www.landley.net/code/UML.html" target="_blank"&gt;boot your host file system&lt;/a&gt;. I am using the root filesystem image for DSL provided in the earlier mentioned link:&lt;br /&gt;&lt;code&gt;./linux ubd0=./DSL-4.4-root_fs&lt;br /&gt;Locating the bottom of the address space ... 0x0&lt;br /&gt;Locating the top of the address space ... 0xc0000000&lt;br /&gt;Core dump limits :&lt;br /&gt;soft - 0&lt;br /&gt;hard - NONE&lt;br /&gt;Checking that ptrace can change system call numbers...OK&lt;br /&gt;Checking syscall emulation patch for ptrace...OK&lt;br /&gt;Checking advanced syscall emulation patch for ptrace...OK&lt;br /&gt;Checking for tmpfs mount on /dev/shm...OK&lt;br /&gt;Checking PROT_EXEC mmap in /dev/shm/...OK&lt;br /&gt;Checking for the skas3 patch in the host:&lt;br /&gt;&lt;br /&gt;.&lt;br /&gt;.&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;and finally you will get a root# prompt. To ensure, that we are really in UML, &lt;code&gt; cat /proc/cpuinfo &lt;/code&gt;:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;processor : 0&lt;br /&gt;vendor_id : User Mode Linux&lt;br /&gt;model name : UML&lt;br /&gt;mode  : skas&lt;br /&gt;host  : Linux debian 2.6.26-1-686 #1 SMP Sat Jan 10 18:29:31 UTC 2009 i686&lt;br /&gt;bogomips : 10643.04&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Well, we just got started. You might want to try lots of other things. Networking, Jails, blah blah. Visit the UML homepage for more resources. Also, read the UML documentation in the Kernel source tree under Documentation/.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Trying Ext4&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;We will need to do some extra things to start playing around with 'ext4'.&lt;br /&gt;&lt;br /&gt;We will have to: create a new kernel image, make the modules, install them and boot into the new kernel (as mentioned &lt;a target="_blank" href="http://www.geocities.com/amit_saha_works/linux/html/kernel_compile.html"&gt;here&lt;/a&gt;).  Once booted into the new kernel, try out some of the stuffs as in &lt;a target="_blank" href="http://ext4.wiki.kernel.org/index.php/Ext4_Howto"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I tried one of the alpha releases of Kubuntu 9.04, which supports 'ext4'. It was pretty much blazingly fast.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="zemanta-pixie"&gt;&lt;img src="http://img.zemanta.com/pixy.gif?x-id=c4f87260-51f6-465e-8cc4-2ad7bcaff3fa" class="zemanta-pixie-img" /&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/23809956-5678602756594921583?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/5678602756594921583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/02/linux-kernel-26-compilation-guide-user.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/5678602756594921583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/5678602756594921583'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/02/linux-kernel-26-compilation-guide-user.html' title='Linux Kernel 2.6 compilation Guide, User Mode Linux (UML), Ext4 support'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-8567107035738605510</id><published>2009-02-18T18:57:00.005+05:30</published><updated>2009-02-18T19:16:13.998+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Functional Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='CS'/><title type='text'>Higher-Order Procedures</title><content type='html'>&lt;a href="http://amitsaha.in.googlepages.com/higherorderfunctions"&gt;Higher-Order procedures&lt;/a&gt; is my attempt to introduce the topic in an easy way. Please post your comments/suggestions here. (&lt;a href="http://amitsaha.in.googlepages.com/hop.pdf"&gt;PDF&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23809956-8567107035738605510?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/8567107035738605510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/02/higher-order-procedures.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/8567107035738605510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/8567107035738605510'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/02/higher-order-procedures.html' title='Higher-Order Procedures'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-549060471192406219</id><published>2009-02-02T22:47:00.001+05:30</published><updated>2009-02-02T22:47:38.063+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='BOJUG'/><category scheme='http://www.blogger.com/atom/ns#' term='BookReviews'/><title type='text'>Book Review: Programming Groovy</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;i&gt;I have zero experience with Groovy before this. However, I am well versed with the Java language and hence this review should be read from the point of view of a Java guy but a Groovy newbie. My goal in reading this book is get acquainted with the Groovy language and keep the knowledge in my sub-conscious mind so that I am ready when I need it :-)&lt;br/&gt;&lt;/i&gt;&lt;a href='http://www.pragprog.com/titles/vslg/programming-groovy' target='_blank'&gt;&lt;br/&gt;Programming Groovy&lt;/a&gt; is a great starting point to the Groovy language and more so if you are already decently acquainted with Java . The whole book is divided into three parts, each part looking at different features of the language. &lt;br/&gt;&lt;br/&gt;&lt;b&gt;Part I: Beginning Groovy&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;As the name of this part suggests, in this part of the book, the author begins with instructions on how to go about setting up your system for Groovy development. Among other things, working with the Groovy shell is demonstrated. &lt;br/&gt;&lt;br/&gt;Being well acquainted with Java, I skimmed over the chapters 2 and 3. Things are very familiar in these chapters. Chapter 4- &lt;i&gt;Dynamic Typing&lt;/i&gt; talks about data types in Groovy and some other essential information of typing in Java world and its counterpart in the Groovy world. This chapter also introduces &lt;a href='http://c2.com/cgi/wiki?MultiMethods' target='_blank'&gt;multi-methods&lt;/a&gt;. Chapter 5- &lt;i&gt;Using Closures &lt;/i&gt;was the first major interesting roadblock for me. I intended to understand it fully and so I read this chapter and worked on it for a couple of times. Co-incidentally, I was also reading about closures in &lt;i&gt;Common Lisp&lt;/i&gt;. You will need to understand at-least, what closures are and how they can be used- Sections 5.1-5.3 (as you will later see) that closures are widely used in Groovy. Most of the times, you will be &lt;i&gt;passing&lt;/i&gt; a closure around to standard method calls in Groovy. So, understanding how a closure works is very useful. You may also want to read more about closures &lt;a href='http://en.wikipedia.org/wiki/Closure_%28computer_science%29' target='_blank'&gt;here&lt;/a&gt;. Chapter 6- &lt;i&gt;Working with Strings&lt;/i&gt;, introduces the GString ( &lt;i&gt;he he&lt;/i&gt; )- which are interpolated strings, and also talks a bit about the GString Lazy Evaluation Problem. Some other topics include: Groovy's own String Convenience Methods, and Multiline Strings. The last chapter in this part- Working with Collections talks about working with the&lt;a href='http://groovy.codehaus.org/Collections' target='_blank'&gt; usually available data structures&lt;/a&gt;: lists, maps and arrays, alongwith the convenience methods made available by Groovy.&lt;br/&gt;&lt;br/&gt;&lt;i&gt;Part I is over and I haven't yet learnt to take a User Input or is it assumed that I am a Java developer?&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Part II: Using Groovy&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;Using Chapter 8: &lt;i&gt;Exploring the GDK&lt;/i&gt;, looks at the extensions provided by the &lt;a href='http://groovy.codehaus.org/groovy-jdk/' target='_blank'&gt;GDK&lt;/a&gt; to make the JDK &lt;i&gt;more groovy&lt;/i&gt;.&lt;br/&gt;&lt;br/&gt;In the next three chapters, the author will help you start using Groovy in your daily tasks, like Working with XML files, Databases (&lt;a href='http://groovy.codehaus.org/GSQL' target='_blank'&gt;GSQL&lt;/a&gt;) and mixing and matching Groovy and Java. &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Part III: MOPping Groovy&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;This part of the book looks at the implementation of the Meta-Object Protocol in Groovy and essentially builds upon it to present other very useful concepts such as Unit Testing and Mocking (where you are shown how to write Unit tests for your Java classes in Groovy), Groovy Builders and finally, at Creating DSLs in Groovy. This part can be classified as some serious and advanced Groovy and is a great collection of some very cool concepts in Groovy.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Overall, this book of is a great introduction to Groovy for the Java developer. I am not sure, how non-Java developer would benefit at all from this book, or for that matter Groovy.&lt;br/&gt;&lt;br/&gt;Great work by the author and the whole team!&lt;br/&gt;&lt;br/&gt;To learn more about the book, errata and discussions, please go to &lt;a href='http://www.pragprog.com/titles/vslg/programming-groovy' target='_blank'&gt;http://www.pragprog.com/titles/vslg/programming-groovy&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Many thanks to &lt;a href='http://ug.oreilly.com/' target='_blank'&gt;O'Reilly UG program&lt;/a&gt; for providing with a review copy to &lt;a href='http://bojug.in' target='_blank'&gt;BOJUG&lt;/a&gt;. This review is also published at the BOJUG blog at &lt;a href='http://bojug.in/blog/?p=49' target='_blank'&gt;http://bojug.in/blog/?p=49&lt;/a&gt;&lt;br/&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/23809956-549060471192406219?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/549060471192406219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/02/book-review-programming-groovy.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/549060471192406219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/549060471192406219'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/02/book-review-programming-groovy.html' title='Book Review: Programming Groovy'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-93063493153302790</id><published>2009-02-01T14:10:00.001+05:30</published><updated>2009-02-01T14:12:22.074+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='BOJUG'/><title type='text'>BOJUG Meet Pictures</title><content type='html'>We had this month's BOJUG meet yesterday. Some pictures here at the fficial Blog post entry: &lt;a href="http://bojug.in/blog/?p=45" target="_blank"&gt;http://bojug.in/blog/?p=45&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23809956-93063493153302790?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/93063493153302790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/02/bojug-meet-pictures.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/93063493153302790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/93063493153302790'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/02/bojug-meet-pictures.html' title='BOJUG Meet Pictures'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-8321460679260439060</id><published>2009-01-28T16:08:00.001+05:30</published><updated>2009-01-28T16:08:53.605+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='WTF'/><title type='text'>WTF?</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;...Perl, Some internal DSLs, Python, Java, Lisp, Groovy, Ruby, Lisp, Clojure&lt;br/&gt;&lt;br/&gt;I read/write almost all of these everyday..WTF!&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/23809956-8321460679260439060?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/8321460679260439060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/01/wtf.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/8321460679260439060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/8321460679260439060'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/01/wtf.html' title='WTF?'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-6796730944739175662</id><published>2009-01-27T18:49:00.001+05:30</published><updated>2009-01-27T18:49:18.760+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='BOJUG'/><title type='text'>BOJUG Meet: January 2009</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;We are meeting this Saturday, 31st January for our monthly meet. Details here at &lt;a href='http://bojug.in/blog/?p=37' target='_blank'&gt;http://bojug.in/blog/?p=37&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/23809956-6796730944739175662?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/6796730944739175662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/01/bojug-meet-january-2009.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/6796730944739175662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/6796730944739175662'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/01/bojug-meet-january-2009.html' title='BOJUG Meet: January 2009'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-6254197217856641351</id><published>2009-01-27T15:22:00.001+05:30</published><updated>2009-01-27T15:23:42.874+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Netbeans'/><title type='text'>NetBeans needs more love?</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I am not looking to open a can of worms here&lt;i&gt;. &lt;/i&gt;But this discussion  &lt;a target='_blank' href='http://www.nabble.com/Netbeans-Eclipse-plugin-td21653052.html'&gt;here&lt;/a&gt; set me thinking: &lt;i&gt;Does the world need more NetBeans love?&lt;/i&gt; &lt;br/&gt;&lt;br/&gt;How often do we see that a Eclipse plugin is the way to go for most products, and we don't have the same for NetBeans? Why is Eclipse preferred over NetBeans when a choice needs to be made. The little that I understand of this business of FLOSS, NetBeans is as much a FLOSS product as is Eclipse.&lt;br/&gt;&lt;br/&gt;What are the reasons- technical, political or cult?&lt;br/&gt;&lt;br/&gt;Just to set the record straight:&lt;b&gt; I am a completely NetBeans Guy- community member, committer and associated with the project for over a year now.&lt;/b&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/23809956-6254197217856641351?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/6254197217856641351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/01/netbeans-needs-more-love.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/6254197217856641351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/6254197217856641351'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/01/netbeans-needs-more-love.html' title='NetBeans needs more love?'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-197546976656325446</id><published>2009-01-27T12:40:00.001+05:30</published><updated>2009-01-27T12:40:17.384+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sun'/><title type='text'>Sun Folks on the loose: Go Grab Them</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Unfortunately, I lost a lot of my Sun colleagues whom I knew directly or indirectly in last week's lay-off. The least I can do possibly is let the world know that&lt;b&gt; great folks &lt;/b&gt;are available for hiring. Here's one: &lt;a href='http://davidvancouvering.blogspot.com/' target='_blank'&gt; David Van Couvering&lt;/a&gt; (Ted's blog post &lt;a href='http://www.sauria.com/blog/2009/01/26/sun-folks-on-the-loose-david-van-couvering/' target='_blank'&gt;about him&lt;/a&gt;).&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Related post by Ted: &lt;a href='http://www.sauria.com/blog/2009/01/22/suns-loss-your-gain/' target='_blank'&gt;http://www.sauria.com/blog/2009/01/22/suns-loss-your-gain/&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/23809956-197546976656325446?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/197546976656325446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/01/sun-folks-on-loose-go-grab-them.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/197546976656325446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/197546976656325446'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/01/sun-folks-on-loose-go-grab-them.html' title='Sun Folks on the loose: Go Grab Them'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-8013053168154082138</id><published>2009-01-26T17:49:00.003+05:30</published><updated>2009-01-26T17:57:08.021+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Utilities'/><title type='text'>Registers in VIM and other cool stuff</title><content type='html'>In the VIM world, clipboards where your copied/cut text are stored are called registers. And, there can be multiple registers (which you can choose to name), where your text can be stored after you have performed a copy/yank on them. (See the section:&lt;i&gt; Using multiple clipboards&lt;/i&gt; at&lt;a href="http://jmcpherson.org/editing.html"&gt; http://jmcpherson.org/editing.html&lt;/a&gt; ).&lt;br /&gt;&lt;br /&gt;Let's try this. Type in a couple of lines in VIM:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XRq5NM_5XLA/SX2rEef1z_I/AAAAAAAAA0o/KDMTveYizhE/s1600-h/gvim-1png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 118px;" src="http://2.bp.blogspot.com/_XRq5NM_5XLA/SX2rEef1z_I/AAAAAAAAA0o/KDMTveYizhE/s400/gvim-1png" alt="" id="BLOGGER_PHOTO_ID_5295576830252011506" 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;br /&gt;&lt;br /&gt;Now, select the lines and copy them to register 'r' using, "ry  (in command mode).&lt;br /&gt;&lt;br /&gt;Now type in the following VIM command: :echo @r. You should see the text that you have copied earlier:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XRq5NM_5XLA/SX2rgvpMH6I/AAAAAAAAA0w/Q_bh3UUoOmQ/s1600-h/gvim-2.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 118px;" src="http://2.bp.blogspot.com/_XRq5NM_5XLA/SX2rgvpMH6I/AAAAAAAAA0w/Q_bh3UUoOmQ/s400/gvim-2.png" alt="" id="BLOGGER_PHOTO_ID_5295577315890962338" 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;br /&gt;This means that using '@r' you can use the contents of the register in your VIM scripts or plugins. We could also do some cool stuff, such as passing it to a GNU screen session, as you can see &lt;a target="_blank" href="http://technotales.wordpress.com/2007/10/03/like-slime-for-vim/"&gt;here&lt;/a&gt;. If you don't code in Lisp, no problem. You can use the script to setup your Python or Ruby or any other similar development needs, without any change.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23809956-8013053168154082138?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/8013053168154082138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/01/registers-in-vim-and.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/8013053168154082138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/8013053168154082138'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/01/registers-in-vim-and.html' title='Registers in VIM and other cool stuff'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_XRq5NM_5XLA/SX2rEef1z_I/AAAAAAAAA0o/KDMTveYizhE/s72-c/gvim-1png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23809956.post-2058873571431308464</id><published>2009-01-23T15:23:00.003+05:30</published><updated>2009-01-23T15:25:04.136+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='odf4j'/><title type='text'>Not working on 'odf4j'</title><content type='html'>I have left working on the &lt;a href="http://odftoolkit.openoffice.org/"&gt;ODF Toolkit for Java: odf4j&lt;/a&gt; project 8 months back. I finally kicked myself to tell this here since I see a lot of visits to my blog with the label 'odf4j'.&lt;br /&gt;&lt;br /&gt;Hence, please go ahead to&lt;a href="http://odftoolkit.openoffice.org/"&gt; http://odftoolkit.openoffice.org/ &lt;/a&gt;for all your queries.&lt;br /&gt;Sorry for the late notice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23809956-2058873571431308464?l=amitksaha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amitksaha.blogspot.com/feeds/2058873571431308464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://amitksaha.blogspot.com/2009/01/not-working-on-odf4j.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/2058873571431308464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23809956/posts/default/2058873571431308464'/><link rel='alternate' type='text/html' href='http://amitksaha.blogspot.com/2009/01/not-working-on-odf4j.html' title='Not working on &apos;odf4j&apos;'/><author><name>Amit Saha</name><uri>http://www.blogger.com/profile/06477788355991244475</uri><email>amitksaha@netbeans.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16681855679264339787'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry></feed>