explaingit

kdeldycke/awesome-falsehood

Analysis updated 2026-06-21

27,339Audience · developerComplexity · 1/5Setup · easy

TLDR

A curated list of articles exposing common false assumptions programmers make about real-world domains like dates, names, emails, phone numbers, and addresses, so you can learn the edge cases before they cause production bugs.

Mindmap

mindmap
  root((awesome-falsehood))
    What it is
      Curated link list
      No code involved
      Community maintained
    Topic Areas
      Dates and Time
      Emails
      Human Identity
      Phone Numbers
      Postal Addresses
    How to use
      Pre-coding checklist
      Background reading
    Audience
      Developers
      New programmers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Check which assumptions about phone numbers, dates, or addresses will cause bugs before writing your validation code.

USE CASE 2

Read background articles to understand why storing a person's name or a date is harder than it looks.

USE CASE 3

Share with a new developer as a primer on real-world edge cases in domains like billing or localization.

USE CASE 4

Use as a pre-code-review checklist when building features that touch messy real-world data.

How does it compare?

kdeldycke/awesome-falsehoodjashkenas/underscoreemscripten-core/emscripten
Stars27,33927,34027,347
LanguageJavaScriptC++
Setup difficultyeasyeasyhard
Complexity1/51/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

In plain English

Awesome Falsehood is a curated list of articles about ideas programmers commonly believe to be true but that turn out to be false. The README gives the canonical example of email validation: many people assume a valid email address contains exactly one at-sign and write code based on that rule, when in reality addresses can contain multiple at-signs. Each linked article in the list collects this kind of mistaken assumption for a particular domain, so you can learn the edge cases before they bite you in production. The repository itself is not software. It is a single readme that groups links into categories: 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, and Web. Each entry is one bullet with a short description plus a link to an external article or resource that lays out the falsehoods for that topic in detail. The Business section, for example, links to pieces about online shopping, prices, IBANs, economics, and real incidents where bad assumptions about money produced 100x overcharges in production accounting systems. Someone would use it when they are about to write code that touches one of these messy real-world domains, for instance form validation, address handling, localization, billing, or scheduling, and want to check ahead of time which simple assumptions are going to fail. It is also useful as background reading for new developers who want to understand why seemingly straightforward problems, like storing a person's name or a date, are harder than they look. Because it is a list of links rather than a program, there is no language or framework involved. The readme is in the standard awesome-list format, has a Chinese translation alongside the English version, and is maintained by Kevin Deldycke through community pull requests.

Copy-paste prompts

Prompt 1
I'm building a form that collects phone numbers from international users. What false assumptions about phone numbers should I avoid, based on the awesome-falsehood list?
Prompt 2
I'm about to write email validation code. What are the edge cases that make a simple regex wrong, based on the falsehoods programmers believe about emails?
Prompt 3
Help me review my date-handling code for common false assumptions developers make about time zones, calendars, and date formatting.
Prompt 4
What are the most dangerous assumptions developers make about postal addresses? Give me a checklist I can use before writing address storage code.
Prompt 5
I'm building a billing system. What false beliefs about money, prices, and currencies should I watch out for?

Frequently asked questions

What is awesome-falsehood?

A curated list of articles exposing common false assumptions programmers make about real-world domains like dates, names, emails, phone numbers, and addresses, so you can learn the edge cases before they cause production bugs.

How hard is awesome-falsehood to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is awesome-falsehood for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub kdeldycke on gitmyhub

Verify against the repo before relying on details.