Takeaways from two reports: the China Developer Survey and InfoQ’s 2020 China Technology White Paper.
A curated list of essential iPad apps for productivity, entertainment, and more. Discover top utilities and tools to …
Why I bought the ASUS RT-AC1900P, the use cases it solves, and setup notes so you can get up and running quickly.
This article provides an introduction to Java log management and operations analysis, including best practices, …
This article introduces concurrency, parallelism, processes, and threads, including usage scenarios and implementation …
This article introduces the concept of escalation of commitment, including usage scenarios and implementation details to …
本文介绍关于加入Medium Partner Program,包括使用场景、实现细节等,以提高关于加入Medium Partner Program的效率。
Using Crowdin to contribute technical translations daily; thoughts on quality, learning, and tooling.
This post introduces the KSA model, its meaning, and my thoughts on applying it to learning.
Why I upgraded from AirPods Gen 1, who should buy them, Gen 2 vs. Gen 1/Pro, battery life, and resale options.
Reflections on the X-Y Problem and why clear, thoughtful questions save everyone time.
Migrated from Swiftype/local search to Algolia on Hexo + NexT: account setup, keys, theme and site config, indexing, and …
What emojis are (characters, not images), encoding basics, why JS string length varies, and practical notes.
A quick primer on keyboard terminology: modifier keys, zones, layouts, and customization tools.
本文介绍关于PayPal的使用,包括使用场景、实现细节等,以提高关于PayPal的使用的效率。
Notes from reading a book on WebSocket, including its purpose, security, related protocols, the OSI model, and key …
Spring Boot + React example for broadcasting events via WebSocket/STOMP, plus deployment gotchas.
This article introduces playing with the ThinkPad X1 Carbon 2019, including usage scenarios and implementation details …
This post introduces lodash's isEmpty, including common misunderstandings, examples, and how the source code determines …
This article provides an introduction to query-string@5 vs 6, including their advantages, implementation details, and …
Why type‑ahead shows stale results and how to fix it: cancel pending requests and show loading states.
Why our team needed regular retrospectives, a simple meeting structure, and tools that help.
Highlights and personal reflections after reading Refactoring (2nd Edition).
This post summarizes the tools I bought in 2019, including HomePod, iPad mini 5, Bose 700, and the MacBook Pro 16, which …
This is the author's 2019 year-end summary, reviewing growth in a complex project, reflecting on technical learning, and …