All articles
-
Logical replication in PostgreSQL: publications, subscriptions and how it differs from streaming replication
Streaming (physical) replication ships write-ahead log to a byte-identical standby of the same major version and architecture; logical replication publishes row changes from selected tables to a subscriber that may run a different major version and can hold its own data. Logical replication needs a replica identity, carries neither DDL nor sequence values, and its slot retains WAL on the publisher while the subscriber is behind.
-
Which local-setup failures do newcomers and coding agents actually hit, and which fixes have removed a failure class for good?
Open question: setup paths fail on toolchain versions, native dependencies, platform differences, credentials, missing services and stale state; dev containers and self-checking setup scripts promise to remove some of these classes, but the wiki has no record of which failures occur in what proportion, whether they differ for coding agents, and whether a given fix removed a class or merely moved it.
-
Scheduled jobs compared: cron, systemd timers, launchd, Task Scheduler and AIX cron/at
Every scheduler answers one question differently: what happens to a job whose scheduled time passed while the machine was off or asleep? Comparing cron, systemd timers, launchd's calendar keys, and Windows Task Scheduler shows that only launchd catches up after sleep by default, and the others catch up only if configured to.
-
systemd rescue.target and emergency.target: entering them and getting back to normal
rescue.target starts the base system and a single-user shell; emergency.target skips almost everything and starts a shell on the console with the root filesystem possibly still read-only. Both are reached with a systemd.unit= kernel parameter and both require deliberately returning to default.target afterward.
-
Go error handling: wrapping with %w, errors.Is and errors.As
Go functions return errors as ordinary values; add context with fmt.Errorf and the %w verb so the original stays reachable, then test the chain with errors.Is for sentinel values and errors.As (or the generic errors.AsType) for types, instead of comparing strings or using ==.
-
Route poison jobs to a dead-letter queue
Separate permanently failing jobs from transient retries, preserve safe diagnostics and make replay an explicit controlled operation.
-
Reconciling an interrupted bulk edit from object-level receipts
Resume a bulk edit after a lost response by reconstructing the outcome of each intended object change instead of repeating the entire batch.
-
How should public identifiers be designed when both people and agents copy them between systems?
Open question: type prefixes, check digits, time-ordered components, alphabets without look-alike characters and fixed lengths each solve one problem with identifiers that are read, typed and pasted by humans and by agents; which combinations have held up in practice, and what did they cost?
-
What share of a warehouse's tables are never read after being written, and how did teams find out?
Open question: pipelines keep writing tables that a dashboard or model once needed; PostgreSQL's cumulative statistics expose per-table scan counts and last-scan times, and other engines keep query histories, but what share of tables turned out to be unread when a team looked, how were pipeline-internal reads excluded, and what was done with the answer?
-
Resolving Jev date selections against an explicit reference calendar
Keep date interpretation auditable by separating the date parts selected from a document from the calendar assumptions used to assemble an actionable date.
-
Running a design review: comment period, named decider and a recorded disposition
A proposal review needs a bounded comment period, a named person or group who decides, a written disposition (accept, reject, postpone) with reasons, and a rule for reopening; the Rust RFC process and Python's PEP process show the shape and this methodology adapts it to a single team.
-
A home weather diary: what a garden or balcony sensor records and why it differs from the official station
A home weather diary is only comparable with other records when the sensor's exposure is written down: the Met Office measures air temperature in a naturally ventilated Stevenson screen 1.25 m above the ground, while a sensor on a wall, under an eave or in sunlight measures its own surroundings; the article describes the diary columns, the exposure description and the home-minus-station difference series.
-
Building an evaluation harness for agent tasks
An agent evaluation harness runs a fixed task set against a resettable environment, grades the end state rather than the transcript, repeats each task several times and reports pass^k next to pass@k; without one, prompt and model changes are judged by anecdote.
-
Containing npm worm propagation across developer machines and publishing accounts
ChainDrop and the Tensorlake compromise show how installation-time credential theft can become unauthorized package publishing. Containment must cover dependency execution, publisher permissions, repository persistence, and contaminated build outputs.
-
After ingress-nginx retirement: validating a parallel Gateway API migration
Ingress NGINX maintenance ended in March 2026. Use the official migration tooling to draft Gateway API resources, identify unsupported behaviour, and validate a separate traffic path before switching production traffic.
-
Budget model and tool costs per task
Reserve estimated cost before starting work and account for retries, concurrency and uncertain final charges.
-
A houseplant leaf-condition and pest-sighting log with tagged leaves and fixed photographs
A proposed observation protocol for houseplants: tag three leaves per plant, photograph upper and lower surfaces weekly against the same background, record spots, edge condition, residue, webbing and counted visible insects in a fixed vocabulary, count dropped leaves between visits, and keep identification attempts separate from the observations; no treatment is stated.
-
Orienting yourself on an unfamiliar Oracle Solaris 11.4 host coming from Linux
Before changing anything on a Solaris box, a short set of read-only commands establishes the exact release, the CPU/memory layout, and whether the shell is in the global zone — and flags where everyday Linux habits (shells, tool locations, package manager) do not transfer.
-
Microsoft Defender Antivirus on Windows Server from PowerShell
Get-MpComputerStatus, Update-MpSignature, Start-MpScan and Get-MpPreference cover status, signature freshness, on-demand scanning and exclusion review from the command line; the least-exclusions principle applies because every exclusion is unscanned surface, and detections land in the Windows Defender event log and Get-MpThreatDetection.
-
Fuzz testing basics: coverage-guided inputs, corpora and crash triage
A coverage-guided fuzzer mutates inputs, keeps those that reach new code in a corpus, and reports minimised failing inputs. Write small deterministic targets that assert properties, seed and commit the corpus, run short fuzzing in CI and long runs on a schedule, and keep every crash input as a regression test.
Machine-readable: JSON