# Friday, 23 April 2010

I like to introduce myself, in C++ circles, by mentioning I was using C++ before Microsoft had a C++ compiler. It's often interesting to watch people try to handle the concepts behind the sentence - mostly, that for some languages you can buy compilers from more than one vendor. And once upon a time, C++ existed as a language, and Microsoft sold compilers, but it didn't have a C++ one yet. Then eventually (OK, in 1992) the C product Microsoft sold became a C/C++ product (compiler, linker, debugger etc) and then the next year Visual Studio came along and with it Visual C++. And Visual C++ 1 included the Microsoft Foundation Classes 2, so that for a while the version numbers of Visual C++ and MFC were out of sync. Eventually there was a version skip to catch up (there was no Visual Studio 3). For quite a while we all worked with Visual C++ 1.52c and every speck of that version number was significant. So as you can see, the version of a product is not a simple question with one answer.

So, here we are, welcoming Visual Studio 2010. Lots of people called it Dev10 while it was under construction. But was the 10 short for 2010? It was not. It was just 10, as in the number after 9. Visual Studio 2008 was 9, and Visual Studio 2005 was 8. You can see these numbers on the shortcuts to your sln files, by the way:

OK,so VC8 means Visual C++ 2005? Basically. As long as you realize that it doesn't mean version 8 of the compiler. Because the C compiler transitioned into the C/C++ compiler, the version numbers came with it. VC8 includes version 14 of the compiler. Confused yet? If so, you're in good company. Here's a tabular explanation, though it only goes back a decade. You want more details? Wikipedia has them, of course. Me, I am going to enjoy Dev10 and watch for news of Dev11.


Friday, 23 April 2010 09:08:34 (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
# Wednesday, 21 April 2010

One of my pet peeves is software that thinks it's smarter than me. There are times when software does things I wouldn't think of, without asking me, and I find that helpful and I like it. But it can backfire. The worst offender was FrontPage, thankfully now gone. But Outlook has an annoying little habit. It assumes that people who send emails can't really be trusted to format them, so it "fixes" their error for you. In other words, if I send you this plain text email:

How are you doing?
Call me when you can.

Outlook helpfully displays:

Hi, How are you doing? Call me when you can. Kate

Most of the time that's only a petty annoyance. But what about when my code sends:

Monday 1:00
Tuesday 2:30
Wednesday 4:00
Thursday 9:30
Friday 10:00

And you see:

Monday 1:00 Tuesday 2:30 Wednesday 4:00 Thursday 9:30 Friday 10:00

Know what happens then? I do! The user reports a bug that the emails are misformatted. And what's more, when you tell them it's an Outlook issue and send them a screen shot of what to click in Outlook to fix it, they don't thank you. Well, Scott Mitchell has discovered what to do in your code to make Outlook leave your ratsen-fratsen line breaks alone. Just add a space before each newline. Awesome, thanks Scott!


Wednesday, 21 April 2010 08:49:00 (Eastern Daylight Time, UTC-04:00)  #    Comments [2]
# Monday, 19 April 2010

I am accumulating Visual Studio 2010 links at quite a pace. Let's have a bunch in this post:


Monday, 19 April 2010 14:33:47 (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
# Saturday, 17 April 2010

When I show off Windows 7 features and talk about how you can add them to your apps, I usually show a "sad trombone" moment featuring Visual Studio 2008, like this:

(I really like jumplists in the start menu, so I thought I would show that in my screenshot instead of the classic right-click-on-the-taskbar jumplist. They're the same.) But this jumplist isn't useful. It isn't all the .sln files I've opened before, or the projects, or anything really except some random bits of XML, icons, schemas, and code files that I dragged in to Visual Studio over the past few months while I had some real solution open.

Now this isn't poor Visual Studio's fault. It was released before Windows 7, before anyone knew that the MRU list kept by the OS itself would be important. As I've explained in presentations before, there's a reason this happens. You see, when you double-click a .docx file, Windows looks up who handles those, launches Word to open the file, and accumulates that file name on the MRU list for Word. Cool. Ditto for .txt and Notepad, etc. But Visual Studio is different, and it's different so that you can have Visual Studio 2005 and 2008 side by side on your machine, and use .sln for the solution file names in both products. You double-click a .sln file and what actually runs is a little launcher that looks inside the .sln file to see if it's a 2005 or 2008 solution and then runs the right Visual Studio and passes the solution to it. Cool. But as a result Windows isn't accumulating what you opened with Visual Studio 2008, it's accumulating what you opened with the little launcher. The jumplist for Visual Studio 2008 therefore contains only things you opened directly with it, and that's not a very useful list.

OK, so I know why. And it's nice to know, btw, that Visual Studio 2010 gets it right. And in my presentations, I usually leave it at that, encouraging you to add the one whole line of code to your app (if you're using Code Pack) so you "don't be that guy".

But wait! What if you want a good jumplist for Visual Studio 2008? Especially if you don't have Visual Studio 2005 installed any more, so you don't care about the whole pick-what-version-to-launch feature? Well, you could try this suggestion from Josh Einstein. I like that he doesn't explain it much and says "If you need more instructions then the hack probably isn’t for you." His instructions, terse as they are, are for 64 bit Windows 7. A commenter supplies the 32 bit version.

I actually haven't tried this yet. Don't want to set my computer on fire or anything :-). But if you feel like living on the edge, give it a whirl!


Saturday, 17 April 2010 08:22:25 (Eastern Daylight Time, UTC-04:00)  #    Comments [1]
# Thursday, 15 April 2010

I've been making videos lately, as I've mentioned. So among other things I've needed to know the total length of a bunch of .wmv files. Now sure, if you have a spreadsheet you can teach it to add up times. But the ironic thing is, I was asking the file system for the length (in minutes) of each video, then adding them up, when I could have just asked the file system for the total length!

Well that's fun! Notice it also adds up the total file size. I find these little savings really add up to keeping me focused on what I'm really trying to achieve (write a tutorial) instead of getting caught up in minutiae.


Thursday, 15 April 2010 11:51:57 (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
# Tuesday, 13 April 2010

Is it a good omen when mornings start out beautiful? I think it might be:

Normally, when I go to a conference, the first day is a little slow. I might go to the keynote, or I might not. If I do, I wander in to the back row 5 minutes before it starts (hey, I'm leaving plenty of seats for the paying attendees) with my coffee in my hand. So reaching the keynote room at 7am, full of pep and vigour, was fun!

I really liked the story the keynote demos told. If you haven't seen it yet, it's available online. The demos start with simple productivity boosts like multi-monitor support, Intellisense for Javascript, and so on, then move to some amazing C++ updates including Windows 7 support (yes, the demo went boom, but if you watch closely you'll see it was just that the app was still running, preventing a successful rebuild.) Then you see "SharePoint F5", a huge pain-saver for anyone, like me, who does SharePoint development. Over a dozen manual steps done for you when you press F5, and you can run SharePoint right on your laptop. But they're not done yet -- here comes an Azure demo with the Windows Phone 7 emulator and a real phone, and then Team Foundation Server and a ton of exciting new Application Lifecycle Management features in Visual Studio including (no kidding) time travel. Wow! I hope you all enjoyed it as much from the seats as I did from backstage.

No sooner was the keynote over than I was headed for the Channel 9 stage to record half an hour of Q&A with Twitter people.

That's available online too. And if you want more, some of the sessions are appearing on Channel 9, too. Not filmed on site, but the content matches. Get your Visual Studio 2010 from MSDN downloads, or if you're not a subscriber you can take the Professional Edition for a test drive.


Tuesday, 13 April 2010 11:38:04 (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
# Sunday, 11 April 2010

I've never been backstage for a big keynote before. There's a lot going on back there. Each demo runs on its own machine, so if one messes up it doesn't hurt the others. There are monitors everywhere showing what's on all the cameras and what's going out as the feed. There's one half for the camera and production people, and one half for the demo people. Here's a glimpse of the demo half:

Crowded, noisy, hot, and people are standing in your way sometimes. Best seat in the house!

Also, I'm just loving the signs throughout the Bellagio. There are all different ones (water, wires, light bulbs etc) but I think this is my favourite:

Watching something launch feels like it wouldn't be exciting, after all how long have I been working with this product? But you know what, it is!


Sunday, 11 April 2010 11:13:22 (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
# Friday, 09 April 2010

This trip to the launch gets more exciting by the minute! Check this out:

The Channel 9 team will be broadcasting live, unscripted, and 100% interactive from DevConnections 2010 in Las Vegas as part of the Visual Studio 2010 and Silverlight 4 launches.

Join us Monday April 12th, from 8AM (PST) for Bob Muglia's VS2010 Launch keynote then stay tuned for more than seven hours worth of Visual Studio 2010-themed demos, interviews and panel discussions on Channel 9 Live.

. . .

Day 1 Schedule April 12th 2010 (Pacific time)

8:00 AM DevConnections 2010 Day 1 Keynote.

10:00 AM Welcome to VS2010: Doug Handler and Brian Randell with Dan Fernandez.   

10:30 AM Live Q&A with Bob Muglia, President Server & Tools Division with Dan Fernandez.

11:00 AM VS2010: Native Code. Kate Gregory and Richard Campbell with Charles Torre.   

11:30 AM VS2010: Managed Code. Lisa Feigenbaum, Tim Ng Dustin Campbell with Charles Torre.

. . . then some other people, who I love, but I can't paste it all in here. . .

To be part of it, use Twitter with @ch9live somewhere in your message. We'll see it and that's all it takes to join the conversation!

I count 11 Regional Directors (many of whom are also MVPs) on the guest list. What a way to spend the day!


Friday, 09 April 2010 23:27:02 (Eastern Daylight Time, UTC-04:00)  #    Comments [0]