Archive for the ‘Technical’ Category
New Blog Series: Outsourcing – First a Disclaimer
I’m about to publish a new article/blog series on my experiences as a manager outsourcing software development to India as well as living and working there. I meant to do this while I was there, but the pressures of getting software out the door coupled with dealing with the issues I’m now going to write about kept me busier than I would have imagined. So now that I’m back in the USA with power that doesn’t go off several times per day, I’m going to spend some time documenting what I learned in hope that it might help other western managers faced with similar situations.
Setting the stage
In order to understand the viewpoints I’m going to express, it’s worth taking a couple of paragraphs to describe where I started this journey. I have more than 20 years of experience developing software. In that time, I’ve held a number of different roles and have worked in every conceivable type of team and industry. I’ve had projects where I was the only developer and I’ve worked on projects that had literally dozens. As the industry has evolved, a major paradigm shift occurred as companies looked to commoditize software development and inevitably went searching for cheaper resources. India and their large systems integrators answered that call and so for the past decade or so, you would be hard pressed to find a significant development team without a native born Indian on it. In my recent positions I have been a manager of both onshore and offshore native Indian resources, as well as American, English, French, and various other countries. But the largest majority has been from India.
Here in the USA, there’s been no small amount of controversy over this paradigm shift. Whether your personal views fall on the side of expanding global markets or nationalist job protection, there is ample evidence available both for and against your views. In my personal history I’ve been booted from a project and replaced by three offshore resources due to a corporate mandate to move half of all development offshore. I’ve also staffed projects through my consulting company using offshore resources that were being abused by their management and who refused to let me help for fear of being sent back to India. And I’ve met more than a few happy, successful Indian natives who after working in the USA long enough to get their greencard eventually went back home to India to be with their family. But no matter what the situation, the undeniable fact is that the software industry has tied itself inextricably to India. So as a manager it only makes sense to try to understand software development in this new model, hence these articles.
Disclaimer
While it is useful as a tool to speak of the cultural, work, and management aspects of outsourced software development (specifically in India) in sweeping generalities, please know that I do so with the complete understanding that these descriptions won’t describe every person in/from India. Each person is an individual and I have had the great pleasure of working with some of the best talent in India. So as those friends read these posts please remember, I’m not necessarily describing them. On the other hand, when taken in large numbers the generalizations I will describe are accurate in my perception, if not intent or reality. I welcome any of my colleagues to correct me if I’ve misinterpreted something in these articles.
Windows 7 and IE9/Firefox 4 Hardware Acceleration Causes Aero to Die
I recently spent the better part of a weekend, and more than a moderate sum of cold hard cash, upgrading to a new PC. While there’s nothing quite like the blank slate of a new system, it also brings it’s share of new challenges. The latest one is truly bizarre and so I thought I’d go out to the blogsphere to see if anybody else has seen this and has any advice.
I am running 3 24” hi-def monitors (1920×1200) using 2 ATI Radeon 6850 cards. More than ample video power for gaming, video watching, and maybe if I’m lucky running WPF. Recently though I’ve been getting a popup that says that “Windows has detected that my computer is running slowly”… Like Hell!!! Shortly after that, Aero dies and I get a message that says Windows has switched to the Basic theme and all of my wonderful transparency effects are gone. Clearly this isn’t a horsepower issue. After doing some Googling around, it seems that both IE9 and Firefox 4 are causing Windows to freak out when running with Hardware Acceleration (which they do by default) in extended monitors (i.e. not my primary but one of the other two). There seems to be some finger pointing going on between ATI drivers, Windows, and the browsers and so I haven’t been able to find any clear answer to why this is happening and how to fix it.
In the meantime, I’ve switched to Chrome which has hardware acceleration OFF by default and that doesn’t seem to cause the problem.
WPF and ATI 5XXX Drivers Not Playing Nice Together
I’ve recently purchased a new laptop with an ATI Radeon 5650 video card. The graphics are lovely and the quad core processor in my laptop hums, particularly since adding a 128 SSD drive with the SandForce 1200 controller. But I digress…
After installing all of the drivers, Windows updates, etc. I went about configuring the machine for .NET development. After installing Visual Studio 2010 with WPF (.NET 4.0) I ran into a problem. Every time I run Visual Studio it works for a few moments, then everything freezes, my screen goes blank, and then it comes back with a toaster popup saying “Display driver has stopped responding and has recovered”. A few more moments go by, and the same thing happens again.
After scouring the web, I finally found that WPF (which is what Visual Studio 2010 is written in) is apparently having issues with the latest drivers for the ATI 5XXXX series boards. I’ve checked the forums at AMD but don’t see anything at all mentioning this problem.
To work around the issue, you can turn off WPF hardware acceleration. To do this, you need to set the following registry key
[HKEY_CURRENT_USER\Software\Microsoft\Avalon.Graphics]
“DisableHWAcceleration”=dword:00000001
If you’re unsure how to do this, here is a zip file you can download with .reg files you can double click on to disable or enable hardware acceleration.
I’m not entirely certain what the ramifications are of disabling hardware acceleration other than the obvious performance reduction, however with my quad core/8G RAM setup I haven’t seen any noticeable difference.


