<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>RubyFlow</title>
    <description>The Ruby and Rails community linklog</description>
    <link>https://rubyflow.com</link>
    <atom:link href="https://rubyflow.com/rss" rel="self" type="application/rss+xml"/>
    <item>
      <title>We spend so much time chasing the big topics that we often overlook the things we use</title>
      <description>&lt;a href="https://rubystacknews.com/2026/06/08/the-shared-echo-understanding-ruby-on-rails-request-response-cycle/" rel="nofollow"&gt;https://rubystacknews.com/2026/06/08/the-shared-echo-understanding-ruby-on-rails-request-response-cycle/&lt;/a&gt;</description>
      <pubDate>Tue, 09 Jun 2026 01:54:41 +0000</pubDate>
      <link>https://rubyflow.com/p/4nztpe-we-spend-so-much-time-chasing-the-big-topics-that-we-often-overlook-the-things-w</link>
      <guid>https://rubyflow.com/p/4nztpe-we-spend-so-much-time-chasing-the-big-topics-that-we-often-overlook-the-things-w</guid>
    </item>
    <item>
      <title>How to Leverage PurgeCSS in Your Rails App for Faster Stylesheets</title>
      <description>It’s common for Rails applications to serve massive CSS files filled with unused Bootstrap, Tailwind, or custom utility classes as projects grow.</description>
      <pubDate>Mon, 08 Jun 2026 20:36:16 +0000</pubDate>
      <link>https://rubyflow.com/p/3xiser-how-to-leverage-purgecss-in-your-rails-app-for-faster-stylesheets</link>
      <guid>https://rubyflow.com/p/3xiser-how-to-leverage-purgecss-in-your-rails-app-for-faster-stylesheets</guid>
    </item>
    <item>
      <title>AI Document assistant</title>
      <description>AI Document Assistants &lt;a href="https://flexfiles.io/en/ai-document-assistant" rel="nofollow"&gt;https://flexfiles.io/en/ai-document-assistant&lt;/a&gt; are transforming the way we handle information. By automating repetitive tasks and providing intelligent insights, they make document management more efficient and less time-consuming.</description>
      <pubDate>Mon, 08 Jun 2026 15:10:00 +0000</pubDate>
      <link>https://rubyflow.com/p/c7bggj-ai-document-assistant</link>
      <guid>https://rubyflow.com/p/c7bggj-ai-document-assistant</guid>
    </item>
    <item>
      <title>Polling for New Records</title>
      <description>Websockets are great, but they are not always the right approach. In this episode, we will look at implementing a long polling for new records. &lt;a href="https://www.driftingruby.com/episodes/polling-for-new-records" rel="nofollow"&gt;https://www.driftingruby.com/episodes/polling-for-new-records&lt;/a&gt;</description>
      <pubDate>Mon, 08 Jun 2026 12:22:44 +0000</pubDate>
      <link>https://rubyflow.com/p/ufurqw-polling-for-new-records</link>
      <guid>https://rubyflow.com/p/ufurqw-polling-for-new-records</guid>
    </item>
    <item>
      <title>Fewer understand why prepend changes everything.</title>
      <description>Most Ruby developers know include.
&lt;a href="https://rubystacknews.com/2026/06/07/rubys-ancestor-chain-why-prepend-cuts-the-line/" rel="nofollow"&gt;https://rubystacknews.com/2026/06/07/rubys-ancestor-chain-why-prepend-cuts-the-line/&lt;/a&gt;</description>
      <pubDate>Mon, 08 Jun 2026 02:30:03 +0000</pubDate>
      <link>https://rubyflow.com/p/ki68at-fewer-understand-why-prepend-changes-everything</link>
      <guid>https://rubyflow.com/p/ki68at-fewer-understand-why-prepend-changes-everything</guid>
    </item>
    <item>
      <title>Beyond Mocked Payloads: End-to-End Stripe Webhook Testing</title>
      <description>If you’ve ever wondered whether your Stripe webhook handler actually works end-to-end (not just with mocked payloads), this walks through using Stripe Test Clocks and the Stripe CLI to simulate the full payment failure retry sequence locally, including a race condition that only showed up this way &lt;a href="https://danielabaron.me/blog/stripe-test-clocks-payment-webhooks/" rel="nofollow"&gt;https://danielabaron.me/blog/stripe-test-clocks-payment-webhooks/&lt;/a&gt;</description>
      <pubDate>Sun, 07 Jun 2026 12:52:52 +0000</pubDate>
      <link>https://rubyflow.com/p/k8oqx6-beyond-mocked-payloads-end-to-end-stripe-webhook-testing</link>
      <guid>https://rubyflow.com/p/k8oqx6-beyond-mocked-payloads-end-to-end-stripe-webhook-testing</guid>
    </item>
    <item>
      <title>HexaPDF 1.9.0 released, with support for HarfBuzz based text shaping</title>
      <description>The latest release 1.9.0 of HexaPDF supports HarfBuzz based text shaping. Now complex scripts are rendered correctly.</description>
      <pubDate>Sun, 07 Jun 2026 12:51:51 +0000</pubDate>
      <link>https://rubyflow.com/p/t8vz09-hexapdf-190-released-with-support-for-harfbuzz-based-text-shaping</link>
      <guid>https://rubyflow.com/p/t8vz09-hexapdf-190-released-with-support-for-harfbuzz-based-text-shaping</guid>
    </item>
    <item>
      <title>Sessions Are Not Server Memory</title>
      <description>Rails makes &lt;code&gt;session[:user_id] = 42&lt;/code&gt; feel like a hash write, but CookieStore serializes and encrypts session data into a browser cookie. This article traces that pipeline, the 4KB cookie limit, and why sessions should carry identity instead of application state.</description>
      <pubDate>Sun, 07 Jun 2026 10:36:54 +0000</pubDate>
      <link>https://rubyflow.com/p/468tiz-sessions-are-not-server-memory</link>
      <guid>https://rubyflow.com/p/468tiz-sessions-are-not-server-memory</guid>
    </item>
    <item>
      <title>Rails GuardDog: Advanced Security Scanner for Rails</title>
      <description>Rails GuardDog is a new open-source security scanner for Rails that goes 
beyond tools like Brakeman.</description>
      <pubDate>Sat, 06 Jun 2026 09:25:07 +0000</pubDate>
      <link>https://rubyflow.com/p/gp14lm-rails-guarddog-advanced-security-scanner-for-rails</link>
      <guid>https://rubyflow.com/p/gp14lm-rails-guarddog-advanced-security-scanner-for-rails</guid>
    </item>
    <item>
      <title>RubyConf has joined RailsConf &amp; RailsWorld as an exclusive discriminatory conference</title>
      <description>RubyConf has joined RailsConf &amp;amp; RailsWorld as another exclusive discriminatory unexcellent conference.
&lt;a href="https://andymaleh.blogspot.com/2026/06/rubyconf-has-joined-railsconfrailsworld.html" rel="nofollow"&gt;https://andymaleh.blogspot.com/2026/06/rubyconf-has-joined-railsconfrailsworld.html&lt;/a&gt;</description>
      <pubDate>Fri, 05 Jun 2026 23:08:44 +0000</pubDate>
      <link>https://rubyflow.com/p/fzansw-rubyconf-has-joined-railsconf-railsworld-as-an-exclusive-discriminatory-conferen</link>
      <guid>https://rubyflow.com/p/fzansw-rubyconf-has-joined-railsconf-railsworld-as-an-exclusive-discriminatory-conferen</guid>
    </item>
    <item>
      <title>Every engineering team has a translator. I wrote the thing that translates</title>
      <description>&lt;a href="https://ezlogs.hashnode.dev/every-engineering-team-has-a-translator-i-wrote-the-thing-that-translates" rel="nofollow"&gt;https://ezlogs.hashnode.dev/every-engineering-team-has-a-translator-i-wrote-the-thing-that-translates&lt;/a&gt;</description>
      <pubDate>Fri, 05 Jun 2026 14:25:34 +0000</pubDate>
      <link>https://rubyflow.com/p/5kqrfs-every-engineering-team-has-a-translator-i-wrote-the-thing-that-translate</link>
      <guid>https://rubyflow.com/p/5kqrfs-every-engineering-team-has-a-translator-i-wrote-the-thing-that-translate</guid>
    </item>
    <item>
      <title>I gave a generic LLM access to Ruby documentation through RAG.</title>
      <description>&lt;a href="https://rubystacknews.com/2026/06/04/turning-a-generic-llm-into-a-ruby-expert-what-rag-fixed-and-what-it-didnt/" rel="nofollow"&gt;https://rubystacknews.com/2026/06/04/turning-a-generic-llm-into-a-ruby-expert-what-rag-fixed-and-what-it-didnt/&lt;/a&gt;</description>
      <pubDate>Fri, 05 Jun 2026 02:40:32 +0000</pubDate>
      <link>https://rubyflow.com/p/gm5mnq-i-gave-a-generic-llm-access-to-ruby-documentation-through-rag</link>
      <guid>https://rubyflow.com/p/gm5mnq-i-gave-a-generic-llm-access-to-ruby-documentation-through-rag</guid>
    </item>
    <item>
      <title>Meet Mata: live reload for Rack Apps</title>
      <description>&lt;a href="https://railsdesigner.com/meet-mata/" rel="nofollow"&gt;https://railsdesigner.com/meet-mata/&lt;/a&gt; and ⭐ &lt;a href="https://github.com/Rails-Designer/mata" rel="nofollow"&gt;https://github.com/Rails-Designer/mata&lt;/a&gt; Lightweight live reload for Rack apps (using SSE and idiomorph).</description>
      <pubDate>Thu, 04 Jun 2026 09:44:45 +0000</pubDate>
      <link>https://rubyflow.com/p/91m88k-meet-mata-live-reload-for-rack-apps</link>
      <guid>https://rubyflow.com/p/91m88k-meet-mata-live-reload-for-rack-apps</guid>
    </item>
    <item>
      <title>LLM Cost Tracker 0.12 — self-hosted LLM spend tracking for Rails</title>
      <description>💎 &lt;a href="https://rubygems.org/gems/llm_cost_tracker" rel="nofollow"&gt;https://rubygems.org/gems/llm_cost_tracker&lt;/a&gt;  
📝 &lt;a href="https://github.com/sergey-homenko/llm_cost_tracker" rel="nofollow"&gt;https://github.com/sergey-homenko/llm_cost_tracker&lt;/a&gt;</description>
      <pubDate>Thu, 04 Jun 2026 08:30:32 +0000</pubDate>
      <link>https://rubyflow.com/p/anyt5g-llm-cost-tracker-012-self-hosted-llm-spend-tracking-for-rails</link>
      <guid>https://rubyflow.com/p/anyt5g-llm-cost-tracker-012-self-hosted-llm-spend-tracking-for-rails</guid>
    </item>
    <item>
      <title>RubyGems 4.0.13 and Bundler 4.0.13 are out.</title>
      <description>&lt;a href="https://rubystacknews.com/2026/06/03/rubygems-4-0-13-and-bundler-4-0-13-released-with-new-supply-chain-security-protections/" rel="nofollow"&gt;https://rubystacknews.com/2026/06/03/rubygems-4-0-13-and-bundler-4-0-13-released-with-new-supply-chain-security-protections/&lt;/a&gt;</description>
      <pubDate>Thu, 04 Jun 2026 02:53:43 +0000</pubDate>
      <link>https://rubyflow.com/p/asxrq5-rubygems-4013-and-bundler-4013-are-out</link>
      <guid>https://rubyflow.com/p/asxrq5-rubygems-4013-and-bundler-4013-are-out</guid>
    </item>
    <item>
      <title>Slides for RubyConf.AT 2026 Talk "Frontend Ruby on Rails with Glimmer DSL for Web"</title>
      <description>My talk “Frontend Ruby on Rails with Glimmer DSL for Web” went well at RubyConf Austria 2026. Especially given that after the talk, Chad Fowler (the starter of RubyConf and famous book author of The Passionate Programmer, among other books) told me “good job”, and Obie Fernandez (a famous Ruby expert and book author of The Rails Way, among other books) told me he will try Glimmer DSL for Web because he doesn’t like React.js.
&lt;a href="https://andymaleh.blogspot.com/2026/06/rubyconf-austria-2026-frontend-ruby-on.html" rel="nofollow"&gt;https://andymaleh.blogspot.com/2026/06/rubyconf-austria-2026-frontend-ruby-on.html&lt;/a&gt;</description>
      <pubDate>Wed, 03 Jun 2026 19:21:30 +0000</pubDate>
      <link>https://rubyflow.com/p/vh1u9v-slides-for-rubyconfat-2026-talk-frontend-ruby-on-rails-with-glimmer-dsl-for-web</link>
      <guid>https://rubyflow.com/p/vh1u9v-slides-for-rubyconfat-2026-talk-frontend-ruby-on-rails-with-glimmer-dsl-for-web</guid>
    </item>
    <item>
      <title>From Coder to Architect: How to Learn Rails When AI Writes the Code</title>
      <description>I recently realized that the way I learned Ruby on Rails ten years ago is now completely obsolete….</description>
      <pubDate>Wed, 03 Jun 2026 18:14:36 +0000</pubDate>
      <link>https://rubyflow.com/p/2d1qht-from-coder-to-architect-how-to-learn-rails-when-ai-writes-the-code</link>
      <guid>https://rubyflow.com/p/2d1qht-from-coder-to-architect-how-to-learn-rails-when-ai-writes-the-code</guid>
    </item>
    <item>
      <title>Get Sidekiq and Faktory support in the Ruby Users Forum</title>
      <description>&lt;a href="https://www.rubyforum.org/t/get-sidekiq-and-faktory-support-in-the-ruby-users-forum" rel="nofollow"&gt;https://www.rubyforum.org/t/get-sidekiq-and-faktory-support-in-the-ruby-users-forum&lt;/a&gt;</description>
      <pubDate>Wed, 03 Jun 2026 14:25:03 +0000</pubDate>
      <link>https://rubyflow.com/p/457f8k-get-sidekiq-and-faktory-support-in-the-ruby-users-forum</link>
      <guid>https://rubyflow.com/p/457f8k-get-sidekiq-and-faktory-support-in-the-ruby-users-forum</guid>
    </item>
    <item>
      <title>Composition: Building with Parts</title>
      <description>Building complex objects in Ruby with composition and modules as roles, and knowing when each one beats inheritance for your design.</description>
      <pubDate>Wed, 03 Jun 2026 14:21:26 +0000</pubDate>
      <link>https://rubyflow.com/p/alncjn-composition-building-with-parts</link>
      <guid>https://rubyflow.com/p/alncjn-composition-building-with-parts</guid>
    </item>
    <item>
      <title>How to Choose a Gem Wisely</title>
      <description>Imagine this scenario: a developer added a pub/sub gem built on top of Sidekiq to handle background event broadcasting in your company’s Rails app. At the time, it was a huge win: instead of building a custom job orchestration system, they could drop in the gem, wire up a few events, and ship a feature in days instead of weeks.</description>
      <pubDate>Wed, 03 Jun 2026 13:07:47 +0000</pubDate>
      <link>https://rubyflow.com/p/kfkn1k-how-to-choose-a-gem-wisely</link>
      <guid>https://rubyflow.com/p/kfkn1k-how-to-choose-a-gem-wisely</guid>
    </item>
    <item>
      <title>http_decoy — a real Rack server that runs inside your RSpec tests</title>
      <description>Spin up a real WEBrick server in your test suite with a clean DSL. 
Define routes, validate request contracts, simulate failure scenarios, 
and tear down automatically. No VCR cassettes. No scattered WebMock stubs. 
Works with WebMock out of the box.</description>
      <pubDate>Wed, 03 Jun 2026 06:17:26 +0000</pubDate>
      <link>https://rubyflow.com/p/78p2rt-httpdecoy-a-real-rack-server-that-runs-inside-your-rspec-tests</link>
      <guid>https://rubyflow.com/p/78p2rt-httpdecoy-a-real-rack-server-that-runs-inside-your-rspec-tests</guid>
    </item>
    <item>
      <title>Turning a generic LLM into a Ruby-LibGD expert, one correction at a time.</title>
      <description>&lt;a href="https://rubystacknews.com/2026/06/02/turning-a-generic-llm-into-a-ruby-libgd-expert-one-correction-at-a-time/" rel="nofollow"&gt;https://rubystacknews.com/2026/06/02/turning-a-generic-llm-into-a-ruby-libgd-expert-one-correction-at-a-time/&lt;/a&gt;</description>
      <pubDate>Wed, 03 Jun 2026 02:54:57 +0000</pubDate>
      <link>https://rubyflow.com/p/tofd3h-turning-a-generic-llm-into-a-ruby-libgd-expert-one-correction-at-a-time</link>
      <guid>https://rubyflow.com/p/tofd3h-turning-a-generic-llm-into-a-ruby-libgd-expert-one-correction-at-a-time</guid>
    </item>
    <item>
      <title>Build a SaaS App in Rails 8 is content complete</title>
      <description>The book is content complete and is going through the process of making sure all the code samples, code ordering, etc is correct…along with some more grammer/editing. Check it out at: &lt;a href="https://buildasaasappinrails.com/" rel="nofollow"&gt;https://buildasaasappinrails.com/&lt;/a&gt;</description>
      <pubDate>Tue, 02 Jun 2026 22:15:58 +0000</pubDate>
      <link>https://rubyflow.com/p/r1sm70-build-a-saas-app-in-rails-8-is-content-complete</link>
      <guid>https://rubyflow.com/p/r1sm70-build-a-saas-app-in-rails-8-is-content-complete</guid>
    </item>
    <item>
      <title>Stop Using JS for Everything: Harnessing the Power of Pure CSS in 2026</title>
      <description>I remember when building a simple dropdown menu or a sticky header required a library like jQuery….</description>
      <pubDate>Tue, 02 Jun 2026 18:14:36 +0000</pubDate>
      <link>https://rubyflow.com/p/3vpw1b-stop-using-js-for-everything-harnessing-the-power-of-pure-css-in-2026</link>
      <guid>https://rubyflow.com/p/3vpw1b-stop-using-js-for-everything-harnessing-the-power-of-pure-css-in-2026</guid>
    </item>
    <item>
      <title>When your code speaks Rails instead of the domain</title>
      <description>&lt;a href="https://paweldabrowski.com/farewell-to-rails-way/when-your-code-speaks-rails-instead-of-the-domain" rel="nofollow"&gt;https://paweldabrowski.com/farewell-to-rails-way/when-your-code-speaks-rails-instead-of-the-domain&lt;/a&gt;</description>
      <pubDate>Tue, 02 Jun 2026 11:47:23 +0000</pubDate>
      <link>https://rubyflow.com/p/ajn73m-when-your-code-speaks-rails-instead-of-the-domain</link>
      <guid>https://rubyflow.com/p/ajn73m-when-your-code-speaks-rails-instead-of-the-domain</guid>
    </item>
  </channel>
</rss>
