Code + Product

Primer to Python multiprocessing, multithreading, and asyncio

Oct 24th, 2018 in Python

Basic overview of parallel / concurrent programming, including comparisons between multiprocessing, multithreading, and asyncio (coroutines) in Python.

Introduction to Client-Side Javascript in 2018

Sep 30th, 2018 in AngularJS and Javascript

My notes for introducing a junior engineer to client-side Javascript for the first time, touching briefly on vanilla JS, jQuery, and VueJS.

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.