awesome-falsehood
Falsehoods
A curated list of common falsehoods programmers believe in, with articles on various topics to help developers become more aware of false assumptions.
đ± Falsehoods Programmers Believe in
24k stars
369 watching
564 forks
last commit: 15 days ago
Linked from 7 awesome lists
awesomeawesome-listdateedge-casesemailengineeringfalsehoodsgeographyidentityinternationalizationmythsnetworkphone-numberphone-numberspostal-addressesprogrammingresourcestimetypography
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 | 474 | 3 months ago | 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: | ||
Characters < and > in company names lead to XSS attacks | Because , a hacker leveraged them to register , but also , and | ||
Minutiae of company names | How the rules of the State of Delaware and the IRS does not intersects | ||
CLDR currency definitions | 923 | 3 days ago | Currency validity date ranges overlap due to revolts, invasions, new constitutions, and slow planned adoption |
tax | 276 | 3 months ago | A PHP 5.4+ tax management library |
Cryptocurrency | |||
Falsehoods about Bitcoin | 67 | 17 days ago | A list of mistaken perspectives on Bitcoin |
Falsehoods about Ethereum | Misconceptions and common pitfalls in contract programming | ||
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 Unix Time | Mind the leap second! | ||
Falsehoods about Time Zones | Has some nice points regarding the edge-cases of DST transitions | ||
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 | ||
The Long, Painful History of Time | Most of the idiosyncrasies in timekeeping can find an explanation in history | ||
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 | ||
$26,000 Overcollection by Labor Department | The consequence of wrong calendar accounting | ||
RFC-3339 vs ISO-8601 | An giant list of formats from the two standards, how they overlaps, and live examples | ||
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 | ||
How to choose between UT1, TAI and UTC | Depends on your priorities between SI seconds, earth rotation sync, leap seconds avoidance | ||
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 | ||
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 | ||
The Soul of a New Machine | âI'm going to a commune in Vermont and will deal with no unit of time shorter than a season.â - Is the note left on his terminal by a quitting engineer in the 70s, after too much effort toiling away on sub-second timing concerns. Source: | ||
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 | ||
Postdoc myths | âLots of things are said, written and believed about postdoctoral researchers that are simply not true.â | ||
Emails | |||
Falsehoods about Email | On addresses, content and delivery | ||
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 | ||
Your E-Mail Validation Logic is Wrong | A summary of the various, surprising things that are allowed in an email address | ||
libvldmail | 52 | 3 months ago | A library that implements RFC-based checks for e-mail addresses |
Geography | |||
Falsehoods about Geography | Takes on places, their names and locations | ||
Falsehoods about Maps | Covers coordinates, projection and GIS | ||
I Hate Coordinate Systems | A guide for geospatial practitioners on diagnosing and fixing common issues with coordinate systems | ||
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.â | ||
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 | ||
#1 | Falsehoods about Gender: & - Gender is part of human identity and has its own subtleties | ||
Falsehoods about Me | Issues at the intersection of names and gender and internationalization | ||
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? | ||
XKCD #327: Exploits of a Mom | Funny take on how implementation of a falsehood might lead to security holes | ||
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 | |||
Falsehoods about Language | Translating a software from English is not as straightforward as it seems to be | ||
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 | ||
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 Unicode | 912 | over 2 years ago | 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 | ||
Unicode misconceptions | A collection of falsehoods on case, encodings, string length, and more | ||
Breaking Our Latin-1 Assumptions | Most programmers spend so much time with 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 | ||
Localization Failure: Temperature is Hard | You cannot localize temperature differences as-is | ||
i18n Testing Data | 64 | over 4 years ago | Compilation of real-word international and diverse name data for unit testing and QA |
Big List of Naughty Strings | 46,201 | 7 months ago | 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 |
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 | ||
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 | ||
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 | ||
Networks | |||
Falsehoods about Networks | Covers TCP, DHCP, DNS, VLANs and IPv4/v6 | ||
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 either | ||
IDN is crazy | International characters in domain names mean support of homographs and heterographs | ||
hostname-validate | 5 | about 2 years ago | An attempt to validate hostnames in Python |
Phone Numbers | |||
Falsehoods about Phone Numbers | 16,696 | 7 days ago | Covers phone numbers, their representation and meaning |
libphonenumber | 16,696 | 7 days ago | Google's common Java, C++ and JavaScript library for parsing, formatting, and validating international phone numbers. Also available for , , , and |
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 | ||
Letter Delivered Despite No Name, No Address | Ultimate falsehood about postal addresses: you do not need one | ||
UK Address Oddities | Quirks extracted from a list of most residential property sales in England and Wales since 1995 | ||
What is the Most Minimal UK Address Possible? | The trick is to rely on postcodes, which in the UK are pretty specific and âoften identify one or a few specific buildings, unlike countries where a postcode represents an entire neighbourhoodâ | ||
The Bear with Its Own ZIP Code | Smokey Bear has his own ZIP Code ( ) because he gets so much mail | ||
Why doesn't Costa Rica use real addresses? | Costa Rican uses an idiosyncratic system of addresses that relies on landmarks, history and quite a bit of guesswork | ||
Regex and Postal Addresses | Why regular expressions and street addresses do not mix | ||
Parsing the Infamous Japanese Postal CSV | âI saw many horrors, but I've never seen this particular formatting choice anywhere else.â | ||
USPS Postal Addressing Standards | Describes both standardized address formats and content | ||
libaddressinput | 580 | 6 months ago | Google's common C++ and Java library for parsing, formatting, and validating international postal addresses |
addressing | 922 | 10 days ago | A PHP 5.4+ addressing library, powered by Google's dataset |
postal-address | 182 | about 1 year ago | Python module to parse, normalize and render postal addresses |
address | 90 | 9 months ago | Go library to validate and format addresses using Google's dataset |
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 | 68 | almost 4 years ago | 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 Undefined Behavior | Invoking undefined behavior can cause to happen, for a much broader definition of "anything" than one might think | ||
Falsehoods about CSVs | While RFC4180 to exists, it is far from definitive and goes largely ignored | ||
Falsehoods about Package Managers | Covers package and their managers | ||
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 | ||
What every software engineer should know about search | A better sourced article on the difficulty of implementing search engines | ||
Falsehoods about Pagination | Why your pagination algorithm is giving someone (possibly you) a headache | ||
Falsehoods about garbage collection | Misconceptions about the predictability and performance of garbage collection | ||
Myths about File Paths | Diversity of file-systems and OSes makes file paths a little harder than we might think of | ||
The weird world of Windows file paths | âOn any Unix-derived system, a path is an admirably simple thing: if it starts with a , it's a path. Not so on Windows.â | ||
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 and that are repeated again and again. Still they are false | ||
Facts about State Machines | State machines are often misunderstood and under-applied | ||
Hi! My name is⊠| This talk could have been named | ||
Popular misconceptions about mtime | Part of a post on why file's comparison could be considered harmful | ||
Rules for Autocomplete | Not falsehoods , but still a great list of good practices to implement autocompletion | ||
Floating Point Math | âYour language isn't broken, it's doing floating point math. (âŠ) This is why, more often than not, .â | ||
The yaml document from hell | YAML is full of obscure complexity like accidental numbers and non-string keys | ||
I am endlessly fascinated with content tagging systems | There are edge-cases even in tagging systems which are supposed to be barebone | ||
Falsehoods about Quantum Technology | 9 | about 1 year ago | Common misconceptions about quantum technology and computers |
Falsehoods about Event-Driven Systems | Misconceptions about event driven systems and message passing | ||
Transportation | |||
Falsehoods about Cars | 6 | almost 3 years ago | Even something as common as defining a car is full of pitfalls |
Falsehoods about Airline Seat Maps | Airline seat maps are far more complex than just neat rows and columns of seats | ||
The Maddening Mess of Airport Codes | Having multiple international and national agencies trying to reconcile history, practicality and logistics makes codes follow arcane rules | ||
My name causes an issue with any booking! | Old airline reservation systems considers the suffix as and drops it | ||
Typography | |||
Falsehoods about Fonts | 101 | almost 7 years ago | Assumptions about typography on the web and in desktop applications |
Truths programmers should know about case | A complete reverse of the falsehoods format, on the topic of case (as in uppercase and lowercase text) | ||
Video Games | |||
The Door Problem | All the things you have not considered implementing for your doors in games | ||
Web | |||
Falsehoods about HTML | âWeb is beautiful. Web is ugly. Web is astonishing. A part of this appeal is HTML, with its historical quirks.â | ||
Falsehoods about REST APIs | Pitfalls to be mindful of when creating and documenting APIs | ||
URLs: It's complicated⊠| There's a lot of components in an URL, and all have their own logic | ||
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 |