Skill Issue logo

Skill Issue

Subscribe
Archives
June 6, 2025

What if?

I sometimes think about what I'd do if I had to rebuild Solidus from scratch. What technologies would I use? What would the architecture look like? I actually have a private project where I play with the idea.

I'm sure of one thing: I would use Rails. Ruby and Rails combine to make for such a dynamic and customizable programming environment that I couldn't seriously consider anything else.

Solidus has always been about customizability, and that doesn't mean just customizing the frontend. Yes, you have a level of control over the frontend and markup that goes beyond what you can do on something like Shopify (because you have direct database access to feed whatever data you want into the frontend), but you can also control the data model.

I'm not aware of other programming languages/environments where you can modify existing classes in the way you can in Ruby. Every store we run has "monkey-patched" dozens of Solidus classes to add and change their behaviour.

Sure, the ability to do that is something of a liability, but I don't believe Spree/Solidus would have succeeded without it. When you look at competing platforms in other ecosystems, they've often built complex systems for extending the platform.

While we've built out extension points over time to avoid unnecessary monkey-patching, we still offer that path when the extensions points don't get you there. This allows us to watch how people customize the platform and adapt it to real world use cases.

My private "Solidus reimagined" project is just a toy, barely a skeleton. It will never replace Solidus. Solidus is great and rebuilding it would be a waste of energy. The project has been good for one thing, though: showing me just how much Ruby and Rails have contributed to the success of the platform.


I'll admit that I was torn on doing this week's episode of Dead Code. I'm tired of talking about LLMs. The technology is clearly useful, clearly isn't what the zealots claim it is, and then there's the ethical questions. I'm not getting into that shit here.

The reason I chose to do that episode is because I think Monkey's Paw is genuinely neat. The author has done similarly "weird" things like synonllm, which hooks into Ruby's method_missing and uses an LLM to try to figure out what method you were trying to call and calls that instead. I like fun, weird stuff, and that all definitely qualifies.

Anyway, a propos nothing, here's an image I found here:

an AI generated Calvin & Hobbes comic


After the departure of their vocalist and guitarist, Rivers of Nihil is back with a new lineup. Their new, self-titled album is... sadly not up to the standards of their previous work. Bummer. It's not all bad; there are some glimmers of brilliance hidden in the record, so I'm still hopefully for their future.

I fell in love with Rivers at exactly the 4:41 mark the first watched the music video for Sand Baptism.

Since the new disc isn't so great, it's worth going back and listening to Where Owls Know My Name. I've enjoyed everything they've put out, but Owls is their high point. It's less ambitious than The Work and I love the addition of the trumpet and saxophone (which are missing from the earlier albums).

Don't miss what's next. Subscribe to Skill Issue:
GitHub Bluesky X LinkedIn
Powered by Buttondown, the easiest way to start and grow your newsletter.