Posts
Written down, so it isn't forgotten.
-
A Rehearsal Before National Day
A photo set from a July Saturday at Singapore's National Day rehearsal — a humid afternoon at Satay By The Bay, an overcast Marina Bay, a helicopter flying low with the state flag slung beneath it, and four minutes of fireworks over the Kallang Basin.
-
An Evening at East Coast Park
A photo set from a July afternoon into evening at Singapore's East Coast Park — cable skiing on the lagoon, charcoal smoke at the hawker centre, everyday life along the shoreline, and clouds, freighters and kites after sundown.
-
Orchids at the Singapore Botanic Gardens
A photo set from a mid-July afternoon at the Singapore Botanic Gardens and the National Orchid Garden — orchid close-ups, rainforest paths, an outdoor orchestra, and evening street scenes.
-
Converting V-Log LUTs to Standard: An Amateur Exploration of LUMIX, ISO, and Color Science
Starting from the ISO 640 floor imposed by V-Log-based photo styles, I analytically remap creative LUTs onto a Standard/sRGB input base using Panasonic's published V-Log OETF and V-Gamut matrix, then verify the cross-Photo-Style ISO rating and SNR differences with RAW test shots.
-
Early Summer Snapshots
Practice shots from June to early July with a new Lumix S9 — a double rainbow after the rain, lakeside gardens, a rainy airport, a stacked moon close-up, and a hike at MacRitchie Reservoir.
-
A Beginner's Course in Photographic Lens Optical Design: From Aberrations and Classic Lens Groups to Computational Optics
From paraxial ideals and Seidel aberrations to classic lens groups like the Cooke Triplet, Double Gauss, telephoto and retrofocus, then on to aspherics, special glass, MTF and computational optics — a beginner's course that threads photographic lens design into one coherent picture.
-
Tricks Claude and ChatGPT into Accepting API-Key-Only MCP Servers
Facing Claude and ChatGPT's OAuth-only restriction, I built MCP-Key2OAuth — a lightweight Cloudflare Workers proxy that lets any API-key-authenticated MCP server connect to major AI clients without touching the backend.
-
Taiwan Travelogue
A travel log from late 2025 with a friend, going from Taipei south through Taichung, Tainan, and Kaohsiung, then returning home via a Hong Kong layover.
-
Idle Router + Xiaomi Speaker: Hardcore Guide to Low-Cost LAN AirPlay 2 Audio Bridging
A practical guide and troubleshooting record on using an idle OpenWrt/ImmortalWrt router to build a low-latency AirPlay 2 receiver for the Xiaomi Smart Speaker Pro.
-
AI Secondary Screen (Part 2): Building a Personalized Multi-Source News Recommendation Feed with LLMs
A practical project demonstrating how to build a personalized news recommendation system using LLMs.