Interview Questions Headline Animator

Friday, December 28, 2007

Would you call this a hack...?

Look at this piece of code...

Select *
into #Constant
from SCM3DConstant
WHERE 0=1

Would you call this piece of code a hack...? Think about the intent of this piece of code and leave comments...

Thursday, December 27, 2007

Windows Vista Service Pack 1 RC1 Vs. Shipping Vista

Another one of those referral posts... I don't like these... But I need to post this one... Just for the record...

I have heard some bitching about the Vista that it is slower than the XP too and that if you look at it from the sheer performance perspective, XP is better...

Had to post this to put things into the right perspective... and to lay their tall claims with some statistical data...

http://gizmodo.com/337768/battlemodo-windows-vista-service-pack-1-rc1-vs-shipping-vista

Of course there isn't too much improvement from the performance perspective, but Vista comes with loads of other features... and it is not compromising on performance to the extent that it becomes slower than the previous versions... Check it out...

Wednesday, December 26, 2007

Do it Smart: Navigating between Windows

We all know how to navigate between windows... it is Alt + Tab... and we also know how to navigate between internal files inside Studio... Ctrl + Tab... but hey... how about navigating between the tool box and the solutions explorer... or choosing one of those handy windows...

Try  Shift + F7. This enables you to alternate between two handy windows. Ok you want to try something cooler...?? Well Try Alt + F7... this allows you to choose the handy windows like the solution explorer, property window, tool bar, Find Results, etc and get there... quickly...!!!

Another cool one... Go to the Window menu on Studio and click Windows. This gives you the option to select all the windows and perform an action on them simultaneously. Like save all the windows or close all the windows. It also lets you bring the required window into focus...

Pretty cool huh...!!

Some nice things can be done by right clicking on the area where the tabs of the documents appear inside Studio environment. Well I leave this to you... Check it out...

Do it smart: Some Interesting Shortcut Keys

Help Shortcut Keys

  1. Ctrl + Alt + F1 displays the content window for the documentation contained in MSDN.
  2. Ctrl + Alt + F2 displays the Index window for the documentation contained in MSDN.
  3. Ctrl + Alt + F3 displays the Search window for the documentation contained in MSDN.
  4. Ctrl + F1 displays "How do I?"

Debug Shortcut Keys

  1. Ctrl + Alt + E displays the exceptions dialog box
  2. Shift + F9 displays quick watch window
  3. Ctrl + F10 runs to cursor
  4. Shift + F11 Step out
  5. Ctrl + Alt + P Attach to process

Refactoring Shortcut Keys

  1. Ctrl + R + R Rename
  2. Ctrl + R + O Reorder Parameters
  3. Ctrl + R + V Remove parameters
  4. Ctrl + R + M Extract method

Code Snippet Shortcut Keys

  1. Ctrl + K + X Displays the code snippet picker that inserts snippet at cursor
  2. Ctrl + K + S Displays the code snippet picker that wraps selected text with snippet

 

Of course these are not all the shortcut keys that Studio 2008 has. These are just the dainty ones that we make work much faster and that we don't usually use for the nastiest reasons...

Saturday, December 22, 2007

Microsoft... The beauty that "She" is...

DSC00026Are you an idealist...? Do you believe in idealistic bullshit...? What is idealistic bullshit...? Do you believe in stuff like Scrum, Test Driven Development, Agile or any new concept that you think can change the software development process...? Make things easier and improve delivery...? Or are you just an old school developer who thinks delivery is hard work and discipline and more hard work... and more discipline and working late hours and weekends...

Well if you do believe in all the software development idealistic bullshit...? You are going to love "Her"... "She" is going to love you...

Are you passionate about Microsoft and Microsoft Technologies...? Or are you here just to elevate your career or use Microsoft's name to push your career...? Or are you just here for DSC00028the money...? Do you want to do  amazing work...? Or do you care more about the financial returns... the dough... If you find software development intriguing and want to work on really smart applications, you are going to love "Her" and "She" is going to love you...

There are people who have joined Microsoft as college interns and have worked here for over 23 years... They have never wanted to leave the company... The moment you start to burn out... you don't have to go look for another job... you can jump on to something that you find interesting... a new role... a new challenge... a new line of business...

There are so many avenues here so many challenges... so many products... and the more innovative you are the more "she" is going to love you...

Oh Microsoft... The beauty that "She" is...

DSC00031

Friday, December 07, 2007

Fastest way of opening command prompt in elevated mode

I have to keep switching from a static IP to a dynamic IP every day and back. Dynamic IP at work and Static IP for my broadband at home. So being a developer the first thing I thought was to automate it. Home.bat for home IP Setting and office.bat for work IP settings.

Now to do this I would require elevated permissions on the command prompt (Thanks to super secure Windows Vista). And being lazy, I don't want to do the right click on the shortcut to command prompt and then click on "Run as administrator". And then click on Continue when prompted. Because that would call for me moving my hand away from the keyboard and go to the mouse pad on my laptop which is like an inch away from the keyboard... Or worse go all the way to the mouse which is a whole foot or so away from the keyboard... dang... that's a lot of hard work, having to go for the mouse and back to the keyboard twice a day... nyah i ain't doing that...

So I read and research and find out the fastest way of starting the command prompt in the elevated mode without leaving the keyboard. Create a shortcut on the quick launch bar. Right Click the shortcut go to properties and check the checkbox that says "Run as Administrator". Now to fire up the Command prompt all you have to do is Windows + (num) replace the Num with the num on which your shortcut is on the quick launch bar. so it if it 3rd from the left you do a Windows + 3. But wait... there is the prompt... so you can either click Alt + C to press Continue or go for Left Arrow Key and Enter. Personally I find both equally ergonomic because one takes a little extra effort, but you only have to move one hand and the other takes little lesser effort on both hands.

Ah...! I feel so relieved...!!

Engineering is a Quantitative discipline

I was reading some stuff on performance and came to Rico's blog. Rico Mariani is a Software Architect at Microsoft and is known as a performance expert. I usually don't post referrals too much and try to write my own reflections. But this I just have to post. He talks about Performance Signatures.

Essence of humanity - to become bigger, smarter, stronger every single day

We talk about so many things like automated testing and test first development, but there are so many issues with them… Like how do we do automated testing in the web environment.

How do I prove my prowess as a good developer? In such an environment. By writing code the same way that everyone does?

What is a good developer anyway? Intellectual skills? Presence of mind? IQ? More long term and short term Memory? Discipline? Knowledge? Attitude to learn and implement? Willing to run that extra mile to make things better holistically?

Perhaps a good developer is the one who under all the constraints, like a slow VPC environment, lack of enough memory, lack of an automated testing framework, traditional approach towards development, lack of a modern and open outlook on the part of developers, etc, makes the best of the situation by using everything that was mentioned above.

When you go to meetings, you should be able to say yes to most of the things. Like, " Yes that can be done", "Yes we can change that", "Yes that's an easy thing to be done"

I also think it is very important for a developer to stick to one project for some time. The initial part of the project he learns. About the project, about the environment, about the performance, architecture, design and about the team members' attitudes. Once he has gained that knowledge, he becomes a subject matter expert. And by subject I mean all the things mentioned above and not some tool or technology. Then he can really start thinking as to how he can make things better.

Once the developer has added enough value to the project, he can decide to move on into a different domain or project.

And that he must… because we as developers, I think, should build our careers more like huge Pyramids rather than tall and slender towers.

Something to live for...

When I joined Microsoft, a very long ambition was achieved. To a certain extent I felt like there was a lack of targets. Of course there is this target to grow, in the organization. Choose newer paths of knowledge, become smarter and better in whatever we are at. But besides that there is no shining star... Like Microsoft used to be before I joined.

Then I came up with the idea of writing a book. Which looked quite daunting... initially... because I didn't quite know what to write about. Well after some pondering I thought I should write about Engineering Excellence... and set myself a deadline that I should be done with the Table of Contents for the book by February... And should be able to get it ready for publishing before the end of 2008

After I decided this, my entire perspective while reading books changed... Previously I used to read them to learn a technology or a methodology... Now when I read them I also focus on the flow of the writing, the original intent of the writer, the language, etc... and it seems that it is going to take perhaps a little longer for me to finish this book than I originally thought...

And as Charles Petzold quotes about the do's and don't's of book writing, I think I will have to extend the deadline... I will perhaps start writing the book around end of December next year... I will need some preparation before I start off... Who's going to read my book if nobody really knows me... So let me grow technically, gain maturity and its fair that I give myself a chance to prove myself in this field before I take up something so challenging.

Besides I have a long long life... And Engineering Excellence isn't a subject that will die out soon...

Monday, July 16, 2007

The countdown begins...

If at first you don't succeed, call it Version 1.0. – Origin Unknown
Ten years have passed since I completed my graduation and this is the moment when I can say that everything that I have done or learnt in the past 10 years is going to be put to use. Everything that I have and everything that I can ever have. This is the moment when I am joining Microsoft Corporation. The makers of the technology that I have worked on so long.

Daring ideas are like chessmen moved forward; they may be beaten, but they may start a winning game. – Johann Wolfgang von Goethe
Nine July 2007 is the date that I am joining Microsoft. When I entered the field of software I was introduced to Microsoft Technologies with a very different perspective. The open source community ridiculed and made fun of Microsoft. But when I studied these technologies (Ugh… Those COM and MFC days…!!!) I realized that Microsoft Technologies are not as bad as they are portrayed. Of course I had my issues with ATL and MFC, but then again Microsoft people agreed with me and came up with the Magic of .Net.

A good friend can tell you what is the matter with you in a minute. He may not seem such a good friend after telling though. – Arthur Brisbane
Eight people that I thoroughly enjoyed meeting in Kanbay. Pritpal S. Bumrah, Rahul Waghmare, Kiran Parge, Dhwanitkumar P. Shah, Shipra Gupta, Awnish Madbaiya, Pallavi Rastogi and Miruna Parthasarathy. Doesn't mean that all the other people weren't good. Every single person I met here was amazing. And that's what I like about Kanbay. Knowingly or unknowingly everyone really sticks to the open and transparent culture and enjoys doing so. But these guys just steal the cake.

640K ought to be enough for anybody. – Bill Gates while developing Windows 9x in 1981.
Seven years back I was exposed to this field and started with C. I had to clear a test on C, data structures and algorithms to enter CDAC. Seven years back I took my first job as a junior developer at Rs. 3,500 Per Month in a small city like Baroda working on ASP, Visual Basic 6.0 and COM. In the past seven years we have come a long way. Learnt a lot earned a lot and humbled a lot. I was an over ambitious dreamer 7 years back. I still have those dreams and have realized some of them, but it has also dawned upon me that experience teaches better than any book or orator.

History will be kind to me for I intend to write it. – Sir Winston Churchill
Six months of discipline. Preparing mentally to take the plunge. The last 3 years have been the most fulfilling part of my career. And leaving a work environment like this was quite a struggle. But then again, one must move on. If He intended me to do anything differently He would have made sure I do it accordingly.

Always code as if the person who ends up maintaining your code will be a violent psychopath who knows where you live. – Origin Unknown
Five projects I have worked on in Kanbay. The most interesting Projects. (Winterthur Solutions / Daily Dealing System) was the first full lifecycle .Net project in Kanbay. Implemented using Visual Basic .Net as a language. My second project (AAFES) was the first project in Kanbay with compact framework implemented on handheld devices. Third project (Banco Popular North America / CLPA) was the first full lifecycle project that was delivered, since Winterthur was still under construction. Then Onsite coordinator for (Georgia Pacific). And then First BizTalk Project for Banco Popular again (CLPA Loan Boarding Extension). If you notice each and every project has been extremely interesting. They have been a growth upwards. A new technology to learn every time a new challenge to face every time.

Treat a man as he appears to be, and you make him worse. But treat a man as if he were what he potentially could be, and you make him what he should be. – Johann Wolfgang von Goethe
Four managers that have affected my professional life immensely. Parvez Mulla, Nitin Rathor, Henry Thomas and Ashutosh Bhatnagar. Each manager had a style of management. They made some decisions that changed my life. They have taught me the essence of life. To strive to be a better man every passing day. Smarter, stronger and more resilient. To accept change as it comes but at the same time to maintain one's identity.

Not everything that can be counted counts and not everything that counts can be counted. - Albert EinsteinThree years back I joined Kanbay. This was the biggest turnaround in my career. I have truly understood the consulting business here. I have learned not only the intricacies and details of software delivery, but also about people. I have toiled here. Introspection, retrospection, inspection counterspection (if there is a word like that !!!) and all the other "spection" words that you can think of, I got a chance to do them here. Notched up in my memory forever. Hardwired!!

kshipram bhavti dharmatma shasvac-shantim nigachati kauntey pratijanihi na me bhaktah pranashyati : He speedily becomes virtuous and secures eternal peace. O son of Kunti, know it for certain that My devotee never falls. – The Bhagwad Gita
Two brothers Karna and Arjuna, adversaries at war had two very different upbringings. A little story before I leave. I just love telling stories.

Karna is described as follows: even if you add bali, baali, parshuram and half of hanuman, you wouldn't be able to match the strength and valour of Karna. Born as the son of the Sun God with its entire strength and glory. At birth he possessed the Armour and the earrings (Kavacha and Kundala) that were dipped in Amrit, the nectar of immortality. This made the Kavacha impenetrable and The kundala turned into a crystal that radiated an energy that would make Karna undefeatable. His strength and Valor were an epic to the Mahabharata but still he lost the battle. During his death there were so many forces against him. His own father the Sun God worked against him to thicken and solidify the wet sand under his chariot so he would have to get down to bring the wheels out of the ground. The curse against him from Parshurama and the Earth Goddess.
Arjuna on the other hand, though himself born to the Lord Indra, the God of Rain, was not as gifted. But he worked really hard on his craft in being an archer. He was called the "Savyasachi" because he was ambidextrous in using his bow. He could work his bow with either hands. He was also named "Gudakesha" conqueror of sleep, a name given in childhood itself, after he started practicing archery skills in the dead of night. He also practiced penance hard to attain the "Pashupathastra" from lord Shiva and the "Divya Astras" from his father Lord Indra the "Akshay Tunir" (The arrow holder in which the arrows would never end) from Lord Yama the God of Death the "Shwetha Vahana" (a divine chariot with powerful white horses that do not tire and are unwounded by normal weapons) and Gandeeva (Arjuna's Bow) from Lord Varuna the God of Oceans and Rivers.
Karna was a great warrior but he lost the battle against Arjuna and died a painful death. Morals: If you are on the side of Dharma (Natural Law), no adversary, however strong or valiant he is, can defeat you. And penance and training are far above any divine gift.
How lucky I am to have something that makes saying goodbye so hard. – Origin UnknownOne last email as an ode to Kanbay. The last movement of Beethoven's last quartet is based on the following two motifs:
To make the meaning of his final movement absolutely clear Beethoven introduced it with a phrase 'Der schwer gefasste Entschluss', which is commonly translated as "a difficult resolution". One last allusion to Beethoven's last string quartet because last one month for me has been a month of difficult resolutions. I have been offered a new role at Microsoft, Hyderabad and it has been a hard choice accepting it. Everyone here at Kanbay is very close to my heart, the city of Pune has been the place I always thought I would finally settle down, and the decision to leave has been quite a difficult one.
5th of July would be my last working day at Kanbay / Cap Gemini. I would be based at Hyderabad and I can be contacted at nilotpaldas@gmail.com. I ramble about Software development and Microsoft Technologies at http://weblogs.asp.net/nilotpal and my RSS Feed is http://weblogs.asp.net/nilotpal/rss.aspx. I shall update everyone with my new phone no. and other contact details once they are finalized. I would expect everyone to stay in touch. More than work we have built relationships here and that's one thing I am not willing to let go.
All the best in your future endeavors and God Bless.
Regards,
....................................................................................................................................... Nilotpal Das, Consultant – Microsoft Technology PracticeA1 – Software Technology Park Talwade, Pune – 412 114 INDIA Tel: +91-20-27601000 Fax: +91-20-27601002 Cell: +91-98600-59190nmdas@kanbay.com ....................................................................................................................................... On February 8, 2007 Kanbay was acquired by Capgemini, one of the world's leaders in consulting, technology and outsourcing services, employing nearly68,000 people in North America, Europe, and the Asia Pacific region.

This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message. -- Thanks and regards,Nilotpal Das+91-98600-59190