Archive for May, 2011


In terms of technology and computers, I have currently decided to blog on NS2, Android and Python. I will bring in other interesting languages like LISP, Haskell, Perl later on.

Technology is fun. Though I don’t have any great desire to become a techno-geek or something,  I do read a lot on Tech stuffs. And am mad about computers and gadgets. i know am not alone. Because they really have profound impact on our lives. Don’t they?

Choice of Computer Science : It all commenced when I was doing my 12 std in High School. I was asked to make a choice of a lifetime among three streams – Computer Science, Biology and Business. After hearing all the opinions from mom, dad, anna, anni, chithappa, chithi, thatha, paati and so on (:P) I decided to settle with Mechanical Engineering in PSG. But there was one particular thing which was continually haranguing my mind. “What is it that I never get bored with?” –> “Hacking into Computers” replied my conscience, everytime. Then after a deep study into the roots of Computer Science, I fell in love with it. I wanted to learn more and more about it. And thus am into CS. So, what made effected that sudden change of mind?

I ascribe that part to the history of Computers. I thank the forefathers of computer science who have provided such a brilliant platform for the current generation of young entrepreneurs to work on. Anyone who could clearly visualize the power latent within computers and the platform available for students would easily go for computers and technology.

Take for instance, the concept of languages. We interact with the humans with languages like English, Hindi, Tamil etc. These are nothing but a product of recursive abstraction of languages, the phenomenal process which started with the introduction of Hieroglyphics in Egypt. With each level of abstraction, the depth of each word increased. And finally we ended up with beautiful languages that are in use today. Such is the evolution of computer languages. We started instructing the computers using  machine code with mere 0s and 1s. We started abstracting it to Assembly language, BASIC, procedural languages like C, Functional Languages like LISP, Object Oriented languages like Python and Java and it continues to evolve. If you ask me, this will evolve until the computers are able to perceive instructions fed in human languages like English!! Imagine instructing your computer to pXe boot to Ubuntu just by a verbal command in English. Thats going to be legendary..

And moreover computer languages too follow a grammar, similar to the grammar rules we have in our human languages. Thus programming languages are very closely related to human dialects. This closeness to reality impressed me. I swore that I would learn all these technologies and make a better platform when I pass the baton to the next generation. because thats is how civilizations occur. Thats how the world has developed over the years. That leads to ultimate glory of mankind.

And this is what made me a technophile 🙂

This post was inspired by the document “How to become a Hacker” by Eric Steven Raymond.

The term “Hacker”, automatically brings an image of a nerd using complex tools to break into the US Department of Defence. I blame the media for that. Those kind of fellows are called “Crackers”. Then how else do you describe a “Hacker”?

Well, a hacker is anyone who finds himself, as a part of the shared culture of expert programmers and networking wizards, whose origin dates back to the first time-sharing mini computers and the earliest ARPAnet experiments. So where were these “Hackers” then.

  • Hackers built the Internet.
  • Hackers made the Unix Operating System.
  • Hackers run Usenet.
  • Hackers make the World Wide Web work.

If you are part of this culture and if you have contributed to it, then YOU are a HACKER. If not, here is the next section for you..

HOW TO BECOME A HACKER :

There are just four steps to be followed before you join the elite league of Hackers who revolutionize the Digital world from time to time.

Step 1 : Learn how to program : This is obviously the fundamental hacking skill. If you are already well versed with a wide array of programming languages, consider yourself well ahead of others. Else, it is recommended that you start with Python. It is easy to learn, well documented and much productive than its other counterparts like C,Java,etc.

Step 2 : Get one of the open-source OS : Am damn sure you must own a PC. The very first quality of a hacker is to use open source Unix. This gives you a chance to know the internals of an OS. To hack internet, you must know the OS of the internet i.e. Unix. First have a dual-boot of Windows+Linux for a few days. One fine day you’l understand proprietary OS’es are for kids.

Step 3 : Learn to use the WWW and write HTML : The Web is everything. So learning how the WWW works is mandatory to become a hacker. Here, learning doesn’t mean just knowing how to drive a browser. You should know to write HTML (or better XHTML). It is good to have a webpage with considerable content in it and keep updating yourself to the latest technologies.

Step 4 : Learn functional English : I know it sounds funny. But it is of primary importance. You must be able to communicate your idea however complex it might be. If Linus Torvalds did not posses the diction he actually possessed, undoubtedly Linux wouldn’t have grown up to such an extent now. So work on your English.

Thats it. And once you’ve become part of the “Hacker” family, start writing open-source software. Help and debug open-source software. Publish useful information. Help keep the whole infrastructure working. Continue serving the hacker culture itself.

Thus Hacking is not a profession, its a way of living.

For those who are unaware of NS2, NS2 is a event-driven network simulation software, used to study network models and simulate network scenarios. Installation of NS2 in Ubuntu seems like a tough job for many. If not, atleast for me, it was a herculean task because of lesser documentation on this installation part.

Network Simulator

Without much talking, lets dive into the topic.

Since “long long ago so long ago”, this has been the method of installation. But installing in latest version of Ubuntu is little challenging due to the new gcc version.

Step 1 : Install the dependencies

$ sudo apt-get install build-essential autoconf automake libxmu-dev

Step 2 : Download ns-allinone-2.35 package from NS2 official site. At the time of this writing, the latest version was 2.35 RC7.

Step 3 : Place the ns-allinone-2.35.tar.gz file in your home folder(/home/sunshadow in my case). Extract the contents of the archive to a folder of the same name.

Step 4 : Open terminal and change directory to the ns folder.

     $ cd /home/sunshadow/ns-allinone-2.34
Step 5 : Editing files to remove X::X construct – Edit the file ns-2.35/tools/ranvar.cc and change the line 219 :

return GammaRandomVariable::GammaRandomVariable(1.0 + alpha_, beta_).value() * pow (u, 1.0 / alpha_);
to
return GammaRandomVariable(1.0 + alpha_, beta_).value() * pow (u, 1.0 / alpha_);

Similarly, change the lines 183 and 185 in file ns-2.34/mobile/nakagami.cc :
resultPower = ErlangRandomVariable(Pr/m, int_m).value();
and
resultPower = GammaRandomVariable(m, Pr/m).value();

Step 6: Begin ns2.35 installation

     $ sudo su

     $ ./install

The installation runs for a couple of minutes. Don’t get freaked out on seeing the varieties of warnings and messages over there. :P. Its normal. Don’t close this terminal. We got some important information in the last section of the installation.

Step 7 : Add the path information to the file ~/.bashrc

     $ gedit ~/.bashrc

Append the following lines to the file ~/.bashrc

export PATH=$PATH:/home/narendran/Documents/ns-allinone-2.35-RC7/bin:/home/narendran/Documents/ns-allinone-2.35-RC7/tcl8.5.8/unix:/home/narendran/Documents/ns-allinone-2.35-RC7/tk8.5.8/unixexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/narendran/Documents/ns-allinone-2.35-RC7/otcl-1.14:/home/narendran/Documents/ns-allinone-2.35-RC7/libexport TCL_LIBRARY=$TCL_LIBRARY:/home/narendran/Documents/ns-allinone-2.35-RC7/tcl8.5.8/library

Here replace /home/narendran/Documents with the path to your home folder.

Step 8 : Check installation : Thats it, folks!! Now type ns in terminal. A ‘%’ symbol will be displayed denoting that interpreter is working. Installation Success!!

Happily Ever After 🙂

Note : If you are not a serious ns developer or you just want to run a simulation file on your system, use apt-get or yum (based on which Linux distro you use) Eg. : sudo apt-get install ns2 nam xgraph. It is not mandatory to build ns2 from source to use it.

Today I came to know about some of the best tools for blogging on WP. Two of the most prominent were ScribeFire and Windows Live Writer.  I have never been an ardent fan of Microsoft. But I must take back my words when it comes to Live Writer. Maybe because it is the only tool in the name of “Blogging Tool” or whatever, it holds it own place in this field. Hmm lets see how things roll..

This post is about reality. The reality that you can’t become whatever you dream to become. I know it makes a negative impact, but I guarantee to have a happy ending.

This thought was inspired by the quote “The whole word is a drama stage, men and women merely actors” by Shakespeare. This has been intriguing me for long.

Where it all started? I would cite two very different instances.

1.  My grandpa wanted to study abroad. But it just stayed as his dream due to his family’s economic status. And after two generations, am gonna make his dream come true through my Masters Degree in US. Similarly, I wanted to become a doctor. Ironically, I can’t even stand someone bleeding for more than 2 seconds!! So I would entrust that dream to my son or daughter. And I have to find what my account holds for me..

2. The second is the character “Lady Gaga”. Seeing her perform on stage, I find that she is perfectly made for entertainment and absolutely nothing else. She can never become an academician even if she holds a hunger strike till death.. She has found what she is meant for, which according to me, is her greatest achievement. She is doing the best in her field.

So you just get what is written in your account, nothing more, nothing less. That’s what life is all about. Its useless to keep dreaming about becoming a celebrity or a superstar. First thing to do is to identify the role assigned to you by God. Is it a musician, dancer, architect, dramatist, singer, academician or one of million others? Until you find that role, don’t settle.. Keep hunting for that one thing you are made for. That is the reason for your existence. That is your reality. Until you find that role, you are just living someone else’s life, wearing a mask of satisfaction. Once you find it, start chasing. Don’t ever look back. Trust your intuition, karma, insight orwhatever you call that instinct. Don’t let other people’s voices drown your own precious inner voice. Just stay calm and listen to what it says and pursue the goal it renders in your mind. The more you know abt it, the more you’ll want to get it. Like any relationship, it grows better and better with time. Then one day the whole world would seem to work for you and by then you are already on top of the world. You have proved yourself to God that you did your role well. You are now called a celebrity.

Thats what happened to those two people, whom I mentioned above. My grandpa became one of the pioneers of bringing in industries to my native Sivakasi in Tamil Nadu. And on a global perspective, Lady Gaga rose from ignorance to elegance.

An aimless life is like riding a car without destination. Thus to become a successful person, we need to know our role (ie. our reason for existence) and perform it to the fullest. Once we start enjoying every moment playing that role, we slowly become dearer to God and success will follow. The ultimate secret is to “Identify what we are made for” and pursue that cause. Everything else is trivial.

Hey ppl, this is my first blog. I have decided to blog about anything that hits my head during the apparently day-long classes in college.

Let me start off with my idea on WORLD UNITY. Is it possible or it just has place in fictions and dreams? Lets see..

          I once read India is a peace-loving country. Of course I was relishing that peace then. But once I grew up I understood that “peace” meant just a state of being. Not the state of mind.

The peace we enjoy is brought about by an obscure fear of war. People all around the world actually pretend to be at peace, but actually they are not. We are just under an illusion of peace, because of the hundreds of lives lost at the border every week. Its synonymous to what a Yoga master taught the other day. When asked what is yoga, he said that its a state of infinite freedom where we don’t have any rules. It means if we follow 1000 rules while sitting and 2000 rules while breathing, we attain infinite freedom. Nice to hear. But who wants it while the whole world is burning in terrorism. Its the same state we are in. We think we have attained peace by spending a fortune on military equipments, but we have not. And that incited this post..

Think about this.. When we were at school, when a girl had a personal fight with a guy of the same class, the whole lot of girls team up together forgetting their ego among themselves to support the girl’s cause. Scaling the same instance to a bigger scope, when two states lock horns on a petty river problem, all the religions, castes, communities in each of those states join hands to support their native state. These interstate problems become meaningless when there is a threat to the whole nation, like terrorism. When Al-Queda threatens to destroy our nation, all the states unite to fight for their country. A guy forgets his fight with his class girl, his father forgets the caste problem in his street, the state forgets the trivial interstate problems and each and every soul in the country is instilled with a single anthem “My life for my country” . Thus with a bit of logic, we could generalize that unity is brought about when different factions face a common enemy.

So are we arriving at a solution for muting wars and battles at the country borders? Ya, I believe. Once we start focusing on global problems like poverty, global warming, food production, pollution and things which left untamed could lead to the planetary devastation, there is no need for manufacturing bombs, artillery, and billion dollar tanks. Instead we can plant trees and educate children with the same money. If we are willing to die for the country, why can’t we live to save our mother earth. Once we get a global perspective on human’s lives –  terrorism, community clashes, religious misunderstandings, all these fade away as trifles in the face of death.  Thus world unity is not just a fantasy.

The World will be unified, when people start understanding the gravity of global problems and start acting.