Falsehoods Programmers Believe
A brief list of common falsehoods. A great overview and quick introduction into the world of falsehoods.
😱 Falsehoods Programmers Believe in
This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.
A brief list of common falsehoods. A great overview and quick introduction into the world of falsehoods.
A humbling and fun list on programming and programmers themselves.
Meta commentary on how these falsehoods shouldn't be handled.
False assumption that might be made in codifying music.
Common misconceptions about art.
Covers prices, currencies and inventory.
Covers currencies, amounts and localization.
International Bank Account Numbers are not international.
Economics are not simple or rational.
The importance of types in accounting software: missing the decimal point ends up with 100x over-charges.
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.
Insane compensation at Meta in the middle of the AI-boom breaks ERPs.
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 LTD and SAFDASD & SFSAF \' SFDAASF\" LTD.
How the rules of the State of Delaware and the IRS does not intersects.
🆓 Currency validity date ranges overlap due to revolts, invasions, new constitutions, and slow planned adoption.
🆓 A PHP 5.4+ tax management library.
A list of mistaken perspectives on Bitcoin.
Misconceptions and common pitfalls in contract programming.
Seminal article on dates and time.
Part. 2 of the article above.
Another takes on time-related falsehoods, with an emphasis on time zones.
Takes on the first article above and provides an explanation of each falsehood, with more context and external resources.
Mind the leap second!
Has some nice points regarding the edge-cases of DST transitions.
List covering intercalation and cultural influence, made by a community of iOS and macOS developers.
🆓 Code and data that represent the history of local time for many representative locations around the globe.
Most of the idiosyncrasies in timekeeping can find an explanation in history.
Your idea will not work. This article tells you why.
Abolishing timezones may sound like a good idea, but there are quite a few complications that make it not quite so.
A video about why you should never, ever deal with timezones if you can help it.
The consequence of wrong calendar accounting.
An giant list of formats from the two standards, how they overlaps, and live examples.
String formatting of date is hard.
There are edge cases about dates and time (specifically UTC) that you probably haven't thought of.
“Just store dates in UTC” is not always the right approach.
Depends on your priorities between SI seconds, earth rotation sync, leap seconds avoidance.
Infamous Stack Overflow answer about both complicated historical timezones, and how historical dates can be re-interpreted by newer versions of software.
From Y2K to the overflow of 32-bit seconds from Unix epoch, a list of special date to watch for depending on the system.
A list of things (not only) computer science students tend to erroneously and at times surprisingly believe even though they (probably) should know better.
“Lots of things are said, written and believed about postdoctoral researchers that are simply not true.”
On addresses, content and delivery.
Provides intricate examples that are unsuspected valid email addresses according the RFC-822.
Presentation of edge-case email addresses and why you should not use regex to parse them.
A summary of the various, surprising things that are allowed in an email address.
🆓 A library that implements RFC-based checks for e-mail addresses.
Takes on places, their names and locations.
Covers coordinates, projection and GIS.
Weather is location-dependent, and so full of edge-cases.
“Residing in an enclave within another country has often involved difficulties in such areas as passage rights, importing goods, currency, provision of utilities and health services, and host nation cooperation.” None of these attributes follows from a country code.
A guide for geospatial practitioners on diagnosing and fixing common issues with coordinate systems.
“There's one special group of kanji that's hard even for Japanese people to read: place names.”
The article that started it all.
A revisited version of the article above, this time with detailed explanations.
Fingerprints are not unique.
You can't really define a family with strict rules.
Issues at the intersection of names and gender and internationalization.
How to store a marriage in a database while addressing most of the falsehoods about gender, naming and relationships.
How do people's names differ around the world, and what are the implications for the Web?
Funny take on how implementation of a falsehood might lead to security holes.
Real-life example on how implemented falsehood has negative impact on someone's life.
A flexible data model for representing human names.
Localized representations of the components of a person's name.
Translating a software from English is not as straightforward as it seems to be.
Additional cases to complement the previous article.
Plain text can't cut it, which makes Unicode even more incredible for its ability to just work well.
Practical examples illustrating Unicode normalization, ligatures, surrogate pairs, character widths, and grapheme cluster pitfalls in substring operations.
A video about things you need to keep in mind when internationalizing your code.
A good introduction to unicode, its historical context and origins, followed by an overview of its inner working.
A curated list of delightful Unicode tidbits, packages and resources.
Unicode is extensive, here be dragons.
Dives deeper in Unicode and dispels myths about code points.
A collection of falsehoods on case, encodings, string length, and more.
Most programmers spend so much time with Latin-1 they forgets about other's scripts quirks.
Character encoding is hard, more so when each broken layer of data input adds its own spice.
You cannot localize temperature differences as-is.
🆓 Compilation of real-word international and diverse name data for unit testing and QA.
🆓 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.
Assumptions about job applicants and their job histories aren't necessarily true.
Cover it all: video decoding and playback, files, image scaling, color spaces and conversion, displays and subtitles.
Music catalogs data are full of crazy stuff.
An open-source project and database that seems to have solved the complexity of music catalog management.
The industry standard for music metadata, including archiving, sound recording, sales and usage reporting, royalties and license deals.
Quality insurance guidelines to format music, art, and metadata to increase discoverability.
Covers TCP, DHCP, DNS, VLANs and IPv4/v6.
Assumptions that programmers new to distributed applications invariably make.
Some parts of the address are optional, mind the decimal and octal notations, and don't forget IPv6 either.
International characters in domain names mean support of homographs and heterographs.
Covers phone numbers, their representation and meaning.
Covers streets, postal codes, buildings, cities and countries.
It's not only about the address itself, but the relationship between a person and its residence.
Ultimate falsehood about postal addresses: you do not need one.
Quirks extracted from a list of most residential property sales in England and Wales since 1995.
Smokey Bear has his own ZIP Code (20252) because he gets so much mail.
Costa Rican uses an idiosyncratic system of addresses that relies on landmarks, history and quite a bit of guesswork.
Why regular expressions and street addresses do not mix.
“I saw many horrors, but I've never seen this particular formatting choice anywhere else.”
Describes both standardized address formats and content.
🆓 Google's common C++ and Java library for parsing, formatting, and validating international postal addresses.
🆓 A PHP 5.4+ addressing library, powered by Google's dataset.
🆓 Python module to parse, normalize and render postal addresses.
🆓 Go library to validate and format addresses using Google's dataset.
On working with systems of measurement and converting between them.
Designing election systems has its own tricks.
Myth about women in STEM (Science, Technology, Engineering, Math) industries.
Attributing an identity to a software release might be harder than thought.
Building software is hard. Building software that builds software is harder.
Invoking undefined behavior can cause anything to happen, for a much broader definition of "anything" than one might think.
Misconceptions about caches often lead to false assertions, especially when it comes to concurrency and race conditions.
Null pointers are even more cursed than pointers in general, and provenance already makes pointers quite complicated.
While RFC4180 to exists, it is far from definitive and goes largely ignored.
Covers package and their managers.
An attempt to establish a list of falsehoods about testing.
Why search (including analysis, tokenization, highlighting) is deceptively complex.
A better sourced article on the difficulty of implementing search engines.
Why your pagination algorithm is giving someone (possibly you) a headache.
Misconceptions about the predictability and performance of garbage collection.
Diversity of file-systems and OSes makes file paths a little harder than we might think of.
“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.”
There are a few things about /dev/urandom and /dev/random that are repeated again and again. Still they are false.
State machines are often misunderstood and under-applied.
This talk could have been named falsehoods about usernames (and other identifiers).
Part of a post on why file's mtime comparison could be considered harmful.
Not falsehoods per se, but still a great list of good practices to implement autocompletion.
“Your language isn't broken, it's doing floating point math. (…) This is why, more often than not, 0.1 + 0.2 != 0.3.”
YAML is full of obscure complexity like accidental numbers and non-string keys.
There are edge-cases even in tagging systems which are supposed to be barebone.
Misconceptions about event driven systems and message passing.
False conceptions about the identifiers that are used to identify and link research outputs (and a lot of other things).
CVE ≠ vulnerability (and 36 other confusions).
Aviation data are less normalized than you might think.
Airline seat maps are far more complex than just neat rows and columns of seats.
Having multiple international and national agencies trying to reconcile history, practicality and logistics makes codes follow arcane rules.
Old airline reservation systems considers the MR suffix as Mister and drops it.
Assumptions about typography on the web and in desktop applications.
A complete reverse of the falsehoods format, on the topic of case (as in uppercase and lowercase text).
All the things you have not considered implementing for your doors in games.
“Web is beautiful. Web is ugly. Web is astonishing. A part of this appeal is HTML, with its historical quirks.”
Pitfalls to be mindful of when creating and documenting APIs.
There's a lot of components in an URL, and all have their own logic.
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.
laoma2053/awesome-zhuiju-free
免费无广告的追剧资源指南,人工精选资源、每天检测资源有效性。收录在线影视、影视APP、网盘搜索、磁力BT、字幕、TVBox / 影视仓空壳软件/配置地址、IPTV直播源、会员拼团、影视相关开源项目。开源,社区共同维护。
44bits/awesome-opensource-documents
:blue_book: A curated list of awesome open source or open source licensed documents, guides, books.
chaofengc/Awesome-Image-Quality-Assessment
A comprehensive collection of IQA papers
PicoTrex/Awesome-Nano-Banana-images
A curated collection of fun and creative examples generated with Nano Banana & Nano Banana Pro🍌, Gemini-2.5-flash-image based model. We also release…
ZYSzys/awesome-captcha
:key: Curated list of awesome captcha libraries and crack tools.
ScaleLeap/awesome-amazon-seller
A curated list of tools and resources for Amazon sellers.