Top 50 Awesome List


Miscellaneous  29 days ago  18.9k
😱 Falsehoods Programmers Believe in
View on Github

Sep 1st


  • Falsehoods about Email - On addresses, content and delivery.
  • Jun 21st


  • Falsehoods about Plain Text - Plain text can't cut it, which makes Unicode even more incredible for its ability to just work well.
  • Falsehoods about text - A subset of the falsehoods from above, illustrated with some examples.
  • Business

  • Falsehoods about Online Shopping - Covers prices, currencies and inventory.
  • Geography

  • Falsehoods about Geography - Takes on places, their names and locations.
  • Apr 26th

    Dates and Time

  • The Long, Painful History of Time - Most of the idiosyncrasies in timekeeping can find an explanation in history.
  • How to choose between UT1, TAI and UTC - Depends on your priorities between SI seconds, earth rotation sync, leap seconds avoidance.
  • Critical and Significant Dates - From Y2K to the overflow of 32-bit seconds from Unix epoch, a list of special date to watch for depending on the system.
  • Software Engineering

  • Rules for Autocomplete - Not falsehoods per se, but still a great list of good practices to implement autocompletion.
  • Apr 4th


  • DDEX - The industry standard for music metadata, including archiving, sound recording, sales and usage reporting, royalties and license deals.
  • Apple Music Style Guide - Quality insurance guidelines to format music, art, and metadata to increase discoverability.
  • Horrible edge cases to consider when dealing with music - Music catalogs data are full of crazy stuff.
  • MusicBrainz database schema - An open-source project and database that seems to have solved the complexity of music catalog management.
  • Mar 30th

    Dates and Time

  • Falsehoods about Unix Time - Mind the leap second!
  • $26,000 Overcollection by Labor Department - The consequence of wrong calendar accounting.
  • Human Identity

  • Falsehoods about Gender: #1 & #2 - Gender is part of human identity and has its own subtleties.
  • XKCD #327: Exploits of a Mom - Funny take on how implementation of a falsehood might lead to security holes.
  • My name causes an issue with any booking! - Old airline reservation systems considers the MR suffix as Mister and drops it.
  • Phone Numbers

  • libphonenumber - Google's common Java, C++ and JavaScript library for parsing, formatting, and validating international phone numbers. Also available for C#stars565, Objective-Cstars2.3k, Pythonstars3.1k, Rubystars547 and PHPstars4.2k.
  • Software Engineering

  • Hi! My name is… - This talk could have been named "falsehoods about usernames (and other identifiers)".
  • Jan 11th


  • CLDR currency definitions - Currency validity date ranges overlap due to revolts, invasions, new constitutions, and slow planned adoption.
  • Nov 14th, 2021


  • Falsehoods about Airline Seat Maps - Airline seat maps are far more complex than just neat rows and columns of seats.
  • Oct 24th, 2021

    Dates and Time

  • RFC-3339 vs ISO-8601 - An giant list of formats from the two standards, how they overlaps, and live examples.
  • Oct 18th, 2021

    Software Engineering

  • What every software engineer should know about search - A better sourced article on the difficulty of implementing search engines.
  • Oct 8th, 2021

    Software Engineering

  • Falsehoods about Package Managers - Covers package and their managers.
  • Sep 23rd, 2021

    Software Engineering

  • Falsehoods about REST APIs - Pitfalls to be mindful of when creating and documenting APIs.
  • Sep 6th, 2021

    Video Games

  • The Door Problem - All the things you have not considered implementing for your doors in games.
  • Sep 2nd, 2021


  • Your E-Mail Validation Logic is Wrong - A summary of the various, surprising things that are allowed in an email address.
  • Software Engineering

  • Falsehoods about garbage collection - Misconceptions about the predictability and performance of garbage collection.
  • Geography

  • I Hate Coordinate Systems - A guide for geospatial practitioners on diagnosing and fixing common issues with coordinate systems.
  • Jul 3rd, 2021


  • URLs: It's complicated… - There's a lot of components in an URL, and all have their own logic.
  • Feb 8th, 2021


  • 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 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.
  • Falsehoods about Carsstars6 - Even something as common as defining a car is full of pitfalls.
  • Dates and Time

  • Falsehoods about Time - Seminal article on dates and time.
  • More Falsehoods about Time - Part. 2 of the article above.
  • Falsehoods about Time and Time Zones - Another takes on time-related falsehoods, with an emphasis on time zones.
  • Critique of Falsehoods about Time - Takes on the first article above and provides an explanation of each falsehood, with more context and external resources.
  • Falsehoods about Time Zones - Has some nice points regarding the edge-cases of DST transitions.
  • Geography

  • Falsehoods about Maps - Covers coordinates, projection and GIS.
  • Human Identity

  • Falsehoods about Names - The article that started it all.
  • Falsehoods about Names – With Examples - A revisited version of the article above, this time with detailed explanations.
  • Falsehoods about Biometrics - Fingerprints are not unique.
  • Falsehoods about Families - You can't really define a family with strict rules.
  • Falsehoods about Me - Issues at the intersection of names and gender and internationalization.
  • Internationalization

  • Falsehoods about Language - Translating a software from English is not as straightforward as it seems to be.
  • Management

  • Falsehoods about Job Applicants - Assumptions about job applicants and their job histories aren't necessarily true.
  • Multimedia

  • Falsehoods about Video - Cover it all: video decoding and playback, files, image scaling, color spaces and conversion, displays and subtitles.
  • Networks

  • Falsehoods about Networks - Covers TCP, DHCP, DNS, VLANs and IPv4/v6.
  • Phone Numbers

  • Falsehoods about Phone Numbers - Covers phone numbers, their representation and meaning.
  • Postal Addresses

  • Falsehoods about Addresses - Covers streets, postal codes, buildings, cities and countries.
  • Falsehoods about Residence - It's not only about the address itself, but the relationship between a person and its residence.
  • Science

  • Falsehoods about Systems of Measurement - On working with systems of measurement and converting between them.
  • Society

  • Falsehoods about Political Appointments - Designing election systems has its own tricks.
  • Falsehoods about Women In Tech - Myth about women in STEM (Science, Technology, Engineering, Math) industries.
  • Software Engineering

  • Falsehoods about Versions - Attributing an identity to a software release might be harder than thought.
  • Falsehoods about Build Systems - Building software is hard. Building software that builds software is harder.
  • Falsehoods about CSVs - While RFC4180 to exists, it is far from definitive and goes largely ignored.
  • Falsehoods about Testing - An attempt to establish a list of falsehoods about testing.
  • Falsehoods about Search - Why search (including analysis, tokenization, highlighting) is deceptively complex.
  • Falsehoods about Bitcoin - A list of mistaken perspectives on Bitcoin.
  • Falsehoods about Pagination - Why your pagination algorithm is giving someone (possibly you) a headache.
  • Myths about File Paths - Diversity of file-systems and OSes makes file paths a little harder than we might think of.
  • Myths about CPU Caches - Misconceptions about caches often lead to false assertions, especially when it comes to concurrency and race conditions.
  • Myths about /dev/urandom - There are a few things about /dev/urandom and /dev/random that are repeated again and again. Still they are false.
  • Typography

  • Falsehoods about Fontsstars88 - Assumptions about typography on the web and in desktop applications.
  • Dec 7th, 2020


  • Falsehoods Programmers Believe - A brief list of common falsehoods. A great overview and quick introduction into the world of falsehoods.
  • Business

  • tax - A PHP 5.4+ tax management library.
  • Dates and Time

  • Your Calendrical Fallacy Is Thinking… - List covering intercalation and cultural influence, made by a community of iOS and macOS developers.
  • Time Zone Database - Code and data that represent the history of local time for many representative locations around the globe.
  • You Advocate a Calendar Reform - Your idea will not work. This article tells you why.
  • So You Want to Abolish Time Zones - Abolishing timezones may sound like a good idea, but there are quite a few complications that make it not quite so.
  • The Problem with Time & Timezones - A video about why you should never, ever deal with timezones if you can help it.
  • ISO-8601, YYYY, yyyy, and why your year may be wrong - String formatting of date is hard.
  • UTC is Enough for everyone, right? - There are edge cases about dates and time (specifically UTC) that you probably haven't thought of.
  • Storing UTC is not a silver bullet - "Just store dates in UTC" is not always the right approach.
  • Why is subtracting these two times (in 1927) giving a strange result? - Infamous Stack Overflow answer about both complicated historical timezones, and how historical dates can be re-interpreted by newer versions of software.
  • Education

  • Falsehoods CS Students (Still) Believe Upon Graduating - A list of things (not only) computer science students tend to erroneously and at times surprisingly believe even though they (probably) should know better.
  • Emails

  • I Knew How to Validate an Email Address Until I Read the RFC - Provides intricate examples that are unsuspected valid email addresses according the RFC-822.
  • So you think you can validate email addresses (FOSDEM 2018) - Presentation of edge-case email addresses and why you should not use regex to parse them.
  • Human Identity

  • Gay Marriage: The Database Engineering Perspective - How to store a marriage in a database while addressing most of the falsehoods about gender, naming and relationships.
  • Personal Names Around the World - How do people's names differ around the world, and what are the implications for the Web?
  • Hello, I'm Mr. Null. My Name Makes Me Invisible to Computers - Real-life example on how implemented falsehood has negative impact on someone's life.
  • HL7 v3 RIM - A flexible data model for representing human names.
  • Apple iOS NSPersonNameComponentsFormatter - Localized representations of the components of a person's name.
  • Internationalization

  • Internationalis(z)ing Code - A video about things you need to keep in mind when internationalizing your code.
  • Minimum to Know About Unicode and Character Sets - A good introduction to unicode, its historical context and origins, followed by an overview of its inner working.
  • Awesome Unicodestars806 - A curated list of delightful Unicode tidbits, packages and resources.
  • Dark corners of Unicode - Unicode is extensive, here be dragons.
  • Let's Stop Ascribing Meaning to Code Points - Dives deeper in Unicode and dispels myths about code points.
  • Breaking Our Latin-1 Assumptions - Most programmers spend so much time with Latin-1 they forgets about other's scripts quirks.
  • Ode to a shipping label - Character encoding is hard, more so when each broken layer of data input adds its own spice.
  • i18n Testing Datastars61 - Compilation of real-word international and diverse name data for unit testing and QA.
  • Big List of Naughty Stringsstars43.7k - A huge corpus of strings which have a high probability of causing issues when used as user-input data. A must have set of practical edge-cases to test your software against.
  • Networks

  • Fallacies of Distributed Computing - Assumptions that programmers new to distributed applications invariably make.
  • There's more than one way to write an IP address - Some parts of the address are optional, mind the decimal and octal notations, and don't forget IPv6 either.
  • hostname-validate - An attempt to validate hostnames in Python.
  • Postal Addresses

  • Letter Delivered Despite No Name, No Address - Ultimate falsehood about postal addresses: you do not need one.
  • The Bear with Its Own ZIP Code - Smokey Bear has his own ZIP Code (20252) because he gets so much mail.
  • Regex and Postal Addresses - Why regular expressions and street addresses do not mix.
  • libaddressinput - Google's common C++ and Java library for parsing, formatting, and validating international postal addresses.
  • addressing - A PHP 5.4+ addressing library, powered by Google's dataset.
  • postal-address - Python module to parse, normalize and render postal addresses.
  • address - Go library to validate and format addresses using Google's dataset.
  • Software Engineering

  • Popular misconceptions about mtime - Part of a post on why file's mtime comparison could be considered harmful.
  • Floating Point Math - "Your language isn't broken, it's doing floating point math. (…) This is why, more often than not, 0.1 + 0.2 != 0.3."
  • Typography

  • Truths programmers should know about case - A complete reverse of the falsehoods format, on the topic of case (as in uppercase and lowercase text).
  • Geography

  • Top 5 most insane kanji place names in Japan - “There's one special group of kanji that's hard even for Japanese people to read: place names.”
  • Nov 11th, 2020

    Postal Addresses

  • Parsing the Infamous Japanese Postal CSV - “I saw many horrors, but I've never seen this particular formatting choice anywhere else.”
  • Oct 28th, 2020


  • 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 &AMP; TWINE LTD and SAFDASD & SFSAF \' SFDAASF\" LTD.
  • Aug 6th, 2020


  • 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.
  • Mar 1st, 2020

    Software Engineering

  • Norway is not False - Norway's ISO country code is also valid YAML for False.
  • Feb 13th, 2020

    Software Engineering

  • The Hidden Complexity of Downloading Favicons, Told in 15+ Edge Cases - Downloading that little icon you see in you browser tabs should be a simple exercise. It turned out to be a lot more complicated than you think. Be vigilant that you are not shaving a Yak.
  • Jan 21st, 2020


  • Postdoc myths - Lots of things are said, written and believed about postdoctoral researchers that are simply not true..
  • Last Checked At: 2022-09-30T16:45:09.098Z


    Track your favorite github awesome repo, not just star it. provides website, newsletter, RSS for tracking the popular awesome list by daily and weekly.
    Contact us: [email protected]
    Track Awesome List - Track your favorite Github awesome repos, not just star them | Product Hunt


    Subscribe to our weekly newsletter to receive the awesome updates! We never send spam and you can unsubscribe instantly with one click. Here's past issues.


    Follow us on TwitterSubscribe us on TelegramSubmit awesome list repoNewsletterDonateSitemap