- Undergraduate and postgraduate degrees in computer science.
- 12 years experience using Linux.
- Apprenticeship, 2 years full time programming.
- 100+ patches merged into the Linux kernel.
- 98th percentile in algorithms on HackerRank.
- Founder of The Central Coast Linux Users Group (LUG).
Open Source Experience
Open source contributions made to the following projects, among others:
- Linux Kernel mainline.
- Gonum graph library (Go).
- OpenBazaar-Server (Python).
- Guile Scheme (Scheme, C).
- Binutils, GNU Assembler (Documentation).
Primarily interested in layer 2 networking code within the Linux kernel. 100+ patches merged into the kernel. Focus on the KS7010 Wi-Fi driver (drivers/staging/ks7010). While resolving PowerPC kernel issues contributed documentation patches to the GNU Assembler, as well as an assembly code patch series within the kernel powerpc code. Also minor bug fixes and clean up patches to the PowerPC 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.
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;
- The Art of Computer Programming (volumes 1 and 2) Donald E. Knuth
- Advanced Programming in the UNIX Environment W. Richard Stevens, Stephen A. Rag
- Structure and Interpretation of Computer Programs Harold Abelson, Gerald Jay Sussman, Julie Sussman
- Applied Cryptography Bruce Schneier
- Clean Code, A Handbook of Agile Software Craftsmanship Robert C. Martin
Graduate Diploma in Computer Science [Pass with High Distinction]
University of New England, Australia (completed 2014).
- Parallel and Distributed Computing.
- Computer Architecture and Assembler.
- C++ Programming.
- Programming Languages for Artificial Intelligence.
- Web and Internet Programming.
- Information Technology Project (dentist patient management application in Objective C).
- Graduate Diploma in Computer Science Project (UNIX shell written in C).
Bachelor of Science
University of Sydney, Australia (completed 2008).
- Awarded Bachelor of Science majoring in computer science.
- Completed double major, software development and computer networking.
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.
Motivation for Writing Code
- Continually learning and refining skills and technique.
- The social interaction of programming on a project together with others.
- How good ‘clean code’ looks on the screen.
- The feeling when an insurmountable problem dissolves.
- Constantly chasing perfection, efficiency of space and time, beauty of code.
- Programming craftsmanship.
Code Written in the last 12 months
All code is open source and hosted on Github. Unless explicitly requested otherwise (i.e Project Euler, Eudyptula Challenge).
- 100+ patches into the Linux Kernel.
- Focus on device drivers (drivers/staging).
- Minor patches to PowerPC (arch/PowerPC).
- Currently working on challenges from The Eudyptula Challenge.
- 140+ algorithmic problems on HackerRank.
- Data structures. Implementations and blog posts.
- Contributions to the Gonum graph library.
- Exercises from The Go Programming Language.
- Guile patch modifying compiler output (in C and Scheme).
- Worked all Exercises from SICP (upto exercise 4.71).
- Exercises from The Scheme Programming Language.
- Worked The Little Schemer.
Toolchain: gcc and the GNU Assembler.
- Exercises from ARM Assembly Language.
- Contributed to the Open Bazaar project.
- Completed first four sets from the Matasano Cryptography Challenges.
- 30+ problems from Project Euler.
ARM, x86_64, MIPS, PowerPC, Linux, Ubuntu, Emacs, Zsh, Mutt, Git, Haskell, Scheme Lisp, Assembler, C, Go, Python, Perl, Java, C++, Objective-C, Prolog, Bash