Hello there and welcome! My name is Erik and I am a Canadian software developer. I love math. Unpopular opinion, I know, but it got me through a bachelor’s in Electrical Engineering with a Minor in Math from Carleton University. I took every chance I got during my undergrad to spread this mindset.
Technology has always interested me and I love the immediacy with which you can receive feedback when developing software. I like to think of it as a form of mental tactility. I especially enjoy it when math intersects software as it does frequently in embedded systems and video games.
Zebra Dodge is a mobile game for iOS and Android that I am working on with an artistic director as CloseCall Studios. The game follows Ace through zebra dodging adventures on a strange world with a sinister presence. You can have a look at the website for more information.
AkimBear is a game I created with my compadres for Ludum Dare 43. This game was very well received and it was fantastic to watch people playing it on streams and hear great feedback that will help us improve our designs in the future! We focused on using lessons from a talk by Vlambeer’s Jan Willem Nijman about game feel and integrating the theme (Sacrifices must be made) into the game design rather than the narrative. You can check it out at it’s itch page, but I hope you have a controller handy if you do!
MACRO is a game I created with my companions for Ottawa Game Jam #4 hosted by You.i TV. In MACRO you play as Mac Robinson in a trippy adventure through the world of the very small (it’s a platformer). All animations are created by painstakingly rotoscoping a miniature and we focused on building the game’s atmosphere. You can check it out at it’s itch page.
MotherDucker is a game I created with my comrades for Ludum Dare 41. This was our second game with roughly the same group. We managed to put together a unique mother-ducking experience with all original models, audio, and controls. I worked on programming the gameplay and integrating components in Unity. We released this game on itch.io and you can check it out at it’s itch page!
Thought Experiment is a game I created with my confidants for Global Game Jam 2018. This was the first game any of us had completed and we were very proud of what we managed to throw together in just 48 hours. We produced the large majority of our 3D models (a fireaxe proved a bit too much) and all audio ourselves. I worked on the integration of assets in Unity and programmed all aspects of the gameplay. We released the game and you can check it out at it’s itch page!
First-In Respose Evaluation (FIRE) System
This was the fourth year project for my undergrad, for which I got to work with an excellent team on a project I feel strongly about. After witnessing the Grenfell Tower fire, we saw UAVs used after the fire and this got us questioning the technical feasibility and value to firefighters of using UAVs during active fires. We developed a proof of concept platform for evaluating this robotics application using UAV, sensor, and communication technology.
I worked on autopilot selection and the software architecture for UAV control. I also looked into the potential application of photogrammetry to enable a novel data visualization. If you are interested in knowing more, you can read my final report.
CognoSynth was a project completed for the first CUHacking hackathon with a couple friends. We used an Emotiv Epoc+ headset to measure the EEG signals of the user and produce tones based on the strengths of different brain wave frequencies. The accompanying app was developed for Android using Android Studio. A machine learning algorithm was developed using Weka (a research based Java library) to classify the cognitive load and further modify the generated sound to better reflect the user’s mental state. The sound was generated by playing multiple harmonics of a base sine wave that was scaled using the power of the measured EEG.
I implemented the sound generation using the output of the machine learning classifier and individual brain wave frequency band strengths. If you are interested in knowing more, our devpost page has more information. We won first place for this hack!
This is only a highlight of my experience, to see more I’d invite you to peruse my resume.
QNX Software Systems
Advanced Driver Assistance Systems (ADAS) are helping save lives and making driving safer for everyone while we all wait for mass market autonomous transportation solutions. QNX Software Systems provides software for developing ADAS applications that removes our customer’s burden of writing highly performant data acquisition code and provides a pipeline for implementing custom data processing algorithms. I work on the Sensor Framework portion of QNX’s ADAS product, which provides a consistent API for efficiently accessing data from a range of IMU, GPS, radar, and lidar sensors, in addition to cameras. I also assist with experimental projects in QNX’s Autonomous Vehicle Innovation Centre (AVIC) and was proud to develop the rearview mirror display in our 2019 CES showing of a modified Karma Revero.
With the support of the German Academic Exchange Service (DAAD) through their Research Internships in Science and Engineering (RISE), I spent a summer during my studies in Erlangen at the Fraunhofer IIS assisting with research into blind source separation (BSS). Most notably, I made contributions to craffel’s mir_eval open source music information retrieval library to add Python support for framewise and stereo source separation quality metrics. I worked under the excellent supervision of faroit.
The health of any oil lubricated machinery can be monitored using Oil Debris Monitoring (ODM) technology. GasTOPS’s MetalSCAN product line is a foremost solution for monitoring the health of turbines and generators when failures need to be detected in advance (e.g. consider the financial damages caused by an unexpected cruise ship turbine or wind turbine failure). I worked on design verification and environmental testing for MetalSCAN 4000, as well as writing a significant portion of the Windows application used in production for interfacing with the device.