Below are a few technical projects that may be of interest.

2D video game and engine

October 2018-present. I am developing a video game in Go using a homemade engine (the only 3rd party library being a wrapper for low-level functionality such as key events and other OpenGL calls).

The engine allows for, among other features:

The code is private, but if you are curious I am happy to discuss it with you.

Go Behave

December 2018. Go Behave is a behavior tree library I wrote mainly for use in the video game mentioned above. Please refer to the project repository for more information.

Wloggr.com

August-October 2018 (on hold). Wloggr ("workout logger") is a web application that lets users register and maintain a log of workouts. The frontend is built with React.js and communicates via a RESTful API with a Go backend. Code is available on the project repository.

Self-Balancing Robot

November–December 2017. In a control systems project course, three other students and I built a self-balancing two-wheeled robot using LEGO Mindstorms components. We implemented and compared two different control strategies: PID control and linear-quadratic control. We compared two different filtering methods—Kalman filtering and complementary filtering—for the measurements taken by a gyroscope and an accelerometer. The control algorithms were implemented first in Simulink and then in leJOS on a LEGO Mindstorms EV3 microprocessor. The project report can be found below.

Self-Balancing Lego Robot

Extremum-Seeking Control

April–June 2017. As the final project in an advanced course in control theory I chose to investigate an area of control engineering known as extremum-seeking control. While the aim of conventional control is to drive the output of a system to a predetermined reference value, the purpose of extremum-seeking control is to create a controller that finds an optimal reference value for a system to operate at. This type of control is often used within the process industry to optimize system performance and subsequently minimize resource usage. The project report can be found below.

An Introduction to Extremum-Seeking Control

Reduction of Static Noise in Real Time

February 2017. In a digital signal processing project course, a fellow student and I investigated and implemented an algorithm for reducing static audial noise in real time. The solution was implemented on a SHARC DSP. The project report below further explains what we did.

Reduction of Static Noise in Real Time

AlexanderSkafte.com

This website is built with Flask, a Python web framework, and a set of useful templating engines. These tools reduce code duplication and increase maintainability. However, as there is no need for dynamic interaction with the user, I also use Frozen-Flask which creates a set of static files from a Flask application. This lets me host the website with GitHub pages which is both fast and free. The GitHub repository for the webpage can be found here.