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
A quick look at the APNG format and how it compares to WebP for animated images.
Feb 28, 2025
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
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
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
How to display a Search action on the software keyboard across iOS and Android and handle the resulting events.
Feb 20, 2025
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
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
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
In 2024, I resolved the issue with using Stripe for payments on Medium, so I subscribed to Medium membership at the beginning of the year and joined the MPP program to start writing. Here’s an analysis of my Medium earnings over the past year and my future direction.
Feb 13, 2025