Don't lie to the computer

This seems like a funny thing to say. Why would anyone ever lie to a computer? To spare its feelings? Social awkwardness? It’s absurd!

But it actually happens more often than you think in programming, and it usually ends in tears - computers, as we all know, are really dumb. They won’t figure out that you’re lying and do the right thing, they’ll just take you at your word.

This happens sometimes with things like bug databases and alerts. I’ve seen teams do things like invent “bug level 2.5” because the level 3’s were too messy to deal with but they needed to fix some things that were not really as bad as 2’s. This is lying to the computer! You’re pretending there’s really this other level and that it’s ok that there are so many 3’s, but it’s not true.

This can happen in software design too. Usually it takes the form of not really thinking clearly about what the fundamentals of the problem at hand are. It could be that you’ve designed something that is O(N^2) and are ignoring the fact that it’s possible to have really large inputs. Or it might be that you’re pretending that some algorithm can compute something in all cases, when it’s really only working in the current case you care about. That would be ok, but if it gets labelled “general thing”, that’s lying, and at some point the computer or a fellow programmer will fall over because of it.

It’s always tempting to lie to the computer. We often don’t have time to think through all of the edge cases and implications of a design, and we’re impatient, so being dishonest about what the problem really is so we can ignore parts of it is really tempting. But with any other relationship, lying is usually not a good idea in the long run. :)

To view or add a comment, sign in

More articles by Sam Schillace

  • Machine With Concrete

    There’s a very cool exhibit in the San Francisco Exploratorium, called “Machine with Concrete”. It’s a long series of…

    7 Comments
  • Too Many Mental Calories

    I think there’s an interesting connection between the obesity epidemic and AI. Bear with me on this.

    10 Comments
  • The Genetics of AI

    There is a pattern in evolutionary theory, called ‘punctuated equilibrium’. Roughly speaking, the evolutionary record…

    1 Comment
  • AI and the Marshmallow Test

    I have ADHD. I’m super impatient.

    10 Comments
  • AI is stronger than you

    The internet taught all of us to expect that almost everything - devices, businesses, software of any kind - is…

    4 Comments
  • The Importance of Taste

    In the past 30 days, I’ve written (well, caused to be written) more lines of code, than in the entire rest of my career…

    12 Comments
  • Dangerous fools and Daisy Wheels

    When I was in college (yeah, back before there was fire, we still had college) the Mac Classic was a new thing, and the…

    4 Comments
  • Universal Innovator's Dilemma

    In 1997, Clayton Christensen wrote a book called “The Innovator’s Dilemma” where he described a common, and difficult…

    3 Comments
  • The agent shaped world

    Ok, this one is about AI too, but you probably should read it. As you know, I spend essentially all of my time these…

    7 Comments
  • Attention is all you have

    Like almost everyone right now, I am noticing that heavy AI use is exhausting (if you haven’t seen it, there’s a…

    14 Comments

Others also viewed

Explore content categories