Deployment tech for the hobbyist, again

TL;DR: Try Dokku if you want to run multiple toy web apps on a single server and keep the cost at minimum.

Dokku logo with name

Let's talk, yet again, about deploying toy web apps. I wrote about this topic many moons ago (see docker-compose in production part 1 and part 2), but …

Continue reading »

Getting started with Python for data analysis

Python books covers

A few days ago another friend asked me to recommend reading materials to get started with python. Yesterday, I saw this tweet.

"When you’ve written the same code 3 times, write a function. When you’ve given the same in-person advice 3 times, write a blog post" - David Robinson‏

So here I am, writing this blog post.

A short disclaimer: I like learning from books, but I know that it doesn't work for everybody. So my recommendations …

Continue reading »

Python vs. elixir for a web-app wrapper for a script

Python vs. elixir

I'm a facing a project with the following requirements:

  • An existing script should be wrapped with a web server.
  • The script takes 10-30 seconds to run, so just let the user wait for it to complete.
  • Multiple users should be able to call the script concurrently.
  • Make sure to protect …

Continue reading »

An Even Better Pip Worflow™

The 9th major version of pip, the recommended tool for installing python packages, was released two days ago. I took a short look on the changelog to see what's new. At first, I couldn't notice anything that will change my current workflows. Usually, the important changes are listed first, but …

Continue reading »

My first assignment as a PhD student

So, what do you see here? Actually, nothing special. Yes, it is my first assignment as a PhD student in the Media and Arts Technology programme at Queen Mary University of London. And yes, it is a simple arduino exercise. So why does it deserve a blog post?

The thing …

Continue reading »

docker-compose in production - part 2

Few months ago I shared my experiences with docker-compose in production. Recently I faced another deployment and decided to use the same technique. This time I used it somewhat differently. In this blog post I would like to share the new experiences.

I started by following the process that went …

Continue reading »

Migrating to python3

I was recently asked, by my boss, about the possible benefits of migrating our code base at work from python 2.6 to python 3. Instead of sending an email back to my boss with my answer, I decided that it worth a blog post. Why? because the internet is …

Continue reading »

Continuous integration and delivery with travis-ci and codeship

Travis vs. Codeship

Generally speaking, continuous integration (CI) is the process of running your test suite automatically when you push code to your repo. Continuous delivery / deployment (CD) is the process of deploying the new code to your server whenever you push to specific branches in your repo. There is enough information about …

Continue reading »

docker-compose in production

Deployment sucks! I'm not a dev ops / sys admin type of person, and every time I'm into deploying a web project I start to rethink the whole process and get confused. Recently, I decided to restart the work on one of my older django projects, Xteams, and one of the …

Continue reading »

Poor man's trick to add and remove conda from $PATH

Conda is great for managing dependencies as matplotlib and scipy: try to install these with pip, in a virtualenv, and you will be convinced that conda is better in that regard. But! Somehow, the folks at continuum analytics decided that using conda should override the default python environment (the system-wide …

Continue reading »