# Wednesday, 10 January 2007

Eric Lee has spotted the Vista-programming-is-easier-with-C++/CLI phenomenon for himself.

... I have really come to enjoy the second incarnation of managed C++, now called C++/CLI. Unless you are really good at .NET marshalling, a lot of great Windows Vista features just aren't that accessible from .NET.  This is where C++/CLI really comes into its own.

He gives a nice example featuring a preview handler. Preview and thumbnail handlers are really cool in Vista, but you have to implement some COM interfaces to do it. His final conclusion:

I'm pretty pleased with how C++/CLI gave me a way to mix what C++ and ATL do pretty well (COM, Shell Extensions, etc) with what .NET does pretty well (user interfaces, dnd design, etc).

Best of both worlds! I have a slide or two that say that :-)


Wednesday, 10 January 2007 20:21:10 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Tuesday, 09 January 2007

The January Orcas CTP is ready. The new C++ features include .NET Framework Multitargeting (allows the user to target different versions of the .Net framework from a single instance of Visual studio) and Library Versioning (renaming assorted libraries with 9 in their names because they differ from the current versions.) There's a handy list of Orcas features and which CTP they first appear in on MSDN. To view the documents, you'll need an XPS viewer unless you're already using Vista day to day.

Community Technology Previews are not as fully tested as betas, but they're here now, and you can provide feedback after working with them, so why not take a look?


Tuesday, 09 January 2007 07:38:48 (Eastern Standard Time, UTC-05:00)  #    Comments [1]
# Monday, 08 January 2007

Time for me to speak at my home group once again. Here's the plan:

It’s Vista time – is your application ready?

This session starts with a discussion of overall compatibility of Windows Vista for applications written for earlier versions of Windows OS. It also highlights new features and security tightening in Windows Vista, how applications will behave under these conditions, and what changes may be needed to transition smoothly to Windows Vista.

We then drill deeper into the programming side. 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.

Kate Gregory helped to develop the material for the Vista Ascend course for Independent Software Vendors, wrote the Hands On Labs currently being used by Microsoft to teach programming for UAC, and is developing a large C++ Vista reference application. She has spoken on Vista topics on three continents.

The meeting is at the Whitby Public Library. Pizza and networking from 6 to 7, then I'll speak. Please register so we get the right amount of pizza!


Monday, 08 January 2007 07:19:53 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Sunday, 07 January 2007

Let's see, I got dinged (so far) by

If I don't step up and produce my Five Things pretty quickly, there won't be anyone with a blog left for me to tag!

  1. I have a PhD in engineering -- Chemical Engineering to be precise -- from the University of Toronto. My thesis title had way too many "of"s in it and was about modelling the very first steps in blood coagulation at a surface. Simultaneous partial differential equations! Boundary layer! Non-Newtonian fluids! Woo hoo! My undergrad work was also in Chemical Engineering, at Waterloo.
  2. If you don't count co-op jobs while an undergrad, TA-ing while a grad student, part time lecturing, and the like, I have held only two "real" jobs in my entire life, one for two years between graduating from my undergrad and starting my grad work, and the other as partner here at Gregory Consulting ever since.
  3. I am an elder in a martial arts system, one of only six in that system. Don't try to beat me up though... we'll both be sorry.
  4. I never lie. I sometimes say I can't talk about something, or I say something that I know is deceptive but is technically true, but I do not lie. For example, I only say "this demo worked on the plane!" if it really did. But I might say "they haven't announced anything" knowing that you will conclude I don't know, when in fact I do know but can't tell you. Sorry.
  5. I adore my kids, and put them first in just about everything I do. I've turned down conferences because it conflicted with family things, and followed a lower-salary career path so I'd have time to be hugely involved in what they do. I even homeschooled one of them half days for an academic year. I just don't talk about them much in my blog to give them some privacy. As a result many people think I don't have kids! Trust me, when we're together in person and it's not all being archived for some future romantic interest of theirs to read 20 years from now, I'll talk your ear off about these sweet, funny, smart, hardworking, reliable little angels!


Now, my victims. Who on my favourites list is not already playing, but knows me enough to take a tag from me?


Sunday, 07 January 2007 14:18:56 (Eastern Standard Time, UTC-05:00)  #    Comments [2]
# Saturday, 06 January 2007

Joe Duffy has moved from the CLR team to Parallel LINQ. How do you like this offer:

We're looking for supersmart technical people to join the team and help change the face of programming for anybody writing code on the CLR or VC++. PLINQ isn't the only project. Solid CS skills are a must, but you don't necessarily have to be a concurrency guru (right away).

Help change the face of programming? Sounds (almost) irresistible to me!


Saturday, 06 January 2007 13:41:16 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Friday, 05 January 2007

Heh, you think it's not possible to leak memory from a managed application? Of course it is. For one thing, if you leak a thread, you will leak that whole thread's stack. Oh yes, there's more to memory than heaps. And there's more than one heap, too. You could mess up your interop and leak from the native heap, or you could even leak from the managed heap, generally as a result of an error somewhere other than the leaking code ... like a misbehaving finalizer that prevents some other finalizer from running, which prevents some other memory from being freed since it can't be freed till it's been finalized. Eeeeeww.

If none of this ever occurred to you before, and you're not scared to read more about it, check James Kovac's article in the January 2007 MSDN Magazine. He tells you how to notice leaks, track them down, and do something about them. (BTW, he's a Canadian MVP.) You'll also learn what a garbage collector does instead of buying a Porsche when it suffers a midlife crisis.


Friday, 05 January 2007 13:27:47 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Thursday, 04 January 2007

Ahmed's been running some Touchdown content in South Africa for ISVs who want to certify their applications on Vista. He's collected a nice set of links (about half of them were already purple for me) on the logo programs and things that will help you migrate to Vista. This stuff can be hard to find so having it in one place is very useful.


Thursday, 04 January 2007 13:20:01 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Wednesday, 03 January 2007

Last year I posted about a demonstration of tag clouds for US Presidential speeches, so you could see words like Constitution or economy wax and wane in the big-ticket political speeches over the centuries. Well now someone has done the same for Microsoft speeches over the decades. Watch Windows appear, or spot the Ballmer speeches, you'll find it a fun little pastime. I wish it had more consistency in the type of speeches used: testimony before Congress is never going to have the same words as a press release, but it's fun nonetheless.


Wednesday, 03 January 2007 13:15:20 (Eastern Standard Time, UTC-05:00)  #    Comments [0]