Archive: 2025-04 | Page 9
Archive: April 2025
-
Apr 21, 2025
Workspaces are the technical foundation without which no TypeScript monorepo works, yet the three major package managers resolve symlinks, hoisting and the workspace protocol differently, and these differences are the cause of many hard to trace import bugs.
-
Apr 21, 2025
Passing a password as a command line argument leaves it permanently in Bash history, visible to anyone who later uses the same shell. This article shows how secrets end up in Bash history, the process list, and logs, how HISTCONTROL and safe handoff methods prevent that, and how to search existing history files for forgotten credentials.
-
Apr 20, 2025
A cart icon, a magnifying glass for search, or a plain icon for social share buttons looks self-explanatory to sighted users, but to a screen reader such a button without extra markup is simply a nameless button element. This article compares the three common patterns, visually hidden text, aria-label, and the title attribute, on solid technical grounds, and shows using cart, search, and social share icons in Hyva which pattern actually works reliably and when.
-
Apr 20, 2025
The :latest tag obscures which code is actually running in a container and turns rollbacks into guesswork. Combined sensibly, SemVer, Git SHA, and date tags make every deploy traceable and reproducible.
-
Apr 20, 2025
A snapshot test saves a Bash script's output once as a reference and automatically compares it against the current result on every subsequent test run. Normalize volatile values like timestamps, process IDs, or generated UUIDs before comparing, and you get a safety net against unintended changes in scripts that are otherwise hard to test with classic assertions.
-
Apr 20, 2025
Without a skip link, keyboard users and screen reader users must tab through the entire navigation on every single page load before reaching the actual content. A correctly implemented skip link, hidden until focused, with a real jump target and a working tabindex, solves this problem reliably and makes every page immediately usable.
-
Apr 20, 2025
Configuring Webpack, maintaining npm packages, debugging build pipelines, this often costs more time in Symfony projects than the actual frontend logic. Symfony AssetMapper makes the bundler unnecessary for most projects: import maps, automatic versioning and ES modules directly from PHP, without a Node.js build step.
-
Apr 20, 2025
requestAnimationFrame is the only correct way to implement animations in the browser. Anyone using setTimeout or setInterval is fighting the rendering cycle instead of working with it. This article shows how rAF works, how to build a robust render loop, and which traps destroy the frame rhythm.
-
-
Apr 20, 2025
A cookie consent banner decides directly whether tracking scripts, marketing pixels and third party embeds are allowed to load at all. With Alpine.js you build a cookie consent banner that separates categories cleanly, persists consent, only loads scripts after consent has been granted, and allows withdrawal at any time without a page reload.