Apache: Setup a virtual host on Ubuntu 18.04 LTS

This guide is about setting up a virtual host on Ubuntu 18.04 LTS with Apache as the web server. We’ll assume that we want to host a simple site where the domain name will be example.com.

Ruby on Rails: Capistrano for easy deployment and configuration to Ubuntu with Nginx and Puma

Capistrano is a tool written in ruby to automate the deployment of multiple versions of an application. In this post I’ll demonstrate how to use Capistrano to deploy and configure a Rails app to an Ubuntu Server with Nginx and Puma.

Speed up MySQL database operations on Ubuntu by using the RAM Disk

I’ve been working on a project that requires a MySQL database. Everytime I pull changes from the repository, I have to run the migrations and seed the database. The seeders contain thousands of rows of data and it takes almost an hour to finish. A colleague of mine noticed this and taught me a nice trick to speed up the database operations and that is to use the RAM disk which I’ll be sharing in this post.

Laravel: Testing models

This past week I’ve been using Laravel at work and has been trying to apply Test Driven Development. My first step was to learn how to test the models which I’ll be demonstrating in this tutorial using Laravel 5.6. We’ll create a new project which has an Article model with attributes title, content and views.

Ruby on Rails: Setup multiple associations with the same model

When I was just starting to learn Ruby on Rails, I had trouble setting up multiple associations with the same model due to my lack of understanding and reliance on Rail’s “magical” generators. Here I’ll show you how to implement it and analyze how it happens. On this example there are two models, User and TransferRequest. TransferRequest has attributes sender and receiver which are instances of User.