Chris McGinlay

Python, Django, microcontrollers, machine learning.

Project maintained by chrismcginlay Hosted on GitHub Pages — Theme by mattgraham


This is my personal page, where I have gathered together links to various technical projects I am involved in and to courses I have studied.

HTML5 Canvas

Over Christmas 2015, taking a break from working on Eduduck learning platform, I created a tool for helping to solve grid-shading puzzles, like the one posed by GCHQ. This meant learning about HTML5 Canvas programming, which is something I'd wanted to try anyway. You can try the grid-shading tool here, it's tricky and addictive.

Software Debugging

In December 2012 I completed a course on automated debugging techniques. The course explores the systematic, effective and automatic debugging of large programs, taught using Python. I created and shared a set of summary notes after the course.

Microcontrollers and Robotics

To date I have worked exclusively with the Arduino UNO micro-controller. Language is Wiring, C++ based. Projects brought to operational stage have included:

Machine Learning

At the end of 2011, I completed a course "Machine Learning", given by Stanford's Professor Andrew Ng. It covered techniques in data mining, pattern recognition, classification etc; with supervised and unsupervised techniques including SVMs, neural networks, clustering, recommender systems, map-reduce and dimensionality reduction. Coverage was both theoretical and practical, for the latter using the Octave language (numerical computation language similar to Matlab).

After completing the machine learning course (see above), I entered two world-wide machine learning competitions on I chose Python for these competitions, and used Scikit-learn machine learning library for the SVM.

Blender 3D Course Development

I have developed a course for teaching Blender 3D ( to complete novice students. The course already covers the basic concepts, with staged exemplar blend files. As to whether or not the course is complete - it's an introduction; some of the later sections are sketchy. Overall it could do with some more exemplar files too. If you want to join me on adding to this project, please contact me (link to G+ below)

Lean Launchpad - Eduduck

In October 2012, I completed a business startup course, given by Steve Blank and hosted on This explored the fundamental differences between a Startup company and an established company, defining the essential activity of a Startup as a search for a repeatable business model. This was a hands-on course; it involved speaking to members of the public to test ideas. Everything was backed up with formal analysis. Really enjoyable delivery by Steve Blank, full of enthusiasm, totally recommendable to anyone.

Following on from the course, I have continued to research an online education business model, with the working title of 'EduDuck'. The code hosted in a private repository on github via @mrintegrity.