-
Swimming Speed and Paces
Swimming speed and paces in metric and imperial units for triathlon distances. -
Cycling Speed and Paces
Cycling speed and paces in metric and imperial units for triathlon distances. -
Running Speed and Paces
Running speed and paces in metric and imperial units for triathlon distances. -
Migrating a Google App Engine Application to the Python 3 Runtime
Reflections on migrating a large-scale Google App Engine application to Python 3. -
Redirecting One Apex Domain to Another Apex Domain with Amazon S3
How to redirect one apex domain to another apex domain with Amazon S3. -
Fixing a Corrupt FIT File from a Garmin Watch
Steps for fixing a corrupt FIT file from a Garmin watch. -
Migrating a Static Website to Terraform
A walk through of the steps taken to migrate a static website to Terraform. -
Hosting a Static Website with Hugo and Terraform
This article details how to create a static website with Hugo and Terraform. -
Installing Arch Linux on a MacBookPro - Part 3
This is part three of a three part series on how to install macOS Big Sur and Arch Linux on a MacBookPro11,3. -
Installing Arch Linux on a MacBookPro - Part 2
This is part two of a three part series on how to install macOS Big Sur and Arch Linux on a MacBookPro11,3. -
Installing Arch Linux on a MacBookPro - Part 1
This is part one of a three part series on how to install macOS Big Sur and Arch Linux on a MacBookPro11,3. -
Transforming Code into Beautiful, Idiomatic Python
Notes from Raymond Hettinger's talk, "Transforming Code Into Beautiful, Idiomatic Python" from PyCon US 2013. -
Automatic Certificate Validation with Certificate Validator
Certificate Validator is an AWS CloudFormation custom resource which facilitates AWS Certificate Manager (ACM) certificate validation via DNS. -
Seamless AWS Lambda Function Deployments with Serverless
Using Serverless for seamless AWS Lambda deployments. -
Hosting a Static Website with Hugo and CloudFormation
This article details how to create a static website with Hugo and CloudFormation. -
Understanding Amazon Security Groups - Part 2
In this article, we deepen our understanding of Amazon security groups. In addition, we take a look at the differences between EC2-Classic and EC2-VPC security groups. -
Understanding Amazon Security Groups - Part 1
A security group acts as a virtual firewall that controls the traffic for one or more instances. This article discusses the important concepts for working with security groups in AWS. -
Creating a Static Website using CloudFormation
This article details how to create a static website using CloudFormation. -
Creating an Amazon API Gateway with a Lambda Integration using CloudFormation
A typical use case for Amazon API Gateway is to use it in conjunction with an AWS Lambda function. In this article, we will create an API Gateway with a Lambda integration. -
Creating an Amazon API Gateway with a Mock Integration using CloudFormation
Amazon API Gateway is a highly useful and powerful tool. However, mastering its functionality is not easy. This article attempts to elucidate the major concepts of Amazon API Gateway by guiding the reader through the creation of an API Gateway with a mock integration. -
My Local Development Setup - 2018
A comprehensive walk through of the tools and productivity modifications that I use. -
Populating a StructuredProperty using the ndb.Model Constructor
After taking a deep dive into the App Engine SDK for Python, I thought I would share some of my findings on some of the more esoteric features of the ndb.Model class. In particular, how one can populate a StructuredProperty using the ndb.Model constructor. -
Isolating Python Environments with pyenv, virtualenv, and virtualenvwrapper
When working with multiple Python applications, the problem of conflicting dependencies and versions is bound to arise. Imagine you have an application that needs version 1 of a library, but another application requires version 2. How can you use both of these applications at the same time? When the Python environment is shared, it is easy to end up in a situation where upgrading the dependencies of one application, invalidates the dependencies of another. In order to mitigate this problem, is it necessary to isolate Python environments. -
How to Mock the Built-in Function open()
This article provides an example for mocking the Python built-in function open() using the mock library. -
How to Test a Function That Raises an Exception
This article demonstrates how to create a unit test for a Python function that raises an exception. -
Using SSL/TLS with Google App Engine
Enabling SSL/TLS for your Google App Engine production environment can be done trivially. Nevertheless, some circumstances require that your local development server also use SSL/TLS. Since the local development server provided by the Google Cloud SDK, dev_appserver.py, does not come with SSL/TLS out of the box, some configuration is required to accomplish this. -
How to Create a Self-Signed Certificate for NGINX on macOS
In this guide, I will walk through how to create a self-signed SSL/TLS certificate for an NGINX web server on macOS. -
Hosting a Static Website with Hugo and AWS
This article details the steps for creating and hosting a static website on AWS. I provide both the manual steps (via the Amazon Management Console) and the semi-automated steps using AWS CLI.