linux

  • –platform, and the image that ran on nothing

    An image built on an Apple Silicon laptop is arm64 and the servers are amd64, and the resulting failure is an exec format error with no other explanation.…

  • import.meta.env is not process.env

    There is no process in a browser, so Vite exposes environment variables on import.meta.env and only the ones with a prefix. The prefix requirement is a security default…

  • realpath_cache_size, on a codebase with ten thousand files

    PHP caches resolved paths and the default size is small enough to thrash on a modern dependency tree. Every miss is a stat syscall, and a framework autoloading…

  • The search cluster whose licence changed underneath us

    A licence change in January is a legal event with an infrastructure bill attached. Four options, and the one that is not on the list.

  • mktemp -d and a trap, registered in that order

    A predictable temporary path in /tmp is a symlink attack and a collision between two concurrent runs, and both are avoided by three lines in a specific order.…

  • cgroup v2, and the memory limit that silently did not apply

    20.10 in December supports cgroup v2, the distributions are switching to it by default, and a runtime that does not know which version is in use applies limits…

  • The on-call rotation for a team of four

    One person had the phone for two years. A rotation of four is a week in four, which is enough to be tiring and not enough to build…

  • Docker 20.10 and the cgroup transition

    A release with rootless mode and cgroup v2, and a container that reported the host memory limit. Where the numbers come from and which are lies.

  • Secrets that are not in the repository and not in the image

    The database password was in the repository, then in the image, then in an environment variable readable by anything that could run ps. Where it went next.

  • predict_linear for a disk, not a percentage

    Eighty percent on a disk growing a percent a quarter is not a problem, and eighty percent on one that gained fifteen points overnight is — a single…