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
When developing with npm, you may notice that if you delete the node_modules folder and then reinstall dependencies, the installation is very fast. This is because npm has a caching mechanism.
Feb 13, 2025
Since DeepSeek exploded in popularity around Lunar New Year, the web UI and APIs have been unreliable. Here are a few approaches I use to keep access steady.
Feb 9, 2025
A guide to using OpenResty for web server configuration, focusing on GZIP settings and basic operations.
Feb 7, 2025
Use the official Vite legacy plugin to target older browsers without managing Browserslist/Core-JS manually.
Feb 7, 2025
A simple setup for ebook reading: WeRead for apps and imports, plus a Telegram Z-Library bot for finding titles.
Feb 6, 2025
Having used 1Password for many years, here I’ll summarize the usage methods of 1P. Updates Current versions have been updated as follows; the guide below still applies:
Jan 31, 2025
Recently when looking at some projects, I found many dependencies. After searching a few randomly, I discovered they weren’t being used and could be removed. However, checking and removing these packages one by one is too troublesome. Based on this need, I wrote a small tool to efficiently detect and remove unused dependencies.
Jan 26, 2025
Speed up CI pipelines by caching npm dependencies on the host and inside Docker builds, with example Jenkinsfile snippets.
Jan 25, 2025
I’ve been playing with WeChat bots in my spare time, and recently wanted to add support for sending voice files. Research shows that WeChat voice files use the Silk format, while AI voice synthesis typically provides MP3/WAV formats. So I need to solve the conversion from MP3 to Silk.
Jan 24, 2025