<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Rahul Mohandas Articles</title><description>Writing about software engineering, distributed systems, cloud infrastructure, and developer tooling.</description><link>https://www.rahulmohandas.com/</link><language>en-us</language><item><title>Make the Wrong Thing Hard to Do</title><link>https://www.rahulmohandas.com/blog/2026-09-30-make-the-wrong-thing-hard-to-do/</link><guid isPermaLink="true">https://www.rahulmohandas.com/blog/2026-09-30-make-the-wrong-thing-hard-to-do/</guid><description>Tribal knowledge asks engineers to remember the rules. Good system design can make many of those rules difficult to break in the first place.</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate><category>Process</category><category>software</category><category>development</category><category>design</category><category>architecture</category></item><item><title>The Best Code Is Sometimes the Code You Don&apos;t Write</title><link>https://www.rahulmohandas.com/blog/2026-09-14-the-best-code-you-dont-write/</link><guid isPermaLink="true">https://www.rahulmohandas.com/blog/2026-09-14-the-best-code-you-dont-write/</guid><description>Code has a cost long after it&apos;s written. Good engineering isn&apos;t just knowing how to build a solution—it&apos;s knowing when not to build one.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate><category>Process</category><category>software</category><category>development</category><category>design</category><category>simplicity</category></item><item><title>Did You Fix the Bug—or Just Move It?</title><link>https://www.rahulmohandas.com/blog/2026-08-20-did-you-fix-the-bug/</link><guid isPermaLink="true">https://www.rahulmohandas.com/blog/2026-08-20-did-you-fix-the-bug/</guid><description>A passing test proves the symptom is gone, not that the work is done. Isolate the change that mattered before adding it to the system.</description><pubDate>Thu, 20 Aug 2026 00:00:00 GMT</pubDate><category>Process</category><category>software</category><category>development</category><category>debugging</category></item><item><title>Duplication Is Cheaper Than the Wrong Abstraction</title><link>https://www.rahulmohandas.com/blog/2026-08-17-duplication-vs-coupling/</link><guid isPermaLink="true">https://www.rahulmohandas.com/blog/2026-08-17-duplication-vs-coupling/</guid><description>DRY reduces repetition, but the wrong abstraction couples concepts that should be free to change independently.</description><pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate><category>Process</category><category>software</category><category>development</category><category>design</category><category>refactoring</category></item><item><title>How to use Git effectively</title><link>https://www.rahulmohandas.com/blog/2019-05-16-how-to-use-git-effectively/</link><guid isPermaLink="true">https://www.rahulmohandas.com/blog/2019-05-16-how-to-use-git-effectively/</guid><description>A practical overview of GitFlow and the roles of master, develop, feature, and release branches.</description><pubDate>Thu, 16 May 2019 00:00:00 GMT</pubDate><category>Process</category><category>software</category><category>development</category><category>git</category></item><item><title>Code Reviews</title><link>https://www.rahulmohandas.com/blog/2018-10-08-peer-reviews/</link><guid isPermaLink="true">https://www.rahulmohandas.com/blog/2018-10-08-peer-reviews/</guid><description>A living guide to reviewing code with clarity, consistency, and constructive feedback.</description><pubDate>Mon, 08 Oct 2018 00:00:00 GMT</pubDate><category>Process</category><category>software</category><category>development</category><category>code</category><category>review</category></item><item><title>Algorithm Detection in Assembly</title><link>https://www.rahulmohandas.com/blog/2013-05-01-algorithm-detection-in-assembly/</link><guid isPermaLink="true">https://www.rahulmohandas.com/blog/2013-05-01-algorithm-detection-in-assembly/</guid><description>Research into recognizing known algorithms within binaries using IDA Pro plugins and program analysis.</description><pubDate>Wed, 01 May 2013 00:00:00 GMT</pubDate><category>Projects</category><category>assembly</category><category>algorithm</category><category>nsa</category></item><item><title>Learning Racetrack</title><link>https://www.rahulmohandas.com/blog/2013-04-01-learning-racetrack/</link><guid isPermaLink="true">https://www.rahulmohandas.com/blog/2013-04-01-learning-racetrack/</guid><description>Rebuilding an interactive racetrack to help middle-school students learn through hands-on play.</description><pubDate>Mon, 01 Apr 2013 00:00:00 GMT</pubDate><category>Projects</category><category>community service</category><category>raspberry pi</category></item><item><title>TCP Keep-Alive</title><link>https://www.rahulmohandas.com/blog/2012-11-01-tcp-keepalive/</link><guid isPermaLink="true">https://www.rahulmohandas.com/blog/2012-11-01-tcp-keepalive/</guid><description>Research into TCP keep-alive behavior across operating systems and network failures.</description><pubDate>Thu, 01 Nov 2012 00:00:00 GMT</pubDate><category>Projects</category><category>networking</category><category>tcp</category><category>research</category></item></channel></rss>