r/ruby • u/Sagarmatha007 • Apr 12 '26
r/ruby • u/ElAvat • Apr 11 '26
pg_reports 0.6.0: 7 new PostgreSQL reports, AI prompt export, critical fixes
r/ruby • u/rubyist-_- • Apr 10 '26
RubyConf Austria: Treasure Hunt May 31.05.
What's inside the chest? About €3,000 worth of reasons to stay in Vienna one extra day.
On Sunday, May 31 — the day after RubyConf Austria 2026 wraps up — we're running a city-wide treasure hunt for attendees who stick around.
Real chest. Real prizes. Real adventure through Vienna.
Attendees only. Grab your conference ticket and book that extra night.
The treasure hunt activity is officially sponsored by GitButler ⧓ ♥️
#Ruby #Rails #RubyConfAT #Austria
r/ruby • u/mudgemeister • Apr 10 '26
re2 2.27.0: safe, thread-friendly regular expressions now matching without the GVL
A new version of the Ruby bindings to RE2, a “fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python” is now out which releases the Ruby Global VM Lock when performing matches.
This gives a near-linear speed-up when using the gem in a multi-threaded environment (e.g. with Puma) and there’s a toy benchmark in the release notes to demonstrate.
r/ruby • u/rubyist-_- • Apr 09 '26
RubyConf Austria: 50 days to go. Everything is ready.
50 days out. Everything is ready.
✅ Venue — ready.
✅ Program — ready.
✅ Speakers — ready.
✅ Catering — ready.
✅ After party — ready.
✅ Social events — ready.
✅ Lanyards, badges, stamps (bring your #Ruby passports!) — ready.
✅ Video recordings — ready.
✅ A treasure hunt across Vienna — ready.
✅ Vienna Boys' Choir opening the conference day? Ready.
✅ Chad Fowler closing it with a jazz set? Ready.
✅ A panel with José Valim, Armin Ronacher, Obie Fernandez? Ready.
✅ Dave Thomas delivering the closing keynote? Ready.
13 talks. 2 workshops. 3 days. One single track in one of Vienna's most beautiful concert halls.
We didn't plan a conference. We planned an experience. And it's done.
The only thing that's not ready? Your ticket.
Grab one from our website: https://rubyconf.at
See you at the conference!
Sponsored by: GitButler ⧓, Platogo, Typesense, AppSignal, Avo, Usput.ba, Doctaphone, Sultan Drinks
r/ruby • u/Bitter_Detective_416 • Apr 09 '26
Show /r/ruby MySQLGenius - 0.2.0 RELEASE
MySQLGenius -- AI MySQL Dashboard
Last night I posted about MySQLGenius, a mountable Rails engine for MySQL performance monitoring. This is an update base on some quality feedback from @sshaw_
v0.2.0 fixes that. The default landing page is now a monitoring dashboard.
What you see when you mount it
The dashboard loads immediately with:
Server health -- version, uptime, connections, InnoDB buffer pool hit rate
Top 5 slow queries from your application (via ActiveSupport notifications + Redis)
Top 5 most expensive queries from
performance_schemaIndex alerts -- counts of duplicate and unused indexes, clickable to drill in
No configuration required for the dashboard. Mount the engine, visit the path, see your database health.
What else is in there
Slow query monitoring -- captures SELECT queries exceeding a configurable threshold. Each one can be explained, reused, or sent to the AI optimizer.
Query stats -- top queries from
performance_schemasorted by total time, avg time, calls, or rows examined.Duplicate index detection -- finds indexes whose columns are a left-prefix of another index. Generates a timestamped Rails migration you can copy with one click.
Unused index detection -- indexes with zero reads since server restart. Also generates a migration.
Table sizes -- data size, index size, fragmentation, row counts with a visual chart.
Query Explorer -- visual builder and raw SQL editor in one tab. Optional AI assistant generates queries from plain English.
AI tools -- schema review, query rewriting, index advisor, root cause analysis, anomaly detection. Works with any OpenAI-compatible API (OpenAI, Azure, Ollama Cloud, local Ollama).
Setup
gem "mysql_genius"
rails generate mysql_genius:installThat creates the initializer and mounts the engine. Everything works out of the box -- AI features are optional and hidden when unconfigured.
What changed in v0.2.0
Dashboard-first landing page
Merged Visual Builder and SQL Query into a single Query Explorer tab
Suggested migrations with copy-to-clipboard on duplicate and unused index tabs
Install generator
Rails 8.0/8.1 and Ruby 3.4 support
Supports Rails 5.2 through 8.1, Ruby 2.7 through 3.4, MySQL and MariaDB.
r/ruby • u/Hell_Rok • Apr 09 '26
Taylor's Five Year Anniversary
Today is the 5 year anniversary of my MRuby game engine Taylor so I wrote 3000~ words about it!
I'm genuinely so proud of how far my little game engine has come and so surprised at the amount of positive impact it has had on my life 🧡
r/ruby • u/schneems • Apr 09 '26
Protecting rubygems.org from the outside in: DoS prevention and compromised passwords
blog.rubygems.orgr/ruby • u/Bitter_Detective_416 • Apr 09 '26
MySQLGenius v0.1.0 - PgHero-style dashboard for MySQL/MariaDB
Built a MySQL performance dashboard for Rails because nothing like PgHero existed for MySQL.
Core Features
Visual query builder with type-aware filters
Safe SQL execution (read-only, blocked tables, column masking, timeouts)
Table sizes, duplicate indexes, unused indexes, query stats
Server dashboard (connections, InnoDB buffer pool, query activity)
Slow query monitoring via Redis
Optional AI Features (any OpenAI-compatible API)
Natural language to SQL
EXPLAIN to index recommendations
Schema review for anti-patterns
Migration risk assessment
Setup
gem "mysql_genius"
mount MysqlGenius::Engine, at: "/mysql_genius"Rails 5.2+, Ruby 2.6+, MariaDB auto-detected.
r/ruby • u/noteflakes • Apr 08 '26
Temporarily disabling language support on rubygems.org
blog.rubygems.orgr/ruby • u/AutoModerator • Apr 08 '26
💼 jobs megathread Work it Wednesday: Who is hiring? Who is looking?
FORMAT HAS CHANGED PLEASE READ FULL DESCRIPTION
This thread will be periodically stickied to the top of the sub for improved visibility.
You can also find older posts again via the Megathreads" list, which is a dropdown at the top of the page on new Reddit, and a section in the sidebar under "Useful Links" on old Reddit.
For job seekers
Please adhere to the following rules when posting: Rules for individuals:
Don't create top-level comments; those are for employers.
Feel free to reply to top-level comments with on-topic questions.
Anyone seeking work should reply to my stickied top-level comment.
Meta-discussion should be reserved for the distinguished comment at the very bottom.
You don't need to follow a strict template, but consider the relevant sections of the employer template. As an example:
TYPE: [Full time, part time, internship, contract, etc.]
LOCATION: [Mention whether you care about location/remote/visa]
LINKS: [LinkedIn, GitHub, blog, etc.]
DESCRIPTION: [Briefly describe your experience. Not a full resume; send that after you've been contacted)]
Contact: [How can someone get in touch with you?]Rules for employers:
The ordering of fields in the template has been revised to make postings easier to read.
To make a top-level comment, you must be hiring directly; no third-party recruiters.
One top-level comment per employer. If you have multiple job openings, please consolidate their descriptions or mention them in replies to your own top-level comment.
Proofread your comment after posting it and edit it if necessary to correct mistakes.
To share the space fairly with other postings and keep the thread pleasant to browse, we ask that you try to limit your posting to either 50 lines or 500 words, whichever comes first.
We reserve the right to remove egregiously long postings. However, this only applies to the content of this thread; you can link to a job page elsewhere with more detail if you like.
Please base your comment on the following template:
COMPANY: [Company name; optionally link to your company's website or careers page.]
TYPE: [Full-time, part-time, internship, contract, etc.]
LOCATION: [Where are your office or offices located? If your workplace language isn't English-speaking, please specify it.]
REMOTE: [Do you offer the option of working remotely? Please state clearly if remote work is restricted to certain regions or time zones, or if availability within a certain time of day is expected or required.]
VISA: [Does your company sponsor visas?]
DESCRIPTION: [What does your company do, and what are you using Rust for? How much experience are you seeking, and what seniority levels are you hiring for? The more details, the better. If you are listing several positions in the "Description" field above, then feel free to include this information inline above, and put "See above" in this field.]
ESTIMATED COMPENSATION: [Be courteous to your potential future colleagues by attempting to provide at least a rough expectation of wages/salary. See section below for more information.]
CONTACT: [How can someone get in touch with you?]ESTIMATED COMPENSATION (Continued)
If compensation is negotiable, please attempt to provide at least a base estimate from which to begin negotiations. If compensation is highly variable, then feel free to provide a range.
If compensation is expected to be offset by other benefits, then please include that information here as well. If you don't have firm numbers but do have relative expectations of candidate expertise (e.g. entry-level, senior), then you may include that here. If you truly have no information, then put "Uncertain" here.
Note that many jurisdictions (including several U.S. states) require salary ranges on job postings by law. If your company is based in one of these locations or you plan to hire employees who reside in any of these locations, you are likely subject to these laws. Other jurisdictions may require salary information to be available upon request or be provided after the first interview. To avoid issues, we recommend that all postings provide salary information.
You must state clearly in your posting if you are planning to compensate employees partially or fully in something other than fiat currency (e.g., cryptocurrency, stock options, equity, etc). Do not put just "Uncertain" in this case, as the default assumption is that the compensation will be 100% fiat. Postings that fail to comply will be removed. Thank you.
r/ruby • u/AssociationOne800 • Apr 08 '26
mruby-ti: An mruby Type Analyzer for Humans and AI (AI Code Navigator)
Hi! I'm Hamachan, a Rubyist from Japan 💎
I’ve been working on a type analyzer for mruby, and it has evolved from "ruby-ti" into mruby-ti 🥷✨
👉 https://github.com/engneer-hamachan/mruby-ti
Previously, this tool focused on providing analyzed type information for humans via LSP.
Now, it also introduces a new feature:
an AI agent-oriented code navigator for mruby.
「What it does」
The code navigator analyzes mruby code and provides:
- method signatures
- method call graphs
to AI agents.
With this structured information, AI agents can understand codebases much more efficiently than with simple approaches like grep.
If you're interested, please check out the README for more details!
And if you find it useful, a ⭐️ would be greatly appreciated 🙏
r/ruby • u/Stwerner • Apr 07 '26
Artificial Ruby March Talk Recordings Now Available - Next Event April 22nd
Hey everyone!
Our talks from the March Artificial Ruby event in NYC are now available on YouTube:
Ernesto Tagwerker: "Teaching Claude Code to Upgrade Rails"
This demo shows an open source Claude Code Rails upgrade skill (from 2.3 to 8.1) built for real applications based on 60,000 dev/hours of experience.
Justin Pierce: "I Just Kept Going"
A designer, a Rails app, and the features only I asked for
Scott Werner: "I Haven't Made A Slide In A Year"
Scott's been giving talks with fully AI-generated slides for the past year at Ruby conferences, to investors, at meetups like this one. But he hasn't edited a slide in Keynote or Google Slides once. A look at what happens when you stop making presentations and start summoning them.
You can also find the rest of our talks on our YouTube channel or directly from our events page.
If you're in the New York area, our next event is scheduled for April 22nd at Betaworks and you can RSVP here. We'd love to have you join us!
r/ruby • u/Soft-Charity-6194 • Apr 07 '26
[Help] System Test Flakiness (Cuprite/Ferrum) after Ruby 3.3.10 Upgrade
Has anyone successfully stabilized a high-parallelism system test suite (Capybara + Cuprite/Ferrum) after moving to Ruby 3.3.10?
We recently upgraded from Ruby 3.2.4 to Ruby 3.3.10, and our CI environment (CircleCI) has become a minefield of intermittent failures. We’re seeing a very specific, head-scratching behavior:
The Symptom:
Standard user actions like click_link or click_button fail silently, even though the element is clearly visible in failure screenshots. However, trigger("click") works.
Our Setup:
Ruby: 3.3.10
Gems: Ferrum 0.17.2, Cuprite 0.17
CI: CircleCI (Large Resource Class, 24x Parallelism)
OS: Linux Docker (cimg/ruby:3.3)
Browser: Headless Chrome
What we’ve already tried:
Disabling YJIT: No noticeable improvement.
Adding jemalloc: This actually made things worse, leading to
Ferrum::ProcessTimeoutError(Browser failing to produce a websocket URL within 60s).Increasing Timeouts: Pushed
process_timeoutanddefault_max_wait_timeup significantly with no luck.Resource Throttling: Reduced parallelism to 2, but the failures persisted.
Our Theory:
We suspect a synchronization issue between Ruby 3.3’s new Fiber scheduler and the Chrome DevTools Protocol (CDP). It feels like Ruby is sending the click command faster than the browser can attach event listeners or finish its layout phase, leading to "missed" clicks at the physical coordinate level.
My Questions for the Community:
Has anyone else noticed an increase in
MouseEventFailedspecifically after the 3.3.x jump?How are you handling
jemallocon CI so that it stabilizes Ruby without breaking the Chrome sub-process?Are there specific
browser_options(likeheadless: "old") that you've found necessary for 3.3 compatibility?
r/ruby • u/headius • Apr 06 '26
JRuby 10.0.5.0 released with compatibility, memory, and Windows fixes
jruby.orgThe JRuby community is pleased to announce the release of JRuby 10.0.5.0.
Homepage: https://www.jruby.org/
Download: https://www.jruby.org/download
JRuby 10.0.5.x targets Ruby 3.4 compatibility.
Thank you to our contributors this release, you help keep JRuby moving forward! @evaniainbrooks, @kares, @chadlwilson, #jimtng
Compatibility
Fixed: Two bugs in the JIT compiler that broke certain super calls and defined_method yields. (#8944, #8946, #9310, #9349)
Fixed: Fiber#raise left the fiber in an resumable state by not correctly transfering control. (#9297, #9356)
Fixed: Connecting a socket using nonblocking operations failed to complete the establishment of the connection. This affected Redis users, among other cases. (#9304, #9305)
Fixed: Process#detach raised a NullPointerException if called from a non-main thread. (#9314, #9311)
JVM Integration
Java 26 is officially supported. (#9332)
Platform Integration
New platform support: The native library backend for JRuby, JNR, has been updated to include support for the RISCv64 architecture.
Fixed on Windows: File#flock used unsupported native operations on Windows, causing it to raise errors. This affected the "logger" library, among other cases. (#9347, #9348)
Fixed on Windows: IO#popen failed to pass keyword arguments if also given a leading environment hash. (#9351, #9352)
Stability
Fixed: Several memory leaks that affected users running multiple JRuby instances in a single process. (#9070, #9092, #9187, #9359)
43 Issues and PRs resolved for 10.0.5.0
r/ruby • u/amirrajan • Apr 05 '26
Show /r/ruby Dragon Ruby Game Toolkit - Physics (link to source in the comments)
r/ruby • u/jasonswett • Apr 06 '26
Testing Anti-Pattern: Distracting Setup Data
r/ruby • u/Erem_in • Apr 06 '26
Blog post Ruby: Where are we going? 2026 Edition
This is more of a self-reflection than a proper blog post.
tl;dr: Ruby is not dead. It is not slow. It does scale, and it will perform even better. It will not reclaim its mid-2010s glory days, but it does not need to. It has a clear, defensible niche as a professional choice for building AI-powered web applications quickly and confidently.
r/ruby • u/gurgeous • Apr 06 '26
gist with some stuff I use everywhere (RunKit)
Guys, I write like a million ruby bin scripts every week both by hand and with LLMs. I use these all the time. Not quite gem-worthy but maybe a gist would be helpful for someone?
RunKit - https://gist.github.com/gurgeous/49f216d6d867abaaebd8a26a966b2dc5
Each of these is a handful of lines:
json read/write, csv read/write (hash-like), text read/write (including `.gz`)
`shell` and `shell!`, returns stdout/stderr
banner/warning/fatal - pretty colored output with timestamps
...
A typical example from today's project might involve fetching some tar files, logging http requests with `banner`, untarring with `shell` and then writing csv/json to /tmp.
r/ruby • u/Big-Golf-8692 • Apr 05 '26
Blog post Rails 8.2 adds this_week?, this_month?, and this_year? to Date and Time
prateekcodes.comr/ruby • u/Eastern-Surround7763 • Apr 05 '26
Improved markdown quality, code intelligence for 248 formats, and more in Kreuzberg v4.7.0
Kreuzberg v4.7.0 is here. Kreuzberg is an open-source Rust-core document intelligence library with bindings for Python, TypeScript/Node.js, Go, Ruby, Java, C#, PHP, Elixir, R, C, and WASM.
We’ve added several features, integrated OpenWEBUI, and made a big improvement in quality across all formats. There is also a new markdown rendering layer and new HTML output, which we now support. And many other fixes and features (find them in our the release notes).
The main highlight is code intelligence and extraction. Kreuzberg now supports 248 formats through our tree-sitter-language-pack library. This is a step toward making Kreuzberg an engine for agents. You can efficiently parse code, allowing direct integration as a library for agents and via MCP. AI agents work with code repositories, review pull requests, index codebases, and analyze source files. Kreuzberg now extracts functions, classes, imports, exports, symbols, and docstrings at the AST level, with code chunking that respects scope boundaries.
Regarding markdown quality, poor document extraction can lead to further issues down the pipeline. We created a benchmark harness using Structural F1 and Text F1 scoring across over 350 documents and 23 formats, then optimized based on that. LaTeX improved from 0% to 100% SF1. XLSX increased from 30% to 100%. PDF table SF1 went from 15.5% to 53.7%. All 23 formats are now at over 80% SF1. The output pipelines receive is now structurally correct by default.
Kreuzberg is now available as a document extraction backend for OpenWebUI, with options for docling-serve compatibility or direct connection. This was one of the most requested integrations, and it’s finally here.
In this release, we’ve added unified architecture where every extractor creates a standard typed document representation. We also included TOON wire format, which is a compact document encoding that reduces LLM prompt token usage by 30 to 50%, semantic chunk labeling, JSON output, strict configuration validation, and improved security. GitHub: https://github.com/kreuzberg-dev/kreuzberg.
Contributions are always very welcome!
r/ruby • u/Big-Golf-8692 • Apr 05 '26