<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Dev blog | Zoran Jovanovic</title><link>https://zoranjovanovic.com/blog</link><description>Write-ups on how I build my projects: what I tried, what broke, and the code that fixed it.</description><language>en-au</language><atom:link href="https://zoranjovanovic.com/blog/rss.xml" rel="self" type="application/rss+xml"/><lastBuildDate>Wed, 26 Feb 2025 00:00:00 GMT</lastBuildDate><item><title>Rebuilding my portfolio background in Rust and WebAssembly</title><link>https://zoranjovanovic.com/blog/zoranjovanovic</link><guid isPermaLink="true">https://zoranjovanovic.com/blog/zoranjovanovic</guid><description>How I replaced a laggy JavaScript particle animation with a Rust flow-field simulation compiled to WebAssembly, running at around 4ms a frame.</description><pubDate>Wed, 26 Feb 2025 00:00:00 GMT</pubDate><category>rust</category><category>wasm</category><category>next.js</category><category>canvas</category></item></channel></rss>