My Projects

GSoC 2017 Project Summary

The goal of this project was to research the use of the Rust programming language in GNOME GJS to help reduce or eliminate memory leaks and increase memory safety, and where possible, implement it to do so.


Game of Life - Written in Rust

This is a project I'm working on bit by bit. It was an excellent way to learn some of the more nuanced aspects of Rust and resulted in some rather messy code at times. I also experimented quite heavily with it, from using straight nested Vec to using maps throughout.


The code has gone through some pretty hefty evolutions at times, and now has many features on the way.

[Docs] [Source]

A Game Framework Experiment

Using Rust and SDL2.

This is a mamoth project, and has involved a lot of lessons for me. Essentially it is to become a kind of minimal framework for creation of a 2D game - the basics are there and working, but it requires much more work and refinement.

Where possible I did start documentation and writing tests, but due to a large creative I let this aspect fall to the wayside until I could nail much more of the features and architecture down.

[Docs] [Source]

A simple Tic-Tac-Toe Web Server & Client

This was an assignment for a paper I did through Massey University. We were expected to do this using Python, but I managed to convince the professor to let me use Rust. I think it turned out well, certainly it demonstrates core client/server techniques.

[Docs] [Source]

The Rust Programming Language + Rustonomicon ebooks

I've forked Pascal Hertleif's fantastic converter for the Rust ebooks, and added a few small changes such as nicer margins for pdf output (similar to Design Patterns book), and larger code font size in epub. I keep this mostly up to date.

Linux Tutorial

A tutorial on Linux for new users. With this I intend to explain the basics of Linux from the ground up. There are many aspects of linux that can trip new users up, particularly if they come from a Windows world, or even a case-insensitive MacOS world.

The site itself (sub-site) has a small back-end written using JavaScript plus two libraries for conversion of Markdown to HTML (showdown), and marking up code.


This website

This website/blog currently is built using Gutenberg which is written in Rust.

[Website Source]