February 5, 2009

It’s Better Than Bad, It’s Good

Filed under: awesome,digital,documentation,hate,interfaces,lunacy,vendetta — mhoye @ 3:19 pm

A Valve

This is a plea.

13:57 < mhoye> My kingdom for an error message that means something.
13:59 < mhoye> Fuck you, error 1053.
14:00 < gnomon> The googles, they do nothing?
14:03 < mhoye> The googles show me everything.
14:05 < gnomon> The proposed fix in Microsoft Knowledge Base article # 839174 : unhelpful?
14:06 < mhoye> Every panicked, incomprehending response, every ignorant superstition, every pointless exercise and cat-swinging, incense-burning ceremony ever conducted by every nervous, skittish sysadmin ever written down.
14:09 < mhoye> The googles show me that the people whose hands are on the levers that control of the engines of the world have never stopped being afraid of the dark.
14:09 < mhoye> I do not want to see the world through the googles anymore.
14:10 < mhoye> When I look through them, the fire is gone, the people are gone, even the cave is gone, and only the shadows are left.
14:11 < mhoye> And the shadows feel a cold wind, and huddle together in fear.
14:12 < mhoye> "Results 1 - 10 of about 248,000 for Error ID: 1053. (0.24 seconds)"

I spend a lot of time looking at computer logs. I filter them, I aggregate them, I read them and count them and they whisper to me, telling me remarkable things. But never anything straightforward, never anything simple – I stalk that wilderness like a medicine-man, half naked and half mad, casting dried bones to the ground and scrying the past and future from the curious shapes they leave in the mud. But the machines whisper to me and I see everything; my users pass wide-eyed and incomprehending, claiming I speak only in tongues, though some scant few among them know precisely what I mean when I say that using BitTorrent at the office will cost them their jobs.

All this would be a lot easier if my logs weren’t a pit full of cryptic lies.

Error logs are a chance for programmers to speak to sysadmins directly, to tell them how to best care for and tend to their software, an opportunity that’s being missed millions of times every second. My logs are full of errors that are not errors, failures codes that denote no failure, critical errors, mild warnings and the occasional success described by identical numbers and a few spare bytes. Most of them are irrelevant, a different most are unintelligible, a large fraction are completely meaningless and there is no way to separate important from not, actionable from not, even real from not.

And let’s take as a given that in the absence of real, reliable information people just make stuff up.

I’ve been cultivating a theory for some time now that part of the problem is that the people who’ve created those error messages don’t have answers to those questions either. Something’s wrong, and they don’t understand what it could be. So, throw an error with a number and don’t waste time on it; cover it up and move on. Then it ships and there’s no going back, and now when things start to go sideways the only information I have is that something didn’t quite work the way it was described on page 1053 of a spec document I’ll never see.

I expect this kind of noise when logging is cranked up to debug, but down here at street level, I don’t want to hear about the complex intricacies of hydrodynamics and structural engineering, I just need to know that the bridge is out. An arrow pointing to the next bridge would be nice, too. This has been the right way to handle user-facing error messages for decades, but it’s somehow never made its way under the hood. “This is what is wrong, and this is where you can get more information.” This problem is real, this problem is transient, this problem is urgent. That thing is not really a problem, I’ll just keep quiet about it until you ask.

Programmers, I want to be confident that when my logs say “error”, that means that something is actually, functionally wrong, and some small guidance into what can be done to remedy it. It’s not asking for much, I think. As opposed to this could-be-anything, could-be-nothing nonsense I have to deal with now, which is roughly like sending the boy who cried wolf out to the flock with two thousand of his friends, yelling about whatever random animal crosses their minds. Sheep! Pigeon! Wolf! Mouse! Tyrannosaur! And now everyone back in the village has to decide if enough of them are crying wolf that they really mean it, or if it’s just less trouble to mop up the carnage afterwards than to try and figure that out.

February 2, 2009

Song Smithing

Filed under: awesome,fail,interfaces,music,toys — mhoye @ 5:43 pm

Microsoft makes this thing called “Songsmith”, which lets you sing into your microphone and, based on some hideous internal logic, will produce backing tracks for your vocal stylings. So some people have done what any rational person would do with a tool like that available, and take the vocal tracks from existing and often well-loved songs and feed them into it just to see what would happen.

The results are… they’re more than criminal. They are mind-rending, a landscape of crumpled bodies and pockmarked walls littering the sandy courtyard of some spiritual Hague. Behold the Songsmith versions of:

…among many, many others.

To precisely nobody’s surprise, Oasis’ Synthetic Wonderwall, Britney Spear’s Toxic Flamenco and Michael Jackson’s Set-Electrofunks-To-Kill Beat It are substantial improvements over the originals. And amusingly (and tellingly) enough, A-Ha’s “Take On Me” and Beyonce’s “Single Ladies” are almost indistinguishable from the originals.

Which might be the real value of Songsmith. If you put a song through it and nothing happens, that’s valuable information.

« Newer Posts

Powered by WordPress