Blog

One-Click Audio Input/Output Device Switching on Mac with Alfred

This article introduces implementing one-click audio input/output device switching on Mac with Alfred, including …

· 1 min
MacProductivity Tools

Limitations of React's componentWillUnmount

This article discusses the limitations of React's componentWillUnmount lifecycle method, including its advantages, …

· 2 min
ReactJavaScript

Daily High-Frequency Alfred Workflows I Use and Recommend

This article introduces daily high-frequency Alfred workflows, including usage scenarios and implementation details to …

· 1 min
Efficiency Tools

TypeScript Enum vs. ES6 Symbol

Compares TypeScript enums and ES6 symbols so you know when to choose each for identifiers and constants.

· 2 min
JavaScriptTypeScript

rsync total size is 0 speedup is 0.00

Diagnoses rsync reporting “total size is 0 speedup is 0.00” during GitHub Actions deployments and traces it back to …

· 2 min
LinuxGit

Alfred Snippet VS Apple Text Replacement

Explore the differences and synergies between Alfred Snippet and Apple Text Replacement. Learn how to optimize text …

· 3 min
AlfredMacEfficiency

Implementing One-Click Airdrop with Alfred

This article introduces implementing one-click Airdrop with Alfred, including Airdrop advantages, implementation …

· 1 min
Productivity Tools

JavaScript Regular Expressions: Literal vs Constructor

This article explains the differences between JavaScript regular expression literals and constructors, including their …

· 1 min
JavaScript

Relearning Regular Expressions

Notes from a focused refresh on regular expressions: value, correct mental model (assertions, groups, greediness), and …

· 1 min
Reflections

One-Click Publishing from Hexo Markdown to Medium with Alfred

Shows how to build an Alfred workflow that publishes Hexo Markdown posts to Medium via its API.

· 2 min
Productivity

Buying Safari Online (O'Reilly) Membership via ACM

Walkthrough for accessing O'Reilly Safari Online through an ACM membership—registration steps, pricing, and login tips.

· 1 min
Learning

How to Set Up a Network Proxy in Terminal Shell

Learn how to set up a network proxy in terminal shell for OS X. This guide covers configuring shell files, applying …

· 2 min
iTerm2ShellTerminalProxy

Alfred Workflow for Surge

How I built an Alfred workflow that talks to Surge’s HTTP API so I can toggle proxies from the keyboard.

· 1 min
Network ToolsProductivity

External Microphone for Mac

This article introduces external microphones for Mac, including their advantages, implementation details, and related …

· 2 min
MacApple Ecosystem

TypeScript Explained (Simple Guide)

Key takeaways about TypeScript, including use cases and implementation details, to help you work with the language more …

· 2 min
TypeScript

A Loving Inn in Dali — Guanyuan

A serendipitous stay at a warm, welcoming inn in Dali — scenery, food, the hosts, and why it felt like real life.

· 2 min
Personal Notes

The 7 Habits of Highly Effective People - Book Review

A personal reflection on "The 7 Habits of Highly Effective People" by Stephen Covey, exploring each habit and its …

· 3 min
Book ReviewEssay

Best Practices for Batch Updating Production Data

When performing complex updates on tables with hundreds of thousands of rows, single massive transactions can cause …

· 2 min
Database

Daily Challenge — Predict the Rendered Value

A Vue question on reactivity and lifecycle: what value renders on the page, and why.

· 1 min
JavaScriptVue

Daily Challenge — Avoid Infinite Loop

A frontend quiz: modify the code to avoid an infinite loop, with analysis and solutions (Web Worker, async approaches).

· 1 min
JavaScript

Parent-Child Commits in Git Log

This article introduces parent-child commits in Git log, including their advantages, implementation details, and related …

· 1 min
Git

Book Notes: Life’s Moat (《人生护城河》)

Personal notes after reading 《人生护城河》 — reflections on writing, multiple income streams, and playing to your strengths.

· 2 min

Upgrading TypeScript to v4

Notes from upgrading to TypeScript 4.0—packages to bump, issues encountered, and fixes.

· 1 min
TypeScript

Reading the Meituan Homepage HTML Source

A tour of the Meituan homepage markup covering SEO tags, DNS prefetching, async/defer, IIFEs, and more front-end …

· 2 min
Technical Learning

Improve Frontend Code Quality — Stylelint

A quick setup for Stylelint to enforce CSS style, complementing ESLint on the JS side.

· 2 min
Frontend DevelopmentCSS