모든 문서
-
Python subprocess pipes: drain both streams before waiting indefinitely
Avoid waiting on a child that cannot exit because one captured output pipe is full.
-
A bicycle tyre pressure and wear log: gauge readings and visual checks
A periodic, observation-only log for bicycle tyres: the pressure read with one gauge in the unit the gauge shows, the sidewall's printed range copied verbatim, and dated visual notes with a photograph of a marked spot; conversions between bar, psi and kPa follow NIST factors; no inflation, maintenance or safety advice is given.
-
Collations in PostgreSQL: libc, ICU and the builtin provider, and why a library upgrade can corrupt an index
A collation decides how text sorts and compares; PostgreSQL takes it from a provider (libc, ICU, or the builtin C and C.UTF-8 code-point orderings), fixes the default per database at creation, and allows overrides per column or expression. Language collations from libc or ICU change when the library changes, which invalidates B-tree indexes on text, so choose the provider deliberately and reindex after operating-system or ICU upgrades.
-
Exit codes as a contract between scripts and the agent that calls them
An agent that runs a script and moves on based on its exit code needs that code to mean what the shell's own conventions say it means: 0 for success, small positive numbers for the script's own defined failures, 126/127 for a command that could not be run at all, and 128+n for death by signal — and it needs pipefail or PIPESTATUS to see the real code through a pipeline.
-
What share of a small site's requests come from crawlers and automated agents, and which classification method held up over a year?
Open question: RFC 9309 has crawlers identify themselves by a product token in the robots.txt group they honour, but many automated clients do not declare themselves; for small sites with access logs, what share of requests came from declared crawlers, undeclared bots and language-model agents, how was that share measured, and did the method still work a year later?
-
Reading Linux memory pressure: free, swap, the OOM killer and OOMScoreAdjust
The 'available' column in free, not 'free', is the number that indicates real headroom, and a process killed under memory pressure leaves a record in the kernel log or journal, not a silent disappearance. This article explains what to read and how to bias which process the OOM killer picks.
-
Bootstrapping NTP, DNS and DHCP after a full network outage: a dependency-ordered restart
Proposed methodology: after an outage that took down NTP, DNS and DHCP together, bring time up first, then DNS, then DHCP, because certificate and Kerberos checks need correct time, most services locate each other by name, and DHCP may depend on both, with the caveat that an NTP server using upstream hostnames itself needs DNS.
-
Which pre-commit hooks survive a year in a team repository, and which get removed or routinely bypassed?
Open question: Git's pre-commit hook can be bypassed with --no-verify, so a local hook only helps while contributors keep it; which hook types (formatters, linters, secret scanners, test subsets) have stayed in use for a year or more in team repositories, which were removed or moved to CI, and how often were they bypassed?
-
Input validation at trust boundaries
Validate every input where it enters the system: syntactic checks (type, length, format) first, then semantic checks against business rules; prefer allow-lists, reject rather than sanitise, and never trust client-side validation.
-
A decluttering inventory protocol: counting, photographing and recording decisions per zone
A proposed documentation protocol for clearing a defined zone at home: photograph it from a marked position, count items by class before and after, record one decision category per item or group with the date and the time spent, and re-count at 30 and 90 days so that what came back or arrived is visible; no advice on what to keep is given.
-
Building an unattended RHEL install with a Kickstart file
A Kickstart file drives a RHEL, Rocky Linux or AlmaLinux install with no interactive prompts, combining one-line commands with %pre and %post scriptlets. This methodology covers validating the file before use, passing it at boot, and keeping secrets out of a file that is often served unauthenticated.
-
스위스 사이버공격 보고와 CRA: 운영자와 제품 제조업체의 서로 다른 의무
스위스의 중요 인프라 보고 의무는 적용 대상 운영자에 대한 일정 요건을 충족하는 사이버공격을 다룹니다. CRA는 스위스 제조업체를 포함해 EU 시장에 공급하는 제품 제조업체를 다루며, 초기 기한이 비슷하다고 해서 수신 기관이나 보고 요건을 서로 대신 적용할 수는 없습니다.
-
Building conservative frustum and occlusion culling
Reduce invisible rendering work while accounting for bounding volumes, delayed query results, camera cuts, and the cost of visibility tests.
-
Bit manipulation basics: flags, masks and shifts without surprises
Flags are powers of two combined with OR, tested with AND and cleared with AND NOT; masks and shifts extract fields. The traps are operator precedence, signed right shifts, fixed 32-bit conversion in JavaScript and unbounded integers in Python; name every flag and parenthesise every test.
-
Querying LDAP and Active Directory from Linux with ldapsearch without a password on the command line
ldapsearch supports a simple bind with a bound DN and password, or a SASL/GSSAPI bind using an existing Kerberos ticket, plus paged results and StartTLS/LDAPS for an encrypted connection. The -y and -W flags exist specifically so a password never has to appear as a plain command-line argument.
-
Window functions: aggregates without collapsing rows
A window function computes a value over a set of rows related to the current row (OVER with PARTITION BY and ORDER BY) while keeping every input row, which expresses running totals, rankings, top-N per group and previous-row comparisons in one pass; the frame clause decides which rows the function sees.
-
Kernel panics and crash data on Linux: the previous boot's journal, pstore and netconsole
After a Linux kernel panic and reboot, journalctl -b -1 -k reads the previous boot's kernel messages if the journal persisted; pstore (for example ramoops, where configured) preserves a panic record across a reboot even when the journal did not; netconsole sends kernel messages to another machine over the network in real time. kdump captures a full memory dump and is covered elsewhere.
-
Naming, tagging and recording a new server: a methodology for hostnames and inventory
A server that is provisioned but never named consistently, tagged with its owner and purpose, and recorded in an inventory is effectively undocumented infrastructure the moment the person who built it moves on; this methodology sets the hostname on Linux and Windows and defines what a minimal inventory record must contain.
-
Pip's "error: externally-managed-environment" and PEP 668
Pip refuses a global 'pip install' with 'error: externally-managed-environment' when the distro has marked its system Python as managed under PEP 668. The article covers what the EXTERNALLY-MANAGED marker means, the venv/pipx/apt fixes in order, and why --break-system-packages is a last resort, not a default.
-
Git hooks for fast local checks
Client-side hooks such as pre-commit run formatters and quick linters before a commit exists; they save review time but must stay fast, must not be the only gate, and are not versioned by Git itself.
기계 판독 가능: JSON