# Saturday, November 26, 2005

Yesterday's beach was nice, but not really pink. So today's mission was to find a pinker one. It's one of the few days I've been able to check off everything on my todo list :-)



Saturday, November 26, 2005 3:28:16 PM (Eastern Standard Time, UTC-05:00)  #    
# Friday, November 25, 2005

Treasure chests, glass bottles, ropes of crystals that look like seeweed, the usual ribbons, balls, and pearls, all of that I can handle. Beyond the surrealism of Christmas decorations while you wander around in your bathing suit, that is. But one particular ornament on this tree made it worthy of a picture:

Ah yes, nothing says Christmas like a deadly jellyfish! Good thing I consider it too early for Christmas anyway.


Friday, November 25, 2005 7:30:20 PM (Eastern Standard Time, UTC-05:00)  #    
# Monday, November 14, 2005

I've been talking about C++/CLI in public for quite a while now: Tech Ed USA 2004 and 2005, Tech Ed Africa 2004 and 2005, C++ Connections in Las Vegas last week, several private webcasts, and of course in this blog. But in the last 18 months, travelling as far as 10,000 miles from home, I haven't done any part of this shapeshifting talk here in my own home. So it's time to change that. Come to the November meeting of the East of Toronto .NET Users Group and find out why people are saying:

  • "I love the .NET Framework, I love C++, and the new stuff looks to provide me a beautiful integration of the two. Question is, once it is released, will I ever code in C# again?"  -  Ed Ball
  • "this new development in C++ seriously undermines the justification for C# as a language. " - Grumpy Old Programmer
  • "By standardizing the syntax and semantics of a general purpose binding for C++ and the CLI, Ecma TG5 will provide the huge C++ developer community with a tool that enables them to easily write applications that make full use of the CLI platform, and will provide the developer community targeting the CLI with full support for the powerful C++ language. " - ECMA Standards Committee
  • "Visual C++ is positioning itself as the lowest level programming language for targeting the CLR. There should be no cause to use any other language, not even Microsoft intermediate language (MSIL). Secondly, .NET programming should be as natural as native C++ programming. ...If you love C++ and want to use all the power that C++ has traditionally offered, but also want the productivity of C#, then this is for you. - Kenny Kerr, MSDN article
  • "C++ is here to stay for a long time and we are committed to providing the best tools for C++ development." - Soma Somasegar
  • "now that the language looks just like C# and you still have the power of C++/templates/STL as well, it's staging a major comeback." - Sam Gentile

I dug out some abstract that was kicking around from one of the versions of the talk:

Come and see how real C++ projects are moving to the CLR without a full port or rewrite. Learn how to easily migrate existing native code -- including MFC applications -- to run under the CLR. Strategies for choosing which parts of the application remain native and which are managed will be discussed. See how to take advantage of the power of the framework libraries. Finally, this session will provide guidance on how to build high-performance managed "wrappers" enabling reuse of native libraries.

But that was a one hour talk, and I have such a hard time fitting into a single hour, and this is my user group after all, so expect to see quite a bit more on the general "C++ for the .NET Framework" situation.

Wednesday November 30th, Whitby Library, please register. Pizza and chitchat at 6, C++/CLI starting at 7. See you there!

[updated: the link above now leads to a page that has a registration link. Please register.]


Monday, November 14, 2005 1:51:26 PM (Eastern Standard Time, UTC-05:00)  #    
# Friday, November 11, 2005

Jensen Harris, in his excellent Office User Interface blog, reveals the top 5 commands (most frequently used) in Word:

  1. Paste
  2. Save
  3. Copy
  4. Undo
  5. Bold

Doesn't surprise me at all. Cut and Copy probably add up to the almost same as paste (in most cases any given thing is only pasted once, but of course it might have been copied in another application and then pasted into Word) but they split the vote. The popularity of Undo (which one of my nontechnical friends calls the "Bite Me" key) is a testament to all the times Word is being "helpful" as I type. Man I hate software that thinks it's smarter than me. Apparently a lot of folks do. Or perhaps a lot of folks change their minds a lot, or mis-click a lot.

What I think is cool, given that this data was gathered from users who are keyboardy and mousy, context menu users (right-clickers) and regular menu users, experienced and novice, etc, is that every one of these commands is a one-hand chord on the keyboard:

  1. Paste Ctrl-V
  2. Save  Ctrl-S
  3. Copy  Ctrl-C
  4. Undo  Ctrl-Z
  5. Bold  Ctrl-B

Now you see why not being able to use that left Ctrl key made things so difficult when my laptop was being flaky.


Friday, November 11, 2005 9:48:21 AM (Eastern Standard Time, UTC-05:00)  #    

... must be firmly in the hands of Steve Teixeira, who has been blogging regularly from C++ Connections. Quite a decent subset of the team is here, and I am really enjoying meeting those I haven't met before and seeing the others again. (An aside: how many people do you think are on the C++ team? Yesterday Brandon, when I kiddingly asked who was left in Redmond since a dozen or so had come to Vegas, said there are 130 people on the C++ team. Tonight Herb said there are about 150 but 20 or 30 are on Phoenix which you might say wouldn't count. Over a hundred is a lot more than other language teams have and a good indication of both the importance and difficulty of keeping Visual C++ at the top of its game.)

Today Martyn Lovell gave a great presentation on the IDE that I enjoyed immensely (even though I knew all the features he was showing) because he has a wicked sense of humour. When he got spontaneous applause for docking indicators on tool windows (who knew?) he commented that he should have shown them first to get the audience warmed up :-)

I really hope the success of C++ Connections means there will be other C++-only conferences once again. In fact tonight I believe I heard Kevlin Henney say to Bjarne "we're doing this again next year, right?" and Bjarne say "yes". If so, I plan to be there too! This has been a terrific week and when I'm in my own time zone again I will have more to write about it.


Friday, November 11, 2005 1:45:41 AM (Eastern Standard Time, UTC-05:00)  #    
# Wednesday, November 09, 2005

Once again I find a friend has written almost the blog entry I would have, sparing me the effort. You just have to read Don Kiely's summary of Bjarne's C++ Connections keynote this morning. I am going to sleep on my thoughts from the keynote, this afternoon's talk, and tonight's panel, and see what I synthesize from them tomorrow.


Wednesday, November 09, 2005 12:08:10 AM (Eastern Standard Time, UTC-05:00)  #    
# Tuesday, November 08, 2005

Today at C++ Connections I have attended two Bjarne Stroustrup talks. And yes, I learned something from both talks and took plenty of notes. Bjarne used what he called Ye Olde Shape Example in a discussion of the brittle base class problem. He mentioned that this is an ancient and yet still useful example that he got from the Simula folks way back when. After the talk I asked if he knew when it dated to, since I use it as an example of polymorphism in the OO/UML course I teach at Trent. He thinks it's about 1971. I was disappointed that it wasn't older than me, and he offered "well, there's always the cars and vehicles, stop, go, turn kind of thing. That's from about 1967 or so." I burst out laughing since I use that example too! It doesn't quite make the "older than me" bar, but it's certainly got a history.


Tuesday, November 08, 2005 9:25:01 PM (Eastern Standard Time, UTC-05:00)  #    

The theme for the global launch of Visual Studio, SQL Server, and BizTalk was "Rock the Launch" with a subtheme of being ready. It was a very fun day complete with impersonators (I saw Elvis, Cher, Madonna, and Tina Turner), and a decor of posters and equipment boxes. Scott Stanfield has a nice summary complete with the pictures I haven't got around to taking yet of the gorgeous special editions of the software we recieved. A number of RDs were there: I saw Scott, Rich Hundhausen, Richard Campbell, and Carl Franklin. Richard offered me a ride to Vegas in the dotnetrocks-mobile but I decided to stick with the plane tickets.


Tuesday, November 08, 2005 3:23:25 PM (Eastern Standard Time, UTC-05:00)  #    
# Monday, November 07, 2005

Marcie lowered her profile a bit earlier this year but she's back.. with a new name since Microsoft went and changed the DataGrid to the GridView. Take a look at her new blog: http://www.gridviewgirl.com/GridViewGirl/


Monday, November 07, 2005 10:36:07 AM (Eastern Standard Time, UTC-05:00)  #    

I love being "in the loop" on new software. It can get kind of surreal, though, when you are at a conference and find a technology kind of boring and everyday, and skip the sessions on it since it's "old stuff" ... and then realize it isn't even shipping yet! I spend time in betas, alphas, SDRs and the like, so it's often years between the time I start working with a technology and the time it releases. When I speak at Tech Ed I tend to hang at the cabanas where I can hear real stories of how people are using the tools and the problems they need help with.

The PDC though, that's a different story. Well, it should be anyway. The PDC is all about the future, right? The workflow announcement was a big deal, but the material wasn't new to me. I began to worry if I would ever attend a session that sparked my interest in something new and important. Then I found it. I've waited to blog it until the sessions were available online.

What Jan Gray had to say in FUN302 and Herb Sutter introduced in TLN309 totally grabbed me. Because clock speed cannot go up any more we all have to write concurrent code even if it's single user:

And since most people can't write good concurrent code (see Herb's Singleton example which still doesn't work even with the double checking and the volatile keyword, at least not all the time) then the OS or the framework or the language needs to do it for them. Herb and Jan are proposing different approaches, but these two guys are among the smartest I know (I've known Jan almost 30 years) and if they are both into this, then I need to learn more about it. You probably do too.


Monday, November 07, 2005 10:19:27 AM (Eastern Standard Time, UTC-05:00)  #    
# Friday, November 04, 2005

While I was over ten thousand miles from home, my laptop started to get weird on me. First, it started to spontaneously power itself off, for no reason at all, while I was using it. Alarming! But then I eventually discovered that it only did so if I pressed the left Ctrl key. Confining myself to the right Ctrl key was a challenge -- I am hugely keyboard oriented and do Ctrl-S, Ctrl-B, Ctrl-C, Ctrl-V sort of things all the time without looking or to be honest even thinking keystrokes, I think Bold and my fingers do the right thing -- but I was able to do a whole presentation without it powering itself off. Then it started to get more delicate. Any pressure on the left side of the keyboard would power it down. And it got harder and harder to power it up. 5 tries, 10 tries, 20 tries... I did manage to power it up in the Jo-burg airport but it shut down while I was working and never did come back up again. I just slept instead of working and put it out of my mind.

When I got home, I confirmed it was still under warranty, next day on site service, and arranged a service call. Then I wanted my files back... I wasn't going to last all weekend without my files. Luckily the hard drives in laptops are delightfully standard things. For $13 Canadian, I bought a little wrapper that turns any 2.5" drive into an external USB drive:

I put the drive in it and ---ooooh, there are all my folders! Yay! But I can't see any actual files! Boo!

Turns out the power cycling and hard power downs (many many of them) had not been nice to the drive. So I got a little utility called File Scavenger from QueTek. I started with the trial version to prove to myself it worked, then got a personal licence and set to work bringing back everything I cared about -- the pictures I took while I was away, my Outlook PST file (yes I backed up before I left, but a lot happened that week) and a lot of work I was in the middle of. Phew!

The service call ended up stretching over several days ... replacing the motherboard, keyboard, palm rest, and hard drive wasn't enough, it also needed a new processor. But now it works again. And what do I get to do with my copious free time? Reinstall things. A lot of things.

Ah well, a good way to clear out junk you don't need any more. It was pretty much repaving time anyway, the machine had been kind of flaky for the last few months. And I'm ready to leave for SF and Vegas now... or at least my laptop is :-)


Friday, November 04, 2005 2:06:12 PM (Eastern Standard Time, UTC-05:00)  #    
# Thursday, November 03, 2005

I promised my South African friends that I would show them how our autumn compared to their spring. We have our own beauty here and while we're pretty much giraffe-free, there are charms in this northern landscape. These pictures were all taken within minutes of my home on one of the many walks and rambles we do. Gregory Consulting board meetings are quite often held under an arch of golden leaves; it's one of the things I like about living this way.



Thursday, November 03, 2005 8:02:34 AM (Eastern Standard Time, UTC-05:00)  #