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)
/\_/\ /\_/\ /\_/\
( 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
TypeScript’s type checker is surprisingly expressive: conditional types, recursion, and template literal types let you encode nontrivial logic that “executes” during compilation. The demo exploits this to build a tiny ray-caster that renders as compiler errors or types. It’s wildly impractical, but a great reminder that enough expressiveness plus recursion tends to drift toward Turing completeness.
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
This relies on features like PDF JavaScript and interactive objects, which some viewers still support. Expect mixed results: many modern readers sandbox or disable scripting by default for security. If you try it, use a compatible desktop viewer and be prepared for portability quirks.
23. Linux inside a PDF
Boot a tiny Linux inside a PDF. This rabbit hole goes deep.
linuxpdf
Like the Doom-in-PDF trick, this leans on the PDF runtime to host unconventional logic and rendering. It’s more of an art piece than a daily driver, but it shows how “document” formats can accidentally become platforms. The security posture of PDF viewers varies significantly, so expect inconsistent behaviour across different apps.
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 is not hand-edited—developers maintain sources, plus build scripts that knit everything together deterministically. Their Tcl-centric tooling provides them with reproducible builds and a very opinionated workflow. It’s a great counterexample to the idea that “serious” projects must standardise on the most popular build stacks.
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 bundles source control, tickets, wiki, and a web UI into a single portable binary—no external services required. The “e” editor and chat complete a tight, integrated loop tailored to their team’s needs and constraints. It’s delightfully “boring tech” that has produced one of the most reliable databases on earth.
26. Kubernetes from an Excel spreadsheet
Drive kubectl from an .xlsx file because clusters belong in spreadsheets, apparently.
xlskubectl
Resources are rows; columns map to fields; the tool renders YAML and applies it for you. It’s oddly ergonomic for demos, audits, or letting non‑YAML‑native teammates propose changes. Obviously, be careful—permissions and review gates still matter even if your “IDE” is Excel.
27. SRE means “Sorry…”
An industry joke (or truth?) that SRE (short for Site Reliability Engineer) stands for “Sorry…”.
Anecdotes are a good reminder that failure is inevitable and empathy is essential. The best takeaways are about clear communication, graceful degradation, and blameless postmortems. Laughing helps, but guardrails and good on‑call hygiene help even more.
28. Touch Grass, the app
When screens consume too much, this site/app nudges you to go outside.
Touch grass
It’s simple and playful—sometimes that’s the nudge you need to break doomscroll loops. Treat it like a micro‑ritual: set a reminder, step outside, reset. Your eyes (and nervous system) will thank you.
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 #includes and macros, giving you DRY content blocks and repeatable builds. It’s hacky, fast, and delightfully text‑only—perfect for people who think makefiles are a UI. Would I recommend it for everyone? No. Is it charming and effective? Absolutely.
30. Accidentally Turing-complete
A delightful catalogue of systems that unintentionally become Turing-complete.
Accidentally Turing-complete
Give a system conditionals, state, and unbounded composition, and it often crosses the threshold into general computation—whether that was the goal or not. The list includes items such as CSS, regular expression dialects, and even card games. It’s a fun lens for understanding why “just a configuration language” can get complicated fast.
I hope you had some fun. E-Mail your comments to paul@nospam.buetow.org :-)
Back to the main site