1
0
Fork 0
mirror of https://github.com/kdeldycke/awesome-falsehood.git synced 2025-02-10 15:45:47 -05:00
falsehood/README.md

163 lines
6.5 KiB
Markdown
Raw Normal View History

2016-09-08 11:22:55 +02:00
# Awesome Falsehood [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
2016-09-08 12:18:23 +02:00
A curated list of awesome falsehoods programmers believe in.
2016-09-08 11:22:55 +02:00
2016-09-09 02:04:13 +02:00
> The logic of the world is prior to all truth and falsehood.
> - Ludwig Wittgenstein
2016-09-08 11:22:55 +02:00
2016-09-09 01:44:50 +02:00
## Contents
2016-09-09 01:51:21 +02:00
- [Foreword](#foreword)
2016-09-09 01:44:50 +02:00
- [Good candidates](#good-candidates)
- [*Falsehood* articles](#falsehood-articles)
- [Libraries](#libraries)
- [Data structures](#data-structures)
- [Meta](#meta)
- [Build systems](#build-systems)
- [Dates and time](#dates-and-time)
- [E-commerce](#e-commerce)
- [Emails](#emails)
- [Gender](#gender)
- [Geography](#geography)
- [Human names](#human-names)
- [Networks](#networks)
- [Phone numbers](#phone-numbers)
- [Prices](#prices)
- [Postal addresses](#postal-addresses)
- [Versions](#versions)
- [Contributing](#contributing)
- [License](#license)
## Foreword
*Falsehood* articles are a form of commentary on a particular subject, and are
2016-09-09 01:16:46 +02:00
appreciated by the developer community at large for their effectiveness and
density. They're a convenient written form to approach an unfamiliar domain by
dispelling myths, point out common pitfalls, show inconsistencies and
2016-09-09 01:16:46 +02:00
subtleties.
They might looks like to some as a suite of wordy unit-tests covering extensive
edge-cases provided by real-world usage.
2016-09-09 00:18:43 +02:00
2016-09-09 01:44:50 +02:00
## Good candidates
Here is a non-restrictive list of items which are good candidates for inclusion
in this awesome list.
2016-09-09 00:18:43 +02:00
2016-09-09 01:44:50 +02:00
### *Falsehood* articles
2016-09-09 00:18:43 +02:00
Articles following the *falsehood* scheme are prime candidates for inclusion in
this awesome list.
These articles starts with the hypothesis that developers have a naive, simple
2016-09-09 01:16:46 +02:00
view of the subject at hand. Then proceed to list a set of candid assumptions
that might be held by such programmers. Each one is intentionally false, and
sometimes illustrated by a counter-example.
A list of falsehood is crafted as a progression that is designed to refine
2016-09-09 01:16:46 +02:00
concepts. Having read the whole list of falsehood, the reader should possess a
global, if not complete, overview of the domain being targeted by the article,
including most, if not all, its pitfalls, edges-cases and inconsistencies.
2016-09-09 01:44:50 +02:00
### Libraries
When possible, we provide a list of programming libraries or modules that may
2016-09-09 01:16:46 +02:00
solve, or try to, the complexities and idiosyncrasies pointed by the
*falsehood* articles above.
### Data structures
Data models and structures generic enough to cover and addresses most of the
falsehoods are also welcome in this page.
2016-09-09 00:18:43 +02:00
2016-09-09 00:19:40 +02:00
## Meta
2016-09-09 01:51:36 +02:00
- [Awesome Falsehood](https://github.com/kdeldycke/awesome-falsehood) - A
curated list of awesome falsehoods programmers believe in.
2016-09-09 00:19:40 +02:00
- [Falsehoods Programmers Believe](http://spaceninja.com/2015/12/08/falsehoods-programmers-believe/) - A brief list of common falsehoods. A great overview and quick introduction into the world of falsehoods.
2016-09-09 00:19:21 +02:00
## Build systems
- [Falsehoods programmers believe about build systems](http://pozorvlak.livejournal.com/174763.html)
2016-09-09 00:18:43 +02:00
## Dates and time
2016-09-08 11:22:55 +02:00
- [Falsehoods programmers believe about time](http://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time) - Seminal article on dates and time.
- [More falsehoods programmers believe about time](http://infiniteundo.com/post/25509354022/more-falsehoods-programmers-believe-about-time) - Part. 2 of the article above.
2016-09-09 01:16:46 +02:00
- [Falsehoods programmers believe about time and time zones](http://www.creativedeletion.com/2015/01/28/falsehoods-programmers-date-time-zones.html) - Another takes on time-related falsehoods, with an emphasis on time zones.
- [Falsehoods Programmers Believe About Time](https://gist.github.com/thanatos/eee17100476a336a711e) - A critique of the first article with a very detailed explanation of each falsehood, adding more context and external resource to the subject.
2016-09-08 11:22:55 +02:00
2016-09-09 01:13:57 +02:00
## E-commerce
- [Falsehoods programmers believe about online shopping](http://wiesmann.codiferes.net/wordpress/?p=22201)
2016-09-08 11:58:21 +02:00
## Emails
2016-09-08 12:27:13 +02:00
- [I Knew How To Validate An Email Address Until I Read The RFC](http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx/).
2016-09-08 11:58:21 +02:00
2016-09-09 00:17:17 +02:00
## Gender
- [Falsehoods Programmers Believe About Gender](https://gist.github.com/garbados/f82604ea639e0e47bf44)
2016-09-08 12:13:07 +02:00
## Geography
2016-09-09 00:17:32 +02:00
- [Falsehoods programmers believe about geography](http://wiesmann.codiferes.net/wordpress/?p=15187).
2016-09-08 12:13:07 +02:00
2016-09-08 11:22:55 +02:00
## Human names
2016-09-08 12:27:13 +02:00
- [Falsehoods Programmers Believe About Names](https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/).
- [XKCD #327: Exploits of a Mom](https://xkcd.com/327/).
- [HL7 V3 RIM](http://www.hl7.org/implement/standards/product_brief.cfm?product_id=186): a flexible data model for representing human names.
- [iOS NSPersonNameComponentsFormatter](https://developer.apple.com/library/ios/documentation/Miscellaneous/Reference/NSPersonNameComponentsFormatter_Class/index.html): localized representations of the components of a persons name.
2016-09-08 11:22:55 +02:00
2016-09-09 00:16:51 +02:00
## Networks
- [Falsehoods programmers believe about networks](http://blog.erratasec.com/2012/06/falsehoods-programmers-believe-about.html)
2016-09-08 12:22:33 +02:00
## Phone numbers
- [`libphonenumber`](https://github.com/googlei18n/libphonenumber): Google's common Java, C++ and JavaScript library for parsing, formatting, and validating international phone numbers. Also available for [C#](https://github.com/erezak/libphonenumber-csharp), [Objective-C](https://github.com/iziz/libPhoneNumber-iOS), [Python](https://github.com/daviddrysdale/python-phonenumbers), [Ruby](https://github.com/sstephenson/global_phone) and [PHP](https://github.com/giggsey/libphonenumber-for-php).
2016-09-08 12:14:45 +02:00
## Prices
2016-09-08 12:27:13 +02:00
- [Falsehoods programmers believe about prices](https://gist.github.com/rgs/6509585).
2016-09-08 12:14:45 +02:00
2016-09-08 11:34:02 +02:00
## Postal addresses
2016-09-08 11:22:55 +02:00
2016-09-08 12:28:23 +02:00
- [Falsehoods programmers believe about addresses](https://www.mjt.me.uk/posts/falsehoods-programmers-believe-about-addresses/).
- [`libaddressinput`](https://github.com/googlei18n/libaddressinput): Google's common C++ and Java library for parsing, formatting, and validating international postal addresses.
2016-09-08 12:34:03 +02:00
- [`addressing`](https://github.com/commerceguys/addressing): A PHP 5.4+ addressing library, powered by Google's dataset.
2016-09-08 12:28:23 +02:00
- [`postal-address`](https://github.com/scaleway/postal-address): Python module to parse, normalize and render postal addresses.
2016-09-08 11:33:09 +02:00
2016-09-09 00:18:02 +02:00
## Versions
- [Falsehoods programmers believe about versions](https://github.com/xenoterracide/falsehoods/blob/master/versions.md)
2016-09-09 01:35:58 +02:00
## Contributing
Your contributions are always welcome! Please take a look at the [contribution
guidelines](CONTRIBUTING.md) first.
2016-09-09 01:16:46 +02:00
## License
2016-09-08 11:33:09 +02:00
2016-09-08 12:27:39 +02:00
Content of this repository is licensed under the [BSD 2-Clause
License](LICENSE.md).