# Sunday, 02 November 2008

We're building a backyard shed, and I recruited a certain young teen to help. Sooner than I expected, he was back inside the house. "Finished already?" "I need a rest." But I only see two or three pieces of wood carried from the under-roof storage area to the work zone. It turns out that he kept bringing the wrong piece of wood (2 x 4 when asked for 2 x 6, or 8 foot when asked for 10 foot) and having to take it back and go get the right one. This is tiring, of course. But I also found it illuminating because a similar thing happens with my new hires who are straight from school or university.

In an academic setting, if I assign you the task of getting me a 10 foot 2 x 6, and you bring me a 10 foot 2 x 4, or an 8 foot 2 x 6, I will probably give you a pretty good mark. Not 10/10, of course, but at least 7. After all, you have brought me wood, as opposed to a rabbit or some mashed potatoes. You have come back with something, rather than wandering off into the woods to play or inside to watch TV. You have even got one of the dimensions right and the other close to right. So you receive your mark and you're done. Similarly when I mark a programming assignment, maybe I spot a logic flaw or other mistake, your code won't work under certain circumstances, but it works some of the time, or almost works, or at least doesn't always blow up. I can give you 7/10.

In the real world, whether of shed building, or code writing, things are more binary. I have the wood I need or I do not. Your code meets our standards or it does not. And here is the key thing - you have to make it right. Take this wood back and bring a longer piece, or a wider piece. Take this code back and make it so it can accept strings with apostrophes in them, or so the title is centred, or whatever other bug you need to fix. You're not done until it's right.

It's a lesson that probably needs to be taught more explicitly to the new grad. It wouldn't hurt to teach it a bit in those academic settings.


Sunday, 02 November 2008 10:25:03 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Saturday, 01 November 2008

One of my demos (OK, more than one) for my upcoming Tech Ed Europe talks is a console application. I find when you're doing complicated concepts like C++ templated code, that adding the plumbing to talk to a Windows application (whether MFC, Windows Forms, WPF or whatever) can obscure what's going on. Generally speaking people can follow cout << i << endl; just fine and it reduces the header files and so on that are needed to use the sample.

I had one problem though - on this machine, when debugging a console application I couldn't get the Properties of the command prompt to come up when stopped at a breakpoint, and of course the command prompt disappears as soon as the program finishes running. I could change the properties in the command prompt you get for "start without debugging" but they had no effect on the debug one. The font was too tiny to use in a presentation:

Here's what I did. I brought up any old command prompt, right-clicked in the title bar, and chose Defaults instead of Properties. This affects every command prompt on your machine at once. I switched to Lucida Console and a bigger size, and closed the command prompt, then debugged my console application again:

Do I care that the font is now big in all my other command prompts? Not really. I suppose if I did I could deal with their properties one by one.


Saturday, 01 November 2008 11:01:15 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Friday, 31 October 2008

An interesting thing happened towards the close of Thursday's MFC session at PDC. Damien Watkins was taking questions, and as so often happens, some of the questions were really more comments or suggestions, feature requests and so on. It's rare for the speaker to be the person who can act on these requests. Normally we're reduced to saying "send me an email and I'll forward it to the right people." Sadly, very few attendees do that. I know it takes a great deal of initiative and even courage to ask a question at a big conference (I do remember my pre-speaker days) and when asked to send email instead, that is sometimes too high a hurdle. As a speaker I can try to make a note of it, but if it's outside my area I may not write down the most important word of the request and that may leave the team unable to respond.

So during Thursday's session, after the third or fourth "OK, I'll pass that along," Damien volunteered:

I know you're thinking "he's just nodding his head and not paying any attention", but if you're using the mike it's all getting recorded. Everybody back on the team says "hey, as soon as it's online, let us know so that we can go ahead." It is getting recorded so it's all going back.

After the talk, Damien told me that they recorded the MVP Summit sessions and replayed them frequently to hear the attendee comments in context and with precision. For the PDC talks, when they need to share comments with another team, it's as simple as sending them a URL and a minute mark and asking them to listen. In fact I've done that myself this week when asking a question of someone in Redmond who couldn't attend - I sent the URL to the talk, a screenshot of the slide, and the minute mark. One of the easiest followup emails to compose ever. It really makes it possible for the conversation to continue long after the conference. I hope the trend spreads to all my conferences.


Friday, 31 October 2008 07:43:37 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Thursday, 30 October 2008

Did you get a set of DVDs for Tech Ed USA this year? I did, and I find them incredibly valuable. But when I went to use one recently, I had a problem: it asked me to install Silverlight. That was weird, since I have Silverlight - in fact I have the latest version. But when I clicked the link, the problem got worse:

I contacted the folks in charge of the DVDs and they told me that in fact you can still get to all the content as long as you know the session code. The only hard part is finding the right disk. Then you browse to the folder for the session:

Once there, double click Player.wms and you should be all set.


I shrank the picture so it would fit in the blog - the text looks perfectly normal in real life.

The online site has been updated to Silverlight 2, but this lets you continue to use your DVDs. There's also a handy index of talk titles and speaker names, which I have been permitted to upload. It's an attachment to this post.

So enjoy your Tech Ed content!


TechEd 2008 North America DVD Compatibility Issues.pdf (617.2 KB)
Thursday, 30 October 2008 14:52:24 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Wednesday, 29 October 2008

Even those of us who are here can't see all the sessions we want to. I have three and four stacked across in most timeslots - and then I might end up spending that timeslot getting some vital "face time" with an RD or blue badge I don't otherwise get to see. But never fear, they're online within about 24 hours of happening! And what's more, you don't have to be registered to see them!

So, that Parallel native C++ talk that put me in the overflow room? http://channel9.msdn.com/pdc2008/TL25/ - watch the video, download the deck. The terrific Boris Jabes talk I lined up for? http://channel9.msdn.com/pdc2008/TL13/ - same deal. The MFC talk that hasn't even happened yet? The page is waiting at http://channel9.msdn.com/pdc2008/PC26/ and the video should probably show up Friday.

Want to find some more? https://sessions.microsoftpdc.com/public/timeline.aspx. This is just an amazing thing to do. It really increases the value for me of being here because it lowers my stress and worry about choosing the right session. It lets me concentrate on going to talks where I want to meet the speaker or ask the speaker a question, on going to the Labs and Lounge area to meet product team folks, and on enjoying the experience instead of frantically taking notes (or snapping pictures of demos).  I think this makes me MORE likely to attend future PDCs, believe it or not.


Wednesday, 29 October 2008 10:57:45 (Eastern Standard Time, UTC-05:00)  #    Comments [1]
# Tuesday, 28 October 2008

An astonishing thing happened to me on the afternoon of Day 1. I went to the room for the "Parallel Programming for C++ Developers in the Next Version of Microsoft Visual Studio" talk, and the redshirt guarding the entrance said "the room is full you have to go to the overflow room." I tried logic with her "It's a C++ talk! It's can't possibly be full!" but she chose to believe her own eyes. So I walked the hundred miles or so to the overflow room, which itself became full. The audience really enjoyed seeing how simple it can be to take advantage of multicores using templated functions. Lines and lines of boilerplate goo disappear into a library instead of your code, which means people might actually do this. Nice stuff.

Having learned my lesson, I lined up immediately for "Microsoft Visual C++: 10 Is the New 6." The room filled up just as fast:

I don't think I had heard Boris Jabes present before. He was very good indeed. The slide you see in this picture lays out the mission statement for "Dev10", the next version of Visual Studio, as far as the C++ team is concerned: Make VC10 the most productive IDE for native development. Then he proved it to us. Since it was the last talk of the day, people stayed with questions for a long time afterwards. I really enjoyed listening in on those.

Tuesday started with a keynote that really impressed me. Azure is amazing but the gritty details are not there yet. But Windows 7 - it's on the hard drive! It's real! So they showed it to us. Then they started talking about client development. Ray pointed out a number of advantages of writing a Windows application instead of (or as part of a suite that also has) a web app.

I loved the Windows 7 demo. Lots of features there I really want right now. I love Vista, but this is even nicer. And I hear the stability is great already so you could really use it. Julie plugged the Engineering 7 blog I've plugged myself.

Scott Guthrie said C++ five times. I don't think I've ever heard him say it once before.


Don't worry, he talked about managed code too. You may think of ScottGu as "the web guy" but he gave client development in general, whether C++ or WPF, some serious love in this talk. Great announcements too - grid control for one!

Want one more inside joke explained? (I just love the RD alias for this sort of stuff!)

David Treadwell's shirt had 0x007FFF embroidered on it. Think of it as 00 7F FF. RGB. Go try it in some HTML. Then think back to Day 1.

Update: better picture of the shirt by Angus Logan. Subtle-as-a-brick demo of the colour by Steve Clayton.

Missed the keynote? Based on the URL to day 1, try http://channel9.msdn.com/pdc2008/KYN02/


Tuesday, 28 October 2008 13:41:07 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Monday, 27 October 2008

Now the fun begins.

If you were there, or watched it streaming, did you wonder about the shoes?


Azure and its subsystems had a number of code names, one of which was "Red Dog" and the team got red shoes (dogs being a slang term for feet) in honour of the name.

If you missed the keynote, you can watch it at http://channel9.msdn.com/pdc2008/KYN01/

I had heard some of this before, but not all of it, and I need to digest it a bit, but I think the key difference between Azure and hosting, between Azure and the Amazon offerings, is this: it's one thing to offer you a machine (real or virtual) and tell you "feel free to remote desktop into this and do what you need to do, install things, configure things, it's a machine" but it's a completely different thing to publish your app to the cloud and to configure the cloud rather than your target machine. I like it.


Monday, 27 October 2008 12:54:46 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Sunday, 26 October 2008

What can I tell you about Day 0? Well I am not allowed to tell you much, the RD side meetings on Day 0 are always strictly NDA. But I can tell you I am getting excited, I'm really glad I came, and I'm changing my IM display picture for the week to this:

LA is warm, the convention centre is as huge as I remembered, and I am pumped up!


Sunday, 26 October 2008 12:25:31 (Eastern Standard Time, UTC-05:00)  #    Comments [0]