<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Matthew Polak — Blog</title><description>Software Engineer with experience at Microsoft, Shopify, and Solace. CS student at University of Ottawa building fast, scalable systems.</description><link>https://matteopolak.com</link><language>en-ca</language><item><title>Building a Jai toolchain with agents</title><link>https://matteopolak.com/blog/vibecoding-jai</link><guid isPermaLink="true">https://matteopolak.com/blog/vibecoding-jai</guid><description>Ten days of coding agents building a clean-room Jai compiler, language server, formatter, linter and browser playground, and the things that went wrong along the way.</description><pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate><category>rust</category><category>jai</category><category>vibecoding</category><category>compilers</category></item><item><title>Rewriting Minecraft with agents</title><link>https://matteopolak.com/blog/vibecoding-minecraft</link><guid isPermaLink="true">https://matteopolak.com/blog/vibecoding-minecraft</guid><description>Ten weeks of coding agents rewriting Minecraft in Rust, and the things that went wrong along the way.</description><pubDate>Fri, 09 Oct 2026 00:00:00 GMT</pubDate><category>rust</category><category>vibecoding</category><category>minecraft</category></item><item><title>Implementing Axum&apos;s extract-as-argument pattern in 100 lines of code</title><link>https://matteopolak.com/blog/axum-extract</link><guid isPermaLink="true">https://matteopolak.com/blog/axum-extract</guid><description>A deep dive into how Axum&apos;s extract-as-argument pattern works.</description><pubDate>Wed, 22 Nov 2023 00:00:00 GMT</pubDate><category>rust</category><category>axum</category><category>serde</category></item></channel></rss>