I bought a custom ALU68 Canadian mechanical keyboard and wanted to flash it with my specific keymapping. There was not an addition for the board in QMK, so I made the keymap code for it. I'll soon create a pull request with the main QMK project.
Noctilus started as a project for me to learn from the very start a simple PHP7, Bootstrap 4 and other technology full stack. It was a fun summer project in 2016, and gave me more insight into setting up a server with TLS on AWS with a stack of modern technologies.
While working on my portable video game framework (soonTM), I needed to implement color shimmering, such as white to red, or a rainbow of colors moving from one end of the spectrum to the other. There were many libraries available on Github but not many in pure C without any bloat, and it gave me the opportunity to learn about color conversion.
I started this project mainly to convert from RGB to HSV so I could easily traverse Hue to get 360° to have a shimmering rainbow color. I also needed saturation in order to get a white to X Color shimmer. Almost all of the libraries I looked at used the Wikipedia article to get the formulas for conversion. I looked into the sources used in the Wiki, and found they seemed to taken from "Color Space Conversions" by Adrian Ford and Alan Roberts. I ended up using this paper to write my C library and found a minor error in the paper and corrected it here in color.c
Overall it was interesting to read an academic paper and implement the formulas given, and even find an error and correct it. Along with the audio library written below, my game framework is coming to fruition and it may be the next project you see here.
While working on my next RPG style game, I needed to implement audio in SDL2. The most recommended method is to use SDL_Mixer, but that library adds a ton of features I didn't need, and added more complexity to cross-platform compilability. While browsing the web, I didn't find many solutions, the closest thing to a simple one file audio library was this gist. This solution wasn't very generic, couldn't mix multiple audio sources, and used deprecated functions. This led me to spend time developing a simple, compatible, and modernized library solution.
This library is simply just two files you include in your project, licensed under Apache2.0 License, and anyone is free to use it how they like if that falls under the terms of the license. There is a simple test.c file with an example of how to load music and sounds and how easy the library is to use. With SDL2 you can make any sort of desktop application from a video game to a media player to anything else, and my hope with the release of this code as FLOSS is that it allows others to benifit from the research I did in trying to implement native SDL2 audio.
The entire project is probably no more than 1500 lines of code, and is fairly efficient, making use of cURL multi interface for pseudo-threaded cURL requests. The parsing happens entirely through regex for a couple of reasons. I initially used the many PHP-DOM readers, parsers, and viewers, and they all sort of failed in a number of ways, such as when given imperfect HTML. The regex I wrote is theoretically O(n), whereas the parsers without their flaws would be O(1) which isn't that large of a gap for the small amount of logic uMinimal does each page load. The regex library is platform independant and doesn't require any extra installation. For comparison, the cURL requests take about 95% of runtime, so for optimization reasons the regex is not that much of a concern.
This project is an implementation of the Continued Massive Network Game Object Server, which is an emulation software that has a long installation guide.
The reason I started this project was because the default installation guide is incomplete, and doesn't really give a specific, copy paste implementation that I wanted. So the guide itself leverages an Amazon Web Services EC2 server instance running Ubuntu Server 14.04 and fixes all the holes in the default guide.
The project is a simple desktop video game written in GNU C11 and Make, leveraging SDL2 media library. It compiles on GNU/Linux, Windows and OS X. The game itself is a top-down shooter, asteroids-like video game. I made this as an introduction to SDL2 for myself as I am now working on another, larger project.
The linked webpage is a reflection on my 2017 Winter work term at Tulip as a Full Stack Web Developer. Included in my fourth work term report is an overview of Tulip, a description of my job, my goals, and what I took away from from my experience.
This webpage is a reflection on my 2016 Summer work term at Symcor as a Full Stack Web Developer. Included in my third work term report is an overview of Symcor, a description of my job, my goals, and what I took away from my experience.
This webpage is a reflection on my 2015 Fall work term at Adknown as a Web Application Developer. Included in my second work term report is an overview of life at Adknown, a description of my job, my goals, and what I got out of it.
This webpage is a reflection on my summer 2015 work term at Dainty Foods in Windsor as a software developer. This webpage includes an introduction to my work, my learning goals, the company, and what I got out of my work term.
I have recently completed a Bachelor of Computing with a major in Software Engineering (Co-op) at the University of Guelph, in Guelph Ontario Canada. I have a background in full stack web development and system administration with platform-independant desktop applications as an area of interest.
I recently signed a full-time employment with Tulip, which is an iOS mobile platform built exclusively for next generation retail store associates to offer a world-class omnichannel experience. I am a part of the Innovations team, technically leading partnerships and cutting edge products.
My Resume can be viewed on Github or inline below:
If you are interested in working on a project together, or want to get a hold of me: