Building a Small Three.js Scene: Shadows, Animation, and Speed Controls
A hands-on Three.js walkthrough that starts with a basic scene, then adds shadows, animation with requestAnimationFrame, FPS stats, and interactive speed controls using dat.GUI.
A hands-on Three.js walkthrough that starts with a basic scene, then adds shadows, animation with requestAnimationFrame, FPS stats, and interactive speed controls using dat.GUI.
A practical guide to front-end exception logging and monitoring, covering active instrumentation, try..catch, window.onerror, cross-origin Script error issues, minified code location, sampling, alert rules, and actionable error messages.
A personal reflection on parents spending their life savings to support adult children, the pressure of buying a home, and the difficult adjustment as family roles begin to reverse.
Hands-on notes after assembling and testing the Beiqi B321 digital piano, including setup, Bluetooth mini-program issues, key feel, sound, speaker placement, and app features.
A clear explanation of common Java object types and layers, including PO, VO, BO, DTO, POJO, and DAO, with their roles in persistence, data transfer, and business logic.
A personal year-end reflection on 2021: school, work in Shanghai, a credit card fraud scare, networking projects, Nix, FRC, amateur radio, a trip to Changsha, and gratitude for friends.
A casual summer break recap: delayed school reopening, a rebuilt forum, unfinished programming projects, too many bugs, a season of gaming, and a little bit of watching and reading.
Two practical Shields.io badge styles for marking a site as hosted on Tencent EdgeOne, using either the EdgeOne icon or the Tencent Cloud logo with Tencent Cloud’s Azure Radiance brand color.
A hands-on look at using the Sunlogin C2 smart power socket to remotely start, shut down, schedule, and monitor an office PC for more convenient remote access.
Reading notes on JavaScript fundamentals from The Good Parts, covering falsy values, typeof behavior, logical operators, and the four function invocation patterns that determine this.