I’ve been playing with Home Theater PC software
for a couple years. I settled on Windows Media Center Edition as my
platform a few months back.
It isn’t the best, but it is the easiest. It works out of the box, and
has a great remote preconfigured. I got tired of fiddling, and wanted an
appliance that just worked. MCE discourages fiddling, because it isn’t as
configurable as other packages.
The one drawback for me in using MCE is that all my personal CDs are ripped as
iTunes AAC files. Actually, every HTPC front end I tried had this
drawback, so it wasn’t unique to MCE. Fortunately, MCE uses the media
library from Windows Media Player. Getting WMP to play AAC files is a
snap using the 3ivx codec.
The trouble begins when you want to see tag info. You won’t see any
artist, album or track info after you add the files to WMP’s
library. In fact, you may find your AAC files in the “Other
Media” ghetto… er, I mean node.
So here’s the fix I worked out: Remove all AAC (.m4a) files from your WMP
library. Apply the m4a.reg registry patch linked below. Add the AAC
files into your WMP library. At this point you should be ready to run my
little import app, but there’s a caveat.
If your music is on a network drive, you need to be sure that it is added to
iTunes using the UNC path. (e.g. \\computer\share) WMP will add the files
mapped this way even if you have the share mapped to a local drive. Since
I use the fully qualified file name as my means of relating the tracks in both
libraries, this gave me some trouble.
The program (iTunes2WMP.exe) included in the .zip file below doesn’t actually
enable WMP to read the tags in AAC files. It reads the relevant
information (artist, album, etc.) about a file out of the iTunes library, and
then writes it into the WMP library. The result is the same as if WMP had
read the tags directly.
I didn’t set out to write a program to do this. I tried two utilities
that I downloaded (from a forum that shall remain unnamed), and they both
sucked. Not only did they not work for me, but the code was embarrassing
to read. When I don’t know what I’m doing, I try to copy someone who
does. I can only assume that these people don’t realize that they don’t
know what they are doing.
I wrote this utility in C# 2.0 because I wanted to try out some of the features
of the new release. I can report that code snippets are a terrific
productivity boost in Visual Studio 2005, but the real super-duper feature for
2.0 is generics. I created a strongly typed dictionary with one line of
code, and I assure you that I did not know what I was doing when I
started. It’s just that easy. .NET generics are THE BOMB!
“Stone guaranteed to blow your mind” as James Taylor would say.
If you use this utility, I’d like to hear your comments. I don’t promise
to make any improvements. That’s why you have the source. I would
just like to know if others find it useful.
PS: The following files are provided without warranty, or assurance of
fitness for any purpose. They could melt your synapses, give you
bird flu or worse, crash your system. If they do, I’m not
responsible. Got it?
It appears that I am causing others to loose sleep. 🙂
Microsoft provides development
releases early and often, now. This is great because I get to see
what’s coming while it is being developed. This is part of
Microsoft’s drive toward transparancy, and it is a good thing.
The problem is that I don’t want to test these unstable releases on my
work PC because, you know, I, like, make my living using that
machine. As a result, I want to install them at home, where it
would be annoying if they broke something, but I could continue to pay
Seems simple, right? I just take the file home and install
it. Well, that’s the catch. I can’t just take the file
home, because it is often a DVD image file, and I don’t have a DVD
burner at work. (Incidently, I bought a dual layer burner for my
home PC, but have you seen the price of dual layer media?) Now
along comes Jason with a terrific solution. It’s called Free File Splitter,
and it is exactly what its name promises. It’s free and it
splits files. Not only that, but it provides a batch file to
re-assemble the original file once all the fragments are copied to the
hard drive. Sweet!
Last night, the kids and I visited a dog that was available for
adoption. Her name is Lady Theodora, but she responds to Teddy. We all
fell in love with her, and voted unanamously to make her part of our
family. She is hardly a puppy, but she is very well mannerd and
playful, which makes her a good match for the kids. She will join three
humans and one feline as the fifth resident of The Netcave.
I’ve long said that all programmers are lazy. There are
two kinds of lazy, though. Good lazy is when a
programmer has to do something twice, she stops to automate the
process, so she won’t be bothered by this rote task again. Bad
lazy is when a programmer uses “clipboard inheritance”, mindlessly copy
and pasting code, and not stepping back long enough to find a better
solution, much less the “best” solution.
This was brought to mind again by a post by Phillip Lensen (via Foxpro.catalyst):
I hadn’t considered the dumb part, but I do look for a drive to
constantly investigate and learn when evaluating a job candidate.
Phillip makes some interesting points.
I have used the Image Zoom
extension in Firefox for many months. This week I downloaded an
update using the friendly Firefox update feature. It was only
today that I “discovered” an exciting new feature. If I hover my
mouse over an image in Firefox and scroll the mouse wheel, the image
zooms in or out depending on the direction I scroll.
In which our hero becomes a shameless media whore:
Microsft’s approach is broad, said Alan Stevens, and leaves room for
other vendors. Stevens, a Visual Studio developer who helped co found
NTeam, an open-source alternative to VSTS, said “The best of breed
components was not the priority; it was the best of breed across the
whole development lifecycle. For example, they don’t have the best
source control or bug tracking, but they were not trying to. What they
are selling is the integration of the various pieces so there is no
Stevens pointed out that other tools used by Visual Studio
developers would require developers to switch contexts in order to
communicate programming progress. That puts extra overhead on already
beleaguered developers. VSTS integration, he said, “provides a kind of
automatic tracking so they don’t have to manually tell the tester when
[something is] complete.”
“With Team System, I check in the code and get a list of work
items. When that check item is resolved, it immediately e-mails the
tester and they can begin testing,” said Stevens.