<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Ruslan Korneev — notes</title><description>Engineering notes by Ruslan Korneev, Senior Python Backend Engineer.</description><link>https://ruslan-korneev.site/</link><item><title>The school after Durov</title><link>https://ruslan-korneev.site/notes/school-after-durov/</link><guid isPermaLink="true">https://ruslan-korneev.site/notes/school-after-durov/</guid><description>Durov&apos;s 2012 school of the future, audited fourteen years later. And how I study now.</description><pubDate>Tue, 01 Sep 2026 00:00:00 GMT</pubDate></item><item><title>30 Telegram bots, one service, −15 GB</title><link>https://ruslan-korneev.site/notes/one-bot-service/</link><guid isPermaLink="true">https://ruslan-korneev.site/notes/one-bot-service/</guid><description>Consolidating a zoo of single-bot deployments into one autoscaled Kubernetes service and cutting ~15 GB of idle memory.</description><pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Recovering lost rewards by replaying the chain</title><link>https://ruslan-korneev.site/notes/recomputing-rewards/</link><guid isPermaLink="true">https://ruslan-korneev.site/notes/recomputing-rewards/</guid><description>How we recomputed user balances from on-chain transaction history instead of patching a legacy accrual bug forward.</description><pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate></item></channel></rss>