Building Momentum

October 21, 2016

I usually find it hard to get started working on a project. But once I get going, I find it hard to stop and sometimes have to actually remind myself that the next parts can wait until the next day and it's time to go to bed.

I just finished building a new Shopify app a couple of days ago and now waiting for the Shopify team to review it. It was a project ...

Setting up an FTP server on Ubuntu using vsftpd and connecting to it using Python's ftplib module

October 13, 2016

I know what you're thinking, "Who in the world still uses FTP these days?". If you were born after year 2000, you may not even have heard of FTP before.

FTP (File Transfer Protocol) was a popular way to share files back in the AOL days. People will set up these FTP servers where you can upload and download files. I remember spending so much time in chat rooms during my teenage years asking ...

Local Django development with Docker and Python 3.5

September 18, 2016

I was chatting with a friend of mine the other day about new Shopify apps to build with Django. We decided it's finally time to start using Python 3.

Python 3 was actually released almost 8 years ago (and the programming language itself is over 25 years old!). But adoption had been slow due to backwards incompatibility with previous versions. There are tons of third-party Python libraries and if your project uses one of ...

Short stop in the US

September 13, 2016

I'm currently back in the US after being away for over a year. I plan to be home for only two weeks and then I'm off to Mexico, where I plan to spend the rest of the year.

It's funny how nothing really changed in that 1+ year period. Everything still looks and feels familiar. Even driving around feels so natural, despite the fact that I haven't driven a car since ...

Automatically generating and renewing Let's Encrypt SSL certificates with the certbot client and Ansible

August 11, 2016

I just finished updating my ansible-django-stack project and added tasks to automatically issue a Let's Encrypt SSL certificate and set up a cron job to auto-renew the certificate.

We're now using it for all our Shopify apps which are built in Django. Let's Encrypt certificates are only valid for 90 days, so if you have a bunch of web apps like we do and have more planned in the future, automating this ...

Generating free trusted SSL certificates with Let's Encrypt

July 19, 2016

I've always hated the idea of having to pay for SSL certificates. You could always generate them yourself for free with OpenSSL and they're just as secure as the paid ones. But if you're running a public-facing website, you're pretty much stuck and have to pay for one if you don't want your visitors seeing security warnings in their browser. At least that was the case until Let's Encrypt ...