Noel Burton-Krahn — code samples
Here are some samples of my own code from favourite past projects.
Genetisnake (genetic programming, Three.js, Phoenix)
Battlesnake is an AI competition where snakes compete to survive on a simple board. My entry used genetic programming. I rendered the board with Three.js, and the game server was a multi-room chat application written in Phoenix.
GKViewer Video Recording and Playback (C++, OpenGL, ActiveX)
This was a multi-camera digital video recording and playback system. The code cross-compiled on Linux and Windows to save and display video on a Linux recording unit, and to play back on Windows through an ActiveX component written in C++ using OpenGL.
- Main class for the player:
glplayer.h,glplayer.cpp - GLActor for video:
glactorvideo.h,glactorvideo.cpp - ActiveX wrapper:
GLPlayerCtlCtrl.h,GLPlayerCtlCtrl.cpp - Real-time scheduling:
task.h,task.cpp
Hotswap — Transparent Failover for Linux (C++, linux kernel)
My Master’s project was to replicate Linux process trees between servers, so one server could seamlessly take over from another without losing data or breaking network connections.
Page Flipping (Java, OpenGL)

This is a Java applet I worked on as a prototype for a photo album application.
Planed.java computes a transformation matrix for flipping the OpenGL model matrix across a plane:
P2PVPN (C/C++, wxWidgets)
P2PVPN is a peer-to-peer firewall-tunneling VPN. It connects peer computers through firewalls like Skype does, but instead of voice conferencing, P2PVPN creates a virtual ethernet interface and gives peers virtual IP addresses for each other.
- Client daemon:
p2p_peer.h,p2p_peer.c - Desktop UI:
p2p_ui_frame.h,p2p_ui_frame.cpp - Library: wxWidgets
Web Server / Database Applications

Most of my bread and butter work is making web servers and distributed systems with Python (djselect.py, expand.py), C#, Groovy, Java, Erlang, Phoenix, Django.
Cloud computing and devops: AWS, Docker, Kubernetes, consul, etcd.
Databases: MySQL, PostgreSQL, SQL Server, DB2
Version control: Git, Subversion, Mercurial



