Nickolas Kraus

  • About
  • Articles
  • Notes
  • Projects
  • Resume
  • Transcripts
  • Source Control Hygiene

    March 23, 2023
    My thoughts on being a good steward of source control.
    programming git
  • Copy as cURL

    February 17, 2023
    Use "Copy as cURL" to send an HTTP request with the proper headers.
    programming shell
  • Migrating a Google App Engine Application to the Python 3 Runtime

    July 25, 2022
    Reflections on migrating a large-scale Google App Engine application to Python 3.
    programming python google-app-engine
  • 2022 IRONMAN 70.3 Coeur d'Alene Race Recap

    June 27, 2022
    2022 IRONMAN 70.3 Coeur d'Alene Race Recap
    triathlon ironman
  • What I Eat - Q2 2022

    May 20, 2022
    What, when, and how I eat in Q2 2022.
    health nutrition
  • Redirecting One Apex Domain to Another Apex Domain with Amazon S3

    May 12, 2022
    How to redirect one apex domain to another apex domain with Amazon S3.
    aws route53 s3
  • Fixing a Corrupt FIT File from a Garmin Watch

    April 5, 2022
    Steps for fixing a corrupt FIT file from a Garmin watch.
    technology fitness
  • 2022 IRONMAN 70.3 Texas Race Recap

    April 4, 2022
    2022 IRONMAN 70.3 Texas Race Recap
    triathlon ironman
  • Migrating a Static Website to Terraform

    January 3, 2022
    A walk through of the steps taken to migrate a static website to Terraform.
    aws terraform
  • Hosting a Static Website with Hugo and Terraform

    December 27, 2021
    This article details how to create a static website with Hugo and Terraform.
    aws hugo terraform
  • My Thoughts on EMF

    December 20, 2021
    A mathematical analysis of the purported danger of electromagnetic fields.
    health
  • 2021 Race Results

    October 19, 2021
    Race results from my 2021 triathlon season.
    triathlon
  • 2021 IRONMAN 70.3 Arizona Race Recap

    October 18, 2021
    2021 IRONMAN 70.3 Arizona Race Recap
    triathlon ironman
  • 2021 IRONMAN 70.3 Des Moines Race Recap

    June 21, 2021
    2021 IRONMAN 70.3 Des Moines Race Recap
    triathlon ironman
  • Installing Arch Linux on a MacBookPro - Part 3

    January 15, 2021
    This is part three of a three part series on how to install macOS Big Sur and Arch Linux on a MacBookPro11,3.
    technology arch-linux
  • Installing Arch Linux on a MacBookPro - Part 2

    January 8, 2021
    This is part two of a three part series on how to install macOS Big Sur and Arch Linux on a MacBookPro11,3.
    technology arch-linux
  • Installing Arch Linux on a MacBookPro - Part 1

    January 1, 2021
    This is part one of a three part series on how to install macOS Big Sur and Arch Linux on a MacBookPro11,3.
    technology arch-linux
  • Transforming Code into Beautiful, Idiomatic Python

    January 26, 2020
    Notes from Raymond Hettinger's talk, "Transforming Code Into Beautiful, Idiomatic Python" from PyCon US 2013.
    programming python
  • Hugo Aliases

    November 10, 2019
    Use Hugo aliases to create redirects to your page from other URLs.
    hugo
  • Automatic Certificate Validation with Certificate Validator

    October 13, 2019
    Certificate Validator is an AWS CloudFormation custom resource which facilitates AWS Certificate Manager (ACM) certificate validation via DNS.
    aws cloudformation
  • Seamless AWS Lambda Function Deployments with Serverless

    October 6, 2019
    Using Serverless for seamless AWS Lambda deployments.
    aws aws-lambda serverless
  • Hosting a Static Website with Hugo and CloudFormation

    August 18, 2019
    This article details how to create a static website with Hugo and CloudFormation.
    aws hugo cloudformation
  • Understanding Amazon Security Groups - Part 2

    June 23, 2019
    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.
    aws security-groups
  • Understanding Amazon Security Groups - Part 1

    June 16, 2019
    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.
    aws security-groups
  • Creating a Static Website using CloudFormation

    February 10, 2019
    This article details how to create a static website using CloudFormation.
    aws hugo cloudformation
  • Creating an Amazon API Gateway with a Lambda Integration using CloudFormation

    February 3, 2019
    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.
    aws api-gateway cloudformation
  • Creating an Amazon API Gateway with a Mock Integration using CloudFormation

    January 27, 2019
    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.
    aws api-gateway cloudformation
  • Vim Plugins That I Use - 2018

    October 28, 2018
    A complete guide to the Vim plugins that I use.
    programming vim
  • My Local Development Setup - 2018

    October 21, 2018
    A comprehensive walk through of the tools and productivity modifications that I use.
    programming
  • Land of the Rising Sun

    July 1, 2018
    A reflection on my time in Japan.
    travel
  • The Art of Learning

    June 10, 2018
    A review and reflection on Josh Waitzkin's book, The Art of Learning.
    books
  • Creating a Public and Private RSA Key

    April 15, 2018
    A quick guide on creating SSH keys.
    programming
  • Anonymous Functions in Python

    April 8, 2018
    A brief discussion of lambda functions in Python.
    programming python
  • Populating a StructuredProperty using the ndb.Model Constructor

    April 1, 2018
    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.
    programming python google-app-engine
  • Isolating Python Environments with pyenv, virtualenv, and virtualenvwrapper

    March 25, 2018
    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.
    programming python
  • How to Mock the Built-in Function open()

    March 18, 2018
    This article provides an example for mocking the Python built-in function open() using the mock library.
    programming python
  • How to Test a Function That Raises an Exception

    March 11, 2018
    This article demonstrates how to create a unit test for a Python function that raises an exception.
    programming python
  • Using SSL/TLS with Google App Engine

    March 4, 2018
    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.
    programming google-app-engine
  • How to Create a Self-Signed Certificate for NGINX on macOS

    February 25, 2018
    In this guide, I will walk through how to create a self-signed SSL/TLS certificate for an NGINX web server on macOS.
    programming nginx
  • Hosting a Static Website with Hugo and AWS

    February 18, 2018
    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.
    aws hugo