# Wednesday, January 30, 2008

Daniel Moth alerts us that a new icon has been added to System.Drawing.SystemIcons in SP1 of the .NET Framework 2.0. It's the shield - the one you put on a button by sending a BCM_SETSHIELD message with true as a parameter. Now there's another way to put the shield on things and alert people that what they are about to do will trigger a UAC prompt. Cool!


Wednesday, January 30, 2008 12:00:44 PM (Eastern Standard Time, UTC-05:00)  #    
# Tuesday, January 29, 2008

Yes! Finally one of my favourite conferences comes to one of my ... er ... nearest cities! DevTeach, star of Montreal and recently Vancouver, is coming to Toronto and bringing many of my friends and colleagues with it. I’m speaking there too... the sessions are at http://www.devteach.com/Session.asp. My talk needs it’s abstract tweaked but the title is good: What's New in Visual C++ 2008. Register before February 1st for the early bird deal. As always, Jean Rene is offering deals to user group members and other community people, so check with your contacts if you have any.

If you’ve never been to a technical conference before, and you aren’t sure anyone would pay travel and hotel for you to go to one, DevTeach is a great way to prove the value of conferences to yourself and your boss. World class speakers (many of whom will be delivering on the same topics at much bigger and more expensive conferences just a few weeks after DevTeach), topics that are relevant to your work right now, and a marvellous delegate-friendly atmosphere combine to attract attendees and speakers – why not you?


Tuesday, January 29, 2008 11:50:23 AM (Eastern Standard Time, UTC-05:00)  #    
# Monday, January 28, 2008

This year for the first time I am speaking at SD West. This is a conference I have watched from afar and often wanted to attend. I’m delivering a half day tutorial on Vista Programming, and a new breakout session called Practical Visual Studio Team Systems.  In between I will be at Sutter and Stroustrup on C++ and a host of other feed-my-brain sessions that you might also want to attend. Check the full session list and register quickly... the early bird deadline is February 8th.

The Vista Programming abstract is:

Windows Vista is the most compelling operating system release in nearly a decade. With major improvements in the areas of security, user experience, and performance, Windows Vista offers a robust and dependable platform for building a breadth of solutions. This half day seminar prepares you for building a new class of applications that take advantage of these improvements. Come and see how to take advantage of some of the most interesting new native APIs, inter-op techniques, and .NET Framework 3.0 technologies. Learn how to build the next generation of smart client applications with the Windows Presentation Foundation (WPF), and improve user experiences with technologies like task-based dialogs, sidebar gadgets and customized Windows search functionality. Learn inter-operability techniques with managed wrappers and how to leverage the Vista Bridge. Dive into the best practices for upgrading existing applications, and understanding User Access Control (UAC). Learn how to build more reliable and secure applications with technologies like Application Restart/Recovery. And lastly, learn how to build more connected systems with Windows Communication Foundation (WCF) and RSS platform support.

The Team Systems abstract is:

The real strength of VSTS is its adaptability. Our small shop (no professional project managers, everyone’s a developer of some kind, not-officially-agile-but-not-CMMI-either) has learned a lot about making VSTS and TFS fit the way that we work. Topics include knowing which project people are working on without asking them, adding your own fields to those provided out of the box, writing your own queries and reports, and customizing your project portal. This session will help you get up to speed with the features the most practical features VSTS has to offer, and best practices will be suggested.

See you there!


Monday, January 28, 2008 11:48:43 AM (Eastern Standard Time, UTC-05:00)  #    
# Sunday, January 27, 2008

Tech Ed breakout selections are almost complete, and I should have an announcement soon about my Tech Ed presence. We can get started with my PreCon:  Windows Vista Programming: User Experience, Application Compatibility, Reliability and Connections. The pre cons are on Monday of Tech Ed week this year, and registration should open soon. In the meantime, plan to travel Sunday  night and attend this pre con so you can come up to speed on programming for Vista and with .NET 3.5 including WCF and WPF.


Sunday, January 27, 2008 11:45:43 AM (Eastern Standard Time, UTC-05:00)  #    
# Saturday, January 26, 2008

A little while ago I appeared on GeekSpeak, talking about the Vista Bridge and how managed code developers (C# and VB.NET, for the most part) can get to some of the cool new Vista stuff without having to get into the worlds of C++/CLI or of interop. I love those worlds but I understand plenty of people don’t. The recording is now on Channel 9. Geekspeak is an unusual webcast because there’s no powerpoint, and no agenda. You show up, people ask you things, you talk, you demo, and before you know it an hour has gone by. I had a great time and I hope you enjoy it too.


Saturday, January 26, 2008 11:44:36 AM (Eastern Standard Time, UTC-05:00)  #    
# Friday, January 25, 2008

Larry O’Brien continues his musings on what makes a good developer and a bad one. Now he’s bringing methodology and your code base into the mix. You just have to read it, that’s all.  Best quote: “To me, a good programmer is one who contributes to the practices that maintain a silver codebase -- no matter how quickly they write code! Bad programmers are those who don't care about the quality of the codebase.”


Friday, January 25, 2008 11:41:25 AM (Eastern Standard Time, UTC-05:00)  #    
# Thursday, January 24, 2008

I don’t like this. Really, I don’t. But there are people who are turning off UAC on their whole machine because there is one application for which it is a deal killer. So, reluctantly, I will tell you how to turn off UAC for just one application. I would rather you didn’t do this. Please, have a good reason.

And remember, UAC applies only to interactive applications. If it was a service, it wouldn’t be affected by UAC. So that whole tale of woe about nobody is at the keyboard to consent to the prompts? Then why not make it a service? Honestly, that would be better. Let this just be a stopgap. OK?


Thursday, January 24, 2008 11:40:22 AM (Eastern Standard Time, UTC-05:00)  #    
# Wednesday, January 23, 2008

When .NET first burst on the scene, we talked a lot about “XCopy deployment”. What we meant was that you didn’t need registry entries, you didn’t need to copy DLLs to windows\system32 or whatever, you didn’t need to mess around with the person’s computer hardly at all – you just copied the exe and dlls into some folder somewhere, optionally a foo.exe.config into the same folder, and you were good to go. But we really should have called it “FTP deployment” because people would come up to me at the end of talks and ask where to find the XCopy utility that you needed to deploy .NET applications. Ooops.
For those who never knew it, XCopy was a command (extended copy, a replacement for the original copy) that came with DOS. It was so much better than copy because, among other things, if the target floppy drive was full when you were copying a whole pile of files, it would prompt you to put in another one and keep going, where ordinary copy would go “disk full” and abandon the whole thing.

I admit, it’s been well over a decade since that’s been an issue, so it perhaps was no surprise to read that XCopy has gone the way of all utilities ... replaced by something shinier that has less compatibility issues with the new operating system. Of course it isn’t exactly gone, just deprecated. OK. I might have to learn Robocopy now. But I promise never to speak of Robocopy deployment. That just sounds weird.


Wednesday, January 23, 2008 11:38:41 AM (Eastern Standard Time, UTC-05:00)  #