Samuel Williams : Résumé

Contact
Profile

I am a specialist in software architecture and design, with a particular passion for programming languages and semantics. I am enthusiastic about using computer science to solve problems and as such I am the director of Orion Transfer, a company dedicated to software research and development, and the CTO of Lucid Information Systems, a technology company focusing on improving society through advanced products and services. I am a strong believer in Free Software and have contributed in this manner by producing many free and open source software frameworks.

Please browse this website (using the navigation at the bottom of every page) to find out more about all my published work, including my software, research and music.

Traits:
Intelligent, adaptable and good at learning new things, considerate, friendly, happy.
Personality:
Works well as a leader and as part of a team. A good negotiator and problem solver. A perfectionist by heart, but understands limits and dead- lines. Calm and resourceful under pressure. Creative and good at establishing procedures and policy.
Education

The University of Canterbury, Christchurch, New Zealand.

M.Sc. (currently in progress), Computer Science, 2011
Current GPA: 8.88 out of 9.0 (University Transcript)
Thesis Topic: Adaptive Hybrid Tracking for Mobile Outdoor Augmented Reality.
Research assistant to Professor Tadao Takaoka.
Designed and developed the Programming Dojo and Programming Language Posters which have been distributed throughout New Zealand and digitally available world-wide.
B.Sc., Computer Science, 2008
Last year GPA: 8.34 out of 9.0 (University Transcript)
Focus on 3D graphics, game design and associated algorithms.
Awards

University of Canterbury — HIT Lab NZ (2011): Master's Thesis scholarship with a focus on Augmented Reality ($15,000 NZD).

University of Canterbury — HIT Lab NZ (2011): Scholarships for the development of augmented reality applications for the iPhone ($10,000.00 NZD).

University of Canterbury — Film and Theatre (2011): Funding for the development of online digital teaching tools ($2,000.00 NZD).

University of Canterbury — Postgraduate Studies (2010): Summer scholarship with Professor Tadao Takaoka for compiler design and program verification ($5,000.00 NZD).

University of Canterbury — Computer Science (2010): Funding for the continued development of the Programming Language Posters and distribution to New Zealand Schools ($1,500.00 NZD).

Skills
Networking and Systems Administration
10+ years of experience as a network and systems administrator.
Experienced with the deployment of a wide variety of network services, including hardware, software and related infrastructure.
Familiar with most major operating systems.
Capable of dealing with end user problems professionally, compassionately and in a timely manor.
Fluent at scripting and programming and able to automate a wide variety of tasks.
Software Design and Development
10+ years of experience as a programmer including product design and sales.
Fluent in a variety of different programming languages including: C, C++, Objective-C, PHP, Ruby, Python, Java, JavaScript, Kai. Able to pick up new languages and frameworks quickly.
Experienced with several different programming models and APIs including: OpenGL, OpenAL, UNIX/Posix, Cocoa/CoreFoundation, iOS.
Proficient with version control systems, preferring Git for the majority of projects.
Browse my open source code at github.com/ioquatix and github.com/oriontransfer.
Work

The National University of Singapore (2012): Providing support (as an iPhone developer) with the augmented reality and user interface components of an interactive game.

The University of Canterbury (2012): Teaching COSC121 Introduction to Computer Science; A STAR course specifically for talented high school students. Sole tutor for COSC261 Fundamentals of Computer Science.

HIT Lab NZ (2011-): iPhone developer for the HIT Lab NZ developing augmented reality applications and middleware.

Google (2011): Invited to Google's offices in San Francisco to interview for the position of Software Engineer.

The University of Canterbury (2011): Working as a tutor for Computer Science, covering a wide variety of topics in COSC261: Foundations of Computer Science and COSC329: Algorithms and Artificial Intelligence at the University of Canterbury.

The University of Canterbury (2011): Provided support to both teachers in developing course materials and to students as a tutor for various computer science courses.

Orion Transfer Ltd (2009-2011): Website programming and development for Orion Transfer Ltd and Lucid Information Systems Ltd including online advertising, sales, competitions and content management.

St Margaret's College (2008-2009): Working full time (on contract) to upgrade core network infrastructure. Implemented real-time load monitoring for all desktop computers, and assisted with centralising network management with two other technicians. Designed and implemented policies to reduce stress in a busy office and improve service for students, including a ticketing system to keep track of important jobs. Assisted in the development and management of the school website.

Unlimited Paenga Tawhiti (2006-2008): Worked part time while studying at university as the primary technician and technical advisor. Responsible for school servers and networking infrastructure, along with all desktop computers and printers. Improved utilisation of computer resources by centralising administrative tasks. Developed and implemented policy for the student laptop program, from advertising through to deployment. Provided professional support to all students and staff covering existing technology and advising/deploying new technology where appropriate, to assist with the development of teaching programs.

ISB Global (2006): Working as a programmer designing and developing a consultant placement and management system using Ruby on Rails.

Interests
Programming Language Design and Implementation
Kai: Exploring the bounds of programming language design.
PL/0 Languge Tools: An programming language stack (including compiler, assembler and virtual machine) for educational purposes.
Register Machine Interpreter: Exploring the fundamentals of computability.
Efficient Algorithms and Problem Solving
Inverse Kinematics using A*: A deterministic solution for inverse kinematics problems.
Mr Painting Robot: A painterly style image processing algorithm.
Networked Information Systems and Applications
RubyDNS: A domain specific language for processing DNS requests.
Utopia: A rich tag based information processing system for managing websites.
Xapian: The integration of a C++ search engine with Ruby bindings including a web spider.
Game Development
Dream: A cross-platform C++ framework for game development.
Storage and Backup
Fingerprint: A tool for file system analysis and verification.
LSync: A backup and data synchronisation tool.
Computer Science Education and Training
Programming Dojo: A website that exposes students to a wide variety of programming languages.
Truth Table Solver: An online truth table solver/generator for helping students with logical propositions.
Register Machine Interpreter: A simple register machine computer which allows students to learn about the basics of computability.
Music and Composition
Trinity College of London: Classical Flute, Grade 8 with distinction (top in Christchurch).
The Royal School of Music London: Music Theory, Grade 5 with distinction (top in New Zealand).
The Space Between Here And There: A collection of dark ambient music.