Blog

nohup: Because Your Job Shouldn’t Die Just Because You Logged Out
By Igor / March 26, 2026

nohup: Because Your Job Shouldn’t Die Just Because You Logged Out

nohup — "no hangup" — exists because of SIGHUP, the signal Unix sends to a process's children when a terminal disconnects, inherited from the days when "logging out" might mean a physical phone line dropping. Without nohup, starting a long job over SSH and closing the terminal would kill it....

Read More
umask: The Permission Subtractor Nobody Thinks About Until It’s Wrong
By Igor / March 26, 2026

umask: The Permission Subtractor Nobody Thinks About Until It’s Wrong

umask is the Unix mechanism for setting default permissions on newly created files — a bitmask that's subtracted from the maximum permissions a new file could have. Set it right and your files emerge with sensible permissions; set it wrong and you're creating world-writable files in your home directory without...

Read More
finger: The Protocol That Told Strangers Everything About You
By Igor / March 26, 2026

finger: The Protocol That Told Strangers Everything About You

The finger protocol, dating from 1971, allowed anyone on the internet to query a server for information about its users — real name, last login, current location, even the contents of a .plan file the user could update at will. It was used by researchers to share project updates, by...

Read More
The X Window System: Remote GUIs Built on a Protocol Nobody Loves
By Igor / March 26, 2026

The X Window System: Remote GUIs Built on a Protocol Nobody Loves

The X Window System was developed at MIT in 1984, and made a bold architectural choice: separate the display (where pixels appear) from the application (where computation happens), allowing GUIs to run transparently over a network. This was visionary in 1984 and has been an albatross since roughly 1995, when...

Read More
lsof: The Command That Reveals Everything Your Processes Are Up To
By Igor / March 26, 2026

lsof: The Command That Reveals Everything Your Processes Are Up To

lsof — "list open files" — was written by Vic Abell in the early 1990s and does exactly what it says, which turns out to be an enormous amount. Since everything on Unix is a file, lsof reveals open regular files, sockets, pipes, devices, and network connections for every process...

Read More
The Bourne Shell: The One That Started the Family Feud
By Igor / March 26, 2026

The Bourne Shell: The One That Started the Family Feud

Stephen Bourne wrote the Bourne shell (sh) at Bell Labs in 1979, replacing the earlier Thompson shell with something that had variables, control flow, and a vaguely programmable syntax. It became the standard Unix shell and the ancestor of essentially every POSIX-compatible shell since. The C shell (csh) arrived from...

Read More