She said yes!

I would usually never bring any personal matters onto a professional blog, but in this case, I want to scream from the hills. On Christmas morning, during the unwrapping of gifts, my girlfriend Lisa became my fiancée. I’m a happy man.


My program is the most important thing on your system, same as all the others.

Raymond had a really good post yesterday about programs that grab your attention inappropriately.  I recommend reading it.  The comments have some good examples of programs, mostly updaters, that take too many liberties.  Of course, I completely agree that popping something up in my face completely unrelated to the task I’m performing is among the most annoying…


If it doesn’t just work, then it doesn’t work.

I’m passionate about usability, even to the point that my co-workers accuse me of whining.  I can’t really help it.  I have to applaud products and features that streamline a task, are intuitive, and fit well into the workflow.  And when a feature unnecessarily complicates the task, I have to call it out.  Poor usability goes…


Feature request for the compiler team

I want to preface this by saying that the MS compiler team have worked wonders in improving developer productivity over the years, and can’t be thanked enough for turning the C++ language into an enterprise quality platform that has lasted more than a decade. That said, “C2259: ‘CFoo’ : cannot instantiate abstract class” is probably one…


The difference between measuring DR and THD+N

I’ve talked here before about how noise and distortion are very similar concepts with very different causes.  Noise is unwanted artifacts independent of the signal often caused by physical processes outside of a device.  Distortion is unwanted artifacts directly correlated with the signal usually caused by components inside of the device.  When taking measurements of these artifacts, what we aim…


Audio Fidelity: Output Level

Output level is one of the simplest fidelity metrics to understand, but don’t take that to mean it’s not important.  There are several occasions where you want to know the maximum, loudest value that a signal can get.  On the digital side, that’s pretty easy.  A full-scale digital signal is a waveform (usually a sine wave) which…


And for my encore… Sleep.

As you’ve almost certainly heard by now, we’ve finished.  Windows Vista has shipped, and our mantle has passed on to the manufacturers, who now have a little over two months to stuff a hundred million DVDs into boxes and put them onto store shelves everywhere. For those of you outside the company, this date really…


Honesty as a code metric

Of all of the programmers I’ve worked with over the years, I can name three who really stick out as the best.  These people have earned my respect, and I will always listen to their opinions, even when I think they’re completely off their rockers.  I currently have the honor of working with two of…


Audio Fidelity: Latency

Relativity theorizes that there is no such thing as simultaneity between cause and effect.  Effect happens after cause.  All processes take a nonzero amount of time to complete.  This delay has a name (of course).  It’s called latency.  In audio, latency (or filter latency) is the amount of time between a change in signal on…


If you assume your users are criminals, they will be.

A friend recently purchased for me a copy of a game, let’s call it “Society III”, that he knew I’d like.  I had been an avid player of Society and Society II, and Amazon was having a $9.95 special.  The game arrived in a standard manufacturer box, with a stamped official-looking CD.  It’s a legit…