# Tuesday, January 02, 2007

The nice folks in the MVP program have decided I am still a Most Valued Professional for C++. Or to be specific, "Visual Developer - Visual C++". It's a delight as always to be among such company and I notice the C++ crowd has grown a bit this year. I really value my membership in this program.

Kate

C++ | MVP
Tuesday, January 02, 2007 1:10:02 PM (Eastern Standard Time, UTC-05:00)  #    
# Monday, January 01, 2007

From Ahmed in South Africa:

Bring up the calendar by clicking on the time in the taskbar. Now click on the month (for example December 2006). You will get a year view. Click on the year and you get a ten year view. Click on this and you get a century view.

This is fun!

You can drill back down any time -- just click on a cell and work your way back to the month of interest.

Kate

Monday, January 01, 2007 1:03:37 PM (Eastern Standard Time, UTC-05:00)  #    
# Thursday, December 14, 2006

Microsoft has announced that the next Professional Developers Conference (PDC) will be October 2-5, 2007 in Los Angeles, with two days of pre-conference on September 30 and October 1. That's good news and bad news for me. I'm glad we're having a PDC this year because it means there's something to announce and something to get early bits of. The official word is:

The PDC is the definitive developer event focused on the future of the Microsoft platform.  PDC 2007 attendees will have the opportunity to access new code, learn about the latest Microsoft product offerings and hear from Microsoft executives about the various platform developments. 

Check http://msdn.microsoft.com/events/pdc/ for updates; you can also subscribe to the RSS feed to find out more information about the event as we get closer.  Registration will open in the May/June timeframe. 


 

So what's the bad news? LA, again. This will be three in a row. I wouldn't miss the PDC for anything but can't we go somewhere else?

Kate

Thursday, December 14, 2006 2:50:57 PM (Eastern Standard Time, UTC-05:00)  #    
# Wednesday, December 13, 2006

Yes indeed, there will be a code camp in Toronto next year! It will be held Saturday, March 31st and the website is now ready for you to register as an attendee, a volunteer, or a speaker.

The Second Annual Toronto Code Camp, a free .NET community sponsored event, will be held on March 31st, 2007! Last years event was a huge success with over 220 attendees, 4 tracks, 20 speakers, 25+ volunteers and over $17,000 in prizes given away. This year’s event will be even bigger and better! Registration is now open, but remember, space is limited and based on last years response it will fill up fast.

 

Deadline for speakers is Jan 15th, for volunteers Feb 15th, and for attendees there is no deadline, but it will "sell out" -- to the extent a free event can sell out. Trust me, you want to be there. If you don't normally attend Microsoft events or user group meetings, either for scheduling reasons or because you don't want to be "sold to" and you worry that might happen at such events, you should make a point of coming to Code Camp -- it's a grassroots community event and a great opportunity to learn from a wide variety of speakers on a wide variety of technologies. And if you can stand the thought of ever speaking some day, Code Camp is the classic place to start. We'll even help you become a speaker if you're interested.

Kate

Wednesday, December 13, 2006 2:39:52 PM (Eastern Standard Time, UTC-05:00)  #    
# Tuesday, December 12, 2006

Gee, ten minute talks on very specific technical topics... where have I heard that concept before? It really is something technical people need. Here are a bunch from MSDN in the UK along with a pretty nice UI to let you filter by technology, content level, even presenter if that's important to you. They seem to upload more about every other month.

I took a quick listen to "Wrapping Windows APIs with C++/CLI" and I liked it.

Kate

Tuesday, December 12, 2006 2:29:29 PM (Eastern Standard Time, UTC-05:00)  #    
# Monday, December 11, 2006

The Regional Director program truly is worldwide -- about half of the 120 or so of us are located outside the USA. So let's say you want some pictures of Microsoft software in beautiful locations around the world, what better group to ask? The program asked us to send in pictures this fall, and here's the result:


(larger version)

Amazing, aren't we? For my picture, which is nowhere near as spectacular as some, I went and stood among some turning leaves.

Kate

Monday, December 11, 2006 2:01:05 PM (Eastern Standard Time, UTC-05:00)  #    
# Sunday, December 10, 2006

The title isn't mine, it's Charles Petzold's, and I would be quite surprised if you didn't learn things about C++/CLI just by learning things about the .NET Framework. In other words, you don't need to plan to switch to C# to get some benefit of this free e-book. It was originally supposed to be a chapter, but ended up over 250 pages long.

I know people still need this material. I have a new mentoring client with an established team of C++ developers who are just looking at moving to the .NET Framework. I came and did a "what is .NET" talk for them, with diagrams like this:

 

If you already recognize these pictures and realize what they are supposed to illustrate, then you don't need the e-book. But if you haven't really paid much attention to the .NET Framework, then this is a fairly painless way to learn a lot of it. The thing is, it's all C#. My suggestion to you is to bear with that -- a C++ programmer can read C# without too much difficulty -- and then come on back here to see how to do the same things using idioms you already know and love, and how to drop back into native code any time you like for various reasons include control over your application's performance.

Kate

Sunday, December 10, 2006 1:45:07 PM (Eastern Standard Time, UTC-05:00)  #    
# Saturday, December 09, 2006

I was just looking at some old-style MC++ to convert a sample into C++/CLI. I had to convert this sort of thing:

public __gc class PostCodeChecker
{
public:
    virtual String* Check(String* code)
    {
        String* error = S"OK";
        return error;
    }
    Boolean Test(String* code)
    {
        Boolean ret = false;
        String* error = Check(code);
        if (error->Equals(S"OK"))
        {
            ret = true;
        }
        return ret;
    }
};
Into this sort of thing:
public ref class PostCodeChecker
{
public:
    virtual String^ Check(String^ code)
    {
        String^ error = "OK";
        return error;
    }
    Boolean Test(String^ code)
    {
        Boolean ret = false;
        String^ error = Check(code);
        if (error=="OK")
        {
            ret = true;
        }
        return ret;
    }
};

This is pretty mechanical work and just the sort of thing you might like to hand off to a tool. The VC++ team has been working on one, but it hasn't been a top priority. Now they've decided to release it as-is to those who might have some use for it, rather than holding onto it until it's perfected:

To set expectations correctly, the tool was going to be a “help” rather than a complete solution and in the push to complete other projects the tool was never fully completed, tested or documented. We are happy to release the tool “as is” as a few initial tests with external users have shown that they received benefits from using the tool even if: 1) it does not provide complete translation between the two different syntaxes and 2) manual modify of the outputted source code is still required to complete the conversion. The tool does come with source code so that users who wish to modify or extend the functionality to better suit their code bases can. The tool is totally unsupported by Microsoft.

If you have some oldstyle Managed C++ to convert, why not see if it can help you? It's a 5 meg download.

Kate

ps: one of the side effects of the more readable nature of C++/CLI is that after the mechanical work was done I just had to do this:

Boolean Test(String^ code)
{
    return Check(code)=="OK";
}

 

Saturday, December 09, 2006 7:44:38 AM (Eastern Standard Time, UTC-05:00)  #