Linux
Welcome to c/linux!
Welcome to our thriving Linux community! Whether you're a seasoned Linux enthusiast or just starting your journey, we're excited to have you here. Explore, learn, and collaborate with like-minded individuals who share a passion for open-source software and the endless possibilities it offers. Together, let's dive into the world of Linux and embrace the power of freedom, customization, and innovation. Enjoy your stay and feel free to join the vibrant discussions that await you!
Rules:
-
Stay on topic: Posts and discussions should be related to Linux, open source software, and related technologies.
-
Be respectful: Treat fellow community members with respect and courtesy.
-
Quality over quantity: Share informative and thought-provoking content.
-
No spam or self-promotion: Avoid excessive self-promotion or spamming.
-
No NSFW adult content
-
Follow general lemmy guidelines.
"everything is a file" Might be interesting. And monolithic kernels.
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)