Digital Imaging

As a new dad, I’ve got the requisite digital camera and digital camcorder. So I’ve taken a ton of photos and shot some video, which I shareonline. But it’s nice to have physical copies of the photos for albums, so I bought a new HP 5550 DeskJet printer. I also sprung for the high quality photo paper and the Photo InkJet Cartridge that turns the 4 color printer into a 6 color photo printer. This printer was the PC Magazine’s Editor’s Choice, and after seeing the output, I completely agree. I used to do photo touchup and color correction for a publishing company, and this printer completely blows me away.

Now all I need is a DVD burner to go with my firewire card, 80GB hard drive and Windows Movie Maker.

Updated Web.SkinUI

I finally got around to updating my Web.SkinUI project page. I’ve posted a slightly updated version of the code that allows DB connection strings to be specified in the web.config file. I’ve also posted the code (without docs) from the follow-up article that compiles the skinned pages on request, just like WebForms do. Enjoy.

Predefined Conditionals

Does anyone know of predefined conditional compilation directives for C#? I know VS.NET creates “DEBUG” and “TRACE”, but I was wondering if there’s a built-in version conditional? I want to write something like:

#if CLRv1.1
  //...CLR v1.1 specific code...
#else
  //...CLR v1.0 specific code...
#endif

.NET Blogging

I’ve been blogging with Front Page as my front end, but it looks like I’m going to have to investigate InfoPath. As .NET blogging tools grow up, I might need to move my site onto ASPNetWeblog or BlogX. I wonder how well these tools support customization. I’ve obviously got more than just blog up on this site.

IPv6

Both threedeegrees and the Windows XP Peer-to-Peer SDK are now available. Haven’t tried them out yet (new baby) but I have been working through Understanding IPv6 during off moments. I’m very impressed with IPv6. It really rectifies the issues around internet addressing beyond just providing a huge number of addresses (2125 to be exact). In IPv6, interfaces typically have multiple addresses – an auto-configured link-local address, and a dynamically configured site-local and global address. IPv6 also provides a mechanism for neighbor discovery, which allows a node to determine what other devices (esp. routers) are on the local link. Many of these features are supported as add-ons to IPv4, but they aren’t very cleanly designed since they weren’t included in the original design.

One funny thing about IPv6 – the first 13 bits of an IPv6 address is called the Top Level Aggregator Identifier, or the TLA ID. I thought TLA stood for Three Letter Acronym! 😄

I did install the WinXP P2P SDK and poke around enough to notice it is C++ based. I wonder if the next version of the .NET Framework, with it’s built in IPv6 support, will get it’s own P2P SDK soon?