This article discusses undefined items in JavaScript arrays, explaining the differences between explicitly undefined …
How to bind events with inline JavaScript, how it differs from React’s model, and practical tips for native usage.
Clarifying a common misunderstanding about MySQL LEFT JOIN: why the result count isn't always the same as the left …
Receive instant Telegram notifications when your GitHub project gets starred. Learn how to set up GitHub Actions for …
Two ways to let devices like smart TVs or Switch use your Surge proxy—manual Wi-Fi proxy and macOS DHCP gateway.
This post summarizes my Nintendo Switch game purchase strategy and tips for saving money across regions.
Using virtualized tables for large datasets (hundreds of rows), with notes on DOM complexity and profiling.
Reflecting on 2021: Systematic fitness habits, milestones in open-source development, professional CI/CD improvements, …
What yield and yield* do in generators, how they differ, and when to use each, with examples.
Use declaration merging to add custom properties (e.g., loading flags) to AxiosRequestConfig without sacrificing type …
Browser storage choices (cookie, sessionStorage, localStorage, IndexedDB), differences, and when to use which.
This article introduces implementing GIF search with Alfred, including advantages of GIF search, implementation details, …
This article provides an introduction to Jenkins continuous integration for publishing new NPM packages, including the …
A review of the essential hardware and software tools I added to my toolkit in 2020, featuring AirPods 2, ASUS …
An overview of third-party services powering my personal blog, with setup notes and brief impressions.
Apply a wildcard cert (e.g., *.1991421.cn) to cover many subdomains; notes on limits and Certbot steps.
How to enable HTTPS decryption (MitM) in Surge on macOS and iOS, why it’s useful, and caveats.
Frontend fundamentals: MVC/MVP/MVVM, how browsers work, React Fiber, and how Redux triggers updates.
Notes from frontend interview questions to reinforce fundamentals: TCP handshake, number precision, storage, hoisting, …
This article provides a comprehensive comparison between JSON and XML data formats, including their differences, use …
This article explains what Git snapshots are, how they are stored, and why they matter. These details help you …
Two web bugs traced to encoding: URL fragments in the URL API and window.btoa choking on non-ASCII.
This article introduces how to use Touch ID and Apple Watch for sudo authorization in terminal, including use cases, …
Reducing unnecessary renders in SPA apps with React (and similar frameworks), including strategies, pitfalls, and …
This article provides a comparison between JIT (Just-In-Time) and AOT (Ahead-Of-Time) compilation, including their …