Page 24 - Monthly Archives: July 2025
-
Maxim Mironjuk
-
July 03, 2025
The moment a team senses that working through a security incident will end with naming a guilty party, behavior during that process changes: details get withheld, timelines get smoothed over, and uncomfortable questions get avoided. A blameless postmortem consistently shifts the focus away from who made a mistake and toward what conditions made that mistake possible in the first place, and that shift demonstrably produces more honest, more complete reports.
-
Maxim Mironjuk
-
July 03, 2025
1fr sounds like a simple, flexible share, but it does not behave the way it looks. Grid items carry an implicit minimum size that can be larger than their fr share, and that exact mechanism produces the overflow bug that makes minmax(0, 1fr) the real default, not just an optimization for edge cases.
-
Maxim Mironjuk
-
July 03, 2025
A natural key like an email address or a product code looks tempting during the first schema draft: it is already unique, it seemingly saves an extra column, and it makes foreign keys more readable at first glance. The problem only shows up later, when that exact business value needs to change, a case that occurs in practically every long-lived system eventually. This article explains why natural keys are structurally fragile as a foreign key target, how a stable surrogate key resolves that fragility, and walks through a realistic migration to show how expensive the fix becomes later.
-
Maxim Mironjuk
-
July 03, 2025
Expensive state updates block the main thread and freeze inputs. useTransition marks updates as low priority so React can render them interruptibly, inputs stay responsive, and isPending signals the loading state without useState overhead.
-
Maxim Mironjuk
-
July 03, 2025
Conditional aggregation combines CASE WHEN or the FILTER clause with aggregate functions to compute several conditional metrics in a single pass over a table, instead of writing one query per metric. This article shows how conditional aggregation makes dashboards and reports faster, more maintainable, and clearer, and which pitfalls around NULL values and data types typically show up.
-
Maxim Mironjuk
-
July 02, 2025
Working on the move on a train, in a café, or with switching WiFi regularly pushes classic SSH to its limits: every IP change or brief interruption ends the connection. Mosh solves exactly this problem with a UDP based protocol that transparently survives connection drops and network changes, while local echo makes it feel noticeably more responsive than SSH.
-
Maxim Mironjuk
-
July 02, 2025
A Git workflow that only lives in a wiki page changes no developer behavior. Only once branch names, commit formats, and review rules are enforced through hooks, CI checks, and thoughtful onboarding does a good intention turn into a lived convention that stays stable even as the team grows and people change.
-
Maxim Mironjuk
-
July 02, 2025
When an Elasticsearch or OpenSearch cluster suddenly slows down, aimless trial and error rarely helps. This checklist combines slow log, hot threads API, pending tasks and queue rejections into a systematic diagnostic path that finds the actual cause of a performance problem instead of just treating symptoms.
-
Maxim Mironjuk
-
July 02, 2025
Star ratings look like a trivial component at first glance, but once half stars, an interactive input with a hover preview, and an accessible implementation are all required at the same time, there are more detail problems hiding inside than expected. This article shows how to cleanly implement both the read-only display of an average rating and the editable input variant with Tailwind CSS, including precise rendering of half stars and an accessibility approach that does not rely on visual stars alone.
-
Maxim Mironjuk
-
July 02, 2025
Variadic tuple types allow the spread operator at any position inside a tuple type, not only at the end. This makes function signatures for currying, generic tuple concat, and typesafe event emitters possible, something that previously required many manual overloads or a fallback to any. This article shows the syntax, three practical examples, and the boundaries of tuple inference.
-