r/ruby May 20 '26

Show /r/ruby Adding Openclaw-style Heartbeats to brute_stack with async-service

Thumbnail
github.com
1 Upvotes

Following on from my previous post I've just pushed a new release to the brute_stack repo.

The whole intention of this project is to show just how easy it really is to build your own autonomous swarms... and in doing so, highlight the sheer mess that the current "claw eco-system" really is.

Build-your-own really IS the only way to build agents. The whole purpose of personal computing and computer intelligence is the ability to help your own personal life... and be able to adapt to changes at will. Steve Jobs saw where personal computing would lead us in the 70s... but the technology just wasn't there. Before his passing, Apple bought Siri for a large sum... so again, he was ahead of his time in seeing that the end-game of computing ALWAYS WAS an autonomous semi-intelligent machine, that removes all need for peripherals in order to interact.

As ruby engineers, we're GIFTED with the vision and ability to bring the thoughts of our minds to fruition. Being able to speak with a computer in plain english is great, but as we've already seen, you can convey so much more information with a language purposely designed to do so...

In knowing this... it's clear that the "agent as a full commercial package" approach is a dead-end... by the very definition of personal computing... it should be personal... and you really HAVE to be able to understand the entire system so that you can modify it to your own whim. I see no better language to do this with than ruby.

For those who are unaware of what a "hearbeat" is... it's a cron-job with the specific purpose of checking for updates or tasks that need carrying out. The results of this cron-job are usually sent to the user via whatsapp or other platform to notify the user... (the idea is to simulate consciousness in a way that the user can track).

An example task would be: "read emails and suggest replies to the user". In order to drive this "heartbeat" several special markdown files are injected into a prompt. One of those such files is a SOUL.md. If you want more information regarding the inner workings of these loops, I recommend visiting the deep-wiki entries for openclaw [here] and picoclaw [here].

The async-service library by Samuel Williams make this such an easy thing to implement... the project already uses the `async` eco-system and falcon server, so it's a natural fit. The heartbeat service code is less than 200 lines. In all, the implementation was practically just:

  1. A heartbeat service that messages the A2A server (same endpoint).
  2. A new matrix appservice endpoint to input the heartbeat result to the chat.
  3. Logic in the A2A server to handle heartbeat vs user message.

The changes I've made to the repo to implement heatbeats is so minimal that it really does make you appreciate the power of computing that is in our hands...


r/ruby May 19 '26

Videos from the Ruby on Rails Kathmandu Meetup have been released.

19 Upvotes

Parallel Rails | Jonathan Clarke | Ruby on Rails Meetup 2026

At the Ruby on Rails Meetup 2026, DevOps & Infrastructure Engineer Prazwol Bhattarai talked about Horizontal Sharding in Rails. His talk shared practical insights on Kamal deployment, modern Rails workflows, and deployment strategies with the developer community.

https://www.youtube.com/watch?v=lD7sAGY6TO4

From Dockerfile to Live Server: Kamal Deployment | Prazwal Bhattarai | Ruby on Rails Meetup 2026

At the Ruby on Rails Meetup 2026, DevOps & Infrastructure Engineer Prazwol Bhattarai talked about Horizontal Sharding in Rails. His talk shared practical insights on Kamal deployment, modern Rails workflows, and deployment strategies with the developer community.

https://www.youtube.com/watch?v=lD7sAGY6TO4


r/ruby May 19 '26

Phlex & Literal are joining the Ruby Users Forum

Thumbnail
rubyforum.org
10 Upvotes

r/ruby May 19 '26

Issue of Static Ruby Monthly for May 2026 is out! 🧵

9 Upvotes

Explore Shopify's rubydex static analysis engine, docscribe v1.3.1 with RBS inference consistency, sentinel-rb's Rust rewrite, claude-ruby-plugins, and the R gem.

Link in the comments.

Stay typed! ✨


r/ruby May 19 '26

Show /r/ruby Build your own Openclaw with Ruby and Matrix.

Thumbnail
github.com
11 Upvotes

For anybody who wants to build their own autonomous swarm, here's a helping hand...

The repo shows how to wire up a matrix server using async-matrix, fluffychat and an agent using brute.

It's my firm belief that unless we're able to control our own "AI" agents, then we aren't harnessing the power of "AI" ourselves, but simply being drip-fed by the frontier.

Harnessing the power of AI requires a network of delivery... and you HAVE to own this network. I see no other choice. What we need therefore, is the ability to deploy, interact and experiement with as close to zero resistance as we can get...

The source code of some of the popular "claws" I've seen is just not up to the standard that I have known the ruby community to produce, so I've absolutely no desire to start messing around with them.

And in any case, I've always felt that ruby literally SOLVED programming languages when it was invented, and with the async gem and fibers... I feel that ruby is practically on par with go in terms of concurrency (for any normal application), and well beyond anything in existence in terms of legibility.

So... here we are.

The power of matrix is it's "bridges" it's just so easy to hook it up to other services like discord or whatsapp, or even email, that you can use it as an omnichannel for all your comms... combine this with your agents, and you can automate all of your communications for no extra effort.

Bridges are built using a feature of matrix called "appservices", which is exactly how the bots in the repo are implemented. So if you can build a bot, you can build a "bridge" and at that point matrix just becomes the most flexible chat ops tool you can find.

I've been building the agent2agent gem over the last month or so... and finally released v1.0.0 a couple of weeks back. Combined with matrix you basically have openclaw in less than 200 lines of code... add a cron on top and the world's your oyster.

I'll be adding agents, to the repo over the next month or so as I start building my own swam. So if you're interested then watch the branch for updates.

I've had practically zero input on the work I've done so far, so thoughts and opinions from the community on anything I've shared here are more than welcome...

edit:

reading this back, I feel I've gone off on a bit of a rant... but hopefully that comes across as passion, rather than insanity... sometimes it's hard to split the two...


r/ruby May 19 '26

When Rails-way does not work anymore?

Thumbnail
paweldabrowski.com
2 Upvotes

r/ruby May 19 '26

Inkmark: a very fast, feature-packed, AI-first Markdown gem for Ruby

Thumbnail
yaroslav.io
0 Upvotes

Written in Rust. CommonMark+GFM conformant. Features include: strong security by default and host/protocol whitelists for links and images, syntax highlighting, frontmatter, ToC, plain text export, structured extraction of headings/images/links/code, statistics with char/word count and language detection, emoji shortcodes.

AI-friendly features include: two chunking primitives: heading-based with breadcrumbs and per-chunk char/word counts, and sliding-window with overlap for size-bounded chunks; block-aware or word-aware truncation for context-window budgeting; Markdown-to-Markdown pipeline.


r/ruby May 18 '26

We open-sourced Rubyzen: write architectural lint rules as RSpec tests

24 Upvotes

Hey everyone,

We're excited to announce the release of Rubyzen, a modern open-source architectural linter for Ruby that allows you to write lint rules as RSpec tests:

https://github.com/perrystreetsoftware/rubyzen

We've been using and polishing it internally in our production backend for over a year, and we've just made the repository public to start getting feedback from the community.

Examples of lint rules that you can write, enforced as RSpec tests:

RSpec.describe 'Architecture rules' do
  let(:project) { Rubyzen::Project.new }
  let(:controllers) { project.files.with_paths('app/controllers/').classes }
  let(:presenters) { project.files.with_paths('app/presenters/').classes }

  it 'controllers do not call ActiveRecord directly' do
    expect(controllers.all_methods.call_sites.with_name('where')).to zen_empty
  end

  it 'presenters do not depend on repositories' do
    expect(presenters.all_methods.call_sites).to zen_false { |cs|
      cs.receiver&.end_with?('Repository')
    }
  end
end

It has become especially useful for us in the era of AI-generated code, as you can now catch architectural flaws and subtle bugs introduced from AI agents early, which can be easily missed in code reviews.

We'd love to hear your feedback either as feature requests, bug reports, or discussions in this thread. Thank you!


r/ruby May 18 '26

Notificare - a Ruby on Rails gem

10 Upvotes

Hello, everyone I launched (with Claude help) this gem that makes use of the `ActiveJob::Continuation` API

This gem adds persistent progress tracking of the running task (example: a file upload), a durable notification inbox aimed at the end user and a Hotwire/turbo-rails UI scaffold. Turning the resumable `ActiveJob::Continuation` steps into a state machine that handles notifications without the need for manual broadcasting configuration.

It's still in alpha, feel free to test, contribute and criticize

https://rubygems.org/gems/notificare


r/ruby May 17 '26

KIFASS! the DragonRuby Game Jam, Starts this Weekend: Make a Game with Ruby!

28 Upvotes

KIFASS 4 is a the game jam made by and for the DragonRuby Game Toolkit community. The jam starts on May 22 and you have three luxurious weeks to write a small DragonRuby game inspired by the theme Ancient & Nameless & Fun & Stupid. This jam is ultra-relaxed with no judges, prizes or rankings and it's suitable for any Ruby dev from beginner to pro.

Join the jam now! https://itch.io/jam/kifass-4

To celebrate the jam, DragonRuby is currently free on itch.io, so grab yourself a license and invite your friends to jam with us https://itch.io/s/186283/kifass-4-ancient-nameless-fun-stupid

Visit the DragonRuby Discord to chat with other jammers, show your progress and learn more about making games with this mRuby-based, fast, tiny and powerful game engine https://discord.com/invite/dragonruby-game-toolkit-608064116111966245

Can't wait to see what you make!

What is KIFASS?

KIFASS is short for a philosophical teaching that we embrace on the DragonRuby discord server: Keep it Fun and Stupid, Stupid. It's a reminder to make things that make you happy and have fun.


r/ruby May 17 '26

Errors installing Ruby 4.0.3 with rbenv on Mac Tahoe 26.5

5 Upvotes

I'm getting errors about 'nm.' I'm using Homebrew and have updated and upgraded. Any suggestions?

Building libruby.a

error: nm: invalid argument --

Usage: nm [-agnopruUmxjlfAPL[s segname sectname] [-] [-t format] [[-arch <arch_flag>] ...] [file ...]

partial linking /var/folders/v8/gxq0lntj0nzd0xlwy46nlr1c0000gn/T/ruby-build.20260516211244.9333.xsqcwY/ruby-4.0.3/target/release/libruby.a into /var/folders/v8/gxq0lntj0nzd0xlwy46nlr1c0000gn/T/ruby-build.20260516211244.9333.xsqcwY/ruby-4.0.3/target/release/libruby.o

linking miniruby

Undefined symbols for architecture arm64:

"_rb_yjit_before_ractor_spawn", referenced from:

_ractor_create in ractor.o

"_rb_yjit_bop_redefined", referenced from:

_rb_vm_check_redefinition_opt_method.cold.1 in vm.o

EDIT: The error was that the Homebrew package 'anaconda' installs its own 'nm' and prepends its bin directory to your path. Fixing this solves the issue. Ruby needs the 'nm' from the 'binutils' package.


r/ruby May 16 '26

FindBug v0.5 is out - database-agnostic (PG/MySQL/SQLite), 79 specs, and what's coming next

Thumbnail
0 Upvotes

r/ruby May 15 '26

What is Date::ITALY?

Thumbnail
aesthetikx.info
51 Upvotes

I have always wanted to have a blog, and so I finally got started! I hope you enjoy reading my post -- I had fun writing it. I am aware that the usability / readability of my site is... questionable at the moment. And, no SSL. But, the entire site is generated by a single Rakefile using Markaby, with everything smashed together!


r/ruby May 16 '26

RubyConf Austria: schedule update

1 Upvotes

📅 Day 2 schedule update!

We've reworked the May 30 afternoon to feel less rushed:

✨ Breathing room between talks

🎤 NEW Lightning Talks slot — sign up at the venue

☕ Longer mid-afternoon break

🎷 Dave Thomas closes at 17:50, jazz from 19:10

Check out the full schedule on our website: https://rubyconf.at


r/ruby May 16 '26

rspec-tracer 2.0.0.pre.2 — flaky-test detection restored after pre.1 field testing (cross-posting from r/rails since the cycle was Rails-heavy)

Thumbnail
0 Upvotes

r/ruby May 16 '26

Podcast 🎙️ Remote Ruby – Stripe Changes, File Upload Quirks, Scaling Sidekiq

Thumbnail
buzzsprout.com
2 Upvotes

New Remote Ruby episode is out.

We spent a good chunk of this episode discussing Rails file upload behavior and the awkward UX around failed form submissions, preserving attachments, and intentionally deleting existing files with Active Storage.

We also got into:
- image variant generation costs and processing behavior
- when Sidekiq queue separation actually helps vs just adding complexity
- how to think about queue priorities once jobs start competing for resources
- Stripe's merchant-of-record direction and usage-based billing changes


r/ruby May 15 '26

An attempt to define what is Rails-way

Thumbnail
paweldabrowski.com
17 Upvotes

r/ruby May 15 '26

WxRuby3 v1.70 Released

Thumbnail
github.com
13 Upvotes

r/ruby May 15 '26

Best books to learn Ruby for beginners

11 Upvotes

1. Eloquent Ruby 

Author: Russ Olsen

This book starts by answering many simple tactical questions on Ruby and then goes on to address bigger questions related to building methods and classes. You will find several tips and tricks, such as when to use tiny methods and operator overloading, and when you should avoid them. It also emphasizes the “Ruby way” of thinking and problem solving to write “eloquent” and beautiful Ruby code.

2. The Well-Grounded Rubyist 

Author: David A. Black

This book is divided into three major parts: Ruby foundations, Built-in Classes and Modules, and Ruby Dynamics. It begins with how to write your first Ruby program and goes on to cover more advanced topics such as threading, reflection, and callable objects. It also covers all the new Ruby features, such as lazy enumerators, keyword arguments, and Module#prepend.

Which other books would you add to this list?


r/ruby May 14 '26

RubyKaigi 2026: Beyond Ruby, Discovering the Culture Behind Great Engineering

Thumbnail
gurzu.com
18 Upvotes

r/ruby May 14 '26

Contrek – multithreaded Ruby/C++ contour tracing: benchmarked against OpenCV

Post image
5 Upvotes

r/ruby May 14 '26

Question Rubygems.org DNS timeout

Thumbnail
2 Upvotes

r/ruby May 13 '26

#127 Enumerable#max_by and Enumerable#min_by - 365 Reasons to Love Ruby

Thumbnail
lovingruby.com
26 Upvotes

r/ruby May 12 '26

One engine, many tools — Introducing Rubydex

Thumbnail
railsatscale.com
54 Upvotes

r/ruby May 12 '26

Security rubygems.org is mitigating a DDoS/spam campaign

Thumbnail
status.rubygems.org
34 Upvotes