Archive: 2026-03 | Page 4
Archive: March 2026
-
Mar 26, 2026
Four different sources for environment variables, one precedence order that is rarely documented well: when a value never reaches a container, or a different one shows up than expected, an unclear precedence between shell environment, the .env file, the environment block, and env_file is almost always the cause.
-
Mar 26, 2026
PID 1 decides far more than just the boot sequence: service supervision, dependency resolution, and logging architecture all hang directly off the chosen init system. systemd dominates on classic servers, while OpenRC and runit hold their ground in lean container base images like Alpine and Void Linux, for solid technical reasons.
-
Mar 26, 2026
Anyone who sees TypeScript's type system only as an annotation for runtime values misses its real power. Conditional types correspond to if/else, mapped types correspond to forEach, infer corresponds to pattern matching, and recursion is the only available control flow construct. Together these four building blocks form a complete functional language evaluated at compile time, one capable of building even small parsers.
-
Mar 26, 2026
Symfony UX Dropzone turns an ordinary file field into a modern drag-and-drop zone with image previews, without requiring a custom upload handler written in JavaScript, and combines directly with VichUploaderBundle and your own validation rules.
-
Mar 26, 2026
Reanimated Layout Animations automatically compute smooth transitions the moment a component's size, position, or visibility changes, without developers manually orchestrating start and end values through useState or useEffect. This article covers entering, exiting, and layout transitions using a list with add and remove animations as an example, plus the performance limits for very complex lists.
-
Mar 26, 2026
Anyone adding command-line options to a Bash script quickly ends up at getopts, the Bash built-in for short options. It is available everywhere, portable, and needs no external dependency, but it does not support long options like --verbose. Anyone who needs both combines getopts with a manual case loop and builds parameter parsing that feels like a real CLI tool.
-
Mar 26, 2026
An error code as a number or a single boolean for the failure case hides from the compiler which error kinds actually exist. Discriminated unions make every possible error variant visible as its own named type and, through exhaustiveness checking, guarantee that none of them are ever forgotten in the code.
-
-
Mar 26, 2026
An unstructured OpenAPI specification turns into a maintenance burden the moment more than three developers work on it. With components/schemas, consistent $ref references and a clear versioning strategy, the API description stays the single source of truth for documentation, code generation and contract tests.
-
Mar 25, 2026
The wrong CPU governor forces a server to ramp up its clock speed on every incoming request before it can actually respond. This delay is barely visible in monitoring, but shows up in practice as fluctuating response times, especially under bursty PHP-FPM traffic.