Skip to main content

Gynvael Coldwind is a security researcher at Google, who hosts weekly livestreams about security and programming in Polish and English). As part of the streams, he gives out missions — basically, CTF-style reverse engineering tasks. Yesterday’s mission was about Elvish — I mean Paint — I mean Python programming and bytecode.

On Monday, Apple announced some changes to its Mac lineup. All MacBooks (even the Air) got CPU upgrades, and the starting price of a MacBook Pro (13″, no Touch Bar) went down to US$1299. Which makes the 12-inch model effectively pointless.

A quick spec comparison reveals that the Pro comes with a much better CPU, GPU, screen, camera — the only drawback is the storage space.

To create a project that other people can use and contribute to, you need to follow a specific directory structure. Moreover, releasing a new version should be as simple and painless as possible. For my projects, I use a template that has the structure already in place, and comes with automation for almost every part of a release.

You’ve just written a great Python web application. Now, you want to share it with the world. In order to do that, you need a server, and some software to do that for you.

The following is a comprehensive guide on how to accomplish that, on multiple Linux-based operating systems, using nginx and uWSGI Emperor. It doesn’t force you to use any specific web framework — Flask, Django, Pyramid, Bottle will all work. Written for Ubuntu, Debian, Fedora, CentOS and Arch Linux (should be helpful for other systems, too). Now with an Ansible Playbook.

Revision 5 (2017-04-29): Better module specification description, environment variable configuration info