Always be Questioning - Jan 26, 2018

One of the most important lessons I've learned from working as a software developer is to always be questioning the core assumptions, and to not be afraid of saying no. More often than not, the two go hand in hand.

Encrypting Sensitive Data in SaltStack - Jan 05, 2018

SaltStack supports distributing sensitive data to minions using Pillars. While the "distribution" is secure, the pillar entries themselves are all in plain text files, unless you use GPG to encrypt them.

Handling the "N + 1 selects" problem in SQLAlchemy - Dec 17, 2017

Latency in database-backed web applications often results from too many database calls, especially when you have models linked using foreign keys and loading one kind of (parent) object entails loading a few other (child) objects. In this post we'll look at one way SQLAlchemy helps you handle such cases.

Speeding up Python using Cython - Nov 30, 2017

If you've worked with Python before, you probably know that it makes a trade-off between developer productivity and speed of execution. But what if you didn't have to sacrifice on speed and could still have the Python-level of productivity?

Tornado + SQLAlchemy - Aug 27, 2017

I spend a lot of time working with Tornado and SQLAlchemy. So I recently wrote a small module that provides a set of helper functions to make SQLAlchemy usage easier in Tornado applications.