<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Link&apos;s Blog</title><description>Real-time messaging systems, networking internals, Go, and high-performance backends.</description><link>https://ralphbupt.github.io/</link><item><title>Incremental State Sync: How Clients Catch Up Without Re-Downloading the World</title><link>https://ralphbupt.github.io/2026/06/14/Incremental-State-Synchronization/</link><guid isPermaLink="true">https://ralphbupt.github.io/2026/06/14/Incremental-State-Synchronization/</guid><description>How real-time apps let a client catch up on state — conversations, group members, missed messages — after going offline, without re-downloading everything. A tour from replication logs and IMAP to Telegram, Discord, Matrix, and WeChat, and the distributed-systems theory underneath.</description><pubDate>Sun, 14 Jun 2026 02:00:00 GMT</pubDate><category>Distributed Systems</category><category>Messaging</category><category>Synchronization</category><category>Architecture</category></item><item><title>Group Chat vs. Live Stream Messaging: A Comparison</title><link>https://ralphbupt.github.io/2024/07/11/Group-Chat-vs-Live-Stream-Messaging-A-Comparison/</link><guid isPermaLink="true">https://ralphbupt.github.io/2024/07/11/Group-Chat-vs-Live-Stream-Messaging-A-Comparison/</guid><description>Two systems that look alike and are built oppositely: group chat optimizes for durable, reliable fan-out to mailboxes; live-stream messaging for lossy, immediate fan-out to millions of in-memory connections.</description><pubDate>Thu, 11 Jul 2024 15:31:11 GMT</pubDate><category>IM</category><category>Architecture</category><category>Live Streaming</category><category>Messaging</category><category>Distributed Systems</category></item><item><title>Troubleshooting a UDP Packet Loss Issue on Linux</title><link>https://ralphbupt.github.io/2024/07/07/Troubleshooting-a-UDP-Packet-Loss-Issue-on-Linux/</link><guid isPermaLink="true">https://ralphbupt.github.io/2024/07/07/Troubleshooting-a-UDP-Packet-Loss-Issue-on-Linux/</guid><description>A multi-day hunt for UDP packet loss in a QUIC proxy: reading kernel receive-path counters in order, why a bigger socket buffer never helped, and what I&apos;d reach for today.</description><pubDate>Sat, 06 Jul 2024 19:11:02 GMT</pubDate><category>Linux</category><category>UDP</category><category>QUIC</category><category>Networking</category><category>Performance</category></item><item><title>High-Performance Go Service Architecture for Millions of Connections at Baidu</title><link>https://ralphbupt.github.io/2024/07/04/High-Performance-Go-Service-Architecture-for-Millions-of-Connections-at-Baidu/</link><guid isPermaLink="true">https://ralphbupt.github.io/2024/07/04/High-Performance-Go-Service-Architecture-for-Millions-of-Connections-at-Baidu/</guid><description>How a unified long-connection platform holds tens of millions of concurrent connections in Go: layered architecture, a connection state machine, and the goroutine, buffer, and GC discipline that keeps tail latency in budget.</description><pubDate>Thu, 04 Jul 2024 06:58:46 GMT</pubDate><category>Go</category><category>Architecture</category><category>Long Connection</category><category>High Concurrency</category><category>Networking</category></item></channel></rss>