<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Leo Qin’s Blog - Technology</title>
        <link>https://leoqin.com/en/category/Technology</link>
        <description>LeoQin is talking here.</description>
        <lastBuildDate>Fri, 21 Aug 2026 04:10:45 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en-US</language>
        <copyright>All rights reserved 2026, LeoQin</copyright>
        <atom:link href="https://leoqin.com/en/rss/category/Technology/feed.xml" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Distinguishing Saints from Sycophants and Schemers]]></title>
            <link>https://leoqin.com/en/article/ai-three-personas</link>
            <guid>https://leoqin.com/en/article/ai-three-personas</guid>
            <pubDate>Sun, 10 May 2026 05:00:00 GMT</pubDate>
            <description><![CDATA[AI safety requires distinguishing saints from sycophants and schemers during training.]]></description>
            <content:encoded><![CDATA[AI safety requires distinguishing saints from sycophants and schemers during training.]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Web Scraping 101: Permissions, Tools, and Anti-Bot Lessons]]></title>
            <link>https://leoqin.com/en/article/Intro-to-Crawlers</link>
            <guid>https://leoqin.com/en/article/Intro-to-Crawlers</guid>
            <pubDate>Tue, 21 Jan 2025 06:00:00 GMT</pubDate>
            <description><![CDATA[A personal, practical guide to robots.txt and data-use boundaries, choosing between requests, aiohttp, Scrapy, and Playwright, and handling anti-bot measures and HTML parsing.]]></description>
            <content:encoded><![CDATA[A personal, practical guide to robots.txt and data-use boundaries, choosing between requests, aiohttp, Scrapy, and Playwright, and handling anti-bot measures and HTML parsing.]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[What Does “Compiling Shaders” Mean in Games?]]></title>
            <link>https://leoqin.com/en/article/graph-api-and-shaders</link>
            <guid>https://leoqin.com/en/article/graph-api-and-shaders</guid>
            <pubDate>Tue, 07 Jan 2025 06:00:00 GMT</pubDate>
            <description><![CDATA[Shaders, GPU machine code, graphics APIs, and cache invalidation: why shader compilation takes so long.]]></description>
            <content:encoded><![CDATA[Shaders, GPU machine code, graphics APIs, and cache invalidation: why shader compilation takes so long.]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Auto-Scrolling AI Chats: How to Read User Intent]]></title>
            <link>https://leoqin.com/en/article/content-auto-follow</link>
            <guid>https://leoqin.com/en/article/content-auto-follow</guid>
            <pubDate>Thu, 12 Dec 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Auto-scroll in an AI chat is not just scrollTop. It needs intent signals, a follow/free state machine, handling for programmatic scroll events, virtualization, and mobile edge cases.]]></description>
            <content:encoded><![CDATA[Auto-scroll in an AI chat is not just scrollTop. It needs intent signals, a follow/free state machine, handling for programmatic scroll events, virtualization, and mobile edge cases.]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Avoid Overusing React useEffect]]></title>
            <link>https://leoqin.com/en/article/avoid-excessive-useeffect</link>
            <guid>https://leoqin.com/en/article/avoid-excessive-useeffect</guid>
            <pubDate>Mon, 09 Dec 2024 06:00:00 GMT</pubDate>
            <description><![CDATA[useEffect is useful for side effects outside rendering, but too many effects turn a component into a dependency maze. This post uses a concrete dashboard example to show when to extract custom hooks or move data fetching elsewhere.]]></description>
            <content:encoded><![CDATA[useEffect is useful for side effects outside rendering, but too many effects turn a component into a dependency maze. This post uses a concrete dashboard example to show when to extract custom hooks or move data fetching elsewhere.]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How AI Coding Assistants Actually Improve Developer Efficiency]]></title>
            <link>https://leoqin.com/en/article/AI-Improve-Efficiency</link>
            <guid>https://leoqin.com/en/article/AI-Improve-Efficiency</guid>
            <pubDate>Sun, 08 Dec 2024 06:00:00 GMT</pubDate>
            <description><![CDATA[Based on hands-on use of Copilot, Cursor, and Claude Code, this post separates where AI assistants help most, such as search, boilerplate, and error diagnosis, from where they still struggle, such as architecture and edge cases.]]></description>
            <content:encoded><![CDATA[Based on hands-on use of Copilot, Cursor, and Claude Code, this post separates where AI assistants help most, such as search, boilerplate, and error diagnosis, from where they still struggle, such as architecture and edge cases.]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Statsify Finance: Technical Breakdown]]></title>
            <link>https://leoqin.com/en/article/Statsify-Finance-Tech-Analysis</link>
            <guid>https://leoqin.com/en/article/Statsify-Finance-Tech-Analysis</guid>
            <pubDate>Sat, 07 Dec 2024 06:00:00 GMT</pubDate>
            <description><![CDATA[A product and architecture walkthrough for Statsify Finance, covering its analysis, strategy, article, search, and finance-term pages, plus the Next.js, Tailwind, Ant Design, ECharts, MongoDB, and TypeScript stack behind it.]]></description>
            <content:encoded><![CDATA[A product and architecture walkthrough for Statsify Finance, covering its analysis, strategy, article, search, and finance-term pages, plus the Next.js, Tailwind, Ant Design, ECharts, MongoDB, and TypeScript stack behind it.]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[MCP Is Infrastructure, Not the Ultimate AI Solution]]></title>
            <link>https://leoqin.com/en/article/MCP</link>
            <guid>https://leoqin.com/en/article/MCP</guid>
            <pubDate>Mon, 31 Mar 2025 05:00:00 GMT</pubDate>
            <description><![CDATA[MCP standardizes how AI apps connect to tools, resources, prompts, and external systems. It is useful infrastructure for reducing integration glue, but it does not replace permissions, confirmations, logging, threat modeling, or tool-safety design.]]></description>
            <content:encoded><![CDATA[MCP standardizes how AI apps connect to tools, resources, prompts, and external systems. It is useful infrastructure for reducing integration glue, but it does not replace permissions, confirmations, logging, threat modeling, or tool-safety design.]]></content:encoded>
        </item>
    </channel>
</rss>