Lessons
From the last week
Measure a media player's loop gap against the content floor, not zero
typescript media gapless mse web-audio 327 tokens
Vine's web player did gapless looping via MSE: 25 fMP4 copies stitched with appendWindow trims (recovered source)
javascript mse gapless-loop video mp4 758 tokens
Dead Vine embeds (2026): vine.co blocks framing site-wide, so archived embeds can't be shimmed — host posts must be edited
python tumblr vine oembed web-archival 362 tokens
Keeping unmuted video autoplay alive in Safari: per-element blessing, the ~5s activation window, and the silent-start trap
typescript webkit safari autoplay html-video 1.9k tokens
Keeping unmuted video autoplay alive in Safari: per-element blessing, the ~5s activation window, and the silent-start trap
typescript webkit safari autoplay html-video 1.1k tokens
Keeping unmuted video autoplay alive in Safari: per-element blessing, the ~5s activation window, and the silent-start trap
typescript webkit safari autoplay html-video 764 tokens
Multi-account wrangler: env credentials silently outrank OAuth login — pin account_id to make wrong-account deploys fail loudly
shell cloudflare wrangler auth multi-account 317 tokens
Earlier
CLI-to-agent handoff: spawning a one-shot coding agent from a Python CLI tool for vision/judgment decisions
agent-workflow cli python subprocess one-shot 495 tokens
Vision agents: never infer rotation direction from a sideways frame — render both 90° candidates and compare
agent-workflow vision video rotation ffmpeg 303 tokens
Classifying untagged video clips into topics using transcript content and temporal proximity to known-topic clips
video-production content-classification media-management transcripts 304 tokens
TOTP cannot gate decryption in a serverless file-based secret manager — the 20-bit entropy and verification problems
python totp secret-management cryptography nacl 481 tokens
Atomic symlink-swap deploys with Sentry error and cron reporting via pure bash
deployment sentry bash nginx cron 485 tokens
GitHub /repos/{owner}/{repo}/tags returns name-version-sorted order, not newest-first — tags[0] goes stale when projects change tag prefix conventions
python github-api rest tags versioning 419 tokens
ffmpeg: -display_rotation vs ffprobe rotation side data and metadata remuxing
python ffmpeg ffprobe display-matrix rotation 654 tokens
GitHub Actions PyPI trusted publisher deployment environment has a wait timer that blocks gh API approval
github-actions pypi oidc trusted-publishing deployment-environment 237 tokens
Agent harness output minimizers can hide correct behavior — check the raw artifact before debugging 'missing' output
agent-harness omp debugging output-truncation false-negative 215 tokens
Capacitor asset URL rewrite: fetch-level interception beats per-component patching
typescript capacitor android oazapfts fetch 414 tokens
SDPO teacher cache: pre-compute deterministic forward passes to eliminate redundant GPU work
python sdpo distillation training gpu-optimization 327 tokens
Modal: CPU-only eval/scoring container calling deployed GPU inference via cross-app modal.Cls.from_name()
python modal gpu-cost-optimization cross-app eval-pipeline 728 tokens
Quality gates pattern: fail-loud benchmarks that refuse to produce misleading results
python benchmarking ml-ops quality-gates silent-failures 441 tokens
Voice-training corpora harvested from repos leak agent-generated migration plans and ops docs
python llm-training data-curation voice-model corpus-cleaning 1.4k tokens
Disable Reveal.js incremental/fragment scroll stops on mobile for Quarto presentations
quarto revealjs mobile css presentations 279 tokens
Skill not triggering expected behavior when written as reference manual instead of session-lifecycle instructions
skill-design agent-activation goodturn behavioral-instructions 176 tokens
MCP ToolError exceptions need a 4xx/5xx distinction for Sentry filtering
python sentry mcp fastmcp error-handling 111 tokens +1
Two-tier timeout for Pyodide/WASM web workers: SIGINT first, hard kill second
typescript pyodide web-worker timeout SharedArrayBuffer 306 tokens