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 …
This article introduces implementing one-click audio input/output device switching on Mac with Alfred, including …
This article discusses the limitations of React's componentWillUnmount lifecycle method, including its advantages, …
This article introduces daily high-frequency Alfred workflows, including usage scenarios and implementation details to …
Compares TypeScript enums and ES6 symbols so you know when to choose each for identifiers and constants.
Diagnoses rsync reporting “total size is 0 speedup is 0.00” during GitHub Actions deployments and traces it back to …
Explore the differences and synergies between Alfred Snippet and Apple Text Replacement. Learn how to optimize text …
This article introduces implementing one-click Airdrop with Alfred, including Airdrop advantages, implementation …
This article explains the differences between JavaScript regular expression literals and constructors, including their …
Notes from a focused refresh on regular expressions: value, correct mental model (assertions, groups, greediness), and …
Shows how to build an Alfred workflow that publishes Hexo Markdown posts to Medium via its API.
Walkthrough for accessing O'Reilly Safari Online through an ACM membership—registration steps, pricing, and login tips.
Learn how to set up a network proxy in terminal shell for OS X. This guide covers configuring shell files, applying …