Monday, September 22, 2008

Robot Capable of Balancing a Ball

The following video which I found in the internet, shows a robot bouncing a ball on a plate. This apparently extraordinary feat was achieved by Francesco Prosperi at the Sant'Anna School for Advanced Studies of Pisa, Italy. The tray on which the board is being balanced is nothing but a FLEX board which is equipped with micro controllers and sensors to track the position of the ball and feed it to the CPU underneath.

I guess if robots are capable of balancing balls now, their reflexes will soon be fast enough for mimicking human walking and gestures. Lets wait for that now. Personally I have shown this around to a lot of my fellow students who are either working in or are interested in robotics. While almost all of them agreed that this was quite possible theoretically, but none had so far seen something this accurate.

Friday, September 12, 2008

Microsoft Student Partner Lead

I got this email on Thursday, September 11th from Microsoft stating that I have been made the new Microsoft Student Partner (MSP) Lead from Kolkata. I am proud to receive this honour. Along with me, 5 others MSPs also got selected for MSP Leads:

  1. Kaushal Bhavsar (Ahmedabad)

  2. Lakshman Srikant (Bangalore)

  3. Mayur Tendulkar (Pune)

  4. Raveesh Maaya (Bangalore)

  5. Urjit Singh Bhatia (Baroda)

I do not know what is it, that I exactly did to be a MSP Lead, but I will surely try my best to live up to it. Thank you MS Academic India team :)

The other good news in the mail:

  • A new monthly newsletter have been introduced from this month.
  • The credit point system for the MSPs have also been improved with the introduction of new monthly awards.
  • From now on, the MSP selection procedure will have a formal written examination.

Saturday, September 06, 2008

Getting Started with Prolog

It was on the very first day of Artificial Intelligence class that our professor introduced us to the Prolog programming language. Prolog, which means PROgramming in LOGic is one of the standard languages that are used for AI related work. Being used to traditional languages like C and C++, Prolog's approach felt quite a bit odd to me. Prolog is a declarative non-procedural language which takes quite some time to get used to, more so if you are used to programming in usual procedure oriented languages.

Well, I am facing a lot of obstacles to learn Prolog. I cannot clear them all through one blog post. But I guess I can help out everybody with the basics.

Study Materials

I am not at all a knowledgeable person on prolog, but I liked the book "Prolog programming for AI" by Ivan Bratko. Having read no other book on this subject, I cannot possibly compare it, but the book is quite easy to understand.

Compiler

There are a lot of compilers available for prolog on the market. If you already have not got one, I would recommend GProlog which is the GNU implementation of Prolog, available both under Win32 and Linux environments. It supports the ISO standards of Prolog and is completely free. Being a GNU software, it has all the open source advantages too. Download GProlog from the site and install it. The installation is straight forward and intuitive.

First Prolog Program

I am not sure whether prolog has a Hello World program, but I started with a simple parent relationship program as given in Chapter 1 of Bratko's book. You can download the source file parent.pro that I wrote from Bigyan_Prolog, (password: bigyan). To load the file, start GProlog and go to Files>Consult and select the prolog file (extension .pro). Then in the command line you should see a compiled message after which you can try writing goals in the GProlog window.

In Future

I have just began with prolog. I am getting to learn new things regularly. So in future watch out this space for more stuff on Prolog, especially my own programs that I will upload from time to time in the Bigyan_Prolog web space. I have always wanted to distribute the simple programs of mine to everyone who needs them, but for languages like C and C++, I have lost most of them. So this time I plan to methodically upload them to Internet.

Friday, August 22, 2008

Exams have ended (finally)

My B.Tech. Part II examinations have finally ended with all the theory (6 papers) and practical (4 papers) complete. The ordeal started from 1st of July 2008 and ended today 21st August 2008. Spanning for a total of 52 days, it was like the ultimate test of patience for me. It is very hard to concentrate and maintain the same level through such a long time. Overall the examination did not go as well as I was expecting; but it did provide some valuable lessons to me, and in the long run, that is what counts.

Plans for coming weeks

At present I have no plans. I plan to enjoy a few days of rest which I guess I absolutely deserve. I hope the classes would not be starting till the 2nd week of September, so I will be getting something like 2 weeks. I got a new book on "Lex & Yacc" from departmental library, which I will be reading. I have always wanted to learn these powerful tools that aid in writing compilers. I do not intend to write a compiler anytime soon, but I hope the knowledge will be useful in a variety of other ways.

I feel that one should never be idle. Specially applicable to me, after what I went through during the exams. An idle mind is free to think of anything, and in most cases, its totally unproductive. So I intend to involve myself in some sort of mental activity to keep my mind focused.

Tuesday, August 19, 2008

Hug a Developer

Here is a funny video that a friend of mine sent to me a few days back:

 

I totally loved this video specially in hard times, like my exams, which is spanning for 50 days now.