Tuyen Pham's Blog
-
26th May 2026Install WSL for Development and Fix Common Problems on Windows
How to install WSL for development on Windows, set up Git and .NET, reclaim virtual disk space, and fix TLS certificate errors behind a corporate proxy.
-
22nd May 2026Bun's Rust Port and the New Reality of AI Engineering
A cautiously optimistic look at Bun's AI-assisted Rust port, and what it means for Zig, Rust, and the new reality of software work.
-
12th May 2026Why My Blog Suddenly Had 70,000 Daily "Visitors"
Cloudflare showed a sudden 10x traffic spike on my static programming blog. The traffic shape pointed to bots, scraping, and cache bypass.
-
2nd May 2026Deciding Browser Support for a Modern Website
Should your website support only recent browsers, or include older versions too? A practical way to weigh cost, reach, and user experience.
-
29th April 2026A Quality Checklist I Use for This Personal Website
A note-to-self for maintaining tuyen.blog, covering Precise Alloy, PageSpeed, WCAG, responsive support, offline access, security, themes, and print.
-
18th April 2026Tauri App: One Frontend Codebase for Native and Web
Use Tauri IPC mocking with plugin-store as the example, then adapt the same mechanism to other Tauri plugins and commands.
-
17th April 2026Preload Google Fonts Before the CSS Waterfall Starts
Use a small build script to extract Google Fonts URLs, keep @font-face rules in base CSS, and preload the exact WOFF2 files that matter.
-
13th April 2026Optimizely CMS: What Actually Happens When You Click Save a Rich Text Block?
A practical look at how TinyMCE is wired into Optimizely CMS, how content is filtered, and why the save pipeline matters for security and support.
-
9th April 2026Raw HTML Block: Quick Wins, Hidden Costs
Why Raw HTML Block is useful in emergencies, risky as a habit, and usually worth converting into a proper UI component.
-
6th April 2026Optimizely CMS: Site Settings
Optimizely CMS plugin for managing strongly typed site settings per site and language directly in the editor UI.