I've been making a point of reading the "Heroes Happen Here" online comic because it's just a pure delight for me. It's told a fun, albeit slightly far-fetched story that has brought our heroes all around the world in an effort to stop a nasty virus that's hit computers all over the world. The guys have been to Argentina during a soccer championship, in Canada during a blizzard (yes, Canadians, it's a stereotype that you get snow 365 days a year, but there's a grain of truth in there. :-) Tune in to see where they go next.
For me the best part of the strip is the cute, knowing, geeky jokes that the characters make. "Real life is a lot like legacy code. Sometimes you just have to deal with it." Or this cute post about elegant code. The guest strip from several days ago was a real treat. It's illustrated by Dick Giordano, a great artist and a real legend in the industry, and he does a wonderful job of conveying a kind of '60s love comic vibe that makes this strip irresistible to me. The old-style coloring just adds to it; that strip looks just like something you might have read in a Sunday newspaper 20 years ago. ("What's a newspaper?" wonder the younger readers)
I really recommend you check out this strip. It'll bring a smile to your face every day. You can even submit your own stories of IT/Dev life for the strip.
And, if you like or don't like the strip, send along some comments. I'm sure they want to know what people think of their work.
One of the most fun tasks I've done as a member is this team has been to post our MSDN Developer Center. This site is intended to be a one-stop portal for all issues pertaining to the Windows SDK, including download information, our latest release notes, links to our release notes, other helpful downloads, privacy policy, technical articles pertinent to the SDK, ways to contacts us, and more.
I really enjoyed working with Ian and Laurie, our MSDN contacts, on this project. Not only were they helpful, diligent and unfailingly polite, but they also made many suggestions along the way to help us to create the best site possible.
One of the key goals of the site was to create a place where we can keep our release notes up to date even after the product is released. We do extensive testing of our product within the SDK team, of course - that's all part of the standartd Microsoft process of releasing our products. But we can never be quite sure of the issues our users face until the product is out there in your hands. You're the ones following your own specific unique scenarios, using our SDK components in your particular, specific ways. And therefore you're the ones who run into issues that we never expect.
We set up several "contact us" mechanisms in part for exactly that reason. You give us real-world feedback on issues related to the performance of content in the SDK, and we find that real-world feedback to be invaluable. If you run into an unexpected issue, please let us know about it. Chances are that another user has stumbled across the same issue, and that inforrmation would be invaluable for them as well.
And if you haven't been to the site, please do check it out. And send your feedback. We're listening.
Richard Russell (aka RGR) of the Windows Fundamentals team has posted a really nice description of Windows Performance Tool Kit, a new tool we're shipping with the latest version of the Windows SDK.
As he says, "Xperf is an important tool for anyone doing system performance work on Windows because it's specifically designed to give you a complete system-wide view of performance over long periods of time (10's of seconds, to minutes). It's also the only tool that knows how to fully process all the events from the kernel and correlate them into something that makes sense."
If you're interested at all in Windows performance tuning, you'll probably find this tool to be quite useful. Remember, if you're only interested in SDK tools, there's no need to download the full Windows SDK. You can select only the Tools node in the download. This tool is one of approximately a hundred tools we ship in the SDK, along with samples, documentation, headers, libraries, compilers and other files.
And please remember to send us feedback on your experience. Your help will make us better.
Whoo hoo! The Windows SDK for Windows Server 2008 and .NET Framework 3.5 is now live and ready for your download in either ISO or Web Setup format. There's scads and scads of new content in this release - content that my colleague Barry has listed in his post to the Windows SDK Team Blog.
The most important thing we can ask from you is for you to send us feedback your experience with the SDK. There are a number of ways to send us feeback, including posting comments to SDK blogs in addition to the other methods listed on our Release Notes page. We really sincerely want to know what you think of your SDK experience. All feedback will be considered, and all of it will help us as we roll into our planning for the next SDK releases. If you have some time, jot down some notes and send them to us.
How was your setup experience? Did it run smoothly? Did it take a reasonable amount of time? Did the selections offered to you make sense?
Once the SDK was installed, was it easy to find what you needed? Were there any unexpected items or issues?
If you build samples, what was your sample building experience like?
If you use SDK-delivered tools, did they act as expected and provide a helpful, useful experience?
If you use Windows Headers and Libraries, were you able to use them as you had hoped without unexpected errors or confusion?
If you use the documentation, does the organization of content make sense, and do the pages in the SDK give you what you want?
We really want to know how you're doing so we can present a better SDK in the future.
One other note: This release was very much a team effort. Many SDK team members went above and beyond the stadard call of duty to ensure that this was a great release. Members of the Dev, Test and Program Management teams pulled together to ensure that we would release a great product. But I want to make a point of publicly praising the superhuman efforts of our Release Program Manager, Barry Butterklee, in posting this SDK live. He had lots of late-breaking issues that prevented this release from running as smoothly as anyone would have liked. But Barry was persistent and diligent, and he pushed through all the problems presented him. He really did exemplary work on this release, and he deserves lots of praise. Great work, Barry!
Anyone who knows much about me knows I'm a big comic book fan. So it's been especially fun to be a small part of a new online comic that Microsoft and Seagate are working on that is intended to highlight the great work that developers and IT professionals around the world perform. The strip will be called Heroes Happen Here, and content will be posted on the HHH TechNet blog, or of course you can subscribe to the RSS feed.
There's a whole bunch of cool stuff around this project to me. This is a professionally-driven project, with writing, art and editing all done by comics professionals with long experience in the medium. Microsoft and Seagate are spending money to make sure we do this project well. In part we want to do it well because we want this project to be a real tribute to the ordinary people who perform heroic acts nearly every day just to keep networks up, software bug-free, and databases clean. Inside the company we like to think of ourselves as merely delivering tools to help facilitate your achivements. That's all part of the "your potential, our passion" campaign. And this project is intended to help celebrate that passion.
There's a section of the site for you to submit your stories. Please consider doing that!
There are certain times of the year at Microsoft that I like to think of as "golden time," when email is slower, meetings are fewer, and we all have more time to stretch out and dive deep into tasks that we never usually seem to have sufficient time for. One of those "golden times" is this week, as American Thanksgiving looms tomorrow. There are seldom very many people in the office this week, so for those of us who are working, this is a fantastic time.
For me, it's been a great week for spec writing, investigating a particularly troublesome bug, and studying. If this were a normal week, with all my other work flying around, I might never have gotten a chance to get the studying done. However, this week, I'm able to focus on these important tasks and still spend some quality time with Ivor Horton's "Beginning Visual C++ 2005."
Sometimes this is a quirky and intense place to work. One of those quirks is that sometimes work is just very quiet. It's nice taking a breather, even if I'm still working hard.
Hey, if you're a Microsoft MVP of any type, stop by and join our Windows SDK chat tomorrow morning. We consider MVPs to be some of the most thoughtful and involved users that we have, and we have these chats in order to strive to become more connected with your feedback. Often the requests we get from MVPs reflect concerns that our standard users have, and it's great to have you engage us.
If you're not an MVP and think you might be interested, I highly encourage you to learn more about the program.
Today we hit the first of a series of ZBBs for our next release, the Windows SDK for Windows Server 2008. At the same time, we're essentially closing up work on our components in Visual Studio 2008. Working on these two releases has made for one of the most interesting years of my professional life. On one hand, I've learned a tremendous amount of new things, both technical and interpersonal. On the other, I've had to learn how to deal with some professional frustrations that are uncomfortable. But isn't that like most any job? Some good, some bad, and a whole bunch in between.
One of the enjoyable new challenges of my job has been in learning new tools and taking on many small projects. Lately I've become a PM in charge of many short-term projects. For example, I was asked just last week to take on two little projects. We're going to remove the .NET Compact Framework 2.0 from our builds and add the .NET Compact Framework 3.5. This means we'll finally be shipping the latest version of the CF, which should add to the usefulness of the SDK. That project looks from all indications to being very simple, and I'm looking forward to doing something that will immediately increase the usefulness of the SDK.
I was also asked to work on removing some incorrect references from our documentation. We ship something like a quarter-million HTML pages in the Windows SDK, spread among some 400 collections, and thus simply running scans against the content can be a massive time hit. Fortunately the main doc tester, Mike, is really good at creating automation to run these scans. Then the trick is to track down docset owners and drive to getting this content out of the SDK. All the collaboration is fun, but it's also complex and tricky. It's always hard to get people to meet your needs when they have a whole bunch of other content in the pipeline.
Of course, with all the fun comes some frustration. I made a check-in error that resulted on our team getting slammed a bit in Visual Studio triage. Sometimes you just have to admit your mistakes, apologize, and try to resolve the problem yourself. This was definitely one of those times. Still, we all make mistakes, and there's no point to sitting around brooding about them.
I've also been wrestling with a problem around good API design, a problem that has bedeviled me for several months now. I keep feeling like I've made positive changes, but keep banging up against the harsh face of reality. Oh well, such is life at this crazy, weird and wonderful company.
Even the negative experiences are positive around here sometimes.
I'm excited to announce that in the RTM Windows SDK for Windows Server 2008 release, we'll be considering adding a new file to the SDK that many users have been asking for: a way to determine which build of the SDK is installed on disk, and a way to determine what the highest available versions are on the user's disk.
This has long been an ask both from the SDK MVPs and from the Visual C++ team, and the intent is that this file work as essentially a reference that you can leverage for more efficient programming. Rather than have to track down the highest OS version that SDK content is coded against, this macro will provide you that data right at your fingertips.
This is being considered as a DCR against that release, but due to the low cost of adding this file to the SDK release, I have every expectation that the DCR will pass.
Please, if you get a chance and you're interested in this functionality, post a comment with your opinions on it. Thanks!
/*
Copyright (c) Microsoft Corporation. All rights reserved.
Module Name:
WinSDKVer.h
Abstract:
Master include file for versioning the Windows SDK.
*/
#ifndef _INC_WINSDKVER
#define _INC_WINSDKVER
#pragma once
/* _WINSDOWSSDK version constants Note: In the below listing, the first two digits represent the operating system major version number. For Windows Vista, this is 06. The next two digits, 01, represent the operating system minor version number. For Windows Server 2008, this is 01. The remaining characters, 40D9, represent the build number of the operating system. The hexadecimal value 40D9 is 16601 decimal. The revision is the revision of the Windows SDK build and is an arbitrary number; in this case 01. That number will revise as each preliminary or RTM version of this SDK is released. */
#define WINDOWSSDK 0x060140D9
//Windows SDK for Windows Server 2008 is version 01
#define WINDOWSSDK_REVISION 0x7E
#define WINDOWSSDK_MAJOR_MASK 0xFF000000
#define WINDOWSSDK_MINOR_MASK 0x00FF0000
#define WINDOWSSDK_VERSION_MASK 0x00FF0000
#define WINDOWSSDK_MAJOR (ver) (ver>>24)
#define WINDOWSSDK_MINOR (ver) (ver&WINDOWSSDK_MINOR_MASK) >> 16)
#define WINDOWSSDK_VERSION (ver) (ver&WINDOWSSDK_VERSION_MASK)
// This list contains a list of all releases of the Windows SDK and will be appended with additional releases as they are added.
#define _WIN32_WINSDK_WS03_R2 0x0502 // Windows SDK for Windows Server 2003 R2
#define _WIN32_WINSDK_VISTA 0x0600 // Windows SDK for Windows Vista and .NET Framework 3.0
#define _WIN32_WINSDK_VISTA_UPDATE 0x0600 // Windows SDK for Windows Vista and .NET Framework 3.0 Update
#define _WIN32_WINSDK_VISTA_ORCAS 0x0600 // Windows SDK Components for Visual Studio 2008
#define _WIN32_WINSDK_WS08 0x0610 // Windows SDK for Windows Server 2008 and .NET Framework 3.5
// This term lists the highest product version for which the SDK can be written, per the list above.
Our frighteningly productive team has just published yet another release live. The Windows SDK for Windows Server 2008 and .NET Framework 3.5 is now live and ready for download. This a pre-release SDK that exposes the latest headers, libs, tools and other files intended for development using Framework 3.5 and/or targeting Windows Server 2008.
When I say we're frighteningly productive, I mean it. Since I joined this team in June 2005 we've published almost 20 different releases to the Web, each one better than the one before. When I was Setup PM, I always felt like every single successful release and download was due to the work of my vteam; it's going to be hard to step back from that role and take pleasure in producing the best quality of headers and libs for our users. I think I can handle the change. :-)
Did you know we've had over a million successful downloads of the Windows SDK thus far?