Blog

What Are Git Snapshots

This article explains what Git snapshots are, how they are stored, and why they matter. These details help you understand Git more efficiently.

Dec 20, 2020

Encoding Pitfalls to Watch

Two web bugs traced to encoding: URL fragments in the URL API and window.btoa choking on non-ASCII.

Dec 16, 2020

Using Touch ID and Apple Watch for sudo Authorization in Terminal

This article introduces how to use Touch ID and Apple Watch for sudo authorization in terminal, including use cases, implementation details, etc., to improve efficiency.

Dec 10, 2020

Web Performance: Reduce Re-Renders

Reducing unnecessary renders in SPA apps with React (and similar frameworks), including strategies, pitfalls, and examples.

Dec 8, 2020

JIT vs AOT

This article provides a comparison between JIT (Just-In-Time) and AOT (Ahead-Of-Time) compilation, including their advantages, implementation details, and practical differences in various programming environments.

Dec 6, 2020

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 advantages, implementation details, and related resources to improve efficiency.

Dec 6, 2020

Limitations of React's componentWillUnmount

This article discusses the limitations of React's componentWillUnmount lifecycle method, including its advantages, implementation details, and relevant resources to help developers understand and work around these constraints.

Dec 5, 2020

Daily High-Frequency Alfred Workflows I Use and Recommend

This article introduces daily high-frequency Alfred workflows, including usage scenarios and implementation details to improve efficiency with Alfred workflows.

Dec 5, 2020

TypeScript Enum vs. ES6 Symbol

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

Dec 2, 2020

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 mismatched Node versions.

Dec 1, 2020

Alfred Snippet VS Apple Text Replacement

Explore the differences and synergies between Alfred Snippet and Apple Text Replacement. Learn how to optimize text input efficiency across macOS and iOS devices.

Nov 30, 2020

Implementing One-Click Airdrop with Alfred

This article introduces implementing one-click Airdrop with Alfred, including Airdrop advantages, implementation details, and related resources to improve Airdrop efficiency.

Nov 29, 2020

JavaScript Regular Expressions: Literal vs Constructor

This article explains the differences between JavaScript regular expression literals and constructors, including their advantages, implementation details, and related resources. These concepts help improve efficiency when working with regular expressions in JavaScript.

Nov 28, 2020

Relearning Regular Expressions

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

Nov 26, 2020

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.

Nov 25, 2020

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.

Nov 22, 2020

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 settings, and testing the proxy connection.

Nov 17, 2020

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.

Nov 16, 2020

External Microphone for Mac

This article introduces external microphones for Mac, including their advantages, implementation details, and related information to help improve efficiency when using external microphones.

Nov 14, 2020

Understanding TypeScript

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

Nov 10, 2020

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.

Nov 8, 2020

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 application in work and life.

Nov 7, 2020

Best Practices for Batch Updating Production Data

When performing complex updates on tables with hundreds of thousands of rows, single massive transactions can cause issues. This post shares a script-based approach to breaking down updates into smaller, safer chunks.

Nov 3, 2020

Daily Challenge — Predict the Rendered Value

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

Oct 31, 2020

Daily Challenge — Avoid Infinite Loop

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

Oct 29, 2020