# Tuesday, 04 May 2004

I spent all day Monday hanging with almost all of the Canadian RDs. If you were wondering who we all are, you can find nine of us at http://msdn.microsoft.com/canada/rd/. Or check the individual pages such as http://kate.regionaldirector.ca. (If by chance you're reading this blog entry at http://kate.regionaldirector.ca, then you need to check out http://www.gregcons.com/kateblog/ which is my regular home.)

About the picture: I hate it. What can I tell you, I hate pretty well all pictures of me but the ones that people get hold of electronically I hate even more. Enough about that until I managed to replace it with one I can stand.

What do RDs talk about when you get us all in a room? Business challenges, personal challenges, what's coming in Whidbey, what we're excited about for Longhorn, patch management, and a bunch of other stuff that's under NDA for a while yet. We also talked about user groups, Deep Dives (like this Smart Client one in Toronto or this Web Services Security one in Toronto; there are some in Calgary, Vancouver, Ottawa, and Toronto too) and conferences. VSLive starts tomorrow, then all the TechEds through the summer and the Microsoft Partner Conference in July. Lots of chances for us all to get on stage. We also talked about the things we do beyond speaking, webcasts, and other community touches. Things like my Code Guru column, the RD column on MSDN, books, and developing content. Most people never think about where all the whitepapers on MSDN, the Hands on Labs and PDC and TechEd, and the presentations for tours and events actually come from. Sure, lots are written by Microsoft people, but plenty are written by smart folks who are really into the topic, and a lot of those are RDs. And of course, we talked about our day jobs and the work we're taking on. Don't forget, pretty much all the RDs are available for consulting gigs :-) although some of us are less available than others.

Looking forward to the next one already.

Tuesday, 04 May 2004 19:07:03 (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
# Tuesday, 27 April 2004

So, read any good buffer-overrun articles lately? Notice how they like to show the hapless programmer cheerfully using strcpy() to copy 11 characters (or 11,000 maybe) starting at the location where only 10 characters worth of space was allocated? Or maybe it's strcat that, merrily continuing till it finds that null terminator in the source string, goes way past its boundaries. Did you ever think to yourself as you read these examples, “Why can't strcpy, strcat, and the rest of them save stupid programmers from themselves?” (It's ourselves, really, but we all suffer from a little denial that we could ever write that sort of code.)

That's an idea, let's replace the naive and trusting version of strcpy, that assumes no-one ever gives it inappropriate arguments, with another version that doesn't always do as it's asked! Why not? I'll tell you why not: this is C++. And if C++ had a motto, it would be “you're the programmer!” or as I sometimes say, “OK, it's your foot!” Seriously, changing the way strcpy behaves might break code that isn't broken or insecure right now. In C++, we're allowed to write code that some compilers wouldn't let us write.

And if you were going to rewrite things, you might like to change the signature anyway, so that you could return an error code or other information. That means what you really need is a replacement for strcpy (and the rest) that's a little safer. And maybe to have the compiler warn you on your calls to strcpy so you can go through by hand and switch to these safer ones case-by-case.

That sounds like a plan. And I don't even have to do it. It's coming in the updated versions of the C Runtime Library for Whid-- er, Visual Studio 2005. And while they're at it, they're adding some overrun protection to the STL in the same timeframe. Intrigued? Read the whitepaper on MSDN. Michael Howard, coauthor of  Writing Secure Code,  lays out some of the problems and how the secure versions of old CRT standbys can keep your code out of hot water.

Tuesday, 27 April 2004 22:20:37 (Eastern Daylight Time, UTC-04:00)  #    Comments [4]
# Monday, 26 April 2004

The first meeting of the east of Toronto user group filled our room when up against serious competition in the form of a vital hockey game (hey, it is a Canadian user group, after all.) So I'm pleased to say that I have a room for the summer that holds TWO HUNDRED AND FIFTY people. I rather doubt we'll fill that. I'll need a new room in September though, so drop me a line if you know of one.

And if you've joined my group (or someone else's) you can come to the special user group event at VSLive  on May 5th -- whether you've registered for VSLive or not! Then afterwards you can come to the VSLive Midnight Madness which actually starts at 8pm, again whether you've registered for VSLive or not. It's like a free peek at what VSLive is like, so you'll know for next year, and a user group event at the same time. We're going to have a round table featuring INETA speakers who are speaking at VSLive: me, Keith Pleas, Richard Hale Shaw,  and whoever else agrees to do it -- I'm not the only one who can line up speakers quickly, and this event is pulling together quickly.

You have to be a member of a user group, so if you plan to head to the Congress Centre in Toronto Wednesday night next week, join the group nearest you now, then register online. See you there!

Monday, 26 April 2004 22:27:03 (Eastern Daylight Time, UTC-04:00)  #    Comments [1]
# Sunday, 25 April 2004

If you're a regular reader of Julie Lerman's blog, you know she likes to announce other people's wins and successes whenever she can -- she's covered plenty of mine. So turn about is fair play -- Julie is just the third Rock Star interview for Ziff Davis' DevSource. Want to know what matters to her, and what she's doing about it? Read the interview.

Sunday, 25 April 2004 14:35:39 (Eastern Daylight Time, UTC-04:00)  #    Comments [1]
# Wednesday, 21 April 2004

Are you interested in C++ in the .NET world, but don't want to run out and buy Visual Studio just to try the compiler? Have you heard that the Microsoft compiler is actually a powerful, fast compiler for native applications as well as those targeting the runtime? Have you even wondered about using the Visual C++ compiler to build code that you'll actually deploy onto other operating systems?

Well, how about a free copy of the Visual C++ compiler? And linker of course, exactly the same tools that ship with Visual Studio. And libraries: the C Runtime Library and the Standard Template Library. Of course you can produce either native code or code that targets the Common Language Runtime. And to round out the toolkit there are four samples that show off some specific features of the tools, with accompanying whitepapers that explain those features and the samples.

Get yours today at http://msdn.microsoft.com/visualc/vctoolkit2003/, where you'll also find links to the whitepapers.

Absolutely Seen and Recommended, with the disclaimer that some of the work in there is my own :-)

Wednesday, 21 April 2004 06:57:20 (Eastern Daylight Time, UTC-04:00)  #    Comments [0]

Whenever you hold a free event, whether it's a user group meeting, a Microsoft-sponsored event, or a free seminar, you can expect about 50% of those who register to show up. We had 30 people registered for last night's first meeting of my new user group. A lot of people told me “I would love to be there, but I already know “What is .NET?” and I am NOT missing this hockey game.” So we expected about 10.

Instead we got 33, it was standing room only and I didn't even care that my aging laptop, no doubt sensing the imminent arrival of its replacement, currently on a truck headed to me from the States, blue screened on about slide 5! I just talked while it rebooted.

Next month we will be in a bigger room! Go Oshawa! (And thanks Leafs after all: without the game more people would have come than we could have fit in the room.)

Wednesday, 21 April 2004 06:42:19 (Eastern Daylight Time, UTC-04:00)  #    Comments [1]
# Monday, 19 April 2004

And don't the stupid Maple Leafs, who clearly did not check with me before the game, go and lose last night, forcing a Game 7 which will be Tuesday -- my UG meeting!

Come on, east-of-Toronto people, you don't need to watch the game, we'll give you updates at the break or something. Or maybe it will go double-overtime again meaning you can watch the end when you get home.

Monday, 19 April 2004 10:12:19 (Eastern Daylight Time, UTC-04:00)  #    Comments [0]

My new user group (that doesn't really have a name yet) is meeting on Tuesday the 20th. That would be tomorrow. Over the weekend I realized it would be good, at this first meeting, to list the next few meetings and their topics. So I emailed three people who had said they would speak. By this morning I have five speakers booked and confirmed. What a great gang! So if you come to Oshawa on the third Tuesday of the month, you're going to see one of these terrific speakers: Ed Musters, Scott Bellware, Adam Gallant, Marcie Robillard, and Jason Beres. I'm still looking for more, and I'm also looking for sponsors, so if you're in the Oshawa / Durham / east-of-Toronto-but-not-exactly-Ottawa-yet zone, let's talk!

Why did I put this under consulting life? Because I think it's funny that we could sort all this out over a weekend. None of us have normal office hours, and none of us mind making firm commitments using email and IM.

Monday, 19 April 2004 08:55:12 (Eastern Daylight Time, UTC-04:00)  #    Comments [1]
# Friday, 16 April 2004

Early on in the webcast, a build failed, something about couldn't write to C:. It might have been full, but I decided I wasn't about to settle down to clear off my hard drive in front of attendees, so I carried on without demos. Luckily these slides feature all my code and screen shots of the important bits of the demos (property pages, ildasm output etc) so it worked out ok. (I think; I haven't seen the evals yet :-) .)

I'll be doing it again May 26th, which is actually during TechEd, and perhaps this time it will go a little more smoothly. My head was spinning by the time I finished this one!

Friday, 16 April 2004 16:02:26 (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
# Wednesday, 14 April 2004

On Friday the 16th, I'll be doing a webcast of my TechEd 2003 talk, Head-Spinning Interoperability in Visual C++. This was a very popular talk at Tech Ed USA in Dallas and I repeated it at Tech Ed Europe in Barcelona, a little the worse for jetlag. To register, visit http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032247638&Culture=en-US. If you live in the US, you could even win a pass to Tech Ed!

Wednesday, 14 April 2004 22:14:21 (Eastern Daylight Time, UTC-04:00)  #    Comments [0]