Songs I Wish I’d Written

Maybe I feel too free to post non-technical content on the weekends. 🙂

As a not-particularly-talented musician (I play a little mandolin and even less guitar), I’m no stranger to feelings of inspiration and sublime awe at particularly gifted musicians as they do their thing on stage or on MP3. I can sit and listen to Jimmi or to SRV or to Chris Thile of Nickel Creek for hours and hours and never get tired of listening to them for their virtuosity and innovation on their instruments.

But the thing that fewer people cop to is a feeling of awe at the “right song”. I’m not really talking about classical music here – I love classical music, but it is so complex and subtle that the feelings it inspires in me are, in a sense, beyond those that I experience when I hear a good song (i.e. a few minutes long and written in the last century). It’s a unique feeling when I stumble on exactly the right song – they’re not the songs that I would expect to connect with usually – but I feel like I can relate to it so much that I wish I had written it. I don’t know how else to explain it – these songs just click with my personality in a weirdly synergistic way.

The songs that do this are all over the board – Cherub Rock by Smashing Pumpkins is one of them, as is A Day In The Life by the Beatles, Nothing But Flowers by The Talking Heads, and (oddly?) Happier by Guster. A couple of songs in Rent fall into this category, like One Thousand Kisses and Living In America. But the far-and-away winner in the category of Most Songs I Wish I’d Written is Bob Dylan. The one that popped up on my mp3 player tonight was Tangled Up And Blue – one of the greatest.

I wonder how often this phenomenon – “I wish I had written that,” or its cousin for the more talented among us, “I should have written that” – happens. For people who can/do write music, I would think it would be the beginning of creative inspiration; for the rest of us (or me, at least), it is just a feeling of frustrated amazement.


One of the few things that I dislike about my PowerBook is common to all laptops that I know of: non-ergonomic keyboards. This laptop has a fine keyboard overall – one of the best I’ve used – but it uses the traditional square-key, rectangle, wrist-destroying layout that most traditional keyboards use. I’m already at the point that my wrists and fingers start hurting after coding for an extended period of time, so I try to use an external natural keyboard when I can. But darn, my laptop is sooo convenient, I just can’t bring myself to haul around a big old keyboard with it when I’m not at my desk. So I wind up spending a lot of time typing directly on the laptop.

I just looked at Microsoft’s new Natural® Ergonomic Keyboard 4000, and I want one. Notice how you can tilt the whole thing down and away from you, creating a much more comfortable wrist bend. Incidentally, it, like all of the other Microsoft hardware I’ve bought recently, supports Macintosh very well. Since I use my Mac as often as my Windows boxes, I appreciate that.

Anyway, I just wish there were a reasonable laptop manufacturer out there that would somehow figure out how to build a split, downward-tilted keyboard into a laptop. I’d even deal with a bigger/heaver laptop in exchange for a more comfortable keyboard. My guess is that I won’t get my wish anytime soon.

More On Web 2.0, Ayn Rand, And A Bit With A Dog. That’s What People Want.

No, no, not “moron” Web 2.0, “more on” Web 2.0. Gee, it’s like you were trying to mis-read me on purpose. Really!

I’ve read several blog posts in the past week that echo my confusion regarding Web 2.0. It seems as though I’m not the only one whose bullshit detector went off. Now Joel Spolsky has a hilarious rant up on his blog about the same topic.

Now, if only I could get him to quit griping about one of my favorite groups, Creative Commons. (In fairness, it was a minor, offhand gripe.) I just got home from Barnes & Noble, where I bought the “centennial” edition of Ayn Rand’s Atlas Shrugged. I haven’t really thought about this book since high school, aside from some conversations with friends at work, and I thought it’d be a good time to see how my perspective has changed in the meantime. It’s not really centennial, in the sense that the book was published in 1957, not 1905, which is when Rand was born. But it’s as nice of a paperback edition as you can reasonably ask for, so it is forgiven for being misleadingly labeled.

Political Rant Follows; Read At Your Own Risk

Then, I realized that I can get the entire Harvard Classics and Shelf of Fiction, all 71 books’ worth, for free – they’re in the public domain. Then I thought about my favorite time-sink, Wikipedia, which has tons of content from the 1911 Encyclopedia Britannica, all in the public domain. On the flip side, the way current copyright law is headed, my children’s children won’t have access to a much larger public domain than I have access to now, and Rand’s books probably still won’t be on the list.

As I’ve said before, I make my money with copyright, but at the same time, I happily support organizations such as Creative Commons that work to keep the associated policies under control.

And now, for the bit with a dog

I remember how nobody thought the movie Shakespeare in Love (1998) deserved to win the Academy Award for Best Picture. I don’t really have an opinion on that point, but as I was reading my latest Shakespeare bio (Will in the World), I was repeatedly impressed with some of the historical bits the movie got right. They most certainly took a ton of creative license regarding the main storyline, but a lot of the details were represented well. Don’t take the film too seriously, but it’s clearly not the junk that a lot of people were calling it at the time. Plus, it has a bit with a dog in it.

1394 Debugging: Use A Reliable 1394 (Firewire) Card

Several posts to the WinDBG list recently have pointed out the fact that 1394 debugging can be flaky with the wrong hardware. If you’re having any sort of flaky experience with 1394 debugging, the first thing to do is to get a reasonable 1394 card. The kind folks at OSR have a 1394 card for sale in their store that everyone agrees works well with 1394. I can’t provide a direct link because their website seems to be smarter than I am at this hour – I am unable to find a direct link that works. They list it for US $29, which is a bargain at twice the price if you’re currently putting up with crummy 1394 debugging.


I ran PreFAST on coverage 0.1 and wound up with a strange size_t redefinition problem. I mailed NTDEV to see if anyone had heard of it, and Doron Holan said that one of the dev owners said that PreFAST isn’t ready for prime time on AMD64. At least that’s true as of PreFAST 2.1, which is what’s in the 5112 WDK.

The solution, of course, is to build your code as 32-bit and test it that way. This should be reasonably easy to do; the worst-case scenario is #ifdef’ing out the 64-bit parts if need be. It just so happens that DbgEng code is directly portable between x64 and x86, as long as you don’t do anything dumb, so this didn’t turn out to be a problem for me at all.

And, I managed to find a new bug when I built it under 5112 (the released version is built with 3790.1830) – and in general, I’ve noticed that the PreFAST in the WDK finds many more bugs (mostly true positives) than the previous versions of the tool.

What a great tool.

coverage 0.1: A Simple Code Coverage Tool

Well, I’ve burned the last couple of evenings on a code coverage tool that is now a working proof-of-concept. I had some trouble finding docs for DbgEng, and I had even more trouble finding an actual (free) code coverage tool, so I’m going to post this very early development build of the tool here, in case anyone else is interested. Feedback and suggestions are much appreciated.

Download coverage v0.1

There is a README in the package with more details. Source code is included, as are x86 and x64 binaries. I’ve placed it in the public domain, so feel free to experiment.

Next stop: turning it into a kd extension so that I can use it on my drivers. Shouldn’t be too difficult.

Server Weirdness

The server that hosts my blog is having a bit of a rough morning; it’s being worked on, so it should be back to normal soon.