Full Code of kdeldycke/awesome-falsehood for AI

main e287d8c25560 cached
20 files
87.1 KB
28.5k tokens
1 requests
Download .txt
Repository: kdeldycke/awesome-falsehood
Branch: main
Commit: e287d8c25560
Files: 20
Total size: 87.1 KB

Directory structure:
gitextract_1gr9dst5/

├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── config.yml
│   │   └── new-link.yaml
│   ├── code-of-conduct.md
│   ├── contributing.md
│   ├── contributing.zh.md
│   ├── dependabot.yaml
│   ├── funding.yml
│   ├── gitleaks.toml
│   ├── pull_request_template.md
│   └── workflows/
│       ├── autofix.yaml
│       ├── autolock.yaml
│       ├── docs.yaml
│       ├── label-sponsors.yaml
│       ├── labels.yaml
│       └── lint.yaml
├── .lycheeignore
├── assets/
│   └── awesome-falsehood-header-source.xcf
├── license
├── readme.md
└── readme.zh.md

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: true

================================================
FILE: .github/ISSUE_TEMPLATE/new-link.yaml
================================================
name: Add new link
description: You would like to add a new link to the collection
labels: ["🆕 new link"]
body:

  - type: input
    id: link
    attributes:
      label: URL of the article or project
    validations:
      required: true

  - type: textarea
    id: motivation
    attributes:
      label: Motivation
      description: >
        Explain the motivation for adding this link to the current collection. What's special about it?
      placeholder: |
        This new link is special because...
    validations:
      required: true

  - type: checkboxes
    id: affiliation
    attributes:
      label: Affiliation
      description: >
        Please indicate how you are associated with the new proposed content.
      options:
        - label: "I am the author of the article or project"
        - label: "I am working for/with the company which is publishing the article or project"
        - label: "I'm just a rando who stumbled upon this via social networks"
    validations:
      required: true

  - type: checkboxes
    id: self-checks
    attributes:
      label: Self checks
      options:
        - label: >
            I have [read the Code of Conduct
            ](https://github.com/kdeldycke/awesome-falsehood/blob/main/.github/code-of-conduct.md)
        - label: >
            I applied all rules from the [Contributing guide
            ](https://github.com/kdeldycke/awesome-falsehood/blob/main/.github/contributing.md)
        - label: >
            I have checked there is no other
            [Issues](https://github.com/kdeldycke/awesome-falsehood/issues) or [Pull
            Requests](https://github.com/kdeldycke/awesome-falsehood/pulls) covering the same topic
            to open
    validations:
      required: true

================================================
FILE: .github/code-of-conduct.md
================================================
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

- The use of sexualized language or imagery and unwelcome sexual attention or
  advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic
  address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a
  professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at <kevin@deldycke.com>. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [https://contributor-covenant.org/version/1/4][version]

[homepage]: https://contributor-covenant.org
[version]: https://contributor-covenant.org/version/1/4/


================================================
FILE: .github/contributing.md
================================================
# Contributing

Your contributions are always welcome! Here are some guidelines.

## Status

This repository has reached an equilibrium state. We are past its accumulation phase, and in the middle of the curation process. Meaning we're more into refining its concepts, smooth the progression and carefully evaluating the addition of new content.

## Pull-requests and issues

- Search past and current issues and pull-requests for previous suggestions before making a new one. Yours may be a duplicate or a work in progress.

- Only one list item per commit.

- Only one commit per pull-request. Always squash commits after applying changes.

- Check your spelling and grammar.

- Add the reason why the linked resource is awesome. And what it adds to the existing corpus.

- Keep the translated content up-to-date with your proposal. Propagate changes to all `readme.*.md` files. Rely on automatic translation tools. Bilingual contributors will refine the result later.

## Linting

Your pull-request should pass the [official Awesome List's linter](https://github.com/sindresorhus/awesome-lint).

No extra work is required here as it is [already integrated by the way of GitHub actions](https://github.com/kdeldycke/awesome-falsehood/tree/main/.github/workflows).

You can still anticipate issues by running the linter locally with:

```shell-session
$ npx awesome-lint
```

## Formatting

Here are additional rules not covered by the `awesome-lint` CLI.

If one of these rule conflict with the linter, the linter's rule should takes precedence. Apply it.

### General content

- Remove any trailing whitespaces.

- Use spaces, no tabs, for indention.

- Apostrophes should be using the single ASCII mark: `'`.

- For description, try to identify the single best quote form the original content.

- If a quote couldn't be found to serve as a summary, feel free to paraphrase both the item's title and description. Remember, this is curation: we are increasing the value of the original content by aggregation and categorization. And also by smart editorializing. You just need to respect the spirit of the original content.

### Sections

- Sections **are not intentionally sorted in the alphabetical order**. That is to provide a progression, from general to specific topics.

> [!IMPORTANT]
> Exceptionally in `awesome-falsehood`, sections **are in alphabetical order**, as all topics are independent from each others.

- Section might feature one paragraph introduction and a figure (graph, drawing, photo).

### URL

- Use HTTPs protocol, if available.

- Must be reachable by CI/CD jobs. If the domain return `40x` errors for rate-limiting or content protection, replace it with a stable link:

  - [`sci-hub.st`](https://sci-hub.st) for research papers
  - [`archive.ph`](https://archive.ph) for news articles
  - [`archive.org`](https://archive.org) for anything else

### Item title

- No `“` and `”` curved quotation marks. This is reserved for original content quotation in descriptions.

- To quote, use either the single or double variations: `'` and `"`. Keep them properly balanced.

> [!IMPORTANT]
> In `awesome-falsehood`, link titles must be stripped out of the "*Programmers believe*" part to keep it compact.

### Item description

- Try to provide an actionable TL;DR as a description, quoting the original text if it stands by itself.

- [Removes `TL;DR:` prefix in description](https://github.com/kdeldycke/awesome-engineering-team-management/commit/da298ec1c39fe62fd4553e1a6de0ad4494602c57). Every description is a short summary anyway.

- Quotes should be properly delimited with the `“` and `”` curved quotation marks.

- You can reduce the original text by using an ellipsis in parenthesis `(…)`.

- For quoting inside a quote, use single or double `'` and `"` ASCII marks. Keep them properly balanced.

- To serialize a list into a description, use the following format:

  > Text of a description summarizing the item. And here is a list coming from the original content about **“three important topics: 1. Blah blah blah; 2. Blah blah blah? 3. Blah blah blah.”** And a bit more text to conclude.

  This format provides visual anchor points that help readability and quick content scanning.

  - You can skip some items from the original list and renumber it.

  - You shouldn't have to re-order it though.

- An additional link in the description is allowed. This must be limited to some rare cases. Like pointing to a bigger concept, an acronym definition, or reference material (book, biography, …).

## Editorial line

The general editorial line for each list is [hinted in their introduction](https://github.com/kdeldycke/awesome-template#readme).

There's also some specific rules depending on the list:

### [`awesome-engineering-team-management`](https://github.com/kdeldycke/awesome-engineering-team-management): items order

Items are roughly ordered like so:

1. At first we'll find content appealing to software developers or new managers. We're reaching for accessibility and targets the wider audience and provide a gentle introduction.
1. Then we can have a couple of real use-cases or anecdotes, which makes the subject more hands-on and relatable.
1. Third we might add a couple of reference material to generalize concepts, provide methodical solutions and expose broader thinking frameworks.
1. At the end comes the most cynical or bleak content, which have some utility as cautionary tales, or as warning signals of deteriorating conditions.

### [`awesome-falsehood`](https://github.com/kdeldycke/awesome-falsehood): candidates

Before contributing, make sure the new link you'd like to add is a good candidate.

Here is a non-restrictive list of items which are good candidates for inclusion in the `awesome-falsehood` list.

#### Falsehood articles

Articles following the *falsehood* schema are prime candidates for inclusion in this awesome list.

These articles starts with the hypothesis that developers have a naive and simple view of a domain. Then proceed to list a set of candid assumptions that might be held by programmers. Each one is intentionally false, and in their best form are illustrated with a counter-example.

A list of falsehood is crafted as a progression that is designed to refine concepts. Having read the whole list of falsehood, the reader should possess a better overview of a domain while dispelling its myths, point out common pitfalls and demonstrate its subtleties.

*falsehood* articles are, in a sense, a suite of wordy unit-tests covering extensive edge-cases provided by real-world usage. The world is messy. Discovering a domain to be much more complex than anticipated will lead to frustrations. And cause flipping tables `(╯°□°)╯︵ ┻━┻`. This is the sign of a great candidate for that list!

Articles featuring items that are applicable to one product (or a service) and one only can't be considered as generic enough and should be avoided.

#### Libraries

Programming libraries or modules are good candidates too, if they solve or reduce the complexities pointed to by *falsehood* articles above.

That way we can put back tables in place. `┬─┬ ノ( ゜-゜ノ)`

#### Data structures

Data models and structures generic enough to cover and address most of the falsehoods are also welcome in this page.

## FAQ

Some cases to illustrate the curation process.

### Can I rewrite your sentences and paragraphs?

Yes. I'm a non-native speaker, so some of my writings might be a little bit fancy. If you can propose a shorter, to the point, and accurate version of my initial text, go for it! These improvements [adds a lot of readability for both kind of readers](https://github.com/kdeldycke/awesome-falsehood/pull/105).

### Can I propose YouTube videos for the list?

Yes, but try to pin-point the start of the video to a relevant time. Like with the `&t=13m30s` parameter in YouTube URLs.

Better than a video: have a link to its written transcript. Or presentation slides if it doesn't dillute the point being made.

### Can I link to an X thread?

Yes, but try to search first in the content produced by the author: sometimes the said author edited its rant into a more digestible article elsewhere. We'll prefer to link to that.

### How to prevent link-rot?

[As pointed by a contributor](https://github.com/kdeldycke/awesome-engineering-team-management/issues/52#issue-1499417056):

> The links here have a tendency to go offline. For this to be a resource of long term value, link-rot can be avoided by archiving the pages.

Which is true.

I have no issue replacing the original URL with an alternative archived/cached link if the original is no longer reachable.

Broken URLs are frustrating. We will fix them one by one. Some have been moved to a new domain. Some have completely disappear, so we'll replace them with an [archived link](#url).

If you find a broken one, please propose a PR to fix it. Or just report it as an issue and I'll do the work.

### How are you going to archive articles that went offline?

This question points to the paradox that we need to archive them *before* they go offline.

There is no rush to pre-emptively archive content. Incentives exists for others to do it:

- This list is popular enough for its content to be picked up by regular archival crawlers.
- Popular content in this list are naturally archived by users who value them.
- Authors who cares about their content, or benefits from the SEO juice this list provides, have an incentive to keep them available at their original URL.

Despites these incentives, there is still a non-zero chance for content to disappear entirely from the web, with no [archived copy](#url). That's not the end of the world. Maybe the content wasn't worth it, and not good for inclusion in the first place. Think of this edge-case as a natural selection process on content, which helps natural curation.

### Why removes inactive GitHub projects?

Unmaintained GitHub repositories are usually [archived by their owners](https://docs.github.com/en/repositories/archiving-a-github-repository/archiving-repositories). But some are de-facto unmaintained, or abandoned as-is by their author, without being explicitly archived.

Either way, if the space they addresses is crowded, and there are other repositories referenced in the list, the link is a good candidate for deletion to reduce noise.

On the other hand, if the project has been forked or rebooted elsewhere, we can now point out to the new location.

### Why my commercial project is not in the list?

Probably because the core content is behind a paywall. Especially if there are better resources online, which are more extensive, and freely accessible.

This is especially true for SaaS and other licensed software. If there is an open-source project available, we'd rather point to that instead of commercial solutions.

These alternatives don't need to be better. They qualify if they're good enough to derives inspiration from, or starts something without barriers to entry.

So for as set of multiple overlapping projects, we will consider commercial ones as duplicates and remove them, to keep the list lean.

### Why my link was rejected?

If your link was rejected, it must have been motivated and explained to the contributor as a comment to your PR.

Some reasons for rejection, which often overlaps, includes:

- duplicate content
- lack of originality
- rehash of existing content
- no motivation to explain what the new link adds to the existing corpus
- overcrowded section that [does not need more content, but more curation](https://github.com/kdeldycke/awesome-iam/pull/76)
- [not generic enough, or too specific to a single product or company](https://github.com/kdeldycke/awesome-falsehood/pull/31#issuecomment-407667679)
- marketing copy made to juice the list for SEO
- [too much URLs already pointing out to the same commercial domain name](https://github.com/kdeldycke/awesome-iam/pull/179#issuecomment-3023031941) (2 links are enough)
- lack of feedback from the contributor on raised questions
- deviance from these contribution guidelines
- violation of the [code of conduct](code-of-conduct.md)

### How can I force a link into the list?

If your contribution has been declined, there is a way to bypass the curation rules. You can [purchase a sponsorship](https://github.com/sponsors/kdeldycke) and have your product, logo and link at the top of this repository! 🤗 Like [Descope did for a year](https://twitter.com/kdeldycke/status/1676963147104784386) on the [awesome IAM list](https://twitter.com/kdeldycke/status/1676963147104784386).

## FAQ for [`awesome-falsehood`](https://github.com/kdeldycke/awesome-falsehood)

This questions are specifics to the [Awesome Falsehood](https://github.com/kdeldycke/awesome-falsehood) project.

### Why don't you copy the falsehoods in the list?

This might be a good idea to compile all falsehoods in the repository. It would allow the community to maintain them, and enrich them. It could also improve the overall quality as most external articles don't make the effort to illustrate or explain why a falsehood is a falsehood.

But that is a big endeavor, so to keep things simple, we just make a collection of external articles in this list. In the mean time, if you'd like to add falsehoods, I will ask potential contributors to [host them elsewhere](https://github.com/kdeldycke/awesome-falsehood/issues/46).

Also, if we had to host the raw falsehoods in this repository, we might have to [check on the licence and seek permission from the original author](https://github.com/kdeldycke/awesome-falsehood/issues/24#issuecomment-354112401).


================================================
FILE: .github/contributing.zh.md
================================================
# 贡献指南

欢迎您的贡献!以下是一些指导原则。

## 状态

这个仓库已经达到了平衡状态。我们已经过了积累阶段,正处于策展过程中。这意味着我们更注重完善概念、平滑进展以及仔细评估新内容的添加。

## 拉取请求和问题

- 在提出新建议之前,搜索过去和当前的问题和拉取请求。您的建议可能是重复的或正在进行中的工作。

- 每次提交只包含一个列表项。

- 每个拉取请求只包含一次提交。应用更改后始终压缩提交。

- 检查您的拼写和语法。

- 添加链接资源很棒的原因。以及它为现有内容增加了什么。

- 保持翻译内容与您的提议同步。将更改传播到所有 `readme.*.md` 文件。依赖自动翻译工具。双语贡献者稍后会完善结果。

## 代码检查

您的拉取请求应该通过 [官方 Awesome List 的检查器](https://github.com/sindresorhus/awesome-lint)。

这里不需要额外的工作,因为它已经 [通过 GitHub actions 集成](https://github.com/kdeldycke/awesome-falsehood/tree/main/.github/workflows)。

您仍然可以通过本地运行检查器来预测问题:

```shell-session
$ npx awesome-lint
```

## 格式化

以下是 `awesome-lint` CLI 未涵盖的其他规则。

如果这些规则中的任何一个与检查器冲突,检查器的规则应该优先。应用它们。

### 一般内容

- 删除任何尾随空格。

- 使用空格,不要使用制表符进行缩进。

- 撇号应使用单个 ASCII 标记:`'`。

- 对于描述,尝试从原始内容中识别最好的引用。

- 如果找不到引用作为摘要,请随意改写项目的标题和描述。记住,这是策展:我们通过聚合和分类来增加原始内容的价值。还通过智能编辑。您只需要尊重原始内容的精神。

### 章节

- 章节 **不是故意按字母顺序排序的**。这是为了提供从一般到特定主题的进展。

> [!IMPORTANT]
> 例外情况是在 `awesome-falsehood` 中,章节 **按字母顺序排列**,因为所有主题彼此独立。

- 章节可能包含一段介绍和一个图形(图表、绘图、照片)。

### URL

- 如果可用,使用 HTTPS 协议。

- 必须可被 CI/CD 作业访问。如果域名因速率限制或内容保护而返回 `40x` 错误,请用稳定链接替换:

  - [`sci-hub.st`](https://sci-hub.st) 用于研究论文
  - [`archive.ph`](https://archive.ph) 用于新闻文章
  - [`archive.org`](https://archive.org) 用于其他任何内容

### 项目标题

- 不使用 `"` 和 `"` 弯引号。这些保留用于描述中的原始内容引用。

- 要引用,使用单引号或双引号变体:`'` 和 `"`。保持它们适当平衡。

> [!IMPORTANT]
> 在 `awesome-falsehood` 中,链接标题必须删除 "*程序员认为*" 部分以保持紧凑。

### 项目描述

- 尝试提供可操作的 TL;DR 作为描述,如果原文能够独立存在,则引用原文。

- [删除描述中的 `TL;DR:` 前缀](https://github.com/kdeldycke/awesome-engineering-team-management/commit/da298ec1c39fe62fd4553e1a6de0ad4494602c57)。每个描述都是简短摘要。

- 引用应该用 `"` 和 `"` 弯引号正确分隔。

- 您可以使用括号中的省略号 `(…)` 来缩减原文。

- 对于引用内的引用,使用单引号或双引号 `'` 和 `"` ASCII 标记。保持它们适当平衡。

- 要将列表序列化为描述,使用以下格式:

  > 总结项目的描述文本。这里是来自原始内容的列表,关于 **"三个重要主题:1. 某某某;2. 某某某?3. 某某某。"** 以及更多文本来总结。

  这种格式提供了视觉锚点,有助于可读性和快速内容扫描。

  - 您可以跳过原始列表中的一些项目并重新编号。

  - 但是您不应该重新排序它们。

- 描述中允许额外的链接。这必须限制在一些罕见情况下。比如指向更大的概念、首字母缩略词定义或参考资料(书籍、传记等)。

## 编辑方针

每个列表的一般编辑方针在 [它们的介绍中有提示](https://github.com/kdeldycke/awesome-template#readme)。

还有一些根据列表的具体规则:

### [`awesome-engineering-team-management`](https://github.com/kdeldycke/awesome-engineering-team-management):项目顺序

项目大致按以下顺序排列:

1. 首先我们会找到对软件开发人员或新经理有吸引力的内容。我们追求可访问性,针对更广泛的受众并提供温和的介绍。
1. 然后我们可以有几个真实的用例或轶事,这使主题更加实用和相关。
1. 第三,我们可能会添加几个参考资料来概括概念,提供系统化的解决方案并展示更广泛的思维框架。
1. 最后是最愤世嫉俗或最悲观的内容,这些内容作为警示故事或恶化条件的警告信号具有一定的效用。

### [`awesome-falsehood`](https://github.com/kdeldycke/awesome-falsehood):候选项

在贡献之前,确保您想要添加的新链接是一个好的候选项。

这是一个非限制性的适合包含在 `awesome-falsehood` 列表中的项目列表。

#### 谬误文章

遵循 *谬误* 模式的文章是包含在这个精彩列表中的主要候选者。

这些文章从开发人员对领域有天真和简单看法的假设开始。然后继续列出程序员可能持有的一系列坦率假设。每一个都是故意错误的,在最佳形式下用反例说明。

谬误列表被精心设计为旨在完善概念的进展。阅读完整个谬误列表后,读者应该对领域有更好的概述,同时消除其神话,指出常见陷阱并展示其微妙之处。

*谬误* 文章在某种意义上是一套冗长的单元测试,涵盖了现实世界使用提供的广泛边缘情况。世界是混乱的。发现一个领域比预期复杂得多会导致挫折感。并导致掀桌子 `(╯°□°)╯︵ ┻━┻`。这是该列表的绝佳候选者的标志!

仅适用于一个产品(或服务)的文章不能被认为足够通用,应该避免。

#### 库

编程库或模块也是好的候选者,如果它们解决或减少了上述 *谬误* 文章指出的复杂性。

这样我们就可以把桌子放回原位。`┬─┬ ノ( ゜-゜ノ)`

#### 数据结构

足够通用以涵盖和解决大多数谬误的数据模型和结构也欢迎在此页面中出现。

## 常见问题

一些案例来说明策展过程。

### 我可以重写您的句子和段落吗?

可以。我不是母语使用者,所以我的一些写作可能有点花哨。如果您可以提出我初始文本的更短、更直接、更准确的版本,请继续!这些改进 [为两种读者都增加了很多可读性](https://github.com/kdeldycke/awesome-falsehood/pull/105)。

### 我可以为列表提议 YouTube 视频吗?

可以,但尝试将视频的开始精确定位到相关时间。比如在 YouTube URL 中使用 `&t=13m30s` 参数。

比视频更好的是:有其书面转录的链接。或者演示幻灯片,如果它没有稀释要表达的观点。

### 我可以链接到 X 帖子吗?

可以,但首先尝试在作者制作的内容中搜索:有时该作者将其咆哮编辑成其他地方更易于消化的文章。我们会更喜欢链接到那个。

### 如何防止链接腐烂?

[正如贡献者指出的](https://github.com/kdeldycke/awesome-engineering-team-management/issues/52#issue-1499417056):

> 这里的链接有下线的趋势。为了使这成为长期价值的资源,可以通过存档页面来避免链接腐烂。

这是真的。

如果原始 URL 不再可访问,我不介意用替代的存档/缓存链接替换原始 URL。

损坏的链接令人沮丧。我们会逐一修复它们。有些链接已被移动到新域名,有些则完全消失了,我们将用[存档链接](#url)来替代它们。

如果您发现损坏的链接,请提出 PR 来修复它。或者只是将其报告为问题,我会完成这项工作。

### 您将如何存档下线的文章?

这个问题指出了我们需要在它们下线 *之前* 存档它们的悖论。

没有必要抢先存档内容。存在其他人这样做的激励:

- 这个列表足够受欢迎,其内容被常规存档爬虫收集。
- 这个列表中的热门内容自然被重视它们的用户存档。
- 关心自己内容或从这个列表提供的 SEO 价值中受益的作者有动机保持它们在原始 URL 可用。

尽管有这些激励措施,内容仍有可能完全从网络上消失,且没有[存档副本](#url)。这也不是世界末日。也许这些内容本来就不值得保留,原本就不适合被收录。可以把这种极端情况看作是内容的自然选择过程,有助于实现自然的内容筛选和整理。

### 为什么删除不活跃的 GitHub 项目?

未维护的 GitHub 仓库通常 [被其所有者存档](https://docs.github.com/en/repositories/archiving-a-github-repository/archiving-repositories)。但有些是事实上未维护的,或者被其作者原样遗弃,没有明确存档。

无论哪种方式,如果它们所处理的空间很拥挤,并且列表中引用了其他仓库,则该链接是删除以减少噪音的好候选者。

另一方面,如果项目已经在其他地方被分叉或重启,我们现在可以指出新位置。

### 为什么我的商业项目不在列表中?

可能是因为核心内容在付费墙后面。特别是如果有更好的在线资源,它们更广泛,可以免费访问。

这对 SaaS 和其他许可软件尤其如此。如果有开源项目可用,我们宁愿指向那个而不是商业解决方案。

这些替代方案不需要更好。如果它们足够好以从中获得灵感或开始没有进入障碍的事情,它们就符合条件。

因此,对于一组多个重叠的项目,我们会将商业项目视为重复项并删除它们,以保持列表精简。

### 为什么我的链接被拒绝了?

如果您的链接被拒绝,必须有动机并作为对您 PR 的评论向贡献者解释。

拒绝的一些原因,通常重叠,包括:

- 内容重复
- 缺乏原创性
- 现有内容的简单重复
- 没有说明新链接对现有资料库有什么新增价值
- 所在部分内容过于拥挤,[需要的是更好的整理而非添加更多内容](https://github.com/kdeldycke/awesome-iam/pull/76)
- [不够通用,或过于特定于某一产品或公司](https://github.com/kdeldycke/awesome-falsehood/pull/31#issuecomment-407667679)
- 带有营销性质的内容,仅为提升 SEO 而添加
- [已经有太多链接指向同一个商业域名](https://github.com/kdeldycke/awesome-iam/pull/179#issuecomment-3023031941) (两个链接就足够了)
- 对提出的问题缺乏反馈
- 偏离了本贡献指南的要求
- 违反了[行为准则](code-of-conduct.md)

### 我如何强制将链接加入列表?

如果您的贡献被拒绝,有一种方法可以绕过策展规则。您可以 [购买赞助](https://github.com/sponsors/kdeldycke) 并在此仓库的顶部拥有您的产品、徽标和链接!🤗 就像 [Descope 在 awesome IAM 列表上做了一年](https://twitter.com/kdeldycke/status/1676963147104784386)。

## [`awesome-falsehood`](https://github.com/kdeldycke/awesome-falsehood) 的常见问题

这些问题专门针对 [Awesome Falsehood](https://github.com/kdeldycke/awesome-falsehood) 项目。

### 为什么不在列表中复制谬误?

在仓库中编译所有谬误可能是个好主意。它将允许社区维护和丰富它们。它还可以提高整体质量,因为大多数外部文章不努力说明或解释为什么谬误是谬误。

但这是一个很大的努力,为了保持简单,我们只是在这个列表中收集外部文章。与此同时,如果您想添加谬误,我会要求潜在贡献者 [在其他地方托管它们](https://github.com/kdeldycke/awesome-falsehood/issues/46)。

此外,如果我们必须在此仓库中托管原始谬误,我们可能必须 [检查许可证并寻求原作者的许可](https://github.com/kdeldycke/awesome-falsehood/issues/24#issuecomment-354112401)。


================================================
FILE: .github/dependabot.yaml
================================================
# https://docs.github.com/en/github/administering-a-repository
# /configuration-options-for-dependency-updates
---
version: 2
updates:

  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "daily"
    labels:
      - "📦 dependencies"
    assignees:
      - "kdeldycke"


================================================
FILE: .github/funding.yml
================================================
---
github: kdeldycke


================================================
FILE: .github/gitleaks.toml
================================================
[allowlist]
description = "False positives"
commits = [
    ### kdeldycke/awesome-billing
    # Twitter status IDs.
    "5b54ac1befb7a768a18b2abd4a7b091766ee7609",
    "4607e5923f1889ce5136b1a6bdfbddd769cd7fc3",
    "1cfd0513359a5ce20b538b6a637d40c4cc50a37f",

    ### kdeldycke/awesome-engineering-team-management
    # Twitter status IDs.
    "044ccf813c180d1b52fa550549f1e3ffe7ad3176",
    "4ee04962090c60f9d2bd26e507584c95b2f039cb",
    "e945e90fbcd4b610d71cbe766b1c909b51c674a5",
    "bdae66b4dbc54fcf66aa2c5bf61598c894a6172d",
    "6462b4a4b0335823f2a9e8412a1c10a38561900e",
    "ac1dd92507ed071da3ac5270484a152bfef93aa2",
    "e9eb3864157f504cb29fab33d4f63748302c963d",
    "a43eef1b55fff47879fe671abbebc7e279d59999",
    "1a5e33dd31d129a1335ae2418ec43bf1d43c3760",
    "0e05ffafc90dd4ea337aca7372c983e143ba48a8",
    "0e93d0ced146e4a32a1838b1aa4dbf2d20703964",
    "df0e49b612e68b9389c671463640e5d17b479231",
    "b743e4aecc5822c51aa088312b20d4965720aa7e",
    "94c532529b78b20e9363bded9e2788dd03a59832",
    "f0fe92563a14f93dbe07579ff735b844cfb69a7d",
    "a804606fb0794615df5c078ab220b615796e1ba9",
    "14d523e38ebe8f2859646c4cb9736b1843802476",
    "36c488d8b52f66120d51b0fbb7b93667453461fe",
    "1da97b40558cd6c5941edd2db9f9a58407d5a3bf",
    "56f8e6771c88625ed82e6663961fc2874c53f874",
]


================================================
FILE: .github/pull_request_template.md
================================================
### Motivation

<!--

Explain the motivation for adding this link to the current collection. What's special about it?

Note: you can skip this section if you're proposing something as trivial as fixing a typo.

-->

This new link is special because...

### Affiliation

<!-- Please indicate how you are associated with the new proposed content: -->

- [ ] I am the author of the article or project
- [ ] I am working for/with the company publishing the article or project
- [ ] I'm just a rando who stumbled upon this via social networks

### Self checks

- [ ] I have [read the Code of Conduct](https://github.com/kdeldycke/awesome-falsehood/blob/main/.github/code-of-conduct.md)
- [ ] I applied all rules from the [Contributing guide](https://github.com/kdeldycke/awesome-falsehood/blob/main/.github/contributing.md)
- [ ] I checked there is no other [Issues](https://github.com/kdeldycke/awesome-falsehood/issues) or [Pull Requests](https://github.com/kdeldycke/awesome-falsehood/pulls) covering the same topic
- [ ] I applied the changes to all translatations in `readme.*.md` files


================================================
FILE: .github/workflows/autofix.yaml
================================================
---
name: Autofix
"on":
  push:
    # Only targets main branch to avoid amplification effects of auto-fixing
    # the exact same stuff in multiple non-rebased branches.
    branches:
      - main

jobs:

  autofix:
    uses: kdeldycke/workflows/.github/workflows/autofix.yaml@v4.17.9

================================================
FILE: .github/workflows/autolock.yaml
================================================
---
name: Autolock
"on":
  schedule:
    # Run weekly, every Monday at 8:43.
    - cron: "43 8 * * 1"

jobs:

  autolock:
    uses: kdeldycke/workflows/.github/workflows/autolock.yaml@v4.17.9


================================================
FILE: .github/workflows/docs.yaml
================================================
---
name: Docs
"on":
  push:
    # Only targets main branch to avoid amplification effects of auto-fixing
    # the exact same stuff in multiple non-rebased branches.
    branches:
      - main

jobs:

  docs:
    uses: kdeldycke/workflows/.github/workflows/docs.yaml@v4.17.9

================================================
FILE: .github/workflows/label-sponsors.yaml
================================================
---
name: Label sponsors
"on":
  pull_request:
    types:
      - opened
  issues:
    types:
      - opened

jobs:

  label-sponsors:
    uses: kdeldycke/workflows/.github/workflows/label-sponsors.yaml@v4.17.9

================================================
FILE: .github/workflows/labels.yaml
================================================
---
name: Labels
"on":
  push:
    branches:
      - main

jobs:

  labels:
    uses: kdeldycke/workflows/.github/workflows/labels.yaml@v4.17.9

================================================
FILE: .github/workflows/lint.yaml
================================================
---
name: Lint
"on":
  push:

jobs:

  lint:
    uses: kdeldycke/workflows/.github/workflows/lint.yaml@v4.17.9

================================================
FILE: .lycheeignore
================================================
# XXX Skip archive.ph and Sci-Hub because they restricts access to crawlers.
archive.ph
sci-hub.st
# XXX Skip HN because of rate-limiting.
# See: https://github.com/lycheeverse/lychee/issues/989#issuecomment-1587208730
# https://github.com/lycheeverse/lychee/pull/1147
ycombinator.com
x.com

================================================
FILE: license
================================================
Creative Commons Legal Code

CC0 1.0 Universal

    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
    INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
    HEREUNDER.

Statement of Purpose

The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").

Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.

For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.

1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:

  i. the right to reproduce, adapt, distribute, perform, display,
     communicate, and translate a Work;
 ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
     likeness depicted in a Work;
 iv. rights protecting against unfair competition in regards to a Work,
     subject to the limitations in paragraph 4(a), below;
  v. rights protecting the extraction, dissemination, use and reuse of data
     in a Work;
 vi. database rights (such as those arising under Directive 96/9/EC of the
     European Parliament and of the Council of 11 March 1996 on the legal
     protection of databases, and under any national implementation
     thereof, including any amended or successor version of such
     directive); and
vii. other similar, equivalent or corresponding rights throughout the
     world based on applicable law or treaty, and any national
     implementations thereof.

2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.

3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.

4. Limitations and Disclaimers.

 a. No trademark or patent rights held by Affirmer are waived, abandoned,
    surrendered, licensed or otherwise affected by this document.
 b. Affirmer offers the Work as-is and makes no representations or
    warranties of any kind concerning the Work, express, implied,
    statutory or otherwise, including without limitation warranties of
    title, merchantability, fitness for a particular purpose, non
    infringement, or the absence of latent or other defects, accuracy, or
    the present or absence of errors, whether or not discoverable, all to
    the greatest extent permissible under applicable law.
 c. Affirmer disclaims responsibility for clearing rights of other persons
    that may apply to the Work or any use thereof, including without
    limitation any person's Copyright and Related Rights in the Work.
    Further, Affirmer disclaims responsibility for obtaining any necessary
    consents, permissions or other rights required for any use of the
    Work.
 d. Affirmer understands and acknowledges that Creative Commons is not a
    party to this document and has no duty or obligation with respect to
    this CC0 or use of the Work.


================================================
FILE: readme.md
================================================
<!--lint disable awesome-heading-->

<p align="center">
  <a href="https://github.com/kdeldycke/awesome-falsehood/">
    <img src="https://github.com/kdeldycke/awesome-falsehood/raw/main/assets/awesome-falsehood-header.jpg" alt="Awesome Falsehood header image">
  </a>
</p>

<p align="center">
  <a href="https://github.com/sponsors/kdeldycke">
    <strong>Your brand → here 🚀</strong>
    <br/>
    <sup>SEO is dead. Place your product here to target AI's training data.</sup>
  </a>
</p>

---

<p align="center">
  <a href="https://github.com/kdeldycke/awesome-falsehood#readme.md" hreflang="en"><img src="https://img.shields.io/badge/lang-English-blue?style=flat-square" lang="en" alt="English"></a>
  <a href="https://github.com/kdeldycke/awesome-falsehood/blob/main/readme.zh.md" hreflang="zh"><img src="https://img.shields.io/badge/lang-中文-blue?style=flat-square" lang="zh" alt="中文"></a>
</p>

<p align="center">
  <i>The logic of the world is prior to all truth and falsehood.</i><br>
  — Ludwig Wittgenstein<sup id="intro-quote-ref"><a href="#intro-quote-def">[1]</a></sup>
</p>

A curated [![Awesome](https://awesome.re/badge-flat.svg)](https://github.com/sindresorhus/awesome) list of falsehoods programmers believe in. A *falsehood* is an ***idea* that you initially believed was true**, but in reality, it is **proven to be false**.

E.g. of an *idea*: valid email address exactly has one `@` character. So, you will use this rule to implement your email-field validation logic. Right? Wrong! The *reality* is: emails can have multiple `@` chars. Therefore your implementation should allow this. The initial *idea* is a falsehood you believed in.

The *falsehood* articles listed below will have a comprehensive list of those false-beliefs that you should be aware of, to help you become a better programmer.

## Contents

<!-- mdformat-toc start --slug=github --no-anchors --maxlevel=6 --minlevel=2 -->

- [Meta](#meta)
- [Arts](#arts)
- [Business](#business)
- [Cryptocurrency](#cryptocurrency)
- [Dates and Time](#dates-and-time)
- [Education](#education)
- [Emails](#emails)
- [Geography](#geography)
- [Human Identity](#human-identity)
- [Internationalization](#internationalization)
- [Management](#management)
- [Multimedia](#multimedia)
- [Networks](#networks)
- [Phone Numbers](#phone-numbers)
- [Postal Addresses](#postal-addresses)
- [Science](#science)
- [Society](#society)
- [Software Engineering](#software-engineering)
- [Transportation](#transportation)
- [Typography](#typography)
- [Video Games](#video-games)
- [Web](#web)

<!-- mdformat-toc end -->

## Meta

- [Falsehoods Programmers Believe](https://spaceninja.com/2015/12/07/falsehoods-programmers-believe/) - A brief list of common falsehoods. A great overview and quick introduction into the world of falsehoods.
- [Falsehoods about Programming](https://chiselapp.com/user/ttmrichter/repository/gng/doc/trunk/output/falsehoods.html) - A humbling and fun list on programming and programmers themselves.
- [Falsehoods about Falsehoods Lists](https://kevin.deldycke.com/2016/falsehoods-programmers-believe-about-falsehoods-lists) - Meta commentary on how these falsehoods shouldn't be handled.

## Arts

- [Falsehoods about Music](https://literateprogrammer.blogspot.fr/2016/07/falsehoods-programmers-believe-about.html) - False assumption that might be made in codifying music.
- [Falsehoods about Art](http://artsy.github.io/blog/2018/04/18/programmer-misconceptions-about-art/) - Common misconceptions about art.

## Business

- [Falsehoods about Online Shopping](https://wiesmann.codiferes.net/wordpress/archives/22201) - Covers prices, currencies and inventory.
- [Falsehoods about Prices](https://gist.github.com/rgs/6509585) - Covers currencies, amounts and localization.
- [Falsehoods about IBANs](https://github.com/globalcitizen/php-iban/blob/master/docs/FALSEHOODS.md) - International Bank Account Numbers are not international.
- [Falsehoods about Economics](http://exple.tive.org/blarg/2016/09/22/falsehoods-programmers-believe-about-economics/) - Economics are not simple or rational.
- [Decimal Point Error in Etsy's Accounting System](https://web.archive.org/web/20230615151102/https://old.reddit.com/r/Etsy/comments/hz4877/if_you_are_an_etsy_seller_do_not_purchase_postage/) - The importance of types in accounting software: missing the decimal point ends up with 100x over-charges.
- [Twenty five thousand dollars of funny money](https://web.archive.org/web/20250326135824/http://rachelbythebay.com/w/2022/12/02/25k/) - 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.](https://twitter.com/kdeldycke/status/1599113889093890049)
- [“The system can’t handle a billion dollars”](https://xcancel.com/signulll/status/1950294195039838480) - Insane compensation at Meta in the middle of the AI-boom breaks ERPs.
- [Characters `<` and `>` in company names lead to XSS attacks](https://forum.aws.chdev.org/t/cross-site-scripting-xss-software-attack/3355) - Because [UK allows companies to be registered with special characters](https://www.legislation.gov.uk/uksi/2015/17/schedule/1/made), 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`.
- [Minutiae of company names](https://twitter.com/nthnmsmth/status/1587880523124408322) - How the rules of the State of Delaware and the IRS does not intersects.
- [CLDR currency definitions](https://github.com/unicode-org/cldr/blob/release-40/common/supplemental/supplementalData.xml#L87-L94) - Currency validity date ranges overlap due to revolts, invasions, new constitutions, and slow planned adoption.
- [`tax`](https://github.com/commerceguys/tax) - A PHP 5.4+ tax management library.

## Cryptocurrency

- [Falsehoods about Bitcoin](https://github.com/theborakompanioni/spring-boot-bitcoin-starter/blob/master/docs/FALSEHOODS.md) - A list of mistaken perspectives on Bitcoin.
- [Falsehoods about Ethereum](https://gist.github.com/spalladino/a349f0ca53dbb5fc3914243aaf7ea8c6) - Misconceptions and common pitfalls in contract programming.

## Dates and Time

- [Falsehoods about Time](http://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time) - Seminal article on dates and time.
- [More Falsehoods about Time](http://infiniteundo.com/post/25509354022/more-falsehoods-programmers-believe-about-time) - Part. 2 of the article above.
- [Falsehoods about Time and Time Zones](https://www.creativedeletion.com/2015/01/28/falsehoods-programmers-date-time-zones.html) - Another takes on time-related falsehoods, with an emphasis on time zones.
- [Critique of Falsehoods about Time](https://gist.github.com/thanatos/eee17100476a336a711e) - Takes on the first article above and provides an explanation of each falsehood, with more context and external resources.
- [Falsehoods about Unix Time](https://alexwlchan.net/2019/05/falsehoods-programmers-believe-about-unix-time/) - Mind the leap second!
- [Falsehoods about Time Zones](https://www.zainrizvi.io/blog/falsehoods-programmers-believe-about-time-zones/) - Has some nice points regarding the edge-cases of DST transitions.
- [Your Calendrical Fallacy Is Thinking…](http://yourcalendricalfallacyis.com) - List covering intercalation and cultural influence, made by a community of iOS and macOS developers.
- [Time Zone Database](https://www.iana.org/time-zones) - Code and data that represent the history of local time for many representative locations around the globe.
- [The Long, Painful History of Time](http://naggum.no/lugm-time.html) - Most of the idiosyncrasies in timekeeping can find an explanation in history.
- [You Advocate a Calendar Reform](https://qntm.org/calendar) - Your idea will not work. This article tells you why.
- [So You Want to Abolish Time Zones](https://qntm.org/abolish) - 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](https://www.youtube.com/watch?v=-5wpm-gesOY) - A video about why you should never, ever deal with timezones if you can help it.
- [\$26,000 Overcollection by Labor Department](http://digital.vpr.net/post/rounding-error-computer-code-leads-26000-overcollection-labor-department) - The consequence of wrong calendar accounting.
- [RFC-3339 vs ISO-8601](https://ijmacd.github.io/rfc3339-iso8601/) - 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](https://web.archive.org/web/20200216181551/https://ericasadun.com/2018/12/25/iso-8601-yyyy-yyyy-and-why-your-year-may-be-wrong/) - String formatting of date is hard.
- [UTC is Enough for everyone, right?](https://zachholman.com/talk/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](https://codeblog.jonskeet.uk/2019/03/27/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](https://news.ycombinator.com/item?id=28047376) - 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?](https://web.archive.org/web/20241124114705/https://stackoverflow.com/questions/6841333/why-is-subtracting-these-two-epoch-milli-times-in-year-1927-giving-a-strange-r/6841479#answer-6841479) - 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](https://web.archive.org/web/20150908004245/http://www.merlyn.demon.co.uk/critdate.htm) - From Y2K to the overflow of 32-bit seconds from Unix epoch, a list of special date to watch for depending on the system.
- “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: [The Soul of a New Machine](https://www.amazon.com/dp/0316491705?&linkCode=ll1&tag=kevideld-20&linkId=ec2881e22fb26c2d43de0daeebd5424d&language=en_US&ref_=as_li_ss_tl).

## Education

- [Falsehoods CS Students (Still) Believe Upon Graduating](https://www.netmeister.org/blog/cs-falsehoods.html) - 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](https://www.cs.kent.ac.uk/people/staff/srk21/blog/2019/12/02/) - “Lots of things are said, written and believed about postdoctoral researchers that are simply not true.”

## Emails

- [Falsehoods about Email](https://beesbuzz.biz/code/439-Falsehoods-programmers-believe-about-email) - On addresses, content and delivery.
- [I Knew How to Validate an Email Address Until I Read the RFC](https://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx/) - Provides intricate examples that are unsuspected valid email addresses according the RFC-822.
- [So you think you can validate email addresses (FOSDEM 2018)](https://fosdem.org/2018/schedule/event/email_address_quiz/) - Presentation of edge-case email addresses and why you should not use regex to parse them.
- [Your E-Mail Validation Logic is Wrong](https://www.netmeister.org/blog/email.html) - A summary of the various, surprising things that are allowed in an email address.
- [`libvldmail`](https://github.com/dertuxmalwieder/libvldmail) - A library that implements RFC-based checks for e-mail addresses.

## Geography

- [Falsehoods about Geography](https://wiesmann.codiferes.net/wordpress/archives/15187) - Takes on places, their names and locations.
- [Falsehoods about Maps](https://web.archive.org/web/20250516080728/http://www.atlefren.net/post/2014/09/falsehoods-programmers-believe-about-maps/) - Covers coordinates, projection and GIS.
- [Falsehoods about Weather](https://shkspr.mobi/blog/2024/06/falsehoods-programmers-believe-about-weather/) - Weather is location-dependent, and so full of edge-cases.
- [I Hate Coordinate Systems](https://ihatecoordinatesystems.com) - A guide for geospatial practitioners on diagnosing and fixing common issues with coordinate systems.
- [Top 5 most insane kanji place names in Japan](https://web.archive.org/web/20210310050932/https://soranews24.com/2016/12/01/w-t-f-japan-top-5-most-insane-kanji-place-names-in-japan%E3%80%90weird-top-five%E3%80%91/) - “There's one special group of kanji that's hard even for Japanese people to read: place names.”

## Human Identity

- [Falsehoods about Names](https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/) - The article that started it all.
- [Falsehoods about Names – With Examples](https://shinesolutions.com/2018/01/08/falsehoods-programmers-believe-about-names-with-examples/) - A revisited version of the article above, this time with detailed explanations.
- [Falsehoods about Biometrics](https://shkspr.mobi/blog/2021/01/falsehoods-programmers-believe-about-biometrics/) - Fingerprints are not unique.
- [Falsehoods about Families](https://shkspr.mobi/blog/2017/03/falsehoods-programmers-believe-about-families/) - You can't really define a family with strict rules.
- Falsehoods about Gender: [#1](https://gist.github.com/garbados/f82604ea639e0e47bf44) & [#2](https://medium.com/gender-2-0/falsehoods-programmers-believe-about-gender-f9a3512b4c9c) - Gender is part of human identity and has its own subtleties.
- [Falsehoods about Me](https://skylarmacdonald.com/falsehoods/) - Issues at the intersection of names and gender and internationalization.
- [Gay Marriage: The Database Engineering Perspective](https://web.archive.org/web/20170914014648/https://qntm.org/gay) - How to store a marriage in a database while addressing most of the falsehoods about gender, naming and relationships.
- [Personal Names Around the World](https://www.w3.org/International/questions/qa-personal-names) - How do people's names differ around the world, and what are the implications for the Web?
- [XKCD #327: Exploits of a Mom](https://xkcd.com/327/) - 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](https://www.wired.com/2015/11/null/) - Real-life example on how implemented falsehood has negative impact on someone's life.
- [HL7 v3 RIM](https://www.hl7.org/implement/standards/product_brief.cfm?product_id=186) - A flexible data model for representing human names.
- [Apple iOS `NSPersonNameComponentsFormatter`](https://developer.apple.com/library/ios/documentation/Miscellaneous/Reference/NSPersonNameComponentsFormatter_Class/index.html) - Localized representations of the components of a person's name.

## Internationalization

On character encoding, string formatting, unicode and internationalization.

- [Falsehoods about Language](http://garbled.benhamill.com/2017/04/18/falsehoods-programmers-believe-about-language) - Translating a software from English is not as straightforward as it seems to be.
- [Falsehoods about Language](https://www.lexiconista.com/falsehoods-about-languages/) - Additional cases to complement the previous article.
- [Falsehoods about Plain Text](https://jeremyhussell.blogspot.com/2017/11/falsehoods-programmers-believe-about.html#main) - Plain text can't cut it, which makes Unicode even more incredible for its ability to just work well.
- [Falsehoods about text](https://wiesmann.codiferes.net/wordpress/archives/30296) - A subset of the falsehoods from above, illustrated with some examples.
- [Internationalis(z)ing Code](https://www.youtube.com/watch?v=0j74jcxSunY) - A video about things you need to keep in mind when internationalizing your code.
- [Minimum to Know About Unicode and Character Sets](https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/) - A good introduction to unicode, its historical context and origins, followed by an overview of its inner working.
- [Awesome Unicode](https://github.com/Wisdom/Awesome-Unicode) - A curated list of delightful Unicode tidbits, packages and resources.
- [Dark corners of Unicode](https://eev.ee/blog/2015/09/12/dark-corners-of-unicode/) - Unicode is extensive, here be dragons.
- [Let's Stop Ascribing Meaning to Code Points](https://manishearth.github.io/blog/2017/01/14/stop-ascribing-meaning-to-unicode-code-points/) - Dives deeper in Unicode and dispels myths about code points.
- [Unicode misconceptions](https://jean.abou-samra.fr/blog/unicode-misconceptions/) - A collection of falsehoods on case, encodings, string length, and more.
- [Breaking Our `Latin-1` Assumptions](https://manishearth.github.io/blog/2017/01/15/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](http://i.imgur.com/4J7Il0m.jpg) - Character encoding is hard, more so when each broken layer of data input adds its own spice.
- [Localization Failure: Temperature is Hard](https://randomascii.wordpress.com/2023/10/17/localization-failure-temperature-is-hard/) - You cannot localize temperature differences as-is.
- [i18n Testing Data](https://github.com/patch/i18n-testing) - Compilation of real-word international and diverse name data for unit testing and QA.
- [Big List of Naughty Strings](https://github.com/minimaxir/big-list-of-naughty-strings) - 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](https://web.archive.org/web/20170114022820/https://medium.com/@creatrixtiara/falsehoods-programmers-believe-about-job-applicants-99280437c616) - Assumptions about job applicants and their job histories aren't necessarily true.

## Multimedia

- [Falsehoods about Video](https://haasn.xyz/posts/2016-12-25-falsehoods-programmers-believe-about-%5Bvideo-stuff%5D.html) - 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](https://dustri.org/b/horrible-edge-cases-to-consider-when-dealing-with-music.html) - Music catalogs data are full of crazy stuff.
- [MusicBrainz database schema](https://musicbrainz.org/doc/MusicBrainz_Database/Schema) - An open-source project and database that seems to have solved the complexity of music catalog management.
- [DDEX](https://ddex.net/standards/) - The industry standard for music metadata, including archiving, sound recording, sales and usage reporting, royalties and license deals.
- [Apple Music Style Guide](https://help.apple.com/itc/musicstyleguide/en.lproj/static.html) - Quality insurance guidelines to format music, art, and metadata to increase discoverability.

## Networks

- [Falsehoods about Networks](https://web.archive.org/web/20250215201837/http://blog.erratasec.com/2012/06/falsehoods-programmers-believe-about.html) - Covers TCP, DHCP, DNS, VLANs and IPv4/v6.
- [Fallacies of Distributed Computing](https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing) - Assumptions that programmers new to distributed applications invariably make.
- [There's more than one way to write an IP address](https://ma.ttias.be/theres-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](https://news.ycombinator.com/item?id=20390981) either.
- [IDN is crazy](https://daniel.haxx.se/blog/2022/12/14/idn-is-crazy/) - International characters in domain names mean support of homographs and heterographs.
- [`hostname-validate`](https://github.com/jakeogh/hostname-validate) - An attempt to validate hostnames in Python.

## Phone Numbers

- [Falsehoods about Phone Numbers](https://github.com/googlei18n/libphonenumber/blob/master/FALSEHOODS.md) - Covers phone numbers, their representation and meaning.
- [`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/twcclegg/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).

## Postal Addresses

- [Falsehoods about Addresses](https://www.mjt.me.uk/posts/falsehoods-programmers-believe-about-addresses/) - Covers streets, postal codes, buildings, cities and countries.
- [Falsehoods about Residence](https://twitter.com/samphippen/status/813896916534784004) - It's not only about the address itself, but the relationship between a person and its residence.
- [Letter Delivered Despite No Name, No Address](https://twitter.com/loriskumo/status/735851511331356672) - Ultimate falsehood about postal addresses: you do not need one.
- [UK Address Oddities](https://paulplowman.com/stuff/uk-address-oddities/) - Quirks extracted from a list of most residential property sales in England and Wales since 1995.
- [The Bear with Its Own ZIP Code](https://kottke.org/19/08/the-bear-with-its-own-zip-code) - Smokey Bear has his own ZIP Code (`20252`) because he gets so much mail.
- [Why doesn't Costa Rica use real addresses?](https://www.crcdaily.com/p/why-doesnt-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](https://smartystreets.com/articles/regular-expressions-for-street-addresses) - Why regular expressions and street addresses do not mix.
- [Parsing the Infamous Japanese Postal CSV](https://www.dampfkraft.com/posuto.html) - “I saw many horrors, but I've never seen this particular formatting choice anywhere else.”
- [USPS Postal Addressing Standards](https://pe.usps.com/text/pub28/welcome.htm) - Describes both standardized address formats and content.
- [`libaddressinput`](https://github.com/googlei18n/libaddressinput) - Google's common C++ and Java library for parsing, formatting, and validating international postal addresses.
- [`addressing`](https://github.com/commerceguys/addressing) - A PHP 5.4+ addressing library, powered by Google's dataset.
- [`postal-address`](https://github.com/scaleway/postal-address) - Python module to parse, normalize and render postal addresses.
- [`address`](https://github.com/Boostport/address) - Go library to validate and format addresses using Google's dataset.

## Science

- [Falsehoods about Systems of Measurement](https://www.stevemoser.org/posts/dev/falsehoods-programmers-believe-about-systems-of-measurement.html) - On working with systems of measurement and converting between them.

## Society

- [Falsehoods about Political Appointments](https://twitter.com/oliver_dw/status/737930439575404544) - Designing election systems has its own tricks.
- [Falsehoods about Women In Tech](https://gist.github.com/Su-Shee/5d1a417fa9de19c15477) - Myth about women in STEM (Science, Technology, Engineering, Math) industries.

## Software Engineering

- [Falsehoods about Versions](https://github.com/xenoterracide/falsehoods/blob/master/versions.md) - Attributing an identity to a software release might be harder than thought.
- [Falsehoods about Build Systems](https://pozorvlak.livejournal.com/174763.html) - Building software is hard. Building software that builds software is harder.
- [Falsehoods about Undefined Behavior](https://predr.ag/blog/falsehoods-programmers-believe-about-undefined-behavior/) - Invoking undefined behavior can cause *anything* to happen, for a much broader definition of "anything" than one might think.
- [Myths about CPU Caches](https://software.rajivprab.com/2018/04/29/myths-programmers-believe-about-cpu-caches/) - Misconceptions about caches often lead to false assertions, especially when it comes to concurrency and race conditions.
- [Falsehoods about null pointers](https://purplesyringa.moe/blog/falsehoods-programmers-believe-about-null-pointers/) - Null pointers are even more cursed than pointers in general, and provenance already makes pointers quite complicated.
- [Falsehoods about CSVs](https://donatstudios.com/Falsehoods-Programmers-Believe-About-CSVs) - While RFC4180 to exists, it is far from definitive and goes largely ignored.
- [Falsehoods about Package Managers](https://kdeldycke.github.io/meta-package-manager/falsehoods.html) - Covers package and their managers.
- [Falsehoods about Testing](https://club.ministryoftesting.com/t/falsehoods-testers-believe/1371) - An attempt to establish a list of falsehoods about testing.
- [Falsehoods about Search](https://opensourceconnections.com/blog/2019/05/29/falsehoods-programmers-believe-about-search/) - Why search (including analysis, tokenization, highlighting) is deceptively complex.
- [What every software engineer should know about search](https://scribe.rip/p/what-every-software-engineer-should-know-about-search-27d1df99f80d) - A better sourced article on the difficulty of implementing search engines.
- [Falsehoods about Pagination](https://www.hezmatt.org/~mpalmer/blog/2018/12/12/falsehoods-programmers-believe-about-pagination.html) - Why your pagination algorithm is giving someone (possibly you) a headache.
- [Falsehoods about garbage collection](https://paul.bone.id.au/blog/2018/10/19/gc-falsehoods/) - Misconceptions about the predictability and performance of garbage collection.
- [Myths about File Paths](https://yakking.branchable.com/posts/falsehoods-programmers-believe-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](https://www.fileside.app/blog/2023-03-17_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 `/dev/urandom`](https://www.2uo.de/myths-about-urandom) - There are a few things about `/dev/urandom` and `/dev/random` that are repeated again and again. Still they are false.
- [Facts about State Machines](https://codeberg.org/catseye/The-Dossier/src/branch/master/article/Facts-about-State-Machines/README.md) - State machines are often misunderstood and under-applied.
- [Hi! My name is…](https://www.youtube.com/watch?v=NIebelIpdYk) - This talk could have been named *falsehoods about usernames (and other identifiers)*.
- [Popular misconceptions about `mtime`](https://apenwarr.ca/log/20181113) - Part of a post on why file's `mtime` comparison could be considered harmful.
- [Rules for Autocomplete](http://jeremymikkola.com/posts/2019_03_19_rules_for_autocomplete.html) - Not falsehoods *per se*, but still a great list of good practices to implement autocompletion.
- [Floating Point Math](https://0.30000000000000004.com) - “Your language isn't broken, it's doing floating point math. (…) This is why, more often than not, `0.1 + 0.2 != 0.3`.”
- [The yaml document from hell](https://ruudvanasseldonk.com/2023/01/11/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](https://twitter.com/hillelogram/status/1534301374166474752) - There are edge-cases even in tagging systems which are supposed to be barebone.
- [Falsehoods about Quantum Technology](https://github.com/gottfriedsz/falsehoods-quantum) - Common misconceptions about quantum technology and computers.
- [Falsehoods about Event-Driven Systems](https://dimtion.fr/blog/falsehoods-event-driven/) - Misconceptions about event driven systems and message passing.
- [Falsehoods about Digital Object Identifiers (DOIs)](https://pardalotus.tech/posts/2024-10-02-falsehoods-programmers-believe-about-dois/) - False conceptions about the identifiers that are used to identify and link research outputs (and a lot of other things).
- [Falsehoods about CVE](https://medium.com/@jonathan.leitschuh/falsehoods-people-believe-about-cves-85c1d063ffda) - CVE ≠ vulnerability (and 36 other confusions).
- [Falsehoods about authorization](https://www.osohq.com/post/falsehoods-about-authorization) - Misconceptions about implementing permissions systems.

## Transportation

- [Falsehoods about Cars](https://github.com/driveto/falsehoods-about-cars) - Even something as common as defining a car is full of pitfalls.
- [Falsehoods about Aviation](https://flightaware.engineering/falsehoods-programmers-believe-about-aviation/) - Aviation data are less normalized than you might think.
- [Falsehoods about Airline Seat Maps](https://duffel.com/blog/falsehoods-about-seat-maps) - Airline seat maps are far more complex than just neat rows and columns of seats.
- [The Maddening Mess of Airport Codes](https://www.youtube.com/watch?v=jfOUVYQnuhw) - 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!](https://web.archive.org/web/20250528134345/https://travel.stackexchange.com/questions/149323/my-name-causes-an-issue-with-any-booking-names-end-with-mr-and-mrs) - Old airline reservation systems considers the `MR` suffix as `Mister` and drops it.

## Typography

- [Falsehoods about Fonts](https://github.com/RoelN/Font-Falsehoods) - Assumptions about typography on the web and in desktop applications.
- [Truths programmers should know about case](https://www.b-list.org/weblog/2018/nov/26/case/) - A complete reverse of the falsehoods format, on the topic of case (as in uppercase and lowercase text).

## Video Games

- [The Door Problem](https://lizengland.com/blog/2014/04/the-door-problem/) - All the things you have not considered implementing for your doors in games.

## Web

- [Falsehoods about HTML](https://www.aartaka.me.eu.org/falsehoods-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](https://web.archive.org/web/20201112010147/http://slinkp.com/falsehoods-programmers-believe-about-apis.html) - Pitfalls to be mindful of when creating and documenting APIs.
- [URLs: It's complicated…](https://www.netmeister.org/blog/urls.html) - 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](https://web.archive.org/web/20230604033340/https://www.simplecto.com/complexity-downloading-favicons-told-in-15-plus-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.

## Contributing

Your contributions are always welcome! Please take a look at the [contribution guidelines](https://github.com/kdeldycke/awesome-falsehood/blob/main/.github/contributing.md) first.

## Footnotes

This list gathered some popularity in social medias over the past few years. See it being [discussed and mentioned elsewhere](https://github.com/kdeldycke/kdeldycke/blob/main/in-the-media.md).

The [header image](https://github.com/kdeldycke/awesome-falsehood/blob/main/assets/awesome-falsehood-header.jpg) is based on a modified [photo taken in February 2010 by Iza Bella](https://commons.wikimedia.org/wiki/File:BLW_Truth_and_Falsehood.jpg), distributed under a [Creative Commons BY-SA 2.0 UK license](https://creativecommons.org/licenses/by-sa/2.0/uk/deed.en).

<!--lint disable no-undefined-references-->

<a name="intro-quote-def">[1]</a>: [*Notebooks, 1914-1916*](https://www.amazon.com/dp/1324090804?&linkCode=ll1&tag=kevideld-20&linkId=a1903c3fbfdc82fbe2e566fca40718fb&language=en_US&ref_=as_li_ss_tl) (Liveright, 2022) - [source: page 14e](https://archive.org/details/notebooks191419100witt/page/n35). [[↑]](#intro-quote-ref)


================================================
FILE: readme.zh.md
================================================
<!--lint disable awesome-heading-->

<p align="center">
  <a href="https://github.com/kdeldycke/awesome-falsehood/">
    <img src="https://github.com/kdeldycke/awesome-falsehood/raw/main/assets/awesome-falsehood-header.jpg" alt="Awesome Falsehood header image">
  </a>
</p>

<p align="center">
  <a href="https://github.com/sponsors/kdeldycke">
    <strong>您的品牌 → 此处 🚀</strong>
    <br/>
    <sup>SEO 已死。将您的产品放在这里,以便被 AI 的训练数据抓取。</sup>
  </a>
  <br/><br/>
</p>

---

<p align="center">
  <a href="https://github.com/kdeldycke/awesome-falsehood#readme.md" hreflang="en"><img src="https://img.shields.io/badge/lang-English-blue?style=flat-square" lang="en" alt="English"></a>
  <a href="https://github.com/kdeldycke/awesome-falsehood/blob/main/readme.zh.md" hreflang="zh"><img src="https://img.shields.io/badge/lang-中文-blue?style=flat-square" lang="zh" alt="中文"></a>
</p>

<p align="center">
  <i>世界的逻辑在所有真理和虚假之前.</i><br>
  — 路德维希·维特根斯坦<sup id="intro-quote-ref"><a href="#intro-quote-def">[1]</a></sup>
</p>

一个精心策划的 [![Awesome](https://awesome.re/badge-flat.svg)](https://github.com/sindresorhus/awesome) 程序员谬误清单. *谬误* 指的是你最初相信的 *观点*,但是它被证明是错的.

举个例子, 一个*观点*: 有效的电子邮件地址恰好有一个 `@` 字符. 因此,你会使用这个规则来实现你的电子邮件字段验证逻辑。对吗?错了! *实际* 是: 电子邮件可以有多个 `@` 字符.
因此,你的实现应该允许这种情况。最初的*观点*是你曾经相信的一个谬误.

下面列出的*谬误*文章将提供一个全面的列表,帮助你了解这些错误信念,以便让你成为一个更优秀的程序员.

## 目录

<!-- mdformat-toc start --slug=github --no-anchors --maxlevel=6 --minlevel=2 -->

- [目录](#%E7%9B%AE%E5%BD%95)
- [元](#%E5%85%83)
- [艺术](#%E8%89%BA%E6%9C%AF)
- [业务](#%E4%B8%9A%E5%8A%A1)
- [加密货币](#%E5%8A%A0%E5%AF%86%E8%B4%A7%E5%B8%81)
- [日期和时间](#%E6%97%A5%E6%9C%9F%E5%92%8C%E6%97%B6%E9%97%B4)
- [教育](#%E6%95%99%E8%82%B2)
- [邮件](#%E9%82%AE%E4%BB%B6)
- [地理](#%E5%9C%B0%E7%90%86)
- [人类身份](#%E4%BA%BA%E7%B1%BB%E8%BA%AB%E4%BB%BD)
- [国际化](#%E5%9B%BD%E9%99%85%E5%8C%96)
- [管理](#%E7%AE%A1%E7%90%86)
- [多媒体](#%E5%A4%9A%E5%AA%92%E4%BD%93)
- [网络](#%E7%BD%91%E7%BB%9C)
- [电话号码](#%E7%94%B5%E8%AF%9D%E5%8F%B7%E7%A0%81)
- [邮政编码](#%E9%82%AE%E6%94%BF%E7%BC%96%E7%A0%81)
- [科学](#%E7%A7%91%E5%AD%A6)
- [社会](#%E7%A4%BE%E4%BC%9A)
- [软件工程](#%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B)
- [交通](#%E4%BA%A4%E9%80%9A)
- [排版](#%E6%8E%92%E7%89%88)
- [视频游戏](#%E8%A7%86%E9%A2%91%E6%B8%B8%E6%88%8F)
- [Web](#web)
- [贡献](#%E8%B4%A1%E7%8C%AE)
- [注脚](#%E6%B3%A8%E8%84%9A)

<!-- mdformat-toc end -->

## 元

- [程序员的谬误](https://spaceninja.com/2015/12/07/falsehoods-programmers-believe/) - 常见谬误的简要清单. 对谬误世界的精彩概述与快速入门介绍.
- [编程的谬误](https://chiselapp.com/user/ttmrichter/repository/gng/doc/trunk/output/falsehoods.html) - 让程序员有点丢人但有趣谬误列表.
- [对谬误列表的误解](https://kevin.deldycke.com/2016/falsehoods-programmers-believe-about-falsehoods-lists) - "不应该这么对待谬误的说明".

## 艺术

- [音乐的谬误](https://literateprogrammer.blogspot.fr/2016/07/falsehoods-programmers-believe-about.html) - 在编纂音乐时可能产生的错误假设.
- [艺术的谬误](http://artsy.github.io/blog/2018/04/18/programmer-misconceptions-about-art/) - 对艺术的常见误解.

## 业务

- [网上购物的谬误](https://wiesmann.codiferes.net/wordpress/archives/22201) - 涵盖价格、货币和库存.
- [价格谬误](https://gist.github.com/rgs/6509585) - 涵盖货币、金额和本地化.
- [IBAN谬误](https://github.com/globalcitizen/php-iban/blob/master/docs/FALSEHOODS.md) - 国际银行账户号码并不是全球统一的.
- [经济学谬误](http://exple.tive.org/blarg/2016/09/22/falsehoods-programmers-believe-about-economics/) - 经济学不简单,也不理性.
- [Etsy会计系统的小数点错误](https://web.archive.org/web/20230615151102/https://old.reddit.com/r/Etsy/comments/hz4877/if_you_are_an_etsy_seller_do_not_purchase_postage/) - 会计软件中类型的重要性:漏掉小数点会导致多收费100倍.
- [两万五千刀的水分资金](https://web.archive.org/web/20250326135824/http://rachelbythebay.com/w/2022/12/02/25k/) - 这种把美元和美分切割的错误同样出现在谷歌广告中,把 250美元的内部优惠券变成了 25000美元. 我的建议是: [货币值抛弃小数和浮点数. 用 decimals. 或者用回字符串解析, 而不校验.](https://twitter.com/kdeldycke/status/1599113889093890049)
- ["系统无法处理十亿美元"](https://xcancel.com/signulll/status/1950294195039838480) - AI热潮中Meta公司疯狂的薪酬待遇导致ERP系统崩溃。
- [公司名称中的`<` 和 `>`会导致XSS攻击](https://forum.aws.chdev.org/t/cross-site-scripting-xss-software-attack/3355) - 因为 [英国允许用特殊字符注册公司](https://www.legislation.gov.uk/uksi/2015/17/schedule/1/made), 一个骇客利用这种方式注册 `\"><SCRIPT SRC=MJT.XSS.HT></SCRIPT> LTD`, but also `; DROP TABLE "COMPANIES";-- LTD`, `BETTS &AMP; TWINE LTD` and `SAFDASD & SFSAF \' SFDAASF\" LTD`.
- [公司名称的细节](https://twitter.com/nthnmsmth/status/1587880523124408322) - 怎么让特拉华州和国税局的规则不冲突.
- [CLDR货币定义](https://github.com/unicode-org/cldr/blob/release-40/common/supplemental/supplementalData.xml#L87-L94) - 由于 叛乱、侵略、新法和缓慢的推进的计划,货币的有效日期范围出现重叠.
- [`税`](https://github.com/commerceguys/tax) - 一个PHP 5.4 的税务管理库.

## 加密货币

- [比特币谬误](https://github.com/theborakompanioni/spring-boot-bitcoin-starter/blob/master/docs/FALSEHOODS.md) - 关于比特币的错误观点列表.
- [以太坊谬误](https://gist.github.com/spalladino/a349f0ca53dbb5fc3914243aaf7ea8c6) - 合约编程的误解和常见陷阱.

## 日期和时间

- [时间谬误](http://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time) - 关于时间和日期的开创性文章.
- [更多的时间谬误](http://infiniteundo.com/post/25509354022/more-falsehoods-programmers-believe-about-time) - 上文的第二部分.
- [时间和时区谬误](https://www.creativedeletion.com/2015/01/28/falsehoods-programmers-date-time-zones.html) - 另一个关于时间的谬误,重点在于时区.
- [对时间谬误的批判](https://gist.github.com/thanatos/eee17100476a336a711e) - 源自上文的第一篇文章,对每一个谬误进行了解释, 有更多的背景和外部资源.
- [Unix时间谬误](https://alexwlchan.net/2019/05/falsehoods-programmers-believe-about-unix-time/) - 注意润秒!
- [时区谬误](https://www.zainrizvi.io/blog/falsehoods-programmers-believe-about-time-zones/) - 关于 DST 转换的边缘情况有一些不错的观点.
- [日历谬误](http://yourcalendricalfallacyis.com) - 一个涵盖插值和文化影响的清单,由 iOS 和 macOS 开发者社区制作.
- [时区数据库](https://www.iana.org/time-zones) - 全球许多代表性地点当地时间历史的代码和数据.
- [漫长而痛苦的时间史](http://naggum.no/lugm-time.html) - 时间记录中的大多数特殊性都可以在历史中找到解释.
- [你提倡日历改革](https://qntm.org/calendar) - 这篇文章告诉你为什么你的想法行不通.
- [所以你想废除时区](https://qntm.org/abolish) - 废除时区听起来似乎是个好主意,但有很多复杂因素让它似乎没那么好.
- [时间和时区的问题](https://www.youtube.com/watch?v=-5wpm-gesOY) - 一个视频,介绍了为什么"非必要不处理时区".
- [劳动部门超额征收 26000刀](http://digital.vpr.net/post/rounding-error-computer-code-leads-26000-overcollection-labor-department) - 错误的日历计算带来的后果.
- [RFC-3339 vs ISO-8601](https://ijmacd.github.io/rfc3339-iso8601/) - 一份包含两个标准的格式列表,展示了它们的重叠部分及实际示例.
- [ISO-8601, `YYYY`, `yyyy`, 为什么你的年份是错的](https://web.archive.org/web/20200216181551/https://ericasadun.com/2018/12/25/iso-8601-yyyy-yyyy-and-why-your-year-may-be-wrong/) - 日期的字符串格式化很难.
- [UTC对于每个人来说都够了,对吗?](https://zachholman.com/talk/utc-is-enough-for-everyone-right) - 你可能没有想到关于日期和时间(特别是 UTC)的一些边缘情况.
- [存储 UTC 不是灵丹妙药](https://codeblog.jonskeet.uk/2019/03/27/storing-utc-is-not-a-silver-bullet/) - "只存 UTC" 并不总是对的.
- [如何在 UT1、TAI 和 UTC 之间进行选择](https://news.ycombinator.com/item?id=28047376) - 这取决于你对 SI 秒、地球自转同步和避免闰秒的优先级.
- [为什么 1927年的这两个时间想减得到了奇怪的结果?](https://web.archive.org/web/20241124114705/https://stackoverflow.com/questions/6841333/why-is-subtracting-these-two-epoch-milli-times-in-year-1927-giving-a-strange-r/6841479#answer-6841479) - 臭名昭著的 Stack Overflow 答案,涉及复杂的历史时区,以及如何通过新版本的软件重新解释历史日期.
- [至关重要的日期](https://web.archive.org/web/20150908004245/http://www.merlyn.demon.co.uk/critdate.htm) - 从 Y2K 到 Unix 纪元的 32 位秒溢出,列出了一些特殊日期,需根据系统进行关注.
- “我要去佛蒙特的一个公社,期间不打算处理比一个季节更短的时间单位” - 这是一个在 70 年代辞职的工程师留下的留言,他在处理亚秒级计时问题上付出了过多的努力. 出处: [The Soul of a New Machine](https://www.amazon.com/dp/0316491705?&linkCode=ll1&tag=kevideld-20&linkId=ec2881e22fb26c2d43de0daeebd5424d&language=en_US&ref_=as_li_ss_tl).

## 教育

- [计算机科学的学生毕业后(仍然)相信的谎言](https://www.netmeister.org/blog/cs-falsehoods.html) - 一个关于事情的清单(不仅限于)计算机科学学生常常错误地、甚至令人惊讶地相信的观点,尽管他们(可能)应该更了解真相.
- [博士后流言](https://www.cs.kent.ac.uk/people/staff/srk21/blog/2019/12/02/) - “关于博士后研究人员,有很多言论、文章和信念都是完全不真实的.”

## 邮件

- [邮件谬误](https://beesbuzz.biz/code/439-Falsehoods-programmers-believe-about-email) - 关于地址、内容和交付.
- [我以为我知道如何验证邮件地址,直到我读了 RFC](https://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx/) - 提供一些复杂的例子,这些例子是根据 RFC-822 标准认为有效的电子邮件地址.
- [所以你认为你可以验证邮件地址 (FOSDEM 2018)](https://fosdem.org/2018/schedule/event/email_address_quiz/) - 边缘案例电子邮件地址的展示以及为何不应使用正则表达式来解析它们.
- [你的邮件验证的逻辑是错的](https://www.netmeister.org/blog/email.html) - 电子邮件地址中允许的各种令人惊讶的内容总结.
- [`libvldmail`](https://github.com/dertuxmalwieder/libvldmail) - 一个实现基于 RFC 的邮件地址检查的库.

## 地理

- [地理谬误](https://wiesmann.codiferes.net/wordpress/archives/15187) - 讨论地点、它们的名称和位置.
- [地图谬误](https://web.archive.org/web/20250516080728/http://www.atlefren.net/post/2014/09/falsehoods-programmers-believe-about-maps/) - 涵盖坐标、投影和 GIS.
- [关于天气的谎言](https://shkspr.mobi/blog/2024/06/falsehoods-programmers-believe-about-weather/) - 天气是与位置相关的,因此充满了边缘情况。
- [我讨厌坐标系](https://ihatecoordinatesystems.com) - 地理空间从业者关于诊断和修复坐标系统常见问题的指南.
- [日本五个最离谱的汉字地名](https://web.archive.org/web/20210310050932/https://soranews24.com/2016/12/01/w-t-f-japan-top-5-most-insane-kanji-place-names-in-japan%E3%80%90weird-top-five%E3%80%91/) - "有一类特殊的汉字,对于日本人来说也很难读:地名."

## 人类身份

- [名字谬误](https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/) - 一切的开始.
- [名字谬误 – 举例](https://shinesolutions.com/2018/01/08/falsehoods-programmers-believe-about-names-with-examples/) - 上面文章的重温版本,这次有详细的解释.
- [生物识别谬误](https://shkspr.mobi/blog/2021/01/falsehoods-programmers-believe-about-biometrics/) - 指纹不是唯一的.
- [家庭谬误](https://shkspr.mobi/blog/2017/03/falsehoods-programmers-believe-about-families/) - 你不能用严格的规则来定义一个家庭.
- 性别谬误: [#1](https://gist.github.com/garbados/f82604ea639e0e47bf44) & [#2](https://medium.com/gender-2-0/falsehoods-programmers-believe-about-gender-f9a3512b4c9c) - 性别是人类身份的一部分,具有其自身的复杂性.
- [关于我的谬误](https://skylarmacdonald.com/falsehoods/) - 姓名、性别与国际化交叉的问题.
- [同性婚姻: 数据库工程视角](https://web.archive.org/web/20170914014648/https://qntm.org/gay) - 如何在数据库中存储婚姻信息,同时解决关于性别、姓名和关系的多数谬误.
- [世界各地人的名字](https://www.w3.org/International/questions/qa-personal-names) - 人们的姓名在世界各地有何不同,这对网络有什么影响?
- [XKCD #327: 妈妈的壮举](https://xkcd.com/327/) - 关于如何实现一种可能导致安全漏洞的谬误的幽默解读.
- [你好, 我是 Null 先生. 我的名字让计算机看不到我](https://www.wired.com/2015/11/null/) - 关于错误实现如何对某人生活产生负面影响的真实案例.
- [HL7 v3 RIM](https://www.hl7.org/implement/standards/product_brief.cfm?product_id=186) - 用于表示人类姓名的灵活数据模型.
- [Apple iOS `NSPersonNameComponentsFormatter`](https://developer.apple.com/library/ios/documentation/Miscellaneous/Reference/NSPersonNameComponentsFormatter_Class/index.html) - 一个人姓名各个组成部分的本地化表示.

## 国际化

关于字符编码,字符串格式,Unicode 和国际化.

- [语言谬误](http://garbled.benhamill.com/2017/04/18/falsehoods-programmers-believe-about-language) - 把软件从英文翻译成其他语言并不像看起来那么简单.
- [语言谬误](https://www.lexiconista.com/falsehoods-about-languages/) - 补充上一篇文章的其他情况。
- [纯文本谬误](https://jeremyhussell.blogspot.com/2017/11/falsehoods-programmers-believe-about.html#main) - 纯文本难以满足需求,而 Unicode 的强大在于其能够良好运作,显得尤为出色.
- [文本谬误](https://wiesmann.codiferes.net/wordpress/archives/30296) -以上谬误中的一部分,并附带一些示例说明.
- [代码国际化](https://www.youtube.com/watch?v=0j74jcxSunY) - 关于在代码国际化时需要注意的事项的视频.
- [关于Unicode 和字符集你至少应该知道的](https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/) - 对unicode很棒的介绍, 包括其历史背景和起源,随后概述其内部工作原理.
- [Awesome Unicode](https://github.com/Wisdom/Awesome-Unicode) - 精心总结的 Unicode 小知识、软件包和资源清单.
- [Unicode的黑暗角落](https://eev.ee/blog/2015/09/12/dark-corners-of-unicode/) - Unicode 非常庞大,小心其中的陷阱.
- [别给码位加戏了](https://manishearth.github.io/blog/2017/01/14/stop-ascribing-meaning-to-unicode-code-points/) - 深入探讨 Unicode,并揭穿关于码位的流言.
- [Unicode谬误](https://jean.abou-samra.fr/blog/unicode-misconceptions/) - 一系列关于大小写、编码、字符串长度等的谬误.
- [打破我们对 `Latin-1` 的假设](https://manishearth.github.io/blog/2017/01/15/breaking-our-latin-1-assumptions/) - 大多数程序员在'Latin-1'上花了太多时间,以至于忘记了其他脚本的特点.
- [致货运标签](http://i.imgur.com/4J7Il0m.jpg) - 字符编码很复杂,尤其是当每一层损坏的数据输入都增添了自己的复杂性时.
- [本地化失败:困难的温度](https://randomascii.wordpress.com/2023/10/17/localization-failure-temperature-is-hard/) - 你无法直接对温差进行本地化处理.
- [国际化测试数据](https://github.com/patch/i18n-testing) - 用于单元测试和质量保证的真实词汇的国际和多样化姓名数据集汇编.
- [违规字符串大集合](https://github.com/minimaxir/big-list-of-naughty-strings) - 一个庞大的字符串语料库,当作为用户输入数据时,很有可能导致问题. 必须有一组有效的边缘案例来测试您的软件.

## 管理

- [求职者谬误](https://web.archive.org/web/20170114022820/https://medium.com/@creatrixtiara/falsehoods-programmers-believe-about-job-applicants-99280437c616) - 关于求职者及其工作经历的假设未必准确。.

## 多媒体

- [视频谬误](https://haasn.xyz/posts/2016-12-25-falsehoods-programmers-believe-about-%5Bvideo-stuff%5D.html) - 涵盖全部内容:视频解码与播放、文件、图像缩放、色彩空间与转换、显示设备和字幕.
- [处理音乐时需要考虑的棘手边缘案例](https://dustri.org/b/horrible-edge-cases-to-consider-when-dealing-with-music.html) - 音乐目录数据中充满了各种奇葩内容.
- [MusicBrainz数据库表](https://musicbrainz.org/doc/MusicBrainz_Database/Schema) - 一个开源的数据库项目,似乎解决了音乐目录管理的复杂性.
- [DDEX](https://ddex.net/standards/) - 音乐元数据的行业标准,包括档案管理、声音录制、销售和使用报告、版权和许可协议.
- [Apple Music 风格指南](https://help.apple.com/itc/musicstyleguide/en.lproj/static.html) - 提高可发现性的音乐、艺术和元数据格式的质量保证指南

## 网络

- [网络谬误](https://web.archive.org/web/20250215201837/http://blog.erratasec.com/2012/06/falsehoods-programmers-believe-about.html) - 包括 TCP, DHCP, DNS, VLANs 和 IPv4/v6.
- [分布式计算谬误](https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing) - 新接触分布式应用的程序员不可避免的错误假设.
- [IP地址不止一种写法](https://ma.ttias.be/theres-more-than-one-way-to-write-an-ip-address/) - 地址的某些部分是可选的,要注意十进制和八进制表示,而且 [别忘了 IPv6](https://news.ycombinator.com/item?id=20390981) .
- [IDN 很疯狂](https://daniel.haxx.se/blog/2022/12/14/idn-is-crazy/) - 域名中的国际字符意味着支持同形异义词和异形异义词.
- [`主机名-校验`](https://github.com/jakeogh/hostname-validate) - 一个尝试校验主机名的 python库.

## 电话号码

- [电话号谬误](https://github.com/googlei18n/libphonenumber/blob/master/FALSEHOODS.md) - 包括电话号码,他们的表示和意义.
- [`libphonenumber`](https://github.com/googlei18n/libphonenumber) - Google的一个通用库,用于解析,校验,格式化国际电话号码.包括Java, C++ 和 JavaScript.也能用于 [C#](https://github.com/twcclegg/libphonenumber-csharp), [Objective-C](https://github.com/iziz/libPhoneNumber-iOS), [Python](https://github.com/daviddrysdale/python-phonenumbers), [Ruby](https://github.com/sstephenson/global_phone) 和 [PHP](https://github.com/giggsey/libphonenumber-for-php).

## 邮政编码

- [邮政编码谬误](https://www.mjt.me.uk/posts/falsehoods-programmers-believe-about-addresses/) -包括街道、邮政编码、建筑物、城市和国家.
- [居住谬误](https://twitter.com/samphippen/status/813896916534784004) - 这不仅仅是地址本身的问题,而是一个人和它的住所之间的关系.
- [尽管没有姓名和地址,信件仍被送达](https://twitter.com/loriskumo/status/735851511331356672) - 关于邮政地址的终极谬误:你并不需要这些信息.
- [英国地址的奇特之处](https://paulplowman.com/stuff/uk-address-oddities/) - 从1995年以来英格兰和威尔士的大多数住宅物业销售列表中提取的奇特之处.
- [拥有自己邮政编码的熊](https://kottke.org/19/08/the-bear-with-its-own-zip-code) - 斯莫基熊拥有自己的邮政编码('20252'),因为他收到的邮件太多.
- [为什么哥斯达黎加不使用真实地址?](https://www.crcdaily.com/p/why-doesnt-costa-rica-use-real-addresses) - 哥斯达黎加使用一种特有的地址系统,该系统依赖于地标、历史和相当多的猜测。.
- [正则表达式和邮政地址](https://smartystreets.com/articles/regular-expressions-for-street-addresses) - 为什么正则表达式和街道地址不相容.
- [解析臭名昭著的日本邮政 CSV](https://www.dampfkraft.com/posuto.html) - "我见过许多可怕的事情,但从未在其他地方见过这种特殊的格式选择".
- [USPS 邮政地址标准](https://pe.usps.com/text/pub28/welcome.htm) - 描述了标准化的地址格式和内容.
- [`libaddressinput`](https://github.com/googlei18n/libaddressinput) - 谷歌用于解析、格式化和验证国际邮政地址的常用 C++ 和 Java 库.
- [`addressing`](https://github.com/commerceguys/addressing) - 一个基于谷歌数据集的 PHP 5.4+ 地址库.
- [`postal-address`](https://github.com/scaleway/postal-address) - 用于解析、标准化和渲染邮政地址的 Python 模块.
- [`address`](https://github.com/Boostport/address) - 基于谷歌的数据集的用于验证和格式化地址的 Go 库.

## 科学

- [关于测量系统的谬误](https://www.stevemoser.org/posts/dev/falsehoods-programmers-believe-about-systems-of-measurement.html) - 关于使用测量系统和它们之间转换的内容.

## 社会

- [政治任命谬误](https://twitter.com/oliver_dw/status/737930439575404544) - 设计选举系统有其自身的技巧.
- [科技领域的女性谬误](https://gist.github.com/Su-Shee/5d1a417fa9de19c15477) - 关于女性在 STEM(科学、技术、工程、数学)行业的流言.

## 软件工程

- [版本谬误](https://github.com/xenoterracide/falsehoods/blob/master/versions.md) - 为软件发布分配一个身份可能比想象中要困难.
- [构建系统谬误](https://pozorvlak.livejournal.com/174763.html) - 构建软件很难. 构建构建软件本身更难.
- [Undefined行为谬误](https://predr.ag/blog/falsehoods-programmers-believe-about-undefined-behavior/) - 调用`undefined`行为可能导致任何事情发生,其范围比人们想象的要广得多.
- [CPU 缓存流言](https://software.rajivprab.com/2018/04/29/myths-programmers-believe-about-cpu-caches/) - 关于缓存的误解常常导致错误的断言,特别是在并发和竞争条件方面.
- [关于 null 指针的谬误](https://purplesyringa.moe/blog/falsehoods-programmers-believe-about-null-pointers/) - Null 指针通常比指针更受诅咒,并且出处已经使指针变得相当复杂。
- [CSV谬误](https://donatstudios.com/Falsehoods-Programmers-Believe-About-CSVs) - 尽管 RFC4180 存在,但它远非权威,且在很大程度上被忽视.
- [包管理谬误](https://kdeldycke.github.io/meta-package-manager/falsehoods.html) - 涵盖包及其管理工具.
- [测试谬误](https://club.ministryoftesting.com/t/falsehoods-testers-believe/1371) - 试图建立关于测试的谬误列表.
- [搜索谬误](https://opensourceconnections.com/blog/2019/05/29/falsehoods-programmers-believe-about-search/) - 为什么搜索(包括分析、分词、高亮)看上去那么复杂.
- [每个软件工程师应该了解的搜索知识](https://scribe.rip/p/what-every-software-engineer-should-know-about-search-27d1df99f80d) - 一篇关于`实现一个搜索引擎有多难`的很棒的文章.
- [分页谬误](https://www.hezmatt.org/~mpalmer/blog/2018/12/12/falsehoods-programmers-believe-about-pagination.html) - 为什么你的分页算法让某些人(可能是你自己)感到头痛.
- [垃圾回收算法谬误](https://paul.bone.id.au/blog/2018/10/19/gc-falsehoods/) - 关于垃圾收集的可预测性和性能的误解.
- [文件路径谬误](https://yakking.branchable.com/posts/falsehoods-programmers-believe-about-file-paths/) - 文件系统和操作系统的多样性使得文件路径比我们想象的要复杂一些.
- [Windows文件路径的奇异世界](https://www.fileside.app/blog/2023-03-17_windows-file-paths/) - “在任何 Unix 衍生系统中,路径是一个令人钦佩的简单概念:如果它以 / 开头,那么它就是一个路径。但在 Windows 上情况并非如此。”
- [`/dev/urandom` 流言](https://www.2uo.de/myths-about-urandom) - 关于 '/dev/urandom' 和 '/dev/random' 有一些反复出现的说法,但它们仍然是错误的.
- [状态机事实](https://codeberg.org/catseye/The-Dossier/src/branch/master/article/Facts-about-State-Machines/README.md) - 状态机常常被误解并且应用不足.
- [嗨! 我的名字是…](https://www.youtube.com/watch?v=NIebelIpdYk) - 这次演讲本可以命名为*关于用户名(和其他标识符)的谬误*.
- [`mtime`的主流误解](https://apenwarr.ca/log/20181113) - 为什么文件的 `mtime` 有害的部分文章.
- [自动补全规则](http://jeremymikkola.com/posts/2019_03_19_rules_for_autocomplete.html) - 并不严格是谬误,但仍然是实现自动补全功能的良好实践的优秀清单.
- [浮点流言](https://0.30000000000000004.com) - “你的语言没坏, 它只是在进行浮点计算. (…) 这就是为什么经常发生 `0.1 + 0.2 != 0.3`.
- [来自地狱的YAML文档](https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell) - YAML 充满了模糊的复杂性,例如意外的数字和非字符串键.
- [我对标签系统充满了无尽的兴趣](https://twitter.com/hillelogram/status/1534301374166474752) - 即使在应该是简单的标签系统中,也存在一些边缘情况.
- [量子技术谬误](https://github.com/gottfriedsz/falsehoods-quantum) - 关于量子技术和计算机的常见误解
- [事件驱动系统谬误](https://dimtion.fr/blog/falsehoods-event-driven/) - 关于事件驱动系统和消息传递的误解.
- [关于数字对象标识符 (DOI) 的虚假信息](https://pardalotus.tech/posts/2024-10-02-falsehoods-programmers-believe-about-dois/) - 关于用于识别和链接研究成果(以及许多其他内容)的标识符的错误概念。
- [关于 CVE 的谬论](https://medium.com/@jonathan.leitschuh/falsehoods-people-believe-about-cves-85c1d063ffda) - CVE ≠漏洞(以及其他 36 种混淆)。
- [授权方面的谬误](https://www.osohq.com/post/falsehoods-about-authorization) - 关于实施权限系统的误解。

## 交通

- [汽车谬误](https://github.com/driveto/falsehoods-about-cars) - 即使是像定义一辆汽车这样普遍的事情也充满了陷阱.
- [关于航空的谎言](https://flightaware.engineering/falsehoods-programmers-believe-about-aviation/) - 航空数据没有你想象的那么标准化。
- [航空座位图谬误](https://duffel.com/blog/falsehoods-about-seat-maps) - 航空公司座位图远比整齐的座位排和列复杂得多.
- [大量混乱到令人抓狂的航空码](https://www.youtube.com/watch?v=jfOUVYQnuhw) - 多个国际和国家机构试图调和历史、实用性和物流,导致航空码遵循古怪的规则.
- [我的名字在任何预约中都会出问题!](https://web.archive.org/web/20250528134345/https://travel.stackexchange.com/questions/149323/my-name-causes-an-issue-with-any-booking-names-end-with-mr-and-mrs) - 旧的航空公司预订系统将 'MR' 后缀视为 'Mister',并将其省略.

## 排版

- [字体谬误](https://github.com/RoelN/Font-Falsehoods) - 关于网页和桌面排版的假设.
- [程序员应该知道的大小写的真相](https://www.b-list.org/weblog/2018/nov/26/case/) - 一个关于大小写(如大写和小写文本)主题的内容,以完全相反的方式呈现谬误列表格式。

## 视频游戏

- [门问题](https://lizengland.com/blog/2014/04/the-door-problem/) - 在游戏中,所有你没有考虑的关于门的东西.

## Web

- [HTML谬误](https://www.aartaka.me.eu.org/falsehoods-html) - “web是好看的,web是丑陋的,web是令人惊叹的。而其中一部分魅力来自 HTML 及其独特的历史遗留问题”
- [REST API谬误](https://web.archive.org/web/20201112010147/http://slinkp.com/falsehoods-programmers-believe-about-apis.html) - 在创建和写API文档的时候要注意的陷阱.
- [URL: 它很复杂…](https://www.netmeister.org/blog/urls.html) - 一个 URL 中包含许多组成部分,每个部分都有其自身的逻辑.
- [下载网站图标的隐藏复杂性:通过 15 个以上的边缘案例讲述](https://web.archive.org/web/20230604033340/https://www.simplecto.com/complexity-downloading-favicons-told-in-15-plus-edge-cases/) - 下载您在浏览器标签中看到的小图标应该是一个简单的任务。结果证明,这比您想象的要复杂得多。请注意,别陷入无休止的琐事中.

## 贡献

随时欢迎你的贡献! 首先请看一下 [贡献指南](https://github.com/kdeldycke/awesome-falsehood/blob/main/.github/contributing.zh.md) .

## 注脚

这份列表在过去几年里在社交媒体上获得了一些人气. 可以看看这个 [其他讨论](https://github.com/kdeldycke/kdeldycke/blob/main/in-the-media.md).

这个[标题图片](https://github.com/kdeldycke/awesome-falsehood/blob/main/assets/awesome-falsehood-header.jpg) 以 [photo taken in February 2010 by Iza Bella](https://commons.wikimedia.org/wiki/File:BLW_Truth_and_Falsehood.jpg)为基础修改的 , 根据 [Creative Commons BY-SA 2.0 UK 许可协议](https://creativecommons.org/licenses/by-sa/2.0/uk/deed.en) 分发.

<!--lint disable no-undefined-references-->

<a name="intro-quote-def">[1]</a>: [*Notebooks, 1914-1916*](https://www.amazon.com/dp/1324090804?&linkCode=ll1&tag=kevideld-20&linkId=a1903c3fbfdc82fbe2e566fca40718fb&language=en_US&ref_=as_li_ss_tl) (Liveright, 2022) - [出处: 14页](https://archive.org/details/notebooks191419100witt/page/n35). [[↑]](#intro-quote-ref)
Download .txt
gitextract_1gr9dst5/

├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── config.yml
│   │   └── new-link.yaml
│   ├── code-of-conduct.md
│   ├── contributing.md
│   ├── contributing.zh.md
│   ├── dependabot.yaml
│   ├── funding.yml
│   ├── gitleaks.toml
│   ├── pull_request_template.md
│   └── workflows/
│       ├── autofix.yaml
│       ├── autolock.yaml
│       ├── docs.yaml
│       ├── label-sponsors.yaml
│       ├── labels.yaml
│       └── lint.yaml
├── .lycheeignore
├── assets/
│   └── awesome-falsehood-header-source.xcf
├── license
├── readme.md
└── readme.zh.md
Condensed preview — 20 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (92K chars).
[
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "chars": 26,
    "preview": "blank_issues_enabled: true"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/new-link.yaml",
    "chars": 1760,
    "preview": "name: Add new link\ndescription: You would like to add a new link to the collection\nlabels: [\"🆕 new link\"]\nbody:\n\n  - typ"
  },
  {
    "path": ".github/code-of-conduct.md",
    "chars": 3233,
    "preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, w"
  },
  {
    "path": ".github/contributing.md",
    "chars": 13643,
    "preview": "# Contributing\n\nYour contributions are always welcome! Here are some guidelines.\n\n## Status\n\nThis repository has reached"
  },
  {
    "path": ".github/contributing.zh.md",
    "chars": 5670,
    "preview": "# 贡献指南\n\n欢迎您的贡献!以下是一些指导原则。\n\n## 状态\n\n这个仓库已经达到了平衡状态。我们已经过了积累阶段,正处于策展过程中。这意味着我们更注重完善概念、平滑进展以及仔细评估新内容的添加。\n\n## 拉取请求和问题\n\n- 在提出新建"
  },
  {
    "path": ".github/dependabot.yaml",
    "chars": 305,
    "preview": "# https://docs.github.com/en/github/administering-a-repository\n# /configuration-options-for-dependency-updates\n---\nversi"
  },
  {
    "path": ".github/funding.yml",
    "chars": 22,
    "preview": "---\ngithub: kdeldycke\n"
  },
  {
    "path": ".github/gitleaks.toml",
    "chars": 1303,
    "preview": "[allowlist]\ndescription = \"False positives\"\ncommits = [\n    ### kdeldycke/awesome-billing\n    # Twitter status IDs.\n    "
  },
  {
    "path": ".github/pull_request_template.md",
    "chars": 1087,
    "preview": "### Motivation\n\n<!--\n\nExplain the motivation for adding this link to the current collection. What's special about it?\n\nN"
  },
  {
    "path": ".github/workflows/autofix.yaml",
    "chars": 284,
    "preview": "---\nname: Autofix\n\"on\":\n  push:\n    # Only targets main branch to avoid amplification effects of auto-fixing\n    # the e"
  },
  {
    "path": ".github/workflows/autolock.yaml",
    "chars": 192,
    "preview": "---\nname: Autolock\n\"on\":\n  schedule:\n    # Run weekly, every Monday at 8:43.\n    - cron: \"43 8 * * 1\"\n\njobs:\n\n  autolock"
  },
  {
    "path": ".github/workflows/docs.yaml",
    "chars": 275,
    "preview": "---\nname: Docs\n\"on\":\n  push:\n    # Only targets main branch to avoid amplification effects of auto-fixing\n    # the exac"
  },
  {
    "path": ".github/workflows/label-sponsors.yaml",
    "chars": 210,
    "preview": "---\nname: Label sponsors\n\"on\":\n  pull_request:\n    types:\n      - opened\n  issues:\n    types:\n      - opened\n\njobs:\n\n  l"
  },
  {
    "path": ".github/workflows/labels.yaml",
    "chars": 143,
    "preview": "---\nname: Labels\n\"on\":\n  push:\n    branches:\n      - main\n\njobs:\n\n  labels:\n    uses: kdeldycke/workflows/.github/workfl"
  },
  {
    "path": ".github/workflows/lint.yaml",
    "chars": 110,
    "preview": "---\nname: Lint\n\"on\":\n  push:\n\njobs:\n\n  lint:\n    uses: kdeldycke/workflows/.github/workflows/lint.yaml@v4.17.9"
  },
  {
    "path": ".lycheeignore",
    "chars": 290,
    "preview": "# XXX Skip archive.ph and Sci-Hub because they restricts access to crawlers.\narchive.ph\nsci-hub.st\n# XXX Skip HN because"
  },
  {
    "path": "license",
    "chars": 7048,
    "preview": "Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n"
  },
  {
    "path": "readme.md",
    "chars": 32577,
    "preview": "<!--lint disable awesome-heading-->\n\n<p align=\"center\">\n  <a href=\"https://github.com/kdeldycke/awesome-falsehood/\">\n   "
  },
  {
    "path": "readme.zh.md",
    "chars": 20991,
    "preview": "<!--lint disable awesome-heading-->\n\n<p align=\"center\">\n  <a href=\"https://github.com/kdeldycke/awesome-falsehood/\">\n   "
  }
]

// ... and 1 more files (download for full content)

About this extraction

This page contains the full source code of the kdeldycke/awesome-falsehood GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 20 files (87.1 KB), approximately 28.5k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!