Live from a future BBC One

June 30, 2017

[begin transcript]

We come to you live from Balmedie, Scotland, where BBC One producers are about to make an announcement.

Trumball:  Hello, hello, thank you all for coming.  I’m Harold Trumball, the new director of BBC One under Theresa May, and we have a fabulous announcement for you today, just fabulous.  With me is Andrew Scotterpyne, the lead producer on the upcoming Doctor Who series.  Andy, it’s all yours, take it away.

Scotterpyne:  Thank you, Harry.  Good afternoon, all.  I’m pleased to announce that after an exhaustive search, we’ve found a wonderful new Doctor for 2018.  An actor who needs truly no introduction, but we’re so proud we got him that we’re giving him one anyway.  You know him from a wide variety of American cinemas, and although it’s the first time we’ve cast an American as the Doctor, he’s a genuinely tremendous pick, and we couldn’t be happier.

Trumball:  Absolutely!

Scotterpyne:  It’s hard to fill the shoes of such a great actor as Peter Capaldi, but we think we’ve managed to find someone even better, truly even better.  Ms. May herself personally wanted to interview him, he’s that good.

Trumball:  I jumped when I heard the name!

Scotterpyne:  Now I know that the Thirteenth Doctor has a bit of superstition around the number, but we think we’ve found someone far, far bigger than any of that nonsense you’ve seen debated in the press.  So without further ado, I present to you your Thirteenth Doctor, Donald J. Trump!

Audience murmurs and a few people are heard shouting

Trumball:  I say, I say, you couldn’t have found a better man for the job.  We didn’t know what to do — really, how could you top Capaldi? — but then the Americans went and impeached Mr. Trump.  Ms. May called me the very same day and demanded we jump at the chance to hire such a big celebrity.  Money was no object!

Scotterpyne:  Let me say that writing scripts for Mr. Trump will be a highlight of my career.  He’s so good that you can give him a blank page and he’ll manage to make an interesting show for three or four hours!  But I shouldn’t put words in his mouth; everyone, if you could please put your hands together, please offer a hearty round of applause for Donald J. Trump, your new Thirteenth Doctor!

Trump comes out from behind a curtain

Trump:  Thank you, thank you, thank you all, I’m honored.  I have to say that when these guys came to me and asked me to be the Doctor, I was like, eh, what’s a Doctor?  But then they explained it, and it’s a tremendous, tremendous role, and I’m honored to be chosen for it.  We’re gonna have a great series, a great series, it’s gonna be the best series ever.

Someone comes out, whispers something to Trump, and the Secret Service man standing beside him nods

Trump:  Anyway, I have to say, this is gonna be great.  Let me tell you about this series.  We got an all new Tradis —

Scotterpyne:  Tardis.

Trump:  — Tardis, and it’s fabulous, tremendous.  You should see it.  It’s the biggest, best, Tardis ever.  Yuger on the inside than any Tardis before, just yuge.  And classy.  None of that tacky plastic crap, or those white frickin’ round things.  We got all gold, mahogany, marble floors, completely classy from start to finish.  Jacuzzi room off the one side, shrimp lounge, a fully-stocked wine bar, we got Tony Danza to bartend, and he serves up a way, way better Screwdriver than that sonic piece of junk.  And dancing girls, none of those dumb levers and dials, just hot dancing chicks on gold poles.  You should see it.  It’s amazing.  We spared no expense.

Scotterpyne:  Tell them about the Daleks.

Trump:  Oh, yeah, we totally classed up those trash cans.  What, they got plungers and eggbeaters for hands?  Whose idea was that?  We got way better Daleks this time, way better.  Solid gold, and scary, like with chainsaws and hand grenades.  That’ll put your kids where you want them.  Cybermen too, those tin can robots are gone, we got Michael Bay to loan us some of those Transformers of his, and it’s gonna be awesome, just awesome.

Scotterpyne:  And don’t forget the companions!

Trump:  I was just gettin’ to that.  We got the best companions this time.  None of those actors you never heard of, no, bein’ all whiny and crap.  I got Lou Ferrigno for the one, and he’s just tremendous, just tremendous, a great guy, all around the best you could want, he’s gonna be just clobberin’ bad guys left and right.  And we got Sarah Palin playing the rootinest, tootinest sheriff in the old West, along for the ride to meet some aliens and kick some butt.  You haven’t ever seen a Doctor What like this.

Trumball:  Doctor Who.

Trump:  What?

Trumball:  Doesn’t matter, carry on.

Scotterpyne:  That’s about all we have time for.  Mr. Trump has to be off for a round of golf, but before he goes, does anyone have a question for him?  We have just time for one question.  Mr. Neely, is it?  From the Times?

Neely:  Yes.  Are — you people insane?

Scotterpyne:  Why, of course not.  Mr. Putin would have us committed if —

Trumball:  — uh, that’s all the time we have.  I’d like to thank you all for coming, have a delightful Brexit, and I’d like to remind you that whatever you may think of our decisions, however you may consider all this, it’s still far better than letting him start World War III.  Thank you, and good day.

[end transcript]

A Letter to Donald Trump

I am well-known for never cursing.
I don’t curse, because I believe that it isn’t necessary for most discourse. It’s certainly impolite and often impolitic to use them, but in addition to the social norms, omitting curses forces me to organize my thoughts more carefully than a simple expletive demands. And wantonly using curses robs them of their power: By reserving them, those around me know that if I were ever to curse, something is really, truly, genuinely bad.
So those who know me well will recognize the gravity of what I’m about to say.
As Burke was sometimes paraphrased, “All that it takes for evil to triumph is for good men to do nothing.” And as evils now not merely wander our midst but clamber for access to the highest levels of earthly power, I declare now on which side of the line I stand:
Mr. Trump, when you lie, when you exaggerate, when you apply doublespeak and doublethink to confuse and ruin the minds of lesser men, I promise that I will call “BULLSHIT” as loudly as I can. And much of what you say, every single day of your life, has been, is, and likely will continue to be “BULLSHIT.” I promise to support those institutions which have the greatest skill at calling you on your lies, and to that end, I have purchased a subscription to the New York Times to help fund real journalists. And I will never support or acknowledge the partisan muckrakers of your personal propagandists, Breitbart and Fox News.
Mr. Trump, when you seek the ruin of the First and Fourth Amendments, when you seek to jail those who burn the flag, when you seek to jail people merely for love or for prayer, when you seek to cancel the rights of men to assemble in protest, when you seek to silence those who criticize you, when you seek a permanent watchful eye over those who might think contrary to you, I promise to join the side of right and to tell you to “FUCK YOU,” as loudly as I am able. And to that end, I plan to donate regularly to the ACLU and EFF, so that institutions with the strength to fight you more ably than I will be able to continue their cause.
And Mr. Trump, I promise to remind you, every day that I can, that you did not win the popular vote. You were not chosen by your fellow Americans to lead. Many, many more people voted against you than voted for you, and only through the quirks of a historical anachronism were you ever elevated to power. In a more civilized world, you would never have even approached your new post, much less claimed it. And to ensure that you understand my meaning, I promise to repeat this truth so you can understand it, as oft as I can: “YOU’RE A LOSER. YOU LOST.
I hope not to have to use such language, and it pains me to even write these things; but your repeated insistence has pressed me to my limit. I will not be one of the men who sits idly and lets tyranny range on ’till each man drops by lottery. I promise that I will credit you if and when you do good: But I promise also that I will fight you, with both actions and coarse words when righteousness demands them, for as long as you are in office and I have breath with which to fight.

Election Conscience

For twenty-two years, I was a registered Republican.

In the ’90s, it was pretty easy:  The Republicans were the party of small government, of fiscal sensibility, of moderation, and of prosperity.  The Democrats were the “crazy hippies,” the tie-dyed tree-huggers who wanted us to eat nothing but kale and drive only solar-powered cars.  And while I didn’t agree with the social conservatism of certain parts of the Republican Party, or the weird racist crowd in the South, those were small fringe groups, and they were easy to ignore.  The Republicans represented centrism and sensibility.

Today, those small fringe groups rule the Republican Party.   It has gone from being the party of sensibility and moderation to being the party of extremism and racism and hatred.  I cannot support Trump.  I will never support Trump.  Everything he stands for is something I’m against.  He is not “classy.”  He is not “yuge.”  He is not “tremendous.”  He’s an overgrown schoolyard bully, a bigot, a strongman, and willfully a fascist, and he bankrupts and ruins everything he touches.

So today, I reregistered:  I am now an Independent.

On the down side, this change comes at a severe cost in the Commonwealth of Pennsylvania:  By doing so, I effectively gave up my right to vote in primary elections.  But I cannot associate myself with the elements that drive the Republican Party.  They do not stand for what I stand for, and I worry they may never do so again.

But on the plus side, I now join the most-heavily courted of all voter blocs:  I am an educated Independent voter, in a swing county, in the critical swing state of Pennsylvania.  My vote matters, and today, I just made sure that my vote no longer comes with strings attached.  I can vote my conscience, and no-one can tell me otherwise.

So goodbye, Republicans.  Goodbye, Gallant Old Party.  Goodbye, Party of Lincoln.  You were a good thing, once.

UI Tip: The User Is Busy

I’m passionate about user-interfaces. And so I thought it would be worthwhile to expand on a UI discussion I was in on Slack today.

You should never call a user dumb. I prefer to use the phrase busy, one of the great suggestions from Al Cooper’s About Face. I prefer that phrase because nearly all users are not dumb: The bell curve and a whole heap of population statistics say otherwise.

The real issue is that most users are just too busy and too harried to really think about your software or to spend any time with it or to spend any time learning it. They only use it because they have to use it, most likely because some manager at their company bought it and said, “This is your new [X] now.”

Continue reading “UI Tip: The User Is Busy”

Windows 10

Microsoft really screwed the pooch with Windows 10.

Over the past six months, I’ve had the opportunity to both install 10 and use it on quite a lot of machines.  It’s better than Windows 8, but that’s a lot like saying two broken legs are better than cancer:  You really wish there was another option.

So, look, lest you all think I’m just a hater, I have intentionally upgraded my devices to Windows 10, and stuck with it for long enough to get a real feel for it.  I want to be using the new operating system.  It’s just simply not ready for prime time.

Continue reading “Windows 10”

Server Crash

So my site’s been down for a couple of weeks, because we had a server crash.  By which I mean, “The server physically crashed onto the floor from a height of about six feet.”

I’m now hosting off of a VPS at Dreamhost, who presumably are less droppy with their servers 🙂

I’ll post more real content later, but my site’s back up, more-or-less.  Some of the deeper links probably don’t work anymore (I’m not restoring all of the junk I used to have in weird off-directories), but the blog’s still here, for whatever that’s worth.  Which is likely not a lot, since there’s nobody reading, but still, we’re back.

And so December

Well, merry Christmas all.  I’m spending mine with broken bones in my right hand, and a cast on it.  I’ll type more in the new year about what I’ve been doing — after the requisite physical therapy. Have a happy New Year, and I’ll see you all in 2016!

How to Pass an Interview with Me

I do a lot of interviews. I mean, seriously, a lot of interviews. One a day is getting to be pretty normal.

I’ve read before Jeff Atwood’s classic “The Non-Programming Programmer,” and it’s still disturbingly valid, half a decade later: A very large percentage of the phone screens and in-person interviews I do are dismal, epic failures: The person can’t code, and, more significantly, doesn’t realize how poor their coding skills are.

Our dev shop is populated by really capable people. We get stuff done. Our flagship product has two and a half million lines of code in it — and growing — and there are a raft of satellite products orbiting not far from its gravitational well. And it’s not large because it’s wasteful; it’s large because that’s the smallest we could make it and still do what it needs to do.

And what that means is that if you want to join our staff, you have to know what you’re doing. We don’t have time to hand-hold. You need to be able to make stuff on your own. If you can’t deal with a business person giving you some abstract requirements and saying, “I need this in a month,” you’re not going to last. (Yes, we’re Agile, and we do plan better than that quote might imply, but a lot of stuff really boils down to, “Here’s a rough idea, go build it.”)

When you bomb out of our interviews, you’re actually doing yourself a favor. I know it seems like we’re being mean, but I swear we aren’t. In our initial interviews with you, we give you programming problems. Easy problems. These are all things that should have been homework in your Freshman or Sophomore year of college.

And any one of our current employees can do these problems in about five minutes. Literally. We’ve had phone screens that ran 15 minutes total. The reason we give these easy problems is because the real work is way harder. You’re never going to last in a two-million-line codebase full of graph algorithms and complex data structures if you can’t count letters in a string. We know this because we used to have weaker interviews, and people bombed out hard during the first month of employment afterward.

So here’s the deal. If you want to work for us, here are the critical parts:

Continue reading “How to Pass an Interview with Me”


The latest: We’re expecting! The due date is the middle of February. First ultrasound looks good. Robin’s pretty sick a lot of the time, but there’s only a month left in the first trimester, and we’re hoping the nausea settles down after the first trimester like it did with Alan. She’s a lot sicker this time, and thinks that maybe that means we have a girl. Hard to say, but we’ll find out!

Alan keeps growing. He’s at the just-shy-of-terrible-twos now and exerting his independence by means of tantrum. (Lord help you if you want to change his diaper, or if you leave the room without his permission.) We took him to the zoo for the first time last weekend, and he was far more interested in the carousel than the animals. Ah, well. He recently learned that he can stack his alphabet blocks into towers, which has been highly entertaining to watch. Still no speech yet except for going “nyaah” when he sees a cat (it’s his “meow”), but with any luck, he’ll at least figure out “Mommy” and “Daddy” soon. He certainly knows what we’re saying, and nods (and waves his arms) and shakes his head (and waves his arms) to indicate “yes” and “no.”

What’s new in Smile-land? Back in April, I started rewriting the interpreter in C. It was never going to be fast enough in C#, and I always knew a C or C++ port would be necessary. I rejected C++ after a few attempts (more thoughts on that below). So far — well, I have a garbage collector and a working String object and a bunch of unit tests and that’s about it for the last three months. I only get an hour here or there at best to work on it. But Ben recently challenged me to have a minimally-usable interpreter by Christmas, and that’s put a little more fire under my butt to do something about it.

On C++

I rejected C++ because C++ is C++.

Continue reading “MayJuneJuly”