모든 문서
-
Liveness and readiness checks
A liveness check answers whether a process should be restarted; a readiness check answers whether it should receive traffic. Conflating them causes restart loops or traffic to instances that cannot serve.
-
A garden rain gauge log: gauge type, rim height, exposure and a fixed daily reading time
A proposed protocol for a household rainfall record modelled on how official storage gauges are read: state the gauge type and orifice, the rim height and the surrounding obstructions, read once a day at a fixed clock time to the gauge's resolution, record a trace and an empty gauge explicitly, and keep snow and blocked-funnel days as flagged rows; no rainfall figure is claimed.
-
TLS for rsyslog forwarding with the gtls driver, and when RELP is worth adding
rsyslog's gtls network stream driver encrypts and can mutually authenticate a forwarding connection with X.509 certificates, configured with StreamDriverAuthMode. Plain TLS over TCP still loses in-flight messages on an unclean disconnect; RELP's application-level acknowledgement is what closes that gap, at the cost of extra moving parts.
-
Designing URLs and applying percent-encoding rules
A procedure for choosing a URL structure (lowercase hyphenated segments, stable identifiers, one canonical form, nothing secret in the URL) and for encoding it correctly per RFC 3986: encode reserved characters only where they would act as delimiters, never encode unreserved ones, encode and decode exactly once, use uppercase hex digits, and remember that + means space only in application/x-www-form-urlencoded query strings as defined by the WHATWG URL Standard.
-
Save-game schema migration and recoverable writes
Version persistent game data, migrate old representations explicitly, validate before restoring the world, and commit updates without destroying the last usable save.
-
Bounded zlib decompression: enforce the cumulative output budget while decoding
Limit produced bytes across calls and distinguish incomplete streams, unconsumed input and trailing data.
-
Setting up a Samba file server: smb.conf, testparm, and disabling SMB1
Standing up a Samba share means editing [global] and a share section in smb.conf, choosing between a local smbpasswd database and Active Directory membership, validating the file with testparm before reloading, and confirming SMB1 stays off.
-
Cleaning up a branch before review
Before asking for review, squash fix-up commits, split mixed ones and rewrite messages so that each commit is one reviewable change; git rebase -i and autosquash do the mechanical part.
-
details and summary: native disclosure widgets, exclusive accordions and hidden until-found
details/summary is a disclosure widget with no script: the open attribute shows the content, a shared name attribute makes a group exclusive so opening one closes the others, the toggle event reports changes, and summary is styled as display: list-item. For collapsed content that must stay searchable, hidden=until-found reveals it on find-in-page or fragment navigation.
-
Configuring kdump to capture a RHEL kernel crash
kdump reserves memory ahead of time so a second, minimal kernel can boot after a panic and write out a vmcore for analysis. This methodology covers reserving that memory, enabling the service, and why deliberately testing it takes down the host — schedule the test accordingly.
-
Check digits: what Luhn, ISBN-13 and IBAN mod-97 catch and what they do not
A check digit is redundancy computed from an identifier's other characters so that a copying error is detected before a lookup: Luhn (mod 10 over alternately doubled digits) guards card numbers, ISBN-13 uses alternating weights 1 and 3, and IBAN uses ISO/IEC 7064 MOD 97-10 with two digits. They catch single-character errors and most adjacent transpositions, never a wrong-but-valid identifier.
-
Incident status updates: a template and a cadence
During an incident one person owns communication and posts updates on a fixed schedule from a template: status, user-visible impact, what is known, what is being done, and the time of the next update; the update goes out on time even when nothing has changed.
-
Making tangent-space normal maps agree with the renderer
Diagnose normal-map seams by checking encoding, tangent handedness, mesh triangulation, and agreement between baking and runtime transforms.
-
MIME structure of an email: multipart/alternative, the plain-text part and encodings
A text-plus-HTML message is a multipart/alternative whose parts are ordered from plainest to richest (text/plain first, text/html last); bodies with non-ASCII bytes use quoted-printable or base64, headers use RFC 2047 encoded-words. Generate the text part from the same data as the HTML, escape variables, and respect line-length limits.
-
MCP 파일 쓰기 경로 순회: Notebook 보관소 경계와 Ansible Lightspeed의 영향 범위
간접 프롬프트 주입은 파일 도구가 의도한 출력 디렉터리 밖을 대상으로 삼게 할 수 있습니다. Notebook MCP 수정에는 보관소 루트의 명시적 설정이 필요하며, Ansible Lightspeed 보안 권고는 확장 프로그램 문제를 지적하지만 확인된 수정 버전 범위를 제시하지 않습니다.
-
Circuit breakers: failing fast when a dependency is down or slow
A circuit breaker counts failures and slow calls to a dependency; above a threshold it opens and rejects calls immediately, then lets a few trial calls through (half-open) before closing again. It protects the caller's threads and gives the dependency room to recover, but only with sensible windows, a fallback and a timeout underneath.
-
File paths with pathlib
pathlib.Path represents paths as objects with joining, parts, suffix handling and I/O helpers, avoiding string concatenation bugs; resolve() and relative_to() make path containment checks explicit.
-
Asynchronous communication norms for distributed teams
Written norms say which channel carries which kind of message, how fast a reply is expected, what counts as urgent, and where outcomes are recorded; the message itself leads with the ask, carries its context, and is complete enough that a reader in another time zone can act without a follow-up question.
-
MCP 2026-07-28 인가: 발급자 검증과 클라이언트 등록 변경 사항
이 리비전은 인가 응답의 발급자 검증을 강화하고, 저장된 등록 자격 증명을 발급자에 연결하며, Dynamic Client Registration의 사용 중단을 권고합니다. Client ID Metadata Documents는 이미 이전 리비전부터 권고되었습니다.
-
For engineers new to Rust, build wait time overtakes borrow-checker errors as the main logged friction within the first two months
Hypothesis: borrow-checker errors dominate the friction that engineers new to Rust record in their first weeks, but their share falls quickly, while entries about waiting for builds (despite cargo check, which the Cargo documentation describes as skipping code generation and therefore being faster than cargo build) rise and become the largest category within two months; a proposed friction-log test, with no result claimed.
기계 판독 가능: JSON