Yet another book to read

Just received Test-Driven Development in Microsoft .NET, by James W. Newkirk and Alexei A. Vorontsov.  It goes along the premise of eXtreme Programming – start with the tests.  James and Alexei are members of the development team for NUnit (

Hope it’s a good read.

A first!

I used Windows Search today and it actually found the document I was looking for.

Really.  I’m not kidding!  I was floored.

Granted, I knew which directory the file was in, and there were only ASCII text files in the directory, but I didn’t know which file contained the phrase I was looking for.

Whammo!  Worked like it’s supposed to (but never has in the past).  I can’t believe I even gave it a try.

Things that go ‘howl’ in the night

Man, what time is it?  Since I’m no longer running my computer as Administrator the system clock doesn’t correct itself anymore.  Heh.  I’ve even removed the clock from the system tray because it’s always wrong.  I know that it’s late (or early) but how late (early)?  Ah, it’s only just after 1 AM.  I’ve been fiddling with my new Northwest Evening Blend wiki and I completely lost track of time.

A train passed by a minute ago.  (I live about a mile from the Columbia River.  There’s a train track that runs along the river.)  The train blew its horn.   A nearby coyote howled back.  Cool, and not so cool.  One of my cats was nearly eviscerated a couple of months ago by a coyote.  Not a pleasant event.  Nope.

The howl in the middle of the night also gave me chills for another reason.  At tonight’s (last night’s) Portland Nerd Dinner Chris said that Dawn of the Dead is a must see.  On par with 28 Days Later.  Haven’t seen the former; have seen the latter.  OK.  I admit I’m a scared little puppy.  Where’d I put my blankie?




What’s up with that?  I usually type CROUD – meaning a lot of people in one place.

I do a double-take, pop open Word (if I’m not already typing in it) so I can use its spell check feature, and change it to CROWD.  Even now it still looks wrong.

In the meantime, my train of thought goes out the window, crashing to the abyss below.

So unproductive.  Let’s get consistent on spelling, people!  Rise up and revolt!

This is nice


10:10 AM.  Warmth.  Sunshine.  Just a breath of a breeze.  Windows wide open.  Door wide open.  Temperature slowly climbing its way towards 70 degrees.  A good latte.  Jeans.  Barefoot.  Al Jarreau on the stereo.  Caught up on e-mail.  Birds chirping.  Almost caught up on RSS feeds.  Tussled hair.  DevDays a pleasant memory.  Wake Forest in the Sweet 16.  The second day of spring in Vancouver, Washington.

What a nice, relaxing morning.

XM satellite radio

I just returned from trip to Seattle.  The car I rented while I was there just happened to have XM Satellite Radio in it.  Cool!  A chance to see what the buzz is about.


One fun channel was “Cinemagic.”  I listened to it on the way to the airport this afternoon.  As I emerged from the parking garage in Bellevue and the radio found the satellite, I heard Samuel L. Jackson doing his Pulp Fiction thing.  God, what a great movie!  Just before his uber-cool lines about Ezekiel.  I’ve gotta go rent that movie tomorrow night.

It was so odd hearing sections of movies on the radio that way.

Kevin Spacey was next up, professing that he would “be whatever you want me to be” to his wife in American Beauty.  A song from the movie played, and was followed by Kevin’s first meeting with his daughter’s friend in the parking lot after the dance show.  Kevin has the ultimate set of geek / nerd / horny-teenage-kid lines.


Listening to them made me think about VOICES.  I don’t think mine is all that pleasant to listen to.  It’s certainly not a radio voice.  It doesn’t resonate well.

Listening to the actors, I realized a big reason why I like them.  It has nothing to do with what they look like.  It’s what they sound like.  It was about their voices.  The quality of their voices.  Tone and timbre.  Emotion.

I could sit back and listen to Tom Hanks do a voice over in any move (Apollo 13, Sleepless in Seattle).  Or Robin Williams (thinking of his soliloquy by the pond in Good Will Hunting.  Or Morgan Freeman providing narration in The Shawshank Redemption.

Kill the baby seal

One channel was very disturbing.  I don’t remember the entire channel name, but it ended with LM (where LM == Loud Music).

In a word: Shriek.  Yell.  Scream.  RAGE!!!!  (pick one, especially the last one.)

I couldn’t understand a thing the “singer” was screaming, but he was totally into it.  Driving distorted bass guitar.  Drums being pummeled.  Cymbals crashing.  And blind fury into the microphone.  I could hear the guy’s voice box ripping from his throat.

Like watching a bad car wreck… I couldn’t turn the channel.  I had to listen to more.  I could feel the rage building inside me.  Where’s my club?  I want to bash a baby seal.  NOW.  (well, that’s what I was thinking at the time.  I’m over it now.)

Yep.  That one was worth avoiding.  Whew.

The verdict

So am I going to buy it?

No, not yet, anyway.  I’d gladly pay the $10 per month (or whatever) for commercial-free music.  If I could pay on a month-by-month basis with no long-term commitment, that would be best.

But I don’t want to shell out the $200 (or whatever) for a special receiver.  Who knows if XM Satellite Radio is going to gain enough momentum to hang around?  I don’t want to own a cool collector’s item… just one more thing for the junk pile in the garage.

So the jury is still out.

Windows Forms Markup Language

From the Windows Forms site: Windows Forms Markup Language!  For the .NET Framework version 1.1 (as in: you can use it today).

I’m in the middle of an in-depth study of ASP.NET 2.0, but this is work a quick aside.  Going to download today!

Windows Forms Markup Language (WFML) provides an extensible mechanism to add a markup model on top of an existing .NET Framework object model.  WFMLs parsing rules can be summarized as “XML elements map to .NET Framework types and XML attributes map to Type properties (or events)”.  This sample includes a WFML parser that dynamically generates an object instance tree from an XML file in WFML format.