Technical Blog
Practical notes on automation, deployment, and developer workflows
Right now the site is grounded in three solid tracks: Docker and server deployment, Git workflow habits, and Markdown-driven publishing pipelines. AI automation content will expand on top of that, so the homepage now pushes topic hubs and flagship posts first instead of acting like a plain feed.
Recent Updates
MCP Client Errors: Distinguishing HTTP 503, JSON-RPC Errors, and isError
Pinned Cakewalk source, MCP 2026 compatibility rules, and 11 local Node.js tests show how to classify HTTP, JSON-RPC, tool and SSE failures without unsafe retries.
Can You Trust a Win Rate When One Stock Keeps Appearing?
Ten synthetic stock picks yield 60%, 25%, and 83.3% win rates. Reproduce the denominators with Python and SQL, and check duplicate signals and T+5 settlement.
Can Vercel Daemons Replace a VPS Background Worker? Limits, SIGTERM, and Configuration
Vercel Daemons vs a VPS worker: Python/Container Functions, 10 vCPU-hour Hobby quota, SIGTERM and idempotent retries, with a reproducible offline Node.js test.
GitHub AI Scan found two shell risks, but the security check passed
A real GitHub AI Scan PR received two vulnerability comments while the dynamic Actions job stayed green. What its advisory results, CodeQL, Rulesets and billing mean.
Keeping Core Code Off GitHub in Plaintext: Win/Mac Bare Git, Cryptomator Backups and Mobile AI Trade-offs
Why a GitHub private repo wasn't enough for valuable commercial source code: local Win/Mac Git Central, encrypted Cryptomator offsite backups, encrypted Git remote tradeoffs, and the mobile AI-development bottleneck.
Why Two 80-Point Stock Signals Aren't Comparable: Simpson's Paradox and Calibration
Why identical raw scores cannot be pooled across stock screeners: a reproducible Simpson's paradox toy dataset, Wilson bounds, time leakage, and probability calibration.
Is an AI SSH Client Safe? Hatoba's E2EE, Model Data Flows, and Command Approval
Where do an AI SSH assistant's terminal logs and credentials go? Inspect Hatoba v0.3.0 source for E2EE sync, D1 metadata, approval rules, and six independent synthetic crypto checks.
Stop Claude Code from Running Destructive Commands: Testing Laya Guard (Regex + 322M Local Model) via PreToolUse Hooks
Testing laya-guard, a local command guard for AI coding agents: 12 regex pre-filters + a 322M on-device model, three reproduced bypasses, a 30-case eval, real latency numbers, and an npm run deploy false positive — with practical deployment advice.
CLIProxyAPI + Codex Setup: Docker, OAuth & Reverse Proxy Guide
Set up CLIProxyAPI for Codex with Docker, complete OpenAI OAuth login, expose your own /v1 endpoint, and connect Codex to the proxy. Includes common setup failures and fixes.
Claude Code and Codex API Access: 3 Routes Compared on Cost and Setup
For indie developers and small teams: self-hosted CLIProxyAPI vs OpenRouter relay vs official APIs — real cost structures, setup friction, and data paths, matched to your usage.
pnpm 12.11 Lets npm Dependencies Carry Agent Skills: After Approving Once, What Should You Check on Upgrade?
pnpm 12.11.0 lets npm packages provide instructions for AI agents through Agent Skills, with package-level permissions controlling whether links are created. This article examines what that approval covers, what to review when upgrading dependencies, and the limits of a synthetic test of the permission model.
Diffle's Text Anchors: Where Do Review Comments Go After a Coding Agent Rewrites the Code?
An analysis of Diffle 0.2.4 comment relocation, four independent Node.js synthetic cases, duplicate-text ambiguity and GitHub Pending Review boundaries.
Can Coding Agents Save Tokens by Remembering Past Edits? Inside Singularity's Cue Matching
An inspection of Singularity's pinned workflow-memory code and five synthetic Node.js cases, including false recalls, stale paths and the limits of reported token savings.
52-Week Highs and Volume: Which Stocks Can a Screener Rule Out?
A reproducible six-stock example and a real filter-versus-sort mistake show how price position, volume, and RVOL narrow a research watchlist without predicting returns.
OpenQodex 0.11.0 Tested: Why Git Push May Still Succeed After an Incomplete Review
Hands-on OpenQodex 0.11.0 ShellCheck and Git pre-push tests, plus source-level analysis of incomplete AI review and fail-open behavior.
Claude Code Logs Too Long? Testing Context Diet's Error Limits
A source audit and synthetic Node.js tests of Context Diet v0.3.0: why bounded digests omit errors, how to recover raw logs, and what dry/capture actually change.
Astro Check Breaks with TypeScript 7: Fix the Dependency, Don't Remove Type Checking
Why Astro check can fail after TypeScript 7, what the native compiler and peer range change, and how one real project restored CI without dropping its type-check gate.
Gatus Docker Compose Test: When a Service Returns 503, Do Alerts Fire and Resolve?
Hands-on Gatus v5.37.0 experiment with HTTP 503 failure thresholds, recovery webhooks, startup connection refusal, and SQLite restart persistence.
How to Archive Quant Research Data: PostgreSQL PITR, R2, and Reproducible Backtests
When does quant research need R2 beyond PostgreSQL backups? A practical analysis of TOAST, MVCC, manifests, fencing, integrity checks, and point-in-time data versions.
How I Validate Quant Factors with Bucket Spread and Rank IC
A factor that works at 5D may fail at 1D or 3D. This public ETF reproduction tests Bucket Spread, Rank IC, multiple horizons, sampling sensitivity, and factor redundancy.
PanelAlpha Engine Tested: Can AI Manage VPS and Replace GitHub Self-hosted Runner?
A practical test of PanelAlpha Engine v2.1.1 on an independent Ubuntu VPS, comparing an AI Hosting Control Plane with GitHub Self-hosted Runner.
How to Reweight a Multi-Factor Model Safely: Regimes, Shadow Models, and Weight Drift
A factor passing validation does not mean its latest-window estimate should immediately become production weight. This reproducible regime-switching experiment compares Immediate, Delta Cap, and Shadow-first policies across false promotions, turnover, and adaptation lag.
Docker pull Hangs on macOS? Check credential helpers and DOCKER_CONFIG
A silent Docker pull on macOS may be waiting on a credential helper. A first-party experiment shows how DOCKER_CONFIG, credsStore, credHelpers, and empty auths actually behave.
How Do You Choose a Coding Agent Model? I Compared SelfBench Across 9 Real Repositories
Public coding-agent leaderboards may not represent your codebase. I analyzed nine SelfBench repositories to compare ranking shifts, cost, small-sample uncertainty, and hidden-test quality.
ChatGPT Web + GitHub + Self-hosted Runner: Develop Anywhere, Deploy Through GitHub
Decouple development from one laptop: keep code and review state in GitHub, run builds and deployments on a Self-hosted Runner, use Codex/cloud tools for collaboration, and keep SSH for deep diagnosis and emergencies.
Are AI-Generated Tests Reliable? Using Mutation Testing to Check Coding Agent Tests
A green test suite and 100% coverage can still miss boundary bugs. I ran a first-party mutation-testing A/B fixture to see what survivors reveal and what the extra gate costs.
What Is AI Agent Orchestration? The Hard Part Is Shared State and Handoffs
Once Codex, Claude Code, and other agents work on the same system, task routing is not enough. This post explains ownership, handoffs, receipts, capability boundaries, and replayable coordination state.
Muse.ai Signup Stuck? How I Completed It with ChatGPT Work
When Muse.ai signup behaved poorly in my local browser, I opened the site in ChatGPT Work's cloud browser, took over at the page, and completed registration there.
When CLAUDE.md Gets Too Big: Rethinking AGENTS.md, Skills, and CI
Starting from a real 760-line CLAUDE.md migration, I re-measured what changed after splitting AGENTS.md, Skills, and CI into clearer ownership layers.
How to Refresh a WARP Egress IP When Gemini Rejects Your Location
When Gemini returns User location is not supported even though WARP looks healthy, this walkthrough shows how to verify the real SOCKS5 egress, reconnect WARP, compare exits, and narrow the failure down.
How to Mirror a Public GitHub Repository to Your Own Private Repository
Use git clone --mirror, git push --mirror, and GitHub CLI to keep a private mirror of a public GitHub repository, including incremental sync, Git LFS, verification, and mirror safety.
New Codex Model Not Showing? Sync the Official Catalog and Sub2API
When a new Codex model exists upstream but does not appear locally, this workflow checks the official models.json, local catalog, minimal_client_version, Sub2API allowlists, and model passthrough in order.
How to Write in Notion and Auto-Sync to a Static Blog
If you draft in Notion but publish through Astro or another static site, this post walks through the workflow I use to turn Notion writing into an auto-synced blog pipeline.
What the Claude Code Source Leak Teaches About Prompts, Safety Gates, and Memory
This post is less about the leak drama itself and more about what public analyses of Claude Code reveal about prompt architecture, safety boundaries, memory design, and why AI coding tools are now competing on much more than model quality.
How to Add Mouse-Follow Zoom in OBS for Tutorial Videos
If you record tutorials, software walkthroughs, or educational videos, this post explains a practical OBS mouse-follow zoom setup and the settings that matter most.
What Changed in the New Codex: Why It Feels More Like a Dev Environment
If your mental model of Codex is still the early cloud coding agent, this post explains why the newer Codex feels much closer to a real developer workflow.
How to Deploy OpenClaw: Local Source Setup vs Docker
If you want to install OpenClaw quickly, the hard part is not the command. It is choosing the right path for your laptop, your VPS, and your long-term maintenance cost.
Back Up Notion to GitHub with the Official API and GitHub Actions
This workflow uses a Notion Internal Integration, GitHub Actions, notion-client, and notion2md to export Notion content to GitHub with recursive page traversal and cleaner file names.
Astro vs WordPress: Why I Prefer Markdown and GitHub Actions for a Developer Blog
If you run a personal technical blog, this post compares an Astro + Markdown + GitHub Actions workflow with a traditional WordPress setup from the perspective of long-term maintenance.
Write Markdown Locally, Deploy on git push: My Bilingual Blog Publishing Workflow
This post walks through the publishing workflow I use for this bilingual technical blog, from writing Markdown locally to shipping through GitHub Actions with automatic deployment.
Git Worktree for Parallel Branch Development: a Clean Isolated Workflow
If you keep switching branches while fixing bugs and building new features, Git worktree is one of the cleanest ways to avoid cross-contamination: keep main stable and give every feature its own directory.
Back Up Docker Volumes to GitHub: a Low-Cost Disaster Recovery Setup for 1Panel
If you run services with Docker and 1Panel, this workflow gives you a practical safety net: back up volumes every day, keep seven local days, and sync archives to a private GitHub repository with Git LFS.