A very straightforward Firefox & Chrome Add-On to check whether a repository in GitHub has
opted-in to DigitalOcean's Hacktoberfest initiative.
A cheeky Svelte project to pick the select a random digital party game for you and your
friends, taking into consideration the number of attendees.
Find out who your common collaborators are on GitHub! Produces a JSON output mapping
collaborators and repositories.
Track outages as JSON files via Git History. Basically, scrape for outages (or fetch a JSON if already available)
via GitHub Actions and keep track of changes via Git History. Currently tracking Slack, Shaw, and BCHydro outages this way.
Simple MNIST neural network
Simple neural network implementation using the Nim programming language. Intended for
educational and demonstrative purposes. Project structured as a set of three packages
handling the MNIST-specific components, a general purpose configurable neural network, and
the final demonstrative executable.
Selenium-powered scraper for myTRU and TRU's Moodle grades websites. Includes email
notification features for grade changes/additions. Not production ready.
Developed an experimental recipe application centered on voice-recognition. Application was
developed as a native Android application using Java and the Android NDK. The app employs
voice-recognition to allow the user to issue vocal commands to the application. This is
indented for hands-free operation while the user is cooking. The application uses Realm as
an object storage for its underlying user-submitted data.
Big Dota Reduction - Lessons Learned From Analyzing 1 Billion DOTA2 Matches
Together with Dyson Fraser. Paper and associated
tools used for analyzing a very large dataset (1.2TB) of Dota2 matches for
pattern/metagame extraction. This was presented at the TRU Undergraduate Research &
Innovation Conference 2019.
Modeling Patient Flow Among Hospital Wards Using Non-Diagnostic Data
Together with Dr. Piper Jackson, paper accepted at the Canadian Undergraduate Computing
Science Conference. Using discrete-event simulation modeling and the MIMIC-III data set,
this paper produces a demographic and metadata-only model of patient transfer within
hospital wards. The model successfully approximated the underlying transfer dynamics (95.63%
accuracy measured using RMSE). The accompanying visualization may be used to examine patient
Extending a Generative Adversarial Network to Produce Medical Records with
Demographic Characteristics and Health System Use
Together with Dr. Piper Jackson, conference paper accepted at the 2019 IEMCON (IEEE 10th
Annual Information Technology, Electronics and Mobile Communication Conference).
"Developing upon previous work, we have extended the MEDGAN system to generate records with
eight additional variables, including demographic and health system use factors. The records
generated are similar in distribution to the underlying dataset for all of these added
Developing a professional web presence: Domains, DNS, Emails, & Hosting
Introduced attendees to domains, DNS, and options for hosting websites and applications.
Walked attendees through purchassing a domain name, setting up DNS, email, and static and
dynamic website hosting.
Introduction to Version Control & Git
Guest lecture in the Software Architecture class at Thompson Rivers University. Introduced
students to version control systems placing them in their historical context. Introduced Git
in the context of distributed version control systems and demonstrated its basic operations.
Discussed online platforms that aid the use of version control.
Introduced participants to Nim, an experimental programming language with advanced
metaprogramming and transpilation features.
Python for Data Analysis Workshop
Introduced participants to the use of Python for basic data analysis. Explained the concepts
behind more Pythonic use of looping constructs. Taught basic use of graphing library
Matplotlib and data analysis library Pandas as well as Jupyter notebooks in an applied
manner. Introduced the topic of concurrency and the Global Interpreter Lock in Python.
Django introductory workshop
Introduced participants to the Model-View-Controller (MVC) design pattern. Compared Django
with other MVC or MVC-like frameworks. Led participants through the creation of a basic
Django web application.
The backgrounds for these websites are courtesy of these two fantastically talented photographers: