this is not a hall of shame.
the intent is to awaken you to many of the peculiarities and weirdness of computers.
hopefully, after reading these articles, you will have learned a lot and will embrace chaos.
Blackle Mori (@suricrasia) - 2021
Above the iceberg
- y2k
- brainfuck
- Little Bobby Tables
- TCP/IP over carrier pigeon
- year 2038 bug
- spectre/meltdown
- ternary operator
- md5 rainbow tables
- DOOM on a toaster
- self-modifying code
- undefined behaviour
- hungarian notation
- emoji variables
- tracking pixels
- heisenbugs
- perl golf
- parsing XML with a regex
- tar bomb
- all web browsers pretend to be each other
- sidechannel attacks
- rowhammer
- bogosort
- sleepsort
On the iceberg
- typeof(NaN) === "number"
- quines
- javascript was designed in 10 days
- unintentionally Turing complete languages
- :(){ :|:& };:
- human gene renaming due to MS Excel
- numbers that start with zero are interpreted as octal
- hardware backdoors
- Falsehoods programmers believe about time
- manual loop unrolling
- the Sony BMG rootkit
- ping of death
- no computers are turing complete because memory is finite
- fonts can be malicious
- Intel Management Engine
- the 500 mile email
- fast inverse square root
- the "Wat" talk
- "a monad is just a monoid in the category of endofunctors"
- self-hosting languages
- total_hours_wasted_here = 42
Below the water
- X5O!P%@AP[4\\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*\n
- /usr/bin/[
- the FDIV and F00F bugs
- magic the gathering is Turing complete
- smart cards run Java
- c++ templates are Turing complete
- "lp0 is on fire"
- PHP's fractal of bad design
- SVG supports JavaScript
- array[i] == i[array]
- rm -rf $STEAM_ROOT/
- Postscript and PDF are Turing complete
- illegal numbers
- reflections on trusting trust
- INTERCAL
- polyglot programs
- Powerpoint is Turing complete
- cold boot attack
- zero-knowledge proof
- malbolge
- Van Eck phreaking
- CAP theorem
- etherkiller
- null island
Middle of the iceberg
- font hinting is Turing complete
- Therac-25
- adversarial patches
- x86 mov is Turing complete
- FCKGW-RHQQ2-YXRKT-8TG6W-2B7Q8
- PDP-10 "more magic" switch
- Duff's device
- Tony Hoare's billion dollar mistake
- Super Mario Flappy Bird
- are floats for money really that bad?
- "Thank you for playing Wing Commander!"
- OpenOffice does not print on Tuesdays
- square waves do not exist
- program code can be read by hand off decapped chips
- 42.zip
- most cpu instructions are unused by compilers
- COMEFROM
- c trigraphs
- ADSL over wet string
- Aphyr's technical interviews
- gps week rollover
- "das ist ein Game-Boy Advance..."
Bottom of the iceberg
- no elegant solution to FizzBuzz exists
- Actually Portable Executable
- ouroboros programs
- soviet ternary computers
- SQL raytracer
- The Story of Mel
- return to libc attack
- tainted canvases
- SIGBOVIK
- billion laughs attack
- "You fool. You absolute, unmitigated, unadulterated, complete and utter, fool."
- Dual_EC_DRBG
- javascript's father, son, and holy spirit
- reverse indentation
- killer poke
- YAML vs Norway
- HTTP referer header typo
- Wikimedia flower DDOS
- "The Birth and Death of JavaScript" predicted the future
- python number redefinition
- non-local goto
- The Basilisk Collection
Below the iceberg
- SAT solvers keep getting faster
- perl parsing is undecidable
- Jsfuck
- void *alloca(size_t size);
- x86 instruction set is unbounded
- chucknorris is an HTML color
- TIMTOWTDI
- fractional bits
- CMake raytracer
- nasal demons
- "samy is my hero"
- the Effective Power bug
- cross-language string escaping
- MicroSD cards are Turing complete
- no-knowledge proof
- isUserAMonkey();
- EVE Online vs boot.ini
- RAID write hole
- page fault handling is Turing complete
- weird machine
- black dot of death
- POPCNT: the NSA instruction
Deep water
- GPS chip maximum speed
- radiation hardened quines
- sandsifter
- 00000000000000000021e800c1e8df51b22c1588e5a624bea17e9faa34b2dc4a
- Spyro YOTD is booby-trapped
- Jazelle DBX
- HotJava
- all build systems have a bug with unicode BOM
- airplane ticket mainframe pointers
- NSA ANT catalog
- exploiting linux with 6502 assembly on the NES
- GIFARs
- diverse double compiling
- Wii sensor bar LOLSERIAL
- FJCVTZS
- the scary devil monastery
- 8 and 9 were valid octal digits in pre-ANSI C
- radioactive chip packaging materials
- witchcraft compiler collection
- kleptography
- "Moving online webserver using public transport"
- Crash Bandicoot quantum corruption
- GIF MD5 hashquine
The abyss
- unicode on punch cards
- .fr-016c: fuenf (in your face)
- Coding Machines
- Mario Wolczko's unix recovery
- WebMIDI permits arbitrary code execution
- "I no longer trust the constants."
- The Bitter Lesson
- infinite loop inlining bug
- Bedlam3
- Alexander Rhatushnyak broke Kolmogorov complexity and won 8000 euros
- ClueBot NG's emergency stop button
- The Infamous Japanese Postal CSV
- Orson Welles' in-band signaling attack
- C64 Safe VSP
- USERSEEUSERDO
- Adrian Thomson's primordial silicon
- BANCstar
- lost FOCAL interpreter
- Toby Ord's "Complete Turing Machine"
- GCJ-02
- "The single most useful macro in Praat"
- if your computer bug isn't a moth jammed in a relay, it's not a bug. it's just a sparkling error.
- computers are flattened sand with lightning inside
Additional Cursed Content
Supplemental Bathysphere #1 (February 2022)
- Lies, damned lies, and scans
- wtfjs
- Minesweeper logic gates
- preprocessor_fun
- left-pad
- The DAO
- The FORTRAN-hating gateway
- stuxnet
- Producing Wrong Data Without Doing Anything Obviously Wrong!
- argc == 0
- ambiguous PNGs
- Binary Banshees and Digital Demons
- Linux in a pixel shader
- ambiguous URLs
- Explaining the Entombed Algorithm
- Arbitrary Code Execution in the Universal Turing Machine
- ace w/ fopen
- ubuntu’s surprisingly innocuous compiler bug
- c++ "-->" operator
- A Turing Machine whose behavior is independent of ZFC
- radr://5614542
- exact reals converge to 6, floats converge to 100
- programming down on bare metal / head crash radio
Supplemental Bathysphere #2 (June 2022)
- Lace card
- Cursed computer memory hierarchy
- The wrong error message
- Hertzbleed
- strfry
- main is usually a function
- The C++ Iceberg
- sinkhole
- The Apple GPU and the Impossible Bug
- Black Sunday Kill
- Array.prototype.contains
- Polyglots
- 80 columns
- the liminal space between fork and exec
- unexec
- 1900 is a leap year
- Escaping HTML
- Mr Self Destruct
- The most vexing parse
- set_trace_func
- aux.h
- C Integers Quiz