# Friday, 23 February 2007

Who knew that picking up enough programming knowledge to teach it to talented kids at a summer camp could lead to a career doing some of the geekiest and most detailed work there is in this business - testing the compiler itself to make sure it still works the way it's supposed to? That's just one of the nuggets of information in this latest Channel 9 C++-land interview:

Meet Marina Polishchuk, a software engineer on the VC++ quality control team. Her mission: Outsmart the compiler with clever programs that confuse and or break it. Fun stuff. Here, we learn about what she does, why she does it and how she got here. Enjoy!


Friday, 23 February 2007 07:06:13 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Thursday, 22 February 2007

Until now, no woman had won the Turing Award. That surprised me. Frances Allen was recognized for her work in optimization, automatic parallelization, and high performance computing. She must be used to receiving honours. According to the ACM's press release:

In 1989, Allen was the first woman to be named an IBM Fellow. In 2000, IBM created the Frances E. Allen Women in Technology Mentoring Award, naming her as its first recipient. As her Turing Award citation notes, she has been an inspirational mentor to younger researchers and a leader within the computing community. She is an Advisory Council Member of the Anita Borg Institute for Women and Technology, whose goal is to increase the participation of women in all aspects of technology. She also received the first Anita Borg Award for Technical Leadership, which was presented at Grace Hopper Celebration of Women in Computing in 2004.

She joined IBM fifty years ago. Wow, what she must have seen in those fifty years!


Thursday, 22 February 2007 22:50:12 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Wednesday, 21 February 2007

I came across this list of "making the most of your time" and it struck a chord with me. I think because it's not just about productivity and crossing a lot off the to-do list, but instead thinks about what you are achieving with the time you spend. Not many productivity lists include "making a difference to the world". Something to think about...


Wednesday, 21 February 2007 22:44:02 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Tuesday, 20 February 2007

The Developer Night in Canada (DNIC) User Group Tour is all set!

Our (East of Toronto) date is April 11th. Register now!

The purpose of this event is to demonstrate how the Microsoft Application Platform provides a robust and secure foundation for building data-driven applications and Web sites. Specifically, this session will examine some of the tools and technologies available for developers including Visual Studio Team System for Database Professionals and examine some of the exciting new features of ADO.NET.

Our session will feature our own alumnus, Jean-Luc David:

Jean-Luc David has written four books for Wiley Publishing (including Professional JavaScript 2nd Edition, Professional WinFX Beta, Professional Visual Studio 2005 Team System and most recently, Professional Team Foundation Server). Prior to joining Microsoft Jean-Luc had been a Microsoft MVP for three years. Jean-Luc is very passionate about the community and loves talking and interacting with developers and IT professionals. Jean-Luc lives in downtown Toronto.

See you there!


Tuesday, 20 February 2007 16:38:34 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Monday, 19 February 2007

Channel 9 has discovered C++ land and just doesn't want to leave. This time it's Nikola Dudar's turn and he talks about STLCLR (which has had various other names in the past):

If you write STL code and want take advantage of the BCL while still being able to write STL code, then you're in luck. How so? Well, Nikola Dudar, program manager in the VC++ Libraries Group explains, in detail, the Orcas STLCLR library. We also dig into the evolutionary trajectory of VC++, and discuss some other interesting Orcas C++ libraries. Tune in. Lots of great stuff going on in VC++ World...

Keep 'em coming, Charles!


Monday, 19 February 2007 15:40:09 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Sunday, 18 February 2007

I will be in Montreal in May to speak at DevTeach.

My talk:

It’s Vista time – is your application ready?

Windows Vista provides an extensive set of new APIs that enable improved user experiences and enhanced security, but some of these APIs are exposed through native COM and Win32 programming models. This session highlights strategies and techniques for taking advantage of these native APIs from managed code. Learn what's really involved in making your .NET application "light up on Windows Vista" with User Account Control (UAC) integration, Windows Vista User Experience features like common file dialogs, task dialogs and command links, and integrated desktop search.

DevTeach is a lot easier to get to than some of the bigger conferences, and it has a star-studded speaker list. See you there!


Sunday, 18 February 2007 15:35:55 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Saturday, 17 February 2007

Imagine that you needed to go somewhere NOW and stay there for a while. Like maybe weeks or months. What would you need to take? It kinda matters why you're leaving, or maybe it doesn't. You could be fleeing a burning house like my neighbours did, or flying to a sick relative, or responding to any number of natural or family disasters. And the last thing you need at a time like that is to be running around wondering about paperwork and documents to take with you.

If you have a laptop, that's a really good start, but think about all the identity-related numbers you sometimes need to look up. For example, what if you needed to write a cheque? It doesn't happen very often these days, but should you take your chequebook with you just in case? Maybe it would be enough to have your account information with you, so you could call your branch and ask them to courier you cheques. Maybe you live in a small enough town (I do) that the bank knows who you are by your name and doesn't need the account number. What about all your credit cards, even the ones you don't use and keep for emergencies? Can you get the balance for all of those online or over the phone -- sure you can. But not all of them tell you your credit limit (why? I have no idea) so perhaps a list of cards and their limits would be handy. And coming back to that burning house, I bet your insurance policy is in it. Do you even know your agent's phone number? Why on earth would you? It's not like most of us chat with whoever sold us that policy all those years ago.

Lifehacker suggests putting this sort of thing on a "getaway drive". List your bank accounts, with the phone numbers and names of the branches and your rep or agent. List where your safety deposit boxes are. Put everyone's SIN, and maybe scan your passports, drivers licenses and so on. Scan your insurance policies, at least the most recent bill with your policy number on it. If you might end up going out the door without your credit cards, having the numbers to call to get new ones (with your account numbers and whatever other information they might ask for to confirm your identity) could save a lot of time. Think about needing to replace cards, ID, and the like. Think about needing to connect to your finances from somewhere else, maybe from someone else's computer -- you know, that doesn't have a file called passwords.txt on the desktop :-) and a Favourites list of links to all the companies you have accounts with? Put what you need on here - a Word file, a bunch of JPGs (scan stuff or just take pictures of it with your digital camera), an HTML file of links. Then encrypt the heck out of it, and put it on a little memory stick / flash drive. [If you've got lots of spare space, take a hundred or so pictures of stuff in your house -- the CD collection in the living room, a slow video pan across each bookshelf, your dishes, your closets, and so on to simplify any future insurance claims. Imagine being able to answer the question "how many books were in the house?" ] Put the drive somewhere that's always with you but not incredibly losable, or that's easy to grab on the way out of the door. Heck, make a copy and snail mail it to the family member who lives furthest from you, and ask them to hold it for you indefinitely. One less thing to worry about.


Saturday, 17 February 2007 15:26:02 (Eastern Standard Time, UTC-05:00)  #    Comments [1]
# Friday, 16 February 2007

That Mac ad where the PC is going for "surgery" so he can upgrade to Vista really ticks me off. First, I upgraded a truly ancient Toshiba to Vista just fine. And second, way to make a bug a feature and a feature a bug! Ha ha when I need a new OS I just throw myself in the garbage and someone buys a new machine! That's so much better than replacing one card or switching to a bigger hard drive! Whatever.

That said, I know plenty of geeks are going to use Vista as an excuse for a new laptop. I'm one of those geeks and I'm about ready to get a new machine. One of the things that's held me back is the thought of the time and trouble to get everything set up my way. You know, my wallpaper, my favourites, my files of course, folder settings, there's so much. Applications don't worry me so much because half the stuff I have installed on here should really go, I don't use it any more. Half the rest came from my MSDN disks and I know where to find those. What's left (WinZip, a really old Paint Shop Pro that doesn't try to do anything fancy, miscellaneous games and utilities) I can install from the \install folder on one of my two main file servers.

And now for the settings, here's something that will make it much less painful: Windows Easy Transfer. Put the old and new machines on your network, and:

This wizard is built into Windows Vista and will automatically transfer your personal data from a Windows 2000, Windows XP, or Windows Vista based-PC to a Windows Vista-based PC.  It gathers up the data from your old PC and then applies it on your new PC in the right places.  It will move user accounts, files and folders, email messages and settings, address book entries, and Windows settings.  It does not move programs.

No network? (Helping your family, and they don't have a network onaccounta they only have one machine?) Use a special cable to connect the two machines. There's even an option involving removable hard drives or burning to disk that sounds like it might work if you have only one machine but are repaving. (Sounds a might scary to me, but ok.)

Plus, there's a tool in beta that moves your apps too:

we have been working on a new tool called Easy Transfer Companion, which will transfer programs and program settings from a Windows XP-based PC to a Windows Vista-based PC.  When used together with Easy Transfer, you will be able to move everything you need to your new PC running Windows Vista.  Easy Transfer Companion has been designed to transfer many of the most popular programs for consumers and small businesses, as well as many others.  You can transfer programs with either an Easy Transfer Cable or a network.  We've released the tool in Beta so that we can take feedback on the overall functionality and get more information about the experience of transferring specific applications outside of those that we've tested internally.

Now I just have to choose a shiny new laptop...


Friday, 16 February 2007 14:56:32 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Thursday, 15 February 2007

I read a few interesting posts (Barry Leiba, Raymond Chen) about email subject lines. I get about one email a minute, and even after you strip out the offers that aren't really that personalized (I already get those from Canada, thanks, and I don't even have one of those, and as for that, are you serious?) I get dozens and dozens of real and important emails every day. And at a quick guess at least half have a terrible subject line. If you've heard me speak, you've heard me try to teach the art of a good subject line. Let me try some more here:

  • Never use the name of a project or client, and only the name of the project or client, as your subject line. My "City of Kawartha Lakes" outlook folder contains roughly 50% emails that break this rule. Most of my staff were on the project at one time or another and were typically on other projects too. So when they emailed me a question or a status report, they put "City of Kawartha Lakes" or "CKL" or "City web site" as the entire subject. The problem with that is it's so ephemeral. This morning it distinguishes your mail from the others in my Inbox you sent me about a different project. 6 months from now, when I'm trolling the client folder trying to establish when something was decided, it's really of no value to me at all. The City staff were no better: they used to write with subjects like "our website project". It was during that project I started to train my staff on subject lines.
  • Really try to imagine someone using your email a year from now. Then you'll naturally change "weekly status report" to "status report, week of Jan 2". That's doubly true if it's not date related -- at least I can sort my emails by date.
  • Never use a subject line that will make little or no sense if it's forwarded, or could offend. "Need a ruling on bug 234" is ok, but just "bug 234" will not make sense when it lands in the client's inbox, and "Can you please get these morons to make up their minds?" is also bad. If I have to change your subject line in order to forward the message, then when you're cc'ed the subject line change will confuse you.
  • Barry points out the problem with "meeting with Barry" or anything else that has some sort of directionality in it. Even "today's results" becomes mislabelled tomorrow.
  • Probably the second worst subject line in the world is "question". The worst: "couple of questions". I prefer separate emails for separate questions, so I can reply to them one at a time, forward them to those who can truly answer them, and so on.
  • If you don't get any spam at all, and have a way better spam filter than me, or are luckier than me, take a look at what is getting dropped once in a while, and don't use those subject lines. "question" is real popular in my junk box, as are "Good day", "Approved", "Document", "Request" and so on. Plenty of folks (and spam filters) drop those unread.
  • If I am not likely to recognize your name, take extra care with your subject.  Email from a known correspondent with a confusing subject line will at least be read. It may not be very file-able, but I'll read it. The same subject line from a stranger might go straight to the trash. At events I recommend mentioning the event in the subject.
  • When replying, feel free to fix subject lines. Most importantly, remove [ACTION REQUIRED] and similar flags if you are not actually requiring action in your reply. I don't object to folks using these tags but it gets tiring when my folders are full of ACTION REQUIRED messages that say "ok you will have it by end of day".

Finally, as a Raymond-commenter points out, make your first line or two really count. It may be all I read. If you want me to review something, start the email "can you review this document by Friday?". Then you can provide the backstory after that. I file a lot of things unread, because I get cc'ed on things. This is good. It's better still if the part I can see in my two line preview says "yes, we can do this for your by Friday" or "go ahead, I have approved the budget" so I don't even have to open the message.


Thursday, 15 February 2007 14:41:41 (Eastern Standard Time, UTC-05:00)  #    Comments [0]