Posts by Nirupam Biswas

I am not the one who goes out a lot, but likes to know about the outside a lot. Likes to make friends, well have lots of them, fortunately. Loves programming, well ‘am still learning.

Days of my TVM ILP

The post below has not been refined and is almost like a rough note rather than an article, hence you may find the sentences below quite funnily structured and sometimes difficult interpret. Sorry for the inconvenience.


This post is about my friends at ILP and me and not ILP itself. I have used the initials of my friends’ names to conceal their identities.


My friends got their call for ILP seven days before the joining date. They were supposed to report at Guwahati. At the end of that day I was the only one who still didn’t receive any mail. It was very frustrating. I even shot a mail to Kolkata HR about this. I got my mail next day. I was asked to report, not at Guwahati, but at Trivandrum. I was now very upset. Of all the people they chose me and only me to report at the other end of India, why why…! I later came to know that out of 171 people only 23 people were asked to report at Trivandrum and I am the only person from CSE, BIT to Trivandrum.

My accommodation was arranged at Assumpta Tourist Home by TCS. It was not such a good hotel. The walls were quite dirty, but the bathroom was cleaner. We were told by TCS that the bedsheets would be changed every 3 days and the rooms would be cleaned everyday. In reality, bedsheets were changed and the rooms were cleaned only on Mondays. All-in-all, the hotel was okay as it was at the heart of the city. The nearest good restaurant was Arul Jyoti.

Apprehensive about who will be my room partner, I asked Assumpta’s manager to allot me a room. He recommended room 302, as the guy (ShaB) there seemed well natured to him. My first impression of him was that he is from a very rich family and possibly he is a snob. Don’t know why, but I got this impression of him. In a day or two I found out he was a nice guy. In few more days I found out that he was a total clown. We nick named him Charlie after Charlie Chaplin. Not only because of his jovial nature but also because his face has uncanny resemblance to the legend. He has a very unusual way of laughing. When he laughs, his upper jaw-line pops out from behind his upper lips and his face turns red. We all wondered from where did he get his ideas. He never seemed to run out of them. Alas! I have never been able to see deeper into him, beyond his jovial face.

Next morning when we got ready for our first day, other TCSers on our floor, who were all from Mumbai and the very same college from where ShaB was, introduced themselves to me. After that we all got onto the bus that was waiting for us to take us to TCS Peepul Park Campus in Technopark. It was a new day of a new chapter in my life and I was looking forward to make new friends. I had already made one new friend – my roommate. My only worry was making new friends. I being an introvert, is not very good in making friends fast. It took me 1 or 2 semesters to make bonds with some my present good friends from the college. It took me 2 years of my college life to know all the 90 people of my class. I knew I had to somehow make friends and bond with them faster. When we reached the campus I tried to remain with SB and his mumbaiya group, viz. – MA, MS, SD and NG. Sometimes they tried giving attention to me and were very friendly, but still I was usually ignored by them because I spoke much less. It was difficult for me to speak anything random to them as I had almost no knowledge of Mumbai and its life and absolutely no knowledge of their college – VESIT; we didn’t share anything in common, and I was still quite depressed by the fact that TCS chose me to tear apart from my friends. Furthermore, they sometimes used to speak in Marathi, which is as incomprehensible to me as is Malayalam. ShaB was and still is particularly notorious for preferring to talk in Marathi in my presence.

The first three or four days of ILP had been traumatic for me, not only because of the incessant dose of merciless induction lectures one after another but also because I was feeling so alone. I was trying to gel with the mumbaiya bhais and I was still feeling like an outsider. This experience was damn depressing. I hope that I will never have to go through that again. After these initial three or four days my first breakthrough came when SD started paying attention to me. He was the quietest and an introvert among the group. He was my first respite. SD and I gelled well together. He was very much like me. An introvert and a geek by nature. He has a very innocent smile and gaze. Later I gelled with other group people too. By this time I had started feeling much better, but still there was an invisible wall between me and the group. It was the language. They preferred Marathi, which was like Malayalam for me. So, most of the time I didn’t know what was going on and had no choice but to keep mum. Because of this my friends got the wrong impression that I like to remain reserved.

Few days later I came to know two more persons. One punjabi kuri, SB, and another Marathi gal, SA. SB is a good friend of MA. They are friends for past four years, so it was quite natural that they were always seen together, but this gave me the wrong idea that they were more than just friends. SB is an unusual girl. She has a very (as VK puts it) ‘loud’ body language and is very polished. Her first impression over others is usually as a snob. As far as I am concerned, I didn’t feel like that. I formed my opinion about her quite later. I was way too much amazed by her way of talking. Her way of talking is child-like, which in Hindi we call ‘totla‘. Its cute and weird both when spoken by a 21 year old person. I will really miss that voice. Later as I came to know her better I found out that she is also very intelligent, only that she is too lazy or distracted to use it. Things that I like the most about her is her jovial nature. She is always fun to be with. Always happy and rarely sad.

Now about SA. Her first impression on me was that she is a gujju girl. This is because I have an impression that usually gujju girls have good figures and are very simple minded and innocent. She is very much like ‘Gattu’ of ‘Ba Bahu Aur Baby’; simple, innocent, smiling and happy. M is a lucky man. I envy him. She is definitely the most pampered kid of her home. Its awesome, how can someone maintain ones child-like innocence to the adulthood. Her family must have put great efforts in insulating her from the vices of the world. Given that, she gets upset so easily, I can only pray that she grows up soon.

Before our EC1 exam, MA and I decided to stay back at the lab for a whole night to complete the exercise. At around 11 pm changu-mangu too joined us. By-the-way, changu-mangu are SB and SA. I call them that because they always (mark it, always) stay together, as if they are advertising Fevicol-ka-jhor (pardon me for this mercilessly poor joke). Many times they even wear similar dresses. They are similar in more than one ways. They are both jovial, energetic and always remain stuck to their cell phones. I have seen people speaking so much over the phone only when they have bf or gf. It is true in case of SA, but I am still confused about SB. Anyway back to the lab; we started solving our exercises. By 1 or 2 am MA and SB where worn out and started dozing off. SA and I continued to rack our brains. Few minutes later changu-mangu left for their room. Our hotel being 18 KM from Technopark, we had no choice but to wait till morning. I also dozed off for an hour or two and then I continued with the exercises again. After 2 am the only thing MA did was doze off and suddenly wakeup and unlock the screen and then doze off again. At 6 am we left for our hotel. It was Sunday. We then spent the whole Sunday sleeping while our other friends set out for Technopark to complete the exercises.

Before I move on I would like to comment about MA. He has a good personality. He makes his presence felt. He became our unofficial transport facilitator. One thing we all hated about him is his ‘divide by 6’ policy, i.e. no matter how less or more you eat he used the simple rule of equally dividing the total bill amount among all the friends there. Other than that he is a nice fellow. He is slight impulsive and he is a complete phattu. While coding for his project, the moment he used to come across any deadened he used to start sweating profusely and you can clearly notice the tension on his pale face. The best thing in him is that he takes negative comments about him in positive sense and actually tries to mend it.

Before our EC2 exam we made an one day trip to Kanyakumari with 19 friends. It was fun. SA played a nice trick on NG. We were all in the dark Meditation Room on the Vivekanada Rock Memorial, when SA asked NG to ask the person sitting before him to go too. NG thinking that the person was one of the friends, nudged him, only to realize then that he was not. SA was aware of this and did this on purpose. We had a good laugh afterwards.

Kanyakumari lacks a beach hence we went to its shore which had many sharp stones. Many people returned wounded (including me) from that trip. It was fortunate enough that nobody was seriously hurt, which I was afraid of as some of the friends grew too much reckless in their antics and stunts. But it was fun. This is where I noticed, contrary to my expectation, that SA is quite adventurous. MA was rather unusually reserved during this. He took over the charge of taking care of everybody else’s belongings and stayed away from the water. During this trip I also noticed NG’s inclination towards meditation, religion and nature. I too have an inclination towards nature. I don’t usually share my feelings with my friends, because contrary to general wisdom, it makes me feel worse. The sunset and the calm after that usually unsettles whatever is locked inside me. Damn!

NG, as I have already pointed out earlier, appreciates nature and has an inclination towards meditation. He too seems to observe people keenly. He has a very bad habit of using really bad examples to explain things or describe someone. He can sometimes get on your nerves but is usually a nice person to be with. May God help him with his examples. Another very intriguing thing about him is that he is some kind of gay magnet! Maybe it is because of his slight girlish way of talking or anything else.

Back from our Kanyakumari trip, we were greeted by the tense cloud of looming EC2 exam. We had to work on Sunday and late in Monday to finish our project. After EC2 EC3, EC4 and EC5 came at such a pace that I could barely recall anything from then except for random memories. This brings us to Thombya.

Thombya is a Marathi word which is used to refer dumb people. ShaB nick-named MS as Thombya. We used to call him that because of his too short short-time memory and his unusual goof ups. One of his classic goof ups is when after having a cupful of tea he exclaims – It was nice coffee! He actually thought he was drinking coffee when he was actually having tea! He opts to remain quite most of the time, but he has a lot of mischievous ideas running through his head all the time.

After our EC3 exam, many of us planned for a trip to Velli, Kovalam Beach etc. I was looking forward to it as it was our last trip together. On the day of trip even after repeated request from me SD refused to come along. This made me adamant and I too ultimately didn’t go and sulked the whole day in the hotel. Yup, I make stupid decisions when I go adamant. Few minutes later we were scolded on the phone by SA. Oops! That day in the evening SD, MS, ShaB and NG paid a visit to an Ayurvedic Kerela Message center. There they got a lot more than they had bargained for, in particular NG. When they told MA and me what more happened there we had the laugh of a lifetime. I would not discuss it here, because it may embarrass them and there is no modest way of writing it here. One thing is for sure I am never getting a Kerela Message now, nor do I think they will ever try it again.

With this our EC4 and EC5 exams were over sooner than we could realize. After our allocation most of my mumbaiya friends grew a little depressed since only two of them, SD and NG, got Mumbai, rest were allocated Hyderabad. I got my place of choice, Kolkata, but the thought that I will have to part ways with them and don’t know when our paths will cross again, dampened my spirit. I wasn’t feeling happy and felt glum. Damn! I am back to square one. There has been so many times that I had to part ways with so many of my friends, but I felt this glum only once before this, because this time I have the feeling that this bond will snap sooner or later.

We all eight were supposed to return from Trivandrum to Mumbai together via train, but later MA, SB and SA chose flight. Our first day of our two day journey to Mumbai was mostly boring and glum. I don’t know why but we were again and again singing “Yeh tara woh tara har tara” in totla voice even when SB was not around to get teased. The second day of trip was great. Everybody was in form that day and the scenic beauty on the way was breathe taking. There were fifty plus tunnels on the way. NG, ShaB and MS had a great time screaming from the door into the tunnels when the train passed through them. At Thane we bid adieu to ShaB, NG and MS. At LTT I bid adieu to SD and that was it. The end of one month’s memories. Maybe ILP could have been a little longer.

jDCBot nearing its finale – The 1.0 milestone

The open source project DC client framework jDCBot (http://jdcbot.sourceforge.net) I have been working on is now nearing its 1.0 milestone. Version 1.0 means that it will have all the required features that a DC client framework should have, like – managing shared files, hashing them, creating file lists, queuing downloads and resuming them when the source is available, multi-source downloading, etc.

This framework has been created from scratch, so unlike other DC clients which share DC++‘s code for the core functionality and hence provide similar features, jDCBot will provided unorthodox features. For example DC++ clients and its derivatives allow users only to provide different user names and passwords for different hubs. jDCBot on the other hand allows you to be passive or active in different hubs. So you can be passive and active both at the same time. This is useful in situations when say you are inside your college LAN and you want to connect to hubs inside the LAN and outside on the Internet too. In this case DC++ and derivatives will force you to be passive, but in jDCBot you can be active for inside your LAN and passive for outside the LAN. Well, you also get to set different descriptions, email addresses and connection types too.

There some other cool features too which are not present in other clients like allowing you to set different upload speeds for different users (this way you can give your friends a boost), blocking upload to particular users (could be misused but we are giving the power and it is upto the clients who will use jDCBot to make the decisions), using the virtual file list concept which allows the users to organize their share into virtual directories without actually reorganizing the files, the file names in file list can even be different from the original allowing the user to rename the file in the file list without rehashing or allowing the user to re-associate the virtual file with the actual file after the original file name/path changes so that rehashing is not required, and many more. Last but not the least it is pure JAVA framework and hence is platform independent and is very modular.

Rush Hour 3 – Review


Yesterday I saw Rush Hour 3. I know it was released long ago, in fact one year ago, but I have much less time or rather I love to do others tasks more and so movie watching takes a back seat. Anyway back to the movie. This is one of the most ridiculous movies I ever have seen, yes there are some, much more ridiculous, but its one scene broke all limits and forced me to actually blog about it!

Warning story spoiler (huh! as if it has any story)

This movie uses numerous well known formulae to create its plot. This movie has a typical protagonist (Jackie Chan) who has an evil brother – the villain. The protagonist tries to shrug off any fact that he actually still cares about his evil brother, but he indeed does care about him. The evil brother in question doesn’t give a damn about his protagonist brother, but he is very much aware about his brother’s weakness for him. So much so that the evil brother doesn’t fear a gun at his temple when pointed by his protagonist brother, after all the writer of the story has given him his word. The movie’s focal point was that a criminal secret society has (again) a secret ridiculous ritual. Because of the only reason that they
want it to remain secret that they rough-up and kill people. The same old story. Yawn!

The movie starts with a scene with a traffic cop (Chris Tucker), iPod in his ears, guiding the traffic or shall we say just dancing. Here we get to meet the typical black side-kick that many movies have. Oh, yes, by-the-way the evil brother – the villain, is not the main villain, as it can very well be assumed when a villain is shown in the very first 15 mins of the movie. Another typical formula, make an old, caring and father figure the main villain. I had a gut feeling who was the main villain from the very beginning, so much so, when I saw the protagonist trusting him so much I felt like going through the screen and pull Jackie Chan’s ears and tell him – You fool, can’t you see he is the real villain, haven’t you seen enough movies? The movie is peppered with ridiculous moments, I am still coming to the biggest of such moments. In one scene when Jackie and his associate reach the hospital where the shot ambassador was kept, they find not a single security personnel. During this time the villainous gang attack but our heroes save the day, as expected. Later nowhere in the movie they raise question about it. As if they had an amnesia and now none of them remember that they were just now attacked and mysteriously there was no one else to cover.

Now the biggest ridiculous moment of all. This is the only scene that actually forced me write this blog – This is my first movie review. This was so so (double ‘so’ was intended) ridiculous. In the climax of the movie it was shown that the mafia has control over the Eiffel Tower! Not even that, they even happen to have a plush apartment up there, and nobody in France seems to be bothered about it or maybe they don’t know about it – Ah the might of the writer’s pen, they can make anything possible. The last scene too was kinda funny. When the old, caring and father figure main villain, points his caring gun at our protagonists, a shot is fired, and (here we go again) as always he gets the shot, but from a cab driver who wanted to kill someone without reason (‘to become a true American’), and as this was not a ‘no reason’ hence his dreams were shattered. Poor driver. Then happens the funny part. The dying old, caring and father figure main villain walks up to the pool to take his eternal plunge. In many movies the villains take plunge into the near-by pools when they are shot (during the climax), as if to hide their shameful faces, but never before I had ever seen them walk for meters for the plunge. He didn’t looked like he was shot, rather he looked like a tired person lost in the desert and seeking water. Brett Ratner you could have made him walk up close to the pool when he was alive and then he could have just fallen into it without the walking stuff. Anyway this last part did really give me the laughs.

Conclusion

What can I conclude? You have nothing else to do and have no other options then, well, you have no other options, so see this movie, else recommend this movie to your enemy.

Get my Javadoc StyleSheet – Red N Black Theme

I recentry created the brand new site for jDCBot (http://jdcbot.sourceforge.net ). For the Javadoc section I wanted the Javadoc to match the site’s red and black theme. Below is its screenshot. Click on it for a better view, or even better visit jDCBot’s site (link is above) and goto to the Javadoc section.

Well anyway, below is the script.
The code
License: GNU Public License version 3.

/* Javadoc style sheet theme - Red N Black - by Nirupam Biswas (AppleGrew)*/

/* Define colors, fonts and other style attributes here to override the defaults */

/* Page background color */
body { background-color: #FFFFFF; color:#000000 }

/* Headings */
h1, h2, h3 {
font-family: Arial, Helvetica, sans-serif;
color: #555555;
}
h1 {font-size: 145%;}

a:link {
line-height: 14px;
font-weight: bold;
text-decoration: none;
color: #444444;
}
a:visited {
color: #777777;
text-decoration: none;
font-weight: bold;
}
a:hover {
border-bottom: 2px solid #666666;
}
hr{
color: #666666;
background-color: #666666;
text-align: left;
border: 0;
text-align: left;/*this will align it for IE*/
margin-left: 0; /*this will align it left for Mozilla*/
}

/* Table colors */
.TableHeadingColor     { background-image:url(javadoc.jpg); background-repeat:repeat-x; color:#FFFFFF;}
.TableHeadingColor a:link, .TableHeadingColor a:visited {
color: #bbbbbb;
}
.TableHeadingColor a:hover {
border: none;
background-color:#666666;
}
.TableSubHeadingColor  { background: #EEEEEE; color:#000000 }
.TableRowColor         { background: #FFFFFF; color:#000000 }

/* Font used in left-hand frame lists */
.FrameTitleFont   { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
.FrameHeadingFont { font-size:  90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
.FrameItemFont    { font-size:  90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }

/* Navigation bar fonts and colors */
.NavBarCell1    { background-image:url(javadoc.jpg);}
.NavBarCell1 a:hover {
border: none;
background-color:#666666;
}
.NavBarCell1Rev { background-color:#666666; color:#FFFFFF}
.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}

.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}
.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}

Also please save the following image and save it in the same directory with the style sheet above.

Make the top bar (navbar) disappear.

I once made a similar post. That trick no longer works since blogger.com’s upgrade. Now I have a new cleaner and better trick to make the top banner disappear. Add a new HTML/Javascript widget to your template. Now in this template add the following code.

<!--exclusively BY APPLEGREW (applegrew.blogspot.com),
HIDES Navbar -->
<style type="text/css">
div#navbar { display: none; }
</style>
<!--end of HIDE Navbar-->

Now save the widget and reload the page.

A tip. The navbar won’t disappear until this code gets loaded, hence make it gets loaded faster. Simply put it in head portion of your template.

My first GreaseMonkey script: Blogspot Post PrintView

My first GreaseMonkey script. It provides print option for your posts hosted in blogspot.com. When this script is running a ‘Print’ option will appear next to post’s date header. It depends heavily on the internal code of the template, hence it can very well not work on many non-stock themes and some stock themes.

You can install this from here. I highly recommend that you install it from there.

Anyway I am also providing the code below.
The code
License: GNU Public License version 3.

[code lang=”javascript”]
// Show Posts in Blogspot in Print View
// version 0.1 beta
// 2005-05-02
// Copyright (c) 2008, AppleGrew
// Released under the GPL license
// http://www.gnu.org/copyleft/gpl.html
//
// ——————————————————————–
//
// This is a Greasemonkey user script. To install it, you need
// Greasemonkey 0.3 or later: http://greasemonkey.mozdev.org/
// Then restart Firefox and revisit this script.
// Under Tools, there will be a new menu item to "Install User Script".
// Accept the default configuration and install.
//
// To uninstall, go to Tools/Manage User Scripts,
// select "Access Bar", and click Uninstall.
//
// Usage: When using this script then a new word ‘Print’ will appear
// beside every post’s posting date header.
// ——————————————————————–
//
// ==UserScript==
// @name Blogspot Post PrintView
// @namespace http://applegrew.blogspot.com/search/label/Greasemonkey%20Scripts/
// @description Show Posts in Blogspot in Print View
// @include http://*.blogspot.com/*
// @include file:///home/apple/Desktop/AppleGrew’s%20Mind.html*
// ==/UserScript==

var head, js;
head = document.getElementsByTagName(‘head’)[0];
if (!head) { return; }
js = document.createElement(‘script’);
js.type = ‘text/javascript’;
js.innerHTML =’function printview(id){location.href =location.href + "?print=1&id="+id+""; return;}’;
head.appendChild(js);

var isPrintMode = false;
var qs;
var ID=-1, postClass="post";
if (qs=location.href.match(/\?print=1&id=(\d+)&postclass=(\S+)/i)){
if(qs[1] && qs[2]){
isPrintMode = true;
ID = qs[1];
postClass = unescape(qs[2]);
}
}

var allDates, allPosts;

var postDiv = document.evaluate(
"//div[@class=’blog-posts hfeed’]",
document,
null,
XPathResult.FIRST_ORDERED_NODE_TYPE,
null);

var postDivChildren;
if(postDiv && postDiv.singleNodeValue)
postDivChildren = postDiv.singleNodeValue.childNodes;

if(postDivChildren){
for (var i = 0; i < thisdate =" postDivChildren[i++];" thisdate="postDivChildren[i++];" var="" thispost="postDivChildren[i++];" tagname="" i="" thispost="postDivChildren[i++];" thisdate="" id="" postid="" posttimestamp="thisDate.textContent;" newdiv="document.createElement(‘div’);" var="" divhtml=">h2dateid" href="http://www.blogger.com/post-edit.g?print=1&id=%27+i+%27&postclass=%27+thisPost.getAttribute%28" innerhtml =" DivHTML;" dateid = "dateid" postid = "postid" newbody = "<div\">"+document.getElementById(dateid).innerHTML+
"</h2><div"+postClass+"\"">"+document.getElementById(postid).innerHTML+"</div></div>";
document.body.innerHTML = newbody;

}
[/code]