Observe, decide, and act panels for here-string input checks.

A here-string supplies text and a newline

A Bash here-string supplies the expanded value of one word to a command’s standard input, with a newline appended. It is convenient when a small textual value already exists in a variable and the receiving tool reads stdin. The syntax removes the need for a separate printing command, but it does not promise byte-for-byte identity with the variable or a particular implementation using memory, a pipe, or a file. ...

February 15, 2027 · 4 min · XB Field Notes
Observe, decide, and act panels for shell pattern dispatch.

case runs one branch that matches a pattern

A case statement routes one value through an ordered list of shell patterns. It is useful for a command dispatcher, a small set of accepted answers, or filename-suffix classification. Each branch states the values it handles, and several patterns can share one body. The ordering and the default branch are part of the interface: they decide what happens when an input overlaps several categories or belongs to none. ...

January 30, 2027 · 5 min · XB Field Notes
Observe, decide and act boxes beside the message: One user manager many sessions.

One systemd user manager serves an account’s sessions

A systemd user manager runs services on behalf of one account. Multiple login sessions for that account normally share the same manager, rather than each shell receiving a private service universe. User unit files can live under ~/.config/systemd/user, and systemctl --user addresses the user’s manager. This provides lifecycle management with the account’s authority, not automatic isolation from every shared system resource. ...

January 26, 2027 · 5 min · XB Field Notes
Observe, decide, and act panels for signal handling and cleanup limits.

Shell traps turn a signal into a cleanup step

A trap lets a shell arrange an action for a signal or a shell event. It is useful for removing temporary files and coordinating shutdown, but it does not make interruption atomic or guarantee cleanup under every termination. In Bash, trap is a builtin, and EXIT is a shell event rather than an operating system signal. A reliable design names the exits it handles and preserves evidence of why execution stopped. ...

January 12, 2027 · 5 min · XB Field Notes
Two containers see separate process and network spaces while sharing the daemon-side Linux kernel.

A container combines process isolation with a shared Linux kernel

A conventional Linux container runs processes using the daemon host’s Linux kernel while providing selected isolated views through namespaces. Image files supply a userspace environment; they do not boot a separate kernel for each container. On Docker Desktop for macOS, the daemon and Linux containers run inside a Linux virtual machine, so the shared kernel is that VM’s kernel, not the macOS kernel. ...

December 7, 2026 · 5 min · XB Field Notes
Article title beside three connected panels labeled Observe, Decide, and Act.

File locks protect a shared protocol and a specific object

A file lock coordinates participants that agree on what to lock, when to acquire it, and which operations belong inside the critical section. Linux offers several lock interfaces with different ownership and release rules. Choosing a filename and calling something named lock is insufficient: the protocol must identify the underlying object, the lock family, and the lifetime of every reference involved. ...

December 5, 2026 · 5 min · XB Field Notes
Title card about Unix socket names and access, with Observe, Decide and Act panels.

Unix sockets provide local IPC with explicit naming and access rules

Unix domain sockets provide local interprocess communication without IP addresses, TCP ports, or an external network route. They still use kernel socket facilities, buffers, scheduling, and an application protocol. A pathname socket exposes a filesystem name, but Unix sockets can also be unnamed, and Linux supports abstract names. These naming forms have different access rules, so “a Unix socket is just a protected file” is incomplete. ...

November 28, 2026 · 5 min · XB Field Notes
Article title beside three connected panels labeled Observe, Decide, and Act.

Fsync completes a storage request within an update protocol

A successful ordinary write(2) makes its accepted bytes available through the kernel’s file state, but does not by itself establish crash durability. fsync requests synchronization of a file’s data and associated metadata and waits for completion as reported by the storage stack. It is one operation in an update protocol. Correct ordering, checked errors, directory entries, and the storage system’s actual guarantees still matter. ...

November 27, 2026 · 5 min · XB Field Notes