Page 3 - Monthly Archives: August 2025
-
Maxim Mironjuk
-
August 29, 2025
Inconsistent code isn't born of ill will, it's born of missing tooling. EditorConfig, PHP CS Fixer and PhpStorm inspections together enforce consistent code automatically, with no discussions needed in code review.
-
Maxim Mironjuk
-
August 29, 2025
when: manual and allow_failure solve two different problems in GitLab CI: one controls who is allowed to trigger a step, the other whether a failure blocks the pipeline. Combined correctly, they produce safe rollout gates for production deploys and optional extra steps that never hold anyone up.
-
Maxim Mironjuk
-
August 29, 2025
Many grown Dockerfiles install more than necessary, cache layers poorly, and rest on outdated images with known vulnerabilities. Claude analyzes existing Dockerfiles, suggests multi-stage rewrites, and explains which change has which concrete effect on build time and image size.
-
Maxim Mironjuk
-
August 29, 2025
Installing the same tool via apt one day, pipx the next, and a version manager after that eventually produces conflicting versions and hard-to-reproduce bugs. This article explains when system-wide installation, user-local installation and containerized tools each make sense, and provides a clear policy for shared team servers.
-
Maxim Mironjuk
-
August 29, 2025
A repository that has grown over years usually contains a fair number of large binary files that would have been better off in Git LFS from the start. git lfs migrate import can fix that retroactively, but only if history rewriting, team coordination, and the force push are planned carefully.
-
Maxim Mironjuk
-
August 28, 2025
Unstable APIs, brief network outages, or overloaded servers mean a single failed request does not automatically indicate a real error. A custom useFetchWithRetry hook with exponential backoff retries failed requests with growing wait times, without necessarily needing an extra library.
-
Maxim Mironjuk
-
August 28, 2025
Fuzzy search catches typos by allowing words that are similar to, but not identical with, the search term. The fuzziness parameter controls, through the Levenshtein distance, how many character changes are tolerated. Anyone who calibrates this parameter incorrectly ends up with either too many irrelevant hits or misses exactly the typos it was meant to catch.
-
Maxim Mironjuk
-
August 28, 2025
Featured snippets, AI summaries, and direct answers in search results mean a growing share of all search queries now get answered without a click ever reaching the actual source. This article sizes up how large that effect really is, which alternative value creation models beyond pure click traffic actually work, and how to set an honest, defensible expectation for future content investment.
-
Maxim Mironjuk
-
August 27, 2025
Anyone who works with Tailwind knows basic group-hover and peer-focus patterns. But once several levels are nested, several child states need to bubble upward, or a form needs to react to the state of a completely different element, the basics stop being enough. Named groups, group-has, peer-has and data attribute state chains solve exactly these advanced group and peer state combinations.
-
Maxim Mironjuk
-
August 27, 2025
Few SQL habits are as convenient and simultaneously as contentious as SELECT *. For a quick query in the console, the asterisk saves typing and immediately returns every available piece of information. But once the same query lands in application code that runs repeatedly and has to be maintained for years, the calculus flips: needlessly transferred data, application code that silently breaks on schema changes, and wasted optimization potential from blocked covering indexes. This article works through the concrete problems, names the legitimate exceptions, and shows how the pattern can be reliably caught in code review.
-