April 2014
« Feb    

The hallmark of 21st century programmers: fail silently.

The title pretty much says it all and barely needs elaboration. I’m not sure I trust any programmer born after 1970.

You never wrote assembly language. You never wrote C. You never had to malloc space for an array or check for a return error code. You never did any of the hard shit yourself. You just linked to libraries and frameworks. You never thought how your code might be called one day in contexts beyond the immediate problem you’re trying to solve. “Bulletproof” doesn’t mean anything to you.

If a library you call a function from returns an error code, you can ignore it and just crash. After all, if the library generates an error, the user probably has bigger problems than YOUR code failing, so why bother trying to handle it gracefully? Just assume everything will work. Most of the time, it will, and it’s so much easier. And besides, you’ve got so much to do.

So a gigantic company like Adobe with armies of programmers all over the world cranks out the unimaginably complicated Creative Suite. Muse is for building websites – far simpler than the insanely arcane world of Photoshop. It provides a friendly interface – sort of – for putting graphics on screens and adding hyperlinks (as long as you can figure out which layer of said interface hyperlinks go in). A friendly checkbox lets you specify that the link should open in an external window. A friendly preview mode lets you examine your page as it will appear and test it. You click your hyperlink to test it in the built-in browser, and nothing happens. You assume you made an error and you spend a long time digging through your project files trying to figure out why the hell nothing’s happening. You can’t find anything wrong. After a while, you try it in an external browser and it works fine. You realize that the built-in browser can’t open things in tabs or external windows, but rather than inform you of this with, say, an error message or info window (“This browser cannot open links in new tabs”, say), it just silently fails. Just ignore the return code – if there’s even one to ignore. The user will figure it out. Or maybe not. Who gives a shit, anyway?

This is in hour one of my work with Muse. I expect there will be many, many, many more instances of silent failure. Working with other people’s code – or their products – in the 21st century is pretty much a case of assuming it’s filled with bugs, careless bullshit and implicit assumptions based on knowledge that you don’t have, and trying to hunt your way through it by trying to figure out the way you think that THEY thought it should work. Rather than how it looks like it should work.

Don’t even get me started on things like “read the documentation.” There isn’t any documentation, or it’s out of date and was never updated and will send you down an even worse dead-end than the one you’re trying to escape.

Fuck 99% of 21st century engineers.

Dear BBC: well, here we are again.

Hi BBC. Last time we talked, I suggested that you allow people outside the UK to pay you for access to your excellent Olympics streams. Anybody with a brain in the US would rather eat glass than watch the empty-headed, focus-grouped, hyper-polished, flag-waving, utterly fictitious reality show that passes for Olympic coverage here.

So far, you’ve decided to leave that money on the table, and your coverage is not available for any price to people outside the UK. You continue to insist on people IN the UK paying licensing fees to support your excellent programming, and I fully support that concept. I’d like to pay you a licensing fee as well. I’ve got money that I would LOVE to give you.

But you don’t want my money. So I’ll do the same thing I did in 2012: steal your content via pirate streams, and VPNs and proxies. I get your coverage, and you get nothing. You shut down a stream once in a while, and another pops up within minutes. The quality’s not great, but anything’s better than what we have here. Watching the live luge competition right now.

Screenshot 2014-02-11 09.44.22

Let’s see if you get it together in time to take my money for the 2016 Olympics. I’ll either see you, or the pirate streams, then! Cheers.

Just a note on the first amendment

The first amendment says that Congress shall make no law prohibiting freedom of speech (among other things).

I don’t think anybody’s arrested the guy in Duck Dingleberry or whatever it is for his bigoted, homophobic comments. Have they? Is he in jail? Has he been charged with a crime?

Freedom of speech does not imply freedom from criticism.

It also does not guarantee you a TV show, soapbox or other platform from which to speak. It does not guarantee you an audience. He can keep right on saying whatever it is he said. He probably still is. Nobody’s stopping him. However, nobody has to make it easy for him.

Kicking someone off your TV show is not a free speech issue. It’s a business decision. You would think people on the right would applaud that kind of freedom. Fox News doesn’t owe me a platform on their program to air my leftist views, and I don’t get to complain if they don’t give me one, or do give me one and then take it away later. I can start my own show if I want to be heard, right? And if I fail, that means the market isn’t interested in what I have to say, maybe even just plain doesn’t want to hear it.

I don’t see the problem, in other words.

Indiana Senator Dan Coates, religious freedom, and homophobia

Indiana Senator Dan Coates, in response to the ENDA anti-discrimination bill passed by the Senate but which will die in the Republican-controlled House, writes:

…the religious beliefs of faith-based childcare providers and small business owners would be disregarded under this legislation. Faith-based daycare providers could be forced to hire individuals with views contrary to the faith incorporated values of these daycare providers. Do we want to support policies that discriminate against an employer’s religious beliefs and require employers to hire individuals who contradict their very most deeply held religious beliefs?

(I got this one, everyone. I’ll answer this one. Thanks.)

Answer: YES. That’s exactly right. Well put, Senator Coates.

No no, we need more than just “yes” here. Fair enough. Let me explain:

Senator Coates, I have deeply-held religious beliefs that tell me that Senators from Indiana, and citizens of Indiana that vote for them, threaten the morality of children and must be kept away from them at all costs. For the children! I’m sure you won’t mind being discriminated against, since it comes from my deeply-held religious beliefs.

No, no, let’s be serious here. This is a grave cultural moment and it deserves depth of reflection and solemnity of response. I recognize that my position is deeply nuanced and may be difficult to understand and communicate effectively. Let me try again:


How’s that? Is that clearer?

Your religious beliefs are the problem. They are the reason anti-discrimination laws are necessary. Do you fucking get it? You are the bad guy here.

If you look into your deepest heart and most cherished beliefs and see a “GOD HATES FAGS” sign, then so be it… may whatever version of an afterlife-judging-diety you believe in judge you in whatever way s/he sees fit. But here on Earth, in the meantime, while you are allowed to have blackness, fear and hate in your heart (we have no thought crimes), the rule is that you cannot spill it into the public sphere. You cannot discriminate. And if your religion tells you to discriminate, and you can’t look at your religion and say “wow, that’s actually pretty fucked up,” then keep it the fuck to yourself.

Your religious views aren’t our problem, in other words. We don’t care. We don’t give a shit what you believe. Get it? Good.

(And before you inevitably shout “but that’s discrimination!”: no, it isn’t. Look it up. Religious discrimination is “when adherents of different religions (or denominations) are treated unequally, either before the law or in institutional settings such as employment or housing.” Forbidding discrimination isn’t treating religious people unequally, it’s treating them equally. Nobody gets to discriminate. And if your god tells you to, then fuck your god, and fuck you if you try it.)

Dear Astrophysicists: please be quiet now.

Look, I love astrophysics. I love science. I love math, I love everything about the scientific method. I believe that science is the only hope for our species, that our cultural disdain for the labor of science and our glorification of the shallow and fast over the deep and permanent works 100% against us and must be fought with every scrap of iron and fingenail we can muster. I’m with you all. OK?

That said, please shut the fuck up about the small number of insignificant things that are wrong with Gravity. Nobody except you cares that the debris was orbiting east to west instead of west to east. Nobody except you cares about how far apart the orbital craft are in real life. Nobody except you cares about any of the other nits you’re picking.

I know how exciting it is to take a swing at something in the sweet spot. You’ve worked very hard for years and years to acquire knowledge that is critically important to humanity, and completely undervalued and unheralded by the very people it will save. But this is the point that you’re missing:

This is not a movie about astrophysics.

It’s a movie about being human.

It could have taken place at the bottom of the ocean or the middle of the desert. It happened to take place in space, but that doesn’t make it a space movie. It has nothing to do with space, and everything to do with courage in the face of terror. It’s a complete triumph from start to finish. Don’t diminish it for yourselves, or anyone others, by picking meaningless holes in it to flex your unappreciated muscles.

As an engineer, I seethe inside every time I see green letters click their way across a movie’s computer screen, or a character guess a password for the inevitable “backdoor” built into every computer system. But I keep my mouth shut because these and a million other atrocities are not the point; they’re just plot devices, and they work (or don’t) to move the plot along. Gravity’s plot devices work, and it happens that 99.9% of the science in the film is dead-on and more accurate than probably any other mainstream movie ever made. Maybe that makes that last 0.1% all the more unbearable for you – it was so close to perfect! – but seriously, shut up about it. Go see it again and be inspired. And then get back to work. You still have to save us.

Let’s start over

Do blogs still matter in the age of Facebook? They’re kind of a sweet throwback to the golden age of the internet, when people took more ownership of their own content, and didn’t rely on soul-withering megaservices to provide their backbones. Facebook has its place, but it’s not under your control. Don’t forget that.

Lots of old shit here. Most of it can go. Board erased, let’s start clean.

Letter to the BBC

Dear BBC,

You should let anybody in the world give you money for a high-quality stream of your broadcasts.

You require licensing fees of UK viewers, to pay for the content you produce. This is perfectly sensible and fair. But for some reason, you won’t take money from anyone outside the UK. This is probably due to a stupid decision made by some lawyer at some point. You should revisit that decision.

I watched the BBC via an illegal stream throughout the Olympics, since watching #NBCFail’s cringe-inducing coverage made me want to pound rail spikes through my skull. I would have happily paid you for a legal stream. But since you won’t take my money, I watched anyway, and you got nothing.

Simple question: wouldn’t you rather get something?

In 2014, I will be watching your coverage of the next Olympics. You can choose whether I give you money for a legal stream, or whether I keep my money and watch an illegal stream. I hope you make a sensible decision.

Make it easy for honest people to be honest, and they will be. Make it hard, and they won’t be. It’s as simple as that. Take our money. Please. We want to give it to you, and support your excellent programming. We’ll watch it whether you let us or not. We’ll pay you for it if you allow us to. We won’t if you don’t.

Steve Jobs’s Legacy

At the end of the summer, I commandeered the table and demanded that everyone in my family surrender their Apple devices for this picture. It was not planned in advance.

This does not include a couple more macbooks and a couple more iphones that were already packed away for drives home.

And more telling than this? There was not a single non-Apple device anywhere. No Droid, Blackberry, or Windows PC.

Steve Jobs changed the world. I’m genuinely saddened by his passing. And I hate the culture of celebrity and I’m no fan of rampant capitalism. But it’s a rare thing to see genius, drive and ambition so brilliantly focused in a single individual.

Back to my easel, with a little more oomph tonight. I might not survive my next drive to work.