Angry Protocols

“That’s an interesting problem. I think it’s time for . . . an ANGRY PROTOCOL!”

“Angry protocol?”

“You know, like a normal protocol, but it’s got knuckle-busters and a ripped leather jacket and biker buddies, and it doesn’t have error conditions, it TERMINATES. Port numbers have to be pried from its cold, dead fingers, and if you don’t have a couple dozen cores and eight gig of RAM, you’re just wasting its time. And you don’t want to waste its time, right?”

“Okay. Well, we just want to transfer some files over –”

“I think it’s definitely time for . . . a MEAN BASTARD SON OF A BITCH PROTOCOL STANDARD!”

“You’re at it again.”

“No really. Most standards are full of weasel words, like SHALL NOT (which means MAYBE) and MUST (which also means MAYBE) and REQUIRED TO (which means MAYBE but you’re supposed to feel a little guilty) and MAY (which means DO SOMETHING FUCKED UP AND RANDOM).”

“Everybody knows /that/ stuff. It’s standards 101. But all we –”

“So a Mean Bastard Son-of-a-Bitch Standard is one that you don’t DARE ignore. It’s written with language like MOTHERFUCKING MANDATORY and WE WILL KILL YOU TO DEATH IF YOU DO THIS ANY OTHER WAY, YOU MISERABLE EXCUSE FOR AN ENGINEER and THE LAST GUY WHO TRIED THAT FOUND HIMSELF WIRED IN SERIES IN THE BATTERY ROOM AT THE SERVER FARM.”

“Well, most of the people who implement standards are pansies and a little conductive, sure.”

“Right! Out with the old, safe junk. No X- headers for us. We go right to XXX- and to hell with the lilly-livered still-living-at-their-parents-house¬†weaklings who faint at the sight of a little skin. We’re going to have massive, TOWERING buffers with no slow start, just WHAM, BAM and those bits had better be across or we’re going to start taking files hostage and erasing them one by one until the bandwidth comes up. Flow control is for COWARDS! We don’t negotiate, we TAKE and we CONSUME and we BURN SHIT UP.”

“I think . . . we’ll just mail some thumb drives to our customers.”

“No UTF-256 encoded headers?”

“Sorry.”

“No 10240 bit certificates? No dedicated fiber to the backup servers in the Rockies?”

“No.”

“Well, make sure you get the kind of thumb drive that’s armored and guaranteed waterproof to three hundred feet.”

“Go away.”

This entry was posted in Uncategorized. Bookmark the permalink.

5 Responses to Angry Protocols

  1. Gavin says:

    Do angry protocols also close connections the instant something comes down the wire that shouldn’t have? If so I’ve written many an angry protocol. No “I’m sorry, I didn’t understand you.” and more of “close() come back when you’re talking sense.”
    And not just the server, clients are like that as well; My protocol’s don’t take no BS.

    (It’s easier to debug)

  2. Justin Heiner says:

    I gotta say, you have the best narratives. I have a very detailed mental picture of that protocol, and he scares me.

  3. landon says:

    @Gavin: Angry protocols do whatever they want. You don’t complain, you submit.

    @Justin: Roger Zelazy was a master of narrative, and I steal from him a lot.

  4. Tomsci says:

    Angry protocols would be a good fit for Vigil
    https://github.com/munificent/vigil

    Deletes any code that fails to adhere to pre-/post-conditions, got to love it!

Leave a Reply

Your email address will not be published. Required fields are marked *