Scott Hanselman

On the Train to the Indigo SDR in Seattle

March 28, '05 Comments [1] Posted in Musings
Sponsored By

Traintoseattle1

My boss Chris and I took the train to Settle today from Portland. It's pretty nice in Business Class and cheap. I had an opportunity to hook up my new Streets and Trips GPS during the trip. A screenshot is to the right. The green line is the recommended route, via car. The blue line is the route we took by rail. We were moving pretty fast for a while there, about 75-80 MPH.

One interesting thing that I realized is that while there's no WiFi on Amtrak, there's enough stops that you can use NetStumbler to sync email using whatever HotSpot is nearby that stop. I'm not sure why I get such a kick out of that, but I sure do. 

This GPS is darned interesting as well. It's cheap - I think it was $60 - but it is wicked accurate. It also speaks NMEA 2.0 which is really easy to speak to over a serial port. I talked to edjez, and I'm going to extend and mess with his C# application for an upcoming article.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

The State of (My) Digital Media

March 27, '05 Comments [14] Posted in Reviews | Gaming | Tools
Sponsored By

Widgets, Windows Media Connect and uPNP Technologies

I was visiting Woot recently and saw an OmniFi DMS1 for $60, so I picked it up as part of my "consolidate all media" kick. It's older, but it's UPnP and should allow us to listen to music in the master bedroom through the existing bookshelf stereo's AUX input.

It comes with a Java-based UPnP server called SimpleCenter and it's complete crap. It didn't run to start with, and ironically it's not easy to download the update as the application is supposed to be self-updating. Fortunately a visit to their forums got me the URL.

The OmniFi DMS1 supports wireless access through a DLink USB Wireless Adapter that came as part of the Woot deal. However, the DMS1 doesn't come flashed with the newer firmware required to get the Wireless Adapter to work, so you have to hookup wired, download and flash the firmware, reboot, add the adapter dongle, setup the WEP settings using only a single button and a scroll nob. It does work when you're done though, but this underscores my primary point of this blog post:

This stuff ain't easy.

Folks are consistantly making it hard for people like my non-technical (well, Excel macros) wife to even turn on the TV without a programmed Macro.

After I was sufficiently sick of their Java app - about 8 minutes - I started looking for alternate UPnP servers to serve music to this little device.

I already own Nero Burning Rom, and I've said before that Nero is the single best value in software today. There, I said it again. Included with Nero, although I didn't know it, is Nero MediaHome a UPnP 1.0 compliant server. It's got a killer look, it appears to be lightweight, and their site used to say [Google Cache] it supports the DMS1.

However, try as I may, the DMS1 continually locked up when scrolling fast and talking to MediaHome. So, try again.

DEVELOPER TIP: Intel has a very complete .NET SDK for UPnP including an implementation of a server that is very easy to get going.  I'm going to write a more complete article on this and it's uses soon.

Mediaconnect1The new firmware for the DMS1 says "written specifically for Windows® Media Connect for Windows® XP." What more can one say than that? So, I downloaded Media Connect from Windows Update, set it up, authorized the DMS1 to see my media (that was an extra step that the SimpleCenter software didn't expose) and I was off.

Once again, though, it locks up or is VERY slow. Sigh. Back to SimpleCenter. If anyone else has some advice on this, it'd be appreciated. The thing works nicely, the wife can use it, it pipes through a previously-unused bookshelf stereo, but it's slow, flakey, and it's interface just can't handle 5000 songs. Which brings me to my a postulate:

Crappy list-based interfaces that can't deal with thousands of songs will cause the listener to listen to Artists and Albums that begin with the letter "A" more often that they would ordinariliy.

Not that I don't like Aaliyah and Beyonce, but I'd like to demo the thing to friends using Tenacious D or Zappa, Frank sometimes. The interface as it is is currently untenable.

Windows Media Center Edition

My Media Center Case came in the mail today, an Ahanix MCE 601, the Chrysler 300 of cases. This is for the Media Center PC I've been building on the cheap (as possible). I didn't want to spend Alienware money on it. I ended up going with the silver, not the black. (If you've never seen Media Center, there's an interactive demo here.)

The case's blurb said:

Card reader slot and hidden front ports. Now you've got it MCE601 is in the middle class between MCE301 and MCE401 in terms of size and features. Not too big. Not too small.

Ah, yes, but I didn't measure. I measured height, width, no problem. But, I forgot depth. The thing is freaking 18.07" deep. That's deep. It's HUGE. It's 3 to 4 inches deeper than my stereo rack can take. Crap.

Now, before I turn you off on this case, let me say that's beautiful. Inside and out. Well made, has a VERY quiet Power Supply, and very sturdy drive rails.

Since I'm OEM'ing this myself, I had to setup the OS and drivers on my own. I got the MSDN Universal version of Windows Media Center 2005 on two ISO images and burned them.

TIP: You'll boot off the first CD like a standard Windows install, then you'll be prompted for the second disc. Then, towards the end you'll be prompted for what sounds like a third: "Please insert Windows XP Professional SP2." So, I went and got my SP2 CD, but it was rejected. Turns out this third prompt is asking for the first disk again. Ok, nice usability there. Or, I'm dense.

The case comes with a nice VFD Display, specifically the Hitachi that Omar loves so much. It shows status and details like you'd expect. I've got an article coming out soon about how to program to LCD Displays with .NET 2.0. I'll post a link when it's published.

TIP: You'll likely need a DVD Decoder, and not just any one. Apparently there's some voodoo involved an dyou need one that is compatible with Windows Media Player 10 and Windows XP Media Center. You can download the Windows XP Video Decoder Checkup Utility (God forbid they could just warn you at install or give you a decoder) to see the details. By the time my OS and Drivers install was done (two video cards, OEM DVD, Intel crap) I had three MPEG Decoders, so I figured I was in good shape. Heh. Wrong. All my decoders sucked per this util so I got the One True Decoder from NVidia. It works fantastically even though I've got two ATI cards in the box.

Getting the TV to work was maddening. I installed the drivers that came with the Sapphire Theatrix (ATI) that I put in. I picked up this card because it has a digital comb filter, and I must say it is considerably clearer than my other machine's Hauppauge WinTV 250.

When I went to "Watch TV" I got a gray screen of death - It's not a crash, that's what I call it when Media Center really sincerely WANTS to tell you what's wrong, but it's torn between providing you value and maintaining it's 10 foot interface. In this case, my Media Center choose to keep its distance. This of course didn't helpe me diagnose the problem. Installing new drivers from online and a half-dozen reboots solved the problem.

With the power of the Pentium 4 Processor and and Windows Media Center Edition 2005, I can reboot faster than ever!

All kidding aside, I've kept this machine fresh (no MS Office, just Open Office) and no shareware goo, and it's wicked fast. It can go from a cold black BIOs screen to a usable desktop in < 10 seconds. I figure it's the new Intel 925 board and DDR2 RAM, versus my main machines Intel 865 board and DDR RAM. Just can't beat the bandwidth.

WHAT I DID: My main PC has a 250 gig Firewire drive full of Music I've ripped, Video from Beyond TV and DVArchive. I had a few options. I could setup up the Media Center PC to talk to my Main PC's Firewire Drive over a Share. Or, I could move the drive over to the Media Center PC. But, I use that drive for VPCs and other stuff. I don't want to give it up. But, the MCE PC has a 300 Gig 7200 RPM Maxtor and room for 3 more SATA drives, so why not use it? I set up a scheduled job in SyncBack to move all my media over the MCE PC once a week. I get the benefits of a backup, complete access from the MCE PC without network dependancies on my Main PC, and I still maintain my Main PC as the Authoritative Source. I continue to back up monthly with an Iomega Rev Drive.

TIP: If you want to bulk delete all or some of the music from your Media Center database, remember that it's the same database that Windows Media Player uses. You can manage your database using the faster Windows Media Player interface, and your changes will be reflected in the Media Center 10-foot interface.

Windows Media Center Extender for Xbox

What a pheonomenal idea and what a crap implementation. This is so brilliant. An Xbox Disc that you drop in your game console that instantly "Remote Desktops" into your distant (in my case, upstairs in the spare bedroom because it was the only room big enough for this flippin' mainframe of a system) Media Center PC. You can listen to the Radio, Watch recorded TV, View Pictures and Slideshows (my favorite feature and a out-of-town-guest pleaser) as well as check out online content like Newsgator MCE and archived NPR shows. Mo and I listened to All Things Considered this evening, rather than watch ABC news per usual. Slick.

Anyway, back to why this sucks. Using a wired network and with the two machines on the same subnet, the Xbox and Media Center PC refused to see each other. I installed, reinstalled, deleted stuff, yada yada yada, and no luck.

TIP: If you're having trouble getting a Windows Media Center Extender for Xbox to recognize your MCE PC, you can restart the whole process by going into the Memory section of the Xbox dashboard and deleting the "Save Game" for Media Center. That's where the Xbox stores it's unique id that it uses to handshake with the MCE PC. On the MCE PC side, look in Start|Accessories|Media Center|Media Center Extender Manager to see and manage all the Extenders that your MCE PC knows about.

When I finally got them talking to each other, I was greeted with "XBox Live: Update Required" - but the message was coming from the Media Center desktop, not the way Xbox Live users usually see these kinds of messages. It didn't lead me anywhere, prompt me for anything or download anything.

TIP: The way you receive the XBox Media Center Extender Rollup 1 via Xbox Live is by clicking the tiny "Xbox" button on the bottom of your Extender remote. That will download the update. Now, here's the magic poo. When you reboot your Xbox you'll discover that it's changed it's internal schmutz and your Media Center PC thinks it's a totally different Xbox. You'll need to go through the whole handshaking process again. After you're done, go to the Extender Manager above and delete the "old" Xbox to remove it's Profile and User. You'll be left with a 'shadow user' called MCX2. If you customized the previous Extender User you'll lose all your settings. So, update immediately. MCX2 is the username that your Xbox is "Remote Desktop'ing" in with.

WAF (Wife Acceptance Factor)

I haven't yet received WAF Certification on any of this stuff, but here's where we are in conclusion:

  • Living Room
    • Sharp LCD
    • Comcast HDTV DVR with 2 Tuners - This is where we are primarily
    • Replay TV 4500 - Recording stuff of mild interest, wired ethernet
    • Xbox - We use the Xbox primarily for exercise using Yourself Fitness, typically in a PIP configuration while watching a 1 hour drama. One Law&Order = One Good Cardio Workout. Now we will use it for music via the MCE Extender.
    • "El Cheapo" Sony DVD/VCR Combo
    • Sony DTS Receiver and 5.1
  • Bedroom
    • Bookshelf Stereo -That's had a single Ray Charles CD in it for a least a year.
    • OmniFi DMS1 - Hooked into the Bookshelf's AUX with SimpleCenter running on the Main PC gives us music access in a room that didn't have it before. (NOTE TO SELF: Move SimpleCenter off the Main PC over to the Media Center and forget about it.)
  • Guest Bedroom
    • Small TV/VCR Combo - Never used, for Guests.
    • Refurb'ed $49 ReplayTV 4500 - Recording things like "Girlfriends" and "Eve." Paired with the ReplayTV downstairs to share content. Also hooked up to Poopli.com in order to get "Dead Like Me" and "Fat Actress"
    • The New Media Center PC - Running Headless, as it's too big to put in the Living Room and even if it did fit, I'm not willing to move what's there yet. I Remote Desktop into this from my Main PC and it works quite nicely. Windows MCE is very Remote Desktop-friendly IMHO. Also remoted into from the Xbox. (NOTE TO SELF: It's a bummer its headless. I need to figure out a way to get it into the Living Room, hooked up with a wireless keyboard and a DVI-to-HDMI converter to take advantage of the native resolution of the Sharp LCD.)
  • Computer Room
    • Main PC - My primary PC, where I'm typing now. Runs Poopli Updater that retrieves the list of recorded shows and uploads them to Poopli.com. Runs DVArchive which acts as a third "virtual" replay. Runs BeyondTV for watching shows while coding. Also the current Authoritative Source for Media via it's 250 Gig Firewire. That Drive is now backed up to REV as well as to "MEDIA," the creative name for the new MCE PC.

Currently the Wife is able to use everything in the Living Room via a single very-programmed One For All Kameleon 9660. Has anyone used a Logitech Harmony? It's task-based and stateful (discrete On and Off, etc), rather than function-based and macro-y.

Next stop...One Remote To Bind Them...

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

TinyOS - Blast from the Past

March 25, '05 Comments [2] Posted in XML
Sponsored By

Wow, I was submitting some sample code on GotDotNet today and stumbled on my TinyOS in C# from July of 2002. Nothing like reading 3 year old code you wrote to see how you've grown.

A tiny virtual CPU and OS written entirely in C#. The TinyOS simulates the scheduling, memory management (including paging and virtual memory) and other operations of theoretical Operating System. You’ll see many Framework classes and techniques in use including Regular Expressions, XML Serialization, generated Strongly Typed Collections, XML Comments and a generated Help file. You won’t get much useful work out of the TinyOS itself, but the techniques you’ll learn can be applied to real life. [GDN]

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Awesome - MSN Messenger Buddy List Size Doubled to 300

March 23, '05 Comments [3] Posted in XML
Sponsored By

Sweet. Add me back to your lists and I shall add you, those of you I've deleted to make room! ;)

Last night, we put the finishing touches on an upgrade to the server-side of MSN Messenger. The maximum size of a buddy list has been increased from 150 to 300. Enjoy. [From Dare]

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

"Check Junctions" - A small explorer add-in/context-menu for discovering NTFS reparse points.

March 23, '05 Comments [1] Posted in Programming
Sponsored By

Often when you're using NTFS Reparse Points (Soft Links or "Junctions"), it can be very confusing to figure out which directory is a Junction and which isn't. We use Junctions to make our builds cleaner. In this screen shot there's four junctions to four subsystems that this build is dependent on. This allow us to avoid the evil that is the Company-Wide Subst. "Everyone build on the Y: Drive, ok"? All the csproj's and sln's use relative paths. This little util, if you can call it that, is just a .REG file and .CMD, modelled on Omar's CleanSources, will launch out to a prompt with these instructions. Of course, if you're not using Junctions all over the place, this utility is useless to you. However, this "pattern" could inspire you to make your own rightclickcrap. Enjoy.

CheckJunction.zip

@echo off
cd /d %1
Title "Checking for Junctions..."
@echo Checking for Junctions...
dir %1 | find /i "<JUNCTION>" | more
pause

Checkjunction

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.