A quick look at Java 11's HttpClient

16 Jan 2019

Java 11 was released in September 2018 and is the first Long-Term-Support version after Java 8. One of its features is HttpClient, a new way to make HTTP requests. This post will give a quick overview of HttpClient, and how it’s a much-needed replacement for URLConnection!

Reading files in a Chrome Extension

03 Mar 2018

Often, it is desirable for a Chrome extension to be bundled with files that need to be read. These files may contain data or configuration information to help the extension function. This short guide will show you how you can set up your Chrome extension to read files.

Generating CSV files with SDGen and Faker

28 Dec 2017

The CSV format is a simple but commonly used format for exchanging data. Many applications support the import and export of information as CSV files. Due to the popularity of this format, there is a requirement for developers to generate large amounts of CSV files for testing. This is where my latest open source project SDGen comes into play.

Mutating an object vs a single element array in Java, which is faster?

19 Nov 2017

Recently a coworker asked what he should do to pass an int into a method, change it, and then get the changed variable after the method ends. Apparently simply returning it was not an option! I suggested wrapping the variable in an Object with a getter and setter. Another coworker suggested creating a single element int array containing the value.

The non-broken promise of static typing

19 Sep 2017

A while back I read an article about how static typing does not prevent bugs being added to software. The article is appropriately named: The broken promise of static typing. The author conducted research by generating and comparing ‘bug density’ scores for GitHub repositories. The bug density score was determined by getting the average number of issues labelled ‘bug’ per repository. The results showed that there were not any less bugs in statically typed languages vs dynamically typed languages. The author concludes on the results:

A Look Back at 2016 and Plans For 2017

02 Jan 2017

2016 was a huge year for me. I finished my Bachelor of Computer Science (although my graduation ceremony isn't until April), got a job, wrote a few blog posts, and made my first contribution to open source.

Three Ways To Add an ActionListener In Java

20 Aug 2016

When building GUI’s, the interface needs a way to listen and respond to events. Events are triggered when the user interacts with the GUI, such as pressing buttons and inserting text. One of these types of events in Java Swing is the ActionEvent. A commonly used component that generates a ActionEvent is a JButton, which is simply a button that produces an event when pressed. This article serves to explain three different ways an ActionListener can be added to a component.

What Tools I Use

28 Jul 2016

In this post, I wanted to share what tools I use regularly. I believe that every developer should have a small 'go-to' selection of tools on their tool belt.

Vim 8.0 Changelog Is Here

14 Apr 2016

Vim, the modal text editor and the catalyst of many arguments between developers is nearing it's next major update, 8.0. Here are my favourite features that this update will include.


01 Dec 2015

Hello and welcome to the first blog post. This blog will be covering programming topics such as personal projects, online projects and things learnt from my Computer Science course.