Going back to school – for real

It’s time for a new adventure! Early December, I will be leaving HERE after more than six amazing years and moving to Finland. I’ll start a spring track of math and physics studies at an open university to gain admission to Aalto University in Helsinki for a Computer Science degree.

A while back I wrote how Massive Open Online Courses are great for those embracing life-long learning. I’ve certainly been active in that area, finishing three courses in the recent months and working on another three computer science courses from MIT on edX.

And now it’s time to go back to school for real.

Why Computer Science?

I’ve been coding for as long as I can remember. The first programming language I tried was QBasic sometime in the mid-90s. I wanted to know what made the classic game Gorillas work behind the scenes. I remember going through some example code and being super proud when I made my computer screen blink randomly in different colors.

When I was fourteen, I had moved on to Visual Basic through some experiments in Delphi. I programmed a converter for resistor and capacitor color codes to numeric values. It replaced the old DOS-based program in the shop class of my elementary school and was used at least five years later when my brother went there. It’s a shame I don’t have the source code or the executable anymore.

Ever since I moved next to Silicon Valley, my interest in Computer Science has grown stronger. I’m working next to brilliant engineers at the HERE Berkeley office. I’ve found tech meetups in San Francisco for every day of the week. I started learning programming in Ruby after years of working in PHP for web development. I created reddit multis to follow all the /r/programming -related subreddits. Sometimes I can’t help but worry about not sleeping enough, it’s hard for me to sleep 8 hours per day as I should. Usually, my nights are all about research or programming, either way I’m in front of a computer screen the whole time. I’ve begun to take a natural supplement from Kratommasters to help with my sleep disorder,

Now, over 10 years after my first published work as a hobbyist, it’s time to get serious about computers and programming. You can follow along the journey here and Twitter.

Renewing Let’s Encypt certificates in DigitalOcean’s Rails One-click app

A few months ago, I decided to add HTTPS support to my Rails app. I have been running it on an easy-to-setup DigitalOcean droplet for almost a year now. Given that the application is more of a hobby, I opted for the free Let’s Encrypt certificates.

DigitalOcean One Click Apps

DigitalOcean has a great resource of helpful blog posts and I found one that helped me setup SSL for the first time in my life. How To Secure Nginx with Let’s Encrypt on Ubuntu 14.04 was an almost perfect match with my Rails setup.

It’s just so easy to get started these days that beginners like me will miss some details that they will have to learn later. There were some hiccups on the way, which helped me learn more about my Rails setup, nginx and the Unicorn web server.

Everything I know I have learned by doing and this was no exception.

I arrived at this solution through trial-and-error method, which is what my staging server is setup for anyways. This is what I did.

After the first failed run, I learned that DigitalOcean Rails droplet does not have Pip installed by default. Pip manages additional Python packages from Python Package Index. Make sure your Pip is installed and up to date with

sudo apt-get install pip
pip install --upgrade pip

My servers have limited RAM so I stopped Unicorn after a few unsuccessful attempts at renewing the certificate. However, make sure your nginx is running and setup as instructed in the DigitalOcean guide so that Let’s Encrypt can validate your site. To renew your certificate, run the following command replacing rails_app with your rails application folder.

sudo service unicorn stop
sudo service nginx start
sudo /opt/letsencrypt/letsencrypt-auto renew --webroot -w /home/rails/rails_app/public/

Next, I will ensure that the automatic renewal from DigitalOcean’s guide is working properly.

For $10 credit on DigitalOcean, use my referral link, which will award me with $25 after you’ve spent that amount.