When the little hand is on the two, and the big hand…

Two thirty in the morning is the witching hour of technology.

If you are a firmware engineer working on a product that has some kind of online periodic update system, at some point you will have a conversation with your project manager, the subject of the conversation being”What time of day do we *do* this update?” Because updates invariably require reboots and other awkward shenanigans, and who needs that in the middle of their daytime soap opera or fitness run?

The answer will invariably be two-thirty in the morning. If your product does weekly updates, your PM will respond with “Two-thirty every Sunday morning.” [Which you will change to “Two-thirty every *Monday* morning” because your PM really didn’t think about it enough, but you knew what they meant.]

The argument goes: Two-thirty in the morning is a time when all sensible and God-fearing people (and especially technology review editors) should be tucked away in bed. Thus, no one will notice just one appliance going offline for a minute or two while it reflashes its firmware. And no other company is going to do the same thing to *their* products at that crazy hour, it’s just so *unlikely*. Two-thirty AM sounds great, let’s ship it. It’ll be our secret.

The young, clever and over-enthusiastic dev pipes up, “Let’s make it /really/ random. Say, 2:37AM.”

“Great idea,” someone agrees. And you ship.


Cut-to: I am insomniac again. Minding my own business at Something-Dark-Thirty in the morning and doing some reading. Okay, I’m watching Firefly again, sue me.

The TV stutters for a second or two, then goes black and displays “Rebooting, please wait”. The microwave oven emits a “beep” and starts doing something awful and herky with its LEDs. My watch buzzes and shows a spinning whooshie graphic while it messes with its own insides. Everything is displaying progress bars and “percentage complete” counters and little apologetic messages that betray the same sad trains of thought. All the widgets in my living room are emitting little boops and beeps to announce that they have upgraded their brains and jumped off the cliff into next week’s firmware, to better our lives with bug fixes and shiny, new buggy features. Even the damned toaster is getting into the act. Why would a toaster need a firmware update?

Some of the devices don’t come back to life. Maybe there’s a hardware failure, or an overworked software guy flubbed a semicolon in the update code and now that company has catapulted half a million of its heavily advertised Internet of Things devices into the category of Internet of Dead-Ass Bricked E-Waste. People find these little corpses in the morning, like poor little rodents discovered by the cat. It’s highly likely that the company that made these benighted devices will become a corpse, too, which is why wise companies feed and train their firmware engineers with care. Right?

O, this brave new world of embedded, connected systems. Kind of like the old world, but I sure hope you’re running version 2.01a, because unless you have that latest patch . . .

   Intertubes of Things
Cat monitor, coffee grinder
       It sends email, too.

Let us not speak about devices that are designed to listen to you all the time. It is just too early in the morning for that amount of trust.

Posted in Uncategorized | 3 Comments

RIP George Michael

WTF, 2016. I mean, what the . . . God damnit.

FYYFF. Okay, just fuck off now. Go away 2016, we don’t want you any more.

Posted in Uncategorized | 1 Comment

oh my god

what have they done?

Posted in Uncategorized | 5 Comments

RIP Henry SF Cooper

I should keep track of my favorite authors better. Henry SF Cooper, author of Apollo on the Moon, Thirteen: The Flight that Failed and the majestic The Evening Star (which is about how the Magellan probe team debugged OS race conditions from 20 million miles away) died in January.

I can’t say enough good things about The Evening Star. If you’re into computers or into space exploration, it’ll be a great read. If you’re into both, it’s incomparable.

I highly recommend all of his books.

Posted in Uncategorized | 6 Comments

Too many zeros

Srly, Microsoft? LinkedIn for $26B?

These things never end well. Remember Dynamics? And Nokia? This is worse.

Somebody needs to take the checkbook away from the team at Microsoft that comes up with these merger ideas. Put them off in a building of their own, give them a cafeteria and chef and great annual compensation, and ignore everything they say. It will be cheaper to do this than actually buying companies, and you don’t run the risk of being sued if you fire “valuable” employees. (Maybe you could sell the M&A group to Oracle after a while).


Posted in Uncategorized | 2 Comments

Dianne Feinstein should resign

Here’s a nice opinion piece. By the Christian Science Monitor, no less.

I concur.

Dianne Feinstein has a history of getting policy around cryptography and security utterly and disastrously wrong. She backed the regressive ITAR regulations banning export of strong crypto (which had the actual — and intentional — effect of reducing security of software in the US). She backed the Clipper Chip program in the 1990s, claiming a need for “balance” by mandating that US citizens use only government-approved cryptography (the Clipper protocol contained serious flaws which were exposed a few months after the specification was published). She backs the FISA secret courts. She has refused to investigate wrongdoings by the NSA and other intelligence communities, or to investigate the clear and blatant lying by government officials about surveillance programs to congress (last I checked perjury was still a pretty serious offense; Senator Feinstein is apparently just fine with it).

She has so clearly demonstrated her incompetence and misservice to her constituents and to the US at large that we should be done with her. Dianne Feinstein is a danger to our collective security, and she should either step down, or be removed from the Senate Intelligence Committee.

Posted in Uncategorized | 2 Comments

Attending a modern political debate


Don’t use pine for your sign handle. Instead, find some good ash or hickory, the kind they use to turn out good quality baseball bats and axe handles. For the sign itself, a thicker gauge of sheet steel is best. Steel is heavier but lots more durable than cardboard or aluminum, and it takes and gives a beating. Steel also carries a nice, sharp edge that is unparalleled when you need to make an effective argument, and it will get your message across even if you can’t spell worth a damn.

Get a real pair of boots, okay? You may be into hi-top sneakers or loafers, but a good pair of steel-toed work boots will do wonders for your confidence. Just knowing that you can kick the shit out of someone who’s holding onto a weak or immoral position will have you unconciously holding your head high, your shoulders back, and wishing that you’d sprung for the fifty dollar truncheon instead of the one from the bargain bin.

Speaking of truncheons: Rubber-coated, steel core and integrated lanyard. That’s all you need. If you have something that takes batteries, that’s a goddamned flashlight and you’re going to look awfully silly trying to make your point once the D-cells have flown across the room because you forgot to Lok-Tite the cap. Use the right tool for the job.

That super-sized, cherry-red can of Obliterator! brand pepper spray indicates that you are a nOOb. Watch the old timers; they choose their targets with economy, generating maximum outrage and news footage with a few well-placed shots. You honestly don’t need more than a couple of ounces, and even a little of the cheap stuff goes a long way. Try some on yourself if you don’t believe me.

It’s amazing how many people will fight to the death for their right to remain indifferent.

Posted in Uncategorized | Leave a comment

Feinstein wants to ban crypto again

Senator Dianne Feinstein is introducing a bill that attempts to ban the use of strong cryptography in the US. Link.

She supported crypto bans in the 1990s. I was a constituent of hers then, wrote her with my concerns, and her canned reply was a basic “FU, we need balance, blah blah.”

Now she’s at it again.

Q: Feinstein is a lying and puppeted sack of crap, one of the worst things to happen to civil liberties since J Edgar Hoover, and can’t leave office soon enough. Discuss.

Oh yeah, call your senator. Do that.

Posted in Uncategorized | 4 Comments

Yeah, pretty much done with GoDaddy

While I’m sure y’all are nice folks at GoDaddy, I think you get what you pay for in this industry. And I’m willing to pay a little more to get better service. Like, a web server infrastructure that doesn’t randomly throw 403 errors (sometimes for days). And something that won’t utterly collapse if I get noticed by HN or Reddit. (Collapsing is understandable, but I expect the hosting system to at least put up a good fight).

So I’m shopping around for a better provider. I don’t need much: WordPress (maybe), and shell access. And a reasonable expectation that the company will be around some years hence. That’s about it.

Any recommendations?

Posted in Uncategorized | 14 Comments

Documentation is for the weak

I spent several hours reading some “documentation” today for a certain component of an enterprise product. Actually what I was doing was a repeated loop of the following:

  • Go to a page with a promising-looking title (e.g., The Fuckwidget Survival Guide)
  • Read some of the marketing-class vacuous bullshittery there, with a table of contents consisting of:
    • Overview of Fuckwidget
    • Introduction to Fuckwidget
    • Fuckwidget Operations Guide Overview
    • Fuckwidget Migration Patterns
    • Fuckwidget Introduction [didn’t we do that one already?]
    • Using Fuckwidget
    • Fuckwidget Infrastructure Templates
    • Fuckwidget for Beginners
    • Executive Guide to Fuckwidget
    • Fuckwidget Tutorial for Knuckledraggers and Mouthbreathers [didn’t we just do that one?]
    • Let’s Do Fuckwidget! (plus a crayon drawing of a cat by some VP’s kid)
    • Make Fuckwidget work for you with this One Weird Trick!
    • 10 Things You Didn’t Know about Fuckwidget
    • Fuckwidget FAQ

“Oh ho!” I whoop, and click on the promising-looking FAQ, and like a hall of mirrors I’d find myself in a document pretty much the same, but slightly different. Repeat for hours. Every time the documentation was about to admit a tidbit of actual, useful info, there was a link, and the link led to even more bullshittery.


  1. Cry out “God in heaven, does any of this crap lead to any actual information about how you set up and use Fuckwidget?”
  2. Wait for an answer.
  3. No answer from God. He must be using Fuckwidget Message Queues for incoming prayers, it would explain a lot.
  4. Do another web search for “real fuckwidget documentation dear lord let it all end now” and start over.

This is an actual picture and probable copyright violation [ask me if I care] from some of that “documentation” –


I think there’s a bug here, where they left out the part where you’re supposed to feed the security policy to a magic goat, whereupon magic shit happens that materializes into a security policy. Frankly I don’t think that anyone will be able to prove my little repurposing above, since I’m probably the first person to ever get far enough into the maze to find it.

Can we analyze this bit of art? Is it useful at all, to anyone? Well, yes, it turns out:

  1. Once upon a time there was a documentation team, on contract and paid by the hour by a large, soulless corporation that confuses quantity for quality.
  2. This team knew a good deal when they saw one, and sat in their seats and typed like crazed monkeys for as many hours as they could bill. They wrote introductions and overviews and guides and planning thingies and checklists and templates and any number of click-here-do-this-click-that instructionoids of the kind you find on really sketchy “How do I use a can-opener?” sites. The result was a massive collection of pages with a remarkable lack of useful information. And this was absolutely intentional, because:
  3. When the stone had been completely wrung dry and the documentation team could extract no more hours, the large corporation shipped the documentation out to users, and:
  4. The doc writers went back home and wrote a real reference and are happy to sell it to you for hard cash. It’s probably really popular on Amazon. I do not have the heart to search for it.

I think if I sat down for a couple of hours I could distill the documentation for this product down to about three pages, starting with an introduction like:

Hi. We know why you’re reading this, and we’re real sorry. It may help you to know that all of the suffering you are about to endure is the same suffering we went through. Of course, we had the advantage of access to the original team, so maybe we didn’t suffer quite as much. On the other hand, it may bring a smile to your face that the feedback we provided to the developers and managers was in some cases sufficiently convincing so as to ensure they will never be repeating the mistakes they made on this project. They’ll never woik in dis bidness again.

In the end, I kind-of got Fuckwidgets working. I wrote a wiki page for my coworkers with some “click here, do this-and-that” type instructions, and I feel filthy.

Bullshit triumphs when a good man does nothing.

Posted in Uncategorized | 12 Comments