Where is the software development industry going?
What does the future of software development actually look like—and where does AI fit in?
Igor Aleksandrov – Ruby engineer, Open Source contributor, JetRockets CTO and co-founder, Docker Captain and a proud father.
What does the future of software development actually look like—and where does AI fit in?
I took the TropicalOnRails 2025 stage to challenge the status quo with the talk “Kamal 2 – Get Out of Cloud”. In this bold session, I explored the possibilities and implications of running your infrastructure without relying on traditional cloud providers. Drawing from real-world experience and practical experimentation, I unpacked the motivations behind adopting Kamal 2, the architectural…
I use Kamal daily to deploy all the apps I maintain. I created a list of Kamal commands I use frequently. While this is not an exhaustive list, but it covers the most common tasks I usually perform. # The init command is used to create the config and secrets files once after Kamal is added to the app. $ kamal init # Install Docker on all target hosts $ kamal server # Aliases # Kamal defines `kamal…
This article is a part of a series of posts where I will walk through every line of the Rails default Dockerfile and explain the best practices and optimizations. Docker images can be optimized in different ways that include, but are not limited to, image size reduction, build performance optimization, security, and maintainability best practices, and application-specific optimizations. In the…
How often do you reset your local development database? Depending on the task I am working on, I can do this even ten times a day. The reasons can be different. You or your teammate pushed an irreversible migration, which is of course not the best practice, but happens in the real life. Or you simply corrupted the data while implementing some new functionality. TL;DR Resetting a local development…
While we are waiting for the Rails World 2024 conference to start and Kamal 2 to be released, I decided to make some preparations for the upcoming changes in the Rails ecosystem. In March 2024 Basecamp team released Thruster a small, Go-based proxy server for Rails. While the original idea of Thruster was to provide an ability to build production-ready Rails applications from a single container…
Earlier this week I published a tweet that made some buzz in the community. To be honest, I didn’t expect that so many people would be interested in this topic. About 29000 views and 1600 votes is quite an impressive result for 9 lines of code. The tweet was about the following code snippet: class Klass def self.square(value) if value > 0 value * value end end end puts Klass.square(0) The question…
Premature returning from a controller action is a common idiom in Rails applications. I asked my followers in Twitter about whether they know or know how to do this correctly, and I am glad to see that most of them gave the correct answer. Let’s dive into the details. Before we start, I suggest you to take a look at the post, I mentioned above, to see the answers and to try to solve the problem by…
On August 9th, Rails 7.2 was released , bringing a host of new features and improvements to the framework. Ten months ago, I demonstrated how to upgrade a Rails application from 7.0 to 7.1 , which was well-received by the community. Today, I will take you through the process of upgrading OneTribe from Rails 7.1 to 7.2. This upgrade not only ensures compatibility with the latest Rails enhancements…
Fifteen years ago, in August 2009, I worked for a small network provider company. I was a junior developer, yes 15 years ago, junior devs didn’t become seniors in 3 months. We used Dolphin SmallTalk for our internal systems, and I had the task of creating a simple web application for our customers. Also in the summer, but 20 years ago in July 2004, David Heinemeier Hansson released the first…