Racing against time at DiviPay

November 18, 2020

For the last couple years I have been working at DiviPay on building the next generation of expense management software covering everything from expense reimbursement for employees to controlling your budgets and subscription payments to virtual cards. It has been a wild ride so far and has presented many interesting challenges for myself and the team. In this post I will be explaining how we faced into an interesting performance problem and managed to not only solve it but exceed our expectations.

Read More

Competitive Programming Tips

June 6, 2019

These are some rough notes from a session I presented to a number of high school students preparing to compete in a programming competition. The notes are heavily centered around the use of Python 3 however the concepts can be adapted to most languages. If you notice any errors please feel free to let me know in a Github issue or submit a fix here.

Read More

Load testing at a glance

May 25, 2019

For awhile now I’ve been wanting to talk about load testing and why we do it. Recently I was approached with a problem where some users were experiencing a very slow experience and I needed to rectify the issue. The way I went about solving this was to check what kind of response times I could expect for the particular path and actions those users were taking. By investigating the problem in this manner I was able to pinpoint the particular part of our system that was behaving slowing and begin to improve that.

Read More

Python packages that you may not have heard of

February 2, 2019

The python package ecosystem is a vast forest with many great packages available. If you have been using python professionally you are more than likely to have stumbled across some of the more popular packages such as requests, django and flask. In this post however, I seek to bring your attention to a few packages that I have been using over the last 6 months or so and have found to be quite useful.

Read More

Describing Descriptors - A follow up

September 3, 2018

Recently I gave a talk at PyConAU 2018 entitled “Describing Descriptors”. In this talk I sought to provide the audience an introduction to Pythons descriptor features and some basic use cases they might have for them. Following the talk there were some questions that dug into areas that I had not experimented with in regards to descriptors. This post seeks to answer those questions and any other interesting questions I find while investigating.

Read More

Getting started with Python testing

April 22, 2018

“People also underestimate the time they spend debugging. They underestimate how much time they can spend chasing a long bug. With testing, I know straight away when I added a bug. That lets me fix the bug immediately, before it can crawl off and hide.” – Martin Fowler

Read More

Explained Simply - P vs NP

April 2, 2018

Recently I was asked to explain a complex topic simply. I had the opportunity to choose any topic of my liking and so I chose the P vs NP problem.

Read More

On Finishing University

July 9, 2017

As of last week, and pending results, I completed an exam signifying the completion of my bachelors degree in computer science at the UNSW. In this post I will endeavour to ramble, hopefully not too freely, on the changes I have noticed within myself over the past few years.

Read More

The Sydney Train Carriage Problem

February 2, 2017

Living in Sydney it is inevitable that I travel via the public transport system, after all the highways are so congested that there is no other option unless you’re in a position to pay exorbitant housing prices, but that’s another story. On the Sydney trains, each carriage has a unique 4 digit number, usually preceded by some letter, printed up on the interior wall. They look like this:

Read More