Ice Scream

Quite a few of the roads around Microsoft were sheets of ice around six PM tonight (my wife left work, moved about a hundred yards in half an hour, then simply re-parked in another garage and went back to her office).  It’s one of the clearest examples of the fact that high-average ability in a group doesn’t necessarily help in a crunch situation.  It doesn’t matter that nine-tenths of the folks on the road are dealing fine with the conditions — driving slowly, watching out for icy spots, staying out of intersections, braking carefully — it’s the ten percent who have no idea what they are doing that makes the mess.  It doesn’t take much to foul up something that is marginal.

It was like Martians landed, found these funny four-wheeled things, and decided to take them out for a spin. 

“Damn, Zodnok, what is that white stuff?”

“Ezz sllllipppparrrry!  Whatch az I agzellerate and turn this wheel thing.  Wheeee!”

“You forgot to call someone on your cell phone.  I think you have to do that, too.”

 “ello?  ‘ello?  Torlik!  Iz Zodnok, am driving!  Yez, zeez wheels are turning around az fazzzzt az I can mik them go, yet vee are ztill going sideways!”

I am looking forward to the sequel tomorrow morning, when the Martian drivers encounter black ice.

“Iz black vhat?  Ice?”

“Yeah.”

“Inv-vi-visible?”

“Yeah, pretty much.”

“Pool anudder one, hey?”

“No really.  You hit this stuff, you can’t see it, and you’re a goner.”

“Me theenk you lyring.  Zodnok drive into work, zoom down 40th as usual, and even wit diz ‘black eyes’ theenks can just skeeeeeeed right into usual parking spot.”  (eyetwitch)

I do hope the motorcyclist I saw leaving work amidst pea-size pellets of frozen rain made it home all right.

Key Wrods

More keywords that I keep mis-spelling.  As my editors improve (Word auto-corrects, my Emacs clone has a spell mode) my typing is going downhill.  But compilers are as picky as ever, so my recommendations to the standards committee are –

beak.  Kind of like break.  Maybe it just pecks at it and thinks about it, maybe it just does a couple of lines.

retrun.  Think of “The Shining” and pronounce this keyword with a kind of gravelly, throaty growl (“Redrum, Redrum”).  Retrun means we’re returning a value, but we don’t necessarily feel that good about it, and maybe something bad is going to happen that’s beyond our control.

nit.  A smaller int than usual.

singed.  What happens to a value after its sign bit catches fire and halts.

unsinged.  A variable that hasn’t been thrashed to heck yet.

flout.  My number is bigger than your number.

fore.  If I liked golf [I do, but I can’t abide golfers], this is probably where I’d rather be on bad days.

wsitch.  Someplace in Britain where it rains just as much as it does here.

dooble.  Oh, just do what I mean with this declaration; make it a number or something.

(Right, you can add these with #define in C / C++.  I keep wanting to keel-haul people who add their own keywords to the language this way . . . and C++ has enough barnacles on the bottom that it’s really not a nice trip).

Hello from beyond fyyff

“Wow.  What happened there?”

Don’t panic.  Everything is under control. 

I’ve had the FYYFF.COM domain for about eight years.  A few people know the history of that domain.  The problem is I have to explain the history to those that don’t know it, and it’s embarrassing.  Mom-wise embarrassing.  Techy-nerd in-joke embarrassing.

So DadHacker is a much better place to hold things like discussions about families, video games and other wholesome stuff.  Expect ranting of a caring, nurturing quality.  [Stop snickering].

I tried to go the MovableType 3.0 route in addition to moving house, but the move / upgrade process kept bombing (okay, fine, I write operating systems and stuff for a living, but when I’m at home I don’t really have the time or inclination flail around with SQL logins and Perl versions and search paths and so forth, it’s a pain in the expletive and I have better things to do.  Like wake toddlers up.  And put them to sleep.  And wake them up.  And…).  So far I like WordPress; it basically just worked.

Also, the amount of spam to fyyff has become simply unbelievable (thousands of messages a day in bounces, from time to time).

It is time to pack up and move.  Hi there.

Email to me remains the same, though I will probably decide otherwise and let the select few of you know.  Spammers can, of course, (unprintable unprintable unprintable) in their buttocks.

[Yeah, and the default WordPress template simply has to go…]

Lousy coppers

Police in New York pumped fifty bullets into a car full of guys who were leaving a bachelor party. Link. Twenty one of the bullets actually hit the car. (They killed the groom).

The cops should be fired because

(1) They fired without apparent provocation;
(2) It would appear they’re awfully bad at marksmanship. What the heck are we paying these guys for?

Zune

According to the Chicago Sun-Times, the Zune is a “complete, humiliating failure.” Link.

I beg to differ. I got one last week and have spent a fair amount of time with it. There are a couple of user interface glitches on the Zune itself (e.g., I wish i could control the volume of the currently playing item while I’m using the UI to look for more), but on the whole it’s a fine experience. I installed the Zune client software on three different machines with no problems at all. I had a bad couple of minutes trying to figure out exactly what it’s “library” and so forth was doing, but once I got a bunch of my existing MP3s installed it was easy to use. The FM radio interface is awesomely simple (it also hooks into the digital information being broadcast, with call letters and play information).

Haven’t used the wireless feature yet; it *would* be nice if it supported syncing to a local file share. I’m not sure what the battery life is yet (seems to be far less than the advertised 14 hours, but then again the battery may need some conditioning). I’d like to be able to record from the radio.

On the whole, I think the Sun-Times guy was having a bad day. The Zune isn’t an iPod, but it’s not terrible, either.

More books

Neil Gaiman’s Fragile Things. Short stories by someone who can actually write stories. Not going to say any more, it’s good.

Jerry Pournelle’s Faulkenberg’s Legion. Surprisingly readable (maybe most of what I can’t stand about the Pournelle / Niven collaborations are Niven). The tactics and personalities are certainly cardboard, but of thicker material than David Weber’s excruciatingly bad “Honor Harrington” pap. Pournelle is a frustrated historian and seems to have actually studied military history.

John Christopher’s Spirits trilogy is great pre-teen reading. I remember reading the middle book of his Tripods trilogy when I was visiting my grandparents in Idaho; my grandmother ran the small town library in Plummer and for a couple of weeks I got first crack at any newly-arrived titles that took my fancy. I read Rendezvous with Rama, another great book whose title I forget about gardens on the moon, more Heinlein, then a bunch of John Christopher’s stuff. Unfortunately, not all of the books were in (either she hadn’t ordered them, or they were out on loan during my visit), so I read Tripods in the order 2, 3 and 1. It was still damned good.

Anyway, about 35 years ago I read the first book in Christopher’s Spirits trilogy, The Prince in Waiting, and it ended on a bloody cliffhanger, and there weren’t any more. Since the books were printed in Britain I thought they were nearly unobtainable in the US (certainly the libraries I went to didn’t have them, neither Grandma’s or the one in my home town). A few weeks ago I found a full set in a used bookstore and picked them up. Literature this is not, but it’s still good fun, and a fast read, the written equivalent of comfort food.

Charles Stross has a new book out in his Laundry universe (Lovecraftian elder gods meet Unix geeks wielding Palm Pilots and microprocessor-powered pentagrams), The Jennifer Morgue, and it’s pretty good, too. It’s a very conscious send-up of James Bond, with humor and horror and some twists that I didn’t expect at all. Recommended. [I didn’t like the short story, Pimpf, probably because I’m in the stupid video game industry and I’m sick of the premise. Still, if you want a hackneyed premise propped up and made palatable, Stross is your guy. Kinder words were never… awrk!]

Miscellany: A great book on manufacturing processes (from 1945) joins the shelf next to the textbooks on coal mining, welding and nuclear power plant engineering. Fascinating stuff (like how to make a flat surface if all you’ve got are some suspect roundish surfaces, how gears are cut, and ever wondered how they make wood screws?)

ps18k

22K PS3 systems on eBay yesterday. 18K today. That’s something like 10% of the available systems (roughly guessing a 200K unit launch), not including the inevitable scams and “box” systems (where all you get is the cardboard).

Keep repeating that it is good to have competition it is good to have competition…

Pot, meet kettle

Alberto Gonzales on critics of the administration’s security policies:

“But this view is shortsighted,” he said. “Its definition of freedom — one utterly divorced from civic responsibility — is superficial and is itself a grave threat to the liberty and security of the American people.”

Right back at you, pal.

Sony guts

Gamasutra has another “here’s a neat code snippet” article. Normally I enjoy these, but as I dug into this one I found myself getting more and more worried. Article

Code is here.

1. GetID assumes the linker does not collapse template functions that have the same binary rep (i.e., GetID != GetID).
2. GetID truncates function pointers to ‘unsigned int’ (might be okay).
3. Heaven help you if you have a name string less than three characters long.
4. The “Hash table” is really a linear search.
5. Doesn’t handle collisions, just refuses to add (to be fair, the article mentions this).
6. Not thread safe, doesn’t even try. (Why even bother with something like this if it’s not thread safe?)
7. Some bits of the code think that the string can be null, other bits don’t. Which do you think are correct?

Stylistically, apparently the author doesn’t think that sizeof works on an array, left some debug code in (FwHashedString?), and chose a plethora of various return results that look like a nightmare to deal with on the caller’s side of things.