This site is hosted on GitHub Pages. See this post on transitioning to a custom domain with GitHub Pages.

Below are my most recent posts. Please explore some of the one-off posts, as well as some longer running series that I’ve started recently (updates as I have time). Check out the projects section for interesting work I’ve been creating (Completed series will be collected here as well).

Also check out my work on GitHub!

Car Maintenance App

New app in progress! Hopefully it won’t take months to complete. Should be pretty simple. Especially since this app is going to be primarily for me - and I’m not going to worry too too much about the UI elements. Thinking this is going to be primarily a django based app with templates and model-based views like the keys app. Current State: Developing database models Purpose Provide myself and whoever wants it a place to track their car maintenance, and to make sure that they know when the next scheduled service for a particular maintenance item is due. [Read More]

Docker-Balena-Electron-Raspberry Pi Digital Signage

Building an Environment to Develop and Run an Electron App on a Raspberry Pi 3

Fair warning: This is a work in progress, and I’m still working out the details for this project. Github Repository I have started to work on getting a digital signage solution set up where I can set up a Raspberry Pi3 to display information on a screen, and that has no local interaction (no UI, running headless without any keyboard/mouse). I wanted a solution to control updates to the app, which is where BalenaCloud comes in (along with their handy OS for the Raspberry Pi). [Read More]

Docker Infrastructure Project

Part one of [some number] of posts implementing a docker service architecture

I’m building a web infrastructure project that’s based around the project verbose-equals-true (referred to as VET from now on), which sets out to create a set of services to support modern web apps, using several Docker based images to collect everything into separate concerns. I like the philosophy behind the project, and it looks well thought out, however, as things are always changing in this landscape and nobody has the same development environment, there’s always going to be stumbling blocks. [Read More]

Hyper-V Local Networking

How to make use of Hyper-V's default network switch without needing extra setup

I had to set up an Ubuntu VM (Virtual Machine) on my machine recently and because I also use Docker, I had to learn exactly how Hyper-V handles networking tasks between the host machine and the virtual machines you set up. Hyper-V, as far as I understand, has 3 main networking methods called virtual switches. There’s actually a 4th option that comes out of the box, which is something of a hybrid between an “Internal Switch” and an “External Switch”. [Read More]

Google .dev Domains, GitHub Pages, and Heroku Apps

How to get things wired up now that you have that sweet, sweet .dev domain name

At the end of February 2019, Google released general access to the .dev top level domain. I had heard about this happening about a year ago, and am now the happy owner of two .dev domains! One of these is chasesawyer.dev and will soon be the new home of this site! But how to get it set up? When you buy a domain name, nothing is really set up for them - going to those addresses doesn’t point to anything Firefox and Google will just say “Server not found. [Read More]

Maintaining Older Django and Python Projects

Notes on Legacy Software Maintenance and Building Workable Environments

I have been working on the backend for a project that I’ve written about {{previously–link}}. The established tools server that will be supporting my new React frontend app(s) will be using a backend built on Python 2.7 and Django 1.11, and thus I’ve had to remember how to get a development environment set up that will appropriately support the project running locally on my machine. I have a personal site that runs on the same version of Django, but with Python 3. [Read More]

Long Time Update; New Projects

Author’s Note: this post has taken a long time to get written - so long, that I already have my 2018 Hactoberfest t-shirt and stickers! It’s content spans mid-October through December. I’ve done my best to make it a cohesive whole.

[Read More]
post  update  uw  cloud 

Debugging Node Applications

With or Without an IDE

When developing an application or project with Node.js, debugging is an important aspect to getting to the bottom of issues. If you use an IDE (integrated development environment) or code editor that has built-in or supported debugging capacities, such as Visual Studio Code, then you have that ability already. But if you are someone who’s developing with a more basic code editor - such as Sublime Text, then you can still debug your Node. [Read More]

File Paths in Node

How Path Resolution Can Be Confusing

This week I had an interesting discussion with another new developer who was getting started working on an Express-based project and was frustrated by their static files working one day, and seemingly without provocation, not working the next. I knew from experiencing the same feeling when dealing with static files both in Django and Express that a static file loading problem is difficult to resolve, and how often the problem is often a simple one that is nonetheless opaque to a new developer unfamiliar with file systems and path resolution. [Read More]

Exercise Tracker Full-Stack App

Free Code Camp (v2) APIs Challenge 4

This project involved setting up a couple MongoDB collections and then building a responsive frontend for user interaction. This app allows adding users by name, then using that user’s ID to add activities. The API allows for querying for user activities by user ID as well.

The UI uses a pug template and bootstrap for most styling, and some custom css rules to fine tune elements.

This was actually the first project that I completed out of the new Free Code Camp curriculum, and replaced the previous Google Image Search Abstraction project that I had already completed previously.

[Read More]