<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>AriesZhou — English</title>
    <link>https://www.arieszhou.com/blog</link>
    <description>Essays and notes by AriesZhou on products, developer tools, reading, and learning.</description>
    <language>en</language>
    <lastBuildDate>Fri, 28 Aug 2026 04:00:00 GMT</lastBuildDate>
    <atom:link href="https://www.arieszhou.com/rss.en.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>AI Doesn&apos;t Understand &quot;That Earlier One&quot;</title>
      <link>https://www.arieszhou.com/blog/ai-doesnt-understand-that-earlier-one</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/ai-doesnt-understand-that-earlier-one</guid>
      <pubDate>Fri, 28 Aug 2026 04:00:00 GMT</pubDate>
      <description>Starting with whether someone can ever truly understand &quot;red,&quot; I found myself wondering why AI so often fails to understand &quot;that earlier one.&quot; Language may work less like a container and more like an index into experience, while project work depends on a history that others can pick up and continue.</description>
      <category>Essays</category>
      <category>AI</category>
      <category>Context Engineering</category>
      <category>Communication</category>
      <category>Project Collaboration</category>
    </item>
    <item>
      <title>README? LandingPage</title>
      <link>https://www.arieszhou.com/blog/readme-landingpage-guide</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/readme-landingpage-guide</guid>
      <pubDate>Tue, 25 Aug 2026 09:44:30 GMT</pubDate>
      <description>On how to write a good README.</description>
      <category>Technology</category>
      <category>github</category>
    </item>
    <item>
      <title>Singles</title>
      <link>https://www.arieszhou.com/blog/singles</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/singles</guid>
      <pubDate>Wed, 05 Aug 2026 08:33:58 GMT</pubDate>
      <description>I played singles twice recently. Compared to doubles, it is much more physically demanding, and the court feels bigger...</description>
      <category>Daily Life</category>
      <category>Badminton</category>
      <category>Musings</category>
    </item>
    <item>
      <title>From ClashX to Clash Verge: Why Web Pages Work but Codex Can&apos;t Connect</title>
      <link>https://www.arieszhou.com/blog/from-clashx-to-clash-verge-why-web-pages-work-but-codex-can-t-connect</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/from-clashx-to-clash-verge-why-web-pages-work-but-codex-can-t-connect</guid>
      <pubDate>Tue, 14 Jul 2026 06:30:00 GMT</pubDate>
      <description>After switching proxy clients, GitHub, YouTube, and ChatGPT web pages all work, but Codex can&apos;t connect. The issue lies in system proxy, process environment, and command-line networking being different layers.</description>
      <category>AI Tools</category>
      <category>Networking</category>
      <category>ChatGPT</category>
      <category>Codex</category>
      <category>ClashX</category>
      <category>Clash-Verge</category>
      <category>macOS</category>
      <category>Proxy</category>
    </item>
    <item>
      <title>MIT Licenses Code, Not the Whole Product</title>
      <link>https://www.arieszhou.com/blog/mit-licenses-code-not-the-whole-product</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/mit-licenses-code-not-the-whole-product</guid>
      <pubDate>Thu, 11 Jun 2026 09:33:33 GMT</pubDate>
      <description>A discussion on open source issues sparked by a derivative work of Mole, along with reflections on how AI lowering the barrier to coding impacts open source.</description>
      <category>OpenSource</category>
      <category>OpenSource</category>
      <category>AI</category>
      <category>Essay</category>
    </item>
    <item>
      <title>From Next.js to Astro</title>
      <link>https://www.arieszhou.com/blog/from-next-js-to-astro</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/from-next-js-to-astro</guid>
      <pubDate>Tue, 14 Apr 2026 02:00:00 GMT</pubDate>
      <description>The decision, architectural changes, and pitfalls encountered when migrating a blog system from Next.js to Astro.</description>
      <category>Web Development</category>
      <category>astro</category>
      <category>nextjs</category>
      <category>architecture</category>
      <category>blog</category>
      <category>migration</category>
    </item>
    <item>
      <title>After Listening to &quot;The Economics of Exhaustion&quot;</title>
      <link>https://www.arieszhou.com/blog/after-listening-to-the-economics-of-exhaustion</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/after-listening-to-the-economics-of-exhaustion</guid>
      <pubDate>Mon, 30 Mar 2026 11:50:00 GMT</pubDate>
      <description>Yesterday I listened to Episode E227 of the podcast 知行小酒馆, titled &quot;The Economics of Exhaustion: Why has technology advanced, yet we feel more tired?&quot; The content of this episode happened to resonate with my recent sense of fatigue.</description>
      <category>Essays</category>
      <category>Psychology</category>
      <category>Thinking</category>
    </item>
    <item>
      <title>Information Anxiety and FOMO</title>
      <link>https://www.arieszhou.com/blog/information-anxiety-and-fomo</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/information-anxiety-and-fomo</guid>
      <pubDate>Thu, 26 Mar 2026 04:27:00 GMT</pubDate>
      <description>I thought I could keep learning as I age, but I just can&apos;t keep up, not at all...</description>
      <category>Essays</category>
      <category>Technology</category>
      <category>Thoughts</category>
    </item>
    <item>
      <title>Harness Study Notes</title>
      <link>https://www.arieszhou.com/blog/harness-study-notes</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/harness-study-notes</guid>
      <pubDate>Thu, 19 Feb 2026 02:00:00 GMT</pubDate>
      <description>Some scattered notes on Agent Harness, with demos and diagrams from GPT. A preliminary look at Action Space Design / Tool Definition / Evaluation Metrics.</description>
      <category>AI</category>
      <category>AI Agent</category>
      <category>Harness</category>
      <category>Engineering</category>
      <category>Tool Definition</category>
    </item>
    <item>
      <title>Collaborative Spreadsheet with react-data-grid (Part 2)</title>
      <link>https://www.arieszhou.com/blog/collaborative-spreadsheet-with-react-data-grid-part-2</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/collaborative-spreadsheet-with-react-data-grid-part-2</guid>
      <pubDate>Sun, 03 Aug 2025 02:00:00 GMT</pubDate>
      <description>The EditorContainer and Renderers patterns in react-data-grid, and how to separate state management from rendering.</description>
      <category>React</category>
      <category>react</category>
      <category>architecture</category>
      <category>react-data-grid</category>
      <category>component design</category>
      <category>state management</category>
    </item>
    <item>
      <title>Collaborative Tables with react-data-grid (Part 1)</title>
      <link>https://www.arieszhou.com/blog/collaborative-tables-with-react-data-grid-part-1</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/collaborative-tables-with-react-data-grid-part-1</guid>
      <pubDate>Thu, 19 Jun 2025 02:00:00 GMT</pubDate>
      <description>Starting with react-data-grid, this post looks at the architecture, technical challenges, and solutions behind collaborative tables.</description>
      <category>React</category>
      <category>react</category>
      <category>architecture</category>
      <category>table</category>
      <category>react-data-grid</category>
      <category>collaboration</category>
    </item>
    <item>
      <title>Analyzing and Solving Chrome Extension Cross-Context Communication Issues</title>
      <link>https://www.arieszhou.com/blog/analyzing-and-solving-chrome-extension-cross-context-communication-issues</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/analyzing-and-solving-chrome-extension-cross-context-communication-issues</guid>
      <pubDate>Thu, 22 May 2025 00:00:00 GMT</pubDate>
      <description>A deep dive into why chrome.storage.onChanged events fail to propagate from the background service worker to the options page in Chrome extensions, with a hybrid event-polling solution.</description>
      <category>Web Development</category>
      <category>Chrome Extension</category>
      <category>JavaScript</category>
      <category>Cross-Context Communication</category>
      <category>Debugging</category>
    </item>
    <item>
      <title>Cross-Platform Development Pitfalls: File System Case Sensitivity</title>
      <link>https://www.arieszhou.com/blog/cross-platform-development-pitfalls-file-system-case-sensitivity</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/cross-platform-development-pitfalls-file-system-case-sensitivity</guid>
      <pubDate>Wed, 07 May 2025 09:28:04 GMT</pubDate>
      <description>Solving the strange issue where local development works on macOS/Windows but Vercel builds fail, and understanding case-sensitive file system differences.</description>
      <category>Web Development</category>
      <category>File System</category>
      <category>Case Sensitivity</category>
      <category>Vercel</category>
      <category>Cross-Platform</category>
    </item>
    <item>
      <title>Data Visualization</title>
      <link>https://www.arieszhou.com/blog/data-visualization</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/data-visualization</guid>
      <pubDate>Mon, 10 Mar 2025 06:20:16 GMT</pubDate>
      <description>Data visualization is a broad topic. Here I cover some core concepts and notes from developing with D3.js, from data processing to visual mapping, and from layered architecture to interaction design.</description>
      <category>Data Visualization</category>
      <category>D3.js</category>
      <category>Data Visualization</category>
      <category>JavaScript</category>
      <category>SVG</category>
    </item>
    <item>
      <title>CSS Grid</title>
      <link>https://www.arieszhou.com/blog/css-grid-guide</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/css-grid-guide</guid>
      <pubDate>Wed, 19 Feb 2025 02:00:00 GMT</pubDate>
      <description>Understanding CSS Grid&apos;s line-based model, naming system, and how Subgrid and Grid Lanes redefine web layout.</description>
      <category>CSS</category>
      <category>CSS</category>
      <category>Grid</category>
      <category>Layout</category>
      <category>Frontend</category>
    </item>
    <item>
      <title>Static Resource Integrity Verification</title>
      <link>https://www.arieszhou.com/blog/static-resource-integrity-verification</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/static-resource-integrity-verification</guid>
      <pubDate>Mon, 22 Jul 2024 07:57:29 GMT</pubDate>
      <description>Prevent CDN resource tampering with SRI.</description>
      <category>Web</category>
      <category>Security</category>
      <category>SRI</category>
      <category>CDN</category>
    </item>
    <item>
      <title>A Community Feedback</title>
      <link>https://www.arieszhou.com/blog/a-community-feedback</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/a-community-feedback</guid>
      <pubDate>Thu, 04 Jul 2024 06:44:07 GMT</pubDate>
      <description></description>
      <category>Essays</category>
    </item>
    <item>
      <title>Flexbox: flex-grow and flex-shrink</title>
      <link>https://www.arieszhou.com/blog/flexbox-flex-grow-and-flex-shrink</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/flexbox-flex-grow-and-flex-shrink</guid>
      <pubDate>Wed, 03 Apr 2024 13:48:56 GMT</pubDate>
      <description>Understanding the two most overlooked Flexbox properties: flex-grow and flex-shrink.</description>
      <category>CSS</category>
      <category>Flexbox</category>
      <category>Layout</category>
    </item>
    <item>
      <title>cloneElement and Dynamic Component Rendering</title>
      <link>https://www.arieszhou.com/blog/cloneelement-and-dynamic-component-rendering</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/cloneelement-and-dynamic-component-rendering</guid>
      <pubDate>Sat, 30 Mar 2024 02:00:00 GMT</pubDate>
      <description>Learn how to dynamically inject props and compose components.</description>
      <category>react</category>
      <category>react</category>
      <category>cloneelement</category>
      <category>children</category>
      <category>render-props</category>
      <category>patterns</category>
    </item>
    <item>
      <title>Why You Need forwardRef and useImperativeHandle</title>
      <link>https://www.arieszhou.com/blog/why-you-need-forwardref-and-useimperativehandle</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/why-you-need-forwardref-and-useimperativehandle</guid>
      <pubDate>Tue, 19 Mar 2024 02:00:00 GMT</pubDate>
      <description>React&apos;s ref forwarding mechanism: why and when to use forwardRef / useImperativeHandle.</description>
      <category>react</category>
      <category>react</category>
      <category>ref</category>
      <category>forwardref</category>
      <category>imperativehandle</category>
      <category>patterns</category>
    </item>
    <item>
      <title>React Batching Updates Notes</title>
      <link>https://www.arieszhou.com/blog/react-batching-updates-notes</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/react-batching-updates-notes</guid>
      <pubDate>Sat, 20 Jan 2024 03:34:29 GMT</pubDate>
      <description>Understanding React&apos;s batching update mechanism, its evolution from React 17 to React 18, and the performance gains from automatic batching.</description>
      <category>React</category>
      <category>React 18</category>
      <category>Performance Optimization</category>
    </item>
    <item>
      <title>SEO Search Engine Optimization Practical Guide</title>
      <link>https://www.arieszhou.com/blog/seo-search-engine-optimization-practical-guide</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/seo-search-engine-optimization-practical-guide</guid>
      <pubDate>Tue, 02 Jan 2024 06:44:13 GMT</pubDate>
      <description>A beginner&apos;s introduction to SEO.</description>
      <category>Web Development</category>
      <category>SEO</category>
      <category>Search Engine</category>
      <category>Website Optimization</category>
    </item>
    <item>
      <title>CSS: How to Choose Between rem, em, and px</title>
      <link>https://www.arieszhou.com/blog/css-how-to-choose-between-rem-em-and-px</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/css-how-to-choose-between-rem-em-and-px</guid>
      <pubDate>Mon, 19 Jun 2023 03:07:43 GMT</pubDate>
      <description>Understand the differences and use cases of rem, em, %, vw/vh, and px to make layouts more flexible and responsive design easier.</description>
      <category>CSS</category>
      <category>CSS</category>
      <category>Layout</category>
    </item>
    <item>
      <title>SVG vs. Canvas</title>
      <link>https://www.arieszhou.com/blog/svg-vs-canvas</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/svg-vs-canvas</guid>
      <pubDate>Wed, 29 Mar 2023 06:38:32 GMT</pubDate>
      <description></description>
      <category>UI</category>
    </item>
    <item>
      <title>Frontend Performance Optimization Notes</title>
      <link>https://www.arieszhou.com/blog/frontend-performance-optimization-notes</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/frontend-performance-optimization-notes</guid>
      <pubDate>Sat, 25 Mar 2023 02:48:29 GMT</pubDate>
      <description>Frontend performance optimization strategies: resource compression and code splitting, along with related tools like Web Vitals and Lighthouse.</description>
      <category>Performance Optimization</category>
      <category>Performance Optimization</category>
      <category>Web Vitals</category>
      <category>Optimization Tips</category>
    </item>
    <item>
      <title>QUIC Protocol and Encryption</title>
      <link>https://www.arieszhou.com/blog/quic-protocol-and-encryption</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/quic-protocol-and-encryption</guid>
      <pubDate>Mon, 04 Jul 2022 09:13:59 GMT</pubDate>
      <description>A look at QUIC&apos;s encryption mechanisms and performance advantages, including 0-RTT handshakes, DH key exchange, and a comparison with TLS 1.3.</description>
      <category>Network Protocols</category>
      <category>QUIC</category>
      <category>Protocol</category>
      <category>TLS</category>
      <category>Encryption</category>
      <category>HTTP</category>
    </item>
    <item>
      <title>React Router</title>
      <link>https://www.arieszhou.com/blog/react-router-guide</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/react-router-guide</guid>
      <pubDate>Fri, 06 May 2022 06:31:14 GMT</pubDate>
      <description>From basic routing to nested routes, from declarative navigation to programmatic navigation: a deep dive into React Router v6.</description>
      <category>React</category>
      <category>React Router</category>
      <category>Routing</category>
    </item>
    <item>
      <title>React Performance Optimization: Preventing Component Re-renders</title>
      <link>https://www.arieszhou.com/blog/react-performance-optimization-preventing-component-re-renders</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/react-performance-optimization-preventing-component-re-renders</guid>
      <pubDate>Tue, 03 May 2022 10:33:42 GMT</pubDate>
      <description>Understanding React&apos;s re-rendering mechanism and performance optimization techniques including PureComponent, React.memo, useMemo, and useCallback.</description>
      <category>React</category>
      <category>Performance Optimization</category>
      <category>Rendering</category>
    </item>
    <item>
      <title>Lazy Loading Guide: Essential Techniques for Page Performance</title>
      <link>https://www.arieszhou.com/blog/lazy-loading-guide-essential-techniques-for-page-performance</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/lazy-loading-guide-essential-techniques-for-page-performance</guid>
      <pubDate>Wed, 30 Mar 2022 02:09:28 GMT</pubDate>
      <description>Understand how lazy loading works, learn to implement it for images, components, and routes, and see practical uses of the Intersection Observer API.</description>
      <category>Performance Optimization</category>
      <category>Performance Optimization</category>
      <category>Code Splitting</category>
    </item>
    <item>
      <title>A Comprehensive Guide to Linux Inter-Process Communication (IPC)</title>
      <link>https://www.arieszhou.com/blog/a-comprehensive-guide-to-linux-inter-process-communication-ipc</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/a-comprehensive-guide-to-linux-inter-process-communication-ipc</guid>
      <pubDate>Wed, 23 Mar 2022 05:28:32 GMT</pubDate>
      <description>Linux IPC mechanisms: pipes, message queues, semaphores, shared memory, and sockets.</description>
      <category>System</category>
      <category>Linux</category>
      <category>IPC</category>
      <category>Process</category>
      <category>Systems Programming</category>
    </item>
    <item>
      <title>JavaScript Fundamentals</title>
      <link>https://www.arieszhou.com/blog/javascript-fundamentals</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/javascript-fundamentals</guid>
      <pubDate>Tue, 01 Mar 2022 02:00:00 GMT</pubDate>
      <description>From arrow functions to prototype chains, from higher-order functions to code splitting: a deeper look at core JavaScript concepts.</description>
      <category>js</category>
      <category>javascript</category>
      <category>es6</category>
      <category>programming</category>
    </item>
    <item>
      <title>A Guide to React Design Patterns</title>
      <link>https://www.arieszhou.com/blog/a-guide-to-react-design-patterns</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/a-guide-to-react-design-patterns</guid>
      <pubDate>Tue, 11 Jan 2022 06:55:46 GMT</pubDate>
      <description>From container components to Hooks, from render props to error boundaries: systematically master core React design patterns.</description>
      <category>React</category>
      <category>Design Patterns</category>
      <category>Hooks</category>
      <category>Componentization</category>
    </item>
    <item>
      <title>React State Management</title>
      <link>https://www.arieszhou.com/blog/react-state-management</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/react-state-management</guid>
      <pubDate>Sun, 09 Jan 2022 04:01:36 GMT</pubDate>
      <description>From useState to Redux, from lifting state up to state reuse: strategies for React state management.</description>
      <category>React</category>
      <category>State Management</category>
      <category>Redux</category>
    </item>
    <item>
      <title>Virtual DOM</title>
      <link>https://www.arieszhou.com/blog/virtual-dom-guide</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/virtual-dom-guide</guid>
      <pubDate>Fri, 07 Jan 2022 06:19:18 GMT</pubDate>
      <description>Uncover how the virtual DOM works, understand React&apos;s reconciliation algorithm, and learn about the performance benefits and best practices it brings.</description>
      <category>React</category>
      <category>Rendering Principles</category>
      <category>Virtual DOM</category>
    </item>
    <item>
      <title>2021</title>
      <link>https://www.arieszhou.com/blog/2021-guide</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/2021-guide</guid>
      <pubDate>Sun, 02 Jan 2022 06:24:52 GMT</pubDate>
      <description></description>
      <category>Essays</category>
    </item>
    <item>
      <title>Cryptography Lessons: Common Pitfalls and Best Practices</title>
      <link>https://www.arieszhou.com/blog/cryptography-lessons-common-pitfalls-and-best-practices</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/cryptography-lessons-common-pitfalls-and-best-practices</guid>
      <pubDate>Fri, 19 Nov 2021 07:25:18 GMT</pubDate>
      <description>Learn about common mistakes in cryptographic applications: the dangers of ECB mode, key reuse, IV reuse, and their solutions.</description>
      <category>Cryptography</category>
      <category>Encryption Security</category>
      <category>Best Practices</category>
      <category>Vulnerability Analysis</category>
    </item>
    <item>
      <title>Cryptography Basics: Symmetric Encryption, Asymmetric Encryption, and Digest Algorithms</title>
      <link>https://www.arieszhou.com/blog/cryptography-basics-symmetric-encryption-asymmetric-encryption-and-digest-algorithms</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/cryptography-basics-symmetric-encryption-asymmetric-encryption-and-digest-algorithms</guid>
      <pubDate>Sun, 12 Sep 2021 14:25:17 GMT</pubDate>
      <description>Understand the principles and use cases of symmetric encryption, asymmetric encryption, and digital digests, and grasp the fundamental concepts of modern cryptography.</description>
      <category>Cryptography</category>
      <category>Symmetric Encryption</category>
      <category>Asymmetric Encryption</category>
      <category>Digest Algorithms</category>
    </item>
    <item>
      <title>Understanding Load Average</title>
      <link>https://www.arieszhou.com/blog/understanding-load-average</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/understanding-load-average</guid>
      <pubDate>Sun, 01 Aug 2021 14:05:40 GMT</pubDate>
      <description>A deep dive into the Linux load average metric: a combined measure of processes running, waiting to run, and waiting for I/O.</description>
      <category>System</category>
      <category>Linux</category>
      <category>Performance</category>
      <category>Load Average</category>
      <category>System Monitoring</category>
    </item>
    <item>
      <title>SQLCipher: Encrypting SQLite Databases</title>
      <link>https://www.arieszhou.com/blog/sqlcipher-encrypting-sqlite-databases</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/sqlcipher-encrypting-sqlite-databases</guid>
      <pubDate>Tue, 13 Jul 2021 14:27:48 GMT</pubDate>
      <description>A look at SQLCipher&apos;s security features and how it works: AES-256 encryption, key derivation, page-level encryption, and zero-knowledge database security.</description>
      <category>Android</category>
      <category>Android</category>
      <category>SQLite</category>
      <category>SQLCipher</category>
      <category>Database</category>
      <category>Security</category>
    </item>
    <item>
      <title>Understanding EncryptedSharedPreferences: Secure Storage on Android</title>
      <link>https://www.arieszhou.com/blog/understanding-encryptedsharedpreferences-secure-storage-on-android</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/understanding-encryptedsharedpreferences-secure-storage-on-android</guid>
      <pubDate>Thu, 01 Jul 2021 14:28:23 GMT</pubDate>
      <description>A brief look at how EncryptedSharedPreferences in the AndroidX Security library works and how to securely store sensitive key-value data.</description>
      <category>Android</category>
      <category>Android</category>
      <category>secure storage</category>
      <category>encryption</category>
      <category>Keystore</category>
    </item>
    <item>
      <title>How logcat Works: Reading Android Logs</title>
      <link>https://www.arieszhou.com/blog/how-logcat-works-reading-android-logs</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/how-logcat-works-reading-android-logs</guid>
      <pubDate>Thu, 17 Jun 2021 14:30:30 GMT</pubDate>
      <description>A source-level breakdown of Android logcat&apos;s read flow, covering the logd daemon, socket communication, and transport mechanisms.</description>
      <category>Android</category>
      <category>Android</category>
      <category>logcat</category>
      <category>logd</category>
      <category>System Internals</category>
    </item>
    <item>
      <title>WeChat xlog Encryption Analysis: TEA + ECDH Key Exchange</title>
      <link>https://www.arieszhou.com/blog/wechat-xlog-encryption-analysis-tea-ecdh-key-exchange</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/wechat-xlog-encryption-analysis-tea-ecdh-key-exchange</guid>
      <pubDate>Fri, 28 May 2021 14:25:57 GMT</pubDate>
      <description>An analysis of the encryption mechanism in xlog, part of WeChat&apos;s Mars component, where TEA symmetric encryption works with ECDH key exchange to secure log transmission.</description>
      <category>Android</category>
      <category>Android</category>
      <category>encryption</category>
      <category>xlog</category>
      <category>TEA</category>
      <category>ECDH</category>
      <category>Mars</category>
      <category>secure transmission</category>
    </item>
    <item>
      <title>TCP Packet Coalescing: Root Cause and Solutions</title>
      <link>https://www.arieszhou.com/blog/tcp-packet-coalescing-root-cause-and-solutions</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/tcp-packet-coalescing-root-cause-and-solutions</guid>
      <pubDate>Sat, 22 May 2021 14:26:31 GMT</pubDate>
      <description>Clarifying a common misconception: packet coalescing is not a TCP bug, but an application-layer protocol design issue. A deep dive into how byte streams and message boundaries are defined.</description>
      <category>Network Protocols</category>
      <category>TCP</category>
      <category>Network Protocols</category>
      <category>Packet Coalescing</category>
      <category>Application-Layer Protocol</category>
    </item>
    <item>
      <title>On Function Symbol Export Issues in GCC Compilation</title>
      <link>https://www.arieszhou.com/blog/on-function-symbol-export-issues-in-gcc-compilation</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/on-function-symbol-export-issues-in-gcc-compilation</guid>
      <pubDate>Sat, 10 Apr 2021 14:26:17 GMT</pubDate>
      <description>Notes on an undefined reference error encountered during Android compilation, regarding GCC visibility attributes and symbol export.</description>
      <category>Android</category>
      <category>Android</category>
      <category>GCC</category>
      <category>Compilation</category>
      <category>Symbol Export</category>
      <category>NDK</category>
    </item>
    <item>
      <title>Configuring SSH Access for Multiple Git Repositories</title>
      <link>https://www.arieszhou.com/blog/configuring-ssh-access-for-multiple-git-repositories</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/configuring-ssh-access-for-multiple-git-repositories</guid>
      <pubDate>Wed, 11 Nov 2020 08:21:12 GMT</pubDate>
      <description>Quickly configure SSH keys for multiple Git repositories in a new environment for secure and convenient multi-repo access.</description>
      <category>Git</category>
      <category>Git</category>
      <category>SSH</category>
      <category>multi-repo</category>
      <category>configuration</category>
    </item>
    <item>
      <title>HTTP/HTTPS: The Essence of Secure Web Transmission</title>
      <link>https://www.arieszhou.com/blog/http-https-the-essence-of-secure-web-transmission</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/http-https-the-essence-of-secure-web-transmission</guid>
      <pubDate>Thu, 22 Oct 2020 14:28:02 GMT</pubDate>
      <description>From HTTP plaintext transmission to HTTPS encrypted communication, a brief look at how the TLS/SSL protocol protects web communication.</description>
      <category>Network Protocols</category>
      <category>HTTPS</category>
      <category>HTTP</category>
      <category>TLS</category>
    </item>
    <item>
      <title>A Wild Pointer</title>
      <link>https://www.arieszhou.com/blog/a-wild-pointer</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/a-wild-pointer</guid>
      <pubDate>Sun, 23 Aug 2020 14:29:13 GMT</pubDate>
      <description></description>
      <category>C++</category>
    </item>
    <item>
      <title>TLS Protocol Explained: From Handshake to Encrypted Transmission</title>
      <link>https://www.arieszhou.com/blog/tls-protocol-explained-from-handshake-to-encrypted-transmission</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/tls-protocol-explained-from-handshake-to-encrypted-transmission</guid>
      <pubDate>Sun, 02 Feb 2020 14:24:45 GMT</pubDate>
      <description>An overview of the TLS protocol framework, its evolution from TLS 1.2 to TLS 1.3, the handshake process, and cryptographic security mechanisms.</description>
      <category>Network Protocols</category>
      <category>TLS</category>
      <category>HTTPS</category>
      <category>Security</category>
      <category>Encryption</category>
    </item>
    <item>
      <title>Inspectional Reading</title>
      <link>https://www.arieszhou.com/blog/inspectional-reading</link>
      <guid isPermaLink="true">https://www.arieszhou.com/blog/inspectional-reading</guid>
      <pubDate>Mon, 06 Jan 2020 14:24:19 GMT</pubDate>
      <description></description>
      <category>Essays</category>
    </item>
  </channel>
</rss>