Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>It's so trivially easy to find real world counterexamples to just about any software that it's a barely interesting exercise (IMO).

These lists hopefully make programmers aware that a lot of their assumptions about the real world might be wrong, or at least questionable.

Examples are assumptions on the local part of email addresses without checking the appropriate RFCs. Which then get enshrined in e.g. JavaScript libraries which everyone copies. I've been annoyed for the last 30 years by websites where the local part is expected to be composed of only [a-z0-9_-] although the plus sign (and many other characters) are valid constituents of a local part.

Or assumptions on telephone numbers. Including various ways (depending on local culture) of structuring their notation, e.g. "123 456 789" versus "12-3456-89" where software is too dumb to just ignore spaces or dashes, or even a stray whitespace character copied by accident with the mouse.

And those forms where you have to enter a credit card (or bank account number) in fields of n characters each, which makes cut/copy/paste difficult because you notes contain it in the "wrong" format.

So while some examples may count as "just usability" it all stemps from naive assumptions by programmers who think one size fits all (it doesn't).




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: