Code + Product

Bit Manipulation Part 2 - Bitwise operators in Python

A primer on bitwise operators in Python - left and right shifting, bitwise and / or / exclusive or, and complements.

Bit Manipulation Part 1 - Understanding binary numbers

An easy introduction to binary numbers, which will lead to a follow-up article on bit manipulation in Python.

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 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 MySQL | Redshift

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 SQLAlchemy | MySQL | Python

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 Product | Python

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