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)
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.
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!
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!
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.
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.