Archives
All the articles I've archived.
GCP Pub/Sub Exactly-Once Delivery Latency Experiment
Updated:Why Pub/Sub adds non-trivial latency. And why exactly-once delivery makes it worse.
Git and Release Strategies I've Seen Go Wrong and What Works Better(zh)
The bad release practices and weak ownership I've seen and the better alternatives.
Go Graceful Shutdown Mistakes Even Senior Engineers Make
A summary of incorrect usages I've come across and two correct ways to use them
Use Kubernetes PreStop to Reduce Server Errors During Scale Down
How a simple PreStop hook can reduce transient 5xx errors during pod termination. In production.
Less Is More Valuable In the Age of AI
Updated:Write more humane articles and messages by increasing information density and reduce information entropy.
Practical CKAD Exam Tips
Learn how to prepare for the CKAD exams. Gain confidence and pass the exams with ease.
How To Be A Bad Engineer
Use runtime configuration obfuscation to increase system complexity. So that no one but you can understand or control the system.
Got Bitten By Java Logback and Helm Charts
Unexpected behavior of Helm Chart, poor logging design and communication cost me days to deploy the application.
Server Sent Events
Server Sent Events Go and TypeScript implementation. An alternative to WebSockets.
The Problem with Rigid Team Boundaries
Why teams work better when knowledge, ownership, and responsibility are shared rather than strictly partitioned.
Celebrating Solving 1000 Leetcode Questions
Ten years since first submission.
Revisiting Authentication
OAuth, JSON Web Tokens, HTTPOnly Cookies and the best practices
Enterprise Github Actions Runner In Kubernetes
Cannot possibly make it happen because of permission
Building An Expression Evaluator Using CEL Go
Common Expression Language(CEL) Go basic usage, custom functions, etc.
Publish To NPM
Publishing packages to public NPM registry tutorial
Linux Cheat Sheet
Daily Linux commands
Markdown To Confluence
Updated:My CLI tool for converting Markdown documents to Confluence wiki markup and publishing. Time to make the documenting workflow humanized and streamlined.
The Demystification of The Work of Programmers(zh)
Updated:When the job no longer excites me so much, I realize I am outstanding.
Optimizing Hive Query
Too many CTEs causes performance issue, which makes the Spark job hanging. How it can be optimized using CASE WHEN
Save My Team From Writing Python Like It Is 2010
Updated:On Python formatting, typing, and the tooling gap in real-world teams.
Minecraft Quick Setup Manual
Minecraft with my favorite mods on AWS spot instances. Quick setup manual.
Spinning Up a Temporary Go Server for OAuth Callbacks in CLI Apps
Updated:Set up a temporary Go HTTP server to handle OAuth callbacks, commonly used in CLI applications for authentication flows.
An Interesting Experience Debugging Go API Performance
Unexpected and humorous results from investigation of high CPU usage of Go API.
A Weird Way Of Using Git
Found a team using Git in a weird, ugly way. I can't find out why. Hopefully there is at least one reason. I know I shouldn't interfere other people's business but I just got too curious.
Upgrading React Exposes Problems But That’s a Good Thing(zh)
Updated:What I learned from handling a Frontend bug and working in a team
3D Motion Sickness
Updated:Games shouldn't prioritize excessive visual detail at the cost of performance and comfort
QNAP TS464C
Updated:My first NAS. And It's great. Keep it in mind to use a hard disk dedicated for NAS
2024 Summary
Games, Anime, TV shows and Movies I have played or watched that I found worth-noting in 2024.

My Keymap Configuration and Shortcuts
Updated:Configuring keymaps and shortcuts for the Keychron K3 Max keyboard on Windows.








