System maintenance: nvm notes

nvm can be used to manage Node.js versions and switch between them quickly. I don't use it much day to day, but I had a rough memory of it, so I searched and found I'd written about it in August 2024. Back then it was to solve the problem of "npm install -g always lacking permission" — I installed nvm, expecting to use it to manage nodejs and maintain directory permissions. But I didn't end up using it to manage nodejs; instead I managed directory permissions manually, adding the path `~/.npm-global` to npm config so that `npm install -g` installed packages to a different path, which solved the permission problem. `hexo` and `yarn` were involved too, and after the change they were both installed under the `~/.npm-global` directory.

Tools

Qwen3 is really fast

Qwen3 is really fast — 0.2 seconds to first token, 55 TPS, more than 220% faster than the previous QwQ-32B...

AI

Fellou browser

Recently, the updated Trae added support for MCP, opening up a whole new way to use it — for programmers, this is another form of Manus. Then right after, I got my hands on something new that makes digital life better: a **Fellou** that puts the browser to work for me, automatically running deep research and boosting efficiency. Both are shining examples of homegrown tech.

AI

Qbserve: A RescueTime Alternative

RescueTime gradually stopped meeting my needs: cluttered UI, delayed data, frequent false alarms. After trying Qbserve, I was happy with its standalone, intuitive interface and decided to buy it as a replacement.

Tools

How to fix errors when running QwQ-32B in LMStudio

When using QwQ-32B, the MLX version throws this error during chat: “Error rendering prompt with jinja template: Error: Parser Error: Expected closing statement token. OpenSquareBracket !== CloseStatement.”, which you need to fix by modifying the jinja template. The gguf version doesn't have this problem. After the fix it ran successfully, as shown in the image.

AI

Manus and the AI tools I've been tinkering with lately

Trae's China version now supports DeepSeek, and it outperforms Claude3.5-Sonnet in some scenarios. QwQ-32B's performance is close to R1, making it a good fit for local deployment. If Manus goes mainstream, it will upend existing technology, and future AI will need cloud resources to support multimodal operations and agent collaboration.

AI

Slow internet speeds when using the Linksys MX8400

After upgrading to gigabit broadband, the speed was still only 100 Mbps. Testing revealed that the Linksys router was limiting the device's speed. By adjusting the priority settings and turning off the speed limit feature, the speed increased to over 800 Mbps. The problem stemmed from the router misjudging the external network speed, which caused the bandwidth between devices to be limited. After the correct configuration, network performance returned to normal.

Entertainment

Playing “Who's the Spy” locally with an LLM

It's Chinese New Year, and everyone is talking about DeepSeek. Ruirui wants to play "Who's the Spy" but can never round up enough people, so I built an AI-powered "Who's the Spy" game bot that calls an LLM to generate character descriptions and voting strategies — but I ran into problems like unstable model output and formatting errors. After tweaking the model and the prompts over and over, I finally got the basic functionality working, and the whole process was full of funny mistakes and challenges.

AI

Recommending AnythingLLM for building a private AI assistant

I'd like to recommend AnythingLLM. Combined with LM Studio, it can run local large models as a private AI assistant. I'll share my experience trying it out for document processing and studying traditional Chinese medicine. The results are only so-so for now, but the journey from zero to one is well worth it.

AI

Fought Qitian Erlang, the Sacred Divinity 147 times and finally cleared it.

Little Monkey gave it everything and kept fighting after loss after loss; after 147 attempts, finally cleared Qitian Erlang, the Sacred Divinity. Just recording this for myself. Overall, it's a bit harder than the Seven-Day Great Sage's Broken Shell. With this game, taking your time with the Qitian Re-challenge is pretty fun too. Play it like a fighting game—there's mind games, and plenty of different builds to try. Steam's auto-recording is really nice; it captured the good times.

Video Games

_reactNativeHealth.default.initHealthKit is not a function (it is undefined) error

I ran into the React Native HealthKit initialization error "_reactNativeHealth.default.initHealthKit is not a function (it is undefined)" and found it was caused by RN's new lazy-loading mechanism for modules, which leaves NativeModules as an empty object. I temporarily worked around it by manually grabbing the functions I needed and assigning them to the Kit object, so I could keep developing.

App Development

Nginx configuration for forwarding to a TSRPC server

Notes on deploying a TSRPC server on the Baota panel, including configuring an Nginx reverse proxy and fixing the issue where the Node.js project fails to start. Modify the Nginx configuration file, add CORS-related settings, and comment out the conflicting port listening configuration to ensure the service runs properly.

Backend Server

Rider and Webstorm now offer free non-commercial versions

Two more to celebrate: Rider and Webstorm now offer free non-commercial versions, and they pair with Unity.

Tools

Black Myth: Wukong, booting up!

Waited four years for this, pre-ordered early, passed the performance test well in advance. Even pre-downloaded it, just waiting for it to be served up. And then — let's just say, the first trial on the journey west is the remaining time on "Extracting" hovering around one day?

Video Games

AI TCM pulse diagnosis test

Crossing disciplines into TCM while struggling with sub-health: exploring how to model it rationally with the internet and AI, and comparing Doubao against ChatGPT. Since sub-health has been bother...

Personal
12345627