Page 15 - Monthly Archives: January 2025
-
Maxim Mironjuk
-
January 12, 2025
position: sticky can pin a table's header row and its first column at the same time using nothing but CSS, but the cell where both meet needs a deliberately staged z-index or it gets overlapped by one axis or the other. Here is the full pattern, including the stacking-context trap that makes z-index silently stop working.
-
Maxim Mironjuk
-
January 12, 2025
The official TypeScript compiler tsc is written in JavaScript and optimized for type safety, not speed. esbuild and swc compile the same TypeScript code in Go and Rust respectively, achieving ten to twenty times shorter build times, while deliberately skipping full type checking during transformation.
-
Maxim Mironjuk
-
January 12, 2025
ulimit controls how many files, processes, and how much virtual memory a process may use, through a clear interplay of soft and hard limits. Knowing the typical cause of too-many-open-files errors in deployment scripts means setting limits deliberately, either scoped to a script's runtime or permanently via systemd, instead of discovering the failure in production.
-
Maxim Mironjuk
-
January 12, 2025
Styling CMS content without the Tailwind Typography Plugin means manually overriding hundreds of reset rules. The @tailwindcss/typography plugin solves this problem with the prose class, while also giving developers precise control over every typographic detail.
-
Maxim Mironjuk
-
January 12, 2025
If you only ever read Docker logs with docker logs, you lose the overview fast in production. Structured logging over stdout and stderr, the right log driver, and a centralized log management system are what make container logs observable, searchable, and alertable.
-
Maxim Mironjuk
-
January 12, 2025
Anyone who only knows container resource limits as a CLI flag like Docker --memory or Kubernetes resources.limits rarely understands what actually happens underneath. Both mechanisms are just thin wrappers around the cgroups v2 controllers cpu, memory, and io, whose direct handling through systemd offers considerably more control than any container tool ever exposes on the surface.
-
Maxim Mironjuk
-
January 12, 2025
A 404 page is often the last touchpoint before a frustrated user leaves a site for good, yet many projects still treat it as an afterthought with a single gray line of text. With a handful of Tailwind classes and a clear concept built around navigation, search, and brand identity, a dead end can become a genuine second chance, including a clean implementation as a dedicated Symfony template.
-
Maxim Mironjuk
-
January 12, 2025
File permissions in Bash scripts often arise only implicitly through the inherited umask instead of being set explicitly, and that is exactly what leads to unnecessarily broad access rights. This article shows how umask, chmod, and chown are applied systematically, which risks SUID and SGID pose in automation scripts, and how a dedicated audit script reliably checks file permissions.
-
Maxim Mironjuk
-
January 11, 2025
Duplicates rarely appear on purpose, they creep in: a missing unique constraint, an import run twice, a race condition under concurrent writes, or a merge of two data sources without reconciliation. Once they are in the database, they distort analytics, bloat joins, and undermine trust in reports. This article systematically shows how to find exact and fuzzy duplicates, how to safely choose which record to keep, and how deletion still works even when other tables reference the duplicates through foreign keys.
-
Maxim Mironjuk
-
January 11, 2025
Tabs that show the same panel again after a reload, support the browser's back button and can be shared as a deep link by email are not SPA features. They are URL hygiene, achieved with ten lines of Alpine.js and the browser's native History API.
-