Code + Product

Jumbo list of most common datetime / timestamp functions in Redshift and MySQL

Sep 8th, 2018 in MySQLRedshift

A list of common expressions for working with date, time, datetime, and timestamp columns in MySQL 5.7.x and Redshift.

Method delegation in Python

Jul 11th, 2018 in Python

Using Python, a short example on how to delegate specified methods to another object, as compared to composition and inheritance.

Using Python enums in SQLAlchemy models

May 16th, 2018 in SQLAlchemyMySQLPython

How to use enums in your models to enforce value consistency.

Python command-line scripts with argparse

Feb 15th, 2018 in Python

A template file for using conditional arguments when running Python scripts from the command line.

SQLAlchemy commit(), flush(), expire(), refresh(), merge() - what's the difference?

Nov 2nd, 2017 in Python

I've always struggled to remember between these very similar methods in the SQLALchemy ORM - so I took some time out to research these and write it down.

Prioritized Code Review Checklist - what to look for first, second, and last

Sep 21st, 2017 in ProductPython

A few notes on the code review process, and the steps I go through when reviewing.

Principles for Code Reviews

Sep 2nd, 2017 in Product

Some thoughts on what code reviews are and are not.

Many to many relationships in SQLAlchemy models (Flask)

Jul 28th, 2017 in Python

Building model definitions for many-to-many relationships via a secondary table.

Bash script to relink alembic migrations

Jun 12th, 2017 in PythonToolsBashMySQLSQLAlchemy

Sick of `alembic merge heads` slowing down your builds? Here's a short bash script I wrote to rename your migration files and update its down revision.

Running Metabase locally as a service

May 29th, 2017 in ProductServers and ScalingTools

Want the power of Periscope or Tableau, without the big monthly bill? Setup Metabase to run locally on your CentOS server.