,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*##,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,(&&@&&&@&@&#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%&&@@@@@@@@@%%%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%&@&#(//////&@%&#/,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,%@@@#(/////**/(@&@&%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,(&@@@&((%#//#%#((#@@&&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,&@@@@&#%%##/*((#//*&&#%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,&@&#((//#/**//**//#@%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@%##((#%##//%#/*@@%&,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,&@&(#(((##//((*@@@&%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,&@@@##&%%##%&(**@@@@&@&,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,,,,@&@@@@&#(#((/////#@@@@@@@&,,,,,,,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,,,,#@@@@@@@@@#(#((//(%@@@@@@@@@@@@&#*,,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,/(@@@@@@@@@@@@@@%#%@@@@@@@@@@@@&@@@@@@@/*,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&@@@@@@@@@@@*,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,*@@@@@@@@@@@@@@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,&@@@@@@@@@@@@@&@&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@@@@@@@@@@@@@/,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,@@@@@@@@@@@@@@@@@@&&@@@@@@@@@@@@&&&@@@@@@@@@@@/,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@&@@@@@@@@@@@@,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&@@@@@@@@@@@@*,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,@@@&@@@@@@@@@@@@@@@@@@@@@@@&@&&&@@@@@@@@@@@@@,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&@@@@@@@@@@@&,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,*@@@@@@@@@@@@@&@@@@@@@&@&&&&@&&&&@@@@@@@@@@@(,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,@@@@@@@@@@@@@&&&&&&&&&&&&&&&&&&&@@@@@@@@@/,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,@@@@@@@@@@@&@&@&@&&&&&&&&&&&&&&@@@@&@@@,,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,,@@@@@@@@@@@@@@@&&&&&&&&&&&&&&&@@@@@@@@@,,,,,,,,,,,,,,,,,,,
    ,,,,,,,,,,,,,,,,,,,,,&@@@@@@@@@@&@@&@@&&&&&&&&&&&&&&@@@@@@@@@,,,,,,,,,,,,,,,,,,,

About Me

Hello! I’m Aaron Phaneuf - a husband and father of one. I am a self taught developer bordering on the title of ‘full stack’. I enjoy studying and tutoring mathematics, tinkering with my home server and electronics, coding, reading, and chess.

Upgrading MySQL 5 to 8

Introduction First, let me start by saying that I love Ghost. While this site isn’t built on it since it doesn’t quite align with my goals here, Ghost has been a perfect fit for several other projects I’ve worked on. After running smoothly for over two years, I decided it was time to apply a major upgrade and take advantage of all the new features ghost has to offer. However, there was a catch—my current database wasn’t supported, and as it turns out, upgrading from MySQL 5 to 8 can be tricky under certain circumstances....

August 29, 2024 · 2 min · 366 words · Aaron Phaneuf

Gitea

Introduction Don’t get me wrong, GitHub is a fantastic platform with a wide array of features that make it a go-to choice for many developers around the world. I, too, enjoy pushing some of my repositories to GitHub, particularly for public projects where visibility and collaboration are key. However, when it comes to my primary choice for version control, I prefer something a bit more personal and under my control—Gitea....

August 19, 2024 · 5 min · 944 words · Aaron Phaneuf

Building an Application with Django & Vue

Introduction Let’s answer the burning question: What will we build? In this many part tutorial, we’re going to build a content management system with Django as the backend and Vue as the front end. We’ll serve it in a docker container within our network for access across all of our devices. Why Here? There’s plenty of Django tutorials on the web, why use this tutorial? Well, everyone learns differently and has their own unique way of teaching....

February 25, 2023 · 3 min · 572 words · Aaron Phaneuf

Geomap Generator with Python

Introduction Choropleth maps let us visualize how a variable varies across a geographic area or show the level variability within a region. We’re going to generate one using Python (and a few additional packages) and solve a real-world business problem as well. Here’s what we’re going to create: All of the files to follow along with this tutorial can be found here. The Ask ‘Using our attendance data, draw a map of attendance to neighbourhoods in the city for the month of December....

January 15, 2023 · 7 min · 1421 words · Aaron Phaneuf

Building a Web Scraper with Python

Introduction Each month, I’m required to compile daily attendance with weather taken at three different times throughout the day. Thankfully, Wunderground is a great source that allows me to retrieve historical data. There’s only one problem: no ability to export multiple days. Instead of wasting time selecting each day, let’s automate the boring part with Python and build a web scraper that will capture the data for each page within a date range....

December 11, 2022 · 3 min · 523 words · Aaron Phaneuf