Sam McGhie

About

Experienced in a range of computer activities such as maintenance, support, administration and technical design. Previous roles in retail environments have built communication, technical and teamwork skills. Current role as a technical analyst has strengthened deductive reasoning and hardware knowledge, creating an interest in the use and development of both computer software and hardware.

Hobbies include repairing computers, learning how electronic devices operate and expanding practical programming knowledge. Self-taught skills cover electronic repair at a surface-mount-component level, building reliable custom-designed computers and administration of customer-facing software solutions for a variety of installations.

Design is not just what it looks like and feels like. Design is how it works.

Skills

Web Development

HTML

HTML

Quality hand-coded compliant websites

JavaScript

JavaScript

Interactive design, promoting ease of use and subtle animations

CSS

CSS

Consistent styling tested across multiple browsers

PHP

PHP

Efficient server-side programming creating dynamic interfaces

Bootstrap

Bootstrap

Responsive websites ensuring optimum presentation

AJAX & MySQL

AJAX & MySQL

Dynamic interactive database‑driven layouts

Desktop Development

C/C++

C/C++

Structured, commented code for a variety of applications

OpenGL

OpenGL

Shader-level programming generating and loading 3D models

Java

Java

Full App development including graphics and particle simulation

OpenCV

OpenCV

Camera input and advanced multi-threaded image manipulation

Mobile Development

Android Apps

Android Apps

Android Application design using System UI elements and API functionality

Android Drivers

Kernel Extensions

Hardware driver programming with low-level system calls

Development Environment Usage

Qt IDE

Qt

Multi-platform IDE for programming and rapid UI design

Xcode IDE

Xcode

Single-file application development with command-line compilation

Command Line

Command Line Tools

Custom makefile and compiler use for efficient development

Portfolio

WEB Sweets Emporium

HTML CSS PHP MySQL JavaScript AJAX

E-Commerce website hand-coded as part of a small team. Main roles included visual and database design, server-side page layout and interactive features.

MIDECC Inputs and Output

DESKTOP MIDECC System

C++ OpenCV QDrawing Command Line Qt UI Design

Masters Research creating a multi-camera colour classification system, identifying colours in scenes with extreme exposure ranges. The proposed system was compared against common machine learning classifiers such as J48 Tree, Random Tree, Neural Network and Naive Bayes algorithms. Experimental setup tested the research in a light-controlled laboratory with three USB web-cameras providing a range of training and testing scenes.

MIDECC Poster

Poster presented at the Massey 2015 Post Graduate Student Conference explains use of custom colour spaces and unique pie-slice colour classifiers.

Poster (PDF, 440 KB)

MIDECC UI Design

Careful User Interface design highlights system results, enabling quick comparisons with minimal configuration. Standardised data export allows for direct training and testing of alternative algorithms.

Rain Simulation

DESKTOP Rain Particle Simulation

Qt IDE C++ QDraw

Qt graphics and interface libraries coupled with structured C++ code simulates falling rain with user-configurable variables.

Viral Simulation

DESKTOP Viral Spread Simulation

Qt IDE QDraw Qt UI Design C++

Use of Qt graphics and interface libraries simulate cellular automaton of two viruses spreading amongst a population.

Shapshot Sharer

MOBILE Snapshot Sharer

Android Java UI Design

Android Application designed to access user photographs during a specified timeframe and compose an email to selected contacts with photos attached.

OpenGL Desktop Programming

OpenGL Flag Simulation

SHADER Flag Simulation

Vertex Shader Texture Load C++

Loading three textures from file, a vertex shader program renders shape of the scene while a fragment shader program loads textures from file and maps each to the correct location.

OpenGL Genetic Fuzzy

DIRECT Genetic Fuzzy Simulation

OpenGL Draw Scaling C++

Drawing point-to-point, generating scalable graphics for a robotic training simulation during Post Graduate Research. Robots and playing field modelled after real-world FIRA Robot-Soccer regulations.

OpenGL Grass

SHADER Interactive Grass

Vertex Shader Fragment Shader C++

A small field of grass to be mowed in a 3D environment. Shader programs shift the blades using uniforms with a boolean to indicate if the blade has been 'cut' or is fully grown.

Qualifications

Master of Science (Computer Science) Massey University, 2016

Distinction

A unique colour classification system is presented, processing three input cameras at different exposures to classify colours accurately with minimal user input. The proposed system employs the use of pie-slice classifiers in normalised colour spaces. The experimental setup was programmed in Qt using C++ in a Linux environment with three USB cameras.

Research Summary (PDF, 330 KB)

Post Graduate Diploma of Information Science (Computer Science) Massey University, 2015

Distinction

Presented is a study in the combination of Genetic Algorithms and Fuzzy Logic for improved robotic control. The study simplifies the genetic algorithm component of a genetic-fuzzy system, exploring how robotic systems may be trained with an easy set of rules, while a simulated physics backend fine-tunes the system variables. The experimental setup for this research was programmed in Qt using C++ in a Mac OS X environment with OpenGL graphics and Box2D physics.

Research Summary (PDF, 80 KB)

Bachelor of Information Science (Computer Science) Massey University, 2014

Focusing on Computer Science, elective papers such as System Management, Social Issues in Information Technology and System Analysis and Design were studied to broaden knowledge to social interaction and system implementation in business.

Apple Certified Macintosh Technician 2013 - 2017

Certified to perform warranty-repair on Apple Macintosh, iPhone, iPad and iPod.

Contact

.

+64 21 161 3328

Auckland, New Zealand