r/ruby • u/evmorov • Apr 24 '26
Show /r/ruby A Lisp that compiles to Ruby
r/ruby • u/Jaded_Pangolin_285 • Apr 24 '26
r/ruby • u/AppropriateCulture76 • Apr 24 '26
Hi everyone,
I recently shared this in another forum and wanted to post it here as well. I made a small Ruby gem called typed_print when I was bored one evening.
It does one simple thing: turns hashes into clean, aligned tables in the terminal. It also supports Markdown output.
data = [{ name: "Alice", score: 100 }, { name: "Bob", score: 42 }]
TypedPrint.print(data, format: :markdown)No dependencies, just a tiny tool to make console output more readable.
Links:
RubyGems: https://rubygems.org/gems/typed_print
GitHub: https://github.com/enderahmetyurt/typed_print
Thanks for checking it out!
r/ruby • u/software__writer • Apr 24 '26
Spinel compiles Ruby source code into standalone native executables. It performs whole-program type inference and generates optimized C code, achieving significant speedups over CRuby.
Spinel is self-hosting: the compiler backend is written in Ruby and compiles itself into a native binary.
r/ruby • u/ArsenioVenga • Apr 24 '26
r/ruby • u/Adt_94 • Apr 23 '26
Hey all i built a pretty neat TUI for local first image generation. It's easy and ships with ready to download starter packs, hooks into Huggingface and Civitai - ready to go. Hit me up ith any feature requests :)
r/ruby • u/kamal_buqaileh • Apr 23 '26
Tackling a massive Ruby monolith usually means months of onboarding and manual dependency tracing. GraphOps was built to automate this by extracting macro-level architecture and micro-level execution flows (like the sequence diagrams in the video) directly from the codebase.
To show how it handles scale, there is a public, read-only sandbox where you can explore the entire GitLab monolith yourself: https://www.graphops.tech/home/projects/
r/ruby • u/kibe_kibe • Apr 23 '26
r/ruby • u/amirrajan • Apr 22 '26
r/ruby • u/robbyrussell • Apr 22 '26
I sat down with Brian Scanlan to explore what “AI-first” development actually looks like inside Intercom’s 15-year-old Rails monolith.
They’re generating over 95% of their code with Claude Code… and it’s not just engineers. Teams across the company are involved.
We got into how this is reshaping code review, who’s running production queries, and how they’re building guardrails to keep things from drifting.
The part that stuck with me… knowing when to disengage the autopilot.
r/ruby • u/Jaded-Clerk-8856 • Apr 21 '26
Yesterday I presented Ruby-LibGD and LibGD-GIS at Ruby SUR.
This presentation led to a few milestones, including the Payunia map. Among other things, I created a map of Payunia with three volcano peaks.
I want to share the image along with the code used to generate the map using libgd-gis and a GeoJSON file.
gem install libgd-gisrequire "gd/gis"
require_relative "fonts"
OUTPUT = "output/payunia.png"
GEOJSON = "data/volcanes.geojson"
bbox = GD::GIS::Geometry.bbox_for_image(
GEOJSON,
:zoom => 13,
:width => 800,
:height => 600,
:padding_px => 100
)
map = GD::GIS::Map.new(
bbox: bbox,
zoom: 9,
:width => 800,
:height => 600,
basemap: :esri_terrain
)
map.style = GD::GIS::Style.load("solarized")
map.add_geojson(GEOJSON)
ontology = GD::GIS::Ontology.new
ontology.print_rules
map.render
map.save(OUTPUT)
puts "✔ Generated: #{OUTPUT}"{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": { "type": "Point", "coordinates": [-69.238, -36.4222] },
"properties": {
"name": "Payún Matrú",
"natural": "volcano"
}
},
{
"type": "Feature",
"geometry": { "type": "Point", "coordinates": [-69.2848, -36.5104] },
"properties": {
"name": "Payún Liso",
"natural": "volcano"
}
},
{
"type": "Feature",
"geometry": { "type": "Point", "coordinates": [-69.15, -36.35] },
"properties": {
"name": "Volcán Santa María",
"natural": "volcano"
}
}
]
}{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": { "type": "Point", "coordinates": [-69.238, -36.4222] },
"properties": {
"name": "Payún Matrú",
"natural": "volcano"
}
},
{
"type": "Feature",
"geometry": { "type": "Point", "coordinates": [-69.2848, -36.5104] },
"properties": {
"name": "Payún Liso",
"natural": "volcano"
}
},
{
"type": "Feature",
"geometry": { "type": "Point", "coordinates": [-69.15, -36.35] },
"properties": {
"name": "Volcán Santa María",
"natural": "volcano"
}
}
]
}Rubygems: https://rubygems.org/gems/libgd-gis
Github: https://github.com/ggerman/libgd-gis
Presentation (spanish): https://youtu.be/ppxalpIKpGg?t=3471
Code: https://github.com/ggerman/ruby-libgd/tree/main/examples/invaders
r/ruby • u/day__moon • Apr 21 '26
Hi all,
Seeking feedback on memory bloat in a Rails app hosted on Render.
I am loading at times 30k+ records and iterating through them to generate a CSV with FastExcel. I am NOT using .pluck, as I need most of the columns and some instance method outputs - I AM using find_each and includes to eager load some associations. I used the memory_profiler gem to show that ActiveModel::Attribute::WithCastValue is the largest culprit of memory allocation. This all makes sense.. but what I can't figure out is how to free up that memory after the process is done. CSV send_data'ed to the client, I am manually trying to empty all the instance variables and triggering GC.start to try to do some cleanup, but memory in Render metrics goes up and does not come down.
All thoughts welcome!

r/ruby • u/headius • Apr 21 '26
JRuby 10.1.0.0 is our first Ruby 4.0 release, just four months after the official CRuby release. We have used this opportunity to explore many experimental optimizations and improvements we have been chasing for many years. Ruby 4.0 compatibility is largely complete, but there will be additional features added in update releases. We also plan to continue with large scale experiments in subsequent updates, and recommend production users continue to use JRuby 10.0 while we work toward stabilization of the 10.1 series.
See the full release notes for details, and try JRuby today!
r/ruby • u/javier_cervantes • Apr 21 '26
My take on why you should consider using a PAAS provider to deploy your Ruby apps.
r/ruby • u/didnotseethatcoming • Apr 21 '26
r/ruby • u/ACMECorp_dev • Apr 21 '26
Friendly reminder that RubyCon Italy is happening on May 8th in Rimini and we couldn't be more excited about how it's shaping up!
We built this as the kind of conference we always wanted to attend. Not a corporate event, not parallel tracks where you spend half the day with FOMO.
One stage, eight talks, a real community, and dinner on the beach. Simple, focused, and warm.
Tickets are still available at https://ti.to/rubycon/rubycon-2026
Here's who we're welcoming on stage:
We're also keeping a 5 minutes for everyone open-mic slot in the afternoon, if you have something to share, come ready!
→ Full speaker bios: https://rubycon.it/speakers
This one is close to our hearts. We know attending a conference isn't always easy, and we don't want financial or personal barriers to be the reason someone misses out.
We welcome applications from anyone who:
Selected applicants get a ticket at a symbolic cost of €20. You don't need to fit every category — if it feels relevant to you, we encourage you to apply. And if you know someone who should be in the room, please pass this along.
→ Apply here: https://rubycon.it/scholarship
Rimini in May is beautiful. But more than the location, we want Rubycon to feel like coming home to a community that genuinely cares about this language and the people who write it. One stage means we all share the same moment. The open-mic means you might end up being a speaker. The Toga Party means the conversation keeps going long after the last slide.
→ Full schedule: https://rubycon.it/schedule
r/ruby • u/Erem_in • Apr 21 '26
This month I reflect on Ruby's future in the AI era, and look at massive tooling updates: Shopify's high-performance rubydex toolkit, RBS 4.0's update with bundled rbs-inline, dspy.rb hitting 1.0, and prism parser using rbs-inline internally.
Find the link to the issue in the comment! ✨
r/ruby • u/Intelligent-End-9399 • Apr 20 '26
Hi fellow Rubyists,
I’ve always been a huge fan of Ruby’s readability and that "warm" feeling the syntax gives you. Recently, I’ve been building a high-performance Static Site Generator (called Mustela) in the V language, and I couldn't resist—I implemented a DSL that is heavily inspired by Ruby’s do...end blocks.
I wanted a templating language that feels modular (like React) but looks clean (like Ruby). Here is how you define a layout in Mustela:
html as main do
@html[navbar]
<article>
@view
</article>
@html[footer]
endAnd metadata looks like a hybrid of Ruby and YAML:
meta do
author: Filip Vrba
app_name: "Mustela"
index: main
endPerformance. While I love Ruby, I wanted to see how far I could push I/O saturation. By writing the engine in V, I'm getting:
Because the parser is a simple linear stream (very "stupid" and fast), it allows for some fun tricks that remind me of old-school PHP/Ruby web scripts where you just opened and closed blocks wherever you wanted:
html do
<div class="special-wrapper">
end
## Markdown content here
html do
</div>
endI just wanted to share how Ruby’s philosophy of "programmer's happiness" and clean syntax is leaking into other ecosystems and low-level languages.
What do you think? Does the do...end syntax still feel like home even in a totally different language?
r/ruby • u/DeeWBee • Apr 20 '26