Recent Posts

QA 101 - How to Write a Bug Report

The purpose of a bug report is to enable an engineer to fix the bug. In companies with no dedicated testing/QA resources, bug reports get generated by many d...

Comparison of Chat Message Platforms

If you’re writing a chat app, the first big question to consider is whether you are going to write the actual chat backend. Why would you want to? You would ...

The Role of Specifications in Agile

It’s commonly said that everyone does Agile differently. In my experience, it’s also common to do basically whatever you want and call it Agile. It can be u...

Optimizing Flask client tests

When writing Python integration tests, it’s useful to put slow code such as database access in a setUpClass method, so that they are only executed once for...

Per-OS virtual environments in Python

A common setup for web development is to have a virtual machine on your Mac running all your code. Typically this involves a shared folder containing the cod...