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. :)

要查看或添加评论,请登录

Sam Schillace的更多文章

  • AI analogies and historical lessons

    AI analogies and historical lessons

    How to make sense of it all. I've decided to keep the primary posts over on Substack.

    1 条评论
  • Motion, Thought, Systems and AI

    Motion, Thought, Systems and AI

    In which I ponder how motion is like thought, why LLMs are like early steam engines (hitting things and pumping water),…

    4 条评论
  • Looking back at the Schillace "laws"

    Looking back at the Schillace "laws"

    Way back in, I think, March or so of 2023, after I’d spent a little while trying to build things with GPT-4, I wrote…

    5 条评论
  • A strange tech parable

    A strange tech parable

    In my role at Microsoft, part of what I do is spend time with the leadership team that runs M365, Office, and Windows…

    12 条评论
  • Simplicity, Clarity, Humility

    Simplicity, Clarity, Humility

    There is an old joke: “sorry this letter is so long, I didn’t have time to write a shorter one”. It’s funny, but it’s…

    4 条评论
  • A matter of context

    A matter of context

    It’s interesting that, as we talk about using AI more and more, the phrase we use is “human in the loop” instead of “AI…

    3 条评论
  • The tension between Chaos and Order

    The tension between Chaos and Order

    I’ve been spending the last week in Japan, meeting with makers and crafts people. as always, it’s a humbling…

    4 条评论
  • No Prize for Pessimism

    No Prize for Pessimism

    A book! I’ve been writing these letters for about 12 years now. I started writing them when I was at Box, as a way to…

    10 条评论
  • Adding Value in the Age of AI

    Adding Value in the Age of AI

    If you wrote out all possible combinations of, say, 1000 letters, the vast number of them would be nonsense. And the…

    3 条评论
  • Don't use AI to make work for humans

    Don't use AI to make work for humans

    I’ve started to notice an interesting pattern. More enlightened teams and people are using AI to get lots of work done…

    5 条评论

社区洞察

其他会员也浏览了