Yᴏᴜʀ Pʀᴏᴅᴜᴄᴛ ʜᴇʀᴇ!
Add a link to your company or project here: purchase a GitHub sponsorship.
The logic of the world is prior to all truth and falsehood.
— Ludwig Wittgenstein[1]
A curated list of falsehoods programmers believe in. A falsehood is an idea that you initially believed was true, but in reality, it is proven to be false.
E.g. of an idea: valid email address exactly has one @ character. So, you will use this rule to implement your email-field validation logic. Right? Wrong! The reality is: emails can have multiple @ chars. Therefore your implementation should allow this. The initial idea is a falsehood you believed in.
The falsehood articles listed below will have a comprehensive list of those false-beliefs that you should be aware of, to help you become a better programmer.
Contents
- Meta
- Arts
- Business
- Cryptocurrency
- Dates and Time
- Education
- Emails
- Geography
- Human Identity
- Internationalization
- Management
- Multimedia
- Networks
- Phone Numbers
- Postal Addresses
- Science
- Society
- Software Engineering
- Transportation
- Typography
- Video Games
- Web
Meta
- Falsehoods Programmers Believe - A brief list of common falsehoods. A great overview and quick introduction into the world of falsehoods.
- Falsehoods about Programming - A humbling and fun list on programming and programmers themselves.
- Falsehoods about Falsehoods Lists - Meta commentary on how these falsehoods shouldn't be handled.
Arts
- Falsehoods about Music - False assumption that might be made in codifying music.
- Falsehoods about Art - Common misconceptions about art.
Business
- Falsehoods about Online Shopping - Covers prices, currencies and inventory.
- Falsehoods about Prices - Covers currencies, amounts and localization.
- Falsehoods about IBANs - International Bank Account Numbers are not international.
- Falsehoods about Economics - Economics are not simple or rational.
- Decimal Point Error in Etsy's Accounting System - The importance of types in accounting software: missing the decimal point ends up with 100x over-charges.
- Twenty five thousand dollars of funny money - Same error as above at Google Ads, or the danger of separating your pennies from your dollars, where $250 internal coupons turned into $25,000. My advice: get rid of integers and floats for monetary values. Use decimals. Or fallback to strings and parse them, don't validate.
- “The system can’t handle a billion dollars” - Insane compensation at Meta in the middle of the AI-boom breaks ERPs.
- Characters
<and>in company names lead to XSS attacks - Because UK allows companies to be registered with special characters, a hacker leveraged them to register\"><SCRIPT SRC=MJT.XSS.HT></SCRIPT> LTD, but also; DROP TABLE "COMPANIES";-- LTD,BETTS & TWINE LTDandSAFDASD & SFSAF \' SFDAASF\" LTD.