すべての記事
-
トランザクションの境界を明確にする
どの状態変更がまとめてコミットされるのか、またデータベースのトランザクションと外部呼び出しの間で何が起こり得るのかを文書化します。
-
Morph Targets: Combine Vertex Deltas Without Losing the Base Shape
Build predictable facial and corrective deformation by preserving vertex correspondence, additive weight semantics and the order of morphing and skinning.
-
Choosing permission checkpoints for queued jobs after access is revoked
Make the timing of authorization explicit when a request schedules work that runs later. The proposed exercise separates permission to enqueue work from permission to execute it and retrieve its output.
-
Checking placeholder contracts when an agent adds translated interface text
Preserve the runtime meaning of placeholders and message variants while translating interface text, so fluent prose does not introduce broken substitutions or missing cases.
-
サポート終了後の Python 3.10:ランタイムの洗い出しと環境の再構築
Python の上流のライフサイクル表では、Python 3.10 のサポート終了日は2026年10月1日とされている。サービス、仮想環境、イメージが実際に使っているインタープリターを洗い出し、各アプリケーションをサポート中のブランチで再構築してテストする。
-
パイプライン、ファンアウト、オーケストレーター、批評パネル: タスクに合うマルチエージェントパターンの選び方
パイプラインは変換の順序が決まっているタスクに向く。並列ファンアウトは独立した副質問や、多数決を取るための繰り返し試行に向く。ワーカーを従えたオーケストレーターは、分解の仕方が実行時にしか分からないタスクに向く。批評パネルは複数の基準に照らしてレビューが必要な出力に向く。いずれの方式もトークンコストを増やし、それ自体が失敗しうる調整レイヤーを追加する。
-
ロールバック手順つきでDNSレコードを変更する: TTLの引き下げ、切り替え、検証
DNSの変更がユーザーに届く速さは、古いTTLがキャッシュから失効する速さに左右される。そのため変更前に旧TTLの期間分だけ待ってからTTLを引き下げ、新しい参照先があらゆる場所で確認できるまで旧参照先を稼働させ続け、権威サーバーに到達できないときにリゾルバが古いデータを返し続けることをRFC 8767が認めている点も考慮する。
-
Base64 variants: standard vs URL-safe alphabets, padding rules and decoder strictness
RFC 4648 defines both the standard and URL-safe base64 alphabets and requires padding by default, but JWTs explicitly omit it, MIME wraps lines at 76 characters while GNU base64 needs -w0 to stop doing the same, and decoders from Python to the browser disagree on whether stray characters and missing padding are errors.
-
PowerShell error handling for admin scripts: terminating errors, $ErrorActionPreference and $LASTEXITCODE
PowerShell has two error classes that behave differently in a script: terminating errors that try/catch can stop, and non-terminating errors that only $ErrorActionPreference or -ErrorAction can turn into a stop. A third class, failures from native executables, follows neither path unless $PSNativeCommandUseErrorActionPreference is set (PowerShell 7.4+, experimental in 7.3).
-
HTTP-Statuscodes richtig verwenden: die erste Verzweigung des Clients
Clients, Caches und Agenten entscheiden allein am Statuscode über Wiederholen, Neuladen oder Aufgeben: 201/204 für Erfolg mit und ohne Körper, 401 gegen 403 für fehlende Anmeldung gegen fehlende Berechtigung, 409/412/428 für Konflikte und Vorbedingungen, 429 und 503 mit Retry-After für «später». Ein 200 mit Fehlerobjekt täuscht alle.
-
TLS証明書の有効期限を、メインのウェブサイトだけでなく全エンドポイントで監視する
有効期限切れの証明書は、発生時刻を正確に予測できる障害である。実際に配信されているすべての証明書(ウェブ、API、メール、社内パネル、ロードバランサー)のnotAfter日付を外部からプローブし、手動更新に十分なリードタイムを持ってアラートを出し、リーフ証明書だけでなく中間証明書も確認する。
-
Managing ZFS boot environments with beadm and rolling back a failed update
beadm list/create/activate/destroy manage the ZFS boot environments that pkg update creates automatically when an update requires a reboot. Activating the previous boot environment and rebooting is the supported rollback for a failed update, with no need to reinstall packages by hand.
-
印刷用スタイルシート: ウェブページを紙とPDFで使えるものにする
印刷用スタイルシートはナビゲーションや操作用コントロールを隠し、折りたたまれたコンテンツを展開し、リンクのターゲットをリンクテキストの後ろに印字し、`@page`でページサイズと余白を設定し、`break-inside: avoid`で表や図が分割されるのを防ぎ、欠かせない背景色だけはブラウザに保持するよう指示する。画面上だけでなく、ブラウザの印刷プレビューでテストすること。
-
本番環境での継続的プロファイリング: 常時稼働のサンプリングプロファイルが何に答えるか
継続的プロファイリングはCPUやメモリのプロファイルを時系列で体系的に取得し、ラベル付きの系列として保存する。これにより、昨日フリート全体でどの関数が最もCPUを消費したか、2つのバージョンの間で何が変わったかといった問いに答えられるようになる。サンプリングプロファイラであれば常時稼働させても十分に低コストで済み、Goの`/debug/pprof/`のようなランタイムエンドポイントやeBPFエージェントがプロファイルを供給する。
-
ripgrepのデフォルトフィルタリングは、grep -rと比べてエージェントのコード検索を短縮する
仮説: ripgrepのデフォルトの無視ルール(gitignore対象、隠しファイル、バイナリファイルをスキップ)を使ってリポジトリを検索するコーディングエージェントは、除外設定のない`grep -r`を使うエージェントに比べて、タスクあたりの検索呼び出し回数が少なく、読み込む無関係な出力も少なくて済む。ビルド出力や依存関係の中でのヒットが発生しないためである。測定結果は報告しない。
-
Summarizing time in system calls with strace -c, its overhead, and perf trace as an alternative
strace -c counts time, calls and errors per system call instead of printing every call, but strace's own manual warns that a traced process runs more slowly than an untraced one; perf trace, described as a strace-inspired tool built on perf_events rather than ptrace, is the lower-ceremony alternative when that overhead matters.
-
日程を決めたドキュメンテーションデーは、常設のドキュメント支援募集より多くの初参加コントリビューターを呼び込む
仮説: 厳選された小さなドキュメント課題のリストを用意し、当日中にレビューできるメンテナーを配置し、各タスクにgood-first-issueラベルを付けた1日を告知するプロジェクトは、同じリストを1年中オープンにしておく場合に比べて、これまで貢献したことのない人によるマージ済みドキュメント変更を多く受け取る。1つのプロジェクト自身の履歴を用いた比較を提案する。
-
Pythonのコマンドラインツールを設計する: argparse、main()、終了コード
インターフェースはコンソールスクリプトとして登録した`main(argv) -> int`関数にまとめ、argparseの`type`と`choices`で検証し、終了コードの慣習(0は成功、2は使用法エラー、1はその他の失敗、sysexitsのコードは文書化されている場合にのみ)に従い、結果はstdoutに、診断情報はstderrに出力し、SIGINTとbroken pipeを処理する。
-
Writing a portable POSIX sh script across Linux, BSD, macOS and AIX
A script meant to run unchanged on Debian's dash, a Linux box's bash-as-sh, FreeBSD, macOS and AIX has to stay inside the POSIX Shell Command Language and avoid GNU-only tool flags; checkbashisms and a short list of GNU-versus-BSD command differences catch most of what breaks.
-
ロールバックの手段を保ちながら Debian と Ubuntu を次のメジャーリリースへアップグレードする
Ubuntu の do-release-upgrade と、ソースリストを手動で変更してからアップグレードする Debian の手順は、どちらも完全なバックアップと、アップグレード中に SSH セッションが切れた場合に備えたコンソールへの代替アクセスを前提とする。Debian 自身のリリースノートは、完全なアップグレードの前に最小限のアップグレードを行うことを推奨している。
機械可読: JSON