<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Kui Liang</title><description>Writing about software engineering, career, learning, and life decisions.</description><link>https://liangkui.me/</link><item><title>Why I want to start a personal blog</title><link>https://liangkui.me/posts/life/why-i-want-to-start-a-personal-blog/</link><guid isPermaLink="true">https://liangkui.me/posts/life/why-i-want-to-start-a-personal-blog/</guid><description>A quiet place to think clearly, keep useful notes, and own the record of my decisions.</description><pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate><category>writing</category><category>life</category></item><item><title>How I understand PTY and xterm.js</title><link>https://liangkui.me/posts/tech/how-i-understand-pty-and-xterm-js/</link><guid isPermaLink="true">https://liangkui.me/posts/tech/how-i-understand-pty-and-xterm-js/</guid><description>From terminal and shell to pseudoterminal and browser rendering.</description><pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate><category>frontend</category><category>terminal</category><category>learning</category></item><item><title>Notes on moving from Singapore to Australia</title><link>https://liangkui.me/posts/life/moving-from-singapore-to-australia/</link><guid isPermaLink="true">https://liangkui.me/posts/life/moving-from-singapore-to-australia/</guid><description>Questions and trade-offs behind a large life decision.</description><pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate><category>life</category><category>career</category><category>decisions</category></item><item><title>Backpressure in stream programming</title><link>https://liangkui.me/posts/tech/backpressure-in-stream-programming/</link><guid isPermaLink="true">https://liangkui.me/posts/tech/backpressure-in-stream-programming/</guid><description>A practical mental model for keeping producers and consumers in balance.</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate><category>software</category><category>systems</category><category>learning</category></item><item><title>Event loop 的执行顺序</title><link>https://liangkui.me/posts/tech/event-loop-execute-order/</link><guid isPermaLink="true">https://liangkui.me/posts/tech/event-loop-execute-order/</guid><description>你真的了解事件循环的执行顺序吗？</description><pubDate>Mon, 28 Jun 2021 00:00:00 GMT</pubDate><category>javascript</category><category>event-loop</category><category>learning</category></item><item><title>How to handle errors gracefully?</title><link>https://liangkui.me/posts/tech/how-to-handle-error-gracefully/</link><guid isPermaLink="true">https://liangkui.me/posts/tech/how-to-handle-error-gracefully/</guid><description>Have you ever annoyed by the errors everywhere?</description><pubDate>Tue, 21 Jan 2020 00:00:00 GMT</pubDate><category>javascript</category><category>error-handling</category><category>functional-programming</category></item><item><title>使用 React + Rxjs 实现一个虚拟滚动组件</title><link>https://liangkui.me/posts/tech/build-virtual-list-with-react-and-rxjs/</link><guid isPermaLink="true">https://liangkui.me/posts/tech/build-virtual-list-with-react-and-rxjs/</guid><description>你遇到过在渲染长列表时卡顿的现象吗？</description><pubDate>Fri, 11 Jan 2019 00:00:00 GMT</pubDate><category>react</category><category>rxjs</category><category>performance</category></item><item><title>Angular 变更检测</title><link>https://liangkui.me/posts/tech/angular-change-strategy/</link><guid isPermaLink="true">https://liangkui.me/posts/tech/angular-change-strategy/</guid><description>Angular 到底是如何进行变更检测的？</description><pubDate>Sat, 24 Feb 2018 22:12:03 GMT</pubDate><category>angular</category><category>frontend</category><category>performance</category></item></channel></rss>