Vote GLaDOS/HAL 2020


When you create a weather app whose whole concept is being powered by a murderous, anti-human AI, it’d be the easiest thing in the world to take that joke and run with it for goofs. When you use it to demonstrate how far we’ve gotten from basic human decency while running with the joke, you’re operating on the fine and delicate line between comedy and rage.

That takes skill, not to mention stones. App stores are hard to make a living in because app pricing has taught people to value useful software less than coffee and a bagel. A feature like this (which you have to turn on in settings to really get the effect, but still) potentially shrinks your revenue further. So I’m on board. They get my annual subscription.

Funny people are being asked to play the role for democracy that Jesus played in the temple. My house shall be called a house of prayer, but you have made it a den of thieves.

I miss the days when laughing didn’t matter so much. When I didn’t scramble for my wallet just because I found out that my favorite Git client backs women’s causes and the ACLU.

Design’s Lost Generation

There are two words every designer needs to feel comfortable saying: “no” and “why.” Those words are the foundation of what we do. They’re the foundation of building an ethical framework. If we cannot ask why we lose the ability to judge whether the work we’re doing is ethical. If we cannot say no we lose the ability to stand and fight. We lose the ability to help shape the thing we’re responsible for shaping....

We are gatekeepers, and we vote on what makes it through the gate with our labor and our counsel. We are responsible for what makes it through that gate, and out into the world. What passes through carries our seal of approval. It carries our name. We are the defense against monsters. Sure, everyone remembers the monster, but they call it by his maker’s name. And the worst of what we create will outlive us....

We’re killing people. And the only no I hear from the design community is about the need for licensing. If why and no are at the center of who we are, and they must be, the center has not held.

Mike Monteiro is my profession’s John the Baptist. He says “designers”, but that means developers and engineers too. He means me.

There was one time early in my career when I was handed a software project that could potentially protect people from injury or even save their lives. It sounds great, right?

But the context was about cutting the lag time for calling off a repo agent if the owner of the car he was going after was armed and desperate. And actually it wasn't even about that. That was an ancillary benefit to the real purpose: repossessing cars more efficiently.

Now we've got a whole mess to unpack. Poverty. The tight link in nearly all of the U.S. between losing a car and financial ruin. The ethics of lending and borrowing. Guns. Not all of that was on me, of course, but it cast a pallor over that project. It weighed. It makes me queasy to remember it.

When I went back to school for my computer science degree, I was told I was "lucky" that I got to skip Computer Ethics because I have a philosophy degree. What those students did not want to hear was that I was lucky, because I had at least a dozen credit hours of ethics classes underpinning my choices, not just one course half-heartedly PowerPointed at me by an engineer from Acxiom.

That education has made it hard for me to do my job sometimes. Sometimes it makes me wonder if I should leave my profession entirely. I’ve had meetings and seen project plans that made me despair for the world I’m going to leave my children. And that’s happened at jobs I liked.

We are gatekeepers. We decide what you can see and what you can do about it and where the walls are built. We choose what is shared and what is safe. We dangle the shiny things.

I've decided to stop feeling embarrassed for being so strident about Facebook and Twitter and metadata gathering and identity and white-male-viable software, because fuck your lack of concern. My profession will only care when you start screaming and throwing things at us. We control your future. We control what you think. And you need to start asking who the fuck we are and what we want.

Dani Bunton changed video games forever

I fell down a Wiki rabbit hole recently after a Slack conversation about Arkansas software development. I didn't know that at one time, one of the best video game companies in the world was right here in Little Rock.

David Koon did a great cover story about their star developer a few years back. It does the whole historical-gendering, he-then-she thing, but otherwise it's a damn fine tribute to an unsung hero of software.

I'm one degree removed from her, turns out. A friend of mine started chatting with her in a bar in Hillcrest in the early '90s, somehow they got on the subject of games, and he declared to her that the greatest game of all time was M.U.L.E.

"I wrote that," she said, and it took a bit for her to convince him. From then on they were friends until her death.

"I still pull out my old Commodore and play it," he told me. "I've probably played M.U.L.E. 2000 times since the 1980s. And I've literally never seen a game go the same way twice."

Hell of a thing.

Online Real-Time

Two Christmases ago was a busy season for funerals. I wrote to you about it.

Among the losses was a new friend and coworker, whom we'd dubbed "Online Real-Time" for his general lack of a brain-to-mouth filter. That's a character defect for most people, but Justin was such a genuinely good man that it was nearly always on the endearing-to-hilarious spectrum.

So. Fifteen minutes ago I was updating one of my code repos at work. I pulled down my counterpart's latest changes, tried to do a build, and my development environment complained that it couldn't find a new form interface it needed:


We hide things in the software you run. We bury our frustrations in comments. We name things after inside jokes. I once got a bug fix ticket that simply read "please make your error logging less witty."

Sometimes we bury a tribute where you will never see it.

Nerds, you can be pretty great sometimes.

Plain is Sexy

An earlier iteration of my blog featured a “tool of the week” bit that I abandoned after cracking under the pressure of coming up with one every single week. But I loved writing those posts and have never given up my fondness for tools, so I figure I’ll keep doing them sporadically here. If for no other reason than that all posts can’t be as navel-gazey as the last one.

So I’ll lighten the mood a little and bore you instead by talking about writing workflows and software. Six of you will care, but this is where I spend most of my day, and I feel like talking about it.

Still around? Hokay.

I’m rapidly becoming convinced that John Gruber’s excellent Markdown syntax is one of the greatest things that ever happened to writing on computers. He developed it as an easier way of writing and reading HTML documents by stripping out all the tags and extra cruft and replacing them with simple symbols. Write up a simplified plain-text document, run it through a script to convert it to HTML, and blammo, web page made with considerably less work.

John’s a very smart guy, but I’m not sure he realized what he’d done there, not at first. By abstracting the details of writing HTML, he hadn’t just created a shorthand. He’d damn near created a meta-language, something that could be run through any number of different programs to create any number of different types of documents. With the right set of tools, you could easily turn a Markdown document into an RTF document, a PDF, theoretically anything.

Enter Fletcher Penney and MultiMarkdown, which has utterly changed the way I do business. It takes Gruber’s original syntax and adds very little (I believe Penney only added syntax for creating tables and footnotes), but allows you to process it into a number of formats: HTML, LaTeX (and thence to PDF), OPML, and Open Document Format (which from there can be converted to RTF, Word, or Pages formats).

Gruber’s creation kicked off a minor revolution in writing and developing for the web, and it’s now leaking into offices and writer’s workflows as well. An pornographic amount of software has sprung up around it, particularly for OS X, but really everywhere.

Why use it? Well, partly because you hate Microsoft Office. Yes, you do.

I’m what some might term a “power user” of Office, as I’ve gone so far as to create Excel spreadsheets embedded with hand-written VBA code that creates and emails Word documents on the fly. I’ll be the first to praise Office’s power, as it is indeed as powerful as Satan’s own broccoli farts, but actually using it is about as pleasant as inhaling said farts. It’s the word processing equivalent of going to Walmart.

So there’s that. There’s also the question of portability. I’m writing this right now in Markdown on an iPad, but I could open it on any computer from any decade since punch cards went out. You don’t have to worry about what happens if your favorite software dies out or starts sucking. You don’t have to worry about operating systems or versions.

So on. I’d be willing to bet a lot of you are nerdy enough to be familiar, so I won’t go on. But I love it. I take all my meeting and conference notes in Markdown. I write up reports and quality control plans in Markdown. I rub Markdown all over my chest before bedtime every night. It gets out of my way and lets me work.

But the most amusing effect of Markdown’s growing adoption is seeing a surge in popularity of that nerdiest of tools: the humble text editor.

No frills, no buttons (well, hopefully not), no “ribbon”, no bullshit. A window, a blinking cursor, and what you want to write. Like Markdown itself, a good text editor gets out of your way.

Me, I started with Emacs, the (almost literal) 800-pound gorilla of text editors. I got into it partly for efficiency, partly for nerd cred, but also partly for the glorious wonderment that is org-mode. I left org and Emacs only with a great wailing and gnashing of teeth.

Why? Early signs of repetitive strain injury. Emacs relies on key combinations that require a certain amount of manual acrobatics, and they took their toll on my forearms. So I left for the dark side and learned Vim.

I quickly learned that I loved Vim’s commands, but loathed Vim itself. I began to despair. I found a way to use Emacs with vim’s keybindings, but that was starting to feel like a Rube Goldberg contraption, so I reached out to my fellow nerds. They introduced me to Sublime Text.

Hoo boy, is it aptly named. Runs on all three major operating systems, is easily configurable, and it can even be set up to use (some) vim keybindings. For a guy like me, this is like being given a bisexual Christina Hendricks covered in heroin and bearing a large bag of cash. And then learning that the Star Wars prequels never happened. Something something LEGO.

That’s where I’ve been ever since, Markdowning my happy ass away in Sublime (and Nebulous Notes on my iPad). I could probably count how many times I use Word each month without having to take my shoes off. And let me tell you, brethren and sisteren, that is when you can stop farting around and start building giant killer robots.

Is it for everyone? No. Converting to your preferred document format isn’t hard, but it was built for nerds. If you don’t get a product with built-in MultiMarkdown support, you either need to be able to use a command line without panicking or have a nerd on hand to simplify using it. So there’s a learning curve, but it’s worth it. The reward is the sheer simplicity of writing and formatting text.

So to Mr. Gruber and Mr. Penney, you have my eternal gratitude. You’ve made how I work so much better.

Apps with Markdown/MultiMarkdown Support