<?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>Professional Business Email for Bloggers USA in 2026</title>
      <description>A business email for bloggers USA is a professional email address that uses your own domain name instead of a free personal email service. For example, instead of using janeblogger@gmail.com, a professional blogger can use hello@yourblogname.com.</description>
      <pubDate>Sun, 26 Jul 2026 09:48:01 +0000</pubDate>
      <link>https://rubyflow.com/p/nit4hh-professional-business-email-for-bloggers-usa-in-2026</link>
      <guid>https://rubyflow.com/p/nit4hh-professional-business-email-for-bloggers-usa-in-2026</guid>
    </item>
    <item>
      <title>Ruby Method Arguments: a new book, from your first call to metaprogramming</title>
      <description>&lt;a href="https://www.amazon.com/dp/B0H94X89BR" rel="nofollow"&gt;A new book on Ruby method arguments&lt;/a&gt; that
follows one thing all the way down: how a Ruby method receives its arguments. From
&lt;code&gt;def greet(name)&lt;/code&gt; to keyword arguments, splats, blocks, closures, &lt;code&gt;method_missing&lt;/code&gt;,
&lt;code&gt;instance_eval&lt;/code&gt;, and building a small DSL — with the patterns behind Rails and
RSpec rebuilt from scratch. Every example was run before it was printed, and the
exercises have self-checking solutions in a free companion repo.</description>
      <pubDate>Sun, 26 Jul 2026 07:49:21 +0000</pubDate>
      <link>https://rubyflow.com/p/92jdau-ruby-method-arguments-a-new-book-from-your-first-call-to-metaprogramming</link>
      <guid>https://rubyflow.com/p/92jdau-ruby-method-arguments-a-new-book-from-your-first-call-to-metaprogramming</guid>
    </item>
    <item>
      <title>How Rails Knows What Changed</title>
      <description>An Active Record Dirty-tracking lifecycle traced through a broken audit callback: pending changes before save, saved-change history afterward, net typed differences, object-local baselines, reload, and type-aware in-place mutation.</description>
      <pubDate>Sun, 26 Jul 2026 05:35:43 +0000</pubDate>
      <link>https://rubyflow.com/p/ys4hrq-how-rails-knows-what-changed</link>
      <guid>https://rubyflow.com/p/ys4hrq-how-rails-knows-what-changed</guid>
    </item>
    <item>
      <title>Best Business Email for Affiliate Marketers USA in 2026</title>
      <description>If you are a business email for affiliate marketers USA, having a professional business email is one of the smartest investments you can make. A business email helps you look trustworthy, communicate with affiliate networks professionally, and build a strong brand online.</description>
      <pubDate>Sat, 25 Jul 2026 10:14:20 +0000</pubDate>
      <link>https://rubyflow.com/p/aufp01-best-business-email-for-affiliate-marketers-usa-in-2026</link>
      <guid>https://rubyflow.com/p/aufp01-best-business-email-for-affiliate-marketers-usa-in-2026</guid>
    </item>
    <item>
      <title>Talk to you Rails app with your agent</title>
      <description>&lt;a href="https://github.com/igorkasyanchuk/talk_to_your_app" rel="nofollow"&gt;https://github.com/igorkasyanchuk/talk_to_your_app&lt;/a&gt;
Run queries against your production DB, change feature flags, reset cache, check background jobs, etc from your agent using MCP. Extend with custom plugins. All securely.</description>
      <pubDate>Fri, 24 Jul 2026 21:59:00 +0000</pubDate>
      <link>https://rubyflow.com/p/rgb6s9-talk-to-you-rails-app-with-your-agent</link>
      <guid>https://rubyflow.com/p/rgb6s9-talk-to-you-rails-app-with-your-agent</guid>
    </item>
    <item>
      <title>Automate Tech Debt Audits with Claude Code</title>
      <description>Over the years, we have written about many of the tools we use: Skunk for combining code quality and code coverage data, bundler-audit for security vulnerabilities in your dependencies, libyear-bundler for measuring dependency freshness in a Ruby application, and RubyCritic for churn vs. complexity analysis.</description>
      <pubDate>Thu, 23 Jul 2026 16:39:44 +0000</pubDate>
      <link>https://rubyflow.com/p/y98yk6-automate-tech-debt-audits-with-claude-code</link>
      <guid>https://rubyflow.com/p/y98yk6-automate-tech-debt-audits-with-claude-code</guid>
    </item>
    <item>
      <title>Recreating Stimulus: how data-controller works under the hood </title>
      <description>&lt;a href="https://railsdesigner.com/recreating-stimulus-controllers/" rel="nofollow"&gt;https://railsdesigner.com/recreating-stimulus-controllers/&lt;/a&gt;  Part 1 of 2.</description>
      <pubDate>Thu, 23 Jul 2026 13:31:45 +0000</pubDate>
      <link>https://rubyflow.com/p/aieax5-recreating-stimulus-how-data-controller-works-under-the-hood-</link>
      <guid>https://rubyflow.com/p/aieax5-recreating-stimulus-how-data-controller-works-under-the-hood-</guid>
    </item>
    <item>
      <title>A brand new SEO+GEO tracker in Rails (SerpBear alternative)</title>
      <description>I am releasing SerpTrail 1.0 today, a new &lt;a href="https://serpapi.com/blog/introducing-serptrail-self-hosted-search-rank-tracker/" rel="nofollow"&gt;SEO rank tracker&lt;/a&gt; built with Rails, Hotwire, SQLite, and Kamal</description>
      <pubDate>Thu, 23 Jul 2026 08:59:57 +0000</pubDate>
      <link>https://rubyflow.com/p/44u2ou-a-brand-new-seogeo-tracker-in-rails-serpbear-alternative</link>
      <guid>https://rubyflow.com/p/44u2ou-a-brand-new-seogeo-tracker-in-rails-serpbear-alternative</guid>
    </item>
    <item>
      <title>🇳🇴 Ruby may finally fix the famous "Norway problem."</title>
      <description>🔗 &lt;a href="https://rubystacknews.com/2026/07/21/ruby-may-finally-fix-the-famous-norway-problem/" rel="nofollow"&gt;https://rubystacknews.com/2026/07/21/ruby-may-finally-fix-the-famous-norway-problem/&lt;/a&gt;</description>
      <pubDate>Wed, 22 Jul 2026 02:55:39 +0000</pubDate>
      <link>https://rubyflow.com/p/wlacxg--ruby-may-finally-fix-the-famous-norway-problem</link>
      <guid>https://rubyflow.com/p/wlacxg--ruby-may-finally-fix-the-famous-norway-problem</guid>
    </item>
    <item>
      <title>Most Rails multi-tenant apps trust developers to remember where(tenant_id: ...).</title>
      <description>&lt;a href="https://rubystacknews.com/2026/07/20/beyond-tenant_id-treating-multi-tenancy-as-a-database-invariant/" rel="nofollow"&gt;https://rubystacknews.com/2026/07/20/beyond-tenant_id-treating-multi-tenancy-as-a-database-invariant/&lt;/a&gt;</description>
      <pubDate>Tue, 21 Jul 2026 02:15:26 +0000</pubDate>
      <link>https://rubyflow.com/p/ywzdq0-most-rails-multi-tenant-apps-trust-developers-to-remember-wheretenantid-</link>
      <guid>https://rubyflow.com/p/ywzdq0-most-rails-multi-tenant-apps-trust-developers-to-remember-wheretenantid-</guid>
    </item>
    <item>
      <title>RubyConf Austria 2026 Talk Video: Frontend Ruby on Rails with Glimmer DSL for Web</title>
      <description>My RubyConf Austria 2026 talk has been published on YouTube! What if your frontend was just… Ruby? &lt;a href="https://www.youtube.com/watch?v=qTukq5AcSK0" rel="nofollow"&gt;https://www.youtube.com/watch?v=qTukq5AcSK0&lt;/a&gt;</description>
      <pubDate>Mon, 20 Jul 2026 21:09:12 +0000</pubDate>
      <link>https://rubyflow.com/p/no9n5h-rubyconf-austria-2026-talk-video-frontend-ruby-on-rails-with-glimmer-dsl-for-web</link>
      <guid>https://rubyflow.com/p/no9n5h-rubyconf-austria-2026-talk-video-frontend-ruby-on-rails-with-glimmer-dsl-for-web</guid>
    </item>
    <item>
      <title>Calling all open source maintainers working with Ruby</title>
      <description>We’re creating a shared place where Ruby users can ask questions and discuss ideas about your project: &lt;a href="https://www.rubyforum.org/t/calling-all-open-source-maintainers-working-with-ruby/553" rel="nofollow"&gt;https://www.rubyforum.org/t/calling-all-open-source-maintainers-working-with-ruby/553&lt;/a&gt;</description>
      <pubDate>Mon, 20 Jul 2026 14:25:24 +0000</pubDate>
      <link>https://rubyflow.com/p/7xl9ln-calling-all-open-source-maintainers-working-with-ruby</link>
      <guid>https://rubyflow.com/p/7xl9ln-calling-all-open-source-maintainers-working-with-ruby</guid>
    </item>
    <item>
      <title>ActiveModel Conditional Validations</title>
      <description>There are &lt;a href="https://kevinjmurphy.com/posts/activemodel-conditional-validations/" rel="nofollow"&gt;options&lt;/a&gt; to applying validations conditionally in ActiveModel. I encourage you to also consider other ways to model your rules. Hit the link to read through some options.</description>
      <pubDate>Mon, 20 Jul 2026 14:18:01 +0000</pubDate>
      <link>https://rubyflow.com/p/ij314x-activemodel-conditional-validations</link>
      <guid>https://rubyflow.com/p/ij314x-activemodel-conditional-validations</guid>
    </item>
    <item>
      <title>Audition is a linter/fixer that gets your code Ractor-ready</title>
      <description>Vibe coded a useful thing for Rubyists over the weekend. Audition is a linter/fixer that gets your code Ractor-ready: static analysis powered by Shopify’s rubydex, plus dynamic probes that actually run your code inside Ractors and report what breaks.</description>
      <pubDate>Mon, 20 Jul 2026 11:12:56 +0000</pubDate>
      <link>https://rubyflow.com/p/5skptc-audition-is-a-linterfixer-that-gets-your-code-ractor-ready</link>
      <guid>https://rubyflow.com/p/5skptc-audition-is-a-linterfixer-that-gets-your-code-ractor-ready</guid>
    </item>
    <item>
      <title>Why N+1 Queries Are a Natural Result of Lazy Loading</title>
      <description>N+1 is lazy loading repeated across a collection. This RailsRevelry article traces the per-owner association load path, the relation.loaded? versus association(:invoices).loaded? distinction, preload/eager_load/includes, why preloading doesn’t fix count or scoped reads, and strict_loading as enforcement.</description>
      <pubDate>Sun, 19 Jul 2026 06:13:32 +0000</pubDate>
      <link>https://rubyflow.com/p/ehpecs-why-n1-queries-are-a-natural-result-of-lazy-loading</link>
      <guid>https://rubyflow.com/p/ehpecs-why-n1-queries-are-a-natural-result-of-lazy-loading</guid>
    </item>
    <item>
      <title>How to deploy an existing Rails app for free</title>
      <description>&lt;a href="https://www.rubyforum.org/t/how-to-deploy-an-existing-rails-app-for-free" rel="nofollow"&gt;https://www.rubyforum.org/t/how-to-deploy-an-existing-rails-app-for-free&lt;/a&gt;</description>
      <pubDate>Thu, 16 Jul 2026 14:47:34 +0000</pubDate>
      <link>https://rubyflow.com/p/8mx37j-how-to-deploy-an-existing-rails-app-for-free</link>
      <guid>https://rubyflow.com/p/8mx37j-how-to-deploy-an-existing-rails-app-for-free</guid>
    </item>
    <item>
      <title>A Supporter Sympathizes with My Discrimination by RubyConf 2026</title>
      <description>I am thankful to the Software Engineer who shared a very supportive comment regarding my experience of discrimination by RubyConf 2026.
&lt;a href="https://andymaleh.blogspot.com/2026/07/a-supporter-sympathizes-with-my.html" rel="nofollow"&gt;https://andymaleh.blogspot.com/2026/07/a-supporter-sympathizes-with-my.html&lt;/a&gt;</description>
      <pubDate>Wed, 15 Jul 2026 22:25:14 +0000</pubDate>
      <link>https://rubyflow.com/p/6tf0za-a-supporter-sympathizes-with-my-discrimination-by-rubyconf-2026</link>
      <guid>https://rubyflow.com/p/6tf0za-a-supporter-sympathizes-with-my-discrimination-by-rubyconf-2026</guid>
    </item>
    <item>
      <title>When broadcasting a refresh is not enough: faster UX with versioned updates</title>
      <description>If you’re using Turbo broadcasts to make a page collaborative, you might have noticed that the default refresh approach adds latency: an extra round trip, a debounce delay, and a flood of simultaneous requests when many users are connected. Broadcasting a replace action with the content directly fixes most of that, but it opens up a race condition where updates can arrive out of order. Here’s how to get fast, immediate updates without sacrificing correctness: &lt;a href="https://radan.dev/articles/turbo-versioned-updates?utm_source=rubyflow&amp;amp;utm_medium=feed&amp;amp;utm_campaign=turbo-versioned-updates" rel="nofollow"&gt;When broadcasting a Turbo refresh is not enough: faster UX with versioned immediate updates&lt;/a&gt;</description>
      <pubDate>Wed, 15 Jul 2026 11:07:59 +0000</pubDate>
      <link>https://rubyflow.com/p/p1pts9-when-broadcasting-a-refresh-is-not-enough-faster-ux-with-versioned-updates</link>
      <guid>https://rubyflow.com/p/p1pts9-when-broadcasting-a-refresh-is-not-enough-faster-ux-with-versioned-updates</guid>
    </item>
    <item>
      <title>⚽ The World Cup is reaching its final stages, and Ruby developers have been building </title>
      <description>&lt;a href="https://rubystacknews.com/2026/07/14/%e2%9a%bd-world-cup-fever-hits-the-ruby-community/" rel="nofollow"&gt;https://rubystacknews.com/2026/07/14/%e2%9a%bd-world-cup-fever-hits-the-ruby-community/&lt;/a&gt;</description>
      <pubDate>Wed, 15 Jul 2026 03:01:18 +0000</pubDate>
      <link>https://rubyflow.com/p/5ymhep--the-world-cup-is-reaching-its-final-stages-and-ruby-developers-have-been-buildi</link>
      <guid>https://rubyflow.com/p/5ymhep--the-world-cup-is-reaching-its-final-stages-and-ruby-developers-have-been-buildi</guid>
    </item>
    <item>
      <title>RubyConf 2026 Is Not a Safe Environment for Everyone</title>
      <description>RubyConf 2026 is not a safe environment for everyone. They have an in-group and an out-group. If you’re in the in-group, they will treat you well and accept talk proposals by you even if you don’t have top-level skills in Software Engineering. If you’re in the out-group, it doesn’t matter if you launch rockets to the moon successfully on your own or win the approval of Matz himself, you will be excluded and discriminated against. This is no different from how the MLB (Major League Baseball) used to mistreat Afro Americans and relegate them to playing in the Negro league instead of the Major League. Telling someone who can perform at the major league level they are unaccepted as a player there, but could attend if they want is most definitely discrimination 100%.
&lt;a href="https://andymaleh.blogspot.com/2026/07/rubyconf-2026-is-not-safe-environment.html" rel="nofollow"&gt;https://andymaleh.blogspot.com/2026/07/rubyconf-2026-is-not-safe-environment.html&lt;/a&gt;</description>
      <pubDate>Tue, 14 Jul 2026 20:18:35 +0000</pubDate>
      <link>https://rubyflow.com/p/7a62ig-rubyconf-2026-is-not-a-safe-environment-for-everyone</link>
      <guid>https://rubyflow.com/p/7a62ig-rubyconf-2026-is-not-a-safe-environment-for-everyone</guid>
    </item>
    <item>
      <title>Tracking Business Metrics in Rails without a full analytics stack</title>
      <description>&lt;a href="https://trifle.io/blog/2026-07-14-tracking-business-metrics-in-rails-without-a-full-analytics-stack" rel="nofollow"&gt;https://trifle.io/blog/2026-07-14-tracking-business-metrics-in-rails-without-a-full-analytics-stack&lt;/a&gt;</description>
      <pubDate>Tue, 14 Jul 2026 12:46:48 +0000</pubDate>
      <link>https://rubyflow.com/p/wa93aq-tracking-business-metrics-in-rails-without-a-full-analytics-stack</link>
      <guid>https://rubyflow.com/p/wa93aq-tracking-business-metrics-in-rails-without-a-full-analytics-stack</guid>
    </item>
    <item>
      <title>Stoplight is looking for new contributors (junior devs welcome)</title>
      <description>Hey dear Rubyists,</description>
      <pubDate>Tue, 14 Jul 2026 07:16:20 +0000</pubDate>
      <link>https://rubyflow.com/p/mlwpm1-stoplight-is-looking-for-new-contributors-junior-devs-welcome</link>
      <guid>https://rubyflow.com/p/mlwpm1-stoplight-is-looking-for-new-contributors-junior-devs-welcome</guid>
    </item>
    <item>
      <title>data_redactor: stop secrets and personal data leaking into logs and LLM prompts</title>
      <description>If your app writes logs or sends text to an LLM, sooner or later a real credit card, email, or API key ends up in there — data_redactor strips that kind of data out of any string before it leaves your app.</description>
      <pubDate>Tue, 14 Jul 2026 06:56:27 +0000</pubDate>
      <link>https://rubyflow.com/p/tesaty-dataredactor-stop-secrets-and-personal-data-leaking-into-logs-and-llm-prompts</link>
      <guid>https://rubyflow.com/p/tesaty-dataredactor-stop-secrets-and-personal-data-leaking-into-logs-and-llm-prompts</guid>
    </item>
    <item>
      <title>Refactoring with Convergence Rules</title>
      <description>Three rules turn duplication into abstractions through tiny steps, and catch false abstractions before they ever reach the code.</description>
      <pubDate>Mon, 13 Jul 2026 18:11:15 +0000</pubDate>
      <link>https://rubyflow.com/p/pir4cy-refactoring-with-convergence-rules</link>
      <guid>https://rubyflow.com/p/pir4cy-refactoring-with-convergence-rules</guid>
    </item>
    <item>
      <title>Ruby Open-Source Innovation Process Expectation vs Reality</title>
      <description>Ruby Open-Source Innovation Process Expectation vs Reality
&lt;a href="https://andymaleh.blogspot.com/2026/07/ruby-open-source-innovation-process.html" rel="nofollow"&gt;https://andymaleh.blogspot.com/2026/07/ruby-open-source-innovation-process.html&lt;/a&gt;</description>
      <pubDate>Mon, 13 Jul 2026 16:45:43 +0000</pubDate>
      <link>https://rubyflow.com/p/wp7hll-ruby-open-source-innovation-process-expectation-vs-reality</link>
      <guid>https://rubyflow.com/p/wp7hll-ruby-open-source-innovation-process-expectation-vs-reality</guid>
    </item>
  </channel>
</rss>
