Jed Saxon

Software Developer

About Me

I am a long time Arch Linux user, Neovim enthusiast, and is excited about everything IT! This includes low level programming, full-stack web development, database design, and system administration. Why don't you have a look at my projects! You can use the checkboxes below to filter through them quickly!

Filters

Projects

Simple Job Listing Website

Despite what the title says, this is a really complicated job listing website that I did during my Bachelor of Computer Science.

This project heavily uses object-oriented PHP, and was targeted for a RHEL6 (Red Hat Enterprise Linux 6) server. This meant I was stuck with PHP 5.4

The codebase is most certainly unnecessarily complicated, but what else was I going to do with my time at Swinburne? I don't want to waste it doing beginner projects, I want to extend myself wherever I can. In a real, production scenario, I wouldn't have developed the SqlBuilder library, OOP Validation, or the use of factory pattern. But while I can, I may as well dive into these more interesting topics, and so I did. Take a look at the code on the Gitlab repository below!

Visualisation of Alcohol Consumption and Life Expectancy

This project done for my Bachelor of Computer Science was interesting. It had me design, and implement a visualisation of some dataset collected by the OECD. I decided that my teammate and I would host a git repository and see if alcohol consumption had any impact on life expectancy

We first downloaded the alcohol consumption and life expectancy datasets, and used Python to insert them into a MySql database. That way, we can take whatever kind of data we need out. Then, it was just a matter of importing it into a D3.JS project, and rendering it into a visualisation.

PTV Departures

This project utilises Angular and Typescript to render results gathered from the PTV Timetable API. Specifically, it would allow users to enter a desired stop name inside a search bar, and the route type (tram, bus, etc...), and it would let them view the departures for all routes that stop there with a handy map using the Leaflet library.

I aimed to use Angular's top-notch component system to create a modular interface. With that said, I came up with a good solution where I can split up the functionality of a page, and each component inside said page. This was done by making each 'child' component (search bar, map, etc...) be independent of any service. Then, I make a page component which depends on a service and make them a completely separate 'parent' component which takes the inputs and outputs of the child components.

E.TEAM Codes

A client came up to me and asked if I could build him a website, and I, of course, said yes. The website was required to have a 6-digit code that could be found in one of his comics which could be used to access another comic on this website

I used ASP.Net Core, MySql, Entity Framework, and deployed the project using a simple docker-compose script. I also modified the Bootstrap CSS project slightly to apply a unique design, although it still needs some work.

This was my first real attempt at creating a web application, and only applies the most basic form of MVC. I would love to come back and re-create this with my new understanding of Domain-Driven design

Gitlab Repository

MVC Framework From Scratch + E-Commerce Platform

Done using my intricate understanding of PHP and Apache, I was able to develop an MVC framework from the ground up during my time completing the Diploma of IT at Swinburne. Due to limited time constraints, I had to rush out a working framework so the rest of my team could start implementing the API and frontend, resulting in below-average code. However, I planned for this. My code was developed in a way where I could come back later, and make changes to improve the performance. My PHP code uses the following advanced techniques that make it unique:

Source code coming soon™

Client/Server Communication in C++

For one of my assignments in the Diploma of IT at Swinburne, I created a client/server connection using C++. During my research to find out how it would work, I didn't just learn a lot about networking (ports, ip addresses, etc...), I also found out how sockets work in UNIX operating systems. I found it really cool that whenever you open up a new socket using C++'s standard library, it will interface with the operating system to open one, and return the location to that socket as a file descriptor. In UNIX operating systems, this is usually located inside the /proc directory.

In order to satisfy the requirements of the assignment though, I had to also include a user interface. I stuck with GTK using the libgtkmm library and tested the functionality by running the program in a Debian 12 virtual machine.

Covid-19 and Australian Census MySql Database

During my time at Chisholm, I had to create a large scale database that held population data from the Australian Census, Postcode and LGA data, and Covid Case data. With 3 months to learn database management with MySql and none dealing with database normalisation, this proved to be a challenge, especially with the quantity of data needed to be converted.

During the transfer from 0NF to 3NF, I had to study the data rigorously and had to consider the business requirements as well. Once that was complete, it was a matter of using Python to convert the initial dataset into the 3NF design. The process was documented heavily with a design document, implementation plan, and a GANTT chart to track the progress.