<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Raza Hussain on Medium]]></title>
        <description><![CDATA[Stories by Raza Hussain on Medium]]></description>
        <link>https://medium.com/@mrrazahussain?source=rss-70f28ee28047------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*WcOOLWveUz9Pb5NdqrbxJw.png</url>
            <title>Stories by Raza Hussain on Medium</title>
            <link>https://medium.com/@mrrazahussain?source=rss-70f28ee28047------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 06:45:43 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@mrrazahussain/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[What the Gnosis Pay breach notice says]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://javascript.plainenglish.io/what-the-gnosis-pay-breach-notice-says-20d48c98b635?source=rss-70f28ee28047------2"><img src="https://cdn-images-1.medium.com/max/1414/1*APPq1C5k9gR7nJW4HDK4Tg.png" width="1414"></a></p><p class="medium-feed-snippet">How do you keep legacy system security up before shutdown? Cut ingress and writes first. A date guards nothing.</p><p class="medium-feed-link"><a href="https://javascript.plainenglish.io/what-the-gnosis-pay-breach-notice-says-20d48c98b635?source=rss-70f28ee28047------2">Continue reading on JavaScript in Plain English »</a></p></div>]]></description>
            <link>https://javascript.plainenglish.io/what-the-gnosis-pay-breach-notice-says-20d48c98b635?source=rss-70f28ee28047------2</link>
            <guid isPermaLink="false">https://medium.com/p/20d48c98b635</guid>
            <category><![CDATA[technical-debt]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <category><![CDATA[ruby-on-rails]]></category>
            <category><![CDATA[saas]]></category>
            <category><![CDATA[software-engineering]]></category>
            <dc:creator><![CDATA[Raza Hussain]]></dc:creator>
            <pubDate>Thu, 12 Nov 2026 04:37:55 GMT</pubDate>
            <atom:updated>2026-11-12T04:37:55.049Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[How do you test multi-tenant authorization in Rails?]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://levelup.gitconnected.com/how-do-you-test-multi-tenant-authorization-in-rails-782dbbe3bf6b?source=rss-70f28ee28047------2"><img src="https://cdn-images-1.medium.com/max/1672/1*7n4F02J2TnMbyNCBiRVMTw.png" width="1672"></a></p><p class="medium-feed-snippet">Rails Authorization Testing: 7 Green Tests, 4 Tenant Leaks</p><p class="medium-feed-link"><a href="https://levelup.gitconnected.com/how-do-you-test-multi-tenant-authorization-in-rails-782dbbe3bf6b?source=rss-70f28ee28047------2">Continue reading on Level Up Coding »</a></p></div>]]></description>
            <link>https://levelup.gitconnected.com/how-do-you-test-multi-tenant-authorization-in-rails-782dbbe3bf6b?source=rss-70f28ee28047------2</link>
            <guid isPermaLink="false">https://medium.com/p/782dbbe3bf6b</guid>
            <category><![CDATA[multi-tenant-architecture]]></category>
            <category><![CDATA[ruby-on-rails]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[security]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Raza Hussain]]></dc:creator>
            <pubDate>Mon, 09 Nov 2026 20:22:27 GMT</pubDate>
            <atom:updated>2026-11-09T20:22:27.367Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[What SSHole OpenSSH is, and where the numbers come from]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/illumination/what-sshole-openssh-is-and-where-the-numbers-come-from-dbfa30454698?source=rss-70f28ee28047------2"><img src="https://cdn-images-1.medium.com/max/1672/1*OlTWRj9Twtil1rw2RrDy7w.png" width="1672"></a></p><p class="medium-feed-snippet">Is my Alpine image exposed to the SSHole OpenSSH vulnerability? Only if sshd runs, and a Rails container should not run it.</p><p class="medium-feed-link"><a href="https://medium.com/illumination/what-sshole-openssh-is-and-where-the-numbers-come-from-dbfa30454698?source=rss-70f28ee28047------2">Continue reading on ILLUMINATION »</a></p></div>]]></description>
            <link>https://medium.com/illumination/what-sshole-openssh-is-and-where-the-numbers-come-from-dbfa30454698?source=rss-70f28ee28047------2</link>
            <guid isPermaLink="false">https://medium.com/p/dbfa30454698</guid>
            <category><![CDATA[ruby-on-rails]]></category>
            <category><![CDATA[devops]]></category>
            <category><![CDATA[linux]]></category>
            <category><![CDATA[docker]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <dc:creator><![CDATA[Raza Hussain]]></dc:creator>
            <pubDate>Mon, 09 Nov 2026 18:17:16 GMT</pubDate>
            <atom:updated>2026-11-09T18:17:16.773Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Is my Rails app exposed to the each_key mass assignment bypass?]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://javascript.plainenglish.io/is-my-rails-app-exposed-to-the-each-key-mass-assignment-bypass-24063935bef6?source=rss-70f28ee28047------2"><img src="https://cdn-images-1.medium.com/max/1671/1*w52bKm9Ci4-X4rwhL7Y0Vw.png" width="1671"></a></p><p class="medium-feed-snippet">Is your app exposed to GHSA-wm3x-v3qw-4jh3?</p><p class="medium-feed-link"><a href="https://javascript.plainenglish.io/is-my-rails-app-exposed-to-the-each-key-mass-assignment-bypass-24063935bef6?source=rss-70f28ee28047------2">Continue reading on JavaScript in Plain English »</a></p></div>]]></description>
            <link>https://javascript.plainenglish.io/is-my-rails-app-exposed-to-the-each-key-mass-assignment-bypass-24063935bef6?source=rss-70f28ee28047------2</link>
            <guid isPermaLink="false">https://medium.com/p/24063935bef6</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[ruby-on-rails]]></category>
            <category><![CDATA[security]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[mass-assignment]]></category>
            <dc:creator><![CDATA[Raza Hussain]]></dc:creator>
            <pubDate>Mon, 09 Nov 2026 08:51:45 GMT</pubDate>
            <atom:updated>2026-11-09T08:51:45.281Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Four Changes Worth Making This Week]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/illumination/four-changes-worth-making-this-week-8d2226deda86?source=rss-70f28ee28047------2"><img src="https://cdn-images-1.medium.com/max/1672/1*wvDrNIQVqbUAJVvhhFihOg.png" width="1672"></a></p><p class="medium-feed-snippet">How do you set Rails HTTP timeouts without a retry storm? One call sent 27 requests, 17 after the caller left.</p><p class="medium-feed-link"><a href="https://medium.com/illumination/four-changes-worth-making-this-week-8d2226deda86?source=rss-70f28ee28047------2">Continue reading on ILLUMINATION »</a></p></div>]]></description>
            <link>https://medium.com/illumination/four-changes-worth-making-this-week-8d2226deda86?source=rss-70f28ee28047------2</link>
            <guid isPermaLink="false">https://medium.com/p/8d2226deda86</guid>
            <category><![CDATA[distributed-systems]]></category>
            <category><![CDATA[ruby-on-rails]]></category>
            <category><![CDATA[ruby]]></category>
            <category><![CDATA[backend-development]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Raza Hussain]]></dc:creator>
            <pubDate>Sun, 08 Nov 2026 17:01:21 GMT</pubDate>
            <atom:updated>2026-11-08T17:01:21.748Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Why an LLM API Cost Comparison by Token Price Misleads]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://generativeai.pub/why-an-llm-api-cost-comparison-by-token-price-misleads-614ac1ea4162?source=rss-70f28ee28047------2"><img src="https://cdn-images-1.medium.com/max/1672/1*5DmeLNjHOEMj5JGOjNXKww.png" width="1672"></a></p><p class="medium-feed-snippet">What is the best LLM for a Rails app? Price each model per successful request, not per token, and count the retries.</p><p class="medium-feed-link"><a href="https://generativeai.pub/why-an-llm-api-cost-comparison-by-token-price-misleads-614ac1ea4162?source=rss-70f28ee28047------2">Continue reading on Generative AI »</a></p></div>]]></description>
            <link>https://generativeai.pub/why-an-llm-api-cost-comparison-by-token-price-misleads-614ac1ea4162?source=rss-70f28ee28047------2</link>
            <guid isPermaLink="false">https://medium.com/p/614ac1ea4162</guid>
            <category><![CDATA[llm]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[ai-agent]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[ruby-on-rails]]></category>
            <dc:creator><![CDATA[Raza Hussain]]></dc:creator>
            <pubDate>Tue, 03 Nov 2026 11:29:51 GMT</pubDate>
            <atom:updated>2026-11-03T11:29:51.141Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[I Killed the Worker After the Charge. Nothing Retried.]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://levelup.gitconnected.com/i-killed-the-worker-after-the-charge-nothing-retried-fe29ab498634?source=rss-70f28ee28047------2"><img src="https://cdn-images-1.medium.com/max/1920/1*vDNz4p79pJdSBSumIeJ6yQ.png" width="1920"></a></p><p class="medium-feed-snippet">Why do Rails background job retries miss a crashed worker? Solid Queue marks it failed and Sidekiq OSS loses it.</p><p class="medium-feed-link"><a href="https://levelup.gitconnected.com/i-killed-the-worker-after-the-charge-nothing-retried-fe29ab498634?source=rss-70f28ee28047------2">Continue reading on Level Up Coding »</a></p></div>]]></description>
            <link>https://levelup.gitconnected.com/i-killed-the-worker-after-the-charge-nothing-retried-fe29ab498634?source=rss-70f28ee28047------2</link>
            <guid isPermaLink="false">https://medium.com/p/fe29ab498634</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[background-task]]></category>
            <category><![CDATA[ruby-on-rails]]></category>
            <category><![CDATA[idempotency]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Raza Hussain]]></dc:creator>
            <pubDate>Fri, 30 Oct 2026 14:32:36 GMT</pubDate>
            <atom:updated>2026-10-30T14:32:36.052Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Rails Zero-Downtime Database Migrations]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://javascript.plainenglish.io/rails-zero-downtime-database-migrations-c47e5d658988?source=rss-70f28ee28047------2"><img src="https://cdn-images-1.medium.com/max/1774/1*0I2PBD-aUp5SRjFHxzdKNA.png" width="1774"></a></p><p class="medium-feed-snippet">Why do Rails migrations cause downtime?</p><p class="medium-feed-link"><a href="https://javascript.plainenglish.io/rails-zero-downtime-database-migrations-c47e5d658988?source=rss-70f28ee28047------2">Continue reading on JavaScript in Plain English »</a></p></div>]]></description>
            <link>https://javascript.plainenglish.io/rails-zero-downtime-database-migrations-c47e5d658988?source=rss-70f28ee28047------2</link>
            <guid isPermaLink="false">https://medium.com/p/c47e5d658988</guid>
            <category><![CDATA[postgresql]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[database]]></category>
            <category><![CDATA[ruby-on-rails]]></category>
            <dc:creator><![CDATA[Raza Hussain]]></dc:creator>
            <pubDate>Fri, 30 Oct 2026 13:56:27 GMT</pubDate>
            <atom:updated>2026-10-30T13:56:27.142Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[What Does the Agents on Rails AI Coding Agent Benchmark Measure?]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://generativeai.pub/what-does-the-agents-on-rails-ai-coding-agent-benchmark-measure-f877f5ba09ea?source=rss-70f28ee28047------2"><img src="https://cdn-images-1.medium.com/max/1672/1*Rrw9DoY4uogjlNwpogNINw.png" width="1672"></a></p><p class="medium-feed-snippet">How do you run an AI coding agent benchmark on your Rails app? Hidden tests, a restored test/ directory, and Brakeman.</p><p class="medium-feed-link"><a href="https://generativeai.pub/what-does-the-agents-on-rails-ai-coding-agent-benchmark-measure-f877f5ba09ea?source=rss-70f28ee28047------2">Continue reading on Generative AI »</a></p></div>]]></description>
            <link>https://generativeai.pub/what-does-the-agents-on-rails-ai-coding-agent-benchmark-measure-f877f5ba09ea?source=rss-70f28ee28047------2</link>
            <guid isPermaLink="false">https://medium.com/p/f877f5ba09ea</guid>
            <category><![CDATA[ai-coding-agent]]></category>
            <category><![CDATA[software-testing]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[vibe-coding]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Raza Hussain]]></dc:creator>
            <pubDate>Thu, 29 Oct 2026 08:00:19 GMT</pubDate>
            <atom:updated>2026-10-29T08:00:19.449Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Rails Structured Event Reporting: A Practical Observability Migration]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://levelup.gitconnected.com/rails-structured-event-reporting-a-practical-observability-migration-b28c23b0148c?source=rss-70f28ee28047------2"><img src="https://cdn-images-1.medium.com/max/1672/1*dH6lOgQU8txnGvur_ScA5A.png" width="1672"></a></p><p class="medium-feed-snippet">Why do plain Rails logs fall short for observability?</p><p class="medium-feed-link"><a href="https://levelup.gitconnected.com/rails-structured-event-reporting-a-practical-observability-migration-b28c23b0148c?source=rss-70f28ee28047------2">Continue reading on Level Up Coding »</a></p></div>]]></description>
            <link>https://levelup.gitconnected.com/rails-structured-event-reporting-a-practical-observability-migration-b28c23b0148c?source=rss-70f28ee28047------2</link>
            <guid isPermaLink="false">https://medium.com/p/b28c23b0148c</guid>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[ruby-on-rails]]></category>
            <category><![CDATA[rails-8]]></category>
            <category><![CDATA[structured-logging]]></category>
            <category><![CDATA[observability]]></category>
            <dc:creator><![CDATA[Raza Hussain]]></dc:creator>
            <pubDate>Wed, 28 Oct 2026 16:25:43 GMT</pubDate>
            <atom:updated>2026-10-28T16:25:43.411Z</atom:updated>
        </item>
    </channel>
</rss>