in honor of comrade petrov

Posted by s.f. on September 26, 2008

As Charlie Stross has noted Stanislav Petrov bent the rules and prevented a nuclear exchange at the nadir of the Cold War 25 years ago today. He ended up losing his job and pension over it, and still doesn’t consider himself a hero.


Two years ago, I was eagerly awaiting DEFCON to have fun destroying the world with other people online. After viewing a gameplay sample on YouTube, I idly clicked on a related-video, which happened to be the attack scene from Threads. I followed that up with a chaser of a music video using a Yo La Tengo cover of Sun Ra’s “Nuclear War”.
I got maybe three hours of sleep that night, and had shivering nightmares during all three of them. I haven’t played DEFCON or even looked at it since.


I’ve never been sure if it was revulsion over what it would actually be like, or repressed childhood memories from listening to adults in the early eighties. But along with Charlie and the rest, I’m raising a glass to Comrade Petrov. How about you?

the latest flash game site

Posted by s.f. on September 17, 2008

WAR Defense

It’s got a nice “lobby room” soundtrack playing, a slick “killer robot arm” that simulates tracking on the reader, menus about the latest weapons and events in the game and–
oh, wait: it’s a serious website, intended to fill “the coming need of defenses against autonomous military robots”.

The most tantalizing parts are the “Tools” and “Services” menus, which “require authorization with your key card for access”. Yes, that ubiquitous keycard we all carry, savior of heroes like Solid Snake and..wait, what?

Ooh, I see. Started by a teenage dot-com billionaire, responsible for such amazing innovative sites such as “tracking your own personal timeline”, “environmentally-green plumbers”, and the “post over IP protocol”(enabling one to send snailmail..over the INTERNET).
Truly another excellent addition to the pantheon.

(Found via El Reg, of course)

Builder, indentation, and namespaces

Posted by s.f. on September 04, 2008

Builder is a neat piece of kit but, like most sane libraries, wasn’t designed around the brain-damage that is Business-dialect XML(chock full of custom namespaces and tags devoted solely to attributes).

Builder’s docs seem to imply that a namespaced tag always needs to be in block form:

xml.bqcm :UselessMetadata {|n| n<< "flue"}

or

xml.bqcm :UselessMetadata do xml.text!("flue") end

But you’ll end up with wonky indenting because Builder is sensibly expecting that you should take care of the whitespace yourself when using this form:

<bqcm:UselessMetadata>
flue
</bqcm:UselessMetadata>

The clean way to do it is giving the symbol as the first argument:

xml.bqcm(:UselessMetadata, "flue")

which provides:

<bqcm:UselessMetadata>flue</bqcm:UselessMetadata>

EDIT(2:18pm)
“But what if I have attributes AND a simple text value?”
Just make sure the attributes are sent in an explicit hash as the second parameter:

xml.bqcm(:UselessMetadata, {:QuestionableAttribute=>"chimney"}, "flue")

“I still want to send my text like I was doing, and I want proper indenting NOW NOW NOW”
Fair enough:


xml.bqcm :UselessMetadata do
xml.__send__ :_indent
xml.text!("flue")
xml.__send__ :_newline
end