Monthly Archives: January 2007

1 Comment

"Please stand by, while we reboot your seat"! We were greeted with this message just before Nortwest Airlines had to reboot their inflight entertainment system due to severe problems on all seats. To our surprise the following screen showed up:

Rebooting your seat

Hmm. What's that ugly looking bird doing there in the top left corner? Oh wait, it's just a crappy unstable system based on Linux!

We just arrived at our hotel in Bellevue after a pretty smooth flight without delays from Amsterdam to Seattle. Smooth, apart from the above mentioned hickup that is. For 9.95$ a day I have wired and wireless Internet access from my hotel room, so I can blog and upload pictures.

I just had to post this before going for dinner at 3:00 AM in Bellevue, WA. 3:00 AM Central European Time that is. Here in Pacific Standard Time, it is now 4:45 PM. So we are going for dinner at 6:00 PM, but it just doesn't feel like it.

It's just below 0 degrees Celcius here and there is still snow from last week's snow fall. Below you can see some snow on the platform of the airport. In the background is Mount Rainier which dominates the skyline at 4,392 m elevation.

Northwest A330 at Seattle-Tacoma Airport

1 Comment

Earlier on Friday I played around with January 2007 CTP of Visual Studio "Orcas". Lots of things are still missing from this CTP. But more is coming soon.

Scott Guthrie reveals that lots of new web development stuff will be included in the next CTP which is scheduled for February 2007. He tells us that the new HTML/CSS designer from Expression Web will be included in Visual Studio "Orcas" as well. That's great news.

Scott tells this on Channel 9 where he is being interviewed by my favorite Channel 9 guy Rory. Scott is the best example I know of the friendly, open and approachable parts of the company that are growing inside Microsoft. It is great to hear him argue against the obfuscation of the XAML used by WPF/E. Scott is a guy who just gets it. He understands that better standards support by Microsoft for things like CSS is important. May lots of others Microsoftees follow his lead. Other topics in the interview: WPF, WPF/E, ASP.NET AJAX, LINQ, IIS 7.0, Scott's responsibilities in Microsoft as a General Manager and some personal anecdotes. Go see this great interview. It's worth 42 minutes of your life ๐Ÿ˜‰

PS: If you live in or near the Central European Timezone, you might notice that I am posting this quite late on a Friday night/Saturday morning. I am already trying to adjust to Pacific Standard Time ๐Ÿ˜‰ In two days a whole bunch of colleagues from the Netherlands will be flying to Seattle for the US part of the Microsoft LEAP program we are participating in. I leave on Sunday and will be back next Saturday.

1 Comment

Or is it the Visual Studio "Orcas" December 2006 CTP? The product itself is confused. The about dialog shows both monikers.


You can download this CTP here.

It has been awhile since the October 2006 CTP of "Orcas" that I wrote about previously. Here are my first observations about this CTP.

Integration problems for .NET 3.0?

I believe this CTP shows that Microsoft is experiencing major integration problems among its technologies. Would you believe that this CTP does not contain the RTM version of .NET 3.0?! Instead it containsan older version version with build numbers off by more than 100. Think back to when .NET Framework 3.0 was released to manufacturing: November 6, 2007. Imagine how many days it has been in escrow before that. Yet it hasn't been integrated into the Visual Studio builds...

Build numbers.NET 3.0 RTMโ€œOrcasโ€ Jan 07 CTP
WCF and CardSpace3.0.4506.303.0.4324.17

Like older "Orcas" CTPs, this CTP lacks any developer support for .NET 3.0. So no documentation, project templates and visual designers. For .NET 3.0 development, you need to use Visual Studio 2005 with the "Orcas" CTP extensions. The latest version of those extensions is the November 2006 CTP. Microsoft announced that that would be the last release for Visual Studio 2005. Going forward, they should be integrated in Visual Studio "Orcas". Apparently, that hasn't happened yet.

So what is missing?

  • Up-to-date .NET 3.0 version
  • Developer support for .NET 3.0
  • Team Foundation Server "Orcas"

Exciting content

However, an older .NET 3.0 version and missing technology does not mean that this "Orcas" CTP does not contain exciting content. It contains the most expansive .NET 3.5 released yet. It's version number is 3.5.11209. The list of features can be found in the middle of the download page. For your convenience, here is a copy of that list:

  • Extended, more powerful data APIs with the ADO.NET Entity Framework and LINQ to ADO.NET
    • With the ADO.NET Entity Framework developers will be able to model the view of the data that is appropriate for each one of the applications they are building, independently of the structure of the data in the underlying database. The use of the Entity Data Model (EDM) enables developers to design models that follow the concepts built into the application, instead of having to map them to constructs available in relational stores. Once the model is in place, the powerful ADO.NET Entity Framework API is used to access and manipulate the data as .NET classes or as rows and columns, whatever is appropriate for each application.
    • ADO.NET is fully integrated with LINQ and offers many options for using LINQ in various scenarios: LINQ to SQL provides direct access to database tables from the programming environment, LINQ to Entities enables developers to use LINQ over EDM models, and LINQ to DataSet allows the full expressivity of LINQ to be used over DataSets.
  • C# 3.0 Language Support: This CTP implements all of the C#3.0 language features from the May LINQ CTP including:
    • Query Expressions
    • Object and Collection Initializers
    • Extension Methods
    • Local Variable Type Inference and Anonymous Types
    • Lambdas bound to Delegates and Expression trees
  • VB 9.0 Language Support: This CTP implements all of the VB 9.0 language features from the May LINQ CTP including:
    • Query Expressions
    • Object Initializers
    • Extension Methods
    • Local Variable Type Inference
    • Anonymous Types
  • LINQ to Objects API
    • The LINQ to Objects API supports queries over any .NET collection, such as arrays and Generic Lists. This API is defined in the System.Linq namespaces inside System.Core.dll. Click here for more details about LINQ.
  • ClickOnce improvements
    • This CTP delivers ClickOnce improvements for the deployment of Windows Presentation Foundation applications, alternative browser support and ISV rebranding.
  • Managed classes for Elliptic Curve Diffie Hellman and Elliptic Curve Digital Signature Algorithm cryptographic functionality
    • With the addition of these classes, cryptographic developers now have managed classes for Elliptic Curve Diffie Hellman secret agreement and Elliptic Curve Digital Signature Algorithm signing. These classes are built on the new CNG cryptographic libraries in Windows Vista, but still follow the familiar patterns of the cryptographic classes in .NET Framework 2.0.
  • Runtime and design-time support for Office 2007 (including Outlook 2007)
    • Customers can build managed code add-ins with a consistent development experience, regardless of which version of Office they target, which Office application(s) they target, and which programming language they choose. Managed code add-ins enable developers to use strongly-typed class members, with the help of modern development tools, including intellisense and auto-complete. Additionally add-ins can potentially run in multiple versions of Office, enabled by abstracting version-specific code and supported by a version-resilient infrastructure.
  • Support for advanced lifetime management of add-ins and their AppDomains
    • Weโ€™ve added the helper classes that manage the lifetime of add-ins, the objects passed between the host and add-ins, and even of the AppDomains the add-ins live in. By using the ContractBase and LifetimeToken handle, pipeline developer can let the hosts and add-ins act as if everything, including the AppDomain the add-in was activated in, was controlled by the garbage collector even though .Net Remoting would normally make that impossible.
  • Client service support for Login/Logout, Role management and Profiles
    • ASP.NET 2.0 shipped with new application services for authentication, authorization and personalization. Most of these services are not tied to ASP.NET and can work in non-web applications. This CTP enables the use of these services in smart client applications for Logon/Logoff, Role management and profiles.
  • A trace listener that logs event to ETW, event tracing for Windows in Vista
    • Event tracing for windows is greatly improved in Vista and the most performant loggings facility available in Windows. The System.Diagnostics.EventProviderTraceListener allows managed tracing to provide events to the Vistaโ€™s ETW infrastructure. This is a highly performant, thread-safe listener.
  • Jscript Intellisense support
    • Jscript code formatting and Intellisense support provide developers with a richer editing experience. These improvements enable the IDE to provide statement completion, color syntax highlighting and in-place documentation to Jscript and associated script models such as ASP.NET AJAX.
  • A new numeric type that provides support for very large numbers (Beyond the range of In64)
    • All existing numeric types in the Framework have a limited range. This is the first type that supports arbitrary range and will extend to accommodate any large number as needed. This type lives in the new System.Numeric namespace where all new numeric and arithmetic features are going to reside. It supports all the basic arithmetic operations including things like Pow, DivRem and GreatestCommonDivisor. It implements the following interfaces: IFormattable, IComparable, IComparable<BigInteger> and IEquatable<BigInteger>. It is serliazable and immutable. It has implicit casts from all basic integral types and explicit casts to/from all numeric type. To learn more about this type โ€“ please visit the BCL team blog.
  • LINQ over XML (XLinq)
    • Enable further LINQ over XML feature support (in addition to the functionality available in the Oct 2006 CTP) such as the ability to apply XLST to transform into and out of XLinq trees, support for System.XML reader/writer interfaces for improved XML sharing with DOM applications and System.XML schema validation for XLinq nodes.
  • SQL Server Compact Edition (SSCE)
    • SQL Server Compact Edition (SSCE) provides a local relational data store for occasionally connected client applications from desktops to devices. SSCE is light weight, embeddable and is easy to deploy with your client applications without requiring complex administration work from users. Timestamp (row version id) data type, improved table designer, Query processor enhancements and support for local transaction scope are some of the new features you find in this version of SSCE.

1 Comment

Couldn't think of a better subject, so I just used Dennis' subject.

Dennis tagged me and yes, as Alex wrote, this proves "With all the big names and blog-gurus tagged, eventually the less known/unknown ones had to be reached." ๐Ÿ˜‰ Thanks, Dennis!

So here's my list of five things you might not know about me:

  1. Like Dennis and Frans, I started programming on the MSX. In my case a Sony HitBit 75. I had an earlier encounter with a floppy disk drive than Dennis as I bought a 3.5" disk drive that could be hooked up via a giant cartridge to the HitBit. It cost a whopping 800 Dutch guilders (360 euro) and could store 360 KB (single side, single density). Of course these disks were SO much better than the poor 5.25" floppies that the Commodore 64 guys had to live with ๐Ÿ˜‰ Nevertheless I regularly encountered disk corruptions ;( 
  2. The first software I bought was an Z80 assembler program. It could only be started from MSX-DOS as it was originally written for CP/M. Before I had this assembler, I wrote small assembly programs by  looking up OP-codes in a table and poking them straight into memory with an MSX BASIC program. Just a slight mistake would cause the machine to hang or reboot. For instance, it was terribly risky to have to calculate jump addresses and offsets by hand. 
    With the help of the assembler I wrote my first major program in assembly: a program that allowed me to edit the FAT12 tables on a floppy disk. I had a floppy disk with corrupted FAT tables and I wanted to salvage the data that was still on the disk. I reverse engineered the FAT12 structure (as I had no documentation on it) and with a bare minimum of documentation on the MSX disk API's I was indeed able to repair the disk. The disk was fragmented so it was quite a puzzle to put the pieces of the files together. Baby Luke
  3. I was supposed to write an article for the Dutch .NET Magazine on developing for Windows Media Center over the Christmas holidays, but I didn't do any work related stuff on my days off. That's a rare thing for me. Hopefully I will still make the deadline ;(
  4. One of the reasons I didn't get around to writing the article was that I became an uncle for the first time. As it is very unlikely that I will have children of my own, I am very happy that my sister is providing my parents with offspring ๐Ÿ˜‰ 
  5. One other reason I didn't get around to writing the article yet is that I am terribly in love at the moment. I have no further statement to make at this time other than that I am suffering ;( However, if you have any advice on how to undo falling in love, it is very welcome.

I tag Edward, Chi Wai, Matthijs (a good reason for your third blog post? ;), Olaf and Octavie (how's life at Ordina?).