Nerdblog.com

5/27/2006

stereopsis : kampachi

I posted a little utility to mirror Apache index pages (recursively, with dates) here:

stereopsis : kampachi

Windows Media Photo

Windows Media Photo was announced last week. I'm convinced that a new proprietary file format is a really awful idea.

As a prelude, let's review what has happened with video formats:
  • Patent holders for MPEG-2 and MPEG-4 formed MPEG-LA, which is an organization to aggregate fees to the multitudes of patent-holders for these technologies.
  • For an example of MPEG-4 licensing terms, see this PDF. You can pay up to $1M a year for your organization to provide MPEG-4 content or encoders/decoders to customers.
  • After a huge amount of effort and marketing and licensing and legal wrangling, all this hassle means that MPEG-4 is not really a practical format for personal content. Yes, there's Quicktime, DivX, and XViD (which is open-source), but generally you can't expect the recipient of a video to be able to decode it more than 1/3 the time. This is the reality of sharing MPEG-4 today.
  • Of course, applications where there's service-level vertical integration are able to use MPEG-4 technologies today: satellite, iTunes Video, etc.
  • Microsoft was able to slip WMV into this market (because of this stupendous lack of a great open standard), and people generally thought it was fine. At least WMV delivery works some of the time now.
But I'm just getting warmed up...delivery formats are easy. They only require that software is popular at a given time. Flash is a delivery format, and it works great.

Archival is harder. Archival means that a format will be available when you want to see it in the future. This might be 80 years from now, or it might be two years in the future. The dominant platform might be a bio-computer running a new OS that has nothing at all to do with Windows.

So let's review what happened with JPEG:
  • Tom Lane's Independent JPEG Group and their free implementation made JPEG a de-facto standard. I understand the standards process, but it is not responsible for the success of a format. I believe it is almost solely Tom's implementation that has made JPEG successful.
  • The IJG JPEG implementation compiles to about 30KB of code, so it can be distributed in almost any embedded device or application, and it's fast, so it can decode and encode quickly almost anywhere.
But despite these differences, video (and audio) and photos are apples and oranges today.

Why? MPEG-4 is a delivery format, and it's not designed as an archival format at all. The licensing terms are per-year, and a majority of the licensing language concerns broadcasters. The situation is similar with audio formats - who cares how compressed your audio is, when some audio engineer has an uncompressed AIFF or WAV file of the data back in the studio?

The same rules do not apply (and they must not apply) to people's personal photos. If you want to be able to view your photos in digital form in 80 years, the only reasonable way to do it is to use a format that is open, with freely available implementations, and without silly licensing terms.

I'm a commercial software developer, and you won't hear me say that often. But in this case, formats really have to be kept alive, and the stakes are too high otherwise.

Don't go encoding your photos in a proprietary image format, and especially don't archive them that way. You will very simply regret it in the future.

5/22/2006

Free AMD profiler

What a good thing for AMD to do:
AMD CodeAnalyst™ Performance Analyzer for Windows®

One good way to have fast code on your platform is to help developers write fast code for it. I have to pay for vTune (which explains why I don't have it), and I don't for AMD's profiler. Nice.

And the software kinda rocks - no callgraph feature (which is kinda important), but everything else is pretty solid.

5/21/2006

mbox2 adventures

I've had a secret hope for ten years that somehow my computer & music interests will collide in a spectacular way. I mean, I'd settle for...work at all, even in a functional, boring way. But instead, the collisions continue to be just no fun at all.

Even the basics confound me--plugging in keyboards or sequencers to my computer invariably makes something go wrong. It seems that every music device I've plugged in over the past ten years has crashed (usually the whole machine). Or I've bought software just before an OS upgrade, whereupon it immediately becomes obselete. Or it had such an awful UI that I couldn't possibly use it while trying to write music. Or even, y'know, Apple bought the company and told us PC users to get lost.

So it was in this great tradition that my very beloved Echo Mia card started locking up in my new machine (a dual-core Athlon x2, if you care). It was one of the few pieces of audio gear that had worked, and all the time--I'd written all kinds of sound capture code on DirectSound (which worked!), had a bunch of fun with the virtual fader features, and even done a bit of desktop recording with it.

The world's gotten somewhat nicer since I last shopped for computer music hardware. Now everything's available in a USB/Firewire outboard configuration, and that's pretty cool - isolation from the computer case without weirdo connectors and power bricks. I drove across town to Guitar Center to see if they had any of the later-model boxes that I could buy.

I was thinking about one of the $200-ish M-Audio boxes (the Fast Track Pro or the MobilePre). Specs sounded good enough and, well, I needed something.

Enter the mbox2

Spent some time talking to a sales guy there, who immediately started telling me about Digidesign's mbox2 - the newest, coolest thing, and it would do everything I want and it had Protools too. Bit more than I wanted to spend - about $450 - but learning Protools almost sounded useful, like learning Photoshop was. They didn't have any of the low-end M Audio boxes there anyway.

I took the mbox2 home.

Plugged it in.

Waited 5 seconds.

Blue Screen of Death.

Huh? I didn't even install a driver! The machine (which has never ever ever bluescreened, ever) just exploded in 5 seconds.

Rebooted.

Blue Screen.

So I unplugged the box. By now I was pretty upset, already.

The crash had happened in "usbaudio.sys" - I had just managed to read that after the screen flashed it up the third time.

I rebooted into safe mode, expunged all INF files referring to usbaudio, and yanked it out of the drivers directory. Rebooted.

Now, I managed to get the thing installed, not many hitches. Except, the copy protection. The PACE software that Protools uses is not stable on XP SP2. You gotta download new copy protection. It's kind of like putting on your own noose somehow.

So, first test: let's see how the DACs sound. Fired up iTunes, sounds like it's underwater, complete mess. Jump online some more, find out you have to enable WAV compatibility mode, do that, and it works. Seems like we're headed in a good direction.

But once iTunes is playing back sound, nothing else in the system can. For those of you who haven't been around, this simultaneous-playback feature was a nice addition to Windows 98. Meaning, there haven't been consumer cards that limit you to one app in 8 years. But this $500 one? Yep, it does.

But it sounds decent, so far.

Ok, so time to get running. I plugged in a keyboard, turned up the fader.

Nothing.

What I hadn't realized until now (because I have to say, of the exuberance of my Guitar Center sales guy) is that this hardware isn't really at all a general-purpose sound device. It's more, as we will learn, a big dongle for Protools. Has some nice converters and preamps, sounds good, but it doesn't really work so well otherwise.

And -- monitoring can't be done just using the hardware. The only way I found to do it was to boot up Protools (and yes, you have to *close* iTunes and the Quicktime movie idling in your browser to do it), and then make a track and monitor it.

So now everything works fine. You've got a dedicated audio workstation, running Protools all the time. You kinda wanted to be able to edit video too? Nope. Listen to music? Nope.

But, uh, I paid a lot of money 16 years ago to get a mixer, so I didn't have to use a preamp that required me to switch channels all the time. And Microsoft (even Microsoft) added mixing to Windows 8 years ago. And now, I've just paid $500 for, um, the privilege of a big dongle.

And you know, those Mic preamps have a great reputation, and I'm sure they sound good, but I'm clearly not the customer for this stuff. I mean, if I accidentally play a Quicktime movie in my browser, the rest of my system stops making sound.

So now the reality starts dawning - the words "WDM compatible" on the box (which to everyone else in this industry means Win98-era drivers) really doesn't mean that. Digidesign bends the truth a bit, and it's kind of a hacked MME driver that works like Windows 3.1. And all the nice software mixing on my $200 Echo is nowhere to be found here. And DirectSound (which I've used to hack together a dozen sound capture demos) - that would be a luxury far too fine. Not for my $5 on-chip Realtek, or my Nforce, no they all have drivers that work. But this $500 job, ASIO is all you really get. Cubase or Protools, your pick.

Now I started stressing. Guitar Center has a policy of not taking back "software" because they expect you'll go home, install it, and return it. This box I've got, well, it's half and half, and so I build up a thousand arguments in my head ("It crashed my system in two different ways") and ("The sales guys told me it would do all these things I do now") and ("Federal law says implied warranty of fitness...oh whatever").

I drove across town to Guitar Center again, and pleaded my case. The guy said, oh since you got this yesterday, we'll be nice and take it back. But it really should work perfectly: I have one and it does for me! And I was ready, all my arguments loaded, and I started -- "But it doesn't..." and Lorna, standing next to me, just tapped my foot.

That tap that says, you know, this guy is being good to you, and you should really shut up right now and get your refund.

It dawned on me that he can think this device is wonderful, and I'll think it's awful, and I'll still have my $450, and I left it...at that.

5/06/2006

Credit card cloning

BBC Inside Out - Credit card cloning

Recently I was contacted by my bank, that someone has been "testing" my card at gas stations around Houston - apparently credit card thieves will verify a card at the pump just to see if it's still valid. They've been doing that about 5 times/day for the last few days, with my card, at gas stations I don't even go to. This is an immediate red flag for them, so they had shut off my VISA entirely.

But, I still have my card, in my wallet. I'm sure of that, since it was just denied when I tried to pay for breakfast this morning.

It seems that "skimming" (or credit card cloning) is real and quite easy. Does anyone know of a card with a smart chip or other system that prevents this from happening, or at least makes it harder to do?