Wrong things that programmers believe, a curated list

Originally published at: http://boingboing.net/2016/10/18/wrong-things-that-programmers.html


Elizabethtown Ky. has College Street Road, and Hampstead, London has University College School.


A 30 character field is sufficient to hold the names of high schools and universities on a job application.

No. No it isn’t.


Address and road names i the UK arose sort of organically, but the US tries to systematise it. Any rules set based on the systematisation will exclude some examples that were not created from the system. There will always be ore diversity where something arose than where it’s been imported.

I live on a court, on a street. Trying to give my address to Americans always results in a short discussion.


A Curated List of Wrong Things Bloggers Believe:

  1. Programmers make decisions in a vacuum, and don’t have supervisors, funders and other collaborators making unrealistic / stupid demands that necessitate compromise.

  2. Everything found in programmers’ code reflects their “beliefs,” not the aforementioned compromises, demands, system limitations, reporting requirements or other intervening factors.

  3. These listicles are still funny / enlightening.


I came across this while I was researching stuff before making my literary character tracking website (whatcharacter.com). The sheer database layout this would require to implement properly is like a Lovecraftian god. You shouldn’t ever look directly at it if you value your sanity.

I can’t say I’ve gotten it all down, but it’s definitely a good reference whenever I’m about to tackle some schema tweaks.



The primary conceit of this list, and it’s adjacent lists, is that nobody will care about managing and mitigating the circumstances that this [relatively accurate and probably perpetually funny] list bubbles up for us.

It takes a lot of work, but it turns out that you can actually provide some structure to the chaos of the software universe. What you cannot do is mitigate all of the problems all of the time.


My favorite one:

 # Human injection
 # Strings which may cause human to reinterpret worldview

 If you're reading this, you've been in a coma for almost 20 years now. 
We're trying a new technique. We don't know where this message will 
end up in your dream, but we hope it works. Please wake up, we miss you.

I recall a frustrating phone call in the pre-internet days when I tried to order a magazine from the US. The coversation want something like

US guy: that can’t be right. No word begins with an 'Ng’
Me: well, I’m pretty sure Ngaio does, because i live here.
US: I understand you live there, but there aren’t any words that start 'ng’
Me: … yes … there are …
US: no there aren’t.
Me: …

I didn’t understand why he even cared. If I was lying to him, and got my own address wrong, well, he still had my money.


I need to find a way to use this somehow.

Maybe print off little slips of paper and leave them lying around.

Or an email signature.

Or something equally evil.


I once had to debug a page that crashed because of a customer named JOHN NULL.



Non-awesome falsehoods that people believe about programmers:

  1. That programmers can reasonably be expected to perfectly model the world (with all of its infinite complexities) with any more than a limited degree of success.

If we had to model every possible eventuality we’d never get any work done.


I will admit, it took me a bit of time to find out why example.o’brien@example.com was getting rejected from a form I built years ago. The culprit was a copypasta validator script written by someone who also hadn’t read the RFC. To be fair though, no one else in my office (early childhood non-profit in a huge, diverse city) believed me when I told them that was a legal email address.

Now dealing with a request from a clever lad from a client (city agency) to add email validation to a form (he needed something to say after taking 2 weeks to review the extremely simple form.) I was tempted to explain that over-validation isn’t all that helpful, and even if the email is formatted correctly, it could still be spelled wrong (more often the latter IME) and either way, we’ll know they didn’t get their confirmation when the server gets the “undeliverable” message back…but it’s just easier to just throw in a check for a “@” than explain things to a person whose job is “find something to comment on.”


In my last long term “make the world more obviously weird” project, I stuck removable stickers on the underside of tables in restaurants. I’m not a fan of the coma one though. It can cause dissociation for people who are prone to it.


Things get fun when you expand internationally. In Chinese the word for the number 4 sounds like the word for death (or maybe it was the number 7, I forget). We had to make sure the auto-generated life insurance policy number assigned to the application didn’t have a 4 in it. That was just one of a thousand issues we had – but one of the more fun ones.


Before you can sanitize your inputs, you must first sanitize yourself.


In the US, we invented gridded cities. Just point yourself in the direction you want to go, and go up/down and across as needed. It’s where the concept of Manhattan Distance came from.

It even extends way out into the sticks, at least in states that are pancake flat. My address in Indiana was something like 1234N 50E. No street name, just two numbers. In southern Ohio they didn’t really get the memo, and we’d have lots of street names like “[place that doesn’t exist anymore]-[other place that doesn’t exist anymore] Road” that just sort of form a web pattern.


Let’s not even get started on Polish street names. The descriptor goes in front like in French, but Polish nouns also have suffixes based on their grammatical case, and Polish street names are Genitive. For example, “ulica Noakowskiego”, which is “Noakowski Street”, or literally “Noakowski’s Street”.

Suffixes based on case (as in Polish or German), or the German prefixes that wander off the word and attach themselves to the end of the sentence, must really play hell with natural language processing.


That reminds me of a passage from one of my current favourite authors:

What followed was ten years of almost constant war between the Dragonlords of the Empire and the Easterners, during which the Easterners occupied the area and fought from the surrounding mountains. The Serioli, who departed the area to avoid any of the unfortunate incidents that war can produce, left only their name for the place, which was “Ben,” meaning “ford” in their language. The Easterners called the place “Ben Ford,” or, in the Eastern tongue, “Ben gazlo.”

After ten years of fierce battle, the Imperial Army won a great victory on the spot, driving the Easterners well back into the mountains. The Dragonlords who had found the place, then, began calling it “Bengazlo Ford.” The Dragons, wishing to waste as little time on speech as possible, shortened this to Benglo Ford, or in the tongue of the Dragon, which was still in use at the time, “Benglo ara.” Eventually, over the course of the millenia, the tongue of the Dragon fell out of use, and the Northwestern language gained preeminence, which rendered the location Bengloara Ford, which was eventually shortened to Bengloarafurd. The river crossing became the Bengloarafurd Ford, which name it held until after the Interregnum when the river was dredged and the Bengloarafurd Bridge was built. Should anyone be interested in finding this delightful city, it still stands, but the city was renamed Troe after the engineer who built the bridge, either because the citizens were proud of their new landmark, or because the engineer’s name was short.

-The Phoenix Guards by Steven Brust