Deploy / build (push) Successful in 2m50s
Generated through post_art.py on the local RTX 3060. Metaphor: four identical steel pipes drawing from one dark reservoir, plus a single short pipe that bypasses all four into a lit chamber (four redundant reads vs the bypass path). - banner 1600x900 from the planned crop (band 755,119-1281,675, x1.43, subject at 47.0% of the banner width) instead of the on-the-fly fallback - EN + ZH OG cards, 800/400 list thumbs, banner webp - evidence line: 4 reads/file - 960 per page - 0.3 us cache hit State mirrored into the repo so git alone reproduces the frame: the caption, plus this slug in metaphors.json and prompts_catalog.json. banner-plan.json also picks up the 22 frames that were in art-meta but had no plan entry. Verified: check-assets 190/190 with the post temporarily published, both pages point at their own og card and banner, then reverted to draft true and rebuilt -- no page left in dist. ComfyUI terminated after the render.
1109 lines
59 KiB
JSON
1109 lines
59 KiB
JSON
[
|
|
{
|
|
"slug": "adding-a-domain-to-someone-elses-mail-server",
|
|
"title": "Adding a Domain to Someone Else's Mail Server",
|
|
"category": "notes",
|
|
"tags": [
|
|
"email",
|
|
"dns",
|
|
"mailcow"
|
|
],
|
|
"accent": "warm amber-orange warning glow (#fbbf24)",
|
|
"unique_elements": "A set of four brass routing vanes mounted along a dark obsidian mail chute, three of them steering translucent envelopes cleanly away, while the fourth channel is physically sealed by a solid black baffle wall",
|
|
"evidence_summary": "4 DNS records · 554 antispam reject",
|
|
"prompt": "A set of four brass routing vanes mounted along a dark obsidian mail chute, three of them steering translucent envelopes cleanly away, while the fourth channel is physically sealed by a solid black baffle wall",
|
|
"caption": "captions/adding-a-domain-to-someone-elses-mail-server.json"
|
|
},
|
|
{
|
|
"slug": "adding-english-mode-to-a-chinese-only-web-app",
|
|
"title": "No API for Browser Translation: Adding an English Mode to a Chinese-Only Web App",
|
|
"category": "engineering",
|
|
"tags": [
|
|
"i18n",
|
|
"nginx",
|
|
"vue"
|
|
],
|
|
"accent": "royal cobalt blue (#295cff) with crisp ice-white",
|
|
"unique_elements": "A monolithic dark application cube whose sealed front face carries two sliding glass plaques bearing different scripts, the second plaque being lifted into position by a precision gantry clamp at the doorway",
|
|
"evidence_summary": "no browser API · sub_filter EN mode",
|
|
"prompt": "A monolithic dark application cube whose sealed front face carries two sliding glass plaques bearing different scripts, the second plaque being lifted into position by a precision gantry clamp at the doorway",
|
|
"caption": "captions/adding-english-mode-to-a-chinese-only-web-app.json"
|
|
},
|
|
{
|
|
"slug": "ai-furniture-compositing-with-flux-kontext",
|
|
"title": "How I Built an AI Furniture Compositing Demo With FLUX.1 Kontext",
|
|
"category": "case-studies",
|
|
"tags": [
|
|
"fal-ai",
|
|
"flux",
|
|
"ai-image"
|
|
],
|
|
"accent": "emerald green (#4ade80) status nodes and gold telemetry",
|
|
"unique_elements": "A matte dark lounge chair module seated into a cut-away room diorama cube, its original studio backdrop peeling away as a curled translucent film sheet",
|
|
"evidence_summary": "kontext multi-image · tainted canvas fix",
|
|
"prompt": "A matte dark lounge chair module seated into a cut-away room diorama cube, its original studio backdrop peeling away as a curled translucent film sheet",
|
|
"caption": "captions/ai-furniture-compositing-with-flux-kontext.json"
|
|
},
|
|
{
|
|
"slug": "authentik-css-greater-than-bug",
|
|
"title": "The Character That Silently Broke My authentik CSS",
|
|
"category": "devops",
|
|
"tags": [
|
|
"authentik",
|
|
"css",
|
|
"self-hosting"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A single oversized angular chevron wedge jammed into a hairline seam of a frosted glass control panel, splitting the panel's edge glow into misaligned fragments",
|
|
"evidence_summary": "1 escaped '>' · CSS silently dropped",
|
|
"prompt": "A single oversized angular chevron wedge jammed into a hairline seam of a frosted glass control panel, splitting the panel's edge glow into misaligned fragments",
|
|
"caption": "captions/authentik-css-greater-than-bug.json"
|
|
},
|
|
{
|
|
"slug": "authentik-forward-auth-gate-wasnt-live",
|
|
"title": "The Forward-Auth Gate That Verified Perfectly — and Wasn't Live",
|
|
"category": "devops",
|
|
"tags": [
|
|
"authentik",
|
|
"forward-auth",
|
|
"cloudflare"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "Two gate arches standing in series, the inner arch sealed by a tight blue light curtain while the outer arch hangs fully open with a stream of light passing straight through it",
|
|
"evidence_summary": "host 302 · public 200 · 2 ingress layers",
|
|
"prompt": "Two gate arches standing in series, the inner arch sealed by a tight blue light curtain while the outer arch hangs fully open with a stream of light passing straight through it",
|
|
"caption": "captions/authentik-forward-auth-gate-wasnt-live.json"
|
|
},
|
|
{
|
|
"slug": "authentik-major-upgrade-gotchas",
|
|
"title": "Authentik 2025.8 to 2026.8: The Breakable Parts Nobody Warns You About",
|
|
"category": "devops",
|
|
"tags": [
|
|
"authentik",
|
|
"sso",
|
|
"docker"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A stack of obsidian anniversary plinths where the topmost slab has just been swapped in, its mounting pegs misaligned so three small crystal key tags tumble out of their sockets",
|
|
"evidence_summary": "2025.8 → 2026.8 · auth_flow mixup",
|
|
"prompt": "A stack of obsidian anniversary plinths where the topmost slab has just been swapped in, its mounting pegs misaligned so three small crystal key tags tumble out of their sockets",
|
|
"caption": "captions/authentik-major-upgrade-gotchas.json"
|
|
},
|
|
{
|
|
"slug": "automating-cyberpanel-without-the-ui",
|
|
"title": "Automating CyberPanel Without the UI: Reverse-Engineering an Undocumented v2 API",
|
|
"category": "devops",
|
|
"tags": [
|
|
"cyberpanel",
|
|
"api",
|
|
"reverse-engineering"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A slim robotic probe arm reaching behind the polished facade of a dark server control panel, plugging into exposed circuit contacts concealed behind the front glass",
|
|
"evidence_summary": "v2 JSON API gone · session + CSRF",
|
|
"prompt": "A slim robotic probe arm reaching behind the polished facade of a dark server control panel, plugging into exposed circuit contacts concealed behind the front glass",
|
|
"caption": "captions/automating-cyberpanel-without-the-ui.json"
|
|
},
|
|
{
|
|
"slug": "best-ai-video-generators-2026",
|
|
"title": "Best AI Video Generators in 2026: Free vs Paid, and My LTX-2.3 Test",
|
|
"category": "ai",
|
|
"tags": [
|
|
"ai-video",
|
|
"video-generation",
|
|
"ltx"
|
|
],
|
|
"accent": "neon-cyan and electric violet-magenta",
|
|
"unique_elements": "A rack of five glowing film reels of differing sizes, one heavy obsidian reel grounded on a heatsink pedestal while the others float as translucent holograms trailed by thin price-tag slivers",
|
|
"evidence_summary": "free vs paid · local LTX-2.3 test",
|
|
"prompt": "A rack of five glowing film reels of differing sizes, one heavy obsidian reel grounded on a heatsink pedestal while the others float as translucent holograms trailed by thin price-tag slivers",
|
|
"caption": "captions/best-ai-video-generators-2026.json"
|
|
},
|
|
{
|
|
"slug": "calibrating-intel-quick-sync-hevc-quality",
|
|
"title": "Calibrating Intel Quick Sync HEVC: A Cliff at 28, and a Preset That Does Nothing",
|
|
"category": "tutorials",
|
|
"tags": [
|
|
"ffmpeg",
|
|
"hevc",
|
|
"qsv"
|
|
],
|
|
"accent": "electric cyan and soft ultraviolet spectrum",
|
|
"unique_elements": "A 3D topographic luminous video waveform mountain whose face drops off a 90-degree vertical cliff edge, flanked by two perfectly identical overlapping optical calibration prisms",
|
|
"evidence_summary": "ICQ 28-30 cliff · fast == medium",
|
|
"prompt": "A 3D topographic luminous video waveform mountain whose face drops off a 90-degree vertical cliff edge, flanked by two perfectly identical overlapping optical calibration prisms",
|
|
"caption": "captions/calibrating-intel-quick-sync-hevc-quality.json"
|
|
},
|
|
{
|
|
"slug": "chainlink-vrf-v2-lottery-contract",
|
|
"title": "An Automated Lottery Contract on Chainlink VRF v2.5 and Automation",
|
|
"category": "web3",
|
|
"tags": [
|
|
"solidity",
|
|
"chainlink",
|
|
"vrf"
|
|
],
|
|
"accent": "translucent emerald (#10b981) and prism-split cyan",
|
|
"unique_elements": "A transparent mechanical drum sealed inside a hexagonal glass case, its tumbling sphere fed by a chain of interlocked machined links, a polished glass orb hovering just outside the case",
|
|
"evidence_summary": "VRF v2.5 · mock-funding bug",
|
|
"prompt": "A transparent mechanical drum sealed inside a hexagonal glass case, its tumbling sphere fed by a chain of interlocked machined links, a polished glass orb hovering just outside the case",
|
|
"caption": "captions/chainlink-vrf-v2-lottery-contract.json"
|
|
},
|
|
{
|
|
"slug": "docker-reported-exit-0-the-oom-killer-disagreed",
|
|
"title": "Docker Reported Exit 0. The Kernel Had Already OOM-Killed It.",
|
|
"category": "devops",
|
|
"tags": [
|
|
"docker",
|
|
"oom",
|
|
"traefik"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A translucent glass server cube displaying a deceptive green heartbeat light while a razor-sharp crimson beam slices horizontally through its bottom core, scattering fractured memory crystals",
|
|
"evidence_summary": "exit 0 · dmesg: 6x cgroup OOM kills",
|
|
"prompt": "A translucent glass server cube displaying a deceptive green heartbeat light while a razor-sharp crimson beam slices horizontally through its bottom core, scattering fractured memory crystals",
|
|
"caption": "captions/docker-reported-exit-0-the-oom-killer-disagreed.json"
|
|
},
|
|
{
|
|
"slug": "does-hevc-actually-shrink-your-files",
|
|
"title": "Does Re-encoding to HEVC Actually Shrink Your Files? I Measured It.",
|
|
"category": "tutorials",
|
|
"tags": [
|
|
"ffmpeg",
|
|
"hevc",
|
|
"x265"
|
|
],
|
|
"accent": "electric cyan and soft ultraviolet spectrum",
|
|
"unique_elements": "Three matched glass vials of compressed film ribbon standing on a dark calibration bench, two visibly shorter than their source capsule while the third swells larger than the capsule it was poured from",
|
|
"evidence_summary": "NVENC cq27 bigger · x265 -10-22%",
|
|
"prompt": "Three matched glass vials of compressed film ribbon standing on a dark calibration bench, two visibly shorter than their source capsule while the third swells larger than the capsule it was poured from",
|
|
"caption": "captions/does-hevc-actually-shrink-your-files.json"
|
|
},
|
|
{
|
|
"slug": "embedding-fonts-so-a-pdf-looks-the-same-everywhere",
|
|
"title": "Embedding Fonts So a PDF Looks the Same on Every Machine",
|
|
"category": "engineering",
|
|
"tags": [
|
|
"pdf",
|
|
"fonts",
|
|
"mpdf"
|
|
],
|
|
"accent": "royal cobalt blue (#295cff) with crisp ice-white",
|
|
"unique_elements": "A sealed obsidian press frame holding one smooth unmarked crystal sheet, lit identically through three differently angled viewing ports",
|
|
"evidence_summary": "4 families · 8 faces · 2 renderers",
|
|
"prompt": "A sealed obsidian press frame holding one smooth unmarked crystal sheet, lit identically through three differently angled viewing ports",
|
|
"caption": "captions/embedding-fonts-so-a-pdf-looks-the-same-everywhere.json"
|
|
},
|
|
{
|
|
"slug": "every-player-stuttered-the-file-was-fine",
|
|
"title": "Every Player Stuttered on the Same Video. The File Was Blameless.",
|
|
"category": "devops",
|
|
"tags": [
|
|
"ffmpeg",
|
|
"nvdec",
|
|
"hevc"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A perfectly aligned dark film canister whose internal sprocket teeth sit one notch out of phase, casting a doubled ghost shadow onto a translucent glass slab",
|
|
"evidence_summary": "5818/5818 intervals · 0 duplicate PTS",
|
|
"prompt": "A perfectly aligned dark film canister whose internal sprocket teeth sit one notch out of phase, casting a doubled ghost shadow onto a translucent glass slab",
|
|
"caption": "captions/every-player-stuttered-the-file-was-fine.json"
|
|
},
|
|
{
|
|
"slug": "five-step-ai-roadmap-what-i-actually-run",
|
|
"title": "The Five-Step AI Roadmap Everyone Shares — and What I Actually Run in Production",
|
|
"category": "ai",
|
|
"tags": [
|
|
"llm",
|
|
"rag",
|
|
"agents"
|
|
],
|
|
"accent": "neon-cyan and electric violet-magenta",
|
|
"unique_elements": "A five-tier architectural staircase in dark graphite, the middle tiers brightly illuminated with active hardware racks while the speculative top tiers remain skeletal wireframes",
|
|
"evidence_summary": "whisper + mem0 in production · step 4 skipped",
|
|
"prompt": "A five-tier architectural staircase in dark graphite, the middle tiers brightly illuminated with active hardware racks while the speculative top tiers remain skeletal wireframes",
|
|
"caption": "captions/five-step-ai-roadmap-what-i-actually-run.json"
|
|
},
|
|
{
|
|
"slug": "fully-on-chain-svg-nfts",
|
|
"title": "Fully On-Chain SVG NFTs: Putting the Artwork Inside the Contract",
|
|
"category": "web3",
|
|
"tags": [
|
|
"solidity",
|
|
"foundry",
|
|
"erc721"
|
|
],
|
|
"accent": "translucent emerald (#10b981) and prism-split cyan",
|
|
"unique_elements": "A crystalline art plaque sealed completely inside a transparent contract block, its imagery carved directly into the block's inner facets rather than mounted on any external frame",
|
|
"evidence_summary": "base64 SVG in tokenURI() · mood flip on-chain",
|
|
"prompt": "A crystalline art plaque sealed completely inside a transparent contract block, its imagery carved directly into the block's inner facets rather than mounted on any external frame",
|
|
"caption": "captions/fully-on-chain-svg-nfts.json"
|
|
},
|
|
{
|
|
"slug": "generating-subtitles-for-songs-without-timestamps",
|
|
"unique_elements": "A translucent glass rod of trapped sound resting on a dark machined spindle, a thin brass feeler tracing along its length and pressing evenly spaced notches into the glass, each notch filling with pale light just behind the moving feeler",
|
|
"prompt": "A translucent glass rod of trapped sound resting on a dark machined spindle, a thin brass feeler tracing along its length and pressing evenly spaced notches into the glass, each notch filling with pale light just behind the moving feeler",
|
|
"evidence_summary": "18 songs - 342 lines - 0.96 anchor coverage",
|
|
"caption": "captions/generating-subtitles-for-songs-without-timestamps.json"
|
|
},
|
|
{
|
|
"slug": "hardening-a-tor-onion-service",
|
|
"title": "Hardening a Tor Onion Service: What Actually Matters",
|
|
"category": "devops",
|
|
"tags": [
|
|
"tor",
|
|
"docker",
|
|
"security"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A matte black multi-shell relay tower of stacked concentric domes, each layer locked by a brass ring, with a single narrow sealed ingress slit glowing soft violet",
|
|
"evidence_summary": "bind 0.0.0.0:80 denied · onion v3",
|
|
"prompt": "A matte black multi-shell relay tower of stacked concentric domes, each layer locked by a brass ring, with a single narrow sealed ingress slit glowing soft violet",
|
|
"caption": "captions/hardening-a-tor-onion-service.json"
|
|
},
|
|
{
|
|
"slug": "hello-world",
|
|
"title": "Hello, World — About This Blog",
|
|
"category": "notes",
|
|
"tags": [
|
|
"intro"
|
|
],
|
|
"accent": "warm amber-orange warning glow (#fbbf24)",
|
|
"unique_elements": "A minimal dark workbench holding one glowing filament cursor hovering above a blank obsidian slate, first light spilling from a small pulsing pinpoint of light at its corner",
|
|
"evidence_summary": "~140-container homelab · self-hosted",
|
|
"prompt": "A minimal dark workbench holding one glowing filament cursor hovering above a blank obsidian slate, first light spilling from a small pulsing pinpoint of light at its corner",
|
|
"caption": "captions/hello-world.json"
|
|
},
|
|
{
|
|
"slug": "how-i-built-the-digikedai-telegram-bot",
|
|
"title": "How I Built the DigiKedai Telegram AI Bot",
|
|
"category": "case-studies",
|
|
"tags": [
|
|
"telegram",
|
|
"docker",
|
|
"cloudflare"
|
|
],
|
|
"accent": "emerald green (#4ade80) status nodes and gold telemetry",
|
|
"unique_elements": "A folded paper-plane shaped obsidian drone docked at a glowing delivery dock module, tethered by a luminous thread to a private gateway pylon behind it",
|
|
"evidence_summary": "Telegram + WhatsApp · LiteLLM gateway",
|
|
"prompt": "A folded paper-plane shaped obsidian drone docked at a glowing delivery dock module, tethered by a luminous thread to a private gateway pylon behind it",
|
|
"caption": "captions/how-i-built-the-digikedai-telegram-bot.json"
|
|
},
|
|
{
|
|
"slug": "how-i-host-this-blog",
|
|
"title": "How I Host This Blog: Astro, Gitea Actions, and Self-Hosted CI/CD",
|
|
"category": "case-studies",
|
|
"tags": [
|
|
"astro",
|
|
"gitea",
|
|
"ci-cd"
|
|
],
|
|
"accent": "emerald green (#4ade80) status nodes and gold telemetry",
|
|
"unique_elements": "An assembly line of three interlocking obsidian machine modules — a rolling press, a stamping arm and a delivery chute — feeding a sealed glass site cube at the end of the rail",
|
|
"evidence_summary": "git push · act_runner · nginx",
|
|
"prompt": "An assembly line of three interlocking obsidian machine modules — a rolling press, a stamping arm and a delivery chute — feeding a sealed glass site cube at the end of the rail",
|
|
"caption": "captions/how-i-host-this-blog.json"
|
|
},
|
|
{
|
|
"slug": "how-i-made-my-own-songs-with-suno-ai",
|
|
"title": "How I Made My Own Songs with Suno AI",
|
|
"category": "case-studies",
|
|
"tags": [
|
|
"suno",
|
|
"ai-music",
|
|
"music"
|
|
],
|
|
"accent": "emerald green (#4ade80) status nodes and gold telemetry",
|
|
"unique_elements": "A shard of amber-lit vinyl suspended inside a dark circular resonator hall, seven smaller song discs orbiting it in a single ring",
|
|
"evidence_summary": "7 songs · lyrics + prompts",
|
|
"prompt": "A shard of amber-lit vinyl suspended inside a dark circular resonator hall, seven smaller song discs orbiting it in a single ring",
|
|
"caption": "captions/how-i-made-my-own-songs-with-suno-ai.json"
|
|
},
|
|
{
|
|
"slug": "how-i-vetted-20-vps-providers-with-parallel-subagents",
|
|
"title": "How I Vetted 20 VPS Providers in Three Hours with Parallel Subagents",
|
|
"category": "case-studies",
|
|
"tags": [
|
|
"ai-orchestration",
|
|
"subagents",
|
|
"due-diligence"
|
|
],
|
|
"accent": "emerald green (#4ade80) status nodes and gold telemetry",
|
|
"unique_elements": "Twenty identical dark server tiles fanned out along a scoring rail, a mechanical grading carriage sweeping across them and stamping pass or fail notches into each tile face",
|
|
"evidence_summary": "20 providers · 3 hours · subagents",
|
|
"prompt": "Twenty identical dark server tiles fanned out along a scoring rail, a mechanical grading carriage sweeping across them and stamping pass or fail notches into each tile face",
|
|
"caption": "captions/how-i-vetted-20-vps-providers-with-parallel-subagents.json"
|
|
},
|
|
{
|
|
"slug": "how-to-verify-a-hosting-provider-before-you-buy",
|
|
"title": "How to Verify a Hosting Provider Before You Buy",
|
|
"category": "tutorials",
|
|
"tags": [
|
|
"hosting",
|
|
"vps",
|
|
"due-diligence"
|
|
],
|
|
"accent": "electric cyan and soft ultraviolet spectrum",
|
|
"unique_elements": "A polished glass loupe hovering over a rack of miniature server towers, revealing a hairline crack hidden inside one tower's casing",
|
|
"evidence_summary": "rdap.org domain age · AUP read",
|
|
"prompt": "A polished glass loupe hovering over a rack of miniature server towers, revealing a hairline crack hidden inside one tower's casing",
|
|
"caption": "captions/how-to-verify-a-hosting-provider-before-you-buy.json"
|
|
},
|
|
{
|
|
"slug": "i-let-an-agent-manage-my-shopee-vouchers",
|
|
"title": "I Let an Agent Manage My Shopee Vouchers — And It Created One I Never Approved",
|
|
"category": "ai",
|
|
"tags": [
|
|
"ai-agent",
|
|
"shopee",
|
|
"automation"
|
|
],
|
|
"accent": "neon-cyan and electric violet-magenta",
|
|
"unique_elements": "An intricate rotating glass agent decision loop where a stray orange pulse vector veers off the machined guide track and materializes a glowing geometric token block in mid-air",
|
|
"evidence_summary": "mode=propose gate · RM140 voucher unapproved",
|
|
"prompt": "An intricate rotating glass agent decision loop where a stray orange pulse vector veers off the machined guide track and materializes a glowing geometric token block in mid-air",
|
|
"caption": "captions/i-let-an-agent-manage-my-shopee-vouchers.json"
|
|
},
|
|
{
|
|
"slug": "it-reported-success-nothing-had-changed",
|
|
"title": "It Reported Success. Nothing Had Changed.",
|
|
"category": "devops",
|
|
"tags": [
|
|
"storage",
|
|
"smb",
|
|
"verification"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A rotating brass checkmark stamp pressed onto an empty obsidian pipe segment that carries no flow, with the pipe's mouth visibly dry behind the impression",
|
|
"evidence_summary": "12.5 MB of 403 MB · rename never landed",
|
|
"prompt": "A rotating brass checkmark stamp pressed onto an empty obsidian pipe segment that carries no flow, with the pipe's mouth visibly dry behind the impression",
|
|
"caption": "captions/it-reported-success-nothing-had-changed.json"
|
|
},
|
|
{
|
|
"slug": "jpa-version-field-lost-update",
|
|
"title": "The JPA Field That Turns a Silent Lost Update Into a 409",
|
|
"category": "engineering",
|
|
"tags": [
|
|
"java",
|
|
"spring",
|
|
"jpa"
|
|
],
|
|
"accent": "royal cobalt blue (#295cff) with crisp ice-white",
|
|
"unique_elements": "Two opposing piston arms pressing on the same crystal data block, one arm halted by a mechanical version latch snapping shut with a red-lit click",
|
|
"evidence_summary": "@Version · stale PUT → 409",
|
|
"prompt": "Two opposing piston arms pressing on the same crystal data block, one arm halted by a mechanical version latch snapping shut with a red-lit click",
|
|
"caption": "captions/jpa-version-field-lost-update.json"
|
|
},
|
|
{
|
|
"slug": "loop-engineering-without-a-coding-agent",
|
|
"title": "Loop Engineering Without a Coding Agent: The 11 Cron Jobs That Run My Infrastructure",
|
|
"category": "case-studies",
|
|
"tags": [
|
|
"loop-engineering",
|
|
"ai-agents",
|
|
"cron"
|
|
],
|
|
"accent": "emerald green (#4ade80) status nodes and gold telemetry",
|
|
"unique_elements": "Eleven concentric circular obsidian gear loops rotating in mechanical harmony, eight solid pure crystal clockwork rings alongside three subtle neural pulse rings, operating autonomously",
|
|
"evidence_summary": "11 cron jobs · 8 zero-AI loops",
|
|
"prompt": "Eleven concentric circular obsidian gear loops rotating in mechanical harmony, eight solid pure crystal clockwork rings alongside three subtle neural pulse rings, operating autonomously",
|
|
"caption": "captions/loop-engineering-without-a-coding-agent.json"
|
|
},
|
|
{
|
|
"slug": "migrating-codeigniter-iis-to-openlitespeed",
|
|
"title": "Migrating a CodeIgniter 4 App From IIS to OpenLiteSpeed",
|
|
"category": "engineering",
|
|
"tags": [
|
|
"codeigniter",
|
|
"php",
|
|
"openspeedway"
|
|
],
|
|
"accent": "royal cobalt blue (#295cff) with crisp ice-white",
|
|
"unique_elements": "A functional app engine block being lifted off a heavy bolted window-frame chassis and reseated onto a taller lightweight finned frame, two loose dark bolts falling behind it",
|
|
"evidence_summary": "17,000-line CI4 · env() fatal",
|
|
"prompt": "A functional app engine block being lifted off a heavy bolted window-frame chassis and reseated onto a taller lightweight finned frame, two loose dark bolts falling behind it",
|
|
"caption": "captions/migrating-codeigniter-iis-to-openlitespeed.json"
|
|
},
|
|
{
|
|
"slug": "my-backup-was-using-someone-elses-api-quota",
|
|
"title": "My Backup Was Crawling Because I Was Using Someone Else's API Quota",
|
|
"category": "notes",
|
|
"tags": [
|
|
"rclone",
|
|
"backup",
|
|
"google-drive"
|
|
],
|
|
"accent": "warm amber-orange warning glow (#fbbf24)",
|
|
"unique_elements": "A massive high-throughput data conduit bottlenecked at a narrow glowing amber hourglass valve, releasing only single sparse droplets into a dark repository vault below",
|
|
"evidence_summary": "1 TB restic seed · shared rclone quota",
|
|
"prompt": "A massive high-throughput data conduit bottlenecked at a narrow glowing amber hourglass valve, releasing only single sparse droplets into a dark repository vault below",
|
|
"caption": "captions/my-backup-was-using-someone-elses-api-quota.json"
|
|
},
|
|
{
|
|
"slug": "n8n-v1-to-v2-upgrade-gotchas",
|
|
"title": "Upgrading n8n v1 to v2: Seven Deprecations in One Log File",
|
|
"category": "devops",
|
|
"tags": [
|
|
"n8n",
|
|
"docker",
|
|
"upgrade"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A rail of plain obsidian cube nodes rolling forward while seven of their connector pins hang loose and sparking beneath the track",
|
|
"evidence_summary": "1.x → 2.40.1 · 7 silent breaks",
|
|
"prompt": "A rail of plain obsidian cube nodes rolling forward while seven of their connector pins hang loose and sparking beneath the track",
|
|
"caption": "captions/n8n-v1-to-v2-upgrade-gotchas.json"
|
|
},
|
|
{
|
|
"slug": "nocodb-sso-is-a-licensed-feature",
|
|
"title": "NocoDB SSO Is a Licensed Feature — and the Env Vars Won't Tell You",
|
|
"category": "notes",
|
|
"tags": [
|
|
"nocodb",
|
|
"sso",
|
|
"oidc"
|
|
],
|
|
"accent": "warm amber-orange warning glow (#fbbf24)",
|
|
"unique_elements": "A recessed keyhole cut into an otherwise sealed obsidian cabinet, faint cyan glow leaking from the seam while the keyhole itself is blocked by a solid brass plug",
|
|
"evidence_summary": "OIDC env accepted · first login crashes",
|
|
"prompt": "A recessed keyhole cut into an otherwise sealed obsidian cabinet, faint cyan glow leaking from the seam while the keyhole itself is blocked by a solid brass plug",
|
|
"caption": "captions/nocodb-sso-is-a-licensed-feature.json"
|
|
},
|
|
{
|
|
"slug": "one-hostname-public-tracker-sso-dashboard",
|
|
"title": "One Hostname for a Public Tracker and an SSO-Gated Dashboard",
|
|
"category": "devops",
|
|
"tags": [
|
|
"umami",
|
|
"authentik",
|
|
"sso"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A single dark gateway arch splitting into two passages, a wide open slit of light on one side and a latched vault door with a rotating seal on the other",
|
|
"evidence_summary": "1 host · tracker public, dashboard SSO",
|
|
"prompt": "A single dark gateway arch splitting into two passages, a wide open slit of light on one side and a latched vault door with a rotating seal on the other",
|
|
"caption": "captions/one-hostname-public-tracker-sso-dashboard.json"
|
|
},
|
|
{
|
|
"slug": "one-prometheus-for-unraid-synology-and-a-vps",
|
|
"title": "One Prometheus for unRaid, a Synology NAS, and a VPS: What I Got Wrong",
|
|
"category": "case-studies",
|
|
"tags": [
|
|
"prometheus",
|
|
"grafana",
|
|
"unraid"
|
|
],
|
|
"accent": "emerald green (#4ade80) status nodes and gold telemetry",
|
|
"unique_elements": "A single radiant central telemetry beacon sending precision laser monitoring vectors to three distinct hexagonal platform nodes, illuminating transparent storage volumes with holographic metrics",
|
|
"evidence_summary": "3 hosts · 1 prometheus · 0 false panels",
|
|
"prompt": "A single radiant central telemetry beacon sending precision laser monitoring vectors to three distinct hexagonal platform nodes, illuminating transparent storage volumes with holographic metrics",
|
|
"caption": "captions/one-prometheus-for-unraid-synology-and-a-vps.json"
|
|
},
|
|
{
|
|
"slug": "passbolt-hang-three-failure-modes",
|
|
"title": "Passbolt UI Kept Hanging — Three Failure Modes From One Missing Config File",
|
|
"category": "devops",
|
|
"tags": [
|
|
"passbolt",
|
|
"docker",
|
|
"gpg"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A brass padlock seal hovering over an obsidian vault door whose three latching bolts are stuck mid-turn, a stalled orange glow pulsing in the keyway",
|
|
"evidence_summary": "null fingerprint · 3 failure modes",
|
|
"prompt": "A brass padlock seal hovering over an obsidian vault door whose three latching bolts are stuck mid-turn, a stalled orange glow pulsing in the keyway",
|
|
"caption": "captions/passbolt-hang-three-failure-modes.json"
|
|
},
|
|
{
|
|
"slug": "patching-workbench-26-for-mariadb",
|
|
"title": "When Your Database Client Lies to You: Patching Workbench 26 for MariaDB",
|
|
"category": "devops",
|
|
"tags": [
|
|
"mysql",
|
|
"mariadb",
|
|
"workbench"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A precision instrument module whose connector block has been re-pinned by three hand-cut copper jumpers bridging over its original sealed socket",
|
|
"evidence_summary": "26.7.0 TypeError · 3 patches",
|
|
"prompt": "A precision instrument module whose connector block has been re-pinned by three hand-cut copper jumpers bridging over its original sealed socket",
|
|
"caption": "captions/patching-workbench-26-for-mariadb.json"
|
|
},
|
|
{
|
|
"slug": "putting-a-front-door-on-an-app-you-cant-modify",
|
|
"title": "Putting a Front Door on an App You Can't Modify",
|
|
"category": "devops",
|
|
"tags": [
|
|
"nginx",
|
|
"docker",
|
|
"self-hosting"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A new bilingual stone lintel and portal erected in front of a sealed monolithic app block, three thin luminous cables threading through a drilled seam into its interior",
|
|
"evidence_summary": "5879-byte SPA · 3 injected lines",
|
|
"prompt": "A new bilingual stone lintel and portal erected in front of a sealed monolithic app block, three thin luminous cables threading through a drilled seam into its interior",
|
|
"caption": "captions/putting-a-front-door-on-an-app-you-cant-modify.json"
|
|
},
|
|
{
|
|
"slug": "read-amplification-504-gateway-timeout-swr-cache",
|
|
"unique_elements": "Four identical steel pipes drawing from one dark reservoir in a row, and a single short pipe that bypasses all four into one lit chamber",
|
|
"prompt": "Four identical steel pipes drawing from one dark reservoir in a row, and a single short pipe that bypasses all four into one lit chamber",
|
|
"evidence_summary": "4 reads/file · 960 per page · 0.3 µs cache hit",
|
|
"caption": "captions/read-amplification-504-gateway-timeout-swr-cache.json"
|
|
},
|
|
{
|
|
"slug": "read-only-nocodb-dashboard-for-a-remote-database",
|
|
"title": "A Read-Only NocoDB Dashboard for a Database on Another Machine",
|
|
"category": "devops",
|
|
"tags": [
|
|
"nocodb",
|
|
"mysql",
|
|
"mariadb"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A glass observation window mounted over a distant obsidian data silo, the viewing frame open while every latch on the data hatch itself stays closed",
|
|
"evidence_summary": "SNAT source IP · 0 rows copied",
|
|
"prompt": "A glass observation window mounted over a distant obsidian data silo, the viewing frame open while every latch on the data hatch itself stays closed",
|
|
"caption": "captions/read-only-nocodb-dashboard-for-a-remote-database.json"
|
|
},
|
|
{
|
|
"slug": "reading-a-containers-own-api-docs",
|
|
"title": "Read a Container's Own API Docs Instead of the Vendor's",
|
|
"category": "notes",
|
|
"tags": [
|
|
"docker",
|
|
"openapi",
|
|
"api"
|
|
],
|
|
"accent": "warm amber-orange warning glow (#fbbf24)",
|
|
"unique_elements": "A scanning beam unfolding a lathe-cut obsidian shell to expose its inner circuit routing, four small inspection tools laid out on the dark bench beside it",
|
|
"evidence_summary": "4 docker commands · image is the spec",
|
|
"prompt": "A scanning beam unfolding a lathe-cut obsidian shell to expose its inner circuit routing, four small inspection tools laid out on the dark bench beside it",
|
|
"caption": "captions/reading-a-containers-own-api-docs.json"
|
|
},
|
|
{
|
|
"slug": "replacing-rdpguard-with-ipban",
|
|
"title": "Replacing RDPGuard With IPBan: The Traps Nobody Documents",
|
|
"category": "devops",
|
|
"tags": [
|
|
"windows",
|
|
"security",
|
|
"rdp"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "An old shield slab lifted out of a dark doorway as a tighter woven black mesh gate is lowered into the same frame, grey marker pins fenced off outside it",
|
|
"evidence_summary": "RDPGuard 7.8.7 → IPBan 4.1.0 · 12 IPs",
|
|
"prompt": "An old shield slab lifted out of a dark doorway as a tighter woven black mesh gate is lowered into the same frame, grey marker pins fenced off outside it",
|
|
"caption": "captions/replacing-rdpguard-with-ipban.json"
|
|
},
|
|
{
|
|
"slug": "running-ai-video-locally-on-a-12gb-gpu",
|
|
"unique_elements": "A compact dark alloy pressure vessel clamped inside a narrow slot, its single outlet feeding a translucent ribbon of thin frames between two polished steel rollers that widen the ribbon as it passes",
|
|
"prompt": "A compact dark alloy pressure vessel clamped inside a narrow slot, its single outlet feeding a translucent ribbon of thin frames between two polished steel rollers that widen the ribbon as it passes",
|
|
"evidence_summary": "1280x736 -> 1080p - 32 min / 5 s - $0",
|
|
"caption": "captions/running-ai-video-locally-on-a-12gb-gpu.json"
|
|
},
|
|
{
|
|
"slug": "running-production-infrastructure-solo",
|
|
"title": "Running Production Infrastructure Solo: 162 Containers Across Three Hosts",
|
|
"category": "case-studies",
|
|
"tags": [
|
|
"docker",
|
|
"traefik",
|
|
"monitoring"
|
|
],
|
|
"accent": "emerald green (#4ade80) status nodes and gold telemetry",
|
|
"unique_elements": "Three interconnected matte-black server monoliths in isometric perspective surrounded by a dense floating matrix of tiny glowing glass container cubes with emerald heartbeat lights, routed by blue optical fiber conduits into one master control node",
|
|
"evidence_summary": "162 containers · 3 hosts · 78 compose stacks",
|
|
"prompt": "Three interconnected matte-black server monoliths in isometric perspective surrounded by a dense floating matrix of tiny glowing glass container cubes with emerald heartbeat lights, routed by blue optical fiber conduits into one master control node",
|
|
"caption": "captions/running-production-infrastructure-solo.json"
|
|
},
|
|
{
|
|
"slug": "running-tts-as-a-service-with-token-sidecars",
|
|
"title": "I Ran a Text-to-Speech Service for a Year on Two Cron Containers",
|
|
"category": "ai",
|
|
"tags": [
|
|
"n8n",
|
|
"tts",
|
|
"azure"
|
|
],
|
|
"accent": "neon-cyan and electric violet-magenta",
|
|
"unique_elements": "A central obsidian voice resonance horn flanked by two small paired fuel canisters that replenish its expiring energy keys through thin silver tubes",
|
|
"evidence_summary": "tokens expire 10 min / 1 h · sidecars",
|
|
"prompt": "A central obsidian voice resonance horn flanked by two small paired fuel canisters that replenish its expiring energy keys through thin silver tubes",
|
|
"caption": "captions/running-tts-as-a-service-with-token-sidecars.json"
|
|
},
|
|
{
|
|
"slug": "scraping-bot-walled-marketplace-warm-browser-session",
|
|
"title": "Scraping a Bot-Walled Marketplace With a Warm Browser Session",
|
|
"category": "engineering",
|
|
"tags": [
|
|
"scraping",
|
|
"cdp",
|
|
"headless-chrome"
|
|
],
|
|
"accent": "royal cobalt blue (#295cff) with crisp ice-white",
|
|
"unique_elements": "A dexterous glass gripper carrying a warm amber-lit browser window pane through a walled dark tunnel gate, holding the pane at a preserved angle",
|
|
"evidence_summary": "warm CDP session · split waits",
|
|
"prompt": "A dexterous glass gripper carrying a warm amber-lit browser window pane through a walled dark tunnel gate, holding the pane at a preserved angle",
|
|
"caption": "captions/scraping-bot-walled-marketplace-warm-browser-session.json"
|
|
},
|
|
{
|
|
"slug": "self-healing-digital-goods-entitlements",
|
|
"title": "Self-Healing Access Control for Digital Goods: NocoDB, n8n, and AList",
|
|
"category": "case-studies",
|
|
"tags": [
|
|
"n8n",
|
|
"nocodb",
|
|
"alist"
|
|
],
|
|
"accent": "emerald green (#4ade80) status nodes and gold telemetry",
|
|
"unique_elements": "A multi-stage floating acrylic workflow pathway with five interlocking diamond gates, automatically bridging broken link fragments with glowing golden solder",
|
|
"evidence_summary": "5 workflows · NocoDB + n8n + AList",
|
|
"prompt": "A multi-stage floating acrylic workflow pathway with five interlocking diamond gates, automatically bridging broken link fragments with glowing golden solder",
|
|
"caption": "captions/self-healing-digital-goods-entitlements.json"
|
|
},
|
|
{
|
|
"slug": "self-hosted-speech-to-text-api",
|
|
"title": "Your Own Speech-to-Text Server: Faster Than Typing, Private by Default",
|
|
"category": "case-studies",
|
|
"tags": [
|
|
"whisper",
|
|
"cuda",
|
|
"stt"
|
|
],
|
|
"accent": "emerald green (#4ade80) status nodes and gold telemetry",
|
|
"unique_elements": "A floating obsidian microphone capsule inside a soundproof dark chamber, its waveform converted into clean engraved grooves on a crystal tablet beside it",
|
|
"evidence_summary": "whisper.cpp large-v3 · ~5x typing",
|
|
"prompt": "A floating obsidian microphone capsule inside a soundproof dark chamber, its waveform converted into clean engraved grooves on a crystal tablet beside it",
|
|
"caption": "captions/self-hosted-speech-to-text-api.json"
|
|
},
|
|
{
|
|
"slug": "self-hosting-mem0-memory-stack",
|
|
"title": "How I Self-Hosted a Mem0 Memory Stack (So My AI Agent Remembers)",
|
|
"category": "case-studies",
|
|
"tags": [
|
|
"mem0",
|
|
"docker",
|
|
"postgres"
|
|
],
|
|
"accent": "emerald green (#4ade80) status nodes and gold telemetry",
|
|
"unique_elements": "A stack of three interlocking transparent memory capsules above a glowing vector-index lattice core, each capsule holding suspended point-cloud nodes",
|
|
"evidence_summary": "mem0 + LiteLLM + pgvector · :20015",
|
|
"prompt": "A stack of three interlocking transparent memory capsules above a glowing vector-index lattice core, each capsule holding suspended point-cloud nodes",
|
|
"caption": "captions/self-hosting-mem0-memory-stack.json"
|
|
},
|
|
{
|
|
"slug": "shipping-an-ai-photo-editor-as-a-wordpress-plugin",
|
|
"title": "Shipping an AI Photo Editor as a WordPress Plugin: 22 Versions of Hard Lessons",
|
|
"category": "case-studies",
|
|
"tags": [
|
|
"wordpress",
|
|
"php",
|
|
"fal-ai"
|
|
],
|
|
"accent": "emerald green (#4ade80) status nodes and gold telemetry",
|
|
"unique_elements": "A brushed dark modular cartridge docked into a slot on a wall of stacked obsidian building blocks, a neat pile of thin shims beside it with one cracked shim glowing red",
|
|
"evidence_summary": "22 versions · fal.ai async queue",
|
|
"prompt": "A brushed dark modular cartridge docked into a slot on a wall of stacked obsidian building blocks, a neat pile of thin shims beside it with one cracked shim glowing red",
|
|
"caption": "captions/shipping-an-ai-photo-editor-as-a-wordpress-plugin.json"
|
|
},
|
|
{
|
|
"slug": "smartctl-exit-code-32-skips-the-disks-that-matter",
|
|
"title": "smartctl Exit Code 32: The Code That Skips the Disks You Care About",
|
|
"category": "notes",
|
|
"tags": [
|
|
"smart",
|
|
"smartctl",
|
|
"unraid"
|
|
],
|
|
"accent": "warm amber-orange warning glow (#fbbf24)",
|
|
"unique_elements": "A row of dark platter cartridges on an inspection rail where a sorting gate waves the most worn cartridge straight past into an unchecked waste channel",
|
|
"evidence_summary": "rc=32 is not failure · skips bad disks",
|
|
"prompt": "A row of dark platter cartridges on an inspection rail where a sorting gate waves the most worn cartridge straight past into an unchecked waste channel",
|
|
"caption": "captions/smartctl-exit-code-32-skips-the-disks-that-matter.json"
|
|
},
|
|
{
|
|
"slug": "space-reclamation-wasnt-stuck-it-was-waiting",
|
|
"title": "Space Reclamation Wasn't Stuck. It Was Waiting for Tomorrow at 09:29.",
|
|
"category": "devops",
|
|
"tags": [
|
|
"synology",
|
|
"btrfs",
|
|
"snapshots"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A massive filesystem disk cylinder slowly draining fragmented blue blocks into an obsidian reclamation pit, guided by a precision holographic countdown ring",
|
|
"evidence_summary": "121 GiB returned · scheduled 09:29",
|
|
"prompt": "A massive filesystem disk cylinder slowly draining fragmented blue blocks into an obsidian reclamation pit, guided by a precision holographic countdown ring",
|
|
"caption": "captions/space-reclamation-wasnt-stuck-it-was-waiting.json"
|
|
},
|
|
{
|
|
"slug": "stop-writing-agent-prompts-for-deterministic-work",
|
|
"title": "Stop Writing Agent Prompts for Deterministic Work",
|
|
"category": "notes",
|
|
"tags": [
|
|
"loop-engineering",
|
|
"cron",
|
|
"ai-agents"
|
|
],
|
|
"accent": "warm amber-orange warning glow (#fbbf24)",
|
|
"unique_elements": "An oversized ornate mechanical gear train fused to a tiny simple toggle switch, a strand of glowing ribbon tangled uselessly around the gear teeth",
|
|
"evidence_summary": "29 straight failures · 1 string compare",
|
|
"prompt": "An oversized ornate mechanical gear train fused to a tiny simple toggle switch, a strand of glowing ribbon tangled uselessly around the gear teeth",
|
|
"caption": "captions/stop-writing-agent-prompts-for-deterministic-work.json"
|
|
},
|
|
{
|
|
"slug": "syncing-a-self-improving-ai-agent-across-machines",
|
|
"title": "Syncing a Self-Improving AI Agent Across Machines",
|
|
"category": "case-studies",
|
|
"tags": [
|
|
"hermes",
|
|
"git",
|
|
"gitea"
|
|
],
|
|
"accent": "emerald green (#4ade80) status nodes and gold telemetry",
|
|
"unique_elements": "Two obsidian agent cores on separate pedestals sharing one translucent memory ribbon strung between them, their curved shells catching the same rim light",
|
|
"evidence_summary": "git-backed profile · manual sync",
|
|
"prompt": "Two obsidian agent cores on separate pedestals sharing one translucent memory ribbon strung between them, their curved shells catching the same rim light",
|
|
"caption": "captions/syncing-a-self-improving-ai-agent-across-machines.json"
|
|
},
|
|
{
|
|
"slug": "synology-api-401-with-the-correct-password",
|
|
"title": "Why Your Synology API Login Returns 401 With the Correct Password",
|
|
"category": "notes",
|
|
"tags": [
|
|
"synology",
|
|
"dsm",
|
|
"rest-api"
|
|
],
|
|
"accent": "warm amber-orange warning glow (#fbbf24)",
|
|
"unique_elements": "A brass key entered perfectly into a dark lock housing that still glows red, two different fault traces visible behind a diagnostic glass side panel",
|
|
"evidence_summary": "401 twice · 2 causes · 3 commands",
|
|
"prompt": "A brass key entered perfectly into a dark lock housing that still glows red, two different fault traces visible behind a diagnostic glass side panel",
|
|
"caption": "captions/synology-api-401-with-the-correct-password.json"
|
|
},
|
|
{
|
|
"slug": "synology-spreadsheet-api-is-a-container",
|
|
"title": "The Synology Spreadsheet API Is a Container, Not an API Endpoint",
|
|
"category": "devops",
|
|
"tags": [
|
|
"synology",
|
|
"dsm",
|
|
"docker"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A grid of obsidian spreadsheet cells housed inside a sealed service container box, four small barricade blocks standing around its access hatches",
|
|
"evidence_summary": "1515 APIs · 4 traps",
|
|
"prompt": "A grid of obsidian spreadsheet cells housed inside a sealed service container box, four small barricade blocks standing around its access hatches",
|
|
"caption": "captions/synology-spreadsheet-api-is-a-container.json"
|
|
},
|
|
{
|
|
"slug": "that-dying-ssd-was-just-a-bad-sata-cable",
|
|
"title": "I Was About to RMA This SSD — the Fault Was a SATA Cable",
|
|
"category": "devops",
|
|
"tags": [
|
|
"unraid",
|
|
"sata",
|
|
"ssd"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "An unbranded solid-state drive slab lying clean and healthy on an inspection cradle beside a single frayed ribbon cable whose exposed conductor is the only damaged element in the frame",
|
|
"evidence_summary": "WRITE FPDMA timeout · 1 SATA cable",
|
|
"prompt": "An unbranded solid-state drive slab lying clean and healthy on an inspection cradle beside a single frayed ribbon cable whose exposed conductor is the only damaged element in the frame",
|
|
"caption": "captions/that-dying-ssd-was-just-a-bad-sata-cable.json"
|
|
},
|
|
{
|
|
"slug": "the-cause-was-trim-not-the-ssds",
|
|
"title": "The Corruption Came Back on Different Drives — the Cause Was TRIM, Not the SSDs",
|
|
"category": "devops",
|
|
"tags": [
|
|
"unraid",
|
|
"btrfs",
|
|
"trim"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "Two identical crystal data platters both striped by the same glowing zero-band across their surface, a hidden firmware splinter visible in the shared substrate between them",
|
|
"evidence_summary": "corruption_errs 27 / 31 · queued TRIM",
|
|
"prompt": "Two identical crystal data platters both striped by the same glowing zero-band across their surface, a hidden firmware splinter visible in the shared substrate between them",
|
|
"caption": "captions/the-cause-was-trim-not-the-ssds.json"
|
|
},
|
|
{
|
|
"slug": "the-nocodb-attachment-that-wouldnt-update",
|
|
"title": "The NocoDB Attachment That Wouldn't Update (and a Regex That Missed)",
|
|
"category": "notes",
|
|
"tags": [
|
|
"nocodb",
|
|
"backfill",
|
|
"python"
|
|
],
|
|
"accent": "warm amber-orange warning glow (#fbbf24)",
|
|
"unique_elements": "Two nearly identical obsidian tiles slotted into the same dark rail, the older tile stubbornly holding its groove while a translucent duplicate hovers beside it",
|
|
"evidence_summary": "300 rows · 1 lookahead regex miss",
|
|
"prompt": "Two nearly identical obsidian tiles slotted into the same dark rail, the older tile stubbornly holding its groove while a translucent duplicate hovers beside it",
|
|
"caption": "captions/the-nocodb-attachment-that-wouldnt-update.json"
|
|
},
|
|
{
|
|
"slug": "the-upstream-was-deleted-then-came-back-rewritten",
|
|
"title": "The Upstream Was Deleted, Then Came Back as a Rewrite",
|
|
"category": "devops",
|
|
"tags": [
|
|
"docker",
|
|
"self-hosting",
|
|
"upstream"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "An empty hollow container shell sitting on a dark shelf beside a freshly rebuilt shell of a brighter alloy, the new one still gleaming and unweathered",
|
|
"evidence_summary": "repo 404 · 233 commits rewrite",
|
|
"prompt": "An empty hollow container shell sitting on a dark shelf beside a freshly rebuilt shell of a brighter alloy, the new one still gleaming and unweathered",
|
|
"caption": "captions/the-upstream-was-deleted-then-came-back-rewritten.json"
|
|
},
|
|
{
|
|
"slug": "two-ways-a-javascript-file-stops-working-and-looks-fine",
|
|
"title": "Two Ways a JavaScript File Stops Working and Looks Fine",
|
|
"category": "engineering",
|
|
"tags": [
|
|
"javascript",
|
|
"i18n",
|
|
"debugging"
|
|
],
|
|
"accent": "royal cobalt blue (#295cff) with crisp ice-white",
|
|
"unique_elements": "A luminous display panel that looks perfectly alive while two of its internal conduits are severed beneath the unbroken glass face",
|
|
"evidence_summary": "shadowed name · let below call",
|
|
"prompt": "A luminous display panel that looks perfectly alive while two of its internal conduits are severed beneath the unbroken glass face",
|
|
"caption": "captions/two-ways-a-javascript-file-stops-working-and-looks-fine.json"
|
|
},
|
|
{
|
|
"slug": "unraid-stop-array-hangs-on-swapfile",
|
|
"title": "Why Unraid Hangs When You Stop the Array With a Swapfile — and the Fix",
|
|
"category": "devops",
|
|
"tags": [
|
|
"unraid",
|
|
"swap",
|
|
"btrfs"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A heavy obsidian disk array carriage halted on its rails, an eight-segment anchor block clamping one wheel to the floor frame",
|
|
"evidence_summary": "8 GB swapfile pins /mnt/cache",
|
|
"prompt": "A heavy obsidian disk array carriage halted on its rails, an eight-segment anchor block clamping one wheel to the floor frame",
|
|
"caption": "captions/unraid-stop-array-hangs-on-swapfile.json"
|
|
},
|
|
{
|
|
"slug": "upgrading-codeigniter-46-to-47",
|
|
"title": "Upgrading CodeIgniter 4.6 to 4.7: The Breaking Changes the Guide Misses",
|
|
"category": "notes",
|
|
"tags": [
|
|
"codeigniter",
|
|
"php",
|
|
"upgrade"
|
|
],
|
|
"accent": "warm amber-orange warning glow (#fbbf24)",
|
|
"unique_elements": "An obsidian upgrade manifold whose eight sealed ports run cold and silent while two open ports vent hot red vapour",
|
|
"evidence_summary": "4.6 → 4.7 · 2 unlisted fatals",
|
|
"prompt": "An obsidian upgrade manifold whose eight sealed ports run cold and silent while two open ports vent hot red vapour",
|
|
"caption": "captions/upgrading-codeigniter-46-to-47.json"
|
|
},
|
|
{
|
|
"slug": "using-chinese-llm-apis-from-malaysia",
|
|
"title": "Using Chinese LLM APIs From Malaysia: What Actually Works",
|
|
"category": "ai",
|
|
"tags": [
|
|
"llm",
|
|
"api",
|
|
"deepseek"
|
|
],
|
|
"accent": "neon-cyan and electric violet-magenta",
|
|
"unique_elements": "A sealed steel tower module with a single machined keyway and a small suspended counterweight, feeding a distant dark lattice of machined spheres through a long cable run",
|
|
"evidence_summary": "GLM-5.3 · DeepSeek V4 · RMB top-up",
|
|
"prompt": "A sealed steel tower module with a single machined keyway and a small suspended counterweight, feeding a distant dark lattice of machined spheres through a long cable run",
|
|
"caption": "captions/using-chinese-llm-apis-from-malaysia.json"
|
|
},
|
|
{
|
|
"slug": "verifying-a-pdf-report-page-by-page",
|
|
"title": "Verifying a 19-Page PDF Report Page by Page",
|
|
"category": "engineering",
|
|
"tags": [
|
|
"php",
|
|
"codeigniter",
|
|
"pdf"
|
|
],
|
|
"accent": "royal cobalt blue (#295cff) with crisp ice-white",
|
|
"unique_elements": "Nineteen identically cut crystal sheets fanned in a stack on a dark calibration bench, while a precision measuring caliper checks each sheet's edge alignment",
|
|
"evidence_summary": "19 pages · every deviation < 2 pt",
|
|
"prompt": "Nineteen identically cut crystal sheets fanned in a stack on a dark calibration bench, while a precision measuring caliper checks each sheet's edge alignment",
|
|
"caption": "captions/verifying-a-pdf-report-page-by-page.json"
|
|
},
|
|
{
|
|
"slug": "vetting-an-open-source-dependency-before-you-bet-on-it",
|
|
"title": "How I Vet an Open-Source Dependency Before Betting On It",
|
|
"category": "devops",
|
|
"tags": [
|
|
"open-source",
|
|
"due-diligence",
|
|
"oidc"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A dark dependency crate opened on a bare inspection bench, six inspection checkpoints laid out beside it and one hollow false-bottomed compartment exposed",
|
|
"evidence_summary": "6 checks · grep beats the README",
|
|
"prompt": "A dark dependency crate opened on a bare inspection bench, six inspection checkpoints laid out beside it and one hollow false-bottomed compartment exposed",
|
|
"caption": "captions/vetting-an-open-source-dependency-before-you-bet-on-it.json"
|
|
},
|
|
{
|
|
"slug": "when-smart-says-healthy-but-your-raid-is-corrupting-data",
|
|
"title": "When SMART Says Healthy and Your RAID Is Silently Corrupting Data",
|
|
"category": "devops",
|
|
"tags": [
|
|
"unraid",
|
|
"btrfs",
|
|
"nvme"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "Two clean-looking mirrored disk platters certified with green tags while a fine hairline of corrupted static seeps from the seam between them",
|
|
"evidence_summary": "SMART healthy · checksum 0x8941f998",
|
|
"prompt": "Two clean-looking mirrored disk platters certified with green tags while a fine hairline of corrupted static seeps from the seam between them",
|
|
"caption": "captions/when-smart-says-healthy-but-your-raid-is-corrupting-data.json"
|
|
},
|
|
{
|
|
"slug": "why-500000-lines-of-commit-churn-only-left-230000-in-production",
|
|
"title": "Why 500,000 Lines of Commit Churn Only Left 230,000 Lines in Production",
|
|
"category": "engineering",
|
|
"tags": [
|
|
"ai",
|
|
"git",
|
|
"devops"
|
|
],
|
|
"accent": "royal cobalt blue (#295cff) with crisp ice-white",
|
|
"unique_elements": "A wide extrusion nozzle laying down an enormous glowing filament coil while a narrow precision sieve beneath it lets only a smaller refined strand fall into a production crate",
|
|
"evidence_summary": "518,000 added · 235,000 kept · 5 repos",
|
|
"prompt": "A wide extrusion nozzle laying down an enormous glowing filament coil while a narrow precision sieve beneath it lets only a smaller refined strand fall into a production crate",
|
|
"caption": "captions/why-500000-lines-of-commit-churn-only-left-230000-in-production.json"
|
|
},
|
|
{
|
|
"slug": "why-chrome-forgets-its-tabs-in-a-container",
|
|
"title": "Why Chrome Forgets Its Tabs in a Container — And How I Fixed It",
|
|
"category": "devops",
|
|
"tags": [
|
|
"docker",
|
|
"chrome",
|
|
"cdp"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A dark browser window frame whose restored tab slats are scattered outside its own container wall, a small keeper bracket bridging the seam",
|
|
"evidence_summary": "RestoreOnStartup=1 · 70-line keeper",
|
|
"prompt": "A dark browser window frame whose restored tab slats are scattered outside its own container wall, a small keeper bracket bridging the seam",
|
|
"caption": "captions/why-chrome-forgets-its-tabs-in-a-container.json"
|
|
},
|
|
{
|
|
"slug": "why-i-still-bought-a-local-gpu",
|
|
"title": "Why I Still Bought a GPU to Run AI When Claude and GPT Are Obviously Stronger",
|
|
"category": "ai",
|
|
"tags": [
|
|
"local-llm",
|
|
"gpu",
|
|
"llama-cpp"
|
|
],
|
|
"accent": "neon-cyan and electric violet-magenta",
|
|
"unique_elements": "A dense obsidian accelerator block seated in its own heatsink cradle on a workbench, radiating private warm light while cloud-tethered terminals hang faintly in the dark background",
|
|
"evidence_summary": "stronger frontier · local for retries + batch",
|
|
"prompt": "A dense obsidian accelerator block seated in its own heatsink cradle on a workbench, radiating private warm light while cloud-tethered terminals hang faintly in the dark background",
|
|
"caption": "captions/why-i-still-bought-a-local-gpu.json"
|
|
},
|
|
{
|
|
"slug": "why-my-on-chain-nft-art-changed-on-windows",
|
|
"title": "Why My On-Chain NFT Art Changed When I Cloned It on Windows",
|
|
"category": "web3",
|
|
"tags": [
|
|
"foundry",
|
|
"solidity",
|
|
"svg"
|
|
],
|
|
"accent": "translucent emerald (#10b981) and prism-split cyan",
|
|
"unique_elements": "An identical carved art plaque duplicated on two colour-matched plinths, one copy shifted by an extra invisible notch at every edge",
|
|
"evidence_summary": "autocrlf CRLF · base64 differs",
|
|
"prompt": "An identical carved art plaque duplicated on two colour-matched plinths, one copy shifted by an extra invisible notch at every edge",
|
|
"caption": "captions/why-my-on-chain-nft-art-changed-on-windows.json"
|
|
},
|
|
{
|
|
"slug": "why-telegram-bot-notifications-die",
|
|
"title": "Why Telegram Bot Notifications Die: IPv6, DNS, and a 400 That Took a Day",
|
|
"category": "devops",
|
|
"tags": [
|
|
"docker",
|
|
"telegram",
|
|
"python"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A folded paper-plane drone stopped at a narrow dark archway, its front slot jammed with a crumpled translucent strip and a red glow bleeding out",
|
|
"evidence_summary": "400 on sendPhoto · getMe fine · IPv6-only DNS",
|
|
"prompt": "A folded paper-plane drone stopped at a narrow dark archway, its front slot jammed with a crumpled translucent strip and a red glow bleeding out",
|
|
"caption": "captions/why-telegram-bot-notifications-die.json"
|
|
},
|
|
{
|
|
"slug": "why-your-cdp-clicks-silently-fail",
|
|
"title": "Why Your CDP Clicks Silently Fail: Smooth Scroll, Minimised Windows, and JS-Dispatched Events",
|
|
"category": "devops",
|
|
"tags": [
|
|
"cdp",
|
|
"chrome",
|
|
"react"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A high-precision robotic cursor pointer clicking onto a translucent glass pad that has already shifted away on an invisible kinetic wave, triggering no resonance",
|
|
"evidence_summary": "scroll-behavior:smooth · rect expired",
|
|
"prompt": "A high-precision robotic cursor pointer clicking onto a translucent glass pad that has already shifted away on an invisible kinetic wave, triggering no resonance",
|
|
"caption": "captions/why-your-cdp-clicks-silently-fail.json"
|
|
},
|
|
{
|
|
"slug": "why-your-grafana-dashboard-shows-no-data",
|
|
"title": "Why Your Grafana Dashboard Shows No Data (When Prometheus Is Fine)",
|
|
"category": "devops",
|
|
"tags": [
|
|
"grafana",
|
|
"prometheus",
|
|
"dashboards"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A wide wall of forty-one dark telemetry panels all reading blank, one small self-referential filter disc visibly stuck against its own inlet",
|
|
"evidence_summary": "41 panels No data · variable filtered itself",
|
|
"prompt": "A wide wall of forty-one dark telemetry panels all reading blank, one small self-referential filter disc visibly stuck against its own inlet",
|
|
"caption": "captions/why-your-grafana-dashboard-shows-no-data.json"
|
|
},
|
|
{
|
|
"slug": "why-your-headless-browser-cant-scrape-everything",
|
|
"title": "Why Your Headless Browser Can't Scrape Everything",
|
|
"category": "case-studies",
|
|
"tags": [
|
|
"scraping",
|
|
"playwright",
|
|
"browserless"
|
|
],
|
|
"accent": "emerald green (#4ade80) status nodes and gold telemetry",
|
|
"unique_elements": "Two identical dark vault chambers side by side, one sealed shut behind a wall of blank grey panels while the other stands open with warm light spilling from inside",
|
|
"evidence_summary": "Goofish blocks · Carousell serves",
|
|
"prompt": "Two identical dark vault chambers side by side, one sealed shut behind a wall of blank grey panels while the other stands open with warm light spilling from inside",
|
|
"caption": "captions/why-your-headless-browser-cant-scrape-everything.json"
|
|
},
|
|
{
|
|
"slug": "your-disk-full-alert-is-lying",
|
|
"title": "Your Disk-Full Alert Is Lying: Stop Alerting on Percentages",
|
|
"category": "devops",
|
|
"tags": [
|
|
"monitoring",
|
|
"alerting",
|
|
"prometheus"
|
|
],
|
|
"accent": "cyan and vibrant emerald green (#4ade80)",
|
|
"unique_elements": "A tall nearly empty barrel of enormous capacity with a tiny amber fill line at its base, while a thin illuminated arc above it strains against its stop",
|
|
"evidence_summary": "3% free = 500 GB · alert fires wrong way",
|
|
"prompt": "A tall nearly empty barrel of enormous capacity with a tiny amber fill line at its base, while a thin illuminated arc above it strains against its stop",
|
|
"caption": "captions/your-disk-full-alert-is-lying.json"
|
|
},
|
|
{
|
|
"slug": "yue2-on-a-12gb-gpu-songs-that-lost-their-endings",
|
|
"unique_elements": "A row of slender dark glass tubes standing upright in a black rack on a machined rail, a single horizontal blade bar sweeping across them and cutting every one at the same height, the severed upper segments laid out in a shallow tray beside the rail",
|
|
"prompt": "A row of slender dark glass tubes standing upright in a black rack on a machined rail, a single horizontal blade bar sweeping across them and cutting every one at the same height, the severed upper segments laid out in a shallow tray beside the rail",
|
|
"evidence_summary": "12 takes - all 240.000 s - cap now 300 s",
|
|
"caption": "captions/yue2-on-a-12gb-gpu-songs-that-lost-their-endings.json"
|
|
}
|
|
]
|