Blogs

Should You Pay Off Your Mortgage Early in China?

An in-depth analysis of the pros and cons of early mortgage repayment in China, considering personal financial situations, bank policies, and economic factors.

Mar 4, 2025

GitLink for VSCode: Seamless Cross-Platform Code Sharing Experience

I frequently use the GitLink plugin in JetBrains IDEs to copy Git web URLs for files with one click, which significantly streamlines code collaboration. Increased VSCode usage at work recently revealed a lack of comparable extensions. To improve efficiency, I developed Beautiful GitLink, a VSCode extension that replicates and enhances this functionality.

Mar 2, 2025

Animated PNGs

A quick look at the APNG format and how it compares to WebP for animated images.

Feb 28, 2025

Cursor User Guide

Cursor is an AI-powered code editor. This guide covers subscription options, settings synchronization, tool calling, upgrade methods, and completion features to help developers use this IDE more efficiently.

Feb 27, 2025

Getting the Mac mini M4

I recently picked up a Mac mini M4. After using it for a few weeks, I’m really happy with it, so I’m jotting down my impressions here. Why I Bought It My only non-work computer was a 2019 MacBook Pro with 32 GB of RAM, but it’s sluggish and runs hot. To make tinkering more enjoyable, I decided to get a Mac mini.

Feb 24, 2025

Building Real-time Web Page Ranking Monitoring with GitHub Action

Recently, I had a requirement to monitor the ranking situation of a certain entry in a competition. Unfortunately, the event itself doesn’t have a ranking page, and the event data is paginated and unordered. Therefore, I thought of using GitHub Action to build a real-time web page ranking monitoring tool.

Feb 20, 2025

Web Dev — Show Search Button on iOS Keyboard

How to display a Search action on the software keyboard across iOS and Android and handle the resulting events.

Feb 20, 2025

ESLint Usage Guide

Common Plugins "eslint-config-tencent" "plugin:react/recommended", "plugin:@typescript-eslint/recommended", "plugin:react-hooks/recommended" Related Links https://www.npmjs.com/package/eslint-config-tencent

Feb 19, 2025

Understanding Refresh Rate

I’ve been looking into frontend animation jank, which is related to refresh rate. I looked up some basics about refresh rate and took notes here. What is refresh rate Refresh rate refers to how many images a display shows per second, measured in hertz (Hz). For example, my MBP is connected to a Dell monitor, and in the OS I can see the monitor’s current refresh rate.

Feb 14, 2025

Webpack Plugin to Auto-Rename Variables

I previously built a webpack loader called domain-replace-loader to replace domains in frontend JS, e.g., swapping to a new domain or a global window property, avoiding manual edits across repos. Sometimes the requirement isn’t about domains. A colleague recently asked to rename variables in code automatically. For example, rename T_PROJECT to P_PROJECT. I updated the plugin to support automatic variable renaming.

Feb 14, 2025