July 04, 2021

Background

I've been interested in the reddit API for a while, as it is a site I interact with frequently and has a few interesting details in its implementation.

In the past, I've used the Python Reddit API Wrapper (PRAW) to create an API for accessing saved reddit posts, as well as numerous other quick scripts for analysing reddit data.

As a challenge to myself, I decided to build my own...

June 04, 2020

Background

Recently, I've been working on a web application to manage recipes that my partner and I have collected. The application provides forms to enter the recipe metadata as well as the ingredients that comprise the recipe.

To ease the process of copying recipes into system, I started to investigate whether it would be possible to extract the details of a recipe from the website where it is listed. This post will detail the process involved in building the functionality to import recipes, including extracting the raw data and parsing into a useable...

October 14, 2018

Background

During my undergraduate studies at the University of Waikato, I built a system for performing Linear Genetic Programming (LGP). The system was developed to offer an open-source implementation of LGP and was submitted as my Honours project.

LGP is a paradigm of genetic programming that employs a representation of linearly sequenced instructions in automatically generated programs. A population of imperative style programs are trained on a particular dataset and the best resulting program can be used as a...

October 15, 2016

In my second semester of 2016 I took a paper titled Operating Systems, which is a 300 level paper that deals with Operating Systems concepts and design. The majority of this paper focuses on the MINIX OS to provide examples of design decisions (e.g. microkernel vs. monolithic kernel) and as the system is reasonably small and manageable (relative to something like Linux) it allows for the code to be analysed and modified to learn more about it.

A core component of this paper is what is called the MINIX Project,...

July 27, 2016

Recently I decided to look further into the BitTorrent Protocol, as I have been fascinated by distributed systems (like peer-to-peer) and the communication protocols involved.

As I learnt more about how the protocol works, I thought it would be a good exercise to create a parser for the Bencode format — the format used to store and transfer metadata about a torrent file. My main goal was to create a simple program that is capable of constructing an internal representation of the Bencoded string and can output it in a nicer...

July 14, 2016

This is my personal portfolio and blog site - my own little section of the Internet!

I probably won't post a whole lot, but I may occasionally post my thoughts on my studies, personal projects, or some music reviews.

For now, I will simply leave a few links to some songs I've been enjoying lately - enjoy!