All articles
-
Observing household noise with a phone sound-level app: what the numbers can and cannot say
How to log indoor noise with a smartphone app as an observation rather than a measurement: record the app, device, weighting, metric, position and duration, keep a background row, and state the limits that the NIOSH app page itself names (a stated accuracy of ±2 dBA for its own iOS app, Android accuracy not verifiable); no exposure limit or health guidance is given.
-
Touch targets and pointer types: sizing controls for fingers and mice
WCAG 2.2 requires pointer targets of at least 24 by 24 CSS pixels at level AA, with exceptions for spacing, inline links and equivalent controls, and 44 by 44 at level AAA. The pointer and hover media features report whether the primary input is coarse or fine and whether it can hover, so a design can enlarge controls and drop hover-only interactions where a finger is the pointer.
-
Accessibility fundamentals: perceivable, operable, understandable, robust
WCAG organises requirements under four principles; the most common failures on content sites are missing text alternatives, colour-only signalling, keyboard traps, low contrast and unlabeled controls.
-
"Text file busy" (ETXTBSY): writing to a running executable
ETXTBSY, reported as 'Text file busy', means an attempt was made to open a currently-executing program's file for writing. The article shows how to find the process holding it open and why deploying by rename instead of in-place overwrite avoids the error and any downtime.
-
Troubleshooting containers from the host with lsns and nsenter
When a container's own tools are too minimal to debug a networking problem, entering its namespaces from the host with nsenter lets you run full host utilities such as ss or ip against the container's environment. This methodology covers finding the container's PID and namespace, and the difference between entering all namespaces and just one.
-
Writing a blameless postmortem
A postmortem records what happened during an incident, its impact, the contributing causes and the actions that will reduce recurrence; blamelessness is what makes people report facts rather than defend themselves.
-
Running Homebrew non-interactively on a build agent: NONINTERACTIVE, env vars and Brewfile
Homebrew's installer, its auto-update and analytics behaviour, and formula versions can all be controlled without a prompt for use on a CI runner, and a Brewfile makes the installed set reproducible across runners.
-
Querying the unified log on macOS: log show, log stream and predicates
The unified log is stored in a compressed binary format, not text files, so it has to be queried with the log tool. This methodology covers log show and log stream with predicates, time windows, JSON output, and bundling the store with log collect for later analysis.
-
Trunk-based development and short-lived branches
Integrating everyone's work into one shared line at least daily, keeping branches short-lived and hiding unfinished work behind flags, reduces merge conflicts and makes continuous integration real.
-
How often should small teams rehearse a full database restore?
Open question: guidance says to test restores, but how often, and how much of the procedure, do small operations teams actually rehearse for databases under a few gigabytes without losing the habit?
-
.gitattributes: line endings, diff drivers, merge drivers and export-ignore
A committed .gitattributes file settles per-path behaviour for the whole team: text=auto and eol normalise line endings, diff= assigns hunk-header patterns or textconv for binaries, merge= picks a driver such as union, binary marks files to leave alone, and export-ignore keeps paths out of git archive.
-
Running a public status page honestly: components, automation and history
A status page earns trust only when it turns red when users see red; host it off the infrastructure it reports on, list components users recognise, let everyone on call post without approval, update on a fixed cadence during incidents, and keep the history visible.
-
Integrating parallel agent results against one current artifact
Combine independently prepared changes without assuming that each worker’s passing checks remain valid after the changes interact in the shared result.
-
Windows Server 2012 ESU expiry and the Server 2016 migration deadline
Windows Server 2012 and 2012 R2 finished their third ESU year on 13 October 2026; Server 2016 extended support ends on 12 January 2027. Inventory the exact release and server roles before selecting a supported upgrade or migration path.
-
Exporting NFS shares from a Linux server: /etc/exports, exportfs and NFSv4-only mode
Sharing directories over NFS means writing /etc/exports entries with the right options, reloading them with exportfs instead of a restart, and deciding whether the server should speak NFSv4 only. This methodology covers the syntax, the reload/verify cycle, and the single firewall port an NFSv4-only server needs.
-
Mounting SMB/CIFS shares from Linux with a credentials file instead of embedding a password
mount -t cifs accepts a username and password directly in the mount options, which then appears in process listings and /etc/fstab in plain sight; a credentials file readable only by root removes both exposures. uid/gid/file_mode/dir_mode decide who can use the files locally, since SMB permissions do not map onto Unix ownership.
-
Time and cost budgets for model calls in agents
Each agent run gets a token, step and time budget enforced in code. The usage fields of every response are read, stable content goes into a cacheable prefix, and offline work goes to the batch endpoint. A run without a budget ends at a timeout, not as planned.
-
Writing a design document or RFC that reviewers can decide on
A design document earns a decision before code is written: problem first, then goals and non-goals, a guide-level and a reference-level explanation, alternatives with the reasons they were rejected, drawbacks, and an explicit list of unresolved questions; the structure follows what PEP 1, the Rust RFC template and Google's design-doc practice ask for.
-
Chrome CVE-2026-87491: close the gap between an installed update and a relaunched browser
Google confirms exploitation of CVE-2026-87491. Managed fleets must verify both update delivery and browser relaunch, using the platform-specific release numbers and effective enterprise policies.
-
After a login-provider breach: scoped resets, session recovery and breached-password screening
Recover affected user accounts without treating every third-party leak as proof of local compromise. Combine evidence-based resets and session invalidation with credential-stuffing monitoring and privacy-preserving password screening.
Machine-readable: JSON