line art of two overlapping gemstones Spinel

Cooperative est. July 2025

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.

Keep reading →

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.

Keep reading →

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!

Keep reading →

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.

Keep reading →

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:

Keep reading →

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.

Keep reading →

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.

Keep reading →

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.

Keep reading →

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.

Keep reading →

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.

Keep reading →

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:

Keep reading →

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.

Keep reading →