Ruby 3: The Revenge

I hate changing direction, especially in this business, but I’m glad Ruby and Rails are making a strong comeback. The Rails 8 technical scope is hard to deny. At this moment, it is once again in a completely separate class compared to anything else. As someone who has worked in several poorly designed Django shops, I can say Rails knows it’s competition and smelled blood in the water. Aside from obvious issues like the crappy templating engine, there’s not much inherently wrong with Django. The main gripe is it doesn’t try to escape it’s box; which leaves job scheduling and tasks queues to the sometimes entry level developers, and then I have to show up after 5 or 6 years to clean up the mess. From an operational perspective, I can say, the majority of the business world still has not fully grasped what Rails 8 has accomplished. I’m betting on the return of Rails with every penny. The foundations look that good, that yes, I will stake my career on it. There’s plenty of introductions to Solid Cache and Solid Queue. I’m not going to rehash what others wrote. You either get it or you don’t, and it’s not my job to convince you. I’d rather be working with it now, and wait for you to catch up later. SSR has never failed at SEO sites, and the need for SSR to get visibility has never gone away.

I also stopped developing using docker-compose. Kompose is a nice solution to switch into Kubeneretes with a compose file, but after using Docker Swarm in production, I have renounced all things Docker, aside from the the now OCI compliant runtime. Minikube is easy enough to bootstrap locally on my laptop with Terraform/Tofu, and Devspace makes Rails development a cinch afer that.

$> minikube start
$> terragrunt run-all apply 
$> rails new 
$> devspace init
$> devspace dev
Kill docker compose with fire! 

Docker, the company, and it’s products, are no longer useful. If I need a management GUI, Podman-desktop works better (even with docker-cli on Linux), and Headlamp handles the rest.

The idea of juggling a 3rd DSL just for composing containers together, and nothing else, that is incompatible with dockerfile syntax, but doesn’t mesh with Kubernetes natively either, is no longer something I find appealing.

If you’re a Rails developer, do yourself a favor and check out Devspace