Windows Vista Boot Loader

May 30th, 2006

I installed Windows Vista build 5308 and after 14 days, it expired. I couldn’t activate it also. So what is the use of having it and wasting 10gb of precious space? I formatted the drive and restarted my system only to find that the boot loader is a pain in the neck. It just won’t go and refused to give me the default Windows XP boot loader.

Considering the fact that I have 4 OSes 😉 Redhat Fedora Core 3, Windows XP, Windows 2003 and Windows Vista 5308, I have to jump through 3 boot screens to boot into xp, or wait a painfull 70 seconds if it has to be done automatically :((

I popped in the windows xp cd and booted my computer from the CD. I pressed ‘R’ to go to the “Recovery Console”, selected 1 (represents XP on my computer), entered the password for Administrator account and then typed the 2 commands.
1. fixboot
2. fixmbr
After that I typed “exit” to restart.

Voila!! the Windows Vista boot screen is gone :D. Grub is also washed out. But recovering it is not a problem. Now my HDD is happily chugging away releasing 10gb of wasted space. 😀

The holidays have begun. Apart from having fun, I have started reading the archives of Joel on Software, one of the most popular blogs on software, usability, software engineering etc.

Wait, I know you are going to stop reading this post because I mentioned software engineering. Now, be a little patient and go through the rest of the post 😉

The “Painless” series of articles on Joel’s blog is just too good. Software engineering texts by Roger S. Pressman are very good to read. But, they are intimidating to the beginner :). Therefore, this series of “Painless” articles should help us to get started and be efficient too.

Mostly, we start our projects by opening the popular text editor and start spewing code. And, there are actually 12 better ways to write code. Once, we complete coding, we figure out that we have missed something and later fix it, which brings its own separate set of problems. At this point, the project goes haywire and becomes like the figure on the left :).

So, all we need is a good spec to which we can refer and understand where things change and what all parts are getting affected. Start here to go about writing effective specs.

Normally, we work without schedules and don’t understand the importance of them. Working on a schedule is very important because we know where we are and where we take wrong turns. Here is a way to painlessly schedule your project 🙂

After you begin to code, you introduce a new set of bugs right? Is there a way to painlessly track bugs? Yes there is :D. Read this article. Most probably, you work in a team and if the team members are a bunch of nuts whom you are finding difficult to manage, read this and this. They provide significant insight on how things happen at the bigger level. Lastly, if you are developing web applications, this article on “Less is More” is excellent.

Oh! and here are 2 nice case studies from Joel’s company itself.
1. FogBugz
2. CityDesk
I have linked part 1 of the articles, check the archive for other parts.

Now, that you have read all the links and the basics are firmly established, I recommend going back to the tables and designing your software that way.

Happy Software Engineering !!

I’m an Engineer

May 25th, 2006

Yippeee!! a huge relief atlast, as I completed the last exam 5 minutes before and even checked the answers ;). That was something that happened only for a handful of exams like programming, compilers etc. There is a lot of mixed feelings as I have to prepare myself to face the big bad world out there. Don’t no what is in store for the future…

So, what did I do after the exams? Went for the “Pink Panther” movie. Not bad I must say, because it was full of this vadivelu-vivek type of comedy. And later that night, got a nice small treat from this guy. He is leaving to Bangalore to join the company where we got placed. All the best to him. Hoping to join him soon 🙂

I don’t know where I will be posted. I may or may not leave my darling city where I have been for the past 21 years and watched all its development. And I don’t want to leave this city because IT is happening. Rapid developments are the order of the day as the IT/ITES companies grab every square inch of available space.

Ok… got to go now.. See you soon!

The Last Lap

May 21st, 2006

The last and the 8th lap begins tomorrow. Feverish preparations for the exams are going on, though there are only 2 subjects. Hoping to finish them off well. Thank God, i escaped unhurt in the last 7 encounters with the highly infamous Anna University exams 😀

All the best to my classmates and friends who are taking the semester exams!

Yippppppeeeeeeee!!! finally, my K300i synchronises with the PC and I even deployed this silly application on the beauty 😀

Will be back soon with the exact details of how it is done. Thank You!!

A New Mobile

May 12th, 2006

Hi!! just back from the purchase of a brand new Sony Ericsson K300i phone… It comes with a lot of cool features and hey, the GUI is awesome!! 😀 That is one thing that I just love about Sony Ericsson models 😀

It has GPRS, USB, Java MIDP 2.0 support (the 3 features which I want most), 12 MB shared memory, 500 x 8 phone book entries and other bells and whistles such as a music player, camera, video capture, sound recording, IR, MMS, blah blah blah. First thought of buying Nokia 3120; but on comparing the features of 3120 with K300i, the latter offered better features with just a 1000 bucks extra. If I had about 3000 more, my choice would have been K750i. Anyway, absolutely no regrets with this piece and only downside is, it doesn’t support bluetooth.

Now I can try all my ultra-silly and crappy Java ME applications that I build just for fun :D. Even though Chennai’s been sweltering under the heat, things seem to be very cool for me…nice!!!

See you soon…bye!

A very good morning guys and gals… I was woken up by my mom today morning with the best piece of news I have heard so far :D. My name and Moyeen‘s have come on The Hindu on page 4 of Metro Plus titled “Where geeks get together“. The article was on BarCampChennai and related to it, our presentation of the final year project – mSync.

Read the online version of the article here 😀

Yes, I will soon write another post on how the 4 months this year, starting from 3rd Jan 2006 until today have been the finest and sweetest moments of life…

See you soon! Bye… 🙂

Command Line Calculator

May 8th, 2006

Hello guys! Came across this beautiful blog post from Raymond Chen. It tells about how to use the command line as a calculator.

Command Line = Start–>Run–>cmd

Check that post here. Bye!

The last post was on setting up the Nokia S60 SDK with netbeans 5.0. The application we are going to develop now doesn’t require the Nokia SDK. It is required only when you want to implement Nokia specific features. By the way, MIDP is called Mobile Information Device Profile. Two common versions of MIDP supported by most mobile phones across manufacturers are MIDP 1.0 and MIDP 2.0. MIDP on combination with CLDC – Connected Limited Device Configuration – allows us to build device independent applications. Both of them are products from Sun Microsystems. You can read more about MIDP here and CLDC here. Look at the huge list of mobile phones that support MIDP and CLDC.

For this application, we will use the standard emulator that ships with the netbeans mobility pack. We will create a simple application that accepts username and password. If the username is “aswin” 😉 then it will take you to the next screen. Otherwise, it will display a small error box. Understood??

Ok, be a good student and fire up Netbeans 5.0.

1. Go to File–>New Project. Select “Mobile” on the left pane and “Mobile Application” on the right pane.
2. Click “Next” and give the project name as “MyGreatMobile”. Click “Next”.
3. Select the Emulator Platform as J2ME Wireless Toolkit 2.2. Leave the other settings as it is and select “Finish”.

You should have something similar to the one shown below.

4. Choose Window–>Palette. The Palette window is now displayed. From the “Form Items” section, drag and drop 2 textfields on the “HelloForm”. The whole window should look like the one shown.

5. From the “Commands” section of the Palette, drag-n-drop and “Ok Command” and a “Exit Command”. Press F5 at anytime to view the output on the emulator.

6. Drag-n-drop a “List” and an “Alert” from the “Screens” section of the Palette. Link the “Ok” of “helloForm” to “list1”. We will link the Alert programmatically. Also d-n-d a few listitems from the “Elements” section and a “Ok Command” onto “list1”. Link the “Ok” of list1 to Form1. Check the screen shot below.

7. Double click on alert1 and change the text to “Invalid username or password”.
8. Now, if you switch to the Source view from the Flow Design view, you will be able to see that all the necessary code is generated, to implement the functionality shown in the flow design. THAT IS AMAZING!

Let us switch to Source view and do some tweaking to get the functionality we want. Find the function called public void commandAction. That function implements all the necessary conditions for navigation. It initially looks like below.

Change the code so that it is similar to the next screen shot.

We are done. Press F5 to view the beauty 😀

The next post will be on consuming .net web services on Java ME. Bye!!