<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog on Chengyu Wang</title><link>https://chengyu.eu/categories/blog/</link><description>Recent content in Blog on Chengyu Wang</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 Chengyu</copyright><lastBuildDate>Tue, 18 Aug 2026 18:00:12 +0000</lastBuildDate><atom:link href="https://chengyu.eu/categories/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Building an Automatic Podcast Transcription and AI-Organizing System on My Synology NAS</title><link>https://chengyu.eu/posts/podcast-nas-ai-transcription-system/</link><pubDate>Tue, 18 Aug 2026 18:00:12 +0000</pubDate><guid>https://chengyu.eu/posts/podcast-nas-ai-transcription-system/</guid><description>Rather than trying to run Whisper locally on an underpowered NAS, I offloaded transcription to Cloudflare Workers AI and article cleanup to LiteLLM, turning the NAS into an automation hub with its own web player for listening, searching, and reading.</description></item><item><title>How Does a Machine "Figure Out" Something You Never Told It? A Look at Ontological Reasoning</title><link>https://chengyu.eu/posts/ontology-reasoning-explained/</link><pubDate>Fri, 14 Aug 2026 16:00:24 +0000</pubDate><guid>https://chengyu.eu/posts/ontology-reasoning-explained/</guid><description>Databases only know what you explicitly store; ontological reasoning lets a machine derive thousands of unstated facts from a handful of concept definitions — powerful, expensive to build, and increasingly paired with LLMs to keep each other&amp;rsquo;s weaknesses in check.</description></item><item><title>DSM 7.4 Upgrade Log: A Smooth Update With One Small Letdown</title><link>https://chengyu.eu/posts/dsm-7-4-upgrade-storage-efficiency/</link><pubDate>Mon, 20 Jul 2026 08:00:54 +0000</pubDate><guid>https://chengyu.eu/posts/dsm-7-4-upgrade-storage-efficiency/</guid><description>Community reports convinced me DSM 7.4 was stable enough to risk on a production NAS — the upgrade went flawlessly, but the one feature I actually wanted, Storage Efficiency, turned out to be locked out of older hardware entirely.</description></item><item><title>Tinkering Log: Getting New Tricks Out of a DJI 4G Module</title><link>https://chengyu.eu/posts/dji-4g-module-new-tricks/</link><pubDate>Fri, 10 Jul 2026 07:55:28 +0000</pubDate><guid>https://chengyu.eu/posts/dji-4g-module-new-tricks/</guid><description>A DJI 4G module identifies itself with a private USB ID that Linux won&amp;rsquo;t drive properly — spoofing it as a generic Quectel EC25 unlocked full modem support, and it ended up running SMS management on an OpenWrt router instead of the NAS.</description></item><item><title>Immich 3.0 Upgrade Log: Taking a DS218+ From 2.7 to 3.0</title><link>https://chengyu.eu/posts/immich-3-upgrade-ds218plus/</link><pubDate>Thu, 09 Jul 2026 18:00:12 +0000</pubDate><guid>https://chengyu.eu/posts/immich-3-upgrade-ds218plus/</guid><description>The official 3.0 release with built-in AI photo editing was tempting enough to risk an upgrade on a stable NAS setup — the process went smoothly, with the only surprise being a slow first-boot database migration that looked like a crash.</description></item><item><title>Tracking Down a Podsync 'Empty Duration' Crash: From a Bad Format String to Filling In the PO Token Gap</title><link>https://chengyu.eu/posts/podsync-po-token-crash-troubleshooting/</link><pubDate>Thu, 09 Jul 2026 14:08:34 +0000</pubDate><guid>https://chengyu.eu/posts/podsync-po-token-crash-troubleshooting/</guid><description>One feed kept crashing Podsync with a cryptic &amp;lsquo;bad format string&amp;rsquo; error — three wrong turns later, the real fix meant switching Docker images and realizing YouTube&amp;rsquo;s PO Token wasn&amp;rsquo;t actually being generated at all.</description></item><item><title>From a Compromised VPS to Building a Real Website Backup System</title><link>https://chengyu.eu/posts/vps-breach-to-backup-system/</link><pubDate>Fri, 03 Jul 2026 10:00:10 +0000</pubDate><guid>https://chengyu.eu/posts/vps-breach-to-backup-system/</guid><description>After cleaning up malware off a VPS, the bigger realization was that defense alone isn&amp;rsquo;t enough without recoverability — so I built a four-layer backup system covering local snapshots, scheduled automation, off-site NAS sync, and recovery documentation.</description></item><item><title>Reflections After a VPS Security Incident: From Discovery to Building a Full Monitoring System</title><link>https://chengyu.eu/posts/vps-security-incident-reflection/</link><pubDate>Thu, 02 Jul 2026 12:37:21 +0000</pubDate><guid>https://chengyu.eu/posts/vps-security-incident-reflection/</guid><description>A cryptomining-style trojan ran undetected on my Oracle Cloud VPS for nearly 20 days — the real lesson wasn&amp;rsquo;t fixing that one box, but realizing monitoring itself needs to be monitored.</description></item><item><title>From Dropbox to Seafile: Letting the Files on My NAS Slowly Grow Into a Knowledge Base</title><link>https://chengyu.eu/posts/dropbox-to-seafile-nas-knowledge-base/</link><pubDate>Mon, 15 Jun 2026 08:00:48 +0000</pubDate><guid>https://chengyu.eu/posts/dropbox-to-seafile-nas-knowledge-base/</guid><description>After bringing photos home to Immich, files were next — Seafile replaced Dropbox for syncing, then got paired with Open WebUI, RAG, and LiteLLM to turn a plain file store into a searchable, AI-queryable knowledge base.</description></item><item><title>From Google Photos and iCloud to Immich: Building My Own Photo Management Hub</title><link>https://chengyu.eu/posts/google-photos-icloud-to-immich-migration/</link><pubDate>Mon, 15 Jun 2026 08:00:36 +0000</pubDate><guid>https://chengyu.eu/posts/google-photos-icloud-to-immich-migration/</guid><description>Photos scattered across Google Photos, iCloud, a Huawei phone, a DJI drone, and action cameras finally got consolidated into one self-hosted, deduplicated Immich library — though my aging Synology DS218+ is starting to show its limits.</description></item><item><title>AutoReel: A NAS-Oriented Tool for Auto-Organizing Movie and TV Files</title><link>https://chengyu.eu/posts/autoreel-nas-media-organizer/</link><pubDate>Sun, 24 May 2026 22:00:08 +0000</pubDate><guid>https://chengyu.eu/posts/autoreel-nas-media-organizer/</guid><description>Built a small self-hosted tool that watches a download folder, identifies movies and TV episodes, and renames/moves them into an Emby/Jellyfin/Plex-friendly structure — deliberately conservative, preferring to flag unrecognized files rather than guess and rename wrong.</description></item><item><title>Podsync Monitoring and Alerts: Catching Failures Before Episodes Stop Updating</title><link>https://chengyu.eu/posts/podsync-monitoring-alerts/</link><pubDate>Tue, 05 May 2026 18:00:08 +0000</pubDate><guid>https://chengyu.eu/posts/podsync-monitoring-alerts/</guid><description>Self-hosted Podsync fails silently when YouTube cookies get rotated out — a simple log-scanning script paired with scheduled tasks now pushes an alert within 10 minutes, plus twice-daily download reports.</description></item><item><title>Gauging Coding Models' Real Reputation Through Hacker News</title><link>https://chengyu.eu/posts/hacker-news-coding-model-reputation/</link><pubDate>Mon, 04 May 2026 22:00:09 +0000</pubDate><guid>https://chengyu.eu/posts/hacker-news-coding-model-reputation/</guid><description>A site that runs AI sentiment analysis on real Hacker News developer comments, rather than benchmark scores — Claude comes out on top for engineering sense, GPT close behind, with DeepSeek a notable dark horse.</description></item><item><title>Building My Own Information Feed Hub With TrendRadar</title><link>https://chengyu.eu/posts/trendradar-information-feed-hub/</link><pubDate>Mon, 04 May 2026 21:00:13 +0000</pubDate><guid>https://chengyu.eu/posts/trendradar-information-feed-hub/</guid><description>Too many English finance and tech RSS feeds to skim by hand — TrendRadar, an open-source aggregator, filters, translates, and summarizes them via AI, then pushes the results to Telegram.</description></item><item><title>Fixing a Broken Cover Image in My Podcast RSS Feeds</title><link>https://chengyu.eu/posts/fixing-podcast-rss-cover-image/</link><pubDate>Mon, 04 May 2026 20:00:08 +0000</pubDate><guid>https://chengyu.eu/posts/fixing-podcast-rss-cover-image/</guid><description>One podcast pipeline&amp;rsquo;s cover art broke when its external image URL died; the fix was routing RSS cover URLs through a single local-file method, plus a couple of quality-of-life tweaks for a language-learning audio feed.</description></item><item><title>How I Rebuilt My Hermes Assistant So My Life's Domains Stop Bleeding Into Each Other</title><link>https://chengyu.eu/posts/hermes-domain-isolation-optimization/</link><pubDate>Wed, 29 Apr 2026 10:00:06 +0000</pubDate><guid>https://chengyu.eu/posts/hermes-domain-isolation-optimization/</guid><description>Investing talk kept leaking into work notes and vice versa — the fix was splitting Hermes into a router plus dedicated stock, work, diary, and life sub-assistants, each with its own knowledge base partition and a strict no-cross-referencing prompt.</description></item><item><title>Podsync Download Troubleshooting Diary</title><link>https://chengyu.eu/posts/podsync-cookie-troubleshooting-diary/</link><pubDate>Wed, 29 Apr 2026 09:00:07 +0000</pubDate><guid>https://chengyu.eu/posts/podsync-cookie-troubleshooting-diary/</guid><description>Podsync started throwing YouTube bot-verification and rate-limit errors — the fix was exporting browser cookies into the container&amp;rsquo;s mounted data directory and wiring them into yt-dlp&amp;rsquo;s args.</description></item><item><title>ChatGPT Images 2.0 Launched — Here's How It Performs</title><link>https://chengyu.eu/posts/chatgpt-images-2-first-look/</link><pubDate>Thu, 23 Apr 2026 22:00:19 +0000</pubDate><guid>https://chengyu.eu/posts/chatgpt-images-2-first-look/</guid><description>Four quick tests of the new ChatGPT Images 2.0: visualizing my current life as the AI understands it, an imagined retirement, a comic-strip take on a 2013 journal entry about orchids, and a PowerPoint-generation test.</description></item><item><title>This Weekend I Finally Built the Three-Part AI System I'd Been Thinking About</title><link>https://chengyu.eu/posts/trinity-ai-system-weekend-build/</link><pubDate>Mon, 20 Apr 2026 02:01:20 +0000</pubDate><guid>https://chengyu.eu/posts/trinity-ai-system-weekend-build/</guid><description>A personal assistant on the home NAS, a home assistant tied into an investment system, and an intelligence-gathering agent on a VPS — three modules starting to work together as a real perception-cognition-action loop, not just a pile of tools.</description></item><item><title>Getting LiteLLM's Model Routing Set Up Properly</title><link>https://chengyu.eu/posts/litellm-model-routing-config/</link><pubDate>Sun, 19 Apr 2026 23:00:11 +0000</pubDate><guid>https://chengyu.eu/posts/litellm-model-routing-config/</guid><description>A full writeup of the LiteLLM gateway config behind my AI stack — free NVIDIA NIM and OpenRouter models as the safety net, cheap paid models like DeepSeek V3 for daily use, and Claude Sonnet as an on-demand top-tier fallback.</description></item><item><title>Migrating Hermes to My Synology NAS</title><link>https://chengyu.eu/posts/hermes-synology-nas-deployment/</link><pubDate>Sun, 19 Apr 2026 22:00:12 +0000</pubDate><guid>https://chengyu.eu/posts/hermes-synology-nas-deployment/</guid><description>After getting Hermes running on a VPS, I moved it to my Synology NAS instead so it could gradually gain access to household journal and investment data as an internal AI hub — and redesigned the model routing along the way.</description></item><item><title>Hermes: Setting Up My New AI Assistant</title><link>https://chengyu.eu/posts/hermes-new-ai-assistant-setup/</link><pubDate>Sun, 19 Apr 2026 01:00:07 +0000</pubDate><guid>https://chengyu.eu/posts/hermes-new-ai-assistant-setup/</guid><description>OpenClaw&amp;rsquo;s buzz is fading and everyone&amp;rsquo;s talking about Hermes — its token compression alone (50%+, reportedly up to 70% in some cases) was reason enough to spin up a VPS and try it.</description></item><item><title>Testing Models Against a Real Use Case, Not Just Benchmarks</title><link>https://chengyu.eu/posts/testing-pt-pt-language-models-real-scenario/</link><pubDate>Sat, 18 Apr 2026 17:00:16 +0000</pubDate><guid>https://chengyu.eu/posts/testing-pt-pt-language-models-real-scenario/</guid><description>Blind-testing two Ollama models against real CIPLE A2 Portuguese-exam questions, the well-documented, benchmark-topping model lost badly to an obscure community fine-tune — because the benchmarks were measuring Brazilian Portuguese, not European.</description></item><item><title>Build From What Already Exists, Then Generate: An AI Audit-Rules Project</title><link>https://chengyu.eu/posts/audit-rules-ai-existing-assets-first/</link><pubDate>Sat, 18 Apr 2026 10:01:41 +0000</pubDate><guid>https://chengyu.eu/posts/audit-rules-ai-existing-assets-first/</guid><description>Writing the plan for an AI-generated audit-rules project, we chose to reverse-engineer rules from years of proven production scripts rather than rebuilding a rule system from raw data and business logic.</description></item><item><title>VibeVoice Setup Diary (ASR + TTS Exploration)</title><link>https://chengyu.eu/posts/vibevoice-asr-tts-setup-diary/</link><pubDate>Sat, 18 Apr 2026 10:01:18 +0000</pubDate><guid>https://chengyu.eu/posts/vibevoice-asr-tts-setup-diary/</guid><description>Setting up Microsoft&amp;rsquo;s VibeVoice to test audio-to-subtitle generation and text-to-speech: the ASR side (multi-speaker SRT generation) turned out production-ready, while TTS — especially Chinese — wasn&amp;rsquo;t there yet.</description></item><item><title>Tracking Down Why My Ubuntu Server Kept Auto-Restarting After Shutdown, Post Wake-on-LAN Setup</title><link>https://chengyu.eu/posts/ubuntu-wol-shutdown-auto-restart-fix/</link><pubDate>Sat, 18 Apr 2026 09:00:08 +0000</pubDate><guid>https://chengyu.eu/posts/ubuntu-wol-shutdown-auto-restart-fix/</guid><description>A GPU server configured for Wake-on-LAN would shut down cleanly, then reboot itself ~10 seconds later — the culprit was ACPI wakeup left enabled on the network card, letting ordinary LAN broadcast traffic trigger a wake, not just the magic packet.</description></item><item><title>RemNote's iPhone Flashcard Text Too Small? Fixed It With CSS</title><link>https://chengyu.eu/posts/remnote-ios-flashcard-font-size-css/</link><pubDate>Tue, 14 Apr 2026 10:28:54 +0000</pubDate><guid>https://chengyu.eu/posts/remnote-ios-flashcard-font-size-css/</guid><description>RemNote&amp;rsquo;s iOS app has no font-size setting for flashcards — after confirming custom CSS actually gets through the WebView, a couple of targeted selectors made the card text readable without touching the rest of the UI.</description></item><item><title>OpenClaw's Weekend "Zero-Cost" Overhaul</title><link>https://chengyu.eu/posts/openclaw-weekend-zero-cost-overhaul/</link><pubDate>Sat, 11 Apr 2026 17:33:00 +0000</pubDate><guid>https://chengyu.eu/posts/openclaw-weekend-zero-cost-overhaul/</guid><description>When my free Google Cloud credits ran out and Gemini started rate-limiting, I rebuilt OpenClaw&amp;rsquo;s model chain into a three-tier free-and-cheap failover setup — and rethought which use cases were still worth the tokens.</description></item><item><title>Breaking Free: Batch-Migrating OnePlus Notes With Claude in Chrome</title><link>https://chengyu.eu/posts/batch-migrating-oneplus-notes/</link><pubDate>Sun, 15 Mar 2026 14:45:00 +0000</pubDate><guid>https://chengyu.eu/posts/batch-migrating-oneplus-notes/</guid><description>When ad-stuffed &amp;lsquo;phone switching&amp;rsquo; apps couldn&amp;rsquo;t move 352 notes to a new Huawei phone, reverse-engineering the OnePlus cloud web app&amp;rsquo;s API and scripting it through Claude&amp;rsquo;s Chrome extension got the job done in 20 minutes.</description></item><item><title>Optimizing OpenClaw's Quiz Response Speed</title><link>https://chengyu.eu/posts/openclaw-quiz-speed-optimization/</link><pubDate>Sun, 15 Mar 2026 00:04:00 +0000</pubDate><guid>https://chengyu.eu/posts/openclaw-quiz-speed-optimization/</guid><description>Adding a quiz question was taking 2-3 minutes and getting slower over time — the fix was switching the data file from a JSON array to NDJSON so new items append in one line instead of a full rewrite.</description></item><item><title>Chasing Down OpenClaw's Slow-Reply Problem: Auth Profiles and Session Stickiness</title><link>https://chengyu.eu/posts/openclaw-api-rate-limit-fix/</link><pubDate>Sat, 14 Mar 2026 22:00:47 +0000</pubDate><guid>https://chengyu.eu/posts/openclaw-api-rate-limit-fix/</guid><description>Adding more API keys didn&amp;rsquo;t fix the slowdowns — the real issue was a key that existed in secrets but was never registered for failover, plus session pinning that kept using the same key after a restart.</description></item><item><title>Is OpenClaw Actually Worth Installing?</title><link>https://chengyu.eu/posts/is-openclaw-worth-it/</link><pubDate>Thu, 12 Mar 2026 09:00:22 +0000</pubDate><guid>https://chengyu.eu/posts/is-openclaw-worth-it/</guid><description>An honest review after months of daily use, from when it was still called ClawdBot: genuinely useful for memory, reminders, and lightweight investing research — but with real drift and security caveats.</description></item><item><title>Trying Out Claude's Finance Analysis Feature on NVDA</title><link>https://chengyu.eu/posts/claude-finance-analysis-nvda-demo/</link><pubDate>Thu, 26 Feb 2026 18:00:24 +0000</pubDate><guid>https://chengyu.eu/posts/claude-finance-analysis-nvda-demo/</guid><description>Setting up Claude&amp;rsquo;s Finance Analysis tool through Cowork, then having it produce a full comps-based valuation report on NVIDIA against AMD, Broadcom, Qualcomm, Marvell, and Intel.</description></item><item><title>NVIDIA's Blackwell Architecture, Explained</title><link>https://chengyu.eu/posts/nvidia-blackwell-architecture/</link><pubDate>Thu, 26 Feb 2026 06:00:06 +0000</pubDate><guid>https://chengyu.eu/posts/nvidia-blackwell-architecture/</guid><description>Two full-reticle dies fused into one GPU, FP4 inference, and a fifth-generation NVLink that connects up to 576 GPUs — the architecture behind NVIDIA&amp;rsquo;s &amp;lsquo;AI factory&amp;rsquo; strategy.</description></item><item><title>Idea to Blog, WeChat, and Short Video in One Shot With OpenClaw + macOS</title><link>https://chengyu.eu/posts/openclaw-macos-idea-to-video-pipeline/</link><pubDate>Thu, 26 Feb 2026 05:00:35 +0000</pubDate><guid>https://chengyu.eu/posts/openclaw-macos-idea-to-video-pipeline/</guid><description>Moving OpenClaw off a Linux VPS and onto a hackintosh, then adding NotebookLM&amp;rsquo;s CLI to turn a finished blog post into a narrated slide video automatically.</description></item><item><title>The Real Variable in the AI Era Isn't a Recession — It's Wealth Redistribution</title><link>https://chengyu.eu/posts/ai-era-wealth-redistribution/</link><pubDate>Wed, 25 Feb 2026 11:41:00 +0000</pubDate><guid>https://chengyu.eu/posts/ai-era-wealth-redistribution/</guid><description>Reacting to Citrini Research&amp;rsquo;s viral 2028 doom scenario: technological revolutions have never shrunk the economy, but the gap between people who can afford frontier AI and those who can&amp;rsquo;t is opening faster than any previous divide.</description></item><item><title>OpenClaw × Blog × WeChat: Wiring Up a Full Automation Pipeline</title><link>https://chengyu.eu/posts/openclaw-blog-wechat-automation/</link><pubDate>Mon, 23 Feb 2026 10:00:08 +0000</pubDate><guid>https://chengyu.eu/posts/openclaw-blog-wechat-automation/</guid><description>From a rough idea in OpenClaw to a published blog post to a WeChat Official Account draft — with a VPS script standing in as the bridge and quietly fixing WeChat&amp;rsquo;s image hotlink problem along the way.</description></item><item><title>Configuring Blogwatcher, for a Wider View</title><link>https://chengyu.eu/posts/configuring-blogwatcher/</link><pubDate>Thu, 12 Feb 2026 15:00:10 +0000</pubDate><guid>https://chengyu.eu/posts/configuring-blogwatcher/</guid><description>Watching an AI-curated information feed surface a YC &amp;rsquo;ex technical founder&amp;rsquo; listing made one thing click: the real skill now is building systems with AI, not just using it.</description></item><item><title>Connecting Clawdbot to Obsidian, Apple Notes, and Everything Else</title><link>https://chengyu.eu/posts/clawdbot-obsidian-apple-notes-integration/</link><pubDate>Thu, 12 Feb 2026 11:00:12 +0000</pubDate><guid>https://chengyu.eu/posts/clawdbot-obsidian-apple-notes-integration/</guid><description>Voice in, an Obsidian note out, a blog post and short video out the other end automatically — plus Apple Notes, Google Sheets, and an email pipeline running hands-free.</description></item><item><title>Three Models, All Working for Me Now</title><link>https://chengyu.eu/posts/three-models-working-for-me/</link><pubDate>Wed, 11 Feb 2026 09:00:07 +0000</pubDate><guid>https://chengyu.eu/posts/three-models-working-for-me/</guid><description>Codex writes the code fast, Claude Code audits it, Gemini plugs into OpenClaw as a tool, NotebookLM organizes notes, and Nanobanana handles visuals — a small AI production line.</description></item><item><title>Weekend Chaos: Auto-Login Broke My Hackintosh, and AI Talked Me Back In</title><link>https://chengyu.eu/posts/hackintosh-autologin-breakage-ai-fix/</link><pubDate>Mon, 09 Feb 2026 16:00:12 +0000</pubDate><guid>https://chengyu.eu/posts/hackintosh-autologin-breakage-ai-fix/</guid><description>One innocent auto-login setting later, my Mac mini hackintosh was stuck in a boot loop — a night of Gemini-guided EFI edits, a networkless recovery dead end, and a reinstall that saved my data.</description></item><item><title>Programming Is Just Typing — Your Experience Is the Real Asset</title><link>https://chengyu.eu/posts/programming-is-just-typing/</link><pubDate>Sun, 08 Feb 2026 14:00:29 +0000</pubDate><guid>https://chengyu.eu/posts/programming-is-just-typing/</guid><description>My notes on Jensen Huang&amp;rsquo;s unusually candid remarks at a 2026 AI summit: syntax stopped being the moat, and domain expertise became the whole game.</description></item><item><title>AI Benchmarks: Opus 4.6 vs. GPT-5.2 vs. Gemini 3 Pro, Head to Head</title><link>https://chengyu.eu/posts/ai-benchmark-opus-gpt-gemini/</link><pubDate>Sun, 08 Feb 2026 14:00:22 +0000</pubDate><guid>https://chengyu.eu/posts/ai-benchmark-opus-gpt-gemini/</guid><description>A benchmark chart making the rounds shows large models shifting from chatbots to agents — with Opus 4.6 dominating agentic computer use, GPT-5.2 still king of pure reasoning, and Gemini 3 Pro owning vision and multilingual work.</description></item><item><title>"Code Is Dead"? What Building a Platform and App Solo With AI Actually Taught Me</title><link>https://chengyu.eu/posts/solo-ai-built-platform-and-app/</link><pubDate>Sun, 08 Feb 2026 12:00:11 +0000</pubDate><guid>https://chengyu.eu/posts/solo-ai-built-platform-and-app/</guid><description>Codex framed the app, Cursor did the surgical edits, and a working SIP call-center app got built by one person — the rough UI is the actual lesson here.</description></item><item><title>Deleting My Fine-Tuning Notes: From 'Taming a Model' to 'Steering a Process'</title><link>https://chengyu.eu/posts/deleting-fine-tuning-notes/</link><pubDate>Sun, 08 Feb 2026 03:00:07 +0000</pubDate><guid>https://chengyu.eu/posts/deleting-fine-tuning-notes/</guid><description>Clearing out a year-old Obsidian folder on model fine-tuning made the shift obvious: from chasing model capability to chasing business results through workflow and RAG.</description></item><item><title>Tech Log: Chasing Down a Hijacked LAN Route on macOS</title><link>https://chengyu.eu/posts/macos-lan-route-hijack-fix/</link><pubDate>Thu, 05 Feb 2026 11:00:06 +0000</pubDate><guid>https://chengyu.eu/posts/macos-lan-route-hijack-fix/</guid><description>A NAS on 192.168.5.x went unreachable with &amp;lsquo;No route to host&amp;rsquo; — the culprit was a leftover feth interface from an ad-blocker&amp;rsquo;s content-filter extension that never fully uninstalled.</description></item><item><title>My AI Content Workflow: From Logic Outline to a High-Quality Deck</title><link>https://chengyu.eu/posts/ai-content-workflow-outline-to-slides/</link><pubDate>Wed, 04 Feb 2026 23:00:38 +0000</pubDate><guid>https://chengyu.eu/posts/ai-content-workflow-outline-to-slides/</guid><description>A three-step pipeline — outline with Gemini, flesh out a transcript, then let NotebookLM turn both into a presentation — that cut a week of course prep down to a day or two.</description></item><item><title>Ops Diary: Expanding My Hyonix VPS</title><link>https://chengyu.eu/posts/hyonix-vps-expansion/</link><pubDate>Wed, 04 Feb 2026 22:00:21 +0000</pubDate><guid>https://chengyu.eu/posts/hyonix-vps-expansion/</guid><description>A WSL2 dead end on an old Windows Server 1809 box turned into a pleasant surprise: one support ticket doubled the disk quota on a four-year-old VPS.</description></item><item><title>Two Days Deep in Moltbot: AI Is Reshaping the Deploy-Configure-Use Path</title><link>https://chengyu.eu/posts/moltbot-two-days-deploy-configure-use/</link><pubDate>Fri, 30 Jan 2026 11:00:21 +0000</pubDate><guid>https://chengyu.eu/posts/moltbot-two-days-deploy-configure-use/</guid><description>Watching an agent diagnose its own missed schedule, switch itself from passive to active wake mode, and confirm the fix — without me tracing a single step of it myself.</description></item><item><title>A Failed Attempt: Tracking a Google Account Suspension and Appeal</title><link>https://chengyu.eu/posts/google-account-suspension-appeal/</link><pubDate>Thu, 29 Jan 2026 15:00:09 +0000</pubDate><guid>https://chengyu.eu/posts/google-account-suspension-appeal/</guid><description>Registered a new Google account to pay for steadier API access after hitting rate limits on the free tier — and got flagged as bot-created within a day of paying.</description></item><item><title>Forcing HTTPS on My Typecho Blog on Tencent Cloud Lighthouse</title><link>https://chengyu.eu/posts/forcing-https-typecho-tencent-lighthouse/</link><pubDate>Wed, 28 Jan 2026 22:20:13 +0000</pubDate><guid>https://chengyu.eu/posts/forcing-https-typecho-tencent-lighthouse/</guid><description>The blog answered on both HTTP and HTTPS at once — tracking down the default_server catching every HTTP request and rewriting it into a clean 301 chain to a single canonical domain.</description></item><item><title>Clawdbot 2026: VPS Deployment and Hardening Diary</title><link>https://chengyu.eu/posts/clawdbot-2026-vps-deployment/</link><pubDate>Wed, 28 Jan 2026 21:59:54 +0000</pubDate><guid>https://chengyu.eu/posts/clawdbot-2026-vps-deployment/</guid><description>Working around a broken systemd installer, teaching a model to fetch stock data itself when the plugin store isn&amp;rsquo;t reachable, and locking the firewall down to SSH-only.</description></item><item><title>Today's Ops Log: Switching AI Tools and Reworking the Network</title><link>https://chengyu.eu/posts/todays-ops-log-codex-network-podsync/</link><pubDate>Fri, 23 Jan 2026 15:00:18 +0000</pubDate><guid>https://chengyu.eu/posts/todays-ops-log-codex-network-podsync/</guid><description>Moving from Cursor to OpenAI Codex, two days spent simplifying the network layout, a fix for Podsync&amp;rsquo;s YouTube rate-limiting, and a disposable-container trick for benchmarking a NAS.</description></item><item><title>Fully Uninstalling Squirrel (Rime) on macOS</title><link>https://chengyu.eu/posts/uninstalling-rime-macos/</link><pubDate>Thu, 22 Jan 2026 12:00:27 +0000</pubDate><guid>https://chengyu.eu/posts/uninstalling-rime-macos/</guid><description>Going back to native macOS input plus voice dictation, and the full teardown needed since deleting the app alone leaves the input method partially resident.</description></item><item><title>Making Caddy Reverse-Proxy FreePBX Alongside Another Internal Web Service</title><link>https://chengyu.eu/posts/caddy-reverse-proxy-freepbx/</link><pubDate>Wed, 21 Jan 2026 23:00:24 +0000</pubDate><guid>https://chengyu.eu/posts/caddy-reverse-proxy-freepbx/</guid><description>FreePBX kept redirecting the browser back to its raw :8080 port even behind a reverse proxy — the fix was rewriting the Location header on the way out, not just spoofing headers going in.</description></item><item><title>Switching My Blog to a Free ACME Certificate</title><link>https://chengyu.eu/posts/switching-blog-to-acme-certificate/</link><pubDate>Wed, 21 Jan 2026 17:00:07 +0000</pubDate><guid>https://chengyu.eu/posts/switching-blog-to-acme-certificate/</guid><description>Tired of Tencent Cloud&amp;rsquo;s free certificate silently expiring and needing manual re-binding, I moved my Typecho blog over to acme.sh via a Gitee mirror instead.</description></item><item><title>From Dragging Nodes to Stating Intent: Claude Skills Is Ending the Old AI Workflow Era</title><link>https://chengyu.eu/posts/claude-skills-vs-ai-workflows/</link><pubDate>Wed, 21 Jan 2026 10:00:12 +0000</pubDate><guid>https://chengyu.eu/posts/claude-skills-vs-ai-workflows/</guid><description>Why describing what you want in plain language and letting Claude auto-apply a Skill beats another afternoon spent wiring up nodes in Dify, n8n, or Coze.</description></item><item><title>FreePBX Deployment Diary #3: The First Successful Test Call</title><link>https://chengyu.eu/posts/freepbx-diary-3-first-test-call/</link><pubDate>Mon, 19 Jan 2026 00:01:07 +0000</pubDate><guid>https://chengyu.eu/posts/freepbx-diary-3-first-test-call/</guid><description>Creating extensions, getting UDP registration working first, then chasing down a misleading &amp;lsquo;wrong password&amp;rsquo; error that was actually a TLS transport and certificate mismatch.</description></item><item><title>FreePBX Deployment Diary #2: HTTPS and Automatic Backups</title><link>https://chengyu.eu/posts/freepbx-diary-2-https-backup/</link><pubDate>Sun, 18 Jan 2026 20:00:47 +0000</pubDate><guid>https://chengyu.eu/posts/freepbx-diary-2-https-backup/</guid><description>Getting Let&amp;rsquo;s Encrypt working on the admin panel and setting up a weekly automatic backup — the two unglamorous steps that make a FreePBX box actually production-ready.</description></item><item><title>TPU vs. GPU: A Deep Dive, and Who's Actually Using TPUs</title><link>https://chengyu.eu/posts/tpu-vs-gpu-deep-dive/</link><pubDate>Sun, 18 Jan 2026 17:00:08 +0000</pubDate><guid>https://chengyu.eu/posts/tpu-vs-gpu-deep-dive/</guid><description>GPUs are the flexible all-rounder with a mature ecosystem; TPUs are the specialist that&amp;rsquo;s brutally efficient at large-scale matrix math — plus a rundown of who actually trains on TPUs.</description></item><item><title>What Two AI Models Concluded From My Accident's Dashcam Footage</title><link>https://chengyu.eu/posts/tesla-accident-ai-physics-analysis/</link><pubDate>Sun, 18 Jan 2026 15:01:38 +0000</pubDate><guid>https://chengyu.eu/posts/tesla-accident-ai-physics-analysis/</guid><description>Asking Gemini Pro and ChatGPT 5.2 to do an engineering-style read on whether emergency braking was slow to react — and what the physics of a &amp;lsquo;ghost probe&amp;rsquo; collision actually allow.</description></item><item><title>FreePBX Deployment Diary #1: Install and Network Setup</title><link>https://chengyu.eu/posts/freepbx-diary-1-install-network/</link><pubDate>Sun, 18 Jan 2026 00:01:12 +0000</pubDate><guid>https://chengyu.eu/posts/freepbx-diary-1-install-network/</guid><description>First contact with FreePBX 17 on Debian — a Vultr trial instance, the official one-shot install script, and the firewall gotcha that can lock you out of your own server.</description></item><item><title>Head-to-Head: How Mainstream AI Models Judge a Real Traffic Accident</title><link>https://chengyu.eu/posts/ai-models-traffic-accident-liability/</link><pubDate>Thu, 15 Jan 2026 18:51:39 +0000</pubDate><guid>https://chengyu.eu/posts/ai-models-traffic-accident-liability/</guid><description>After my own Tesla was hit by a car pulling out from under a bridge, I ran the accident photo past ChatGPT, Gemini, Grok, Copilot, Claude, and a few domestic models to see which ones actually got liability right.</description></item><item><title>When AI Starts Thinking Like a Designer: Comparing Gemini, Claude Opus, and GPT on a Real Redesign</title><link>https://chengyu.eu/posts/ai-blog-redesign-model-comparison/</link><pubDate>Wed, 07 Jan 2026 12:00:14 +0000</pubDate><guid>https://chengyu.eu/posts/ai-blog-redesign-model-comparison/</guid><description>Three models, one vague brief to redesign a blog&amp;rsquo;s UX, visuals, and SEO — and a clear split between models that plan first and models that just ship a result.</description></item><item><title>Looking Again at NVIDIA's Real Logic After CES 2026</title><link>https://chengyu.eu/posts/nvidia-ces-2026-token-economics/</link><pubDate>Wed, 07 Jan 2026 12:00:00 +0000</pubDate><guid>https://chengyu.eu/posts/nvidia-ces-2026-token-economics/</guid><description>Jensen Huang&amp;rsquo;s keynote wasn&amp;rsquo;t really about FLOPS — it was about token cost, and NVIDIA quietly shifting from selling chips to selling the entire stack.</description></item><item><title>Veo 3.1 vs. Jimeng: Stress-Testing an Image-to-Video AI Workflow</title><link>https://chengyu.eu/posts/veo-3-1-vs-jimeng-video-test/</link><pubDate>Thu, 18 Dec 2025 18:02:01 +0000</pubDate><guid>https://chengyu.eu/posts/veo-3-1-vs-jimeng-video-test/</guid><description>The same prompt, two video models — one produced a slightly rough transition clip, the other gave a character a 180-degree head spin.</description></item><item><title>Setting Up Squirrel + Rime-Ice: My New macOS Input Method</title><link>https://chengyu.eu/posts/squirrel-rime-ice-input-method/</link><pubDate>Thu, 18 Dec 2025 18:00:36 +0000</pubDate><guid>https://chengyu.eu/posts/squirrel-rime-ice-input-method/</guid><description>Native-smooth typing, a dictionary that actually keeps up with slang, and built-in emoji/spacing niceties — Rime finally out of the box.</description></item><item><title>Registering an Indian Apple ID, the Roundabout Way</title><link>https://chengyu.eu/posts/india-apple-id-the-roundabout-way/</link><pubDate>Thu, 18 Dec 2025 10:00:19 +0000</pubDate><guid>https://chengyu.eu/posts/india-apple-id-the-roundabout-way/</guid><description>Registering an Indian Apple ID directly kept failing — the fix was registering a Chinese account with no proxy first, then switching region afterward.</description></item><item><title>A Simple, Solid macOS Cleanup Tool: Mole</title><link>https://chengyu.eu/posts/mole-macos-cleanup-tool/</link><pubDate>Tue, 16 Dec 2025 07:00:36 +0000</pubDate><guid>https://chengyu.eu/posts/mole-macos-cleanup-tool/</guid><description>A restrained, transparent command-line cleaner for leftover app files and system/dev caches — scan first, then clean, nothing automatic or hidden.</description></item><item><title>First Day With GPT-5, and How AI Has Changed My Daily Life</title><link>https://chengyu.eu/posts/gpt-5-first-day-impressions/</link><pubDate>Fri, 08 Aug 2025 17:00:09 +0000</pubDate><guid>https://chengyu.eu/posts/gpt-5-first-day-impressions/</guid><description>From debugging code to language practice to research, ChatGPT has quietly become a daily-use tool rather than a novelty.</description></item><item><title>Fixing an Exposed Directory Listing in My Podsync Docker Service</title><link>https://chengyu.eu/posts/podsync-directory-exposure-fix/</link><pubDate>Wed, 09 Jul 2025 11:00:06 +0000</pubDate><guid>https://chengyu.eu/posts/podsync-directory-exposure-fix/</guid><description>A missing index.html meant Podsync&amp;rsquo;s web server was serving up a full directory listing of everything it had synced — here&amp;rsquo;s the one-file fix.</description></item><item><title>100 Projects Before I Retire, #6: A Real-Time Refreshing Asset Dashboard</title><link>https://chengyu.eu/posts/realtime-asset-dashboard/</link><pubDate>Wed, 09 Jul 2025 10:00:11 +0000</pubDate><guid>https://chengyu.eu/posts/realtime-asset-dashboard/</guid><description>A small web app for tracking multi-currency assets, with live exchange rates, category and currency breakdown charts, and inline editing.</description></item><item><title>100 Projects Before I Retire, #5: A Language-Learning App Built on Nursery Rhymes and Fairy Tales</title><link>https://chengyu.eu/posts/android-language-learning-app/</link><pubDate>Tue, 17 Jun 2025 19:00:08 +0000</pubDate><guid>https://chengyu.eu/posts/android-language-learning-app/</guid><description>Frustrated by bloated, ad-filled kids&amp;rsquo; language apps, I built a clean native Android app that loads curated foreign-language rhymes and stories through a WebView.</description></item><item><title>100 Projects Before I Retire, #4: A MinIO Object Storage Service</title><link>https://chengyu.eu/posts/minio-object-storage-project/</link><pubDate>Mon, 16 Jun 2025 09:00:05 +0000</pubDate><guid>https://chengyu.eu/posts/minio-object-storage-project/</guid><description>Turning a cheap, low-spec server into a dedicated S3-compatible object store for images, audio, and video, instead of hosting another website on it.</description></item><item><title>Agents vs. Workflows: What's the Actual Difference?</title><link>https://chengyu.eu/posts/agents-vs-workflows/</link><pubDate>Fri, 13 Jun 2025 16:00:16 +0000</pubDate><guid>https://chengyu.eu/posts/agents-vs-workflows/</guid><description>A drag-and-drop OCR-plus-LLM tool got me thinking about where a workflow ends and an agent begins — with a simple three-question test.</description></item><item><title>Swapping My Parents' ISP Router for a Spare Xiaomi Router (an AP-to-Router-Mode Story)</title><link>https://chengyu.eu/posts/xiaomi-router-ap-to-router-mode/</link><pubDate>Wed, 11 Jun 2025 11:00:20 +0000</pubDate><guid>https://chengyu.eu/posts/xiaomi-router-ap-to-router-mode/</guid><description>A router that stubbornly stayed in AP mode after being moved, and the DHCP debugging it took to switch it back.</description></item><item><title>Reviving a Shelved Router: Reflashing a GL-SFT1200</title><link>https://chengyu.eu/posts/gl-sft1200-router-reflash/</link><pubDate>Wed, 11 Jun 2025 11:00:16 +0000</pubDate><guid>https://chengyu.eu/posts/gl-sft1200-router-reflash/</guid><description>A painfully slow GL.iNet Opal, rescued from a drawer with a two-step official firmware upgrade instead of a U-Boot flash.</description></item><item><title>Building a Smart Customer-Service Agent with Qwen-Agent</title><link>https://chengyu.eu/posts/qwen-agent-smart-customer-service/</link><pubDate>Wed, 11 Jun 2025 11:00:12 +0000</pubDate><guid>https://chengyu.eu/posts/qwen-agent-smart-customer-service/</guid><description>A telecom customer-service example — using Tools for live data lookups and a knowledge base for static rules, with an LLM deciding which to call.</description></item><item><title>Debugging a Broken Homepage: When a .mov File Got Treated as a Cover Image</title><link>https://chengyu.eu/posts/obsidian-typecho-video-cover-bug/</link><pubDate>Tue, 10 Jun 2025 16:00:09 +0000</pubDate><guid>https://chengyu.eu/posts/obsidian-typecho-video-cover-bug/</guid><description>A cover-image extractor that grabbed the first &lt;img&gt; tag without checking it was actually an image — and broke the homepage whenever a post embedded video.</description></item><item><title>A Night With Google's New Video-Generation Model</title><link>https://chengyu.eu/posts/testing-google-video-model/</link><pubDate>Mon, 09 Jun 2025 18:02:39 +0000</pubDate><guid>https://chengyu.eu/posts/testing-google-video-model/</guid><description>Eight-second clips, decent visual richness, and Chinese text prompts that either get dropped or come out garbled.</description></item><item><title>Cursor Is Giving Away Three Months of Pro</title><link>https://chengyu.eu/posts/cursor-three-months-pro-free/</link><pubDate>Mon, 09 Jun 2025 14:00:52 +0000</pubDate><guid>https://chengyu.eu/posts/cursor-three-months-pro-free/</guid><description>A quick look at why the AI coding editor everyone&amp;rsquo;s been talking about is worth the free trial.</description></item><item><title>Starting Today, I'm a Google AI Pro Subscriber</title><link>https://chengyu.eu/posts/subscribing-google-ai-pro/</link><pubDate>Mon, 09 Jun 2025 14:00:36 +0000</pubDate><guid>https://chengyu.eu/posts/subscribing-google-ai-pro/</guid><description>Google I/O 2025 rebuilt every product around AI — enough to pull a committed OpenAI user over to a Pro subscription.</description></item><item><title>Clay-Style 3D Art, Made with OpenAI</title><link>https://chengyu.eu/posts/openai-clay-style-3d-art/</link><pubDate>Mon, 09 Jun 2025 14:00:24 +0000</pubDate><guid>https://chengyu.eu/posts/openai-clay-style-3d-art/</guid><description>Comparing Gemini&amp;rsquo;s and OpenAI&amp;rsquo;s image generation on the same blurry wall painting, then pushing the same subject into a 3D clay-render style.</description></item><item><title>Perplexity Pro, Free for a Year</title><link>https://chengyu.eu/posts/perplexity-pro-free-year-code/</link><pubDate>Mon, 09 Jun 2025 14:00:10 +0000</pubDate><guid>https://chengyu.eu/posts/perplexity-pro-free-year-code/</guid><description>Perplexity has joined the AI subsidy wars — a full year of Pro for free with a discount code, plus the usual advice to turn off auto-renewal.</description></item><item><title>Bored, So I Coded Up My Own Voice Clone</title><link>https://chengyu.eu/posts/diy-voice-cloning-project/</link><pubDate>Sat, 10 May 2025 10:00:18 +0000</pubDate><guid>https://chengyu.eu/posts/diy-voice-cloning-project/</guid><description>An open-source voice cloning project on a consumer GPU, then wired into my publishing pipeline so blog posts turn into short videos automatically.</description></item><item><title>Running Unlimited AI Translation Locally with Qwen3 4B</title><link>https://chengyu.eu/posts/qwen3-4b-unlimited-local-translation/</link><pubDate>Fri, 09 May 2025 18:00:21 +0000</pubDate><guid>https://chengyu.eu/posts/qwen3-4b-unlimited-local-translation/</guid><description>Pairing a small local Qwen3 4B model with Immersive Translate for a private, uncapped translation setup — plus a prompt trick that speeds it up.</description></item><item><title>Playing Around With ChatGPT-4o's New Photo Editing</title><link>https://chengyu.eu/posts/chatgpt-4o-photo-editing-fun/</link><pubDate>Wed, 26 Mar 2025 23:01:20 +0000</pubDate><guid>https://chengyu.eu/posts/chatgpt-4o-photo-editing-fun/</guid><description>Turning family photos into cartoons, adding a warship and a dinosaur to travel pictures, and restyling a portrait — a weekend with ChatGPT-4o&amp;rsquo;s new image tools.</description></item><item><title>Migrating My Image Host From a Self-Built Google Drive Setup to Chevereto</title><link>https://chengyu.eu/posts/migrating-image-host-to-chevereto/</link><pubDate>Sun, 24 Nov 2024 22:00:17 +0000</pubDate><guid>https://chengyu.eu/posts/migrating-image-host-to-chevereto/</guid><description>Swapping a 2TB Google Drive image host that needed re-authorizing every few days for a self-hosted Chevereto setup behind Cloudflare Tunnel.</description></item><item><title>Finally Subscribed to GitHub Copilot</title><link>https://chengyu.eu/posts/github-copilot-subscription/</link><pubDate>Fri, 15 Nov 2024 11:03:26 +0000</pubDate><guid>https://chengyu.eu/posts/github-copilot-subscription/</guid><description>Ten dollars a month for autocomplete that actually understands what I&amp;rsquo;m writing.</description></item><item><title>First Impressions of ChatGPT's o1-preview and o1-mini</title><link>https://chengyu.eu/posts/chatgpt-o1-preview-o1-mini-first-look/</link><pubDate>Sat, 14 Sep 2024 07:17:01 +0000</pubDate><guid>https://chengyu.eu/posts/chatgpt-o1-preview-o1-mini-first-look/</guid><description>A quiet rollout, a tight usage cap, and a version that&amp;rsquo;s clearly a big step up on reasoning.</description></item><item><title>My Free Image Host Died Overnight — and How I Rebuilt It</title><link>https://chengyu.eu/posts/telegram-image-hosting-shutdown/</link><pubDate>Sat, 07 Sep 2024 23:16:00 +0000</pubDate><guid>https://chengyu.eu/posts/telegram-image-hosting-shutdown/</guid><description>Telegram quietly killed Telegraph&amp;rsquo;s image-hosting support, breaking the free image pipeline my blog depended on — here&amp;rsquo;s how I patched it back together in a day.</description></item><item><title>Wrapping Whisper in a FastAPI Service for Remote Transcription</title><link>https://chengyu.eu/posts/whisper-fastapi-remote-service/</link><pubDate>Sun, 25 Aug 2024 19:00:02 +0000</pubDate><guid>https://chengyu.eu/posts/whisper-fastapi-remote-service/</guid><description>Offloading transcription from a GPU-less NAS to a desktop with an actual GPU, exposed as a simple internal API.</description></item><item><title>A Weekend with RAGFlow: Building My Own RAG-Based Knowledge Base</title><link>https://chengyu.eu/posts/ragflow-personal-rag-knowledge-base/</link><pubDate>Sun, 25 Aug 2024 16:00:30 +0000</pubDate><guid>https://chengyu.eu/posts/ragflow-personal-rag-knowledge-base/</guid><description>Deploying the open-source RAGFlow project, testing it against real documents, and wiring it up to local Ollama models to keep costs at zero.</description></item><item><title>Deploying Whisper on My NAS: Two Storage Gotchas</title><link>https://chengyu.eu/posts/whisper-on-nas-storage-fixes/</link><pubDate>Sat, 10 Aug 2024 21:00:17 +0000</pubDate><guid>https://chengyu.eu/posts/whisper-on-nas-storage-fixes/</guid><description>A simple script to auto-transcribe Obsidian voice notes, derailed twice by the NAS running out of space in root and /tmp.</description></item><item><title>Podsync Stopped Fetching New Episodes — Turns Out It Was Google</title><link>https://chengyu.eu/posts/podsync-google-blocking-issue/</link><pubDate>Sat, 10 Aug 2024 10:00:13 +0000</pubDate><guid>https://chengyu.eu/posts/podsync-google-blocking-issue/</guid><description>A morning-commute podcast habit broken by an upstream block, not anything on my end.</description></item><item><title>Trying Out Smart Connections: an AI Plugin for Obsidian</title><link>https://chengyu.eu/posts/obsidian-smart-connections-plugin/</link><pubDate>Thu, 08 Aug 2024 11:00:18 +0000</pubDate><guid>https://chengyu.eu/posts/obsidian-smart-connections-plugin/</guid><description>Chatting with my own notes via a local model, plus a gotcha when pointing the plugin at a self-hosted One API server.</description></item><item><title>Keeping Markdown Formatting Intact When Obsidian Syncs to Typecho</title><link>https://chengyu.eu/posts/obsidian-typecho-markdown-sync-fix/</link><pubDate>Sun, 04 Aug 2024 00:00:38 +0000</pubDate><guid>https://chengyu.eu/posts/obsidian-typecho-markdown-sync-fix/</guid><description>My Obsidian-based writing setup was publishing beautifully, except synced posts landed in Typecho full of raw HTML clutter — a hidden XML-RPC setting fixed it.</description></item><item><title>Fixing a Blank White Box Where Code Blocks Should Be in Typecho</title><link>https://chengyu.eu/posts/typecho-code-block-blank-fix/</link><pubDate>Sat, 03 Aug 2024 23:00:20 +0000</pubDate><guid>https://chengyu.eu/posts/typecho-code-block-blank-fix/</guid><description>A CSS/plugin conflict was rendering code blocks as an ugly blank space — turned out to be a syntax-highlighting plugin fighting the theme.</description></item><item><title>Comparing Open-Source LLMs for Customer-Service Conversation Summaries</title><link>https://chengyu.eu/posts/comparing-llms-for-customer-service-summaries/</link><pubDate>Sat, 03 Aug 2024 12:00:04 +0000</pubDate><guid>https://chengyu.eu/posts/comparing-llms-for-customer-service-summaries/</guid><description>Running ten locally-hosted models on consumer GPU hardware to see which ones best summarize customer-service calls after speech-to-text.</description></item><item><title>Fixing an Ollama Install Failure Caused by a Snap-Installed curl</title><link>https://chengyu.eu/posts/ollama-install-curl-fix/</link><pubDate>Sat, 03 Aug 2024 00:00:31 +0000</pubDate><guid>https://chengyu.eu/posts/ollama-install-curl-fix/</guid><description>Installing curl via snap put it ahead of /usr/bin on PATH, which broke the Ollama installer in a confusing way.</description></item><item><title>Reinstalling Ubuntu for a Dedicated LLM Box: NVIDIA Driver, CUDA, and cuDNN</title><link>https://chengyu.eu/posts/ubuntu-nvidia-cuda-cudnn-setup/</link><pubDate>Sat, 03 Aug 2024 00:00:30 +0000</pubDate><guid>https://chengyu.eu/posts/ubuntu-nvidia-cuda-cudnn-setup/</guid><description>After one too many driver crashes from installing random open-source software, I wiped the machine and set it up as a single-purpose LLM box.</description></item><item><title>AI Study Notes: Probability Density Functions and Weighted MSE</title><link>https://chengyu.eu/posts/ai-study-notes-pdf-and-mse/</link><pubDate>Wed, 31 Jul 2024 00:00:02 +0000</pubDate><guid>https://chengyu.eu/posts/ai-study-notes-pdf-and-mse/</guid><description>Working through two ML fundamentals in plain language: what a probability density function actually tells you, and how weighting by probability density changes mean squared error.</description></item><item><title>LLM Agents 101</title><link>https://chengyu.eu/posts/llm-agents-basics/</link><pubDate>Tue, 30 Jul 2024 00:00:09 +0000</pubDate><guid>https://chengyu.eu/posts/llm-agents-basics/</guid><description>What an &amp;lsquo;agent&amp;rsquo; actually means in the context of large language models, and a worked example in a customer-service setting.</description></item><item><title>Installing an NVIDIA GPU Driver on Ubuntu 22.04</title><link>https://chengyu.eu/posts/installing-nvidia-driver-ubuntu/</link><pubDate>Sun, 28 Jul 2024 00:00:07 +0000</pubDate><guid>https://chengyu.eu/posts/installing-nvidia-driver-ubuntu/</guid><description>Notes on getting an NVIDIA driver and CUDA 12.4 installed cleanly, including disabling the nouveau driver first.</description></item><item><title>Fixing a CUDA Error When Running Gemma2 in Ollama</title><link>https://chengyu.eu/posts/ollama-gemma2-cuda-error/</link><pubDate>Sat, 27 Jul 2024 22:36:33 +0000</pubDate><guid>https://chengyu.eu/posts/ollama-gemma2-cuda-error/</guid><description>A one-line fix for a CUBLAS_STATUS_NOT_INITIALIZED crash: just update Ollama.</description></item><item><title>Fine-Tuning Your Own Model with Free GPU Compute</title><link>https://chengyu.eu/posts/free-gpu-finetuning-colab/</link><pubDate>Fri, 10 May 2024 17:00:18 +0000</pubDate><guid>https://chengyu.eu/posts/free-gpu-finetuning-colab/</guid><description>After AMD&amp;rsquo;s ROCm ecosystem let me down for local fine-tuning, free Colab GPUs turned out to be the pragmatic way to fine-tune Llama 3 for free.</description></item><item><title>Building a Personal Knowledge Base with MaxKB on My NAS</title><link>https://chengyu.eu/posts/maxkb-personal-knowledge-base/</link><pubDate>Fri, 10 May 2024 09:00:23 +0000</pubDate><guid>https://chengyu.eu/posts/maxkb-personal-knowledge-base/</guid><description>Self-hosting the open-source MaxKB knowledge-base tool at home, and pointing it at a Qwen-backed model for Chinese-language documents.</description></item><item><title>Running Llama 3 Locally with Open WebUI</title><link>https://chengyu.eu/posts/local-llama3-open-webui/</link><pubDate>Fri, 10 May 2024 09:00:11 +0000</pubDate><guid>https://chengyu.eu/posts/local-llama3-open-webui/</guid><description>Pairing a consumer GPU running local Llama 3 with Open WebUI and One API to combine local and remote models behind one interface.</description></item><item><title>Whisper + Obsidian: Fully Automatic Voice-to-Text Notes</title><link>https://chengyu.eu/posts/whisper-obsidian-voice-notes/</link><pubDate>Wed, 01 May 2024 13:00:11 +0000</pubDate><guid>https://chengyu.eu/posts/whisper-obsidian-voice-notes/</guid><description>Wiring up Obsidian&amp;rsquo;s Whisper plugin to the free Cloudflare-backed OpenAI API from the previous post.</description></item><item><title>Building a Free, OpenAI-Compatible API on Top of Cloudflare Workers AI</title><link>https://chengyu.eu/posts/free-qwen-openai-compatible-api/</link><pubDate>Wed, 01 May 2024 06:48:10 +0000</pubDate><guid>https://chengyu.eu/posts/free-qwen-openai-compatible-api/</guid><description>Wrapping Cloudflare&amp;rsquo;s free Workers AI models (including Qwen) behind an OpenAI-compatible endpoint, so existing front-ends don&amp;rsquo;t need to change a line of code.</description></item><item><title>Patching the Jasmine Theme to Show a Post's First Image as Its Thumbnail</title><link>https://chengyu.eu/posts/typecho-jasmine-theme-thumbnails/</link><pubDate>Sun, 28 Apr 2024 17:05:00 +0000</pubDate><guid>https://chengyu.eu/posts/typecho-jasmine-theme-thumbnails/</guid><description>Obsidian&amp;rsquo;s sync to Typecho doesn&amp;rsquo;t support custom fields over XML-RPC, so I patched the theme instead.</description></item><item><title>Two Quick Wins for This Blog: Caching and Visitor Analytics</title><link>https://chengyu.eu/posts/website-caching-and-analytics/</link><pubDate>Sun, 28 Apr 2024 13:57:08 +0000</pubDate><guid>https://chengyu.eu/posts/website-caching-and-analytics/</guid><description>Adding a caching plugin for faster page loads, plus wiring up Google Analytics.</description></item><item><title>International and Chinese Cloud Providers' LLM Landscape</title><link>https://chengyu.eu/posts/cloud-llm-landscape-2024/</link><pubDate>Sat, 27 Apr 2024 18:00:00 +0000</pubDate><guid>https://chengyu.eu/posts/cloud-llm-landscape-2024/</guid><description>A quick note on a comparison table of large-model offerings across major cloud providers.</description></item><item><title>Trying Out Local LLM Deployment: GPT-3.5 vs. Qwen-7B</title><link>https://chengyu.eu/posts/local-llm-deployment-experience/</link><pubDate>Tue, 23 Apr 2024 15:30:00 +0000</pubDate><guid>https://chengyu.eu/posts/local-llm-deployment-experience/</guid><description>Some hands-on experiments with un-tuned open models, and a few thoughts on where the real value in LLM products actually sits.</description></item><item><title>This AI Browser Extension Blew Me Away</title><link>https://chengyu.eu/posts/elmo-ai-browser-extension/</link><pubDate>Sun, 14 Apr 2024 18:09:00 +0000</pubDate><guid>https://chengyu.eu/posts/elmo-ai-browser-extension/</guid><description>Elmo can summarize any page on the fly — and it turns out that&amp;rsquo;s genuinely useful for reading in a second language.</description></item><item><title>Self-Hosting Immich on My Synology NAS: Batch-Importing My Photo Library</title><link>https://chengyu.eu/posts/immich-nas-batch-photo-import/</link><pubDate>Sun, 14 Apr 2024 17:44:00 +0000</pubDate><guid>https://chengyu.eu/posts/immich-nas-batch-photo-import/</guid><description>Getting Immich running on a home NAS and bulk-uploading years of photos with the CLI.</description></item><item><title>Google One Is Shutting Down Its VPN Service</title><link>https://chengyu.eu/posts/google-one-vpn-shutdown/</link><pubDate>Fri, 12 Apr 2024 10:25:07 +0000</pubDate><guid>https://chengyu.eu/posts/google-one-vpn-shutdown/</guid><description>Google says usage was too low to justify keeping the feature around.</description></item></channel></rss>