Neil Richardson
Mobile: +61432939238
Email: nrich@neiltopia.com
LinkedIn Profile: https://www.linkedin.com/in/neil-richardson-5100236/
Github: https://github.com/nrich
Overview
I am an enthusiastic software developer with a passion for new ideas and complex, large scale software systems. I have experience working at Australia's largest telecommunications companies, and also with startups in Perth and Sydney.
Skills
- Very proficient in Perl, Scala, Lua, C, C++, C#, Java, Ruby, Go and Python
- Knowledgeable in IP networking
- Strong mentoring and guidance skills
- Strong technical experience using Open Source technologies, including Linux (especially Redhat, Debian and Ubuntu), Apache, Nagios, ActiveMQ, Puppet, XRDP, FreeRDP and Guacamole
- Very Knowledgeable in a wide range of database technologies, including MySQL, PostgreSQL, Microsoft SQL Server, DB2 and Oracle
- Very Knowledgeable in many virtualisation platforms including KVM/QEMU, LibVirt, Virtualbox, LXC and Amazon's EC2 platform
- Knowledgeable in NoSQL platforms including MongoDB
- Regular creator of and contributor to open source projects
Professional Experience
2012-Present BankVault.com
CTO/Principal Engineer
As technical lead for the Virtual Desktop and Cyber Security products for BankVault I have contributed to the products complete software stack, and have developed multiple patents for the company. Specific pieces of work include:
- Creation of the virtual desktop provisioning stack to allocated virtual desktops to users in real time.
- Created a GoPC thin client product on a Raspberry PI platform in C++
- Created a custom Linux distribution for distribution on USB drives
- Created a custom cross platform remote desktop client for Windows, OSX and Linux based on NX technology in C++
- Created a plugin for XRDP to connect to NX virtual desktops
- Recreated the GoPC website in Django from it's original PHP code base, adding HTML5 desktop and AppStore functionality
- High level UI designs and workflows for internal and external GoPC websites
- Front end development with JQuery, Bootstrap, Foundation and knockout.js
- All billing system development, including invoicing, recurrent billing and integration with third party payment gateway providers including SecurePay, Google Wallet and Paypal
- The creation of a virtual keyboard app for Android and iOS devices
- The creation of a custom WebDAV server to allow easier access of files for GoPC users and a HTML/Javascript frontend to allow access to webdav via a browser
- Multiple bugfixes to open source projects, including FreeRDP, XRDP and LibSSH
- Creation of an automated server VM deployment system based on libvirt/KVM to simplify deployments
- Creation of an NFS to SFTP bridge for userspace mapping of remote storage on OSX
- Creation on a cross platform TurboVNC compatible client in Go
- Created a high performance HTML5 virtual desktop client for SafeWindow Online supporting sound and video
- The creation of WebSafe, a Linux Virtual Desktop running on EC2
- Created a mobile application and API for using mobile phones secure password login forms demo
2009-2012 iiNet Pty Ltd
Senior Programmer
- Acting manager of the Product Development team for the first half of 2011, which involved such responsibilities as:
- Managing project schedules for a team of 8 developers
- Reporting to Senior Management and the Exec board
- Developed iiNet's successful IPTV solution in C#, T-SQL and Perl
- Designed and developed iiNet's IPTV foreign language subscription channel system in C# and T-SQL
- Designed and developed processes in Tibco Business Works and iProcess for iiNet's future provisioning system
- Acted as liaison between engineering and operational groups to resolve pre-production and production issues
- Team leader for 6 developers in iiNet's recently created Devops team, with tasks including
- Scheduling development work for small projects
- Organising resources for effective fault resolution
- Mentoring and guidance in software and system best practices
2007-2009 Seeker Wireless Pty Ltd
Senior Software Engineer
- Involved in all aspects of the SDLC including requirements gathering, system design, development and testing
- Developed software in Perl, C++ and PL/SQL
- Managed Beta and Patch releases for customers in Romania and New Zealand
- Designed and implemented the customer installation and deployment strategy for Linux and Solaris installations
- Designed and implemented high performance transactional interfaces for customer integration using Perl, C++,and Apache
- Designed and developed a new implementation of the customer facing web application using the MVC design pattern
- Developed internal documentation, included the creation of the company's Perl coding Standard and customer installation guides
2007-2007 Ecomtel
System Software Engineer
- Administered all staff and customer facing systems and networks
- Responsible for retail and wholesale billing systems including call rating
- Implemented source control for in house development
- Developed and deployed new VoIP platforms for Australian and international customers with OpenSER and Asterisk
- Developed automatic customer provisioning systems for ADSL and telephony via Telstra's LOLIG system
2006-2007 Telstra Bigpond
Game Encryption Specialist
- Responsible for the encryption and testing of popular game titles from the Bigpond Games Shop
- Contributed to production of the all the Bigpond Games websites including GameArena and GamesShop
- Worked closely with external contractors to ensure projects were delivered on time and to specification
2004-2006 Optus
Technical Specialist
- Combined engineering and operational role for the Optusnet and Optus Mobile IP networks
- Developed and enhanced tools for automated system installations
- Developed IP based system for Optus Mobile, including SMS, WAP and MMS functionality
- Part of a 24/7 on call roster for Optus Internet
- Liaised with Australian law enforcement agencies for lawful interceptions
2002-2004 iiNet
Programmer/System Administrator
- System administrator to iiNet's staff-facing network
- Technical lead on the migration of iiNet's CRM and billing databases from SolidSQL to DB2
- Relocated from Perth to Sydney by iiNet to help with acquired ISP (including ihug and Flow Communications) integrations
Patents Lodged
In one preferred form of the present invention, there is provided a computer system for providing virtual computers. The computer system includes a pool facility for storing a pool of suspended virtual computers based on at least one virtual computer template. A provision manager provides a series of virtual computers as a result of a series of system logon requests by a user.
A computer implemented method of providing virtual computers for use by users comprising: providing a virtual computer service and providing each user with a user security device; each user security device providing a locked down operating environment including - a remote access connector, a display output and an authenticator facility; in the method receiving remote connection requests initiated by the users and sent by the remote access connector to the virtual computer service; the authenticator facility providing first authentication data to the remote access connector; and the virtual computer service authenticating the first authentication data to ensure that the security device is an authenticated security device that has permission to be allocated a virtual computer from the virtual computer service.
Education
Bachelor of Science (Computer Science)
Edith Cowan University Mt Lawley, WA
Graduated 2001
Open Source Projects