Unix
Notes
/dev/tty
is a synonym for the controlling terminal (if any) of the current process.- Major theme of The Art of Unix Programming is to separate policy (what to do) from mechanism (how to do it). Policy is things like business rules that change rapidly in response to the real world; often policy for daemons like Nginx are entirely defined in config files. Mechanism on the other hand changes much slower, typically you write once and then only need minor bug fixes and other maintenance. Often this looks like library code such as a HTTP request parser. It’s good to write integration tests to verify policy code, and unit tests to verify mechanism.
Links
- Shell scripts and tools
- Stream editing
- AT&T Archives: The UNIX Operating System - Awesome lookback on history of UNIX.
- cicada - Simple Unix shell written in Rust.
- Test your sysadmin skills
- The History of Unix, Rob Pike (2018)
- For the Love of Pipes (2019) (HN)
- VCF East 2019 -- Brian Kernighan interviews Ken Thompson (2019)
- Awesome UNIX - All the UNIX and UNIX-Like: Linux, BSD, macOS, Illumos, 9front, and more.
- How Unix Works: Become a Better Software Engineer (2019)
- Unix Toolbox - Collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users. (HN)
- Using ptrace To Call a Userspace Function
- EOF is not a character (2020) (HN)
- How are Unix pipes implemented? (2020)
- Unix Considered Harmful
- Time on Unix (2020)
- The Deprecated nix API (2020) (Lobsters)
- Bell Labs Employee List
- The beauty of Unix pipelines (2020) (HN)
- Relational pipes - Open data format designed for streaming structured data between two processes.
- Is Sudo Almost Useless? (2020) (HN)
- tildeverse - Loose association of like-minded tilde communities. (tilde news) (HN)
- SDF Public Access UNIX System
- Dennis Ritchie's Dissertation
- Discovering Dennis Ritchie’s Lost Dissertation (2020) (HN)
- Pipe is a thing (2020)
- The Unix-Haters Handbook (1994)
- When Unix learned to reboot(2) (2020) (Lobsters)
- Modular Synthesis and UNIX (2020) (HN) (Lobsters)
- Cron Helper - Cron syntax for us humans.
- File handling in Unix: tips, traps and outright badness (2020) (HN)
- History of UNIX Design and Interfaces
- Advanced Programming in the UNIX Environment (Lobsters) (Code) (Rust Code)
- Hurd, seL4, thoughts (Lobsters)
- Advanced Editing on Unix (Kernighan)
- The UNIX Time-Sharing System (1974) (HN)
- Web version of Lions' Commentary on UNIX 6th Edition
- Cronie - Standard UNIX daemon crond that runs specified programs at scheduled times and related tools.
- Unix Recovery Legend (1986) (HN)
- Unix History Repository - Continuous Unix commit history from 1970 until today.
- Chain loading, not preloading: the dynamic linker as a virtualization vector (2021)
- USENIX - Advanced Computing Systems Association.
- Supervisor - Client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems. (Docs)
- Ask HN: What are the bad parts of Unix? (2021)
- Detailed Behaviors of Unix Signal (2021)
- Unix Philosophy with an Example (2019) (Lobsters)
- Dark Side Of Posix Apis (2021)
- Ghosts of Unix Past (HN)
- Evolution of the Unix System Architecture: An Exploratory Case Study (2019)
- Program design in the UNIX environment (1984) (Lobsters)
- Unix tooling - join, don't extend (2021)
- Fun with Unix domain sockets
- Posix Permissions Are Weird (2021)
- Unix – The Hole Hawg of Operating Systems (1999) (HN)
- Unix and Microservice Platforms (2021) (HN)
- On Unix composability
- Bringing the Unix Philosophy to the 21st Century: Make JSON a default output option. (2019) (HN) (Reddit)
- I’m not sure that UNIX won (2021) (Lobsters)
- Unix as IDE (2012)
- .plan (Lobsters) (HN)
- Why V7 Unix matters so much (2021) (HN)
- The Open Group Base Specifications
- Writing Your Own Sudo (2022)
- The early days of Unix at Bell Labs (2022)
- Unix Text Processing Book (HN)
- The history (sort of) of service management in Unix (2022)
- Cron best practices (2016) (HN)
- Basics of the Unix Philosophy
- makeself - Make self-extractable archives on Unix.
- Advanced Programming in the UNIX Environment (Code)
- A Brief Introduction to termios (2009)
- daemonize - Command line utility to run a program as a Unix daemon.
- Scripts to extend the Unix environment
- Unix command line conventions over time (2022) (HN)
- Dropping privileges (2022)
- Replay Cron Events With Cron::Sequencer (2022)
- ugm - Terminal based UNIX user and group viewer.
- The Collapse of the UNIX Philosophy (2017)
- CS631 – Advanced Programming in the Unix Environment (HN)
- How old various Unix signals are (2022)
- Time is an illusion, Unix time doubly so (2022) (HN)
- Is Everything Is A File? (2022) (Lobsters)
- Qnixx - New Unix standard.
- Ask HN: Anyone using proprietary Unix at work? (2022)
- How fast are Unix domain sockets? (2017)
- Transcending POSIX: The End of an Era? (2022)
- Chmod Tutorial
- The Elephant in the Room - It's time to get the POSIX elephant off our necks (2022) (Lobsters)
- The Evolution of the Unix Time-Sharing System by Dennis M. Ritchie (HN)
- dt - Duck tape for your unix pipes. (Lobsters) (Code)
- $HOME, not so sweet $HOME (HN)