Sunday, December 28, 2008

Random thoughts... about 2008

I have seen people who write in their Orkut profiles, "I'm cool" or "I'm hot". I've even seen some guy who has written both. I am neither hot guy, nor cool. My body temperature remains normal at 37°C, unless I'm sick. And I am still trying to understand the meaning of hot and cool. Guys (and girls, if there are any), help me out here!

When I stay alone, I think. Not that I don't when I'm with others, but I believe solitude is the time when I get time to introspect, think about myself. It's the time when I laugh at myself for my foolishness. It's the time when I realize my mistakes. It's the time I repent for my mischievous behaviours and misdeeds.

People change. Not because Barack Obama has asked for it, but they change for a reason. They change when they grow. They change when they get good marks in classes. They change when they get awards. They change when they get good jobs. People change when they get new friends. And they change, abruptly, when they get girlfriends. They change when they marry. Amidst all these changes, people remain friends.

About two and a half years back I, along with Suri, started blogging. Then, it was just like a collection of some interesting and funny mails which I was getting. After a couple of posts, I found it useless and I stopped blogging. But Suri was very serious about it. He was literally going through all sorts of websites, from Technorati to hit-counters, from problogger to pre-blogger. Every night (yes, not day. Courtesy: BSNL Sancharnet) we used to chat hours together. That's the time people started calling me Goobe (owl). I still wonder how Suri escaped from that title. He used to talk about blogging, blogging and blogging. Eventually he was able to pull me into it. So I restarted blogging in 2007, wishing everyone a happy new year. I started writing posts at the rate of one per day. Suri read it. After continuing it for two weeks, I started showing my laziness and procrastination. The frequency of my posts started decreasing.

In spite of all this, my blog has more than 75 feed readers and has recently crossed 50000 hits. Not an award-winning achievement, but I think it is quite decent for a blogger like me, who posts once in three months. I thank all my readers, friends and those who have supported and backed me during times, good and bad.

2008 to 2009
2008 has been a year when I started working as an engineer (well, although I joined in 2007, we just had training), something which I dreamt right from my childhood. Apart from that, this year has been a year of ups & downs, just like every other year. I'm sure 2009 will also be like that. But we have forget the bad, cherish the good, and move on.

I wish you a very happy new year.

Wednesday, December 03, 2008

Code for Factorial, without Recursion

After having been declared to be an impregnable procrastinator by all my close-circle friends, after being connoted to update it by those who I didn't even know were reading my blog and after being told "Enough is enough, now update it buddy" by a few friends, I am in the same situation as the Indian government after the Mumbai attacks. I have no other go than updating it, at least for the sake of hushing them up till the next terror attack near my house. So here I go...

As you might already be knowing, I prefer calling programming an art to calling it a process. That's the reason I enjoy it.

Coming to the point, my friend cum colleague was trying to write a program for generating Pascal Triangle. I decided to play along and wrote a code. In the process, I wrote a function to calculate factorial for a number in an unusual way, without recursion.

Generally an incremental loop is used from 2 to N. But I used decrementing loop and here is the outcome (Code written in C programming language):

unsigned int fact(unsigned int n)
{
unsigned int f=n;

while(n---2)
f*=n;
return f;
}

Main thing I wanted to convey in this code is the while loop, which uses the unusual "--" & "-" operator pair.

It works similar to this loop:

for(f=n;n>=2;n--)
f=f*n;

Not a great piece of code, but I found it to be a little interesting. Hence the post.