Latest writings

RustTauri

Runs in Production, Crashes Locally — Six Lessons a Rust Project Taught Me

Six problems encountered building LOL-AI-Intelligence: async/blocking boundaries, debug assertion traps, UI architecture refactors, error handling, i18n, and line endings. Each one cost me hours.

Web ScrapingTLS Fingerprinting

eFootball Scraper Tech Deep Dive: From JA3 to the Cookie Hack

How my eFootball player data scraper went from 38,000 requests to 1,177 — TLS fingerprint spoofing, Perlin noise rate limiting, circuit breaker backoff, and the cookie discovery that saved the day.

Reverse EngineeringeFootball

eFootball Player.bin Reverse Engineering Notes: What Four Screw-Ups Taught Me

From FF mode losing skills, an editor that couldn't find players, to CSV validation false alarms — four pitfalls in eFootball player data reverse engineering and the lessons behind them.

Web ScrapingPython

From Blocked to Blazing Fast: A Scraping Showdown, Live

Goal: scrape all 37,650 player card records from pesdb.net. From TLS fingerprint exposure, multi-threaded crashes, to discovering a single Cookie that saves 97% of requests — a complete record of an anti-anti-scraping battle.

AIBias

Can AI Be Objective? Come On — It Didn't Even Choose What It Gets to See

Many people think of AI as perfectly rational — more neutral than humans, free of emotion. But here's the problem: AI never learned from the real world. It learned from the world humans allowed it to see.

RustTauri

A Case Sensitivity Issue That Made Me Debug for an Entire Afternoon

Built a LoL desktop assistant with Tauri + Rust. All skill values were showing 0. Checked the data layer, frontend, backend — finally found the bug hiding in a HashMap key.

RustTauri

Spent a Whole Day Writing a Parser, Then Found Out Tencent Had Already Done It for Me

Built a League of Legends skill value parser using CDragon, debugged to 93% coverage. Then someone dropped a Tencent API link — zero parsing, 100% coverage.

GamingLeague of Legends

Almost Won: A Communication Lesson from League of Legends

Afraid of getting flamed, I stayed muted for 20 minutes. A team without communication will lose even at the enemy inhibitor.

Open SourceGitHub

Almost Went Down the Wrong Path: Open Source Contribution Is Not Stamp Collecting

Contributed for the sake of contributing, without deeply studying the repos, and got 20 PRs rejected. Until a veteran developer woke me up.

Open SourceGitHub

Three Merged PRs: Quality Over Quantity in Open Source Contributions

From 20 closed PRs to 3 merged PRs — what I learned about picking the right problem mattering more than writing the right code.

AIPsychology

When You Chat With AI Until 3 AM: Psychology, Moral Boundaries, and a Bowl of Instant Noodles

What exactly is our relationship with AI? How does psychology explain it? Where do the moral boundaries lie? And why is it so easy to get hooked chatting with AI at 3 AM?

AICustomer Service

It Started With a Conversation: The Birth of My First AI Customer Service Demo

Without a real-world scenario, all AI is hollow. I started with a single conversation, found a genuine customer service pain point, and built a minimum viable AI demo.

AI AgentCloud Deployment

Deploying AI Agents to the Cloud: 24/7 Coding and Review from Your Phone

When cloud-based agents like Hermes and OpenClaw connect to Telegram, Discord, WhatsApp, or WeChat, your phone becomes more than a chat tool — it becomes a portable development console.

Open SourceGitHub

My Open Source Journey — From Zero to Two Merged PRs

How I, as a computer science undergraduate, started contributing to open source and what I learned along the way.

DesignUI Engineering

Designing with Depth — Beyond Flat Interfaces

Why spatial interfaces are the next evolution in digital design.