Sunday, June 25, 2006

Change of Blog

I have changed my blog to http://mianfahim.wordpress.com. Please update your bookmarks. See you there.

Regards
Mian Fahim ul Haq

Sunday, January 15, 2006

My new Motorola ROKR E1

Shifting from Nokia 3100 to Motorola ROKR E1 was fun and not so fun. I was not changing cell phone due to one reason i.e. I had all my contacts in my phonebook (not in SIM) and they were organized using “Multiple Contacts against one name” feature of the Nokia (Nokia rocks in flexibility regarding this – I think!).

Now when I finally decided to change, the problem was to get all my contacts to ROKR and this is where the story begins. I encountered a lot of LIMITATIONS in several software products.

First question was to shift all the contacts from Nokia phone to my computer. DKU-5 cable along with the Nokia PC suite is the best solution to do this. I decided not to install the cable driver and PC suite from the CD that came with the cable. Instead, I downloaded the latest version and it didn’t work. On searching, I came to know that DKU-5 cable comes in clones as well and I happen to have a cloned cable that is somewhat different from the standard cable. Original Nokia DKU-5 cable was of $100 while I got the cable for Rs. 250 (less than $5). I had to uninstall the latest version, re-install the driver that came with the CD and then upgrade the Nokia PC Suite. Eventually it worked. I took a backup (which Nokia PC suite saves in its own format) and then moved on to getting the contacts in Outlook as well.

Now look at Outlook. Somehow Outlook contact book designers also decided that a person can have only one home, one mobile and one office number (that is not very much in accordance with the real world). People tend to have several office/home numbers and some people do have more than one mobile numbers. I hope that in Office 12, they would have thought of that.

Now how to move those contacts to ROKR? It was a bigger problem. I found out that there was no software from Motorola to do this (at least no free software). There were several products (which were obviously not free). I tried MobilEdit and mobile PhoneTools. mobile PhoneTools is a software from Motorola but it should have been free. Both MobilEdit and mobile PhoneTools almost serve the purpose. However mobile PhoneTools provides contact synchronization as well while MobilEdit just allows you to copy the contacts from computer to mobile (and vice versa).

Motorola doesn’t GROUP contacts like Nokia does. It just adds another entry but at least I have all my contacts.

Apart from this, iTunes in RORK is cool. You can have 100 songs at most (which may be a little less for some people but it will work for me). Sound quality is pretty good. A decent option if you are a music freak and want to have a iPod with Mobile – and if by stroke of luck you keep all your contacts in SIM (my SIM has a 200 contact limit which is less for me), the switching over will just take a couple of minutes. Camera results are good as well. Overall a good option!

Saturday, January 07, 2006

Reinventing the Wheel !!!

Consumer Electronic Show 2006 has seen some of the great presentations during this week. Starting with Bill Gates (no need to introduce), we saw some other great CEOs coming forward and presenting their innovations. Among these were Paul Otellini (Intel President and CEO), Terry Semel (Yahoo CEO), Larry Page (Google CEO) etc.

Bill G started with the word ENTERTAINMENT and that is what all the other’s followed. See the announcements and you will find a lot of them e.g. mobile phones with enhanced multimedia capabilities, collaborations with TV channels, audios/videos on sale etc.

Windows Vista is one attraction, Yahoo Go and Google Pack are yet some others (Not exactly the discussion of this topic but I did wonder why Norton agreed to give a reduced Antivirus with Google Pack).

And listening all this, I was wondering who is going to INTEGRATE all this? Larry did talk about simplifying things. However Google is introducing yet another media player for its Video Sales service when they could have Licensed Windows Media Player which is a de-facto standard for almost all the Window users (more than 90% computer users in the world). I already have three media players, Windows media player, Real Player and Quick Time as none of these can play all the formats.

Right now, I need at least three accounts, one for Hotmail, one for Yahoo, One for Google (three passwords, three profiles etc). Yahoo Groups won’t let me get the files and photos even if I am subscribed to that group from my GMail account. I cannot sign in to ORKUT using hotmail or yahoo. This sort of incompatibility list is long rather very long. If just my phone numbers change, I would have to update at so many places that I’m sure to forget some of these.

Companies should work together. MSN Messenger and Yahoo Messenger are joining hands, which is a good sign.

I still remember my course in Object Oriented Programming. In the very beginning, we were told that reinventing the wheel is a bad idea. Probably someone forgot to tell me that this “reinventing the wheel” phrase should only be used get an A+ in OOP course - Afterwards forget it!

P.S. These are some random thoughts at entering my passwords ten times, installing software that will do the partial work etc etc.

Sunday, December 18, 2005

Tips for Microsoft Interviews

Being interviewed by Microsoft is an exciting experience. You get a chance to meet people who are actually creating the next generation software.

Here are some tips for the interviews (at least they worked for me).

  1. Just be the way you actually are. Don’t act or pretend. I rolled up my sleeves before my first interview as I always do when working.
  2. Try to forget that you in the Microsoft interview. Just think that you are in front of some quality people who want to know about your current knowledge and interests.
  3. If you get a better idea while implementing/solving a problem, keep a note of it but complete your first solution first. Then tell the interviewer that you can now present a better idea. Jumping to ideas again and again might leave the problem unsolved in the end.
  4. Don’t ask too many questions in the beginning about the Team etc. as time is limited. I got to the coding questions late in my first interview and I had to rush. In the remaining interviews, I told the interviewers that I have some questions and they spared 5 minutes or so at the end. This approach provided me with ample time to code and test and ask questions.
  5. Give as many ideas as you can. Even if idea doesn't make sense to you, you interviewer might be interested in listening it. Almost 4 times, I thought that some idea is not a good one but I spoke and it turned out that interviewer wanted me to talk about that.
  6. When suggesting a data structure, be ready to DEFEND your opinion. Even if you have suggested the best data structure, your interviewer would like you to compare it with other data structures and discuss their advantages and disadvantages.
  7. I never got a single Riddle/Puzzle question in my 5 hour interviews. It doesn't mean that you will not get one but it certainly shows that don’t waste your precious time preparing for puzzles.
  8. Talk, talk and talk (obviously listen to your interviewer as well).
  9. Suggest improvements in given function prototypes. Sometimes they are intentionally flawed to see if you can find out the flaw or not.
  10. While writing test cases, keep in mind that your code should verify all of them. If you find a test case that you have not handled, tell this to your interviewer straight away. Also suggest modification in your code to handle this test case.
  11. Don’t skip the test case that you have not handled as your interviewer is likely to suggest this test case. In case of avoiding, you are showing your incapability. First you coded a problem and you were not able to tackle a case. Then you again analyzed the problem and were still not able to identify a valid test case. So it’s -2 instead of -1.
  12. When in doubt, ask your interviewer to explain.
  13. If you don’t know something, simply tell your interviewer. Your interviewer will appreciate it and will try to explore your knowledge in some different domain.
  14. Even if interview is not going good, don’t get frustrated. May be your interviewer has intentionally given you a tough problem and would like to see if you lose heart or not
  15. Keep faith in God and in yourself.

Tuesday, December 13, 2005

Microsoft Interviews in Dubai

I'm back to my blogs after a long long time. During this period, a lot of things happened.

  1. I completed my course work at the university.
  2. I got a job in a very good software house i.e. Palmchip Pakistan(www.palmchip.com).
  3. And now I got selected for Microsoft.
Today I received the email that I have been selected as an SDET in Microsoft in Microsoft Exchange team. I was interviewed for MS in Dubai last week(Dec 9, 2005 to be precise). I am very excited about it. Thanks to all who prayed for me.

In the coming days, I'll be posting that what happens during the interview process at MS.

For the time being, please pray for me.

Tuesday, May 31, 2005

Visual Studio 2005 Beta 2

Got the DVDs for Visual Studio 2005. However it isn't working yet. It always ask for a team server and I am on WinXP. So Team Foundation Server couldn't be installed on my pc. Will try again. The good thing that comes with the Beta DVDs is the WEFLY247.net DVD. It contains more than 7 GB of data (Did I ever say that I read all that:P). But its looks cool. There are a lot step by step tutorials that realy gonna help.

I hope that I can get the beta running soon.

Thursday, May 12, 2005

50th Episode of .NET Show

Just downloaded and watched the 50th episode of .NET show. Was amazed at a lot of things. Discussion was good but I dont want to discuss it here.

I was more amazed when I saw Brad Abrams as he looked so young. I wasn't expecting that he would be so young (Used to consider him of the age of Anderes Hejlsberg or Jim Gray). I was inclined to find out his age. His resume shows that he graduated in 1997 and he would probably be 24 at that time. So it makes him 31 or 32.

Well the last 6 or 8 minutes of the episode included an interview with Bill Gates. Came to know a few interesting things about him. Like he has done most of his coding in machine code and he still writes a few applications in C#. And moreover, once he used to understand all the code of the windows and used to modify it as his will ... Wow.

I think .NET show people have realized that everyone cannot download the movies due to slow internet. Hence they've provided with the Transcripts of the shows. These are available for episode 31 and onward. Here is the link

http://msdn.microsoft.com/theshow/transcripts/default.aspx

Have a look if you want to get a quick overview of the show before downloading it.

Cheers

Microsoft Support Policy

In December 2004, Microsoft announced that in 2005, Microsoft will discontinue the free support for Windows NT. I think that Windows Serviceability Team works on these support issues. For a complete news see http://www.techbuilder.org/news/59200477 or use google :).

I have read this news before and was confused that when should a developer or a development company should stop wasting useful resources on older operating systems and tools. While browsing through the MSDN, I found a link that expalins the Microsoft's Policy. By reading this FAQ, you can safely analyze that when a product is 10 years old, then its almost the time to say bye bye. See the FAQ at http://support.microsoft.com/gp/lifepolicy for a complete overview.

Also have a look at http://support.microsoft.com/gp/complifeport to see the exact dates after which the support will be available for a price to big clients.

Cheers

Operator should be += OR =+

We are quite used to operators like +=, -=.

Just going through the history of C, I came to know that older versions of C used =+, =- to mean what the operators +=,-= mean these days. And they changed it when they realized that assignment of a -ve number to integer is rather ambiguous e.g.

int i;
i =-1 // i is supposed to be -1 but this was resolved as i=i-1;

A way round to this problem might have been something like this

int i = 0;
i =- 1;

Of course it will not work in cases when i contains anyvalue other than zero.