"everything is a file" Might be interesting. And monolithic kernels.
post
LD_PRELOAD - you can override library functions (if the program is dynamically linked), and change their behavior. Like add adblocking to libcurl, or fix the RNG, or such.
A somewhat similar trick works with virtual functions from C++ (or function pointers in C, but these are rare) - you read the original function pointer outta the vtable, then substitute yours, add some fun behavior, then call the original behavior in the end. Note that this might not be possible these days as code might live in a read-only region of memory.
Some additions to what your post and the other comments listed:
- Systemd (including init system and service management)
- Freedesktop software (including Wayland and Xorg)
- Freedesktop specifications or Freedesktop specification repository (including filesystem hierarchy and D-Bus)
- Python (as an addition to C and Bash, as this is standard in Linux)
- Git (including git command and Github)
all 4 comments