What Every Computer Scientist Should Know About Floating-Point Arithmetic
Listed inHow Numbers BreakComputing Foundationson
The canonical paper on IEEE 754: rounding, cancellation, and why comparing two floats for equality is a bug.
The machine under the runtime: memory, processes, files, numbers, and text. The things that explain bugs no framework doc will.
14 articles
Listed inHow Numbers BreakComputing Foundationson
The canonical paper on IEEE 754: rounding, cancellation, and why comparing two floats for equality is a bug.
Listed inText, Unicode, and EncodingComputing Foundationson
Joel Spolsky on why there is no such thing as plain text, and the encoding assumption behind every mojibake bug you have ever filed.
Listed inStack, Heap, and MemoryComputing Foundationson
Ulrich Drepper's long-form paper on caches, TLBs, and NUMA — the reason your array beats your linked list.
Listed inStack, Heap, and MemoryComputing Foundationson
Where your values actually live, why stack allocation is free, and what a segfault really means.
Listed inFile Systems and I/OComputing Foundationson
Descriptors, buffering, page cache, and why fsync is the only thing that means durable.
Listed inNetworking BasicsComputing Foundationson
DNS, TCP, TLS, and the handshake sequence behind every request you make.
Listed inHow a Program RunsComputing Foundationson
Source to machine code to process — compilation, linking, loading, and what the OS hands you at startup.
Listed inProcesses and ThreadsComputing Foundationson
What the OS schedules, what memory they share, and the cost of a context switch.
Listed inDates, Times, and ZonesComputing Foundationson
UTC as the only sane storage format, offsets versus zones, DST gaps, and leap seconds.
Listed inGarbage CollectionComputing Foundationson
Reference counting, tracing collectors, generational heaps, and the pauses they cost you.
Listed inText, Unicode, and EncodingComputing Foundationson
Bytes versus code points versus grapheme clusters, UTF-8, normalisation, and the mojibake pipeline.
Listed inPointers and ReferencesComputing Foundationson
Value versus reference semantics, aliasing, and the mutation bugs that follow from confusing the two.
Listed inHow Numbers BreakComputing Foundationson
Two-complement integers, IEEE 754 floats, overflow, and why 0.1 + 0.2 is not 0.3.
Listed inThe Command LineComputing Foundationson
Pipes, redirection, exit codes, signals, and the dozen tools that replace most scripts.