<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Patrick Ma</title><description>Writing about AI, engineering, and building products.</description><link>https://patrickma.org/</link><item><title>How I Saved My Doctor Father 1400+ Hours With AI</title><link>https://patrickma.org/blog/forward-deployed-personal-software/</link><guid isPermaLink="true">https://patrickma.org/blog/forward-deployed-personal-software/</guid><description>I built a personal OCR pipeline and AI assistant for my TCM doctor father — digitizing 50+ books, 7000+ pages, and 5.4M characters of medical text. Here&apos;s what I learned about forward-deployed personal software.</description><pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate></item><item><title>My Tools for Writing 99% of Code with AI</title><link>https://patrickma.org/blog/ai-tools-mar-2026/</link><guid isPermaLink="true">https://patrickma.org/blog/ai-tools-mar-2026/</guid><description>The tools I use to keep AI agents unblocked, self-testing, and reviewable, plus everything else.</description><pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Lazy Evaluation</title><link>https://patrickma.org/blog/lazy-evaluation/</link><guid isPermaLink="true">https://patrickma.org/blog/lazy-evaluation/</guid><description>Understanding lazy evaluation - call-by-name, call-by-need, streams, and Python&apos;s yield.</description><pubDate>Tue, 23 Feb 2021 00:00:00 GMT</pubDate></item><item><title>Thoughts on a Jensen&apos;s Inequality Question</title><link>https://patrickma.org/blog/jensens-inequality/</link><guid isPermaLink="true">https://patrickma.org/blog/jensens-inequality/</guid><description>Solving a Jensen&apos;s Inequality problem by tracing back to the basic case.</description><pubDate>Sun, 24 May 2020 00:00:00 GMT</pubDate></item></channel></rss>