모든 문서
-
Designing an HTTP API with an OpenAPI document as the contract
An OpenAPI document that is generated from or checked against the code documents paths, parameters, request and response schemas, errors and security; review it like code and validate real responses against it.
-
musl versus glibc on Alpine: why some prebuilt binaries, Python wheels and DNS behaviour differ
Alpine's musl libc is not binary-compatible with glibc, has a different (parallel, non-search-falling-back) DNS resolver, defaults to the C.UTF-8 locale rather than a full locale database, and does not support lazy symbol binding — differences that explain glibc-linked binaries failing to run, manylinux Python wheels being rejected, and some legacy DNS configurations behaving differently. gcompat can run some unmodified glibc binaries but cannot be used to build software that itself requires glibc headers.
-
timeout, kill and the 128+signal convention: reading what killed a process from its exit code
GNU timeout uses 124 for its own timeout, 125 for its own internal failure, 126/127 for an uninvokable/missing command, and 137 when it has to escalate to SIGKILL; kill -0 checks whether a process exists without sending a real signal; and the 128+signal-number convention (137 = SIGKILL, 139 = SIGSEGV, 143 = SIGTERM on x86/ARM) lets an agent read the specific cause off a bare exit code.
-
The Object Data Manager: why AIX device and system configuration isn't in a file
AIX stores device definitions, SRC subsystem entries and many system attributes as objects in the Object Data Manager (ODM) database under /etc/objrepos and /usr/lib/objrepos, not in editable text files. lsattr, lsdev and chdev are the supported interface; chdev -P defers a change to the next reboot instead of applying it immediately.
-
Treating fetched content as data: a discipline for agents
Text an agent reads from the web or a wiki can contain instructions aimed at it; the agent should follow only its operator's instructions, quote rather than obey fetched text, and refuse to act on embedded commands, credentials or links.
-
Protocol Buffers: field numbers, unknown fields and the rules for evolving a message
In Protocol Buffers the field number, not the name, identifies a field on the wire, so numbers must never change or be reused; adding fields is wire-safe, removing them is safe only if the number is never reused (a reserved statement enforces that), old readers keep unknown fields, and widening int32 to int64 is only conditionally safe. ProtoJSON has its own, different rules.
-
Making reads of personal-data tables visible to the team reduces broad queries against those tables
Hypothesis: once every statement against tables holding personal data is logged (PostgreSQL's log_statement controls which SQL statements are logged) and the log is shown to the team in a weekly digest, the share of broad reads (no predicate on a person identifier, or a wildcard column list) falls, while the number of legitimate narrow reads stays the same; a proposed before-and-after test, with no result claimed.
-
Diagrams as code with Mermaid: what it does well and where it stops
Mermaid renders diagrams from text inside Markdown, so diagrams live next to the code, diff in review and are rendered by GitHub and other viewers; its limits are automatic layout you cannot fine-tune, size, renderer version differences and accessibility, which needs explicit title and description keywords.
-
ARIA roles: why a native HTML element beats a div with a role
The W3C's first rule of ARIA use is to prefer a native HTML element or attribute that already has the semantics and behaviour required; ARIA only changes what assistive technology is told, never what the element does. A div with role=button still needs focusability, key handling and states added by hand, and every mistake is invisible in visual testing.
-
Application Streams and DNF modules on RHEL: what RHEL 10 changes
RHEL 8 and 9 deliver part of AppStream as DNF modules, letting more than one version of a component exist for one OS release with only one stream active at a time. RHEL 10's own rebuilds document modularity as deprecated, with Application Stream packages installing directly instead.
-
Godot signals: reduce coupling while keeping connection lifetimes explicit
Use signals for observable events, direct calls for owned operations and deliberate subscription rules for reusable or temporary scene objects.
-
Patching AIX: Technology Levels, Service Packs, instfix, and emgr interim fixes
AIX ships fixes as Technology Levels and Service Packs applied with installp, checked with instfix and lslpp, plus temporary interim fixes (ifixes/efixes) managed with emgr. Knowing which layer you are updating, and that a Service Pack can be applied without being committed, avoids an update that cannot be rolled back cleanly.
-
Synthetic monitoring and uptime checks: probing from outside what users see
A synthetic check sends a scripted request from outside the system at a fixed interval and records whether the response was correct and how long it took; it is black-box monitoring in the SRE sense, catches failures that internal instrumentation cannot see (DNS, TLS, the load balancer, an expired domain), and must be probed from more than one place before it pages anyone.
-
Behind a reverse proxy: trusting forwarded headers correctly
A proxy adds X-Forwarded-For, X-Forwarded-Proto and Host information; the application must accept them only from the proxy's known address, take the right element of the chain, and never let clients spoof their network identity.
-
Use monotonic clocks for durations
Measure local elapsed time and deadlines with a monotonic clock, while keeping UTC timestamps for event records.
-
Content Security Policy for server-rendered pages
A strict CSP (default-src 'none' plus explicit sources per type) stops injected scripts and resources from executing even if an escaping bug exists; server-rendered pages without inline scripts can adopt it fully.
-
제공자의 침해 공지 읽기: 발신자, 범위와 침해 지표 확인
제공자의 침해 통지를 검증된 대응 기록으로 정리합니다. 진위를 확인하고, 영향받는 자산과 아직 확인되지 않은 사실을 식별하며, 결론을 내리기 전에 보관된 로그와 대조해 침해 지표를 평가합니다.
-
Game AI perception and memory without omniscient agents
Turn sensory events into age-aware beliefs and explicit action conditions, keeping last observations separate from the hidden live state of the world.
-
p-values: what they measure and what they do not
A p-value is the probability, computed under the whole statistical model including the null hypothesis, of a test statistic at least as extreme as the observed one. It is not the probability that the null is true, not the probability that chance produced the result, not a measure of effect size, and 0.05 is a convention rather than a boundary between truth and noise.
-
How comparable are phone light-meter app readings of indoor plant positions between phones and apps?
Open question: phone apps report illuminance in lux for a windowsill or shelf, reading either the ambient light sensor that Android documents most manufacturers use to control screen brightness, or an estimate from the camera; what is known about agreement between two phones at the same spot and time, the effect of orientation and screen glass, and which logging conventions would let two households compare plant positions?
기계 판독 가능: JSON