Fall in love with continuous testing and integration - Travis-CI
You know, testing is important for software development. With good continuous integration and testing there, you have confidence that your software has a certain quality. It doesn’t mean your software is prefect then, however, when things broken, you can catch them and fix it. Jenkins is a pretty awesome and easy-to-use open source continuous integration tool, but for developing my own hobby open source projects, I just don’t want to rent a server and run Jenkins. So, I am always wondering, wouldn’t it be nice to have something like CI as service? I can just put my code there, and it could do the rest for me.
Zero-downtime Internet process migration in same host
When I am running my website, something troubles me. While there is a bug in the production server, I need to modify code and restart them. Sounds fine, right? Yes, for most of web servers, they are stateless, it is not a big deal to restart them whenever you want, but it is not true for me, they are realtime audio streaming servers. When you restart a realtime streaming server, it means audience connected to the server will be interrupted. Here is a diagram shows the problem:
Good logging practice in Python
Introduce good logging practice in Python