The Ruby and Rails community linklog
Made a library? Written a blog post? Found a useful tutorial? Share it with the Ruby community here or just enjoy what everyone else has found!
Submit a post
Post Preview
Note: Only the first pargraph is shown on the front page and overly long paragraphs may be broken up.
Building user-customizable themes with Tailwind CSS
— Using OKLCH you can tweak one custom property, e.g. :root { --color-value: 60; } and get a UI in all the colours of the rainbow! 🌈😊
Inside Ruby’s OpenSSL stdlib:
how Ruby bridges native OpenSSL C APIs into elegant Ruby APIs powering HTTPS, TLS, certificates, digests, encryption, and secure communication across the Ruby ecosystem. [more inside]
The Better Primary Key: A Guide to ULIDs for Rails Developers
In a previous article, I talked about Snowflake IDs. They are great, but they require a bit of… [more inside]
Inside Ruby’s proc.c:
closures, bindings, lambdas, &:symbol, and VM internals powering every block you write. [more inside]
Stop Chasing Hype: Why I Chose Postgres Over 'New-Age' Databases
I’ve lost count of how many times I’ve been tempted by a “revolutionary” new database. Every few… [more inside]
Revisiting this experiment in pure Ruby GIS rendering.
Still one of my favorite projects: drawing real cities from GeoJSON data using only Ruby + GD. [more inside]
n8n vs ByteChef: Which Automation Engine Should You Self-Host?
Automating the “glue work” of a SaaS business is a survival skill for a solo developer. You need to… [more inside]
Robert released
Robert is a native FreeBSD AI assistant. He can read man pages, search documentation, and help you troubleshoot. It is distributed as a 2MB standalone binary. Built with mruby, and llm.rb.
How Rails Turns a Controller Action Into a Response
Rails controller actions do not return HTTP responses directly. They perform response state through render, redirect_to, head, or implicit rendering, and Rails turns that into status, headers, and body. [more inside]
rails-llm v0.2.0 has been released
rails-llm provides generators and an engine for the llm.rb runtime inside Ruby on Rails. The engine includes a chat interface, and the generators take care of migrations & models.
I shipped a mostly AI-generated Ruby gem, got roasted, and rethought the whole job
A month ago I published llm_cost_tracker (a self-hosted Rails gem for attributing LLM spend by feature/user/tenant) — and almost all of it was LLM-generated. I shipped it without really reading it, got called out, and the criticism was fair. This is an honest write-up of what that taught me: writing code got cheap, so the actual work moved to review and ownership. I’m still cleaning up generated code in the gem and looking for early adopters running real LLM calls in Rails to tell me what breaks. MIT. [more inside]
Distributed Uniqueness: Implementing Twitter Snowflake IDs in Rails 8
When you run rails generate model, Rails defaults to using a standard auto-incrementing integer for… [more inside]
🎙️ Remote Ruby – Blue Ridge Ruby Insights & Experiences
New episode is out. David recaps Blue Ridge Ruby and talks about coming back motivated to contribute more to open source, which leads into a broader discussion on why smaller single-track Ruby conferences create better hallway conversations, networking, and lightning talks. We also get into real-world Rails and Stripe lessons covering workshop prep, validation decisions, webhook recovery, subscription edge cases, and the growing complexity of payment integrations. Listen now
Ruby Beyond the Server
A collection of the various Ruby libraries and execution environments for building desktop, mobile, terminal, game, and browser applications. [more inside]
Inside Ruby’s Object Model 🔍
How MRI really implements: include, prepend, extend, singleton classes and method lookup. [more inside]
The Art of Deleting Code: Why Your One-Man App Should Be Shrinking
Most developers think that “progress” means adding lines of code. We feel good when we finish a new… [more inside]
Connect an LLM to man(1) and apropos(1)
I wrote a post as an introduction to developing your own AI agent that is backed up an ActiveRecord model. The agent can search and read man pages, and provide answers from those sources rather than training data.
Generative UI in Rails with RubyLLM
A walk through the design choices for showing rich UI in an LLM chat app instead of plain text bubbles. Tools, schemas, and a tiny gem for generative UI on top of RubyLLM.
💎 llm_cost_tracker 0.11.0 — self-hosted LLM cost ledger for Rails
New dashboard pass: a Pricing page that lists per-model rates from your overrides, prices file, and the bundled fallback as separate tabs, plus filter pills for provider/model/stream on Overview and Calls, and clickable column-header sorting on the Calls/Models/Tags tables. [more inside]
Just published a visual cheat sheet for ruby-libgd 🔥
Native graphics rendering in Ruby: PNG • JPEG • GIF • Filters • FreeType • Drawing APIs • Alpha blending [more inside]
The Vibe Coder’s Survival Guide: Concepts You Can’t Just Prompt Away
We are living in a wild time for software development. With tools like Cursor, Windsurf, and ChatGPT,… [more inside]
The Solo Developer's Secret: Why Boring Tech is More Profitable
Every morning, I see the same thing on my Twitter feed or the GitHub Trending page. A new Ruby gem is… [more inside]
I built an APM tool for Rails apps – DeadBro
I got tired of the existing APM options being overkill for smaller Rails projects, so I built DeadBro. It detects N+1 queries, tracks errors with full stack traces, and sends alerts via Slack or Pushover when things break. Real-time dashboards, multi-app and multi-environment support, installs via the dead_bro gem. [more inside]