Rails: display message when collection is empty

When working on a CRUD based application, starting with the index view, you’ll want to display a collection. But when the collection is empty, you’ll want to let the user know the collection is empty, by showing a message. Most common scenario I have seen so far is the following construction: <% if @collection.length > … Continue reading Rails: display message when collection is empty

Set recursive permissions on only files or directories

Changing permissions can be tricky, because either way, permissions are on of the corner stones of security. It could be that you want to change permissions recursively on all folders, but not on files, and vice versa. Unfortunately, a lot of people don’t take that into account. So here’s a quick tip on how to achieve … Continue reading Set recursive permissions on only files or directories

Don’t commit sensitive data

Although this might seem a common practice, you would be surprised how many times I come across projects that contain passwords and tokens. When connecting your application tot 3rd party services or even simpler than that, do you commit your production database settings in your repository ass well? Do all team member need access to … Continue reading Don’t commit sensitive data

Turn off asset logging in your Rails application

If you’re like me, tailing your development log might provide you with some useful information. The thing I like the most is viewing the details of the queries that happen in the background while you are using your application. But one thing that makes it harder to keep a proper view on the data that … Continue reading Turn off asset logging in your Rails application

Migrate from MySQL to PostgreSQL

Like a lot of developers, I’ve been watching the movement of MySQL since it has been acquired by Oracle. Since the acquisition, a lot of MySQL forks have been created. Think of MariaDB and Drizzle. I’ve also been looking at PostgreSQL. Since long, I’ve wanted to start personal project using PostgreSQL. So I decided to migrate … Continue reading Migrate from MySQL to PostgreSQL

Faster Capistrano deployments

“Release early, release often”, a philosophy that emphasizes the importance of early and frequent releases in creating a tight feedback loop. I’ve been trying to push my code to production as often as possible. But I’ve been having a problem with the asset pipeline. From the moment Capistrano hits the deploy:assets:precompile task, it might take … Continue reading Faster Capistrano deployments