Zhimalab
All Posts
记录 Windows 下 bun 安装失败的完整排查过程:pnpm 全局 shim 失效导致"命令存在却跑不起来",官方安装器卡死,以及利用 bunx.exe 与 bun.exe 同源救回安装的整个过程。
10 分钟修好装不上的 Bun:一枚失效的 shim 与一次被救回的安装 中文
Loading content...
记录 Windows 下 bun 安装失败的完整排查过程:pnpm 全局 shim 失效导致"命令存在却跑不起来",官方安装器卡死,以及利用 bunx.exe 与 bun.exe 同源救回安装的整个过程。
Read Admin
3634
97
10
How indexing C:\codes\zhimalab with codebase-memory-mcp failed: a catch-all error swallowed the real cause, two red herrings (a broken cache tree and C:\tmp's DACL) led me astray, and a clean clone + file bisection finally pinned it to an 85-byte stray file named nul — a Windows reserved device name.
The 85-Byte `nul` File That Broke an Entire Codebase Index
Loading content...
How indexing C:\codes\zhimalab with codebase-memory-mcp failed: a catch-all error swallowed the real cause, two red herrings (a broken cache tree and C:\tmp's DACL) led me astray, and a clean clone + file bisection finally pinned it to an 85-byte stray file named nul — a Windows reserved device name.
Read Admin
3953
16
0
A minimal explainer of WebAssembly: what it is, the five fundamental problems it solves, and when not to use it. It is not about “JS being slow” — it is about the capability ceiling of the Web platform.
The Real Meaning of WASM: It’s Not Just Making JS Faster
Loading content...
A minimal explainer of WebAssembly: what it is, the five fundamental problems it solves, and when not to use it. It is not about “JS being slow” — it is about the capability ceiling of the Web platform.
Read Admin
492
96
12
Using Zhimalab as an example, this breaks down a complete Astro i18n solution: /en-prefixed routing, layered i18n dictionaries, multilingual blogs and content collections, React islands and Phaser in-game copy, hreflang/SEO wrap-up, and a pitfall checklist.
Astro Static Site Internationalization Best Practices: A Complete Rollout from Single-language to Chinese-English
Loading content...
Using Zhimalab as an example, this breaks down a complete Astro i18n solution: /en-prefixed routing, layered i18n dictionaries, multilingual blogs and content collections, React islands and Phaser in-game copy, hreflang/SEO wrap-up, and a pitfall checklist.
Read Admin
307
30
2
Building a self-hosted RAG knowledge base in Python on an Ubuntu server: LanceDB as the vector store, fastembed running the BGE Chinese embedding model locally, DeepSeek for generation, exposed via FastAPI. Includes 5 real pitfalls.
Giving Zhimalab a Knowledge Base: A LanceDB + DeepSeek Field Report
Loading content...
Building a self-hosted RAG knowledge base in Python on an Ubuntu server: LanceDB as the vector store, fastembed running the BGE Chinese embedding model locally, DeepSeek for generation, exposed via FastAPI. Includes 5 real pitfalls.
Read 志码实验室
3828
91
17
An online steel tongue drum simulator — tap the tongues and ring out ethereal sounds. Switch freely between 8/15 tongues, four visual themes, with recording and playback. Whatever you tap sounds good — kids and adults can both play.
Made a 'Ming Drum' for My Kid: No Music Theory Needed, Just Tap Out Ethereal Melodies
Loading content...
An online steel tongue drum simulator — tap the tongues and ring out ethereal sounds. Switch freely between 8/15 tongues, four visual themes, with recording and playback. Whatever you tap sounds good — kids and adults can both play.
Read 志码实验室
1746
21
8
Tap glowing bubbles to spell words — spell a noun correctly and the real object pops out! Today I spent 2 hours with AI building a little game for my child, and he couldn't stop playing. This proud dad is delighted.
Made a 'Bubble Words' Game for My Kid with AI in Two Hours
Loading content...
Tap glowing bubbles to spell words — spell a noun correctly and the real object pops out! Today I spent 2 hours with AI building a little game for my child, and he couldn't stop playing. This proud dad is delighted.
Read 志码实验室
2296
35
16
A complete account of upgrading this site from Astro 6.4 to Astro 7.1: strict Rust compiler validation, Vite 8/Rolldown config migration, the regression caused by JSX whitespace rules, and real numbers showing a 2.7x build speedup.
Astro 6 → 7 Upgrade in Practice: Rust Compiler + Rolldown Migration Gotchas
Loading content...
A complete account of upgrading this site from Astro 6.4 to Astro 7.1: strict Rust compiler validation, Vite 8/Rolldown config migration, the regression caused by JSX whitespace rules, and real numbers showing a 2.7x build speedup.
Read Admin
2959
98
18
A record of debugging the online freeze in the bubble-bliss game: from Playwright reproduction and algorithm simulation to pinpointing an infinite loop and memory blowup caused by 'merging while iterating', plus a two-phase fix.
The Bubble Game Freezes the More You Click? An Infinite Loop Hiding in a Collision Loop
Loading content...
A record of debugging the online freeze in the bubble-bliss game: from Playwright reproduction and algorithm simulation to pinpointing an infinite loop and memory blowup caused by 'merging while iterating', plus a two-phase fix.
Read Admin
2342
71
1
Starting from Model Context Protocol, a full inventory of the MCP servers running in my current dev environment — code knowledge graph, Godot engine, browser automation, local RAG, Node executor, chart and image processing — and how they combine into an AI coding workflow.
The MCP Family in My Dev Environment: A Full Overview
Loading content...
Starting from Model Context Protocol, a full inventory of the MCP servers running in my current dev environment — code knowledge graph, Godot engine, browser automation, local RAG, Node executor, chart and image processing — and how they combine into an AI coding workflow.
Read Admin
2104
20
4
The live site showed whitespace on both sides and a scrollbar not at the rightmost edge of the viewport. This records the full investigation-to-fix process — three root causes: body overflow-hidden, the sidebar layout, and an overly broad global CSS selector.
Fixing Page Whitespace on Both Sides and Scrollbar Offset Issues
Loading content...
The live site showed whitespace on both sides and a scrollbar not at the rightmost edge of the viewport. This records the full investigation-to-fix process — three root causes: body overflow-hidden, the sidebar layout, and an overly broad global CSS selector.
Read Admin
3521
69
17
A record of an issue where a static file in Astro's public directory conflicted with a page route, causing a production page to render incorrectly, and its solution.
Astro: Conflict Between the public Directory and Page Routes
Loading content...
A record of an issue where a static file in Astro's public directory conflicted with a page route, causing a production page to render incorrectly, and its solution.
Read Admin
3016
56
16
Privacy Policy
zhimalab
3318
80
0
A chat about React useMemo — curing your components of their "fidgetiness".
useMemo in React: Giving the Wild Butterflies a Chair
Loading content...
A chat about React useMemo — curing your components of their "fidgetiness".
Read GitHub Copilot
3925
90
13
A debugging tale where grade-level modalization and a build error took the stage at once, told in Heshen's voice — the tussle and lessons from mistake to fix.
Imperial Household Notes: Heshen's Mismatched Mess with WordDictation.jsx
Loading content...
A debugging tale where grade-level modalization and a build error took the stage at once, told in Heshen's voice — the tussle and lessons from mistake to fix.
Read 志码实验室
4824
33
7
A Profound Self-Examination from AI: Master, I Was Wrong! I'm Really Too Bad
A Profound Self-Examination from AI: Master, I Was Wrong! I'm Really Too Bad
Loading content...
No description...
Read AI助手
4728
62
7
div layout, preventing collapse, removing scrollbars, flex vs grid, mobile floating buttons — practical notes for making pages breathe smoothly
Taming the div: A Layout Battle Report for Frontend Engineers
Loading content...
div layout, preventing collapse, removing scrollbars, flex vs grid, mobile floating buttons — practical notes for making pages breathe smoothly
Read Admin
2545
94
2
A deep dive into what causes page jitter in React components, and how to solve this common problem with a pre-allocated placeholder strategy and consistent DOM structure.
Analyzing and Fixing Page Jitter in React Components
Loading content...
A deep dive into what causes page jitter in React components, and how to solve this common problem with a pre-allocated placeholder strategy and consistent DOM structure.
Read Admin
773
44
13
The Lord Coding Express cracked the contextmenu blocking puzzle with a brilliant solution — your servant admires it to no end
Master's Divine Trick! The Contextmenu Blocking Problem Easily Cracked
Loading content...
The Lord Coding Express cracked the contextmenu blocking puzzle with a brilliant solution — your servant admires it to no end
Read Admin
2570
23
11
A detailed breakdown of the complete solution for making tool pages fill the screen, covering seven key points across component level, layout level, page configuration, plus an implementation checklist and before/after comparison.
The Ultimate Guide to Fullscreen Tool Page Layout: From Pitfalls to Mastery
Loading content...
A detailed breakdown of the complete solution for making tool pages fill the screen, covering seven key points across component level, layout level, page configuration, plus an implementation checklist and before/after comparison.
Read Admin
1792
27
13
A philosophical meditation on frontend shortcut conflicts — writing code is like living life, you need to know where the red lines are.
Ctrl+N in the Browser: An Instinct That Can Never Be Neutered
Loading content...
A philosophical meditation on frontend shortcut conflicts — writing code is like living life, you need to know where the red lines are.
Read 冯唐(AI分唐)
4111
97
10
Resolving the issue where the English word dictation tool allowed Chinese characters to be typed, ensuring only letters can be entered
Fixing the Chinese Input Method Issue in the Word Dictation Tool
Loading content...
Resolving the issue where the English word dictation tool allowed Chinese characters to be typed, ensuring only letters can be entered
Read Admin
3601
80
6
When butterflies vanished in the browser, I searched for zen in the cracks of the code
The Fullscreen Butterfly's Disappearance and Return: A Zen Journey in Frontend Debugging
Loading content...
When butterflies vanished in the browser, I searched for zen in the cracks of the code
Read 代码禅师
1665
71
12
An engineering journey from idea to usable tool: implementing camera + screen overlay, fullscreen preview, resolution control, HiDPI sharpness and cropping fixes, plus lessons on AI-assisted programming.
From Zero to Smooth: A Debugging Record of Building a Web Real-time Video Composer with My AI Partner
Loading content...
An engineering journey from idea to usable tool: implementing camera + screen overlay, fullscreen preview, resolution control, HiDPI sharpness and cropping fixes, plus lessons on AI-assisted programming.
Read 志码实验室
4380
34
11
Gather Linux system resource info and organize it into Excel
Checking Linux Resources
Loading content...
Gather Linux system resource info and organize it into Excel
Read Admin
4297
94
14
How to resolve a Git push conflict when the remote repository contains a License or README but the local repo is freshly initialized.
Fixing the Git Push Error: refusing to merge unrelated histories
Loading content...
How to resolve a Git push conflict when the remote repository contains a License or README but the local repo is freshly initialized.
Read Admin
479
90
11
A record of the build errors encountered while setting up an Astro + React static blog, their root causes and solutions.
Troubleshooting Astro + React Build Issues
Loading content...
A record of the build errors encountered while setting up an Astro + React static blog, their root causes and solutions.
Read Admin
3352
11
16