#!/usr/bin/vijay

Saturday, February 26, 2005

Abou Ben Adhem

Abou Ben Adhem (may his tribe increase!)
Awoke one night from a deep dream of peace,
And saw, within the moonlight in his room,
Making it rich, and like a lily in bloom,
An Angel writing in a book of gold:

Exceeding peace had made Ben Adhem bold,
And to the Presence in the room he said,
"What writest thou?" The Vision raised its head,
And with a look made of all sweet accord
Answered, "The names of those who love the Lord."

"And is mine one?" said Abou. "Nay, not so,"
Replied the Angel. Abou spoke more low,
But cheerily still; and said, "I pray thee, then,
Write me as one who loves his fellow men."

The Angel wrote, and vanished. The next night
It came again with a great wakening light,
And showed the names whom love of God had blessed,
And, lo! Ben Adhem's name led all the rest!

-- James Leigh Hunt

Monday, February 21, 2005

New Mobile!!!!

Finally, I got new MobilePhone! It's brand new Nokia 3220 .. It's a new phone every day ...
Some of the exciting features:

  • Java Enabled ( MIDP 2.0/ CLDC 1.1).
  • 65536 colors & 128X128 Pixels
  • EGPRS (EDGE -- to watch HutchTV clips).
  • WAP 2.0 & MMS via TCP/IP
  • Operating System: NokiaOS
  • Shared Memory: 4.5MB
  • 1.2 MegaPixel VGA Camera ( read Video Camera )
And of course the all new flash lights and polyphonic ringtones. I've subscribed to the HutchTV and the HutchGPRS, and was able to browse many wap sites :) And even downloaded a couple of video clips.

The most interesting feature is Java, the 3220 is part of Nokia Series 40 platform. I've just started out writing small programs and just refreshing my memory (J2ME programming) .

If you wanna take a look at the phone here is the link

Wednesday, February 16, 2005

Linux on Laptop

Finally I managed to install the Debian GNU/Linux on our Laptop. It was really painful because, the laptop doesn't have the floppy drive and I donot have the Installation CDs, and one more challange was that the Laptop was running Windows Me (yuk!!). I already installed the Linux completely through network. But at that time my computer was running Window XP.

The problem with WinME is that it doesn't have the Real Dos Mode, so that the grubinstall program can get access to the Boot sector and modify it. So I installed FreeDOS and installed grub using FreeDOS and then the installation started off. And now Linux on Laptop :)

To my amazement, every piece of hardware has been detected by Linux successfully, including USB drives, touchpad, display hardware and even sound card. And Linux looks pretty good on the laptop.

It's a Celeron - 733 MHz- 112MB laptop with Debian GNU/Linux Sarge distribution.

Tuesday, February 01, 2005

Ruby!

After reading the Bruce Eckel's blog after a long time, I found an interesting and entertaining link to a book on ruby: Why's (poignant) guide to Ruby . Being an extremely influence by Bruce, I got some conviction that there are only four REAL computer languages in the world other than Perl: C++, Java and Python. But this book seems to be re-orienting my views. I am going to download Ruby and let me check how far I can understand the real philosophy of the language.

Talking about learning a language, I feel that one should understand what the language is good for? Learning a new computer language gives me a new perspective to look at the problems. Besides learning the syntax, which is also essential part of the learning, one should understand the philosophy behind it. The way the language provides the abstraction of the solution space so that problems in the real world can be solved. The essential feature of any programmer is to map and abstract the problem space to the solution space. The problem space is the subset of the real world. It mightbe a domain (vertical) or any particular set of problems in one field. The solution space in the programmer's perspective is composed of computers (Workstations, Servers, Network, and Memory). The basic purpose of the computer language is to provide tools for abstracting the solution space so that the real world or the entities of the problem space can be represented. And that's why we have the Object Oriented programming.

Consider a problem space of manufacturing company's one particular department: Accounts. In the problem space (Accounts department) we might have the following entities: Account, Accountant, Accounts Manager etc. But the solution space (software for accounts department) we are developing for the Accounts department will contain the computers/networks and memory. So the language we are going to use should be able to give us the facility to create the entities of account, accountant and manager. And it should take care of the essential conversion of the accountant (properties and behavior) into the computer's memory. This is what essentially all the OO programming languages do.

I am going to start learn Ruby, will post more code here.

Coming to work place: I am working on design of three new prototypes to test feasibility. One of which is the protocol switching. I am currently writing some proof of concept coding.

More soon.....