<?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' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-26105285</id><updated>2011-12-15T08:24:31.436+05:30</updated><title type='text'>A Trek to the Unkown</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>40</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-26105285.post-1438144221530949380</id><published>2010-02-15T22:29:00.007+05:30</published><updated>2010-04-17T14:00:35.919+05:30</updated><title type='text'>STL Strings and reference counting ( again ! )</title><content type='html'>In the &lt;a href="http://sharanr.blogspot.com/2009/12/stl-allocators-etc.html"&gt;last&lt;/a&gt; post, I mentioned that I was (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;un&lt;/span&gt;)fortunate enough to get bitten by some trickiness that some folks put into their &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;stl&lt;/span&gt; implementations :). Other than the common data structures and iterators, we (for some definition of "we" which mostly includes my team in my company ) hardly use any &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;stl&lt;/span&gt; features. And the one data structure that is most ubiquitously used - well, because I can't imagine programming without it - is "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;The&lt;/span&gt; fun begins when &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;stl&lt;/span&gt; implementations begin implementing strings using reference counting. I wrote about some nice (or not so nice) stuff happening related to reference counting some time back, though I guess some may argue that it may not be a common scenario. This post is going to speak about a more common scenario though.&lt;br /&gt;&lt;br /&gt;It all starts when one plans to use a reference counted string in a multi-threaded application. The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;STL&lt;/span&gt; implementation has to guarantee that the reference counting is thread safe. The part of reference counting that is not thread safe by default is incrementing/decrementing the reference counters. Strings shared across threads can cause enough problems, and this is well documented and researched in &lt;a href="http://www.drdobbs.com/architect/184401888"&gt;many&lt;/a&gt; &lt;a href="http://developers.sun.com/solaris/articles/stl-new.html"&gt;places&lt;/a&gt;. This document goes through how this objective is achieved in some &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;STL&lt;/span&gt; implementations found across platforms we use.&lt;br /&gt;&lt;br /&gt;The simplest way in which one can guard the reference count is to guard it using a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;mutex&lt;/span&gt;. And this is exactly what the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Roguewave&lt;/span&gt; implementation in HP - &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;UX&lt;/span&gt; ( the version shipped with HP &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;UX&lt;/span&gt; is 2.1 ) does when the application is compiled with &lt;span style="font-style: italic;"&gt;-mt&lt;/span&gt; option. This is the one of the best remedies to kill the performance of an application. As one of our profiling results show, one third of the time was spent in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;mutexes&lt;/span&gt;, a large portion of which was for these &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;mutexes&lt;/span&gt; which were guarding the reference counts of strings ! And the worst part is that hardly any strings were being shared across threads - so it was a pure waste.&lt;br /&gt;&lt;br /&gt;We had half a mind to actually write our own string classes from scratch with char*. But more specifically, what we were looking for was effectively something as mentioned in this &lt;a href="http://www.delera.com/blog/?p=6"&gt;blog post&lt;/a&gt; + the comments on that post : a way to enable/disable thread safety on the string class depending on the usage.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Implementations&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;* HP - &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;UX&lt;/span&gt; ( &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Roguewave&lt;/span&gt; 2.1 )&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;** Disable locks on reference counts}&lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;Roguewave&lt;/span&gt; 2.1 does provide an option to disable locks on reference counts altogether. To achieve that, one has to compile the application with the following &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;pre&lt;/span&gt;-processor definition -&lt;br /&gt;&lt;span style="font-style: italic;"&gt;__&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;HPACC&lt;/span&gt;_SKIP_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;REFCNT&lt;/span&gt;_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;MUTEX&lt;/span&gt;&lt;/span&gt;. Now that is sort of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;ok&lt;/span&gt; - but not exactly what we were looking for as we &lt;span style="font-style: italic;"&gt;do&lt;/span&gt; want to control thread safety in certain cases.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Update&lt;/span&gt;: It seems the roguewave 2.1 always uses atomic reference counts internally (on itanium) which is wrapped around by a mutex call. So compiling with the above flag will provide atomic reference counts provided by itanium's processor directives ! This should suffice in most cases, I guess :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;** Disable Reference Counts &lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;Roguewave&lt;/span&gt; 2.1 also provides an option to disable reference counting altogether via the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;preprocessor&lt;/span&gt; definition - &lt;span style="font-style: italic;"&gt;_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;RWSTD&lt;/span&gt;_NO_STRING_REF_COUNT&lt;/span&gt; . Now this one seems pretty interesting as one can always wrap a reference counted pointer implementation around it !&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;** Solaris ( &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;StlPort&lt;/span&gt; ) &lt;/span&gt;&lt;br /&gt;On the Solaris machines that we use, the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;STL&lt;/span&gt; implementation used is &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;STLPort&lt;/span&gt; (version 4). It seems there is no reference counted implementation in this version (at least), so no worries about thread safety.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;** &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;AIX&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;STL&lt;/span&gt; implementation used on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;AIX&lt;/span&gt; is the one written by &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;PJ&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;Plauger&lt;/span&gt; ( &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;Dinkumware&lt;/span&gt; ). It is shipped with customizations ( so says &lt;a href="http://www.dinkumware.com/cpp.aspx"&gt;this&lt;/a&gt; page) by both IBM and MS ). There are many known issues with the string class shipped with Microsoft Visual C++ 6.0 at least ( documented pretty comprehensively with workaround &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;et&lt;/span&gt; all &lt;a href="http://support.microsoft.com/kb/813810"&gt;here&lt;/a&gt; ).&lt;br /&gt;&lt;br /&gt;On the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;AIX&lt;/span&gt; implementation that we use - the reference counting has been disabled altogether using &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;preprocessor&lt;/span&gt; tricks :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;** Linux ( On Intel processors ) &lt;/span&gt;&lt;br /&gt;The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;STL&lt;/span&gt; implementation used is the one provided by &lt;a href="http://gcc.gnu.org/libstdc++/"&gt;GNU&lt;/a&gt;. Reference counting is enabled and is provided by means &lt;a href="http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html"&gt;atomic &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;builtins&lt;/span&gt;&lt;/a&gt; provided by &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;gcc&lt;/span&gt;, which internally use the atomic functions provided by &lt;a href="http://refspecs.freestandards.org/elf/IA64-SysV-psABI.pdf"&gt;Intel&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Atomic &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;Builtins&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Now, it does seem that atomic increments/decrements will be faster than the standard &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;mutex&lt;/span&gt; drama that other solutions provide. These functions are normally implemented using assembly directly, and all platforms ( &lt;a href="http://docs.hp.com/en/5992-3373/ch10s08.html"&gt;HP&lt;/a&gt; , &lt;a href="http://publib.boulder.ibm.com/infocenter/comphelp/v8v101/index.jsp?topic=/com.ibm.xlcpp8a.doc/compiler/ref/bif_sync.htm"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;AIX&lt;/span&gt;&lt;/a&gt; , &lt;a href="http://developers.sun.com/solaris/articles/atomic_sparc/"&gt;Solaris&lt;/a&gt; ) do provide some form of it.&lt;br /&gt;&lt;br /&gt;I didn't get much performance statistics on the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;internet&lt;/span&gt; from those who have used these operations. The only one I could find related to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;stl&lt;/span&gt; is the one provided by &lt;a href="http://developers.sun.com/solaris/articles/stl-new.html"&gt;SUN&lt;/a&gt;, but the fact that atomic operations facilitated by the processor are faster in some cases and slower in some other doesn't sound nice. One other &lt;a href="http://www.drdobbs.com/architect/184401888"&gt;article&lt;/a&gt; I found, which had a pretty nifty way to implement atomic functions by hand using &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;PowerPC&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_45"&gt;aseembly&lt;/span&gt; had pretty good performance figures.&lt;br /&gt;&lt;br /&gt;Edit: A comprehensive, but bit dated, performance &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_46"&gt;anaylsis&lt;/span&gt; of the string class with various implementations (plain &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_47"&gt;alloc&lt;/span&gt;, fast &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48"&gt;alloc&lt;/span&gt;,  atomic increments, critical sections etc ) can be found &lt;a href="http://www.gotw.ca/gotw/045.htm"&gt;here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Solution ?&lt;/span&gt;&lt;br /&gt;So, I don't know what is the best solution :). As most of the implementations that we use do not have reference counting at all ( either naturally - in case of Solaris/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_49"&gt;AIX&lt;/span&gt;, or by force on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_50"&gt;Roguewave&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_51"&gt;STL&lt;/span&gt; ), a good option seems to be wrapping the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_52"&gt;stl&lt;/span&gt; string class under  hand made reference counted pointer implementations - thread safe and non-thread safe ones - the thread safe ones with atomic &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_53"&gt;builtins&lt;/span&gt; perhaps.&lt;br /&gt;&lt;br /&gt;To neutralize any changes in the implementation on multiple platforms, I guess we should be using one implementation on all platforms ( &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_54"&gt;STLPort&lt;/span&gt; seems very attractive for this ) - but some things are not in my hand :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Update&lt;/span&gt;: http://www.gotw.ca/gotw/045.htm provides a very good comparative analysis of different approaches to implement a string class using actual numbers !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-1438144221530949380?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/1438144221530949380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=1438144221530949380' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/1438144221530949380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/1438144221530949380'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2010/02/stl-strings-and-reference-counting.html' title='STL Strings and reference counting ( again ! )'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-4997963294879021904</id><published>2009-12-26T02:17:00.006+05:30</published><updated>2009-12-26T02:56:00.767+05:30</updated><title type='text'>STL, allocators, etc</title><content type='html'>Every time I find a link even remotely related to the internals of STL, I get interested in it. One of the reasons is because I've been bit very badly because of its various nitty gritties. There were some very hard to find memory "leaks" first, some weird performance issues and some interesting side effects like the one in the &lt;a href="http://sharanr.blogspot.com/2009/12/joys-of-reference-counting.html"&gt;previous&lt;/a&gt; blog post.&lt;br /&gt;&lt;br /&gt;The performance issues were encountered in a module which was using STL very heavily ( ok, STL was not the only reason for the performance hit - but when the execution time of a process comes down from 6 hours to 2.5 hours just by changing a certain configuration for STL, annoyed me a lot). The only thing i managed to write about it was this one &lt;a href="http://twitter.com/nautikos/status/4585852392"&gt;line&lt;/a&gt;. Maybe I'll write more about it some other day, just so that I never forget about it.&lt;br /&gt;&lt;br /&gt;The memory "leaks" fiasco was very interesting too. The memory usage of some process ( heap size ) was continuously increasing and no memory leak detector could find any leak. There was hardly any explicit pointer handling in the suspect code. Infact it was ridden with all value types with heavy usage of some STL containers. It's still a perfect whodunnit, as no one knows the answer for sure. I suspected memory fragmentation to start with, but then no one thought it made sense, or whether such a thing can happen ( whatever that means :) ).  Finally, the case was closed prematurely by someone by citing this page from &lt;a href="http://www.sgi.com/tech/stl/alloc.html"&gt;sgi&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Just recently, I came across a link, which explains in detail how &lt;a href="http://www.easports.com/"&gt;EA Sports&lt;/a&gt; wrote their own implementation of the STL - &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html"&gt;EASTL&lt;/a&gt;. I didn't understand the full article as such, but there were some very interesting statements and references in it&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;...the std allocator design and its use by std containers make it hard to work with and leads to suboptimal performance and code bloat...&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;...the use of virtual functions is avoided as well, given the potential cache miss they may cause...&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;...The compiler optimizes for if statements to evaluate as true, so write your code to follow this when possible...&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The third point is also emphasized in another article I read recently about &lt;a href="http://research.scee.net/files/presentations/gcapaustralia09/Pitfalls_of_Object_Oriented_Programming_GCAP_09.pdf"&gt;the pitfalls of object oriented programming&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In addition, it was also interesting to find an &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1850.pdf"&gt;article&lt;/a&gt; on custom allocators by someone from outside the gaming industry. stackoverflow usually has interesting discussions on almost all topics. There were lots of discussions about custom allocators , &lt;a href="http://stackoverflow.com/questions/826569/compelling-examples-of-custom-c-stl-allocators/826630#826630"&gt;one&lt;/a&gt; of which  mentioning that it's a premature optimization for most things other than game development/embedded devices development. But then there were also &lt;a href="http://stackoverflow.com/questions/832810/modern-c-game-programming-examples"&gt;discussions&lt;/a&gt; whether all the so-called-features of C++ are used in game development at all :).&lt;br /&gt;&lt;br /&gt;After having been subjected to all those articles and having understood it only moderately, I thought I'll try my hand at writing an allocator just to check out some simple behaviour by printing some debug messages.&lt;br /&gt;&lt;br /&gt;The following program just tracks the memory allocation/deallocation pattern on inserting elements into a vector. It's pretty interesting to see the pattern when the vector doubles its capacity to ensure all the elements are continuous.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;#include &amp;lt;memory&amp;gt;&lt;br /&gt;#include &amp;lt;cstdlib&amp;gt;&lt;br /&gt;#include &amp;lt;vector&amp;gt;&lt;br /&gt;&lt;br /&gt;namespace std {&lt;br /&gt;&lt;br /&gt;  template &amp;lt;&amp;gt;&lt;br /&gt;  class allocator&amp;lt;int&amp;gt;&lt;br /&gt;  {&lt;br /&gt;    &lt;br /&gt;  public:&lt;br /&gt;    typedef size_t    size_type;&lt;br /&gt;    typedef ptrdiff_t difference_type;&lt;br /&gt;    typedef int*        pointer;&lt;br /&gt;    typedef const int*  const_pointer;&lt;br /&gt;    typedef int&amp;        reference;&lt;br /&gt;    typedef const int&amp;  const_reference;&lt;br /&gt;    typedef int         value_type;&lt;br /&gt;&lt;br /&gt;    allocator&amp;lt;int&amp;gt;() {}&lt;br /&gt;    allocator&amp;lt;int&amp;gt;(const allocator&amp;lt;int&amp;gt;&amp;) {}&lt;br /&gt;&lt;br /&gt;    template &amp;lt;class U&amp;gt;&lt;br /&gt;    struct rebind { typedef allocator&amp;lt;U&amp;gt; other; };&lt;br /&gt;&lt;br /&gt;    pointer   allocate(size_type n, const void * = 0) {&lt;br /&gt;      int* t = (int*) malloc(n * sizeof(int));&lt;br /&gt;      std::cout&amp;lt;&amp;lt; "Used allocator&amp;lt;int&amp;gt; to allocate "&amp;lt;&amp;lt;n&amp;lt;&amp;lt;" objects at address "&lt;br /&gt;               &amp;lt;&amp;lt; t &amp;lt;&amp;lt; " (+)" &amp;lt;&amp;lt; std::endl;&lt;br /&gt;      return t;&lt;br /&gt;    }&lt;br /&gt;  &lt;br /&gt;    void      deallocate(void* p, size_type n) {&lt;br /&gt;      if (p) {&lt;br /&gt;        free(p);&lt;br /&gt;        std::cout&amp;lt;&amp;lt; "Used allocator&amp;lt;int&amp;gt; to deallocate "&amp;lt;&amp;lt;n&amp;lt;&amp;lt;" objects at address "&lt;br /&gt;                 &amp;lt;&amp;lt; p &amp;lt;&amp;lt; " (-)" &amp;lt;&amp;lt;std::endl;&lt;br /&gt;      } &lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    pointer           address(reference x) const { return &amp;x; }&lt;br /&gt;    const_pointer     address(const_reference x) const { return &amp;x; }&lt;br /&gt;&lt;br /&gt;    allocator&amp;lt;int&amp;gt;&amp;   operator=(const allocator&amp;lt;int&amp;gt;&amp;) { return *this; }&lt;br /&gt;&lt;br /&gt;    void              construct(pointer p, const int&amp; val) &lt;br /&gt;    { &lt;br /&gt;      cout&amp;lt;&amp;lt;"Constructing object at "&amp;lt;&amp;lt;p&amp;lt;&amp;lt;endl;&lt;br /&gt;      new ((int*) p) int(val); &lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    size_type         max_size() const { return size_t(-1); }&lt;br /&gt;&lt;br /&gt;  };&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;  std::vector&amp;lt;int&amp;gt; abcd;&lt;br /&gt;&lt;br /&gt;  for( int i = 1; i &amp;lt;= 10 ; i++ ) {&lt;br /&gt;     std::cout&amp;lt;&amp;lt;"Inserting '"&amp;lt;&amp;lt;i&amp;lt;&amp;lt;"' into the vector "&amp;lt;&amp;lt;std::endl;&lt;br /&gt;     abcd.push_back(i);&lt;br /&gt;     std::cout&amp;lt;&amp;lt;"-----------"&amp;lt;&amp;lt;std::endl;&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;which printed the following on my 32 bit linux machine&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Inserting '1' into the vector &lt;br /&gt;Used allocator&amp;lt;int&amp;gt; to allocate 1 objects at address 0x804c008 (+)&lt;br /&gt;Constructing object at 0x804c008&lt;br /&gt;-----------&lt;br /&gt;Inserting '2' into the vector &lt;br /&gt;Used allocator&amp;lt;int&amp;gt; to allocate 2 objects at address 0x804c018 (+)&lt;br /&gt;Constructing object at 0x804c01c&lt;br /&gt;Used allocator&amp;lt;int&amp;gt; to deallocate 1 objects at address 0x804c008 (-)&lt;br /&gt;-----------&lt;br /&gt;Inserting '3' into the vector &lt;br /&gt;Used allocator&amp;lt;int&amp;gt; to allocate 4 objects at address 0x804c028 (+)&lt;br /&gt;Constructing object at 0x804c030&lt;br /&gt;Used allocator&amp;lt;int&amp;gt; to deallocate 2 objects at address 0x804c018 (-)&lt;br /&gt;-----------&lt;br /&gt;Inserting '4' into the vector &lt;br /&gt;Constructing object at 0x804c034&lt;br /&gt;-----------&lt;br /&gt;Inserting '5' into the vector &lt;br /&gt;Used allocator&amp;lt;int&amp;gt; to allocate 8 objects at address 0x804c040 (+)&lt;br /&gt;Constructing object at 0x804c050&lt;br /&gt;Used allocator&amp;lt;int&amp;gt; to deallocate 4 objects at address 0x804c028 (-)&lt;br /&gt;-----------&lt;br /&gt;Inserting '6' into the vector &lt;br /&gt;Constructing object at 0x804c054&lt;br /&gt;-----------&lt;br /&gt;Inserting '7' into the vector &lt;br /&gt;Constructing object at 0x804c058&lt;br /&gt;-----------&lt;br /&gt;Inserting '8' into the vector &lt;br /&gt;Constructing object at 0x804c05c&lt;br /&gt;-----------&lt;br /&gt;Inserting '9' into the vector &lt;br /&gt;Used allocator&amp;lt;int&amp;gt; to allocate 16 objects at address 0x804c068 (+)&lt;br /&gt;Constructing object at 0x804c088&lt;br /&gt;Used allocator&amp;lt;int&amp;gt; to deallocate 8 objects at address 0x804c040 (-)&lt;br /&gt;-----------&lt;br /&gt;Inserting '10' into the vector &lt;br /&gt;Constructing object at 0x804c08c&lt;br /&gt;-----------&lt;br /&gt;Used allocator&amp;lt;int&amp;gt; to deallocate 16 objects at address 0x804c068 (-)&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-4997963294879021904?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/4997963294879021904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=4997963294879021904' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/4997963294879021904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/4997963294879021904'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2009/12/stl-allocators-etc.html' title='STL, allocators, etc'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-1936895102218195928</id><published>2009-12-21T01:04:00.017+05:30</published><updated>2009-12-26T01:13:26.967+05:30</updated><title type='text'>The joys of reference counting</title><content type='html'>What is the output of the below program ?&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;#include &amp;lt;string&amp;gt;&lt;br /&gt;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;struct ABCD {&lt;br /&gt;  string internalString;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;int main() {&lt;br /&gt;&lt;br /&gt;  string foobar("foobar");&lt;br /&gt;&lt;br /&gt;  ABCD* abcd1 = new ABCD;&lt;br /&gt;  abcd1-&amp;gt;internalString = foobar;&lt;br /&gt;&lt;br /&gt;  ABCD* abcd2 = abcd1;&lt;br /&gt;&lt;br /&gt;  delete abcd1;&lt;br /&gt;  delete abcd2;&lt;br /&gt;&lt;br /&gt;  string barfoo("foo");&lt;br /&gt;&lt;br /&gt;  cout&amp;lt;&amp;lt;foobar;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;On the machine that I ran it  - the output was "foo" :)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;The Problem&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;One of the applications I was working with has a singleton class which stores  some reference data for global access. The singleton contains a map whose key is a string which represents some code and the value is information about the code. The problem was that after processing some data, some of the codes used to go &lt;span style="font-style: italic;"&gt;missing&lt;/span&gt; from the map. There were some fascinating things to note about the problem :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The map had the code as the key of the map. This key was stored by &lt;span style="font-style: italic;"&gt;value&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;The entry for the code that went &lt;span style="font-style: italic;"&gt;missing&lt;/span&gt; was not &lt;span style="font-style: italic;"&gt;removed&lt;/span&gt; from the map.&lt;/li&gt;&lt;li&gt;The value of the key where the code earlier used to reside, changed to a valid, beautiful looking ( well, it didn’t look beautiful when I was debugging the problem :) ) string. No corruptions. No dingbats.&lt;/li&gt;&lt;/ul&gt;As we all know, most stl implementations of map are a balanced binary tree implemented using red black trees. Which means searching the map by the key will involve comparing the value to be searched with other members of the map. The other members decide whether to go right, left or wherever to continue searching in the red black tree. Now, if the value to be searched for happened to be anywhere near the sphere of inﬂuence of the which went missing earlier, then the probability that this value to be searched will be reported as missing goes up ten folds. And it did happen. So, we had a beautiful problem to solve ( it’s easier to&lt;br /&gt;say this after it’s solved :) )&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;Through the Looking-Glass, and What a C++ Developer Found There&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I don’t care whether they call Richard Stallman an idiot, a fanatic , non-pragmatic buffoon or whatever. First he created emacs to save us from $sucky editors. and later he created gdb to make &lt;span style="font-style: italic;"&gt;Bjarne Stroustrup&lt;/span&gt;’s creation more tolerable. And as HP took the liberty to add run time checking (RTC) to help solve all the chaos inﬂicted by C++ - there still was some hope ( The problem was reported on HP Itanium )&lt;br /&gt;&lt;br /&gt;I ran the program from within gdb with honest intentions to ﬁnd memory &lt;span style="font-style: italic;"&gt;corruptions&lt;/span&gt;. And I found a double delete !  A confused C++ developer commented out all related portions of the code which was deleting stuﬀ to check what happens - and all was well in the world again. What the .. ? The only plausible explanation to the case of the missing  code - which was stored by value - seemed to be related to reference counting.&lt;br /&gt;Thus the sample program was born.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;The Annotated C++ Program&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;STL strings are inherently reference counted. Every time it’s copied - the reference count is incremented. Every time it is destroyed - the reference count is decremented. Once the reference count goes down to 0, the memory is freed.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;#include &amp;lt;string&amp;gt;&lt;br /&gt;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;struct ABCD {&lt;br /&gt;  string internalString;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;int main() {&lt;br /&gt;&lt;br /&gt;  string foobar("foobar");         // reference count is 1&lt;br /&gt;&lt;br /&gt;  ABCD* abcd1 = new ABCD;&lt;br /&gt;  abcd1-&gt;internalString = foobar;  // reference count is incremented to 2&lt;br /&gt;&lt;br /&gt;  ABCD* abcd2 = abcd1;             // no change in reference count here&lt;br /&gt;&lt;br /&gt;  delete abcd1;                    // reference count decremented to 1&lt;br /&gt;  delete abcd2;                    // So does it crash ? Does it crash ?&lt;br /&gt;                                   // No !!!! reference count decremented to 0 and&lt;br /&gt;                                   // memory released to the wild to be reallocated&lt;br /&gt;&lt;br /&gt;  string barfoo("foo");            // aha, reallocation algorithm finds a small enough&lt;br /&gt;                                   //  place for this in the same location where foobar&lt;br /&gt;                                   // had its string&lt;br /&gt;&lt;br /&gt;  cout&amp;lt;&amp;lt;foobar;              // so, now can you guess what this will print ?&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;All those who have perfect 20:20 vision, will ask whether we have a double free in hand when the string &lt;span style="font-style: italic;"&gt;foobar&lt;/span&gt; goes out of scope. The answer is a big &lt;span style="font-style: italic;"&gt;YES&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;This can be explained by the following two snippets of code. The code is specific to Roguewave STL - the implementation of STL used in HP Itanium in my office.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;&lt;br /&gt;#define private public     // to access all the private stuff&lt;br /&gt;                           // of std::string&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;#include &amp;lt;string&amp;gt;&lt;br /&gt;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;struct ABCD {&lt;br /&gt;  string internalString;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;int main() {&lt;br /&gt;&lt;br /&gt;  string foobar("foobar");&lt;br /&gt;&lt;br /&gt;  ABCD* abcd1 = new ABCD;&lt;br /&gt;  abcd1-&gt;internalString = foobar;&lt;br /&gt;&lt;br /&gt;  ABCD* abcd2 = abcd1;&lt;br /&gt;&lt;br /&gt;  delete abcd1;&lt;br /&gt;&lt;br /&gt;  // access the internal reference count&lt;br /&gt;  cout&amp;lt;&amp;lt;"abcd2's reference count is :"&lt;br /&gt;      &amp;lt;&amp;lt;abcd2-&gt;internalString._C_pref()-&gt;__references()&lt;br /&gt;      &amp;lt;&amp;lt;endl;&lt;br /&gt;&lt;br /&gt;  delete abcd2;&lt;br /&gt;&lt;br /&gt;  cout&amp;lt;&amp;lt;"foobar's reference count is :"&lt;br /&gt;      &amp;lt;&amp;lt;foobar._C_pref()-&gt;__references()&lt;br /&gt;      &amp;lt;&amp;lt;endl;&lt;br /&gt;  // if foobar had gone out of scope here ,&lt;br /&gt;  // we'd be having a double delete condition.&lt;br /&gt;&lt;br /&gt;  string barfoo("foo");&lt;br /&gt;&lt;br /&gt;  // As both foobar and barfoo will be pointing to the same thing&lt;br /&gt;  // and as barfoo "captured" foobar's memory&lt;br /&gt;  // both of the below reference counts will be 1&lt;br /&gt;  cout&amp;lt;&amp;lt;"barfoo's reference count is :"&lt;br /&gt;      &amp;lt;&amp;lt;barfoo._C_pref()-&gt;__references()&lt;br /&gt;      &amp;lt;&amp;lt;endl;&lt;br /&gt;  cout&amp;lt;&amp;lt;"foobar's reference count is :"&lt;br /&gt;      &amp;lt;&amp;lt;foobar._C_pref()-&gt;__references()&lt;br /&gt;      &amp;lt;&amp;lt;endl;&lt;br /&gt;&lt;br /&gt;  cout&amp;lt;&amp;lt;foobar;&lt;br /&gt;&lt;br /&gt;  // When either of foobar goes out of scope&lt;br /&gt;  // it will cause a double delete.&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The output is :&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;abcd2's reference count is : 1&lt;br /&gt;foobar's reference count is : 0&lt;br /&gt;barfoo's reference count is : 1&lt;br /&gt;foobar's reference count is : 1&lt;br /&gt;foo&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now, on destruction, the destructor of the basic_string template needs to decide whether to deallocate the memory or not. It decides this by evaluating the following code. Again, this is specific to Roguewave STL&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;&lt;br /&gt; if( _C_pref()-&gt;__references() == 0 ||&lt;br /&gt;     _C_pref()-&gt;__removeReference() == 0)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The second part of the or clause decrements the reference count and checks f it has reached 0 - this happens when we deleted abcd2. The ﬁrst part happens when foobar is auto destroyed.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;One size doesn’t ﬁt all&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;When all explanations fail, only one prevails - Implementation Speciﬁc :). As with so many things which involve STL and C++, even the above problem is platform/implementation speciﬁc.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;When the same program runs on Linux it segfaults on the line &lt;span style="font-style: italic;"&gt;delete abcd2&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;The program runs smoothly on AIX. The stl code was too cryptic for me to understand. It seemed that the problem should have occured in AIX too from what I understood from the stl code, but it didn’t happen. There can  be two explanations to this. 1. Either I didn’t understand the code, which I’m almost sure of. &lt;span style="font-style: italic;"&gt;or&lt;/span&gt;   &lt;span style="font-style: italic;"&gt;2&lt;/span&gt;. The memory allocated for  &lt;span style="font-style: italic;"&gt;barfoo&lt;/span&gt; didn’t occupy the same as the one for foobar. I even tried to allocate 10000 strings just to check, but the problem failed to appear&lt;/li&gt;&lt;li&gt;The scenario was reproduced in Solaris as the STL implementation used in Solaris is Roguewave STL too (in the machines I tried on). The same behaviour was not observed when I changed the implementation to stlport4 though. Yet to check why.&lt;/li&gt;&lt;li&gt;When the program is compiled with -DRWSTD_NO_STRING_REF_COUNT i.e reference counting for strings is disabled in Itanium, everything works like a charm, as expected.&lt;/li&gt;&lt;/ul&gt;Memory related problems never fail to create enough drama to prevent documenting it. Every line in the program explained was atleast 10 call stacks away from each other in the actual code in which the problem happened. Once upon a time with C, only human errors seemed to cause tricky problems to solve. With C++, and more so with STL, the extra level of abstractions and automatic memory management baggage have added the ++ to the trickiness too, it seems.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-1936895102218195928?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/1936895102218195928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=1936895102218195928' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/1936895102218195928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/1936895102218195928'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2009/12/joys-of-reference-counting.html' title='The joys of reference counting'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-5287278084908629819</id><published>2009-03-27T17:08:00.003+05:30</published><updated>2009-03-27T17:17:13.696+05:30</updated><title type='text'>Ditched Wishes</title><content type='html'>The only difference between sticking a steel/aluminium dish from my kitchen, out of the window, instead of  the Dish TV antenna, is that I can atleast trouble someone in my opposite building with the reflection from the sun with the kitchen dish. Both, anyway, can't seem to brighten the CRT of my idiot box.&lt;br /&gt;&lt;br /&gt;Such pathetic customer service. No SRK, I'm not &lt;span style="font-style: italic;"&gt;santusht.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-5287278084908629819?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/5287278084908629819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=5287278084908629819' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/5287278084908629819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/5287278084908629819'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2009/03/ditched-wishes.html' title='Ditched Wishes'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-5794522034118075265</id><published>2009-03-11T22:14:00.003+05:30</published><updated>2009-03-12T01:25:15.576+05:30</updated><title type='text'>Ah, Virtual Memory ...</title><content type='html'>I seem to be on some sort of a hot treasure trail finding gold at the speed of thought. I found this no-words-to-praise explanation of how the kernel handles virtual memory/paging and all that niceties , written by Jeff Berryman, University of British Columbia, more than 3 decades ago, and lying in many places on the interweb now.&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;THE PAGING GAME&lt;br /&gt;&lt;br /&gt;Rules&lt;br /&gt;&lt;br /&gt;1. Each player gets several million things.&lt;br /&gt;&lt;br /&gt;2. Things are kept in crates that hold 2048 things each. Things in&lt;br /&gt;the same crate are called crate-mates.&lt;br /&gt;&lt;br /&gt;3. Crates are stored either in the workshop or warehouse. The workshop is&lt;br /&gt;almost always too small to hold all the crates.&lt;br /&gt;&lt;br /&gt;4. There is only one workshop but there may be several warehouses.&lt;br /&gt;Everybody shares them.&lt;br /&gt;&lt;br /&gt;5. Each thing has its own thing number.&lt;br /&gt;&lt;br /&gt;6. What you do with a thing is to zark it. Everybody takes turns zarking.&lt;br /&gt;&lt;br /&gt;7. You can only zark your things, not anybody else's.&lt;br /&gt;&lt;br /&gt;8. Things can only be zarked when they are in the workshop.&lt;br /&gt;&lt;br /&gt;9. Only the Thing King knows whether a thing is in the workshop or in a&lt;br /&gt;warehouse.&lt;br /&gt;&lt;br /&gt;10. The longer a thing goes without being zarked, the grubbier it&lt;br /&gt;is said to become.&lt;br /&gt;&lt;br /&gt;11. The way you get things is to ask the Thing King. He only gives out&lt;br /&gt;things in multiples of eight. This is to keep the royal overhead down.&lt;br /&gt;&lt;br /&gt;12. The way you zark a thing is to give it thing number. If you give the&lt;br /&gt;number of a thing that happens to be in a workshop it gets zarked right&lt;br /&gt;away. If it is in a warehouse, the Thing King packs the crate containing&lt;br /&gt;your thing back into the workshop. If there is no room in the  workshop, he&lt;br /&gt;first finds the grubbiest crate in the workshop, whether it be yours or&lt;br /&gt;somebody else's, and packs it off with all its crate-mates to a warehouse.&lt;br /&gt;In its place he puts the crate containing your thing. Your thing then gets&lt;br /&gt;zarked and you never knew that it wasn't in the workshop all along.&lt;br /&gt;&lt;br /&gt;13. Each player's stock of things have the same numbers as everybody else's.&lt;br /&gt;The Thing King always knows who owns what thing and whose turn it is, so you&lt;br /&gt;can't ever accidentally zark somebody else's thing even if it has the same&lt;br /&gt;number as one of yours. (VS/2)&lt;br /&gt;&lt;br /&gt;Notes&lt;br /&gt;&lt;br /&gt;1. Traditionally, the Thing King sits at a large, segmented table and is&lt;br /&gt;attended to by pages (the so-called "table pages") whose job it is to help&lt;br /&gt;the king remember where all the things are and who they belong to.&lt;br /&gt;&lt;br /&gt;2. One consequence of Rule 13 is that everybody's thing numbers will be&lt;br /&gt;similar from game to game, regardless of the number of players.&lt;br /&gt;&lt;br /&gt;3. The Thing King has a few things of his own, some of which move back and&lt;br /&gt;forth between workshop and warehouse just like anybody else's, but some of&lt;br /&gt;which are just too heavy to move out of the workshop.&lt;br /&gt;&lt;br /&gt;4. With the given set of rules, oft-zarked things tend to get kept&lt;br /&gt;mostly in the workshop while little-zarked things stay mostly in a warehouse.&lt;br /&gt;This is efficient stock control.&lt;br /&gt;&lt;br /&gt;5. Sometimes even the warehouses get full. The Thing King then has to start&lt;br /&gt;piling things on the dump out back. This makes the game slower because it&lt;br /&gt;takes a long time to get things off the dump when they are needed in the&lt;br /&gt;workshop. A forthcoming change in the rules will allow the Thing King to&lt;br /&gt;select the grubbiest things in the warehouses and send them to the dump in&lt;br /&gt;his spare time, thus keeping the warehouses from getting too full. This&lt;br /&gt;means that the most infrequently-zarked things will end up in the dump so&lt;br /&gt;the Thing King won't have to get things from the dump so often.  This should&lt;br /&gt;speed up the game when there are a lot of players and the warehouses are&lt;br /&gt;getting full. (Not applicable to VS/1)&lt;br /&gt;&lt;br /&gt;LONG LIVE THE THING KING&lt;span style="font-family:Georgia,serif;"&gt;&lt;/span&gt;&lt;span style="font-family:Georgia,serif;"&gt;&lt;/span&gt;&lt;span style="font-family:Georgia,serif;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-5794522034118075265?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/5794522034118075265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=5794522034118075265' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/5794522034118075265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/5794522034118075265'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2009/03/ah-virtual-memory.html' title='Ah, Virtual Memory ...'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-612535781643493396</id><published>2009-03-11T00:44:00.005+05:30</published><updated>2009-03-11T00:56:27.536+05:30</updated><title type='text'>De-bug-ging</title><content type='html'>Seemingly, with nothing original that I can think of myself, I am finding lots of things I find here and there pretty interesting. Especially this one on some &lt;a href="http://lists.ethernal.org/oldarchives/cantlug-0211/msg00174.html"&gt;mailing list&lt;/a&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt; that I found via reddit, which describes one of the best ways of debugging ;)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;blockquote&gt;We called it the Rubber Duck method of debugging.  It goes like this:&lt;br /&gt;&lt;br /&gt;1) Beg, borrow, steal, buy, fabricate or otherwise obtain a rubber duck&lt;br /&gt;(bathtub variety)&lt;br /&gt;2) Place rubber duck on desk and inform it you are just going to go over&lt;br /&gt;some code with it, if that's all right.&lt;br /&gt;3) Explain to the duck what you code is supposed to do, and then go into&lt;br /&gt;detail and explain things line by line&lt;br /&gt;4) At some point you will tell the duck what you are doing next and then&lt;br /&gt;realise that that is not in fact what you are actually doing.  The duck&lt;br /&gt;will sit there serenely, happy in the knowledge that it has helped you&lt;br /&gt;on your way.&lt;br /&gt;&lt;br /&gt;Works every time.&lt;/blockquote&gt;&lt;br /&gt;To think of it, I missed an opportunity to use my cat more effectively ;)&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-612535781643493396?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/612535781643493396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=612535781643493396' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/612535781643493396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/612535781643493396'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2009/03/de-bug-ging.html' title='De-bug-ging'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-8395125316199593992</id><published>2009-03-08T17:23:00.003+05:30</published><updated>2009-03-08T17:35:49.686+05:30</updated><title type='text'>Sharia, anyone ?</title><content type='html'>Vir Sanghvi had writen this nice &lt;a href="http://www.hindustantimes.com/StoryPage/StoryPage.aspx?sectionName=RSSFeed-Columns&amp;amp;id=4e661b6b-ca91-43f6-8153-e927ad151c76&amp;amp;Headline=The+same+people%3f+Surely+not"&gt;article&lt;/a&gt; (as usual) in the Hindustan Times editorial page, regarding the sorry state of Pakistan. There was this small part about the imposition of the Sharia Law in the infamous Swat valley, and Imran Khan's comments on it.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;div style="text-align: left;"&gt;Imran Khan (Keble College, Oxford, 1973-76) even declared that sharia law would be better because justice would be dispensed more swiftly! (I know this is politically incorrect but the Loin of the Punjab’s defence of sharia law reminded me of the famous Private Eye cover when his marriage to Jemima Goldsmith was announced. The Eye carried a picture of Khan speaking to Jemima’s father. “Can I have your daughter’s hand?” Imran was supposedly asking James Goldsmith. “Why? Has she been caught shoplifting?” Goldsmith replied. So much for sharia law.)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;Ah, Sharia, how funny you are.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-8395125316199593992?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/8395125316199593992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=8395125316199593992' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/8395125316199593992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/8395125316199593992'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2009/03/sharia-anyone.html' title='Sharia, anyone ?'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-3050711282671515013</id><published>2008-10-24T23:42:00.002+05:30</published><updated>2008-10-24T23:54:19.341+05:30</updated><title type='text'>The Renaissance Man</title><content type='html'>I have often regretted the way I went around doing things in college. Or perhaps I didn't. My main problem was that my mind used to be in a very unsteady state, sometimes agreeing and sometimes disagreeing with itself. The fact that the only one I argued about these things was me myself, was another great source of confusion. &lt;br /&gt;&lt;br /&gt;At one end I believed that I didn't get enough from the other side, and at the other end I felt that I wasn't doing much from my side. And on some other end I felt I was in a wrong place with the wrong people who neither had the concept of 'ends' nor starts. There never were any in-between thoughts, only extra dimensions, and all thoughts lurked at obscure corners of these dimensions. &lt;br /&gt;&lt;br /&gt;And when I was about to give up, we got a charismatic leader whom I started adoring, and then eventually started loathing for playing double games. But I guess the charisma part did prove one thing; however disoriented and random the followers are, there's always a line of thought some leader can infuse which can give directions. It doesn't really matter whether the system supports it as much.&lt;br /&gt;&lt;br /&gt;I guess that's what Barkha Dutt was saying about &lt;a href="http://www.hindustantimes.com/StoryPage/StoryPage.aspx?sectionName=&amp;id=748a890f-8d3d-42e6-9a21-999dbf9e3e13&amp;&amp;Headline=The+Renaissance+Man"&gt;the renaissance man&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-3050711282671515013?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/3050711282671515013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=3050711282671515013' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/3050711282671515013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/3050711282671515013'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2008/10/renaissance-man.html' title='The Renaissance Man'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-2795920972889720929</id><published>2008-08-06T23:13:00.002+05:30</published><updated>2008-08-06T23:22:34.333+05:30</updated><title type='text'>too little space</title><content type='html'>In the lakhs and lakhs of sq.ft. that the company I work for owns, there's no library! That's pretty disappointing. Also, interestingly, the information security policy restricts "downloading and installing of Mozilla Firefox". One's expected to only use MS IE 7, MS Outlook and the likes.&lt;br /&gt;&lt;br /&gt;Of course, there are wonderful things like free door step bus service for me who lives 25+ km away from the office, free breakfast, snacks, beverages and awesome lunch (@ 20Rs per day ).&lt;br /&gt;&lt;br /&gt;..and that's just the tip of the iceberg, I think.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-2795920972889720929?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/2795920972889720929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=2795920972889720929' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/2795920972889720929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/2795920972889720929'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2008/08/too-little-space.html' title='too little space'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-4021893020818473385</id><published>2008-04-10T01:40:00.003+05:30</published><updated>2008-04-10T01:53:24.704+05:30</updated><title type='text'>Looking back to look ahead</title><content type='html'>I stumbled upon this quote by &lt;a href="http://en.wikiquote.org/wiki/Ray_Bradbury"&gt;Ray Bradbury&lt;/a&gt; today,&lt;br /&gt;&lt;blockquote&gt;If you can't read and write you can't think. Your thoughts are dispersed if you don't know how to read and write. You've got to be able to look at your thoughts on paper and discover what a fool you were.&lt;/blockquote&gt;&lt;br /&gt;Indeed, what a fool I was when I wrote so many of those previous blog entries in the past two years. I laugh at myself for thinking in the way I did ( and still do :O ). I was barking up the wrong tree after all.&lt;br /&gt;&lt;br /&gt;To conclude, another quote from Ray Bradbury,&lt;br /&gt;&lt;blockquote&gt;My stories run up and bite me in the leg— I respond by writing down everything that goes on during the bite. When I finish, the idea lets go and runs off.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-4021893020818473385?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/4021893020818473385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=4021893020818473385' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/4021893020818473385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/4021893020818473385'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2008/04/looking-back-to-look-ahead.html' title='Looking back to look ahead'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-6692416469259378696</id><published>2008-04-02T00:48:00.002+05:30</published><updated>2008-04-02T00:54:06.124+05:30</updated><title type='text'>Counterfeit</title><content type='html'>And then I stood there with others, wearing those fake graduation robes, hat, and holding that fake degree that I still don't have , posing for the college magazine. They all looked happy even in the fake environment. And I stood there, embarrassed. Even if I had actually completed graduation, I would have been embarrassed to wear those robes. After four years in that place, with those people, I still can't come to terms with calling myself a would be computer engineer. And I guess, whether or not I hold that real degree, I'll always remain an aspiring computer engineer ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-6692416469259378696?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/6692416469259378696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=6692416469259378696' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/6692416469259378696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/6692416469259378696'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2008/04/counterfeit.html' title='Counterfeit'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-1488429010884075910</id><published>2008-02-03T18:36:00.000+05:30</published><updated>2008-02-03T18:44:50.767+05:30</updated><title type='text'>Sons of Soil</title><content type='html'>The weekly spoof news of CNN-IBN had an awesome joke on the `sons of soil` stupidity.&lt;br /&gt;It went something like,&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Along with other cities in India, Mumbai is facing record low temperatures. This can be attributed to the cold winds blowing from North India. &lt;a href="http://sharanr.blogspot.com/2007/06/anti-national.html"&gt;Shiv Sena&lt;/a&gt; is, hence, protesting ....&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-1488429010884075910?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/1488429010884075910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=1488429010884075910' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/1488429010884075910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/1488429010884075910'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2008/02/sons-of-soil.html' title='Sons of Soil'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-1563790867847531862</id><published>2008-01-12T21:26:00.000+05:30</published><updated>2008-01-12T22:20:31.582+05:30</updated><title type='text'>And life continues...</title><content type='html'>Yesterday, I had made up my mind on one thing. I had planned to go meet my childhood friend immediately after my exams. And (for a change) I managed to stick to my plan. I was at his home within 1 hour of my exams getting over. It was a really really long time since we had met ( mostly due to me ;) ), and we talked,talked and talked about all the things in this world as we once used to. Right from our common hatred toward drawing (art) to all about engineering and all about commerce.&lt;br /&gt;Well, it was a day of sorts. I even met my other childhood friend and neighbour, who studies within the same campus ( ~4 years younger to me ). He kept insisting that I use his bicycle to come to college instead of mine, reasoning that it's better and I'll have an enjoyable riding experience. Weird. :)&lt;br /&gt;&lt;br /&gt;These two boys whom I spent almost all of my childhood and early college years with ... I had not met them since quite a long time ( approximately since my second year in engineering ). Looking back at the past, so many things changed in my life through that academic year. I lost touch with some people, I got in touch with some ( mostly by the purest form of flukes :P ), and then the BIG thing - &lt;a href="http://sharanr.blogspot.com/2006/06/countdown-begins.html"&gt;shifting&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-1563790867847531862?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/1563790867847531862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=1563790867847531862' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/1563790867847531862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/1563790867847531862'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2008/01/and-life-continues.html' title='And life continues...'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-8656007995064140076</id><published>2007-12-29T01:37:00.000+05:30</published><updated>2007-12-29T01:52:46.158+05:30</updated><title type='text'>f(Laziness) = Overwhelming experience</title><content type='html'>After I came home today, I thought I'll go and watch the animated flick , Hanuman Returns, to satisfy my insatiable appetite for the only type of films I like. So, I went to a nearby multiplex, and found that I had reached 45 minutes too early for the next show. Laziness got the better of me , and I instead decided to watch a movie which was starting in 10 minutes - Tare Zameen Par. I came out after a few hours, completely overwhelmed. Every penny I spent on the highly priced ticket and the one too many overpriced cheese sandwiches felt worth it. For the first time ever, I felt the songs in the movie had an integral part in the movie. There was precision in the movie that can only be matched by high quality animated flicks.&lt;br /&gt;The only other time I had a similar feeling was after I had read a particular &lt;a href="http://sharanr.blogspot.com/2007/10/some-books.html"&gt;book&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Or is this feeling because the last hindi movie I saw was a random crap named Om Shanti Om ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-8656007995064140076?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/8656007995064140076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=8656007995064140076' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/8656007995064140076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/8656007995064140076'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2007/12/flaziness-overwhelming-experience.html' title='f(Laziness) = Overwhelming experience'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-1379071725855455971</id><published>2007-10-09T22:24:00.000+05:30</published><updated>2007-10-09T22:47:58.739+05:30</updated><title type='text'>Some books...</title><content type='html'>are so good that no one who has read it can ever praise it with content . One of such books is undoubtedly "The Kite Runner" by Khaleed Hosseini - One of the *best* books I've ever read ( if not *the* best ). That was almost half a year back..&lt;br /&gt;Apparently, there's a film based on it ( due to release on November the 2nd ) ironically shot in China !!. Hopefully the movie would live up to the brilliance of the book :).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/en/b/b8/Kite_Runner_film.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://upload.wikimedia.org/wikipedia/en/b/b8/Kite_Runner_film.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Source: http://en.wikipedia.org/&lt;br /&gt;&lt;br /&gt;&lt;div style="clear:both"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Unfortunately, Khaleed Hosseini's latest book - "A Thousand Splendid Suns" wasn't as good as the first one. Based in Afghanistan ( again ), it does have brilliance in many parts of the book, but I personally felt, it didn't quite fit together as well as in "The Kite Runner". But as I said earlier, some books ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-1379071725855455971?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/1379071725855455971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=1379071725855455971' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/1379071725855455971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/1379071725855455971'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2007/10/some-books.html' title='Some books...'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-4303794241590723408</id><published>2007-08-05T22:38:00.000+05:30</published><updated>2007-08-05T22:52:33.406+05:30</updated><title type='text'>The 'T' Factor</title><content type='html'>Where 'T' stands for Templates :). I came across &lt;a href="http://kanushu.uwaterloo.ca/%7Etveldhui/papers/Template-Metaprograms/"&gt;this&lt;/a&gt; nifty piece of code on the internet.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;template&amp;lt;int N&amp;gt;&lt;br /&gt;class Factorial {&lt;br /&gt;public:&lt;br /&gt;enum { value = N * Factorial&amp;lt;N-1&amp;gt;::value };&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;class Factorial&amp;lt;1&amp;gt; {&lt;br /&gt;public:&lt;br /&gt;enum { value = 1 };&lt;br /&gt;};&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Yes, it's supposed to compute the factorial of a number with this statement :-&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Factorial&amp;lt;N&amp;gt;::value&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And all that happens, as with templates, at compile time!.Read &lt;a href="http://kanushu.uwaterloo.ca/%7Etveldhui/papers/Template-Metaprograms/"&gt;this&lt;/a&gt; for further explanation.&lt;br /&gt;Wow, so no worrying about integer overflows while computing factorial anymore. As the program won't compile in that case. The possibilities are endless. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-4303794241590723408?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/4303794241590723408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=4303794241590723408' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/4303794241590723408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/4303794241590723408'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2007/08/t-factor.html' title='The &apos;T&apos; Factor'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-4801045523495889567</id><published>2007-07-18T21:36:00.000+05:30</published><updated>2007-07-19T14:46:16.519+05:30</updated><title type='text'>Fair Trial ?</title><content type='html'>It amazes me as to how  the media, the government and the rest, consistently get excited about things that happen in other countries and ignore what happens at home. They say Mr. "Terrorist" &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Haneef&lt;/span&gt; wasn't given a fair trial in Australia and blah blah. How many suspected terrorists ( think: Gujarat and Kashmir) even reach the stage of "fair trial" in India ?&lt;br /&gt;Nah, that's a waste of time. We have encounters :P&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Edit&lt;/span&gt;: Oh, and apparently the PM lost sleep over the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Haneef&lt;/span&gt; case. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;lol&lt;/span&gt;. He's making others lose sleep over issues like reservation for private sector etc. And colleges in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Mumbai&lt;/span&gt; may just make thousands lose sleep,if they win some case in court, by raising the annual &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;engineering&lt;/span&gt; fees to 74k.&lt;br /&gt;&lt;br /&gt;Really, why did the PM had to *lose sleep* over _this_ particular issue ?&lt;br /&gt;Nice place to quote Mr. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Deve&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Gowda&lt;/span&gt; ( former PM of India , and the guy who never lost sleep :P ), when he defended the criticism about him sleeping in all &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;meetings&lt;/span&gt;. He said something to the tune of "I'm sleeping in meetings, the others are sleeping over matters" :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-4801045523495889567?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/4801045523495889567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=4801045523495889567' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/4801045523495889567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/4801045523495889567'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2007/07/fair-trial.html' title='Fair Trial ?'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-2066752500348969219</id><published>2007-06-27T21:58:00.000+05:30</published><updated>2007-06-28T00:14:20.745+05:30</updated><title type='text'>Anti-National ?</title><content type='html'>Ok, that may be too strong a word to use, but can't help but say it. ( but will anyway refer to it as AN in this post :P )&lt;br /&gt;&lt;br /&gt;DMK and Shiv Sena.&lt;br /&gt;The above two are probably the most prominent of the AN parties. Of course, one can (after very simple calculations ) conclude that all politicians are AN, but that's a different discussion altogether.&lt;br /&gt;&lt;br /&gt;DMK plays Pied Piper and UPA dances to the tune. The ultimate effect is of course-&gt; we all drown in the river like the rats. DMK even has a reservation in the parliament for some fixed number of MPs from their party ( and they do the selection without a hint of a discussion with the UPA ), like the recent telecom minister fiasco.&lt;br /&gt;&lt;br /&gt;Shiv Sena, well , do I need to say anything ? If you are not a Maharashtrian, possibly you are not even an Indian to them. Interestingly, most people they idolise are not *pure* maharashtrians ( read &lt;a href="http://timesofindia.indiatimes.com/India/Whos_a_pucca_Marathi_Sena_faces_tough_poser/rssarticleshow/2129891.cms"&gt;this&lt;/a&gt; ). I wonder why they don't idolise Rajni Kant. ( because he's been living in the south ? hmm, I thought they had moved their target from the south to UP and Bihar now. ).&lt;br /&gt;&lt;br /&gt;But, I guess DMK altleast sees success in AN activities ( umm, when they see beyond TN that is ).&lt;br /&gt;&lt;br /&gt;But Shiv Sena are pure l0sers. The purest of the kind. When everything fails they resort to violence ( The same way as certain people do all over the world and is currently the most feared &lt;a href="http://en.wikipedia.org/wiki/Terrorists"&gt;word &lt;/a&gt;). I see no difference between the two types of people. Both are cowards.&lt;br /&gt;&lt;br /&gt;Was this post offensive :P ? The next I'll be hearing , they are planning some &lt;a href="http://www.expressindia.com/fullstory.php?newsid=87927"&gt;software&lt;/a&gt; to block my blog. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-2066752500348969219?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/2066752500348969219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=2066752500348969219' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/2066752500348969219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/2066752500348969219'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2007/06/anti-national.html' title='Anti-National ?'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-6938701700647691894</id><published>2007-06-18T13:17:00.000+05:30</published><updated>2007-06-18T13:26:54.363+05:30</updated><title type='text'>It's that time of the year ...</title><content type='html'>It's that time of the year again...&lt;br /&gt;&lt;br /&gt;When I have to shift my tent again. Worry  whether the cat will run away during the shifting process. Get a new internet connection ( hopefully not ).&lt;br /&gt;Hopefully the next home will not be as dark and gloomy as the current one.&lt;br /&gt;&lt;br /&gt;Why am I shifting ? Because the tenants gave some foobar reason why they want their house back.&lt;br /&gt;I wish searching for a new rented house was as easy as a google search.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-6938701700647691894?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/6938701700647691894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=6938701700647691894' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/6938701700647691894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/6938701700647691894'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2007/06/its-that-time-of-year.html' title='It&apos;s that time of the year ...'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-3953308971161010905</id><published>2007-03-17T22:20:00.000+05:30</published><updated>2007-03-17T22:26:41.892+05:30</updated><title type='text'>Pay your bills</title><content type='html'>Another in the series of rants about my college, but maybe this one is something no one must ever have experienced before. At least not someone who belongs to a college so famed, owned by as large an institute as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Bharatiya&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Vidya&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Bhavans&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;I was to take the permission for one of our computer labs for a workshop conducted by &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;IEEE&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;SPCE&lt;/span&gt;-SPIT. Well, we have a centralised system in place in our college. All permissions need to be signed by our `esteemed` principal.So i had to go to my principal to get the permission letter signed.&lt;br /&gt;&lt;br /&gt;She has a reputation of causing a lot of trouble whenever people come to take permissions like,checking for spelling mistakes, improper grammar of sentences , format of letter etc. I double checked everything before going to her.&lt;br /&gt;&lt;br /&gt;I have concluded that she's a sadist. She can generate more and more trouble without any efforts.First, she made a big fuss about the word `&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;IEEE&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;SPCE&lt;/span&gt;` being written in the letter&lt;span style="font-style: italic;"&gt;[1]&lt;/span&gt;.&lt;br /&gt;She made statements like 'I can't understand what's written. Which college is this?'.&lt;br /&gt;Then after i made her understand that our student branch is registered as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;IEEE&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;SPCE&lt;/span&gt; but all our activities our conducted as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;IEEE&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;SPCE&lt;/span&gt;-SPIT, she moved on to cause further trouble.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(certain statements have been removed for no particular reason)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Principal&lt;/span&gt;: Who gives you the money to fund these activities ?&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Me&lt;/span&gt;: Ma'am, Our student branch funds it.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Principal&lt;/span&gt;: But where do you get the money from ?&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Me&lt;/span&gt;: We get sponsors for our events.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Now comes the real fun )&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Principal&lt;/span&gt;: But who's going to pay for the maintenance of the PCs, the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;ACs&lt;/span&gt; ? Who is going to pay for the electricity that you are going to use ?&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Me&lt;/span&gt; : &lt;span style="font-style: italic;"&gt;(silence)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I was honestly shocked to hear such a question.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Principal&lt;/span&gt;: Do you know that the college pays Rs. 1,00,000 as electricity bills every month.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Me&lt;/span&gt;: No. Ma'am but these events and workshops are useful and help the students a lot.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Principal&lt;/span&gt;: Fine, but they are extra-curricular activities. They aren't in your curriculum are they? They are not there in your syllabus.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Me&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;(of course, silence. What would you have said if your principal said this ?)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Principal&lt;/span&gt;: I am not saying anything about your usage of electricity during your college hours.But for all these extra activities, I will give you permission only if you give it to me in writing that you'll pay the bills for your usage. I'll speak to your &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;IEEE&lt;/span&gt; counsellor about it. Should i write it here and give it to her ?&lt;br /&gt;Me: No, it's OK. I'll convey your message to her. Thank you Ma'am.&lt;br /&gt;&lt;br /&gt;..and i left. Well, it was a weird experience. One that I've never had before. Didn't know some &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;PhDs&lt;/span&gt; can be as illogical as our lecturers...&lt;br /&gt;I then went to our &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;IEEE&lt;/span&gt; counsellor. I won't write about that conversation here because I have too much respect for our &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;IEEE&lt;/span&gt; counsellor.But we were assured that the workshop would happen and it did happen :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[1]&lt;/span&gt; My college ,when I joined, was split into two parts.&lt;br /&gt;  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;SPCE&lt;/span&gt; - Mechanical, Electrical and Civil Engineering ( they get grants from government )&lt;br /&gt;  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;SPCE&lt;/span&gt; Unaided wing - Computer Science, Electronics and  IT ( we don't)&lt;br /&gt; &lt;br /&gt;  Two years ago the unaided wing became SPIT - &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;Sardar&lt;/span&gt; Patel College of Engineering&lt;br /&gt;  I currently belong to the last batch of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;SPCE&lt;/span&gt; - Unaided Wing&lt;br /&gt;  And the principal I wrote about is the principal of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;SPCE&lt;/span&gt; Unaided Wing and SPIT&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-3953308971161010905?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/3953308971161010905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=3953308971161010905' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/3953308971161010905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/3953308971161010905'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2007/03/pay-your-bills.html' title='Pay your bills'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-1963488767939254507</id><published>2007-03-06T23:53:00.000+05:30</published><updated>2007-03-07T00:03:26.568+05:30</updated><title type='text'>Banking on College</title><content type='html'>Good investment guides say , one should have 10% of their assets in banks and the rest, the 90%, in various other investments.&lt;br /&gt;But a very large number of people, do the exact opposite. They keep 90% of their money in Banks and 10% in other good investments.&lt;br /&gt;&lt;br /&gt;An engineering college is so much like a bank.&lt;br /&gt;&lt;br /&gt; Students spend 90% of their time in college and 10% doing other things, whereas it should ideally be the other way around.&lt;br /&gt;&lt;br /&gt;C'mon, even if you put as large as 90% of your assets in the bank, it never gives you any advantage than its meagre interest rate of around 5%.&lt;br /&gt;    Same is with college. Infact it's worse. There isn't even an advantage of 5% for spending more than 90% of one's time in college. And i have not even counted the 40k that i additionally invest every year :(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-1963488767939254507?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/1963488767939254507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=1963488767939254507' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/1963488767939254507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/1963488767939254507'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2007/03/banking-on-college.html' title='Banking on College'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-5284025235711937819</id><published>2007-03-06T23:42:00.000+05:30</published><updated>2007-03-06T23:52:35.448+05:30</updated><title type='text'>Segmentation Phault</title><content type='html'>&lt;blockquote&gt;Some programs were giving Segmentation fault. That is because the OS cannot fetch the memory table. Those are technical difficulties. I can't go to OS level and do anything about it. For those of you, whom the program was working - take printout&lt;br /&gt; &lt;div style="text-align: center;"&gt;         -- An OS lecturer at SPCE&lt;br /&gt; &lt;/div&gt; &lt;/blockquote&gt; Er, please don't read the last line of this web page which says about `This page is licensed under ... ` blah blah&lt;br /&gt;I won't claim any of that :P&lt;br /&gt;&lt;br /&gt;Is this what happens when the same lecturer teaches you Digital Logic and Design in one semester, Database Systems in the next, Operating Systems later on, and then Computer Simulation and Modelling in the future ?&lt;br /&gt;&lt;br /&gt;That's four &lt;span style="font-style: italic;"&gt;core&lt;/span&gt; subjects &lt;span style="font-style: italic;"&gt;dump&lt;/span&gt;ed on her !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-5284025235711937819?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/5284025235711937819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=5284025235711937819' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/5284025235711937819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/5284025235711937819'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2007/03/segmentation-phault.html' title='Segmentation Phault'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-4269618021103804526</id><published>2007-02-09T01:59:00.000+05:30</published><updated>2007-02-09T01:58:18.173+05:30</updated><title type='text'>The Temple of Education</title><content type='html'>No. I am sure i didn't do anything wrong. Seriously. But it's not a fair world afterall. You get punished even if you are right. The worst part is I know it's going to take place every year for four years, still I have to pay 43000 odd rupees to get punished.&lt;br /&gt;&lt;br /&gt;Earlier it used to be new bad lecturers every semester. Then the lecturers use to leave, and we got newer worse ones the next semester. I always used to complain about that.&lt;br /&gt;&lt;br /&gt; "We don't have any lecturer who's good enough to stay longer than one semester".&lt;br /&gt;&lt;br /&gt;Last semester, I realised I was partly wrong.&lt;br /&gt; Good lecturers don't stay for longer than one semester. They get fed up of teaching in a weirdo college and leave in half a semester.&lt;br /&gt; We had a ub3r cool professor, who had just completed his M Tech from IIT teaching us Theoretical Computer Science. He didn't stay for more than a month.&lt;br /&gt;&lt;br /&gt;This semester I realised I was fully wrong.&lt;br /&gt;New lecturers who stay for longer than one semester are so bad, that they have no other place other than my college. :P.&lt;br /&gt;&lt;br /&gt;We have an assortment of bad lecturers who keep competing against each other in "Who's worse" contest.&lt;br /&gt;&lt;br /&gt;Exception: Our (new) HOD.&lt;br /&gt;The only PhD in my department, she's ultra c00l . Thankfully. Some hope still remains .&lt;br /&gt;&lt;br /&gt;It's not entirely the fault of the college or the lecturers, actually. Frankly , there are just a handful of people in the 74 in my class who want to do computer engineering to be a computer engineer. The others *only* want that job in June ( which they'll definitely get ). Or they want those marks for which they keep tagging behind the lecturers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-4269618021103804526?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/4269618021103804526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=4269618021103804526' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/4269618021103804526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/4269618021103804526'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2007/02/temple-of-education.html' title='The Temple of Education'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-573536137100697797</id><published>2006-12-14T16:15:00.000+05:30</published><updated>2006-12-14T16:17:17.672+05:30</updated><title type='text'>Reliance Rocks !</title><content type='html'>It's been about 6 months since I moved from my previous home. The old building is no more now. All i can see there is air.&lt;br /&gt;But well, Reliance can make money out of thin air !! How else can they send us an electricity bill amounting to Rs. 2000 when there's no meter to read !!&lt;br /&gt;I was laughing when my previous neighbour got a similar bill 2 months back. Last month we got it, and this month one more neighbour was sent a BIG bill.&lt;br /&gt;&lt;br /&gt;It's a pity (for Reliance) that there were only 8 houses in my previous building. Not too much scope for them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-573536137100697797?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/573536137100697797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=573536137100697797' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/573536137100697797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/573536137100697797'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2006/12/reliance-rocks.html' title='Reliance Rocks !'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-2513698339080660789</id><published>2006-12-01T02:21:00.000+05:30</published><updated>2006-12-01T02:39:20.982+05:30</updated><title type='text'>Torch - er</title><content type='html'>Quit India. Yes. Leave. Run Away.&lt;br /&gt;&lt;br /&gt;You don't need to do the above if you are&lt;br /&gt;1. A politician&lt;br /&gt;2. A `backward class` citizen of India&lt;br /&gt;&lt;br /&gt;If the above two conditions don't apply, you (and me) are not fit to rot here.&lt;br /&gt;&lt;br /&gt;Some good-for-nothing person does a stupid act in Kanpur. To `protest`, a boy pelts stones in Nashik. (Stupid) Shopkeepers beat this boy, and he (unfortunately) dies.&lt;br /&gt;The media terms the dead boy as a `Dalit Activist`. Clap Clap.&lt;br /&gt;&lt;br /&gt;Oh, i just remembered, you don't need to run away if you work for the media. Especially if you work for a Hindi news Channel.They are the sickest of their kind (or of any kind).&lt;br /&gt;&lt;br /&gt;Some sections of the society can do anything and get away with it. Of course they don't just do `anything`. They are `protesters`.. `activists`.&lt;br /&gt;&lt;br /&gt;Of course what they do is justified. Now, definitely, it isn't wrong to throw stones at cars on the highway not caring about what happens to the people inside the vehicles. C'mon it's their right.&lt;br /&gt;&lt;br /&gt;And don't try to convince me that setting a train ablaze is too much. C'mon the `fire` within the people who set the train ablaze is `incomparable` to such acts of vandalism.&lt;br /&gt;&lt;br /&gt;Run away. Let the politicians play vote-vote and let these people keep burning the nation. Not running away is playing with fire.&lt;br /&gt;&lt;br /&gt;**I didn't believe in caste/creed/race and any of those stuff. But i am fast trying to shed off all those `equality` concepts out of my head. First the bloody reservations and then this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-2513698339080660789?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/2513698339080660789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=2513698339080660789' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/2513698339080660789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/2513698339080660789'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2006/12/torch-er.html' title='Torch - er'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-6183027686150683351</id><published>2006-11-15T06:28:00.000+05:30</published><updated>2006-11-15T06:30:49.746+05:30</updated><title type='text'>Ticket to Extinction</title><content type='html'>The phone bell started ringing at 10:15 AM in the morning. My mother picked up the phone and woke me up and told me it was a `different` voice on the phone.&lt;br /&gt;&lt;br /&gt;To start with , I don't like people calling me up that early in the morning. (Now don't tell me it's not `early` in the morning. It is.). But the word `different` and the way my mother said it made me get up without much haste and talk. It was Samer and he gave me h-o-r-r-i-f-i-c news. I was to go to CST today with him and Ayush to book tickets for the industrial visit of our IEEE student branch.That meant that i would waste an entire day of my PL yet again.&lt;br /&gt;&lt;br /&gt;I have hardly studied for 5 days in my entire preparatory leave.And now that i have wasted another day, there are hardly 5 days remaining :(.&lt;br /&gt;&lt;br /&gt;I ,Ayush and Samer reached Churchgate at around 3:30 PM. Another junior was to join us there. After searching around , crossing the same road 10 times and going around in circles we found him finally or rather thankfully. This junior was to help us in booking tickets. His father is the DRM of Bhusaval division of Indian railways.(for techies,lug members and gpl fanatics, DRM here means Divisional Railway Manager :P ). Very influential.&lt;br /&gt;&lt;br /&gt;Our Industrial visit starts of by catching Udyan Express to Bangalore. After visiting a few (irrelevant) industries there, we were to go to Mysore and from there to Ooty and finally on the last day to Calicut to board the Nethravathi Express back to Mumbai.&lt;br /&gt;Initially we had thought of attaching two extra coaches to Udyan express for our journey as we had 183 people coming with us.But unfortunately we were unaware of the extra coach policy.The coach policy says that the extra coaches that you take along with you have to travel with you and come back with you.In effect we have to pay the travelling expenses for that coach from place x to y to wherever and back to x ( in short : we have to leave the bogie back from where we took it else pay for it to come back ). And as we are travelling by road in between Bangalore and Calicut, we would have had to pay the fare for moving the extra empty coaches from Bangalore to Calicut so that they can come back with us from calicut to Mumbai. Plan Cancelled.&lt;br /&gt;&lt;br /&gt;We then went to check the availability of tickets ( which surprisingly had not been done yet by anyone !! ). We realised that only 192 seats were available for the 7th of January, our departure date and we had to book 183 of them + the fact that we didn't have proper permission for group booking of that many tickets \o/.&lt;br /&gt;&lt;br /&gt;What to do ?. Junior calls up daddy and we get loads and loads of automatic privileges :P. All permission issues resolved. We went to some lady in the ticket reservation centre in CST who apparently was also in a very influential position to help.&lt;br /&gt;So it was like,&lt;br /&gt; Junior-&gt; Daddy -&gt; this lady =&gt; things get better :)&lt;br /&gt;&lt;br /&gt;There was just one BIG missing link (and rude shock) remaining. We had to fill up all those reservation forms for all 183 people, both ways. We sat down writing the reservation forms.&lt;br /&gt;2 trains&lt;br /&gt;for each train :&lt;br /&gt;180 odd students&lt;br /&gt;9 concession forms (20 students on each concession form)&lt;br /&gt;4 reservation form for each concession form ( upto 6 students on each form )&lt;br /&gt;and loads of information on each form, right from full name, to gender to age to concession form number to this to that and the person behind the counter wanted every millimeter of information correct. :(.&lt;br /&gt;I don't know how much i wrote. It was all done in a trance. But i don't think i can ever forget 6529 and 6346 the two train numbers i entered umpteen number of times.&lt;br /&gt;&lt;br /&gt;The only entertainment I and Samer had was overhearing a conversation between the person who was sitting be hing the foregin tourist counter and was lodging some complaint with the police.We had seen around 3 Nigerians at this counter.Apparently these Nigerians showed an expired Visa to this counter person.The Visa itself was apparently fake. The counter person got suspicious and told the Nigerian that he wasn't sure of his Visa and that he had to verify it with someone and went inside. When the person returns back, the Nigerian is nowhere to be seen and his passport was left lying on the counter. :).&lt;br /&gt;&lt;br /&gt;With 99 tickets booked at 7:50 PM, the counter person closed for the day telling us (read: Ayush) to come tomorrow. Thankfully he has blocked the rest of the tickets for us so that no one can book them. So someone hopefully goes today and books them while i sleep / try to study :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-6183027686150683351?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/6183027686150683351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=6183027686150683351' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/6183027686150683351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/6183027686150683351'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2006/11/ticket-to-extinction.html' title='Ticket to Extinction'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-116287066045081225</id><published>2006-11-07T08:57:00.000+05:30</published><updated>2006-11-15T06:26:28.364+05:30</updated><title type='text'>R4nD0m Cr4P</title><content type='html'>100m race. 90m done , racer well placed ..  10 more metres to go. And the racer slows down. And he stops. And finally he sits down to update his blog. Right that's what i am doing.&lt;br /&gt;&lt;br /&gt;Had a hectic semester ( or  made it so ); too busy even to sit down and give justice to the best game on earth ( for those who already don't know, it's minesweeper ). &lt;br /&gt;Ok, maybe academically it wasn't much of a hectic one, but well, i like doing extra-curricular stuff, and i guess i had too much of it this sem.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To start with , the most tiring and draining was being in the Tech Team of Nirmaan , an  IEEE organised (almost) technical festival in my college. Was a test of every damn thing on earth for me. Test of endurance, test of patience, test of .. [put every bad thing here ]. None of the tests were technical though.&lt;br /&gt;&lt;br /&gt;Being in the TechTeam,&lt;br /&gt;I realised that there's no such thing as "Nothing is Impossible". There are things which (who) are impossible."People".&lt;br /&gt;&lt;br /&gt;I don't think google has enough storage capacity to store my rants about such people i encountered, so i won't write them here.&lt;br /&gt;&lt;br /&gt;Then there was my PCT ( Presentation and Communication Techniques) project. Group of 9 people. That figure says it all. 9 people in one project !! &lt;br /&gt;&lt;br /&gt;Even if realising it once wasn't enough, I realised again that there's no such thing as "Nothing is Impossible". There are things which (who) are impossible. People.&lt;br /&gt;&lt;br /&gt;The most impossible of all the people is ,i guess, my new principal. Who else can think of a brilliant idea to make people who have less than 50% attendance in more than two subjects this semester to sign an undertaking on a stamp paper that they'll attend atleast 95% (+n impossible) next semester. Or else their results of this semester will be null and void.&lt;br /&gt;&lt;br /&gt;Had to do many decisions this sem, most of them being hard.And, for the first time maybe i don't repent most of them that i took. Infact from the decisions that went wrong i got confirmation that some decisions that i took in the previous semesters were right on target.:).So all in all it was a win-win situation. :P&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;All of the above very much related to my college stuff.&lt;br /&gt;&lt;br /&gt;Elsewhere, at a place called home, things are getting weirder with another cat temporarily camping. Intentions seem to be making the camp a permanent one, but i don't think my previous cat entertains the act much. That's one thing which needs to be kept a watch upon.&lt;br /&gt;&lt;br /&gt;Programming goes on as usual with me seriously considering fitting my sleep time within compiles.:P&lt;br /&gt;&lt;br /&gt;Was seriously disappointed to know my exam dates.Why the hell did they have to keep an exam on the 24th of November ?. Hell. We have 8 days of holidays between some exams. But 24th had to be an exam day :(. Too bad. Foss.in, Maybe next time.&lt;br /&gt;&lt;br /&gt;Only two weeks remaining for my exams, and i'm still wondering when i'll actually start studying!!.&lt;br /&gt;So before i lose link with whatever minuscule bit i know,off i go. ( er, off i go to sleep i mean. maybe i'll start later today ;) )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;p.s. yes, i know i've lost it. But it was you who was an idiot who read the entire thing even after it was titled `R4nd0m Cr4p`.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-116287066045081225?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/116287066045081225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=116287066045081225' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/116287066045081225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/116287066045081225'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2006/11/r4nd0m-cr4p.html' title='R4nD0m Cr4P'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-115824312503554091</id><published>2006-09-14T19:17:00.000+05:30</published><updated>2006-11-15T06:26:28.295+05:30</updated><title type='text'>Which Apache ?</title><content type='html'>Right. Which apache ? The Tribe ?, the French thug ? the dance ? the movie ? the novel ? Apache Indian ?. So much to differentiate. Well, i started to wonder what the hell this guy is asking me when he asked me the same question.&lt;br /&gt;&lt;br /&gt;The context was a bit different.It was about my third year computer engineering project. My group was doing a game. Virtual Stock Market. A regular in college festivals, we thought we'd do a shift in code base from the existing disgusting VB to the eternal apache-mysql-php.&lt;br /&gt;Ah. Now you know which apache i was speaking about. Nah, but my 'professor' didn't.&lt;br /&gt;&lt;br /&gt;Unfortunately for me, he asked my group a project progress report. Well ,i don't like to be tongue tied at such times so i tried to exaggerate the little that we had done. He could have asked me so many questions. So many embarassing questions. I still wonder why he had to ask me that particular question. &lt;br /&gt;&lt;br /&gt;Why am i being so nice? He didn't ask me one question ! He asked me three such questions. With great pain and shame i write them here.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;after i tried hard to save my skin&lt;/span&gt;&lt;br /&gt;Prof : "Ok. So which apache are you using ?"&lt;br /&gt;Me   : "Which apache ?. Sir , Do you mean the version ? I think it's Apache 2. something "&lt;br /&gt;Prof : "No. not that. Which apache ? "&lt;br /&gt;Me   : "Sir, sorry i didn't understand you. "&lt;br /&gt;Prof : "Ok. Are you using some scripting language "&lt;br /&gt;Me   : "Yes sir. PHP "&lt;br /&gt;Prof : "PHP ? Ok. So are you using some database too ? "&lt;br /&gt;Me   : "Yes sir. MySql "&lt;br /&gt;Prof : "Ok. Which MySql are you using "&lt;br /&gt;Me   : "Sir. Mysql version 5.0 "&lt;br /&gt;Prof : "No but which mysql are you using ? "&lt;br /&gt;Me   : "Sir i didn't get you "&lt;br /&gt;Prof : "Are you using mysql with linux or mysql with windows ?"&lt;br /&gt;Me   : "Sir, i am using it in Linux, my partners are using it in Windows "&lt;br /&gt;Prof : "No.But how ?. Which apache are you using ? "&lt;br /&gt;Me   : "Sir,I use apache in Linux and the others in Windows.The binaries of apache are different"&lt;br /&gt;Prof : "But the code ? Does it work everywhere ?"&lt;br /&gt;Me   : "Of course &lt;span style="font-style:italic;"&gt;yes&lt;/span&gt; sir "&lt;br /&gt;Prof : "Are you sure ? "&lt;br /&gt;Me   : "Yes sir"&lt;br /&gt;&lt;span style="font-style:italic;"&gt;prof leaves&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Right, like the international cricket they play in MCG and Lord's is different.!&lt;br /&gt;&lt;br /&gt;Nah, I would have understood it if it was some other lecturer. The lecturer who taught us Database Systems didn't know any crap about database systems herself.&lt;br /&gt;&lt;br /&gt;But c'mon now.If you were in my place wouldn't you expect something better from the HOD ?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;ah, feels so proud to be in SPCE, computer engineering.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sometimes you feel there indeed is a God up there. Now why else would my HOD be changing the next month ? :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-115824312503554091?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/115824312503554091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=115824312503554091' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/115824312503554091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/115824312503554091'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2006/09/which-apache.html' title='Which Apache ?'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-115409718982650997</id><published>2006-07-28T19:58:00.000+05:30</published><updated>2006-11-15T06:26:28.223+05:30</updated><title type='text'>one year,</title><content type='html'>that's what's passed by since a cat was found lying in front of my friend's door. Displaced by the floods, a tiny creature , not much larger than the size of a closed fist , lay there completely disoriented, lost , hungry.My friend told me about it and i, weak as i become by the mere sight of a cat, bought it to my home. &lt;br /&gt;&lt;br /&gt;one year, &lt;br /&gt;&lt;br /&gt;that's what's passed by since this tiny orange black creature started running around , playing in my home, leaving me with pleasant and unforgettable memories. A creature, which has grown up in my presence, which has faced more ordeals in it's one year, than i have in my entire life till now.&lt;br /&gt;&lt;br /&gt;one year,&lt;br /&gt;&lt;br /&gt;that's what's passed by since my cat has tried it's hands (and legs) on everything under the sun. Restless as a cat is, it has jumped from the first floor and fractured it's legs; it has gone on a hunger strike for several days at a stretch and when it finally thought it was time to break the fast it broke it's teeth while chewing the first morsel it had.So much for that.&lt;br /&gt;&lt;br /&gt;one year,&lt;br /&gt;&lt;br /&gt;that's what's passed by since all the 'big' cats from my locality have fought with this tiny cat of mine, troubled it to no ends, left my family sleepless and worried in thoughts of where and whom this nocturnal animal has gone to take a fight with this moonless night.&lt;br /&gt;&lt;br /&gt;one year,&lt;br /&gt;&lt;br /&gt;that's what's passed by... i have had cats around me for more than 10 years, but it was this one year that passed by that confirmed me more than ever that,&lt;br /&gt; you can own a dog , but you can only feed a cat .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-115409718982650997?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/115409718982650997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=115409718982650997' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/115409718982650997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/115409718982650997'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2006/07/one-year.html' title='one year,'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-115308793977128988</id><published>2006-07-17T03:39:00.000+05:30</published><updated>2006-11-15T06:26:28.143+05:30</updated><title type='text'>Marketing tips (what not to do)</title><content type='html'>Was feeling very hungry today.So thought would go and buy something myself (for a change :) ) Went to a shop (fooShop) and asked fooPersonA for some chips.Then went to another shop (barShop) and bought some samosas.Then i remembered there was no sauce at home.So i went to fooShop again.&lt;br /&gt;&lt;br /&gt;fooPersonA was not there. I asked fooPersonB to give me a bottle of sauce.He saw the packet of chips in my hand and apaprently thought i had bought it from some other shop.He mumbled something that i couldn't hear properly.&lt;br /&gt;&lt;br /&gt;And then started the fun part.Apparently with some zest for marketing or whatever , he showed another packet of that same chips and told me&lt;span style="font-style: italic;"&gt; 'Dekho in do packet ko. In mein Zameen Asmaaan ka difference hai'&lt;/span&gt;. :)&lt;br /&gt;&lt;br /&gt;I told him coolly that i had bought the packet from the same shop. Also couldn't resist asking whether there was a 'zameen asmaan ka difference between two packets from the same shop of the same commodity'. At such times, i really miss a camera in hand.!! The look on fooPersonB's face was worth a million dollars.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-115308793977128988?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/115308793977128988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=115308793977128988' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/115308793977128988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/115308793977128988'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2006/07/marketing-tips-what-not-to-do.html' title='Marketing tips (what not to do)'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-115308645184571024</id><published>2006-07-17T02:59:00.000+05:30</published><updated>2006-11-15T06:26:27.933+05:30</updated><title type='text'>Dialing Down</title><content type='html'>So finally I have unlimited internet access for a finite cost. Got a narrowband unlimited plan.72Kbps.Pacenet.Even that has a story which people who eventually read this already know about.Still.Read again. :)&lt;br /&gt;&lt;br /&gt;After discussions on irc with a modem guy (&lt;a href="http://web.gnuer.org"&gt;devmodem&lt;/a&gt;) and answering a gruelling and tiresome questionnaire, I decided to take a narrowband plan instead of triband,mtnl. What did I opt for? 48Kbps. I thought that was enough.&lt;br /&gt;As usual,I was wrong. :-P. Ignorant me!!&lt;br /&gt;&lt;br /&gt;Had read somewhere about pacenet providing a separate username@linuxuser id for linux users.So I had thought there would be no problems with the my-ISP-not-compatible-with-linux' thing.I said linux linux linux to maybe everyone at my cable operator's office (er,they had never heard of that word before apparently).I told them to ask the pacenet guys what is the procedure to get a linux account. But they thought they were smart enough.Set up the infrastructure,registered an account and told me I had to send an email to CC myself.&lt;br /&gt;&lt;br /&gt;I called up CC, told them that i wanted a linux account. When they said I needed a connection &gt;=72Kbps for Linux I felt like jumping out of the window and committing suicide. As fate would have it, my new home is in the ground floor.Would have made no difference. :). I queried whether my current connection can be upgraded. They said a resounding 'yes'.It was 8 at night by that time,and everyone at my operator's office had fled home. Through the night, I kept trying to do all the stuff written in the internet to use pacenet connection on linux by fooling them using their own 'encryption' . But apparently, the passwords I managed to capture in ethereal were changing every session.So much for that.&lt;br /&gt;&lt;br /&gt;The next day,my operator said that upgrading and stuff is an unheard of thing&lt;br /&gt;and that I would have to be content with my win32 connection for one month.:(. I called up Pacenet CC and told them my operator had gone nuts. They told me I had gone nuts (not exactly..but :)) and that I could do no such thing as upgrading' until the next month.Fortunately for me, I was still on the ground floor.&lt;br /&gt;&lt;br /&gt;Well,i stormed into the operator's office and gave him a piece of my mind. Told him that i would be left jobless [:)] for a month,and that it was due to his irresponsibility that i am suffering.After emotionally blackmailing him for 1 hour and a series of calls he made in another hour and telling me that they provided no online support for linux (that means i wouldn't have to waste my money to call CC and still not get any solution..yipee) ,they finally told me that they would 'upgrade' it.&lt;br /&gt;&lt;br /&gt;Took a day for that to happen.But that was least of my problems solved. I couldn't connect.Neither through pppoe nor rp-pppoe.Everytime i tried i got an 'Authentication Failed'.The next day,i called CC and was ranting about something, he told me to do something on win32 that i kept wondering about&lt;br /&gt;later.Tried an analogical thing (pppconfig) in linux and it worked!!&lt;br /&gt;&lt;br /&gt;I realised that pppoe was not working directly because there were too many access-concentrators in my area, and i didn't know any option that pppoe had to choose one of them.I think pppoe was by default choosing the first one it got through pppoe-discovery which happened to be exatt, and hence i was getting that 'Authentication Failed'. This was in Debian Sarge r0. Tried to do a similar thing in r2 and it didn't work.Arghh..but thankfully rp-pppoe worked in r2.:).Yet to try it on my FreeBSD. Hope it works there.I was actually thinking of shifting to it. Seems adventurous:)&lt;br /&gt;&lt;br /&gt;So, here i am, enjoying my cable net in my new home (officially shifted today).Time has arrived for me, to come out of the stone age that i was living in.&lt;br /&gt;And yes, i 'm no more accountable to phone bills. :) Yipeeeeeeee.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-115308645184571024?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/115308645184571024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=115308645184571024' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/115308645184571024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/115308645184571024'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2006/07/dialing-down.html' title='Dialing Down'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-115150207582229815</id><published>2006-06-28T19:03:00.000+05:30</published><updated>2006-11-15T06:26:27.874+05:30</updated><title type='text'>Countdown begins.....</title><content type='html'>...and a sad one for that.Definitely.My family is shifting to another place.Official date is 1st July. Why are we shifting? Becuause a big R&amp;R is going to take place here.&lt;br /&gt;Relocation &amp;amp; Rehabilitation? :-)&lt;br /&gt;No.. It's ReConstruction and ReDevelopement.&lt;br /&gt;&lt;br /&gt;In short that means I'm never going to see my current home again.&lt;br /&gt;Never again.What I'll see 2 years later will be new multistorey buildings (such a contrast to the one floor housing board flat i'm living in now)&lt;br /&gt;&lt;br /&gt;Well, shifting is indeed a sad moment for me.&lt;br /&gt;Why?&lt;br /&gt;&lt;br /&gt;1. I've lived in my current home all of my life except for one year in  Hosur.(atleast my memory says so)&lt;br /&gt;&lt;br /&gt;2. The place I currently live in is well isolated from interfering and noisy people.Only the vehicles have caused much noise. Whereas, the place i am going to move to is a well established colony with people all around.&lt;br /&gt;Well..maybe i am a bit touchy about privacy... :-)&lt;br /&gt;&lt;br /&gt;3. My current home has a weird structure with absolutely no sense of architecture.The next one has some sort of an established format which i feel odd about.Well...maybe, i don't quite like things normal. :-)&lt;br /&gt;&lt;br /&gt;4. I'll sorely miss (?) my first floor leaky bucket roof. It was such an  entertainer!!.&lt;br /&gt;The roofs had an uncanny ability to start spraying water wherever i placed my computer,forcing me to move it to some other location innumerable number of times.&lt;br /&gt; I'm moving to a ground floor flat now.No substitute for leaky roofs.. eh? Err..No. Maybe floods are... (o_O)&lt;br /&gt;&lt;br /&gt;5. I lived elsewhere in the one year that i mentioned in the first point. I had a cat there.When we shifted back from there the cat ran away in fright in the packing process. I have a cat now. Well...i don't want history to repeat itself.&lt;br /&gt;&lt;br /&gt;6. No more,&lt;br /&gt;   Get out of house -&gt; Run behind bus -&gt; Get on to it and reach college  for me&lt;br /&gt;&lt;br /&gt;It'll take some time for me to reach out of the colony itself to reach the road.Can't believe i'll have to wait in the bus stop..!! That's terrible.&lt;br /&gt;&lt;br /&gt;7. And certain trivial things like my landline number will change. :-). Will be  under Oshiwara telephone exchange now.&lt;br /&gt;&lt;br /&gt;Am i providing resistance to change..?.Maybe i am.I don't know.It's just that there's so much attachment. (much of it developed only in the past week... :-) ).&lt;br /&gt;&lt;br /&gt;In any case, it's high time that we shifted.The R&amp;R talks have been on since a VERY long time (...much of the delay due to the unsurmountable greed which people in my building seemed to show.).&lt;br /&gt;&lt;br /&gt;The better side,&lt;br /&gt;&lt;br /&gt;Finally i can have broadband internet access at home which was delayed mainly because,&lt;br /&gt;1. The initial investment is on the higher side.  &amp;amp;&amp;&lt;br /&gt;&lt;br /&gt;2. Every month (since the last one year) my mother told me we may shift within the next three months. &amp;amp;&amp;&lt;br /&gt;&lt;br /&gt;3. We didn't know where we'll eventually shift to. &amp;amp;amp;&amp;amp;&lt;br /&gt;&lt;br /&gt;4. And service providers change with area.&lt;br /&gt;&lt;br /&gt;Will live under that hope.There's so much remaining to do with the internet for me.&lt;br /&gt;&lt;br /&gt;My new home beckons.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-115150207582229815?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/115150207582229815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=115150207582229815' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/115150207582229815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/115150207582229815'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2006/06/countdown-begins.html' title='Countdown begins.....'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-115098009683545740</id><published>2006-06-22T18:03:00.000+05:30</published><updated>2006-11-15T06:26:27.819+05:30</updated><title type='text'>Alt+SysRq+R</title><content type='html'>...that kernel command allows input from keyboard even if X-Windows has gone kaput.Wish i knew something like that before...maybe i could have saved my computer,which is in its death bed.. :-(&lt;br /&gt;&lt;br /&gt;There's nothing right in my computer hardware. My RAM chips keep failing their memory tests (there is a tumour of bad flip-flops or gates or capacitors or whatever growing there), my monitor has yellow fever, my CDROM drive can't see properly (lens problem i guess..),well... the list goes on.&lt;br /&gt;&lt;br /&gt;Result..&lt;br /&gt;1. My X-Server keeps freezing at the worst possible time.I can't browse the web.&lt;br /&gt;&lt;br /&gt;2. I can't listen to music,or chat without the assurance of a guaranteed uptime.( The uptime of my (on an average) is something around 2 hours.&lt;br /&gt;&lt;br /&gt;3. I supplement that fact by overloading my memory (whcih is brok3n) and my&lt;br /&gt;swap space.&lt;br /&gt;&lt;br /&gt;4. My fingers have developed a strong attraction to a button named 'reset'&lt;br /&gt;And yes.. the frequent power cuts that i have thanks to Reliance doesn't help my cause either.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;My saviour,&lt;br /&gt;Alt+SysRq (or Print Screen)&lt;br /&gt;&lt;br /&gt;Thanks a lot &lt;a href="http://web.gnuer.org"&gt;Anurag&lt;/a&gt;, for introducing me to the most important keyboard keys.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikibooks.org"&gt;WikiBooks&lt;/a&gt; has a comprehensive guide as to  what to do when your computer has frequent attacks from the ice age.(i mean, &lt;a href="http://http://en.wikibooks.org/wiki/Linux_Guide/Freezes"&gt;freezes&lt;/a&gt;..).&lt;br /&gt;Click &lt;a href="http://http://en.wikibooks.org/wiki/Linux_Guide/Freezes#Alt.2BSysRq"&gt;here&lt;/a&gt; to see the page.&lt;br /&gt;&lt;br /&gt;They are all direct kernel commands.And yes... write it down somewhere so that you know what to do on a snowy day. If you can remember all (or most of ) them,still better. I know it'll stick to my head...'cause i'll be using it more than anyone out there...any bets?&lt;br /&gt;&lt;br /&gt;Alt+SysRq+E&lt;br /&gt;Alt+SysRq+I&lt;br /&gt;Alt+SysRq+U&lt;br /&gt;Alt+SysRq+O&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-115098009683545740?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/115098009683545740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=115098009683545740' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/115098009683545740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/115098009683545740'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2006/06/altsysrqr.html' title='Alt+SysRq+R'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-115091137766380365</id><published>2006-06-21T22:52:00.000+05:30</published><updated>2006-11-15T06:26:27.756+05:30</updated><title type='text'>Python GUI's comparision...</title><content type='html'>Subscribed to &lt;a href="http://mail.python.org/mailman/listinfo/python-list"&gt;python mailing lists&lt;/a&gt; recently.... A busy list it is, by no doubt. I get hundreds of mails within a day.&lt;br /&gt;&lt;br /&gt;A person recently &lt;span style="font-family:arial;"&gt;put&lt;/span&gt; forth a question (see below or click &lt;a href="http://mail.python.org/pipermail/python-list/2006-June/347554.html"&gt;here)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;/pre&gt; &lt;blockquote&gt;   &lt;pre&gt;Hi&lt;br /&gt;i want some info ...&lt;br /&gt;plz tell me the benefit  (or any data) of each gui (pyqt , pyqtk ,&lt;br /&gt;wxpython , tkinter ..)&lt;br /&gt;in the other hand wich one you offer (and why ?) ?&lt;/pre&gt; &lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;/blockquote&gt;The reply to it was, well... what can i say..? decide for yourself... (see below or click &lt;a href="http://mail.python.org/pipermail/python-list/2006-June/347561.html"&gt;here&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;blockquote&gt;Well, as you can see pyqt, pyqtk, and wxpython must be far better&lt;br /&gt;than tkinter because they have python (or bits of python) in&lt;br /&gt;their names.  In turn, you can also clearly determine that&lt;br /&gt;wxpython is better than pyqt and pyqtk because it has the whole&lt;br /&gt;word "python" in its name, not some sissy-minded cropping of the&lt;br /&gt;word.  And as far as pyqt and pyqtk go, clearly, because of the&lt;br /&gt;"k" suffix (which we all know means "kilobyte"), is a thousand&lt;br /&gt;times better than pyqt (or 1024x better, depending on whether you&lt;br /&gt;use computer measurements or hard-disk-space measurements).&lt;br /&gt;Thus, you find the ranking must be&lt;br /&gt;&lt;br /&gt;1) wxpython (best)&lt;br /&gt;2) pyqtk&lt;br /&gt;3) pyqt&lt;br /&gt;4) tkinter (worst)&lt;br /&gt;&lt;br /&gt;There's also pygtk which you must not have seen, because it is&lt;br /&gt;not on your list.  This would rank at 2.5 in the above list&lt;br /&gt;because it&lt;br /&gt;&lt;br /&gt;1) does have "py" in the name, and&lt;br /&gt;2) "g" comes before "q" in the alphabet, and we know that later&lt;br /&gt;versions must be better&lt;br /&gt;3) it has a "k" in its name, and must also be 1k times better&lt;br /&gt;than the non-existent "pygt"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hopefully these facts, unclouded by alleged "facts" that you&lt;br /&gt;might find during the most basic of searches on google, will help&lt;br /&gt;you make a *rational* decision regarding which GUI toolkit is&lt;br /&gt;best. ;)&lt;br /&gt;&lt;br /&gt;-tkc&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="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;/span&gt;&lt;br /&gt;&lt;br /&gt;hmm.. ... anyway ... this is not original content by me... so not under any license of mine....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-115091137766380365?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/115091137766380365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=115091137766380365' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/115091137766380365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/115091137766380365'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2006/06/python-guis-comparision.html' title='Python GUI&apos;s comparision...'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-114903296579366720</id><published>2006-05-31T04:57:00.000+05:30</published><updated>2006-11-15T06:26:27.702+05:30</updated><title type='text'>Raining Cats and Dogs...</title><content type='html'>&lt;div style="text-align: left;"&gt; &lt;div style="text-align: center;"&gt; &lt;/div&gt; &lt;div style="text-align: left;"&gt; &lt;div style="text-align: left;"&gt;&lt;a href="http://www.flickr.com/photos/44497385@N00/156782055/" title="Photo Sharing"&gt;&lt;img style="margin: 0pt 10px 2px 0pt; float: left; cursor: pointer;" src="http://static.flickr.com/67/156782055_2a2693bb5c_o.png" alt="cat" height="96" width="96" /&gt;&lt;/a&gt; After the scorching heat of this summer (to anyone who thinks otherwise , try living under the asbestos sheet at my home),it finally rained today...and how!! To share my misery of feeling terrible in the heat,was my dear cat.It always gave me the feeling that someone was feeling worse than me. The only place i could see it the entire day was lying down half inside the bathroom. And whenever it got up it used to be half wet.It never even resisted the drops of water that i used to sprinkle on it occasionally.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I have had countless cats (stray cats) around me in my home for about 12 years now.All that i learnt from childhood was that cats hated water even touching their body. This cat came into my life , when it was hardly 2-3 months old, ... an outcome of the great floods that took place last year on 26th July. Now does that relate somehow to the behaviour it shows with water ?? If it were human it would rather have had some sort of a 'Water Trauma' or whatever-phobia it is called...&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Even today when it was raining so heavily, it went to the balcony and sat on the parafeet wall till it got half wet...and then after some time on the window sill...again getting half wet..&lt;br /&gt;&lt;br /&gt;This is what &lt;a href="http://en.wikipedia.org/Cat"&gt;&lt;span style="font-style: italic;"&gt;wikipedia&lt;/span&gt;&lt;/a&gt; quotes :&lt;br /&gt;&lt;br /&gt;'If a cat is continually exposed to water from a very young age,&lt;br /&gt;often it will develop a fondness for it; however, this rarely if ever&lt;br /&gt;occurs naturally'&lt;br /&gt;&lt;br /&gt;I guess I never understood cat psychology.... the only creature I have ever tried to understand... such a pity... maybe i'll have to do some googling...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Took a line from &lt;a style="font-style: italic;" href="http://en.wikipedia.org"&gt;wikipedia&lt;/a&gt;.. :-)  Hence, this article is licensed under &lt;a href="http://http://www.gnu.org/licenses/licenses.html#FDL"&gt;&lt;span style="font-style: italic;"&gt;GNU FDL&lt;/span&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/26105285-114903296579366720?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/114903296579366720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=114903296579366720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/114903296579366720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/114903296579366720'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2006/05/raining-cats-and-dogs.html' title='Raining Cats and Dogs...'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-114842391857123980</id><published>2006-05-24T03:22:00.000+05:30</published><updated>2006-11-15T06:26:27.645+05:30</updated><title type='text'>Sound Recording using GNU/Linux</title><content type='html'>&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;This short and informal tutorial is intended to help you to record sound on &lt;span style="font-style: italic;"&gt;GNU/Linux&lt;/span&gt;. I will cover &lt;span style="font-weight: bold;"&gt;Krec&lt;/span&gt; first and then move on to a more sophisticated application - &lt;span style="font-weight: bold;"&gt;Audacity&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Why Krec? &lt;/span&gt;&lt;br /&gt;I am definitely more of a GNOME person rather that KDE. I just adore the simplicity of GNOME. So, i thought,all i needed to do to record a sound in Gnome was to go to the &lt;span style="font-style: italic;"&gt;Applications Menu-&gt;Multimedia-&gt;Gnome Sound  Recorder&lt;/span&gt; and start recording. Well, that was not the case unfortunately. I could&lt;br /&gt;get nowhere with &lt;span style="font-style: italic;"&gt;Gnome Sound Recorder&lt;/span&gt; neither could the world wide web help.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Getting Krec:&lt;/span&gt;&lt;br /&gt;Krec comes with the KDE Multimedia Module.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Recording sound using Krec.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;1&lt;/span&gt;. Start Krec ( Alt+F2 and type krec)&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2&lt;/span&gt;. You should see a screen similar to the one below.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt; &lt;a href="http://www.flickr.com/photos/44497385@N00/152136477/" title="Photo Sharing"&gt;&lt;img src="http://static.flickr.com/48/152136477_f05fda2465_o.png" alt="krecStartup" height="260" width="360" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;3&lt;/span&gt;.   Type Alt+F2 and enter 'kcmshell arts' (without the quotes)&lt;br /&gt;&lt;span style="font-style: italic;"&gt;4&lt;/span&gt;.   You should see a window similar to the one below.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/44497385@N00/152136474/" title="Photo Sharing"&gt;&lt;img src="http://static.flickr.com/56/152136474_b62b294da4_o.png" alt="kcmshell" height="280" width="320" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;5&lt;/span&gt;.   Check the Box which says '&lt;span style="font-weight: bold;"&gt;Full Duplex&lt;/span&gt;'.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;6&lt;/span&gt;.   This would need restarting &lt;span style="font-style: italic;"&gt;Krec&lt;/span&gt; to take effect.You may even need to restart the &lt;span style="font-style: italic;"&gt;artsd&lt;/span&gt; daemon.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;7&lt;/span&gt;. Now, if you have a mic attached to your computer and can see the recording level meter flickering for some disturbance in sound.....You are done.&lt;br /&gt;Go on... hear the sweet sound of your own voice.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;8&lt;/span&gt;.  But there are chances that you cannot see it hovering up and down.&lt;br /&gt;In this case,just open &lt;span style="font-style: italic;"&gt;Kmix&lt;/span&gt; ( Alt+F2 an type kmix).&lt;br /&gt;Check whether the microphone is set to mute.&lt;br /&gt;You may need to change the switches too in some cases ( especially the mic   boost).&lt;br /&gt;The following is a screenshot from kmix version 2.2(using KDE 3.3.2).&lt;br /&gt;That's pretty old.But the newer versions have similar interfaces.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/44497385@N00/152136475/" title="Photo Sharing"&gt;&lt;img src="http://static.flickr.com/54/152136475_739289fe11_o.png" alt="kmix_input_settings" height="200" width="300" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;9&lt;/span&gt;.    Goto S&lt;span style="font-style: italic;"&gt;tep 7.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can also record a song currently being played on your computer directly&lt;br /&gt;(without using the mic).&lt;br /&gt;But with the limitations that Krec has, you can only record sound from&lt;br /&gt;players that make use of the aRts daemon.(like Kaboodle,Noatun etc.)&lt;br /&gt;&lt;br /&gt;To record a sound from a player minor changes have to be made in &lt;span style="font-style: italic;"&gt;Krec&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;1&lt;/span&gt;.   Goto the &lt;span style="font-style: italic;"&gt;Tools Menu-&gt;Audio Manager&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2&lt;/span&gt;.   Click on the row which says '&lt;span style="font-weight: bold;"&gt;KRec:IN&lt;/span&gt;'&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/44497385@N00/152148041/" title="Photo Sharing"&gt;&lt;img src="http://static.flickr.com/53/152148041_240e4d88d1_o.png" alt="audio_manager" height="119" width="193" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;3&lt;/span&gt;.    A new window will appear, select the out_soundcard option.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/44497385@N00/152148042/" title="Photo Sharing"&gt;&lt;img src="http://static.flickr.com/49/152148042_27f24f8651_o.png" alt="select_bus" height="214" width="178" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;4&lt;/span&gt;.   As simple as that.!! Now you should see the recording level meter&lt;br /&gt; fluctuating if anything is being played in the players mentioned before.&lt;br /&gt;&lt;br /&gt;The recorded file can be exported to different portable formats (like &lt;span style="font-style: italic;"&gt;OGG     vorbis,WAV&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;**tried &amp;  tested in &lt;span style="font-style: italic;"&gt;Debian Sarge&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;FreeBSD 6.0&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Krec&lt;/span&gt; satisfies all the basic needs for recording, but there is hardly anything you can do&lt;br /&gt;with the recorded sound.You can't modify it,play with it,spoil it :-P ....&lt;br /&gt;&lt;br /&gt;Enter -&gt; &lt;span style="font-weight: bold; font-style: italic;"&gt;Audacity&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Introducing Audacity:&lt;/span&gt;&lt;br /&gt;Audacity is a crossplatform GPLed sound recorder with which you can tinker,&lt;br /&gt;play,make hell out of a recorded sound.Sounds nice eh?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Getting Audacity:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://audacity.sourceforge.net"&gt; http://audacity.sourceforge.net&lt;/a&gt;&lt;br /&gt;You can find distribution specific packages there.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Recording sound using Audacity.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Actually you don't need me for this, as it is a 'self learning application'*.(*term i learnt from &lt;a href="http://web.gnuer.org"&gt;Anurag&lt;/a&gt;). Things can't get simpler than Audacity. It's simply Audacious!! Just click on the red button (for recording) and start recording.!!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/44497385@N00/152148534/" title="Photo Sharing"&gt;&lt;img src="http://static.flickr.com/51/152148534_53bac56db6_o.png" alt="audacity" height="280" width="310" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;GNOME users who skipped the first part, may have problems with recording in audacity.Check to see whether the microphone volume is not muted and the box next to Rec is checked in the gnome-volume-control.This should solve most problems.&lt;br /&gt;&lt;br /&gt;(If you still have problems recording or if Audacity gives sound server errors on startup) try killing a few sound daemons ;-). It could just not co exist with aRts on my machine.(but runs like a dream with Alsa and even with OSS). So i had to do a killall artsd before running audacity.)&lt;br /&gt;&lt;br /&gt;The various functions and facilities provided by Audacity are beyond the scope of this article. Do try out all the effects (from the Effects menu). They are simply &lt;span style="font-weight: bold;"&gt;A&lt;/span&gt;wesome (note the capital A).&lt;br /&gt;&lt;br /&gt;You can also import a sound into Audacity (from the Project Menu-&gt;Import Audio) and consequently ruin it... or maybe improve it.!!!&lt;br /&gt;Recorded or edited  files can be exported to &lt;span style="font-style: italic;"&gt;OGG Vorbis&lt;/span&gt;,&lt;span style="font-style: italic;"&gt;MP3&lt;/span&gt; or &lt;span style="font-style: italic;"&gt;WAV&lt;/span&gt; formats.&lt;br /&gt;&lt;br /&gt;**tried,tested and ruined (the audio) in &lt;span style="font-style: italic;"&gt;Debian Sarge.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Do drop in a note if any of the above works flawlessly&lt;br /&gt;on any other system and problems if any.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-114842391857123980?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/114842391857123980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=114842391857123980' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/114842391857123980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/114842391857123980'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2006/05/sound-recording-using-gnulinux.html' title='Sound Recording using GNU/Linux'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-114815995231036338</id><published>2006-05-21T02:40:00.000+05:30</published><updated>2006-11-15T06:26:27.588+05:30</updated><title type='text'>Generosity Personified : ME</title><content type='html'>&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;*sarcasm*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;To Prove That&lt;/span&gt; : I am Generous&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Proof&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt; &lt;span style="font-style: italic;"&gt;Part 1&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt; From the Constitution of the Republic of India,we have,&lt;br /&gt;   Government subsidises fees of OBC students and waives it off for SC/ST       students.&lt;br /&gt;&lt;br /&gt;   Hence,it has to reimburse all private colleges the loss incurred&lt;br /&gt;   to them.  ...... &lt;span style="font-style: italic;"&gt;(1)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   This is done by some Tribal and Social Justice (or is it  Social Welfare ?) department of the Government.&lt;br /&gt;&lt;br /&gt;   Now,&lt;br /&gt;     Government increases reservation to 49.5% of the total seats.&lt;br /&gt;&lt;br /&gt;     By &lt;span style="font-style: italic;"&gt;statement (1)&lt;/span&gt;&lt;br /&gt;       Government has to reimburse more money to the private colleges.  ......&lt;span style="font-style: italic;"&gt;(2)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   But,&lt;br /&gt;    The Tribal and Social something department paid 11 crores last  year to    private colleges.&lt;br /&gt;                 ....&lt;span style="font-style: italic;"&gt;(Maharashtra Government Statistics)&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;   using &lt;span style="font-style: italic;"&gt;statement (2)&lt;/span&gt;&lt;br /&gt;     It now has to pay something around 14 crores.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="font-style: italic;"&gt;Part 2&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;    I know that,&lt;br /&gt;      My parents work hard to earn precious precious money.&lt;br /&gt;&lt;br /&gt;    Also,&lt;br /&gt;      They pay significant proportions of their income as Tax to the&lt;br /&gt;      government.  ..... &lt;span style="font-style: italic;"&gt;(3)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="font-style: italic;"&gt;Part 3:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    Given that government makes most of its money from various taxes, and&lt;br /&gt;    using &lt;span style="font-style: italic;"&gt;statement (3)&lt;/span&gt;&lt;br /&gt;    The government pays up those 14 crore using my&lt;br /&gt;    father's money.!!!  ....... &lt;span style="font-style: italic;"&gt;(4)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    Knowing that,&lt;br /&gt;      My Father's money is my money in a way .... &lt;span style="font-style: italic;"&gt;(5)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    Also,&lt;br /&gt;     Students from the reserved category have 50% marks less than me and still i may get deprived of that seat     ..... &lt;span style="font-style: italic;"&gt;(6)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style: italic;"&gt;From (4) , (5) and (6)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Government is denying me a seat, subsidising education for the student who will sit there,.... and guess what..??? I am funding this.!! (^_^) (and can hardly do anything about it)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;: I personify generosity . :-)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;*end sarcasm*&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-114815995231036338?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/114815995231036338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=114815995231036338' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/114815995231036338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/114815995231036338'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2006/05/generosity-personified-me.html' title='Generosity Personified : ME'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-114786763871783984</id><published>2006-05-17T17:31:00.000+05:30</published><updated>2006-11-15T06:26:27.528+05:30</updated><title type='text'>Percentage of Control</title><content type='html'>&lt;span style="font-weight: bold;"&gt; &lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;The way things are going in the current reservation protests and the  attitude of the politicians is really intriguing.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;*sarcastic*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;sort of &lt;span style="font-style: italic;"&gt;pessimistic&lt;/span&gt; view:&lt;br /&gt;                 x1 % seats are reserved for Caste A&lt;br /&gt;                 x2 % seats for Caste B&lt;br /&gt;                 :&lt;br /&gt;                 :&lt;br /&gt;                 and so on... but alphabets are not limited to the ASCII&lt;br /&gt;                 Every letter of &lt;a href="http://www.unicode.org"&gt;Unicode&lt;/a&gt; can fit in too (~_^)&lt;br /&gt;               &lt;br /&gt;                 So 'open category' people are protesting against the injustice.:-)&lt;br /&gt;&lt;br /&gt;sort of &lt;span style="font-style: italic;"&gt;optimistic&lt;/span&gt; view:&lt;br /&gt;                There still are 50 % reservations for the open&lt;br /&gt;category!!!. (and to think about it the OBC may protest against it...)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;*end sarcastic*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;How many LOCs will our country have&lt;br /&gt; One at Kashmir, the 50% line of control in reservations...er...i guess that's enough.I don't want to think about any more.&lt;br /&gt;&lt;br /&gt; So many similarities....&lt;br /&gt;* At both ends of the LOC the respective people feel they are right.&lt;br /&gt;* In both the LOCs, only one side can infiltrate to the other side&lt;br /&gt;  merrily...:-)&lt;br /&gt;* Both are the scars of history.....&lt;br /&gt;&lt;br /&gt;and maybe you can quote many more...&lt;br /&gt;&lt;br /&gt;Well... there's one BIG difference though.&lt;br /&gt;&lt;br /&gt;The Kasmir LOC is dividing Kashmir.... but the reservations LOC is fragmenting India.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-114786763871783984?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/114786763871783984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=114786763871783984' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/114786763871783984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/114786763871783984'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2006/05/percentage-of-control.html' title='Percentage of Control'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-114754137444784926</id><published>2006-05-13T22:46:00.000+05:30</published><updated>2006-11-15T06:26:27.464+05:30</updated><title type='text'>Camping at BARcamp . (O_o)</title><content type='html'>&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;*excerpts&lt;/span&gt; from a conversation between &lt;span style="font-weight: bold; font-style: italic;"&gt;/sharan&lt;/span&gt; and  &lt;span style="font-weight: bold; font-style: italic;"&gt;/icarus&lt;/span&gt; - his fictious friend&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/icarus&lt;/span&gt;: hey where were you today.....you weren't at home. I thought you had exams next week.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/sharan&lt;/span&gt;:hmm....i took a break.I went to Barcamp Mumbai today.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/icarus&lt;/span&gt;:what break..? Do you even study to 'take a break' ? (O_o). anyway....i guess you can spare time now to elaborate what hapenned in Barcamp.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/sharan&lt;/span&gt;:To start with, it was at KReSIT,IIT Powai, with the banners of Barcamp reading 'Karwal Rekhi School of Information Technology' !! Well, i reached there at about 9:30 and found that hardly 10 people had arrived.People started arriving consequently, many of them with T-Shirts of Barcamp Bangalore,Delhi and one of them of FOSS.IN.Everyone was given a notepad of FOSS.IN (i somehow took 3 ;-) ) and a pen of IIT Bombay. Some corporate brouchure of DirectI was also circulating around. Three classrooms were to be used for Barcamp.Each were given weirdo names like 'Chaat &amp; Chutney' , 'Baaji on the Beach' and 'Vada Pav'. Someone finally started speaking at around 10:15 in the 'Chaat &amp;amp; Chutney' room.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/icarus&lt;/span&gt;: Hmm.. almost on time eh...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/sharan&lt;/span&gt;: Well..even when it did start half the people were standing outside for some reason.Anyway, the first talk was by some Shantanu Oak on SMS Applications. Roughly it can be described this way. To use any applications you need to send keywords followed by arguments to a number 9860609000&lt;br /&gt;&lt;br /&gt;example:&lt;br /&gt;&lt;br /&gt;1.  for email&lt;br /&gt;    mo send user@domain.com message&lt;br /&gt;&lt;br /&gt;2.  for updating a  blog&lt;br /&gt;mo netsend text&lt;br /&gt;&lt;br /&gt;3.  for calculations&lt;br /&gt;    mo clc sqrt(25)&lt;br /&gt;&lt;br /&gt;4. some utilities&lt;br /&gt;    mo bus 332&lt;br /&gt;&lt;br /&gt;When you send such a message to the number ( which is the gateway ) it forwards the keywords and arguments to a site name &lt;a href="http://yubnub.org"&gt;yubnub.org&lt;/a&gt; ( see yubnubwiki for help relating to it ). The site developed entirely using PHP and MySQL processes the request and sends back the response to the person who sent the SMS. The charges for the end-user is only the SMS charges charged by his provider for sending one message.The return SMS charges is apparently bourne by Shantanu Oak!!.&lt;br /&gt;&lt;span class="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;/span&gt;&lt;br /&gt;* the keywords used and how they work*&lt;br /&gt;--&gt;  mo stands for mobile&lt;br /&gt;&lt;br /&gt;--&gt;  send user@domain.com message&lt;br /&gt;                      (email)               (obvious)&lt;br /&gt;will send the message to the email address. It uses some predetermined mail server to send the message.(more help can be found on this command by typing man netsend in yubnub.org)&lt;br /&gt;&lt;br /&gt;--&gt;  netsend will update a predetermined blog named yubnubminiblog.blogspot.com by using the provision provided by blogger&lt;br /&gt;of updating a blog by sending a mail to a email address. Yes it uses&lt;br /&gt;'send' command internally.&lt;br /&gt;&lt;br /&gt;--&gt; clc sqrt(25)&lt;br /&gt; will obvoiusly return 5.&lt;br /&gt;&lt;br /&gt;--&gt;bus 332&lt;br /&gt;(developed by IIT....)&lt;br /&gt;will give back some (according to me useless) info about that bus route&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And yes the reply only consists of 160 characters - whatever fits in. Now the interesting part is that you can create custom commands and determine their behavoiur in yubnub yourself!!! and then use them using your mobile phone.&lt;br /&gt;&lt;br /&gt;Get the gateway number correctly. I got it wrong the first time and got a reply asking me 'Who are you' :-) /.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/icarus&lt;/span&gt;: hey...that's interesting. Maybe it does have useful SMS Applications&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/sharan&lt;/span&gt;: Sure.I went to get coffee ,samosas and what not ( free (as in coffee) i'm not interested in the source anyway!! ). And as i had got the number wrong , i went to him to get the proper number and he gave me a whole lot of applications to farmers et all ( as more number of people have cell phones than computers) . I got into some other room later.Some talk about RIA started.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/icarus&lt;/span&gt;: RIA who?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/sharan&lt;/span&gt;: It's actually RIA what? :-). RICH Internet Applications. Apparently they are desktop like applications for the internet. Common tools to make them are Ajax,Open Lazlo (GPLed) and Flex ( Adobe (formerly Macromedia's) ). The speaker Nirav Mehta (i'm not sure of the surname) said that Ajax is very problematic for such applications as there are many things to think about in the process ( from Javascript to XML to HTML ) (hearsay). And that Flex and OpenLazlo are very convenient as they use their own rendering and so on.Well.. i could get what he was speaking till there. After that i couldn't understand a word. The only thing i remember is that they had created some application for FOSS.IN using Open Lazlo which helped people identify others of similar interest ( i forgot the name of the app). Apparently, in the other room BluesMoon was talking something about User experiences and stuff over the web ( disclaimer : the last sentence is PURE hear say)....I wish i knew about that talk before. :-(&lt;br /&gt;&lt;br /&gt;Pradeepto talked to me over the phone 10 minutes later...and told me to tpye in anything and everything about the Barcamp irrespective of whether i understand it or not :-). Too lazy to come,eh?&lt;br /&gt;&lt;br /&gt;Shreyas and Kaustubh, two guys from Bangalore later talked about a&lt;br /&gt;new initiative they had started named infinity radio (&lt;a href="http://infinityradio.info"&gt;http://infinityradio.info&lt;/a&gt;). It streams independent indian music.By that i mean the 'aspiring bands' of the country ( strictly non commercial bands ).They take recorded music from such people and play it on their internet radio. Anyone can give their music to them and they'll play it.!!! They apparently spend everything to do the hosting&lt;br /&gt;from their own pockets and don't charge ( i am not sure whether i got the money thing right ). Anyway they emphasizingly said that they do not follow Web 2.0.&lt;br /&gt;&lt;br /&gt;Then we broke up for (free) lunch which also included awesome tomato soup and kulfi!! ( Anurag , Pradeepto forget the Barcamp, you missed the better part the kulfi and the soup.... :-))&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/icarus&lt;/span&gt;:When did it start again?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/sharan&lt;/span&gt;:.....It started back at sometime around three ( in other words i came back at 3 :-) ), and Bluesmoon and Tarique Sani were speaking about the Creative Commons License. Do i need to elaborate about that? There was noting new.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/icarus&lt;/span&gt;: sure...skip that.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/sharan&lt;/span&gt;:Later, A final year computer student of Don Bosco Institute of Technology (Akshay Surve) gave a demo of some web 2.0 app. he had created in PHP named Tagsurfer Beta.What it does is improve the usability of the tag clouds that are seen on websites like flickr or del.icio.us He gave a demo in which you click on a tag in a tag cloud and all other tags disappear and new tags related to the clicked tag appear.And the new related tags are at a relative distance proportionate to their relevance to the clicked tag from it.&lt;br /&gt;&lt;br /&gt;Following that, Tarique Sani ( some sort of a hobby photographer) gave a talk on different ways of storing photos on the web.He said there are two ways of arranging photos.&lt;br /&gt;1. In a Photo Gallery ( in which photos are arranged in a user specific manner)&lt;br /&gt;2. In a Photo Blog (where photos are arranged like in a blog...in a chronological manner)&lt;br /&gt;&lt;br /&gt;examples of Photo Gallery were CopperMine Picure Gallery which uses PHP + MySQL (&lt;a href="http://coppermine.sf.net"&gt;http://coppermine.sf.net&lt;/a&gt;). It is a Web 2.0 ready app. which has it's own API. There is also a KDE Client for the Coppper Mine pic gallery&lt;br /&gt;(obviously) named Koppermine :-). (&lt;a href="http://koppermine.sf.net"&gt;http://koppermine.sf.net&lt;/a&gt;)&lt;br /&gt;examples of a Photo Blog were PixelPost (&lt;a href="http://pixelpost.org"&gt;http://pixelpost.org&lt;/a&gt;) he didn't elaborate on this.&lt;br /&gt;&lt;br /&gt;Also visit &lt;a href="http://tariquesani.net"&gt;http://tariquesani.net&lt;/a&gt; for some really nice photos.&lt;br /&gt;&lt;br /&gt;In any case, the sentiment that i could pick in the Barcamp was hate&lt;br /&gt;for Web 2.0 and that it was controversial et all.&lt;br /&gt;&lt;br /&gt;Next, in the schedule was something named 'NeoBinaries:Definitive Guide to newest and most popular Web 2.0 applications ...'.  &lt;a href="http://www.neobinaries.com"&gt;http://www.neobinaries.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some person wearing ear rings and a lady were speaking about it.&lt;br /&gt;didn't understand a word...... :-)&lt;br /&gt;&lt;br /&gt;i only remember him saying that some paid service ( which also provides&lt;br /&gt;a 7 day trial) namely &lt;a href="http://www.smugmug.com"&gt;smugmug&lt;/a&gt; was better than &lt;a href="http://www.flickr.com"&gt;Flickr&lt;/a&gt;.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;/icarus&lt;/span&gt;: What do you mean you didn't understand a word ???&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/sharan&lt;/span&gt;: They were too boring and i was losing track of what they were saying constantly.!! Anyway there were some talks about other things going on parallely. One of them being something on search engine optimisation techniques.... i somehow ended up sitting in all the wrong talks.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/icarus&lt;/span&gt;: :-)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/sharan&lt;/span&gt;: Next on the list was some talk named India 2.0....another web 2.0 thing i guess. 5 minutes into the talk and someone came and wrote on the board that a talk on Hacking Emacs and Lisp was starting in the next room.....Was so happy that i went and sat there.....!! Some guy wearing a Cisco T-Shirt was talking about lisp.&lt;br /&gt;&lt;br /&gt;i'll just roughly elaborate what he said.(mostly about Lisp)&lt;br /&gt;&lt;br /&gt;Syntax:&lt;br /&gt;expr:=&lt;id&gt;                     &lt;id&gt;            idetifier&lt;br /&gt;| literal                                     literal&lt;br /&gt;| (expr*)                            the multiple parameters thing ( any no. of params)&lt;br /&gt;| `expr                              don't know&lt;br /&gt;| 'expr                               what these are&lt;br /&gt;&lt;br /&gt;expr is expression&lt;br /&gt;&lt;br /&gt;Btw,Lisp is an interpreted Language&lt;br /&gt;&lt;br /&gt;Some common expressions are given below.most of them are self&lt;br /&gt;explanatory.Expressions are written inside round brackets. And all&lt;br /&gt;expressions are written in prefix notation.&lt;br /&gt;&lt;br /&gt;(+ 1 2)                                         // 1+2&lt;br /&gt;(* 2 3 4)                 // * is some func and 2 3 4 are params&lt;br /&gt;(message "hi")                     // prints hi&lt;br /&gt;(if foo 1 0)                                    // if foo=true then 1 else 0&lt;br /&gt;&lt;br /&gt;(setq foo (* 2 3) )                  // sets foo to 6&lt;br /&gt;&lt;br /&gt;(message foo)                                 // prints value of foo&lt;br /&gt;&lt;br /&gt;functions:&lt;br /&gt;// defines a function           &lt;br /&gt;(defun factorial(n)&lt;br /&gt;(if (&lt;= n 1) 1 (* n factorial(- n 1))) ) // remember everything is in prefix notation...makes it simple to parse! logical expressions: (and p q) lambdas like in python: (lambda(n) (if (&lt;= n 1) .... )) /// i didn't get this right actually..;-) Things were going on quite well...and was finally getting interested.But this talk was interrputed by some talk named "Jantar Mantar"... I sat for this for 10 minutes. I had no idea what that talk was doing in a Barcamp. I went to another room where some talk on Mobile applications were on.Some initiative named Webaroo was started by some person which caches web pages in some manner for offline usage (even on mobile phones). I had missed half of the talk so (possibly misunderstanding the concept) i asked what was the difference between it and GNU wget ;-). Apparently there was more to it. Anyway, at the end of the talk everyone was given a DVD of webaroo (installer) which had the entire WIKIPEDIA (6 GB) on it (As claimed it was just 4 days old).The installer was for windows though. Anyway i don't have a DVD ROM Drive.So anyone can have it, provided they make CD copies of it somehow and give it to me. Anyone ready?. That was it. The end of BarCamp Mumbai. Maybe i expected something a lot more technical out of it. I didn't find that. And moreover 95% of the people were using Windows XP even to surf the WI FI (let alone to demostrate their stuff). Neverthless was a nice experience... &lt;/id&gt;&lt;/id&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26105285-114754137444784926?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/114754137444784926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=114754137444784926' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/114754137444784926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/114754137444784926'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2006/05/camping-at-barcamp-oo.html' title='Camping at BARcamp . (O_o)'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26105285.post-114735815292555646</id><published>2006-05-11T19:50:00.000+05:30</published><updated>2006-11-15T06:26:27.392+05:30</updated><title type='text'>Reservations - A Necessary Evil</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;br /&gt;excerpts from &lt;span style="font-style: italic; font-weight: bold;"&gt;/sharan&lt;/span&gt;'s conversations with his fictious friend &lt;span style="font-style: italic; font-weight: bold;"&gt;/icarus&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/icarus :&lt;/span&gt; i was thinking about this reservations thing that's going  around....i was wondering whether&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;**&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;/sharan&lt;/span&gt; abrupts (as usual)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;/sharan :&lt;/span&gt; ....do you even need to think about its existence. It should be scrapped, dumped and forgotten about. It's mere existence is debatable.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/icarus:&lt;/span&gt; there is a lot more to it than meets the eye sharan....&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;/sharan:&lt;/span&gt; Yes, all that post independence and stuff. Sure maybe it was needed back then.We've come a long way from there,right? . It's been more than 60 years!!. There is no place for it now.Those from the so called "reserved" live a more lavish life than the struggling "open category" people. Still, they get seats for nominal marks at nominalprices!! Justfy That.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/icarus:&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;agreed that we were a frustrated lot during our admissions and all.... but&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;**&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;/sharan&lt;/span&gt; interrupts&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/sharan:&lt;/span&gt; ....frustruate yourself working hard during the exams,do all&lt;br /&gt;the hard work and.....during the admissions it's as good as saying&lt;br /&gt;&lt;blockquote&gt;"&lt;br /&gt;yEs we love your marks, they're great. But sorry we can't take you&lt;br /&gt;. You see there are the 'deprived' people standing out there (who&lt;br /&gt;apparently may just have arrived in a merc). We need to give them&lt;br /&gt;preference.&lt;br /&gt;"&lt;/blockquote&gt;&lt;br /&gt;sure even they got there that way....i bet.!! is there even any respect for merit.!!! Why study icarus. I'd rather make a 'caste' certificate and 'hard'ly work the way they do!!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/icarus:&lt;/span&gt;... :-) .. but there are people out there who need such assistance...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;  **&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;/sharan&lt;/span&gt; is making a habit of interrupting...he thinks he's on to &lt;/span&gt;&lt;span style="font-style: italic;"&gt;win this argument&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;  **&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;/icarus&lt;/span&gt; is waiting till sharan gets exhausted&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/sharan:&lt;/span&gt; Really, i don't think people need such assistance.We see countless number of people out there on the roads living on footpaths et all. Money does magic sharan. Everything they do ( and as for that matter everything that everyone does) is usually very strongly connected to money. What people need is financial assistance.Assistance should be given on the basis of the financial&lt;br /&gt;status of the student's family. Not caste, we speak about unity in one place and divide the country into innumerable parts on the basis of caste.I wonder how many castes even exist in our country. A day will come when the politicians will say &lt;blockquote&gt;&lt;br /&gt;"Now the time has come. Coming from&lt;br /&gt;an 'open category' family, your parents must be pretty well off and&lt;br /&gt;educated. You sit at home, learn from your parents, and study. The&lt;br /&gt;premier institutions are 100% reserved for the 'deprived'. They need&lt;br /&gt;the 'assistance'&lt;br /&gt;"&lt;/blockquote&gt;  !!!&lt;br /&gt;....We are definitely on our way to development...i can see the future..... INDIA 2020.... nooooo i don't even want to imagine!! I don't think any developed country has this crappy system.!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/icarus:&lt;/span&gt; The tendency to being frogs in a well is so common among us isn't it. We fail to see beyond our peripheral vision.Well, maybe i was more vocal than you about these things before .I am not the most pragmatist person in this world but i have seen things that have made me think, and wonder about the existence and validity of this reservation system. The so called 'reserved' category people ( they way you like to put it) .. They have been deprived of the basic necessities of life from time immemorial before independence. History is the best teacher. I'll tell you an example. Two of the most prominent castes of the Mahabharata......Brahmins (the sages et all) and the Kshatriyas ( the warriors)..... it was considered a crime for a Brahmin girl to marry a Kshatriya as it was a lower caste. The great sage Vishwamitra ( or was it Parshuram) used to refuse to teach the art of archery and fighting to Kshatriya students. Think about what the state of the innumerable lower castes was.!! These things do not change over a short period of time... I know well educated people behaving like rusted hinges.They need everything to be spoonfed and are so lazy that won't even remove the spoon from their mouth for a better one. That goes for people who have had a history of living the most comfortable social life.What do you&lt;br /&gt;expect out of the lower castes?? Injustice done to people for ages can't just be wiped out in a flash . Even 60 years is quite a short time for that.!!!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/sharan:&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;well...they are not living in the same condition now. Are they? Everyone is treated in a very equal manner nowadays.Infact they enjoy better privileges.!! ..... sure what you say is more like.&lt;br /&gt; &lt;blockquote&gt;"They suffered for 'x' years now it's your turn"&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/icarus:&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;There is so much more to it sharan. Have you been to rural areas,remote places,villages.?? have you seen the condition of people over there ?. You speak about developed countries and stuff. Compare the no. of well-off cities in USA (say) and India. The proportion of people staying in villages to cities is enormous in India. ....&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; **&lt;span style="font-weight: bold;"&gt;/sharan&lt;/span&gt; interrupts again....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;**&lt;span style="font-weight: bold;"&gt;/icarus&lt;/span&gt; is losing his calm now...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/sharan:&lt;/span&gt; sure , like expect it to stay that way ,,, no one wants to work hard anyway!!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/icarus:&lt;/span&gt;There are enormous number of people belonging to lower castes in villages. People who do not know what "developed" is.( People in my native place got cable TV just 2 years back !!) They've been living that way for ages.!! Carried on since generations, the future generations of their kind may follow suit. Maximum number of people in our country live a day-to-day hand to mouth existence. No sundays and vacations for them. A strike is called , factories closed and such people have to go hungry for that day.!! And believe me, a large number of such people are from the reserved castes.!!. You think they don't have aspirations,don't have dreams;you think they have no desire to see their children succeed and do well.Sure they do.But castles can't be built in air. You need money, and you need will power. People deprived to the extent to these people are, are more worried about whether they can live tomorow, leave alone after 5 years. You need to work to live. And for greter security and guarantee ( of a life tomorrow) they put their children to work at tender ages. These students are bought up in an unfortunate environment which is not at all conducive for education.Obviously you can't expect them to succeed the way the others do. What reservations make the Government say is&lt;br /&gt;      &lt;blockquote&gt;" We really appreciate the efforts that you have put in inspite of the hardships that you have faced ( most people in rural India.Cities are an exception in most cases) . Say what, we'll give you admission (on the basis of competition with others similar to you) to premier institutions so that you can study further and live your&lt;br /&gt;aspirations.And we'll give you a concession (or a tution fee waiver)&lt;br /&gt;"&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Accept it. We all need some sort of a push , a drive to do anything.!! These people need a push even to start a better life, to improve their standard of living. When the parents of such people see that the government is helping them in improving their future life, something that they were so helpless about, they really appreciate it ( and vote consequently ).People from upper castes (most of them) have enough will power and determination to get them through most odds.That's what we are good at. !!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/sharan:&lt;/span&gt; What's the use. these people get into such premier institutions and drop out consequently as they can't handle it.The seats may well have been use by more deserving meritorious students.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/icarus:&lt;/span&gt; Every initiative/plan/venture can't be a runaway success.Why the heck are we fighting in Kashmir for that matter. The budget for fighting there is more than enough for subsidising education for every possible student for some years.!! And we have reached no where for that matter. There's no peace in the valley anyway. Any solution ?&lt;br /&gt;NASA spends billions doing research et all. Much of it is unproductive ( take SETI for that matter which was the biggest ~unimaginable no. of dollars~ flop) but the productive part however little may it be goes a long way to detetrmine the future.So the US government keeps investing in NASA.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/sharan:&lt;/span&gt; well, but don't you think there are more people out there who work to fit into the reservation system (by not working) rather than work hard to end up use-ing the reservation system.( the actually deprive people).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/icarus:&lt;/span&gt; Agreed. That's a really bad thing coming out of this reservation system. The intended audience is hardly getting any benefits.Something, if you think about it is natural.But yes it has to be avoided.Maybe the government has to change the clauses to be more &lt;span style="font-style: italic;"&gt;need&lt;/span&gt; specific rather than &lt;span style="font-style: italic;"&gt;vote&lt;/span&gt; specific!!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/sharan:&lt;/span&gt; ....and definitely increasing the reservations is absurd isn't it.!! And well.... if at all one has to increase reservations it must be related to the financial status.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/icarus:&lt;/span&gt; hmm... i guess increasing the reservations (that too for something as vast and general as OBC ) is indeed absurd. That is indeed vote bank politics.&lt;br /&gt;There should be some limit. Limits even on the level of education upto which reservation should be there (which ideally should not go &gt;= the graduate level)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/sharan:&lt;/span&gt; .....and the last thing we need is reservation in Private Sector....&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/icarus:&lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt; &lt;/span&gt;right...i guess reservations in the public sector is enough.That too is indeed in-a-way necessary but not as much as in the education sector (infact very nominal....actually this can be,and maybe has to be removed completely. Even the caste wise promotions thing which really hurts,has to be chucked out ).Private sector is indeed something the government should not touch. The country should not head towards a communist type of economy.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;**&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;/icarus&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;/sharan &lt;/span&gt;agreed that reservations are a necessary evil.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;It can't be done away with.If at all, an increase should be on the basis of economic factors. But to progress there should be some &lt;/span&gt;&lt;span style="font-style: italic;"&gt;limit, which is actually a fine line , that the government should not &lt;/span&gt;&lt;span style="font-style: italic;"&gt;cross. &lt;/span&gt;&lt;span style="font-style: italic;"&gt;And definitely NO RESERVATIONS in the job sector.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;disclaimer:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;**/icarus&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;/sharan&lt;/span&gt; don't claim to be pragmatists&lt;br /&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/26105285-114735815292555646?l=sharanr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharanr.blogspot.com/feeds/114735815292555646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26105285&amp;postID=114735815292555646' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/114735815292555646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26105285/posts/default/114735815292555646'/><link rel='alternate' type='text/html' href='http://sharanr.blogspot.com/2006/05/reservations-necessary-evil.html' title='Reservations - A Necessary Evil'/><author><name>Sharan Rao</name><uri>http://www.blogger.com/profile/09440543013278756359</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/_1Cr7aiOIpnw/SfX9PAukk0I/AAAAAAAAABU/8tj8FjJ9x5E/S220/sharan-pic.jpeg'/></author><thr:total>3</thr:total></entry></feed>
