A Blissful Installation

I’ve experienced software installer bliss. Here’s the scenario:  I went out and downloaded an application so I could test its compatibility for a dev.  I ran the installer, which popped up a UAC dialog.  I confirmed the install, and then got an incoming e-mail.  I read the e-mail which directed me to a webpage where I filled…


The ADD Stove

As you well know, people with peculiar quirks can have special equipment needs.  There are plenty of examples such as ramps for those with wheelchairs, closed caption for the hard of hearing, and reality TV for the thinking impaired.  Those of us with the Attention Deficit trait have the ADD Stove. The ADD Stove comes…


You can’t hear DC

Recently one of my team members found a bug in some old code while doing a code review.  Our application was generating a sine wave to be rendered by the audio hardware.  The sample format isn’t important except to note that it is an unsigned value between 0 and MAX = 2*FS_AMP.  The bug is…


The Rules of Code Optimization

Steve Rowe recently talks about who you’re really writing for when you write code.  The argument he makes is essentially that your primary audience is not the compiler, but rather your primary audience is other developers.  This is something I believe strongly. Steve also makes a point about premature optimization, and how it affects readability. …


Youtube on the Loudness War

Larry pointed me to a really cool video that graphically and audibly demonstrates the effect of the Loudness War, and what happens to samples under excessive clipping. http://createdigitalmusic.com/2007/05/16/loudness-war-music-over-compression-demonstrated-on-youtube/ The createdigitalmusic link also gives a pretty good synopsis on the loudness war from the perspective of the production industry.


Tweaking Legacy Installers

Last time I talked about legacy applications, I hinted at a hole in the UAC model that could be exploited by a social engineering attack.  The issue lies in the “installers” category.  Because it’s a legacy app and doesn’t have a manifest, Windows doesn’t have any way of knowing whether an installer actually needs elevation…


Categories of Legacy Applications

If you’ve used Vista, you’ve probably been exposed to the UAC dialog.  It’s the security dialog that pops up when the screen goes gray, and asks you permission to perform a task which requires admin-level elevation.  The idea behind it is that once programs are written for Vista (with UAC in mind), they’ll sort themselves…


More posts eventually!

It’s that time of year, it seems.  I was down with the flu last week, and I’m trying desperately to catch up this week.  I promise I’ll get more posts up soon.  I’m doing some WASAPI playback library stuff right now and I’m just dying to do a couple of articles about the new Vista…


Digital Audio: Aliasing

Sampling a continuous waveform into discrete digital samples results in lost information.  Discrete samples can only tell what the wave is doing at periodic instants in time, and not what’s happening between them.  The continuous sampled wave could be doing anything between samples.  We simply don’t know.  The problem here is that when we want…


Clipping in popular music

Aside from the distortion artifacts, one of the biggest problems that results from clipping is a loss of dynamic range.  Remember that the dynamic range of a signal is effectively the difference between the maximum output level and the noise floor.  When you clip a waveform, you lower the maximum sample value, which lowers the output level and…