Blog

Quickly Fix Bugs in Open Source Community Repositories

In projects, we often use many third-party NPM packages, such as Mousetrap. We usually encounter bugs that have not yet been fixed or merged by the official repository. So, what should we do in such cases? Here is a summary of the methods.

Oct 24, 2024

Browser Fingerprinting

What browser fingerprints are, FingerprintJS v3 vs. v4 licensing, expected accuracy, and basic usage.

Oct 22, 2024

Personal Hardware List

Oct 22, 2024

Understanding ua-parser-js

In real-world development we often parse the UA header to detect device details—whether the user is on Windows or macOS, or if they’re on mobile. If you just use userAgent, you have to parse the string by hand, which is painful. A much easier option is to bring in ua-parser-js, a mature library that surfaces the UA information for you.

Oct 18, 2024

Frontend Visual Graph Editing

A recent project needed a visual flow editor. Here’s a survey of available libraries and tools. IBM’s Open-Source Node-RED Apache License Graph Layout Library dagre-d3 MIT License

Oct 17, 2024

Invalid ZIP Package Issue When Compressing on Mac

When selecting a folder on Mac, right-clicking, and choosing to compress, the resulting ZIP package reports an error when submitted to the Chrome Store. There was a problem uploading your file. Please try again. Invalid package. Please make sure it is a valid zip file and the file manifest.json is at the root directory of the zip package.

Oct 10, 2024

Getting the Apple Watch S10

I got the Apple Watch S4 in November 2018 and have used it for almost six years. The battery health has dropped to 77%. Considering that the latest Watch OS11 no longer supports the S4 and has been used for a long time, I decided to get the S10.

Oct 8, 2024

What You Need to Know About iPhone Mirroring

I have been profoundly experiencing iPhone Mirroring for some time, and it has become a daily feature. Here, I will mark my usage experience. Requirements Let’s first talk about the main prerequisites for using this feature:

Oct 7, 2024

What You Need to Know About ChatGPT Canvas

Finally, it has arrived! On October 3rd, ChatGPT released a new feature similar to Claude Artifacts, called Canvas. Here are the usage notes.

Oct 7, 2024

What You Need to Know About OpenAI o1

Recently, OpenAI officially released the o1 model, claiming it to be the most potent AI model in history. At first, I didn’t understand what was so impressive about it, but after experiencing it purposefully, I discovered its power.

Sep 27, 2024

What You Need to Know About ChatGPT's Advanced Voice Mode

Overview of ChatGPT's advanced voice mode—availability, supported platforms, tips, and limitations.

Sep 25, 2024

Toutiao Search SEO

I already submitted the blog to Google, Baidu, and Bing, but never to Toutiao Search. I added it today—here’s the process. Add the domain (subdomains aren’t grouped—you must add each host separately). Verify ownership via HTML file or meta tag; I chose the meta tag. Submit the sitemap. Enable automatic indexing by injecting their JS snippet into the site. Console: https://zhanzhang.toutiao.com/

Sep 20, 2024

Passwordless Login for Linux Machines

For security reasons, passwordless login is generally implemented using public-private key pairs. Here, I’ll mark down the configuration method. Log into the client machine and create a public-private key pair if you don’t already have one.

Sep 19, 2024

Get the Current Directory of Any Selected File in WebShell

While implementing “click to download selected filename” in a WebShell based on xterm.js, I ran into a challenge: how to determine the directory of the selected filename. After some research, here’s the solution.

Sep 19, 2024

Introduction to babel-plugin-import

Due to bundle size issues, I’ve revisited babel-plugin-import. I wasn’t clear about this plugin before, so I’m organizing my understanding here. Plugin Introduction babel-plugin-import is a Babel plugin that supports modular imports. The functionality of the plugin is to convert full imports to on-demand imports based on configuration.

Sep 17, 2024

The registry under the npm command does not work

Sometimes, switching the source of npm packages in a project is necessary due to network or security issues. The general practice is to switch the source in npmrc, but after switching and installing packages, you will find that the install still goes through the old source, primarily when a lock file has already been generated.

Sep 17, 2024

redux-logger Tree Shaking Not Working

Investigates why redux-logger stays in production bundles, explores its UMD build, tries the 4.x ES module beta, and confirms tree-shaking once sideEffects is set.

Sep 14, 2024

Implementing SQL Autocompletion in Monaco Editor

Recently, I used Monaco editor to implement an SQL editor. To improve the user experience, code auto-completion was necessary. After some research, I found a solution, so I’m marking it down here.

Sep 8, 2024

Introduction to Claude

Recently, because of Claude Sonnet and Cursor, I started contacting Claude. After using it for a while, I found that Claude is quite good; at least, I feel it’s on par with ChatGPT at the moment.

Sep 2, 2024

How Module Import Style Affects Bundle Size

Importing from lib vs. es vs. package root can change bundle size dramatically; why and how to choose.

Aug 25, 2024

Draw.io User Guide

This article is the author's introduction to the Draw.io user guide, including the advantages, implementation details, and related resources of the Draw.io user guide. These steps can help the author improve the efficiency of using Draw.io.

Aug 25, 2024

Setting Environment Variables during SSH2 Connection

Can environment variables be set when connecting to a server using the Node.js SSH2 client? After investigation, it was found that it is possible. Just marking it here. Setting Environment Variables The code is as follows:

Aug 20, 2024

Using a Physical Giffgaff SIM

Get and activate a Giffgaff SIM from China: buy, register, pricing, keep-alive, use cases, and GV comparison.

Aug 19, 2024

Monitor Network Disconnection in WEB

Explore methods to monitor and handle network disconnections in web applications, improving user experience and application robustness.

Aug 12, 2024

Understanding OpenAI Function Calling

What function calling is, how the schema-driven tool flow works, and a minimal weather example end-to-end.

Aug 11, 2024