Rants, rambles, news and notes from another geek

Geek Notes 2006-01-23

It has been a little while since I posted&nbsp_place_holder;a Geek Notes. Sorry. Haven’t been reading many blogsΓǪ mostly just been working, doing family stuff and playing poker.

  • AJAX Web-Based Telnet - Wow. Wow. Wow. As Lee Holmes said in his review of it, “Truly amazing.”
  • Hanselminutes&nbsp_place_holder;Podcasts - Scott Hanselman is doing a podcast (this link is to number 1). Gotta check that out. Scott it smart, funny, witty and a good speaker. Might be a good workout podcast. Number 2 is up too.
  • NASA Stardust Clean-Room Cam - They are currently extracting blocks of aerogel full of little stardust particles. Here is a great pic of one, but if you want to be a real geek, watch the team during the day on the webcam.
  • Jamie Does Code Coverage - Jamie Cansdale, author of TestDriven.net–the best test runner for Visual Studio, has just posted some really cool news about his new support for code coverage right from the right click menu. Sweeeeet.
  • Loading Assemblies The Monad Way - We MSH-heads happily use the now-depricated LoadWithPartialNames method to load in whatever external assemblies we need, but this little helper script from Lee Holmes is very nice indeed and does it the “right” way for .NET 2.0.
  • Penn Jillette’s Radio Show Podcast - The title says it all. I think I’ll queue this one up right after Hanselminutes.

Provost Family New Year Card

This shows how much I pay attention to thingsΓǪ apparently we blogged our family holiday card this year. Here is Emily’s original post:

I had every intention of getting a Christmas/New Years card out but it never happened and I’m not allowing myself to feel a shred of guilt about it. Here is a family picture which would have appeared on the card, which would have said the following:

Wishing you a shiny new year!


![IMG0378 (Small)](http://blogs.provost.org/Uploads/Emily/IMG03782028Small_29.jpg)

Enterprise Library for .NET Framework 2.0 Now Available!

Tom Hollander and team have shipped Enterprise Library for .NET 2.0:

The long-awaited update to Enterprise Library for .NET Framework 2.0 is now available - the official release is branded January 2006. This release of Enterprise Library includes six application blocks (Caching, Cryptography, Data Access, Exception Handling, Logging and Security), and provides similar functionality to the previous releases for the .NET Framework 1.1; however, Enterprise Library has been redesigned to use the new capabilities of the .NET Framework 2.0.

Many congratulations to everyone on that team!

Technorati Profile

Apparently I never actually went and setup a Technorati Profile&nbsp_place_holder;for my blog… strange, I thought I had. Oh well. I have one now.

Enterprise Library and Object Builder

While finally catching up on blogs I read, I ran across Brian Buttons recent post titled Enterprise Library and Object Builder. Whether you are using CAB, EntLib or Object Builder directly you should go read his post, as it is full of all kinds of nuggets. For example:

The way OB can tell whether or not to treat an instance of a singleton or not is through ObjectBuilder concepts called Locators and LifetimeContainers. LifetimeContainers, in OB-speak, manage the lifetime of named instances of objects. You can register an object and its name with a LifetimeContainer, and it will keep that object alive until such time as you dispose of the LifetimeContainer. And every LifetimeContainer is associated with a Locator. A Locator acts as a dictionary that maps instance names to objects, but it does it using WeakReferences – this means that storing something in a Locator will not prevent that object from being GCed. Tot keep an object alive, you need to provide the LifetimeContainer as well, which is what keeps the references in use, preventing the object from being scavenging out of existence.

Good stuff.

Windows "Monad" Shell Beta 3 Now Available!

I’m excited to report we just released Beta 3 of our new system administration console-based shell and scripting environment known as Monad (a.k.a., Microsoft Command Shell, MSH).&nbsp_place_holder; You can download the bits from the following locations:

Remember Monad is built on top of .NET so you’ll need to install .NET 2.0 before you install Monad.

Also make sure you read the “releasenotes-b3.htm” in the download package.

We also re-released an impressive collection of documentation to help you get up to speed quickly on Monad.&nbsp_place_holder; You can download the documentation pack at:

Here is bunch of other useful links and such:

ARCast - Smart Client Baseline Architecture Toolkit

A few weeks ago at the Redmond patterns & practices Summit I joined Ron Jacobs, Eugenio Pace and Wojtek Kozaczynski for a chat about the new Smart Client Baseline Architecture Toolkit project (aka SC-BAT). Today, Ron posted an audio podcast of that session to Channel 9. Here’s the description from the site:

Have you ever wished that someone would just tell you how to build the thing you want to build? Like one of those do-it-yourself furniture projects? Well if you are building a Smart Client application the patterns & practices team has just what you need in the Smart Client Baseline Architecture Toolkit (SC-BAT). Recorded live at the patterns & practices summit in Redmond this session features Eugenio Pace, Peter Provost and Wojtek Kozaczynski detailing what SC-BAT is and how it will help you.

If you weren’t able to attend, please check it out.

Solved: Bluetooth Missing From My PocketPC Phone

Over the weekend I bought a D-Link DBT-120 Bluetooth USB Adapter for my laptop so I could sync up my Samsung i730 PDA Phone with my latop without a cable. I mean, what’s the point of having Bluetooth in your phone if you don’t use it for things like this, right?

Once I got that working, it became much easier to install software. Immediately, I installed a few games, Microsoft Pocket Streets and Trips,&nbsp_place_holder;and of course, Microsoft Voice Command. (Voice Command is a must have application for PocketPC Phones and SmartPhones. Seriously. Get it.)

Then today, while I was driving home, I tried to enable BT on the phone so I could use my headset and it wouldn’t enable. At a stop light, I went into Settings Connections and when I chose Bluetooth, it gave me this error:

There is no bluetooth hardware installed on this device.

“Ummm. What?” I thought. I started getting a little concerned that my new phone was broken already, only slightly reassured by the insurance that I bought with it. But I’m a geek and I’m male, so I didn’t go to the store to ask for help… I went home.

I tried soft resetting the device and that didn’t help. I was pretty sure a hard reset would fix it, but I really didn’t want to do that quite yet, as that would mean starting from scratch, reconfiguring and reinstalling everything. No thanks.

Tonight, after the kids were in bed, I started digging a little further and found the answer over on pdaPhoneHome.com. It turns out the problem has to do with Voice Command.

Fixing it is actually pretty straightforward:

  1. Go to Settings Personal Voice Command and disable Voice Command by unchecking the box
  2. Soft reset the phone. When the phone comes back up, BT will be working fine.
  3. Go back into Settings Personal Voice Command and re-enable Voice Command
  4. From what I can tell, it should stay working until the phone is hard cycled again (battery dead or battery switch)

From what people have said online, it may have to do with VC loading before BT. I’ve seen other people say that it is caused by having too many DLLs in memory. Even others have said that it happens when you have too many plug-ins installed in the Today screen, but I only have the stock ones that came with the phone.

Regardless, this worked for me. So if you’re having this problem, give it a try and see if it helps.