lambda vs lamda

Mon, March 5, 2007, 04:01 AM under Random
With all this talk of lambda expressions, I should point out that whoever decided to spell the Greek letter using characters from the latin alphabet has done it incorrectly. Spelling LAMBDA with a 'b' is simply wrong. The correct way to spell it is LAMDA. The Greek spelling of lamda uses 5 characters that each map exactly to the latin counterparts: ΛΑΜΔΑ. In case that doesn't render as it should for you, look at the following image:

Each letter in one alphabet is equivalent to the other (they sound the same, the keyboard maps them the same, they just *are* the same!). Whose bright idea was it to introduce a 'B' where it didn't belong?! When you read the word out loud, how do you change your pronunciation between the incorrect way LAMBDA and the correct way LAMDA? If you pronounce the 'B' I can tell you that that is not the way Greeks pronounce it.

To be quite honest, if you wanted to get as close to the real pronunciation as possible, then it should be written as lamtha where the 'th' is read in the same way as 'th' in the words 'there', 'the', 'though' etc.

Rant over.

Ctrl+Tab in VS Orcas

Sun, March 4, 2007, 09:46 AM under Orcas | VisualStudio
UPDATE: After Beta 1 I updated the screenshot below (you can still view the old one here).

A cute feature introduced in Visual Studio 2005 was that Ctrl+Tab didn't just cycle through the open windows but it also brought up a dialog that let you see what the next window would be (much like Alt+Tab does on Windows XP).

VS "Orcas" builds on that feature by offering a sneak image preview of the next window (much like Alt+Tab does on Windows Vista). Try Ctrl+Tab in your Orcas installation and you should get a window like the following:

Like I always say, the devil is in the details :-)

System.AddIn

Fri, March 2, 2007, 03:47 PM under dotNET | Orcas
Anybody that has built an application that supports AddIns (aka add-in, plug-in, etc) knows that there are many design decisions to make and quite a few subtleties in implementing those decisions in particular when it comes to discovering addins, version resiliency, isolation from the host etc.

In NetFx 3.5 (part of "Orcas"), a whole bunch of classes do all this work on your behalf and all you have to do is make simple method calls to configure the behaviour. These new types are in the following namespaces: System.AddIn, System.AddIn.Hosting, System.AddIn.Pipeline and System.AddIn.Contract.

The implementation was part of System.Core.dll in early CTPs; starting with the March CTP they reside in their own assembly: System.AddIn.dll (be sure to reference the System.AddIn.dll from v3.5 residing in "C:\Windows\Microsoft.NET\Framework\v3.5.20209", not the one from v2.0 that appears in the References dialog by default).

To learn more about how to use the new AddIn model, please read the two part msdn magazine article (part one and two). Also check out the AddIn blog where you can learn about internal implementation decisions that could help you with the add-in infrastructures that you build today! For a real example of the AddIn classes, see this blog series that describes how Paint.NET is being refactored to take advantage of the new plumbing.

Code metrics in VS "Orcas"

Thu, March 1, 2007, 03:28 PM under Orcas | VisualStudio
One of the new menus I noticed when right clicking on the project menu was one titled "Generate Code Metrics".

I played with it and just before writing a long blog entry, I found that the feature team have done that already so to avoid duplication please go read all about it on the fxcop blog (plenty of screenshots there). The title of the menu gives away what it does but to whet your appetite, if you try to add/remove columns from the code metrics window you get the following dialog:

Now all we need is to make that dialog resizable :)

Some .NET Framework 3.5 features

Thu, March 1, 2007, 02:02 PM under dotNET | Orcas
Thom has a table of .NET Framework 3.5 features and Matt talks about new WCF and WF bits in 3.5 - both well worth a read!

VS "Orcas" uses the new CommonFileDialog

Thu, March 1, 2007, 05:21 AM under Windows | Vista | Orcas | VisualStudio
Whenever I see an application on Vista that shows the old file dialog, I cringe (sorry, it is true). So given that I "live" in VS2005, it is the one that irritates me the most every day in that respect. It is easy to show it from native code and I have talked about the managed wrapper in VistaBridge before.

I've been waiting for a VS "Orcas" build that uses the new CommonOpenFileDialog when running on Vista and the March CTP does just that. All I can say is "WOO HOO".

Download the Orcas March CTP now

Wed, February 28, 2007, 04:25 AM under Orcas | VisualStudio
Finally, I can empty my queue of Orcas draft blog posts :-)
Get the installable bits here and the VPC image here.

1st March: Updated with screenshot.

Vista week on Channel9

Wed, February 28, 2007, 04:23 AM under Windows | Vista
More Vista content added to channel9 throughout the week. Watch it here.

Fully booked with UK in-person events over the next 3 weeks

Tue, February 20, 2007, 05:38 AM under Events
If you are a developer in the UK, this is my speaking schedule for the next 3 weeks, and the reason I cannot attend any other matters:
  • Today (20 Feb) I am travelling up to Nottingham to do a talk tomorrow (21 Feb) on LINQ.
  • On Thursday (22 Feb) I travel to Wales to do an academic tech talk on Windows Mobile development the following day (23 Feb).
  • Next week (26 Feb – 1 Mar) I am attending DevWeek in London and presenting there on Vista development (28 Feb).
  • Next Friday (2 Mar) I travel to Glasgow for an event on Monday (5 Mar) again on LINQ.
  • The following day (6 Mar) I travel to Wales for a 2-day internal offsite where I am doing a small piece on Vista.
  • When I return, I travel to Heathrow (8 Mar) for a two day DevFest event where I am delivering both Vista and .NET Compact Framework presentations.
  • The week after, I travel to Harrogate (12 Mar) to do yet another session on LINQ (13 Mar).
  • The following day (14 Mar), I am doing another Windows Mobile tech talk at Manchester Metropolitan University.
  • BTW, all three LINQ sessions above are part of the MSDN roadshow (additionally on 21 Mar in London and 27 Mar & 25 Apr in Reading).

Phew! In short, for the next 22 days I am constantly travelling, talking/demoing or prepping (contrary to some beliefs, these sessions don't just deliver themselves with no prepartion on slides/demo/timings!).

LINQ Resources

Tue, February 20, 2007, 04:37 AM under dotNET | Orcas | LINQ
In order to really understand LINQ and before moving to LINQ to data/xml/etc, one has to appreciate the features that LINQ builds on and how LINQ to objects works (unless you like to think of it as magic :)).

To that end I suggest you read my blog entries in order:
1. LINQ
2. Local Variable Type Inference (and the VB version)
3. Object Initiliasers
4. Anonymous Types
5. Extension Methods
6. Lambda Expressions (and the VB version)
7. Decomposing LINQ (includes Query Expressions)

My 1 hour talk on LINQ is coming to a city near you (if you live in the UK) and my code-littered slides are available to download here (pptx format).

If you want to play with LINQ you need Orcas. You can get the May CTP of last year or the January CTP from this year but to be brutally honest, namespaces/syntax/features have changed so the one you really really want is the Feb/March CTP so I would wait for that one which is just round the corner.

For even more info, see the following links:
- Official LINQ page
- We have some screencasts here and channel9 has some media here.
- Plenty of blogs with LINQ or C#3 or VB9 categories and some of them are here, here, here, here, here and here.
- For more, search.

For all your questions, as usual the msdn forums offer free support so please go there.