Current Position

Currently working at AppOrbit on the AppSwitch project. From the project documentation:

AppSwitch performs service discovery, access control and traffic management
functions on behalf of the applications by transparently taking over the
applications network API calls. 

Role involves writing Golang and C (kernel space and user space). AppSwitch includes a Linux kernel driver to intercept system calls and also provides the same functionality in user space using BPF.

Testing done in Python, Bash, C, and Golang. Responsible for writing and maintaining end 2 end tests (written in Python and shell) utilising docker in docker.

Position held since January 2018.

Open Source Experience

Open source contributions made to the following projects, among others:

Occasionally work on the Linux kernel, primarily the Kernel Self Protection Project and netdev. Also interested in filesystems, networking, device drivers and security. Current Linux kernel maintainer of the leaking_addresses.pl script.

Previously worked on layer 2 networking code within the Linux kernel. Focus on the KS7010 Wi-Fi driver (drivers/staging/ks7010). Also some Power PC work. While resolving Power PC kernel issues contributed documentation patches to the GNU Assembler, as well as an assembly code patch series within the kernel PowerPC code. Minor bug fixes and clean up patches to the Power PC tree as well as trivial cleanup patches into the kernel core (net, purgatory, mm).

While studying data structures and algorithms contributed code, and design test implementation, to the Gonum graph library written in Golang. Utilized graph library as reference while implementing solutions to graph problems on HackerRank.

Contributed to the Free Software Foundation Guile project. Interacted with Guile community via public mailing list. Iterated multiple revisions in order to assimilate a personal fix into a patch that was acceptable by the community. Produced a solution to a known outstanding issue requiring a multi-language patch set in C and Scheme.

Two months focused work on OpenBazaar Server code in Python. First non-company contributor to the project. Most patches were unit testing and code refactoring. Some work on the command line interface and interoperability between operating systems.

Education

Apprenticeship

24 month software development apprenticeship. Worked assiduously on becoming a competent, professional programmer. Maintained a minimum 40 hour working week (typically 50+). Logged hours and topics worked. Topics include; computer architecture, programming languages and theory, operating systems, data structures and algorithms, professional software development methodology and practices. See below ‘code written in last 12 months’ and ~/books. Text highlights include;

See Github repository for code written during apprenticeship. All code worked on is open source unless explicitly requested otherwise (i.e Project Euler, Eudyptula Challenge).

Graduate Diploma in Computer Science [Pass with High Distinction]

University of New England, Australia (completed 2014).

Bachelor of Science

University of Sydney, Australia (completed 2008).

Outside Experience

Founded the Central Coast Linux Users Group of New South Wales in February 2014. Announced the intent prior, at Linux open source conference, Linux.conf.au. Lead role in organizing and administering the group. Set up a unincorporated association for governance. Acquired sponsorship of venue to hold monthly meetings. Financially supported the group for the first three years.

Given presentations on software related topics at the Open Source Summit North America 2017, Central Coast Linux Users Group (multiple) and the Australian Computer Society (2015).

Motivation for Writing Code