<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>白夜書簡 (EN)</title><description>Systems, Data, Code, and Ideas</description><link>https://ruihaozhang.com/</link><item><title>Oracle Cloud Always Free 24 GB RAM VPS Guide</title><link>https://ruihaozhang.com/en/blog/oracle-always-free-vps/</link><guid isPermaLink="true">https://ruihaozhang.com/en/blog/oracle-always-free-vps/</guid><description>Oracle Cloud offers a permanently free ARM VPS with up to 4 cores, 24 GB RAM, and 200 GB disk — no VPN required. This guide walks you through account registration, claiming free resources, and network configuration, with a full breakdown of the Always Free tier limits.</description><pubDate>Mon, 06 Apr 2026 13:16:44 GMT</pubDate></item><item><title>How to Build Claude Skills</title><link>https://ruihaozhang.com/en/blog/build-claude-skill/</link><guid isPermaLink="true">https://ruihaozhang.com/en/blog/build-claude-skill/</guid><description>Claude Skills is a mechanism for teaching Claude automated workflows through structured files (SKILL.md and optional scripts, reference docs, etc.). This post covers Skill file structure and design principles, how to test trigger timing and functionality, and how to distribute and share Skills with others.</description><pubDate>Wed, 18 Mar 2026 14:18:09 GMT</pubDate></item><item><title>Python Package Manager uv — A Practical Guide</title><link>https://ruihaozhang.com/en/blog/python-uv-manual/</link><guid isPermaLink="true">https://ruihaozhang.com/en/blog/python-uv-manual/</guid><description>uv is a modern Python package manager written in Rust that can replace pip, virtualenv, pyenv, and poetry in one tool. This guide covers common commands and configuration for project initialization, dependency management, script execution, pyproject.toml setup, and Workspace multi-package management.</description><pubDate>Mon, 09 Mar 2026 14:12:59 GMT</pubDate></item><item><title>IPv6 and DNS Leaks with System Proxy and TUN Mode in VPN</title><link>https://ruihaozhang.com/en/blog/vpn-proxy-tun-ipv6-dns-leak/</link><guid isPermaLink="true">https://ruihaozhang.com/en/blog/vpn-proxy-tun-ipv6-dns-leak/</guid><description>When using Claude via VPN in China, enabling TUN mode alone causes IPv6 and DNS leaks, making the Claude web app inaccessible; while enabling system proxy alone breaks the terminal tool Claude Code. Enabling both modes simultaneously is currently the simplest and most reliable solution.</description><pubDate>Sat, 07 Mar 2026 10:51:24 GMT</pubDate></item><item><title>How to Expand the Windows System Drive Using Non-Adjacent Space</title><link>https://ruihaozhang.com/en/blog/windows-system-disk-extend/</link><guid isPermaLink="true">https://ruihaozhang.com/en/blog/windows-system-disk-extend/</guid><pubDate>Wed, 04 Mar 2026 20:45:22 GMT</pubDate></item><item><title>How to Remove Linux from a Windows/Linux Dual-Boot System</title><link>https://ruihaozhang.com/en/blog/delete-linux/</link><guid isPermaLink="true">https://ruihaozhang.com/en/blog/delete-linux/</guid><description>On a Windows 11 + Ubuntu dual-boot setup, you can cleanly remove Linux and keep Windows intact by restoring the Windows EFI bootloader, force-deleting the Linux partitions via Disk Management or diskpart, and formatting the freed space as a new NTFS volume.</description><pubDate>Tue, 03 Mar 2026 23:53:22 GMT</pubDate></item><item><title>Is It Worth Converting RMB to USD for Spending in China?</title><link>https://ruihaozhang.com/en/blog/cny-to-usd-is-it-worth-it/</link><guid isPermaLink="true">https://ruihaozhang.com/en/blog/cny-to-usd-is-it-worth-it/</guid><description>With a 3% cashback US credit card, is it worth converting RMB to USD for spending in China? Through fixed and dynamic exchange rate analysis, combined with the recent USD depreciation trend, spending within 5 months of conversion can still yield arbitrage gains — beyond 5 months, it is no longer profitable.</description><pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Java Testing Notes: JUnit4 + PowerMockito</title><link>https://ruihaozhang.com/en/blog/java-test-junit4-powerMockito/</link><guid isPermaLink="true">https://ruihaozhang.com/en/blog/java-test-junit4-powerMockito/</guid><description>This article systematically covers the core techniques for unit testing with JUnit4 + PowerMockito, including the AAA test steps, reflection-based access to private members, static method verification, spy stubbing, constructor interception, and practical argument matcher usage — a quick reference for Java testing.</description><pubDate>Fri, 27 Feb 2026 23:53:22 GMT</pubDate></item><item><title>Storage Hierarchy in the AI Era: A Conceptual Framework from SRAM to NVMe</title><link>https://ruihaozhang.com/en/blog/ai-era-storage-hierarchy-from-sram-to-nvme/</link><guid isPermaLink="true">https://ruihaozhang.com/en/blog/ai-era-storage-hierarchy-from-sram-to-nvme/</guid><description>From registers to NVMe SSDs, this article systematically maps the complete storage hierarchy of the AI era — SRAM forms the high-speed CPU cache, the DRAM family (DDR/LPDDR/GDDR/HBM) covers memory needs from mobile devices to AI accelerators, while NAND Flash and magnetic disks underpin SSD and HDD persistent storage respectively, with PCIe/SATA/SAS interfaces and NVMe/SCSI protocols closing the loop across the entire hierarchy.</description><pubDate>Mon, 02 Feb 2026 21:38:55 GMT</pubDate></item><item><title>Git Common Commands Reference</title><link>https://ruihaozhang.com/en/blog/git-common-commands/</link><guid isPermaLink="true">https://ruihaozhang.com/en/blog/git-common-commands/</guid><description>This article compiles the most commonly used Git commands for day-to-day development, covering branch management, remote pushing, interactive rebase for editing commit history, and submodule operations including adding, initializing, and updating — a handy quick-reference guide.</description><pubDate>Sun, 01 Feb 2026 11:57:20 GMT</pubDate></item></channel></rss>