This website requires JavaScript.
Explore
Help
Sign In
hoelee
/
hoelee-blog
Watch
1
Star
0
Fork
0
Code
Issues
Pull Requests
Actions
Packages
Projects
Releases
1
Wiki
Activity
Files
c09aeccc9c1b3efef21d5072348a3a56e9524a20
hoelee-blog
/
src
/
content
/
posts
T
History
hoelee
3f63150d51
Deploy / build (push)
Successful in 21s
Details
feat(design): deploy default OG card (JPG/PNG), complete banner hygiene (E8), modernize CJK typography (E9), align title & hero (A2)
2026-10-18 02:27:45 +08:00
..
zh
feat(design): deploy default OG card (JPG/PNG), complete banner hygiene (E8), modernize CJK typography (E9), align title & hero (A2)
2026-10-18 02:27:45 +08:00
adding-a-domain-to-someone-elses-mail-server.md
post: four posts — rclone/Drive quota, DSM space reclamation, mail domain/PTR, embedded fonts (EN+ZH) + og/banner
2026-10-16 13:47:10 +08:00
adding-english-mode-to-a-chinese-only-web-app.md
Backdate 2 of the 6 posts dated 2026-09-29 into empty archive months (EN + ZH)
2026-09-29 01:54:39 +08:00
ai-furniture-compositing-with-flux-kontext.md
Add case study: AI furniture compositing with FLUX.1 Kontext (en + zh)
2026-09-11 12:19:16 +08:00
authentik-css-greater-than-bug.md
post(devops): publish the authentik CSS draft — the > that became u003e (EN+ZH) + og/banner
2026-10-16 12:46:09 +08:00
authentik-forward-auth-gate-wasnt-live.md
Backdate 2 of the 6 posts dated 2026-09-29 into empty archive months (EN + ZH)
2026-09-29 01:54:39 +08:00
authentik-major-upgrade-gotchas.md
Add per-post banners (16:9 hero images) + banner-gen script; add banner to all posts
2026-09-09 06:33:13 +08:00
automating-cyberpanel-without-the-ui.md
Restore 2026 dates on two version-pinned posts
2026-09-21 22:02:15 +08:00
best-ai-video-generators-2026.md
post: add LTX-2.3 ComfyUI workflow breakdown + exact prompt to AI video guide (en + zh)
2026-09-11 18:47:16 +08:00
calibrating-intel-quick-sync-hevc-quality.md
post: publish the QSV calibration + the OOM-killer pair (EN+ZH) + og/banner
2026-10-16 13:22:13 +08:00
chainlink-vrf-v2-lottery-contract.md
Add 5 posts (EN + ZH): fully on-chain SVG NFTs, the CRLF art trap, a Chainlink VRF v2.5 lottery, page-by-page PDF verification, JPA @Version
2026-09-29 02:41:58 +08:00
docker-reported-exit-0-the-oom-killer-disagreed.md
post: publish the QSV calibration + the OOM-killer pair (EN+ZH) + og/banner
2026-10-16 13:22:13 +08:00
does-hevc-actually-shrink-your-files.md
post(tutorials): does re-encoding to HEVC actually shrink your files? I measured it (EN+ZH) + og/banner
2026-10-08 05:19:27 +08:00
embedding-fonts-so-a-pdf-looks-the-same-everywhere.md
post: four posts — rclone/Drive quota, DSM space reclamation, mail domain/PTR, embedded fonts (EN+ZH) + og/banner
2026-10-16 13:47:10 +08:00
every-player-stuttered-the-file-was-fine.md
post(devops): every player stuttered on the same video — the file was blameless (EN+ZH) + og/banner
2026-10-08 04:52:04 +08:00
five-step-ai-roadmap-what-i-actually-run.md
post(ai): the five-step AI roadmap — what I actually run in production (EN+ZH) + og/banner
2026-10-13 21:59:22 +08:00
fully-on-chain-svg-nfts.md
Add 5 posts (EN + ZH): fully on-chain SVG NFTs, the CRLF art trap, a Chainlink VRF v2.5 lottery, page-by-page PDF verification, JPA @Version
2026-09-29 02:41:58 +08:00
hardening-a-tor-onion-service.md
Backdate evergreen posts to build a real archive span (EN+ZH)
2026-09-21 21:36:41 +08:00
hello-world.md
Backdate evergreen posts to build a real archive span (EN+ZH)
2026-09-21 21:36:41 +08:00
how-i-built-the-digikedai-telegram-bot.md
Add per-post banners (16:9 hero images) + banner-gen script; add banner to all posts
2026-09-09 06:33:13 +08:00
how-i-host-this-blog.md
Restore 2026 dates on two version-pinned posts
2026-09-21 22:02:15 +08:00
how-i-made-my-own-songs-with-suno-ai.md
post: how I made my own songs with Suno AI (case study with embedded players + LRC sync, EN+ZH)
2026-09-11 16:36:01 +08:00
how-i-vetted-20-vps-providers-with-parallel-subagents.md
Backdate evergreen posts to build a real archive span (EN+ZH)
2026-09-21 21:36:41 +08:00
how-to-verify-a-hosting-provider-before-you-buy.md
Backdate evergreen posts to build a real archive span (EN+ZH)
2026-09-21 21:36:41 +08:00
i-let-an-agent-manage-my-shopee-vouchers.md
Add 2 posts (EN + ZH): agent-managed Shopee vouchers (propose mode) + why CDP clicks silently fail
2026-09-29 01:40:19 +08:00
it-reported-success-nothing-had-changed.md
post(devops): it reported success, nothing had changed (EN+ZH) + og/banner
2026-10-08 05:04:54 +08:00
jpa-version-field-lost-update.md
Add 5 posts (EN + ZH): fully on-chain SVG NFTs, the CRLF art trap, a Chainlink VRF v2.5 lottery, page-by-page PDF verification, JPA @Version
2026-09-29 02:41:58 +08:00
loop-engineering-without-a-coding-agent.md
post(loop-engineering): reframe for job search — drop business framing, job-seeking CTA (EN+ZH) + og
2026-10-08 05:31:50 +08:00
migrating-codeigniter-iis-to-openlitespeed.md
Publish the two CodeIgniter draft posts (EN+ZH) with OG + banner art
2026-09-29 01:01:42 +08:00
my-backup-was-using-someone-elses-api-quota.md
post: four posts — rclone/Drive quota, DSM space reclamation, mail domain/PTR, embedded fonts (EN+ZH) + og/banner
2026-10-16 13:47:10 +08:00
n8n-v1-to-v2-upgrade-gotchas.md
posts: n8n v1→v2 migration, self-healing entitlements, TTS sidecars
2026-09-18 01:51:46 +08:00
nocodb-sso-is-a-licensed-feature.md
Add post: NocoDB SSO Is a Licensed Feature (EN + ZH)
2026-09-29 01:14:17 +08:00
one-hostname-public-tracker-sso-dashboard.md
post: one hostname for a public tracker and an SSO-gated dashboard (EN+ZH) + og/banner images
2026-09-30 04:52:43 +08:00
one-prometheus-for-unraid-synology-and-a-vps.md
Add 4 monitoring posts (EN + ZH): smartctl exit 32, Grafana no-data variable, percentage alert thresholds, one Prometheus for 3 hosts
2026-09-29 01:37:23 +08:00
passbolt-hang-three-failure-modes.md
Backdate evergreen posts to build a real archive span (EN+ZH)
2026-09-21 21:36:41 +08:00
patching-workbench-26-for-mariadb.md
Add post: When Your Database Client Lies to You (Workbench 26 / MariaDB)
2026-09-20 04:18:11 +08:00
putting-a-front-door-on-an-app-you-cant-modify.md
post: two reader/gateway posts — the upstream rewrite, and the front-door pattern (EN+ZH) + og/banner images
2026-10-06 17:19:46 +08:00
read-only-nocodb-dashboard-for-a-remote-database.md
Add post: A Read-Only NocoDB Dashboard for a Database on Another Machine
2026-09-29 00:57:57 +08:00
reading-a-containers-own-api-docs.md
Link the container-docs post to the Synology spreadsheet API flagship (EN + ZH)
2026-09-29 01:45:25 +08:00
replacing-rdpguard-with-ipban.md
Add post: Replacing RDPGuard With IPBan (EN + ZH, og+banner)
2026-09-19 19:50:27 +08:00
running-production-infrastructure-solo.md
post(case-studies): running production infrastructure solo — 162 containers, three hosts (EN+ZH) + og/banner
2026-10-06 08:04:02 +08:00
running-tts-as-a-service-with-token-sidecars.md
posts: n8n v1→v2 migration, self-healing entitlements, TTS sidecars
2026-09-18 01:51:46 +08:00
scraping-bot-walled-marketplace-warm-browser-session.md
feat(design): deploy default OG card (JPG/PNG), complete banner hygiene (E8), modernize CJK typography (E9), align title & hero (A2)
2026-10-18 02:27:45 +08:00
self-healing-digital-goods-entitlements.md
posts: n8n v1→v2 migration, self-healing entitlements, TTS sidecars
2026-09-18 01:51:46 +08:00
self-hosted-speech-to-text-api.md
Add case study: self-hosted speech-to-text API (EN + ZH)
2026-09-19 07:55:29 +08:00
self-hosting-mem0-memory-stack.md
Add posts: RAID silent corruption + self-hosted mem0 (en/zh, og+banner)
2026-09-16 01:04:41 +08:00
shipping-an-ai-photo-editor-as-a-wordpress-plugin.md
post: shipping an AI photo editor as a WordPress plugin (case study, EN+ZH, og+banner)
2026-09-18 01:31:46 +08:00
smartctl-exit-code-32-skips-the-disks-that-matter.md
Add 4 monitoring posts (EN + ZH): smartctl exit 32, Grafana no-data variable, percentage alert thresholds, one Prometheus for 3 hosts
2026-09-29 01:37:23 +08:00
space-reclamation-wasnt-stuck-it-was-waiting.md
post: four posts — rclone/Drive quota, DSM space reclamation, mail domain/PTR, embedded fonts (EN+ZH) + og/banner
2026-10-16 13:47:10 +08:00
stop-writing-agent-prompts-for-deterministic-work.md
post: stop writing agent prompts for deterministic work (EN+ZH) + og/banner images
2026-10-01 01:38:58 +08:00
syncing-a-self-improving-ai-agent-across-machines.md
Backdate evergreen posts to build a real archive span (EN+ZH)
2026-09-21 21:36:41 +08:00
synology-api-401-with-the-correct-password.md
Add 3 posts (EN + ZH): the Synology Spreadsheet API container, the 401-with-correct-password gotcha, and reading a container's own API docs
2026-09-29 01:43:00 +08:00
synology-spreadsheet-api-is-a-container.md
Add 3 posts (EN + ZH): the Synology Spreadsheet API container, the 401-with-correct-password gotcha, and reading a container's own API docs
2026-09-29 01:43:00 +08:00
that-dying-ssd-was-just-a-bad-sata-cable.md
Add TRIM corruption sequel post + publish SATA cable post (en/zh, og+banner)
2026-09-18 05:38:13 +08:00
the-cause-was-trim-not-the-ssds.md
Add TRIM corruption sequel post + publish SATA cable post (en/zh, og+banner)
2026-09-18 05:38:13 +08:00
the-nocodb-attachment-that-wouldnt-update.md
Backdate evergreen posts to build a real archive span (EN+ZH)
2026-09-21 21:36:41 +08:00
the-upstream-was-deleted-then-came-back-rewritten.md
post(upstream-rewrite): the wipe is verifiable in git — master is one 2026-06-22 commit ('deleted'), no common ancestor with main
2026-10-06 17:26:08 +08:00
two-ways-a-javascript-file-stops-working-and-looks-fine.md
post(engineering): two ways a JavaScript file stops working and looks fine (EN+ZH) + og/banner
2026-10-16 13:32:06 +08:00
unraid-stop-array-hangs-on-swapfile.md
post: unraid array-stop swapfile hang root cause + User Scripts fix (en+zh, OG+banner)
2026-09-15 18:44:09 +08:00
upgrading-codeigniter-46-to-47.md
Publish the two CodeIgniter draft posts (EN+ZH) with OG + banner art
2026-09-29 01:01:42 +08:00
using-chinese-llm-apis-from-malaysia.md
Add OG image + banner for Chinese LLM APIs post (EN + ZH)
2026-09-11 19:57:33 +08:00
verifying-a-pdf-report-page-by-page.md
Add 5 posts (EN + ZH): fully on-chain SVG NFTs, the CRLF art trap, a Chainlink VRF v2.5 lottery, page-by-page PDF verification, JPA @Version
2026-09-29 02:41:58 +08:00
vetting-an-open-source-dependency-before-you-bet-on-it.md
Add post: How I Vet an Open-Source Dependency Before Betting On It (EN + ZH)
2026-09-29 01:07:43 +08:00
when-smart-says-healthy-but-your-raid-is-corrupting-data.md
Add TRIM corruption sequel post + publish SATA cable post (en/zh, og+banner)
2026-09-18 05:38:13 +08:00
why-chrome-forgets-its-tabs-in-a-container.md
Fix pubDate to the actual publish date (2026-09-29) for the Chrome tabs post
2026-09-29 01:12:42 +08:00
why-i-still-bought-a-local-gpu.md
Add post: Why I Still Bought a GPU to Run AI When Claude and GPT Are Stronger (EN+ZH)
2026-09-21 21:17:55 +08:00
why-my-on-chain-nft-art-changed-on-windows.md
Add 5 posts (EN + ZH): fully on-chain SVG NFTs, the CRLF art trap, a Chainlink VRF v2.5 lottery, page-by-page PDF verification, JPA @Version
2026-09-29 02:41:58 +08:00
why-telegram-bot-notifications-die.md
Backdate evergreen posts to build a real archive span (EN+ZH)
2026-09-21 21:36:41 +08:00
why-your-cdp-clicks-silently-fail.md
Add 2 posts (EN + ZH): agent-managed Shopee vouchers (propose mode) + why CDP clicks silently fail
2026-09-29 01:40:19 +08:00
why-your-grafana-dashboard-shows-no-data.md
Add 4 monitoring posts (EN + ZH): smartctl exit 32, Grafana no-data variable, percentage alert thresholds, one Prometheus for 3 hosts
2026-09-29 01:37:23 +08:00
why-your-headless-browser-cant-scrape-everything.md
Backdate evergreen posts to build a real archive span (EN+ZH)
2026-09-21 21:36:41 +08:00
your-disk-full-alert-is-lying.md
Add 4 monitoring posts (EN + ZH): smartctl exit 32, Grafana no-data variable, percentage alert thresholds, one Prometheus for 3 hosts
2026-09-29 01:37:23 +08:00