When I talk to folks who are extraordinary engineers, but who are struggling to extend their impact, the #1 recommendation I give is to find your voice and communicate. And just keep communicating. There is no substitute for practice.
And, it turns out that the sort of folks who really excel at app compat can sometimes struggle with this, as there are far more introverts than extroverts in the troubleshooting and debugging realm.
There are a couple of notable exceptions, which I wanted to call attention to, because they’ve really found their voice and are broadcasting loud and clear.
I met Gov back in 2006, and he (along with Robert Paige) quickly demonstrated that not only was I not as smart as I thought, but indeed may be one of the dumber people around (certainly in that hallway in Building 27). Now, Gov has a background in teaching, so he is no stranger to talking. But when we first met I didn’t see him doing this as much. I’ve always thought he was phenomenally smart, patient, and interesting to listen to, so I started volunteering him every time there was a speaking opportunity. (I think this was the first time we were on video together.) It seems as if he likes it – because now he has his own freaking show:
The great thing about this show is that the real Gov really comes through. The room is dark, just like his office. If, instead of having a monitor behind them, he had 5 monitors in front of him (4 containing hex, and the 5th containing some science fiction show – is it Stargate? – I forget), then it’s not that dissimilar to having a real conversation with him. Except he has far, far more empty soda cans on his desk. In fact, it’s incredibly strange to watch him sitting at a clean desk…
I honestly can’t remember when I first met Andrew virtually – we coexisted on various technical email aliases for a long time and gradually built this mutual respect for one another. Earlier this year, he started writing fairly consistently for MSDN Magazine and sharing his passion for automating difficult processes, taking a little-known but powerful concept of extending tools such as the Debugging Tools for Windows in deliciously geeky but still approachable ways. If you are interested in really stretching your debugging skills, or just understanding the debugger platform better, then they are absolutely worth the read:
What’s interesting from a historical perspective is that we originally thought that dbghlp.dll was the critical component we were shipping, and that cdb / ntsd / windbg were supposed to just be demos of what people could do with the platform, and then there would be healthy capitalistic competition for who could build the best debugger on top of this. Well, it turns out that people would rather that the debugger be free for a given platform, and mostly people aren’t interested in buying debuggers (though there are some, which fill in some whitespace areas for the sdk / ddk provided tools). But extensibility was always at the core of the platform, and though debugging at this level is mostly a dark art practiced by very nerdy people, the strength of the provided tools and the platform I still believe is one of the massive competitive advantages that Windows holds over other platforms.
What is your strength / passion? Do you like to talk? Do you like to write organized articles? Do you like to write interactively on forums? No matter your medium, it all improves with practice. And there are folks who are shining pillars of how that practice can pay off in terms of massively magnifying their impact. If you see / hear / read something and think to yourself “I could totally do that, probably even better than that person” you are likely to actually be correct. Why not do that in 2012?
There have been a number of efforts we’ve been going through lately to promote users running modern versions of Internet Explorer. We have been marketing and advertising since release of course, and over the summer we added a prominent advertisement. Then, we recently announced that we plan to start doing automatic upgrades, in line with the approach taken by other browsers.
However, it has long been important to us that we leave the owner of the PC in control of their PC, and if you are an organization that means that your administrators should be the ones in control. We’re not trying to subvert an intentional choice, our goal is to simply default to the better choice (which is to be more secure and support modern standards) for those who would rather not be troubled to answer yet another hard question from their computer.
So, if you are running Windows 7, you may not have validated your readiness for IE9 yet, so you don’t want an auto-upgrade. We, of course, will respect the IE9 blocker toolkit – so you can go ahead and apply that. However, when we announced the updates, it happened to come on December 15. Anyone working in the retail sector knows full well that the holidays is when all of technology freezes – not only no IE upgrades, not even a blocker kit! That has simmered down since the holidays passed, but there is still a sense that you’re being forced to install something to stop the install of something else – and the fact that we call it a toolkit makes it sound complicated. So, I wanted to take a look and see what was in that toolkit, to see just how scary it was.
The first thing that surprised me was that it contained an ADM file. Since it’s for IE9, the blocker is only necessary on Windows Vista and above, which replaces adm files with admx files. Why we’d put in a legacy format I cannot explain, so I just ignored that and went over to the cmd file – I just didn’t have the patience to convert and wouldn’t blame you if you didn’t either.
So, what does the cmd file do? Well, it’s 69 lines of text, but at a glance it seemed more complicated than perhaps it needed to be. First of all, it turned @echo off, but then proceeded to echo a lot of output which nobody would ever see – I didn’t see the point of that, so I pulled those out. I found a REM and pulled that out as well. Once I’d cleaned that up, I could see that it had branches for usage, blocking, and unblocking. So, I wanted to focus on the blocking scenario first. It turns out to be a single registry key:
HKLM\SOFTWARE\Microsoft\Internet Explorer\Setup\9.0
Add a DWORD value DoNotAllowIE90=1
That’s it. How does it unblock? It just deletes that registry key.
This was discussed in TechNet Magazine back in April of 2011, but in the emphasis on explaining the various options provided, I’ve still had some customers who just saw that there was a whole kit, with several components, and didn’t dig much deeper before getting worried that it was too complex. In the end, it’s just a registry key. Personally, I think setting a single registry key sounds less scary than a toolkit, and I can’t name a single IT Pro who can’t deploy a registry key easily enough.