Awesome Falsehood header image
Falsehood header imageを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
- メタ
- 芸術
- ビジネス
- 暗号資産
- 日付と時刻
- 教育
- メール
- 地理
- 人のアイデンティティ
- 国際化
- 管理
- マルチメディア
- ネットワーク
- 電話番号
- 郵便住所
- 科学
- 社会
- ソフトウェア工学
- 交通
- タイポグラフィ
- ビデオゲーム
- Web
メタ
- プログラマーが信じる誤り - 一般的な誤りの短いリスト。この世界の概要と入門に最適です。
- プログラミングに関する誤り - プログラミングとプログラマー自身について、謙虚になれる楽しいリスト。
- 誤りリストに関する誤り - これらの誤りをどう扱うべきでないかについてのメタ解説。
芸術
ビジネス
- オンラインショッピングに関する誤り - 価格、通貨、在庫を扱います。
- 価格に関する誤り - 通貨、金額、ローカライズを扱います。
- IBANに関する誤り - International Bank Account Number は必ずしも国際的ではありません。
- 経済学に関する誤り - 経済は単純でも合理的でもありません。
- Etsyの会計システムでの小数点エラー - 会計ソフトにおける型の重要性。小数点が欠けると100倍の過剰請求になります。
- 2万5千ドルの架空通貨 - Google Ads で起きた同様の誤り。セントとドルを分離した結果、250ドルの社内クーポンが25,000ドルになりました。助言:金額には整数・浮動小数点を使わずDecimalを使う。代替は文字列として解析し、検証しない。
- 「システムが10億ドルを処理できない」 - AIブーム中の Meta の途方もない報酬が ERP を壊します。
- 会社名の文字
<と>がXSS攻撃につながる - 英国では特殊文字を含む会社名を登録できるため、攻撃者は\"><SCRIPT SRC=MJT.XSS.HT></SCRIPT> LTD、さらに; DROP TABLE "COMPANIES";-- LTD、BETTS & TWINE LTD、SAFDASD & SFSAF \' SFDAASF\" LTDを登録しました。 - 会社名の細部 - Delaware州とIRSの規則が交わらない仕組み。
- CLDRの通貨定義 - 🆓 反乱、侵略、新憲法、緩やかな計画導入により、通貨の有効期間が重複します。
tax- 🆓 PHP 5.4+ 向け税管理ライブラリ。
暗号資産
- Bitcoinに関する誤り - Bitcoin への誤った見方のリスト。
- Ethereumに関する誤り - Contract Programming の誤解と一般的な落とし穴。
日付と時刻
- 時刻に関する誤り - 日付と時刻に関する先駆的記事。
- 時刻に関するさらなる誤り - 上の記事の第2部。
- 時刻とタイムゾーンに関する誤り - タイムゾーンを重視した、時刻に関する別の誤り集。
- 時刻に関する誤りへの批評 - 最初の記事の各項目を、追加の文脈と外部資料付きで解説。
- Unix Timeに関する誤り - うるう秒に注意。
- タイムゾーンに関する誤り - DST移行の境界事例について良い指摘があります。
- Your Calendrical Fallacy Is Thinking… - iOS・macOS開発者コミュニティが作った、閏調整と文化的影響を扱うリスト。
- Time Zone Database - 🆓 世界の代表地点における地方時の歴史を表すコードとデータ。
- 時刻の長く苦しい歴史 - 時刻管理の特異性の多くは歴史から説明できます。
- 暦の改革を提唱するなら - そのアイデアが機能しない理由を説明します。
- タイムゾーンを廃止したいなら - 廃止は良案に見えても、そう単純ではない問題が多数あります。
- 時刻とタイムゾーンの問題 - 可能なら決してタイムゾーンを扱うべきでない理由の動画。
- 労働省による26,000ドルの過剰徴収 - 誤った暦計算の結果。
- RFC-3339対ISO-8601 - 2規格の膨大な形式、重複、ライブ例。
- ISO-8601、
YYYY、yyyy、年が誤る理由 - 日付の文字列整形は難しいものです。 - UTCで全員十分、ですよね? - おそらく考えたことのない、日付と時刻、特にUTCの境界事例があります。
- UTC保存は万能薬ではない - 「日付をUTCで保存する」ことが常に正しいとは限りません。
- UT1、TAI、UTCの選び方 - SI秒、地球自転との同期、うるう秒回避の優先度次第です。
- 1927年の2時刻を引くと奇妙な結果になる理由 - 複雑な歴史的タイムゾーンと、ソフトウェア新版による歴史日付の再解釈を扱う有名な Stack Overflow 回答。
- Critical and Significant Dates - Y2KからUnix Epoch起点の32ビット秒オーバーフローまで、システムごとに注意すべき特別な日付。
- 「Vermontのコミューンへ行き、季節より短い時間単位は扱わない。」— 1970年代、秒未満の時間処理に苦闘した退職エンジニアが端末に残したメモ。出典:The Soul of a New Machine。
教育
- コンピューター科学の学生が卒業時にも信じる誤り - 本来は知っているはずでも、学生らが誤って、時に驚くほど信じがちな事柄。
- Postdoc myths - 「Postdoctoral Researcherについて語られ、書かれ、信じられることの多くは単に真実ではない。」
メール
- メールに関する誤り - アドレス、内容、配送について。
- RFCを読むまではメールアドレスの検証方法を知っていた - RFC-822によれば有効な、予想外に複雑なメールアドレス例。
- メールアドレスを検証できると思うなら(FOSDEM 2018) - 境界事例と、Regexで解析すべきでない理由の発表。
- あなたのメール検証ロジックは誤っている - メールアドレスで許可される驚くべき事柄の要約。
libvldmail- 🆓 RFCベースのメールアドレス検査を実装するライブラリ。
地理
- 地理に関する誤り - 場所、その名前、位置を扱います。
- 地図に関する誤り - 座標、投影法、GISを扱います。
- 天気に関する誤り - 天気は場所に依存し、境界事例に満ちています。
- I Hate Coordinate Systems - 地理空間実務者が座標系の一般的な問題を診断・修正するためのガイド。
- 日本で最も難解な漢字地名トップ5 - 「日本人にも読みにくい特別な漢字群、それが地名です。」
人のアイデンティティ
- 名前に関する誤り - すべての始まりとなった記事。
- 名前に関する誤り—実例付き - 上の記事を詳細な説明付きで再検討。
- Biometricsに関する誤り - 指紋は一意ではありません。
- 家族に関する誤り - 厳格な規則では家族を定義できません。
- ジェンダーに関する誤り:その1・その2 - ジェンダーは人のアイデンティティの一部で、固有の複雑さがあります。
- 私に関する誤り - 名前、ジェンダー、国際化が交差する問題。
- 同性婚:データベース工学の視点 - ジェンダー、名前、関係性に関する多くの誤りへ対処しながら、婚姻をDBへ保存する方法。
- 世界の個人名 - 世界で名前はどう異なり、Webにどんな影響があるか。
- XKCD #327: Exploits of a Mom - 誤った前提の実装がセキュリティホールにつながる様子を面白く描きます。
- こんにちは、Mr. Nullです。私の名前はコンピューターから見えません - 実装された誤りが人の生活へ悪影響を与える実例。
- HL7 v3 RIM - 人名を表す柔軟なデータモデル。
- Apple iOS
NSPersonNameComponentsFormatter- 人名構成要素のローカライズされた表現。
国際化
文字エンコーディング、文字列整形、Unicode、国際化について。
- 言語に関する誤り - ソフトウェアの英語からの翻訳は見た目ほど単純ではありません。
- 言語に関する誤り - 前の記事を補完する追加事例。
- Plain Textに関する誤り - Plain Textだけでは不十分であり、それでもうまく機能するUnicodeはさらに驚異的です。
- テキストに関する誤り - Unicode正規化、合字、Surrogate Pair、文字幅、Substring操作でのGrapheme Clusterの落とし穴を示す実例。
- コードの国際化 - コードを国際化するときに留意すべきことの動画。
- Unicodeと文字集合について最低限知るべきこと - Unicodeの歴史的背景・起源と内部動作の概要を示す良い入門。
- Awesome Unicode - Unicodeの楽しい小話、パッケージ、資料を厳選。
- Unicodeの暗部 - Unicodeは広大で、危険が潜みます。
- Code Pointへ意味を帰属させるのをやめよう - Unicodeを掘り下げ、Code Pointの神話を解消。
- Unicodeの誤解 - 大文字・小文字、Encoding、文字列長などに関する誤り集。
Latin-1の前提を壊す - 多くのプログラマーはLatin-1に触れる時間が長く、ほかの文字体系の癖を忘れます。- 配送ラベルへの頌歌 - 文字エンコーディングは難しく、壊れた入力層がそれぞれ問題を加えるとさらに困難です。
- Localization Failure:温度は難しい - 温度差をそのままローカライズすることはできません。
- i18n Testing Data - 🆓 Unit TestとQA向けの実在する国際的で多様な名前データ集。
- Big List of Naughty Strings - 🆓 利用者入力として問題を引き起こす可能性が高い巨大文字列Corpus。ソフトウェアで試すべき実用的な境界事例集。
管理
- 求職者に関する誤り - 求職者と職歴についての前提は必ずしも真実ではありません。
マルチメディア
- 動画に関する誤り - 動画のDecode・再生、ファイル、画像拡大縮小、Color Space・変換、Display、Subtitleを網羅。
- 音楽を扱う際に考慮すべき恐ろしい境界事例 - 音楽Catalogのデータは常識外のものに満ちています。
- MusicBrainz database schema - 音楽Catalog管理の複雑さを解決したと思われるオープンソースプロジェクトとDB。
- DDEX - Archive、録音、販売・利用報告、Royalty、License契約を含む音楽Metadataの業界標準。
- Apple Music Style Guide - 音楽、芸術、Metadataを整形し発見可能性を高める品質保証ガイドライン。
ネットワーク
- ネットワークに関する誤り - TCP、DHCP、DNS、VLAN、IPv4/v6を扱います。
- 分散コンピューティングの誤謬 - 分散アプリケーションの初心者が必ず置く前提。
- IPアドレスの書き方は1つではない - 一部を省略でき、10進・8進表記に注意が必要で、IPv6も忘れてはいけません。
- IDNは複雑 - Domain Nameの国際文字対応はHomographとHeterographの対応も意味します。
電話番号
- 電話番号に関する誤り - 電話番号、その表現、意味を扱います。
libphonenumber- 🆓 国際電話番号を解析、整形、検証するGoogleの共通Java・C++・JavaScriptライブラリ。C#、Objective-C、Python、PHP版もあります。
郵便住所
- 住所に関する誤り - 道路、郵便番号、建物、都市、国を扱います。
- 居住地に関する誤り - 住所自体だけでなく、人と居住地の関係にも関わります。
- 氏名も住所もない手紙が配達された - 郵便住所に関する究極の誤り。住所は必須ではありません。
- 英国住所の奇妙さ - 1995年以降のEngland・Walesの住宅販売一覧から抽出した癖。
- 独自のZIP Codeを持つ熊 - 大量の郵便を受け取るため、Smokey Bearには独自のZIP Code(
20252)があります。 - Costa Ricaが実在住所を使わない理由 - Landmark、歴史、かなりの推測に依存する独特の住所体系を使います。
- Regexと郵便住所 - Regular Expressionと住所が混ざらない理由。
- 悪名高い日本の郵便CSVを解析 - 「多くの恐怖を見たが、この形式選択はほかで見たことがない。」
- USPS Postal Addressing Standards - 標準化された住所形式と内容を説明。
libaddressinput- 🆓 国際郵便住所を解析、整形、検証するGoogleの共通C++・Javaライブラリ。addressing- 🆓 Googleのデータセットを使うPHP 5.4+住所ライブラリ。postal-address- 🆓 郵便住所を解析、正規化、描画するPython Module。address- 🆓 Googleのデータセットで住所を検証・整形するGoライブラリ。
科学
- 計量系に関する誤り - 計量系の利用と相互変換について。
社会
- 政治的任命に関する誤り - 選挙システムの設計には固有の難しさがあります。
- 技術分野の女性に関する誤り - STEM業界の女性に関する神話。
ソフトウェア工学
- バージョンに関する誤り - ソフトウェアReleaseへIdentityを与えるのは見た目より難しいかもしれません。
- Build Systemに関する誤り - ソフトウェア構築は難しく、ソフトウェアを構築するソフトウェアの構築はさらに難しいものです。
- 未定義動作に関する誤り - 未定義動作は「何でも」引き起こし得て、その「何でも」は想像以上に広範です。
- CPU Cacheに関する神話 - Cacheの誤解は、特にConcurrencyとRace Conditionについて誤った断定を生みます。
- Null Pointerに関する誤り - Null Pointerは一般のPointer以上に厄介で、ProvenanceだけでもPointerはかなり複雑です。
- CSVに関する誤り - RFC4180は存在しますが決定的ではなく、広く無視されています。
- Package Managerに関する誤り - PackageとそのManagerを扱います。
- Testingに関する誤り - Testについての誤りリストを作る試み。
- 検索に関する誤り - 検索(解析、Tokenization、Highlightを含む)が見た目以上に複雑な理由。
- 全Software Engineerが検索について知るべきこと - Search Engine実装の難しさを、より良い出典で説明。
- Paginationに関する誤り - Pagination Algorithmが誰か(おそらく自分)を悩ませる理由。
- Garbage Collectionに関する誤り - Garbage Collectionの予測可能性と性能に関する誤解。
- File Pathに関する神話 - File SystemとOSの多様性により、File Pathは思うより難しくなります。
- Windows File Pathの奇妙な世界 - 「Unix由来のシステムではPathは驚くほど単純で、
/から始まればPathだ。Windowsでは違う。」 /dev/urandomに関する神話 -/dev/urandomと/dev/randomについて繰り返されるいくつかの話は誤りです。- State Machineに関する事実 - State Machineは誤解され、十分に適用されないことが多いものです。
- Hi! My name is… - この講演は「Username(とその他のIdentifier)に関する誤り」と呼べたでしょう。
mtimeに関する一般的な誤解 - Fileのmtime比較が有害と見なせる理由を扱う投稿の一部。- Autocompleteの規則 - 厳密には誤りではありませんが、Autocomplete実装の良いPractice集。
- Floating Point Math - 「言語が壊れているのではなく、Floating Point計算をしている。(…)だから多くの場合、
0.1 + 0.2 != 0.3。」 - 地獄のYAML文書 - YAMLは偶発的な数値や文字列でないKeyなど、分かりにくい複雑さに満ちています。
- Content Tagging Systemには果てしなく魅了される - 最小限に見えるTagging Systemにも境界事例があります。
- Event-Driven Systemに関する誤り - Event-Driven SystemとMessage Passingに関する誤解。
- Digital Object Identifier(DOI)に関する誤り - 研究成果などの識別・リンクに使うIdentifierについての誤解。
- CVEに関する誤り - CVE ≠ Vulnerability(ほか36の混同)。
交通
- 航空に関する誤り - 航空データは思うほど正規化されていません。
- 航空機座席表に関する誤り - 座席表は整然とした行・列よりはるかに複雑です。
- 空港Codeの腹立たしい混乱 - 複数の国際・国内機関が歴史、実用、物流を調整するため、Codeは難解な規則に従います。
- 私の名前はあらゆる予約で問題になる! - 古い航空予約システムは
MR接尾辞をMisterと解釈して削除します。
タイポグラフィ
- Fontに関する誤り - WebとDesktop ApplicationのTypographyに関する前提。
- 大文字・小文字についてプログラマーが知るべき真実 - 大文字・小文字を題材に、誤り形式を完全に反転した記事。
ビデオゲーム
- The Door Problem - ゲームの扉を実装するとき考慮していなかったあらゆること。
Web
- HTMLに関する誤り - 「Webは美しく、醜く、驚異的だ。その魅力の一部は歴史的な癖を持つHTMLにある。」
- REST APIに関する誤り - API作成・文書化時に注意すべき落とし穴。
- URL:複雑です… - URLには多数の構成要素があり、それぞれ固有の論理を持ちます。
- Favicon Downloadの隠れた複雑さを15以上の境界事例で説明 - Browser Tabの小さなIconを取得するだけの単純な作業が、想像以上に複雑でした。Yak Shavingをしていないか注意しましょう。
コントリビューション
コントリビューションをいつでも歓迎します。最初にコントリビューションガイドラインをご覧ください。
脚注
このリストは過去数年、Social Mediaで一定の人気を集めました。ほかでの議論・言及をご覧ください。
Header Imageは、Iza Bellaが2010年2月に撮影した写真を改変したもので、Creative Commons BY-SA 2.0 UK Licenseで配布されています。
[1]: Notebooks, 1914-1916 (Liveright, 2022) - 出典:14eページ。[↑]