Why you should check your gem's lines of code
Back in April while I was a guest on the Dead Code podcast, I mentioned an idea I’d been brewing on for a while: that the number of lines of code is still a useful metric when you’re writing gems and evaluating whether you want to depend on them.
Source control doesn't need to be scary! (Find out why at our jj workshop)
We’re doing a workshop at Euruko 2026 next week. We’ll be talking about jj, the jujutsu version control system. jj is a new source management tool that is compatible with git hosting but a huge improvement on git overall. With git, it’s easy to dig yourself into a hole that is hard or (in some cases) impossible to get out of. jj is a powerful, simpler, and safer alternative that will help you avoid those version control traps.
Back to the Future
ICYMI: Our August newsletter went out last week. As a sample for our readers who aren’t yet on our mailing list, we’re posting that issue here. If you enjoy and you want more like this from us each month, join our mailing list at the bottom of the page!
Optimizing Rails DB usage: Bullet vs. Prosopite
One of the worst parts of N+1 performance issues in Rails is how easy it is to inadvertently introduce them. And while using includes to preload the associations causing the problem generally works, sometimes you may (again) be inadvertently introducing different performance issues if you are not careful.
Spinel Dev Log for July 2026
Welcome to the Spinel dev log! When we’re not working with client teams, we’re building open source tools that make it easier to be a software developer, especially for Rubyists. Here’s what’s new with our OSS projects in the past month:
rv 0.6.0 is out, with ruby-dev, rvx @namespaces, and more
We’re running a bit behind on announcements, so here’s our post about releasing rv version 0.6.
The headline features added to version 0.6 are daily releases of ruby-dev, adding namespace support to rvx, and supporting gem servers that require authentication, for projects that use Sidekiq Pro, Avo Pro, and the like. We also added a self-update command.
Factory Frustrations: Optimized for Isolation
When Rails developers write tests, part of that process is to arrange test data in a certain shape, in order to make assertions about the database state and domain. For example: does this active account have access to this feature they’re supposed to? Do we correctly ensure a cancelled account does not? And so on.
Meet Spinel
Welcome! This is the blog of the Spinel Cooperative, and after a very busy season of new client work, we’ve finally managed to write the very first blog post we put on our todo list: this post. What is Spinel? Who is Spinel? Why is Spinel? Read on to finally receive the answers to all these and questions and more.
rv 0.5: CLI tools + Windows
For almost 6 months now, rv has been installing Ruby versions in under a second, thanks to our precompiled Rubies. Today, we’re releasing rv 0.5, which brings that same focus on speed to installing Ruby on Windows, running scripts with rv run, and running and installing all sorts of gems and binaries via rvx and the rv tool commands.
Announcing rv clean-install
As part of our quest to build a fast Ruby project tool, we’ve been hard at work on the next step of project management: installing gems. As we’ve learned over the last 15 years of working on Bundler and RubyGems, package managers are really complicated! It’s too much to try to copy all of rbenv, and ruby-build, and RubyGems, and Bundler, all at the same time.
Why are exec and run so confusing?
While working on rv, there’s a specific question that has come up over and over again, in many different forms. In the simplest possible form, it boils down to:
rv 0.3.0 released
We’re excited to announce rv version 0.3.0 has been released.
Highlights include support for Ruby versions 3.2.x, 3.5.0-preview1, and 4.0.0-preview2, as well as automatic Ruby installation during the rv ruby run command. We also added support for .tool-versions files, which are also used by the asdf and mise tools.