- 02 Sep CI Gates, Test Result Caches, and the Code Graph That Might Tell Us What to Test
- 01 Sep When a Green Deployment Still Serves a 500
- 30 Aug The One-Person Company Is a Coordination Problem
- 26 Aug When Productivity Turns Against Its Purpose
- 24 Aug When the Report Button Becomes a Competitive Weapon
- 22 Aug Hermes vs OpenClaw, NanoClaw, ZeroClaw, IronClaw: Agent Architecture
- 22 Aug Could AI Simulate Billions of Possible Human Lives?
- 16 Aug I Audited the OpenVPN Server I Wrote a Guide For
- 14 Aug Codebase Memory for Coding Agents: Graft, Graphify, and codebase-memory-mcp
- 13 Aug When a Rails or LMS Platform Becomes Hard to Change
- 12 Aug When Ubuntu Builds Fail on libvips but macOS Does Not
- 12 Aug Testing Small Local LLMs on Modest Hardware: A Portable Workflow
- 12 Aug Local Gemma with Hermes: Cheap Delegation for Rails Maintenance
- 10 Aug Agent 基建的三层爆发:电脑、运行时、技能方法论
- 10 Aug Tightening a dev VM that was quietly living without a firewall
- 09 Aug Golden Rules for Cheaper, Safer LLM Agents
- 09 Aug Loop Engineering and Graph Engineering: Working With LLMs
- 08 Aug When an Always Free server gets smaller
- 07 Aug The CI failures that moved every time you reran them
- 02 Aug Rebuilding a Small k3s Host Without Making It Precious
- 01 Aug Life Is Not Git
- 31 Jul Tightening Hermes Secrets with Bitwarden
- 31 Jul Don't Leave Good AI Workflows in Chat
- 31 Jul Shared AI Artifacts Aren't Private From a Hard-to-Guess URL
- 27 Jul Voice Control for Hermes Agent over Telegram
- 25 Jul The Hard Part of AI PR Review Is Not Reading the Diff
- 25 Jul Tightening Hermes Agent Security for Local Sensitive Work
- 23 Jul Securing Hermes Agent with OpenShell
- 23 Jul Deterministic Rails CI failures: read the evidence first
- 19 Jul Rails Performance from the Metal Up: A Field Guide
- 18 Jul Durable codebase context for Hermes: GitNexus, LSP, AGENTS.md
- 18 Jul Giving Hermes Read-Only Access to GCP, AWS, and Kubernetes
- 18 Jul Building an AI English Conversation Practice App
- 18 Jul Cloud Run as a Gemini proxy for an unsupported region
- 18 Jul Running Hermes on a Cloud Machine as a Daily Routine Assistant
- 28 Jun The callback that quietly doubled our database
- 27 Jun Zombie PostgreSQL replicas: the WAL segment removed deadlock
- 21 Jun Why pg_dump backups on a PostgreSQL replica fail intermittently
- 20 Jun Postgres conflict with recovery: why replicas cancel queries
- 01 Jun Rails UJS to Turbo: the event timing bug CI didn't catch
- 29 May Production Ruby Debugging: A Progressive Escalation Guide
- 21 Apr LM Studio Local Agent Runbook: Pi and OpenCode Step by Step
- 21 Apr Tiny Puzzles for Testing and Debugging AI Agents
- 16 Apr How an LLM Coding Agent Actually Builds Software
- 13 Apr Using LM Studio and Gemma as a Local Engine for Coding Agents
- 09 Apr Building a Local Coding Agent (Codex/Claude Code Style) in Gemma
- 08 Apr A Local, Multi-Tenant Graph RAG System with LightRAG
- 07 Apr Token Efficiency for AI Coding Agents in 2026
- 06 Apr Incus vs. Docker: System Containers vs. App Containers
- 05 Apr Redis High Availability: Shared Sessions and Fault Tolerance
- 16 Mar What Subagents Are Actually Good For in Codex
- 13 Mar Identity-Aware GCS Access Instead of Hashed Secret URLs
- 12 Mar MCP, Skills, Agents, Rulesets, and Hooks: A Practical Map
- 12 Mar Git Worktree for Parallel AI Development
- 05 Mar Intelligent Applications and the Personal OS
- 04 Mar How I Finally Got Sentry to Create GitHub Issues (After 3 Hours of Clicking Around)
- 04 Mar I Let an AI Agent Write Code for a Week. Here's What Actually Worked.
- 04 Mar AI Employees: Building Your Digital Workforce
- 03 Mar The One-Person Company: AI as Force Multiplier
- 02 Mar The AI-Era Developer: From Coder to AI System Architect
- 01 Mar AI's Impact on the Software Development Lifecycle
- 28 Feb From Logic-Driven to Context-Driven Software
- 27 Feb Context Engineering: The New Software Engineering
- 26 Feb Why AI Applications Are Ecosystems, Not Software
- 25 Feb AI Application Architecture: LLM + Memory + Tools
- 24 Feb LLM Strengths and Limitations: A Practical Framework
- 23 Feb Generalization: Why AI Looks Smart
- 22 Feb What is LLM: The Nature of Language Models
- 05 Feb Faster Rails Docker Feedback Loop: Runtime Deps and HMR
- 25 Jan Polymorphic Indexes in MySQL: Type-First or ID-First?
- 21 Jan Migrating a Rails App from Yarn + Webpacker to pnpm + Vite
- 21 Jan Auditing USB-C Cable Quality from macOS Terminal
- 20 Jan Redis Cleanup and Memory Management in Kubernetes
- 19 Jan Fixing the Asia/Rangoon Postgres Error on Alpine Linux
- 17 Jan 权力、语言与记忆的博弈:为何反思是文明的最后防线?
- 06 Jan 悬崖上的执行体
- 06 Jan 如果意识被分层,我们还敢说“人是目的”吗?
- 06 Jan 一起交通悲剧背后,我们可能正在掉进的三个误区
- 05 Jan 当意识可复制、可共享、可分层:我们还如何坚持“人是目的”?
- 03 Jan Sending Email from an Ubuntu VM on Oracle Cloud (OCI)
- 02 Jan Stacked Git: a Patch-Stack Workflow on Top of Git
- 02 Jan Choosing a Website Stack for a 1C1G Server
- 01 Jan Optimizing a 1C1G Ubuntu Cloud Server
- 01 Jan Zero-Downtime GKE Upgrades with PostgreSQL in the Cluster
- 30 Dec 幻影的巅峰:当人类进化的终点是“代码”
- 29 Dec Zero-downtime GKE upgrades with PostgreSQL failover
- 21 Dec Rails Style Guide: Transactions, Touch, and Async Derived Data
- 20 Dec Transactions, touch, and async rollups for derived data in Rails
- 04 Dec Debugging an IP camera's RTSP live stream URL
- 03 Dec An SSH SOCKS5 proxy that stops DNS leaks
- 12 Nov Why macOS ignores your manual DNS settings
- 10 Nov PostgreSQL on Ubuntu: install, user setup, and auth debugging
- 09 Nov load_async in Rails 8: loading associations concurrently
- 06 Nov Chrome's "blocked:other": why analytics scripts go silent
- 05 Nov PostgreSQL MD5 to SCRAM-SHA-256: a zero-downtime migration
- 02 Nov Rails 8.1.1 + connection_pool 3.x: RedisCacheStore boot crash
- 01 Nov OpenSSH on WSL: enabling remote SSH access on Windows 10
- 01 Oct Choosing Your CSS Color Strategy: Static vs. Dynamic Variables
- 18 Sep From Shared Database to APIs: Taming the Performance Hit
- 17 Sep From 499 to 200: Fixing Nginx Timeouts in a Rails API
- 16 Sep The Ghost in the Test Suite: Fixing Rails Database Cleanup
- 15 Sep Why Using Business Logic for Test Setup Is a Rails Antipattern
- 14 Sep localhost vs 127.0.0.1 vs 0.0.0.0: Network Binding Explained
- 13 Sep Securing AWS Credentials: aws-vault vs 1Password
- 19 Aug Ruby Debugging in VS Code: Shopify LSP, rdbg, and RSpec
- 11 Aug Signed React Native Android APKs from GitHub Actions
- 11 Aug Optimizing Android Builds in GitHub Actions
- 10 Aug PostgreSQL 18: What's New and How to Upgrade
- 09 Aug Migrating a GCP Classic Load Balancer to Global External
- 14 Jul Closures, Blocks, and Iterators Across Six Languages
- 13 Jul JavaScript Engines in React Native: JSC vs. Hermes
- 01 Jul Enabling Local HTTPS for Development and Debugging
- 18 Jun Active Storage Variants: Multiple Sizes and Testing Pitfalls
- 17 Jun Responsive Images: Serving the Right Size for Every Screen
- 02 Jun Troubleshooting pgpool Connection Termination in Kubernetes
- 02 Jun Designing a Schema for an Optional Attribute
- 02 Jun User Impersonation in Rails with the Pretender Gem
- 01 Jun GKE's Two Health Check Systems and the Premature 502
- 29 May Speeding Up Docker: Fixing Slow Host-to-Container File Sync
- 24 May When to Mock and When to Hit the Real Thing in Rails Tests
- 17 May Enabling Gzip and Brotli Compression on Google Cloud CDN
- 12 May How button_to Changed in Rails 7 (and Broke Our CSS)
- 11 May Managing Temporary Data in Multi-Step Rails Forms
- 08 May Custom HTTP Headers in Rails: Picking the Right Format
- 07 May How Rails Sessions Work with Warden and Cookies
- 06 May Web Workers vs Service Workers: What Each One Is For
- 04 May Ruby Ractor vs the GVL: When You Get Real Parallelism
- 03 May PostgreSQL JSONB vs Linking Tables for Relationships
- 01 May Is Your Endpoint I/O Bound or CPU Bound?
- 26 Apr MySQL vs PostgreSQL: Foreign Key Deadlock Contention
- 26 Apr Debugging Exceptions: Break on Throw, Not Catch-All
- 25 Apr Frontend Error Handling: Catching What try/catch Misses
- 22 Apr Nokogiri vs libxml2: Debugging a Dynamic Library Conflict
- 04 Apr Idempotent Rails Requests with a Redis Semaphore Lock
- 01 Apr Timezone Bugs in Ruby: BST vs UTC in CI and Cron
- 30 Mar Code Review Anti-Patterns That Waste the Most Time
- 28 Mar Redis Sentinel Split-Brain: Fixing It on Kubernetes
- 19 Mar Xiaomi "No Signal": Dialer Codes to ADB Logs
- 17 Mar Zsh Command-Line Editing: Shortcuts Worth Learning
- 16 Mar Build and Push Docker Images to Quay.io with GitHub Actions
- 16 Mar 编程方法论中的“矛盾”:权衡的艺术 (Ruby 示例)
- 15 Mar Debugging Transaction Deadlocks in Rails Tests: A Case Study
- 03 Mar Monkey-Patching in PHP vs Ruby: Why One Is an Anti-Pattern
- 02 Mar Avoiding Duplicate Record Errors in Rails Under Concurrency
- 01 Mar Why npm ci Runs prepare Scripts for Git Dependencies
- 16 Feb Handling Out-of-Order Updates in Async Rails Workflows
- 15 Feb Poetry vs uv: Choosing a Python Dependency Manager
- 14 Feb Deadlocks in MySQL and PostgreSQL: Foreign Keys vs Performance
- 11 Feb Catching Database Configuration Drift Between Microservices
- 09 Feb React Dev Proxy Options: package.json vs http-proxy-middleware
- 03 Feb Detecting Cloudflare Zero Trust Beyond the WARP Flag
- 02 Feb Monitor Cloudflare WARP Status on macOS with launchd
- 13 Jan Debugging in Ruby, Python, and PHP: byebug, pdb, and Xdebug
- 12 Jan Retry Strategies in Ruby: Exceptions vs. Conditional Checks
- 11 Jan API Design for Time Slot Replacement in Booking Systems
- 10 Jan 5 Parameter Code Smells and How to Refactor Them
- 09 Jan Kubernetes Node Upgrades: Cordon, Drain, and Failover
- 08 Jan When AWS Lambda Makes Sense for a Single API Endpoint
- 07 Jan Ordering by an Associated Column Without Breaking includes
- 06 Jan Building a Test Suite: Pyramid, Layers, and What to Skip
- 06 Jan N+1 Queries in Rails: What Silently Breaks `includes`
- 05 Jan Laravel Model: `save()` vs. `saveOrFail()`
- 04 Jan Fixing Racing Background Job Updates: Rails to Laravel
- 04 Jan Upgrading Bitnami Redis Helm Charts Without Downtime
- 03 Jan Testing Non-ASCII Fonts with Prawn and PDF::Inspector
- 02 Jan Extracting the Second Page From Multiple PDFs on macOS
- 01 Jan Migrating OTP Secrets Out of Google Authenticator
- 30 Dec Kaniko: building container images without a Docker daemon
- 07 Dec ARG, ENV, and BuildKit secrets: how each behaves in Docker
- 06 Dec Ruby readability vs performance: filter_map and a single loop
- 26 Nov Linux kill signals: graceful shutdown in containerized workers
- 12 Nov Android build and debug tips: jenv, ADB, and wireless debugging
- 06 Nov Retry mechanisms for flaky CI and Docker builds
- 01 Nov jq and yq: transforming embedded key-value strings in YAML
- 27 Oct Ruby object IDs, anonymous modules, and Rails cache errors
- 26 Oct Kubectl aliases and functions that actually save time
- 25 Oct Docker secrets: how layers leak them and how BuildKit fixes it
- 24 Oct Three-way merge in Neovim with Fugitive and Delta
- 22 Oct Docker Buildx --on-error: drop into a shell when a build fails
- 21 Oct How to Debug Docker Image Builds
- 20 Oct Migrating from Kaminari to will_paginate in Rails
- 20 Oct List of tools
- 20 Oct Leapp vs aws-vault: Comparing AWS CLI Credential Tools
- 19 Oct Running Multiple Processes in a Single Container
- 17 Oct Why Kaminari's Anonymous Modules Break Rails Caching
- 10 Oct Passing Sass Variables at Build Time with Webpack
- 08 Oct OpenVPN: Restrict Client Access to Specific IPs Only
- 05 Oct Upgrading React 17 to 18: Root API, Batching, and Test Fixes
- 04 Oct Upgrading React 16 to 17: Dependencies, Jest, and ESLint Fixes
- 28 Sep Fixing Multi-Tab Session Bugs with JWT and sessionStorage
- 24 Sep k3s on Ubuntu: Install, kubectl Access, and Unauthorized Errors
- 18 Sep Self-Hosted Whisper: A Speech-to-Text API with Ruby and Kubernetes
- 15 Sep adb shell pm: Managing Android Packages from the Command Line
- 07 Sep Rufus-Scheduler vs Sidekiq-Scheduler for Ruby Jobs
- 06 Sep Rufus Scheduler: How Its Main Loop Actually Works
- 05 Sep Rack: The Interface Between Ruby Web Servers and Apps
- 03 Sep How to Rotate GKE Cluster Credentials
- 02 Sep How to Debug React Applications
- 01 Sep Integer Overflow and Floating-Point Precision: Ruby vs JS
- 31 Aug Container Security with Fine-Grained Permission Control
- 28 Aug Building and Deploying pgpool Images with GitHub Actions
- 27 Aug SCORM: What the E-Learning Standard Actually Does
- 24 Aug Supervisord: Process Management for Containers and VMs
- 23 Aug Common MySQL Commands: Databases, Users, and Grants
- 22 Aug Round Is Not Always What You Expect
- 20 Aug Rails in Kubernetes: Migrations, Jobs, and Puma
- 19 Aug Materialized Views: Speeding Up Queries with a Tradeoff
- 18 Aug GitHub Actions Variables: env, Contexts, Secrets, and Matrix
- 15 Aug PostgreSQL Sequence Conflicts After an Upgrade: How to Fix Them
- 13 Aug Whisper: An Open-Source Alternative to Cloud Speech-to-Text
- 10 Aug Upgrading to Rails 7.2: Four Breaking Changes We Hit
- 08 Aug Sending Pub/Sub Notifications to Slack With a Webhook
- 03 Aug Ruby's GVL vs Ractor: What Actually Runs in Parallel
- 02 Aug fail vs raise in Ruby: They're the Same Method
- 01 Aug Speeding Up Nested JSON Serialization in Rails
- 28 Jul delete_all vs destroy_all in Rails: Callbacks and Associations
- 22 Jul Zero-Downtime PostgreSQL Upgrades With Logical Replication
- 21 Jul Floating-Point Precision in Ruby: Why 0.1 + 0.33 ≠ 0.43
- 10 Jul Redis Sentinel: How Automatic Failover Actually Works
- 04 Jul Inspecting Sidekiq Jobs from the Rails Console
- 03 Jul Rails N+1 Queries: joins vs preload vs eager_load vs includes
- 02 Jul Production Debugging Techniques for Rails Apps
- 01 Jul Redis Memory Spikes: Tracking Down a Runaway Sidekiq Queue
- 09 Jun A .irbrc Full of Ruby Debugging and Introspection Helpers
- 01 Jun Rails Session Stores: Cookie, ActiveRecord, and Redis
- 21 May Rails Secrets: Credentials, 1Password, and Cloud Vaults
- 19 May Config Approaches: Files, Env Vars, and Config Servers
- 08 May How to Set a Breakpoint on Devise's current_user Method
- 06 May Fragment Caching a Large List That Changes Constantly
- 05 May Postgres 'Too Many Connections': Debugging Pgpool-II Limits
- 03 May Redis in Ruby on Rails: Cache Server and Job Queue
- 01 May Scaling PostgreSQL on Kubernetes with Kubegres
- 02 Apr GCP 502 Errors from GKE Readiness Probe Failures
- 01 Apr Pgpool-II: Middleware for PostgreSQL
- 24 Mar When the OOM Killer Silently Kills a Background Job
- 05 Feb Shared Databases Between Microservices Are a Code Smell
- 04 Feb Soft Delete in Rails: Discard vs ActsAsParanoid
- 04 Jan How Rails Loads Your App: Rake, Console, Server, and Tests
- 01 Jan Compress Images with FFmpeg
- 01 Jan count file size from json
- 01 Jan GB码与BIG5编码转换技术解析
- 11 Jan 享受生活的每一刻:跨文化体验与个人成长
- 10 Jan rsync技巧:高效实现主机间文件同步
- 09 Jan rsync:系统管理员的备份利器
- 08 Jan 最令PHP初学者头痛的十四个问题及解决方案
- 07 Jan 域名解析服务探究与nslookup工具使用指南
- 06 Jan 小乖的霸权与猫咪们的逆袭
- 05 Jan Linux下实现路由功能
- 04 Jan NETSCREEN 5GT密码破解方法
- 03 Jan UNICON安装及中文支持指南
- 02 Jan Register Function: free-trial registration spec