At least computers read me

Code and Stuff

last update:

I’ve got a Rails app called MovieMates that I’ve been building on my spare time for a few years now. When it got mature enough, I deployed it to Heroku for 3 reasons:

  • Convenience (a basic deployment for Rails is as simple as git push heroku, and a lot of the tools out there are optimized for Heroku, including Rails itself)
  • Free PostgreSQL database (which for a toy app like mine, means less money and peace of mind due to auto-management and free backups)
  • Automatic TLS certificate management

However, there is one disadvantage:

My OOP Style

I love Object Oriented Programming. This seems to be a somewhat controversial statement these days, but I love how good OO code can model reality and feel obvious to the human brain. To me, code that tells a good story might be one of the most valuable properties of a system.

I spend a lot of time trying to make my code tell a good story. I love to find a mental model that bridges human understanding with computer logic. Here are some things I do in order to write that story.

A few months ago I talked about this project I’ve been working on for the past few years, MovieMates. Back in August, I made the service public for anybody to use and a few days ago I also open sourced its code. I wanted to talk a little bit more about why I did this and why did I do it now.

The reason why I did this won’t come as a surprise for those who know me. I’m a big lover of open source (code in particular, but anything in general) as a way of sharing progress and building as a society. I think building in the open not only allows for more minds to join a creative process but also allows other minds to build on top of whatever has been shared. Interestingly enough, I don’t think MovieMates will have many collaborators nor it’ll be something for anybody else to build on top of. I hope I’m wrong, though!

MovieMates

This is the story of MovieMates, a service I built with my roommates to help us determine what movies to watch.

I share an apartment with 3 other people and we love watching movies. Living in a cold city like Chicago, it’s one of our favorite hobbies during the long winters.

About 2 years ago, we noticed that many times it would take us very long to decide which movie to watch. We also realized that many times we would talk about movies we wanted to watch but couldn’t remember them whenever it mattered. Sometimes when there were 2 people home to watch a movie, we couldn’t watch it because another roommate wanted too and we didn’t want to watch it without them!

Unique Thread

I recently wrote a new library for Ruby called Unique Thread. It allows multiple Ruby processes to communicate through Redis so only one of them is running a given thread concurrently. The idea for this came to me when wanting to run a crontab runner on a Rails app but only wanted one of the processes to be running at any given time. If the process running the thread shuts down, I also wanted another process to wake up and start running in its place.

Hello!

My name is Fernando and I code professionally. I have been into computers since I was very young and I’ve devoted a big part of my life to it.

I currently work primarily with Ruby and one of the things I love the most about it is its community. I’ve learned a lot from watching conference talks and reading on the Internet, and most of that content was created by people in their free time. They might not know this, but I owe them a lot.