Visual Studio Myths Debunked
Have you ever heard someone make a definitive statement about a particular feature of Visual Studio or the .NET Framework that you knew just wasn't true? Did you ever wish for a Snopes equivalent you could send them to? Well, your wish has been granted.
Give it a whirl and see the official position on some popular (but unfounded) beliefs.
Client Development | Consulting Life | Seen and Recommended | Visual Studio 2008 | Visual Studio 2010
Saturday, October 31, 2009 2:32:26 AM (Eastern Standard Time, UTC-05:00)
Happy Birthday Internet
I have now finally been using the Internet for more than half its existence. That's 20 of its 40 years. Back in 1969 the first few bytes were sent between networks (hence the name, it was a network of networks) as part, believe it or not, of a plan to save money. The BBC has a nice article about it. The Globe and Mail tosses in a quick summary of the history of the internet, which reminds me to link to my post that points to a more comprehensive summary in Vanity Fair.
If you think the Internet is just the web, all I can say is you missed a golden age. These days it's always September. I know I prefer what we have now, just as I can still miss what we had then.
Thursday, October 29, 2009 11:57:28 AM (Eastern Standard Time, UTC-05:00)
Why I Use Large Icons Now
I mentioned a long time ago that I have tweaked Windows 7 to my own preferences - the taskbar is 2 or 3 rows high, but I don't combine and I never hide labels. And until recently, I always used small icons. But while preparing both my Tech Ed Europe talk and my launch party demo, it annoyed me that I didn't get the icon overlays. These are incredibly helpful - better than icons in the system tray, balloon tips, focus stealing popups, toast, or other notification techniques. I mentioned to someone that I got them maybe once when I first installed, but never again since. Then just as I said that, I had a thought. A quick search confirmed it - you don't get overlays if you have small icons. And overlays are so useful, I've switched to large icons so I can have them. Not just while demoing, but for my regular life.
In the top row I don't have any new mail and I'm available on Messenger. In the middle row, new mail has come in so the Outlook 2010 icon has an overlay. In the bottom row, I'm away on Messenger. It's a very compact way to present notifications. So from now on, large icons for me!
Client Development | Windows 7
Tuesday, October 27, 2009 11:32:01 AM (Eastern Standard Time, UTC-05:00)
Our windows 7 Launch Party
It's true, I signed up for a Windows 7 launch party. So did Chris Dufour. But I didn't have people over to sit on the couch and eat cake while I showed them the cool stuff in Windows 7. We just tossed an hour or so of demo at the start of a user group meeting. I had a one-page demo script which I've put as an attachment on this post. I think different default printers for different networks and a "recent/frequent" jumplist on the Windows Explorer in the taskbar were the most popular features. We also had swag! Here's a picture of mine:
Chris had a similar pile, and some books and such as we usually do, so each attendee (and we had a lot more than usual) left with something - mostly with one of those tote bags. I should have held one back to use on my next grocery trip. Aren't they surreal? After my demo (everything in the mini script, though probably not in that order, followed by boot to VHD) Chris took over and led us through CSLA for "real" part of the meeting.
Nice to see the group back in action, and hope to see plenty of folks there next month!
demo.docx (16.42 KB)
Canadian Colour | INETA | MVP | Windows 7
Sunday, October 25, 2009 11:09:07 AM (Eastern Standard Time, UTC-05:00)
More "international" wallpaper
Did you like the wallpapers of Canadian scenery I showed the other day, that are already on your Windows 7 machine and just need to be selected? Would you like some more? Go to http://windows.microsoft.com/en-US/windows/downloads/personalize?T1=themes and scroll down past the Coke and Ferrari and so on to find more lovely scenery. I copied mine into the folder that was already the source for my desktop wallpaper rotation.
I think the Northern Lights is my favourite at the moment.
Canadian Colour | Seen and Recommended | Windows 7
Friday, October 23, 2009 10:18:34 AM (Eastern Daylight Time, UTC-04:00)
nullptr is here! (seriously, it does actually matter)
I remember, back in the day(*), being so confused about NULL. At first I thought it was a keyword, a special value of some kind. Then I learned it was just the same as 0. Or maybe 0L. I worked with people who said it was wicked to use it, and you should always type the 0 yourself. I worked with people who said it was wicked not to use it, because it made your intentions clear to humans. I even worked with people who used it in for things other than pointer-setting or pointer-checking. I argued with people who thought if(p) was or was not more clear than if (p != NULL) and, late at night when we'd been drinking, about what would happen if some other value than numerically zero meant "null pointer" and what that would do to the world's code, and how to write our code so that could never hurt us.
But that was long ago. These days I've pretty much internalized NULL (and for the record, I'm an if(p) gal) and no longer think about it. One of the reasons I don't have to think about it is that I don't write a template library that's used by millions of developers. If I did, I might have to worry about template-argument-matching and how compilers are supposed to deal with being given an int and knowing to match that up to a Something* -- but then again, only if the int has the value of zero. It's been a pretty clever trick for a really long time, but with the advent of perfect forwarding in C++0x (thanks to rvalue references) it just becomes impossible to always pull off that trick. Luckily, the same language changes that led to rvalue references also held the solution - the literal nullptr that isn't an integer with the value 0, but actually represents a pointer-to-anything that isn't pointing anywhere right now.
For the gory details, a wonderfully transparent look at how the team decides what to do in a release and what to hold for later, as well as some delightful glee at being able to do stuff, some amazing understatement ("somewhat arcane" indeed) and moments later "the world explodes!" you have to watch STL on nullptr. BTW, he deliberately pronounces it null-putter so people can tell he's not saying "null pointer" which would still be NULL. He even gets into nullptr vs nullptr in the land of /clr and how the double underscore (seriously) rides to the rescue. Major whiteboard action and in the end you'll know a little more about why the magical STL (the library) works, why it's faster in VC++ 2010, how the team (including the human STL) thinks and works, and the insides of my favourite language.
* that would be before Microsoft had a C++ compiler, over 20 years ago. Four and a half years ago I reflected that I was very close to having 20 years of C++ experience.
C++ | Seen and Recommended | Visual Studio 2010
Wednesday, October 21, 2009 9:49:40 AM (Eastern Daylight Time, UTC-04:00)
VS 2010 Beta 2 is on MSDN
My download is underway right now. And while I wait for two gig of beta good stuff to reach my hard drive, I thought I'd share some of the announcements from Microsoft around Visual Studio 2010.
The launch will be March 22nd, 2010. I will have more details on that over the next few months.
The SKUs are being adjusted and simplified. I never met anyone who used just the Developer Edition, Architect Edition, Tester Edition or Database Edition of Visual Studio Team Systems. We all used Team Suite. So now we'll all use the Ultimate Edition. It has even more stuff than the old Team Suite did. People who don't want the source control and work item tracking and modelling and diagramming and schema/data management and all the other great things in Ultimate will get Professional. Some of them will get Premium, which sits in between the other two. Plus all the free Express SKUs will continue to get you what you need to just build an app right away without spending any money at all. (Already a subscriber? You'll get more without paying more, which is hard to argue with.)
MSDN has a whole new look (way more blue, lots of links to fresh blogs and announcements) and some cool new benefits like free Azure hours. If you're paid to make software, you should have an MSDN subscription. If you can't afford it and your company is new, take a look at BizSpark which makes it free. If you're not new or your company doesn't make software, look at the partner program. But for everyone else, this is what you need.
If you totally haven't been paying attention and have no idea what the excitement is about, start with this What's New document and these highlights (featuring screenshots and plenty of links).
And finally, after many years of ,
get ready to start loving and
Seen and Recommended | Visual Studio 2010
Monday, October 19, 2009 12:45:28 PM (Eastern Daylight Time, UTC-04:00)
ATL security hole closed
As C++ developers, we have a lot of options about how to link to libraries we use. We read sometimes that if we link statically, we will have more work to do if there's ever a security hole in the library, since we'll have to redeploy our app rather than just relying on the users to get the new library and use it dynamically. There's a great example of that in the ATL story that is now just wrapping up. A problem was discovered in July, and emergency updates were promptly released - just a day before the guys who discovered the problem spoke about it publicly. An article that same day pointed out that the error was almost a typo - an extra & in an expression - and warned that the patches "do not automatically fix software that was developed using the buggy ATL. Instead, vendors -- Microsoft as well as third-party firms -- must use the patched Visual Studio to recompile their code, then distribute the new, secure software to users." Well finally, Microsoft has finished their part of it with updates for the parts of Office that were using the old ATL. Have you done all of yours?
ps: love the "related twitters" at the bottom of the article - people may not tweet about the Active Template Library very often, but they sure do mention a certain airport / city that uses the same abbreviation
C++ | Client Development | Consulting Life | Seen and Recommended | Visual Studio 2008
Saturday, October 17, 2009 12:13:47 PM (Eastern Daylight Time, UTC-04:00)