HTC Wizard / Cingular 8125

I can not even begin to describe how long I had wanted a Pocket PC.  Like many geeks, I was obsessed with PDA’s.  Well, I got one a few years back only to look online a month later and see the same version of what I had purchased…. with phone functionality as well.  I nearly cried.

In some sick captain Ahabish sort of way, ever since then I have been watching and reading to find the “perfect” combination of Pocket PC and phone.  I was almost ready to make a purchase about a year back when Windows Mobile 5.0 was announced.

I was unable to restrain myself and purchased an Motorola MPx 220.  It was not a full blown pocket pc, merely a “SmartPhone”.  As such it had limited abilities, but it satiated a desire for a time and allowed me to bide my time until I could achieve my goal.

A few months back the HTC Wizard was announced around the same time as the Treo 700w.  My time was near… I just had to wait.  Well, it seems that the Treo isn’t on the GSM bandwagon just yet, so I went with the 8125… and I don’t regret it for a second.

I have only had the 8125 for a day now, but so far I am delighted.  It is not overly large and fits in the hand very well.  In a size comparison with the MPx220, it is actually not that much larger.  The added functionality that it packs is decieving for its size however.

Probably the most notable feature about the 8125 is its slide out keyboard.  This is executed flawlessly.  When the keyboard is open, the screen automatically adjusts to landscape mode for typing, and the 4-way button adjusts itself as well making left become down, up become left etc. The softkeys reappear on the keyboard as well so that you don’t have to use the exterior soft keys to use the menus.  The keyboard itself is very easy to use. The buttons are slightly beveled and the keyboard is backlit making it very easy to find and stay on the button you want.  My only real complaint about the keyboard is that it does not stay backlit for more than a second or two, so if you do not continually type, then you have to guess at the key you are hitting (assuming you are typing in semi-darkness).

The screen is a mere 320×240, but that is more than enough for a lot of the applications that are running on it and given the physical dimensions of the screen allows for relatively clear images and text.  The visibility of the screen in outdoor situations is superb.  I was able to read the screen in direct sunlight, something that I have trouble doing even on my MPx220.

The machine itself is a full blown computer.  My first laptop wasn’t this capable.  All the office documents can be displayed flawlessly from the computer to the PDA, synchronization with Outlook is of course seamless as it has always been with Pocket PCs.

The only problem that I have really encountered with the phone aspect of the OS is that the keys are on the screen, which makes it slightly difficult to dial as one is used to.  To combat this however, the contacts are very easy to flip through, and if you don’t mind a little setup time, you can configure voice commands for all of your contacts so that you only need to press a button and speak.

I have yet to try out the bluetooth functionality as my headset is still charging at the moment.  It is my hope however that once that is in place that with the combination of the voice dial and the headset, the phone can sit snugly away somewhere until I need to use the PDA functionality at which point I fully expect everyone around me with a PDA to gaze on in awe.

Signing the January 2006 Enterprise Library

If any of you out there use the Patterns & Practices Enterprise Library, you are probably a) Very excited about the changes and the fact that it now runs on v2 of the .Net Framework, b) Very frustrated if you were using a signed version of the previous build.

For those of you out there, I have found and included below the steps required to sign v2 of the Enterprise Library

Enjoy.

I’ve been playing with the strong-naming myself in the last few days, and I understand how painful it is. While I don’t think we’ll be able to automate this process in the installer, I am working on some Visual Studio macros to help with this process – I intend to share this with the community when it’s ready.

In the meantime, here are some steps you can follow to strong-name everything, including the test projects:

  1. Open a VS command prompt and change directory to the place where you want to create your keyfile
  2. Use sn -k keyfile.snk to create a key pair (or reuse an existing keypair that is used in your organization)
  3. Use sn -p keyfile.snk publickey.pk to extract the public key from the keypair
  4. Use sn -tp publickey.pk to display the public key in hex form. Keep the console window open as you’ll need this info later
  5. Open the EnterpriseLibrary.VSTS.sln or EnterpriseLibrary.NUnit.sln solution (depending on which edition of VS is installed)
  6. For each project (including unit tests and design projects):
    a) Double-click on the Properties folder from the Solution Explorer
    b) Go to the “Signing” tab in the properties window, and click the “Sign the assembly” checkbox. Then choose “Browse…” in the dropdown box. Browse to the .snk keypair created earlier
    c) Close the properties window and save changes
  7. In Visual Studio, choose Edit > Find and Replace > Find in Files
  8. Search for InternalsVisibleTo aross the complete solution
  9. For each occurrence of the InternalsVisibleTo attribute:
    a) Copy the full public key (not the token) from the console window that was created with sn -tp.
    b) add the public key to the attribute, for example:
[assembly: InternalsVisibleTo("Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Tests, PublicKey=002400000480000094000000060...")]
  1. Save each file you changed
  2. Rebuild the entire solution.

XAML ... Flash Killer

Keep in mind when watching this that it is completely data driven. What that means is that unlike Flash were things are embedded inside the application, this application is simply a framework that goes out and pulls in what it needs on the fly. I am sure that many of you are saying “Flash can do that”… yes, flash may be able to do some of this, but I would challenge Flash to accomplish what these fine gentlemen have with XAML and C#.

The Fluid guys did a keynote demo highlighting the Windows Presentation Foundation (WPF).

Darren of Fluid and Karstens of Microsoft wrote a whiteper titled “The North Face In-Store Explorer Proof-of-Concept: A White Paper”, now available on MSDN.  It has a great deal of information on how they did it, including code and XAML samples.

See the video: Watch the video of the demo.

Another Internet Explorer “Caveat”

Ok, so when you are trying to clear any previous float styling by clearing, and you make a tidy little class to do this with…and you decide to make an “empty” div and assign that class to it…YOU CAN NOT OPEN AND CLOSE THE DIV IN ONE FELL SWOOP.

In other words.

doesn’t fly. Internet Explorer will need to have that precious little closing tag like so:

sorry guys. *Maybe *version 7 will settle some of these grievances.

Life is fleeting

I went to a funeral yesterday.  It was the first funeral that I can consciously recall attending.  I am sure that as a child I went to a few, but as an adult, I have never really had to face death.

I have done the usual waking up in a cold sweat after having a dream about the people that I love dying, but I have never actually faced death head on and confronted it.

I did yesterday.

I came to the most phenomenal conclusion.  I have no regrets…

At least not when it comes to the people in my life.  Sure there is the occasional friend that I let go by the wayside, but I can not think of a single instance where I have left something unsaid with somebody; no “parting on bad terms” so to speak. The people in my life who I love, know that they are loved.  While I can not say with 100% certainty that the people in my life know how I feel about them, since I am not in their minds, I do believe that to the last person that they do indeed know.

With that realization, I began to understand something that had been troubling me for the past several years.  You see, I have never had what most people would refer to as strong emotions about death.  I assumed that this was because I had never encountered it in any form other than the passing of a pet.  I believe now however that it is more due to the fact that I do not regret the standing that I have with my loved ones.  I would most certainly be sad if and when they leave this existence, but I can not bring myself to imagine a state of absolute grief.

I don’t know.  Perhaps with time and the deaths of people who are truly near and dear to my heart, my opinion on this matter will change.

It is my fervent desire however to maintain a state of no regrets with those people.  So, when the inevitable does conspire against them, they know that they are loved… and always will be.