Random Weird Things - Part Ⅲ
Published at 2025-08-14T23:21:32+03:00
Every so often, I come across random, weird, and unexpected things on the internet. It would be neat to share them here from time to time. This is the third run.
2024-07-05 Random Weird Things - Part Ⅰ
2025-02-08 Random Weird Things - Part Ⅱ
2025-08-15 Random Weird Things - Part Ⅲ (You are currently reading this)
2026-06-06 Random Weird Things - Part Ⅳ
/\_/\ /\_/\ /\_/\
( o.o ) WHOA!( o.o ) WHOA!( o.o )
> ^ < > ^ < > ^ <
/ \ MEOW! / \ MOEEW!/ \
/_____\ /_____\ /_____\
Table of Contents
21. Doom in TypeScript's type system
Yes, really. Someone has implemented Doom to run within the TypeScript type system—compile-time madness, but fun to watch.
Doom in the TS type system
The type checker is expressive enough (conditional types, recursion, template literal types) to run a tiny ray-caster. Completely impractical, but it shows how quickly a type system becomes Turing complete.
Run it in a PDF
22. Doom inside a PDF
Running Doom embedded in a PDF file. No separate binary—just a cursed document.
doompdf
It needs a PDF viewer with JavaScript enabled, and most disable that nowadays. So it may or may not work for you.
23. Linux inside a PDF
Boot a tiny Linux inside a PDF. This rabbit hole goes deep.
linuxpdf
Same trick as the Doom one. A PDF is a platform now, apparently.
24. SQLite loves Tcl
SQLite was initially designed as a Tcl extension and still relies heavily on Tcl today: the amalgamated C source is generated by mksqlite3c.tcl, tests are written in Tcl, and even the documentation is built with it.
Tcl 2017 paper
The famous single-file sqlite3.c isn't hand-edited; Tcl scripts generate it from the real sources. Nobody says a serious project has to use the popular build stack.
25. Fossil, "e", and a Tcl/Tk chat
The SQLite folks use a custom Tcl/Tk editor called "e", a homegrown VCS (Fossil), and even a Tcl/Tk chat room for development—peak bespoke tooling.
More details in the paper
Fossil is source control, tickets, wiki and web UI in one binary. Boring tech, and it produced one of the most reliable databases around.
26. Kubernetes from an Excel spreadsheet
Drive kubectl from an .xlsx file because clusters belong in spreadsheets, apparently.
xlskubectl
Resources are rows, columns are fields, the tool renders the YAML and applies it. Please don't point this at production.
27. SRE means "Sorry…"
An industry joke (or truth?) that SRE (short for Site Reliability Engineer) stands for "Sorry…".
28. Touch Grass, the app
When screens consume too much, this site/app nudges you to go outside.
Touch grass
29. Blogging with the C preprocessor
Use the C preprocessor to assemble a blog. It shouldn't work this well—and yet.
Macroblog with cpp
Posts are stitched together with #include and macros. Hacky, but it works, and I kind of like it.
30. Accidentally Turing-complete
A delightful catalogue of systems that unintentionally become Turing-complete.
Accidentally Turing-complete
CSS, some regex dialects, card games... Once a thing has conditionals and state, it tends to become a computer whether you wanted it or not.
I hope you had some fun. E-Mail your comments to paul@nospam.buetow.org :-)
Back to the main site