=================== Curriculum Vitae ! A live version of this document is available at http://www.burnttoys.net/cv/cv.php Name : Matthew Porth Location : London Email : mcpcv@burnttoys.net Website : http://www.burnttoys.net =================== Introduction Organisation : Location : Tenure : * Hi, I'm Matthew Porth. I've been interested in and programming computers since I was young. The first machine I had that I called my own was a Sinclair ZX81. Whilst a teenager I would set-up and configure software for people on their PC's as this required more skill than most users had (hacking away at config.sys and autoexec.bat). After college I worked for Pi Research providing software and support for racing car data loggers and spent much time working on MS-DOS and Windows communication and data analysis tools. * I've spent a lot of my career programming in an embedded or restricted environment and have often coded "down to the metal" experiencing and enhancing microcode, instruction set and architectures along the way. These have mostly been graphics chips although I have also coded DSP algorithms using x86 SIMD extensions. * I also have experienced several GUI toolkits and created several GUI applications. These were variously written with MFC, OWL, Qt, Silverlight and even wrote a couple of GUI toolkits from the ground up in the "old days" of MS-DOS. * My programming experience is fairly broad and I've found that almost everything I've learned has been useful in one way or another everywhere I've been. * I am part time studying for a OU Modular Degree in Astronomy. =================== Major Works, Full Time, Long Term Contract Organisation : Yamaha Research Labs Location : Chiswick, London Website : http://www.yamaha.com Tenure : June 2007 to present * Creation of Silverlight controls and UI * C# coding of business objects and WCF services * Maintenance and enhancement of a Qt GUI application * Design and creation of media player application * RUP and Agile Development models * Interfacing with USB peripherals in C++ (Win32) * Development of C# LINQ to SQL based services and writing of LINQ queries * Use of XML, SOAP, WSDL and XSD schemas in C++ and C# * HTML, HTTP, Javascript and CSS design and development in Silverlight enabled website. * Porting of Qt application to Mac OS X * Evaluation of 3rd party tools and libraries Organisation : archway-london Location : Archway, London Website : http://www.archway-london.co.uk Tenure : January 2007, on going, part time. * Multiple MySQL database design, query design and user management * Cross platform PHP and MySQL development * PHP scripting * Keyword search facility * AJAX experimentation for a threaded forum system * AJAX live document editing system * Data collection. Yup! I actually went out and collected the data myself * Apache web server configuration (local and remote) * HTML DOM model * XML data models Organisation : 3DLabs Location : Bristol Website : http://www.3dlabs.com Tenure : November 2005 to December 2006 * Writing of 2D graphics libraries & an H264 video encoder written in a proprietary SIMD assembler language & C++ * Remote debugging of embedded C and assembler code via serial and Ethernet * Optimisation of ARM assembler code * H264 Quantisation and Motion Compensation routines * Alpha blending and format conversion routines * Writing of portable code running on Win32 and Linux * Writing and maintenance of documentation in Wiki * Benchmark and profiling routines in PERL to export to CSV, GNUPlot and HTML formats * Evaluation of third party applications * Evaluation of benchmark data, profiling data, source & object code to direct future hardware developments * Creation of a suite of test routines, image quality diagnostics and persistent storage libraries * Evaluation of Linux audio subsystems * Creation and maintenance of documentation in a company Wiki * Port of a substantial Ruby application and implementation and maintenance of new Ruby applications * Maintenance of PERL applications and creation of development and reporting tools in PERL Organisation : Symbian Software Limited Location : London Website : http://www.symbian.com Tenure : November 2004 to June 2005 * Radio Software Interfaces * SymbianOS on Win32 and ARM * Perforce source management system Organisation : Sensaura Location : Hayes. Later Egham, Surrey Tenure : November 2002 to November 2004 * Design and implementation of audio algorithms * Maintenance and debugging of Kernel WDM Device Drivers and filter drivers * MMX, SSE, SSE2 assembler coding for math kernel functions * Coding of math intrinsic functions in SSE (oscillators, filters) * C and C++ using Microsoft Developer Studio * MFC GUI Applications with interactive graphing software * ActiveX component to allow remote control of the audio subsystems * Liaison with 3rd party developers to confirm and fix bugs in both our and their products * Travel abroad to demonstrate product to new customers and to provide engineering support to existing * Port of C and C++ code to WDM environment Organisation : Primary Image Location : Surbiton, Surrey Tenure : November 2001 to September 2002 * OpenGL on Win32 * Orthographic projections with Z Buffering * Realtime JPEG decompression * MMX optimised routines (MIPMAP generation) * Digital Photography * Embedded C and Assembler coding and debugging on the TI 32000 platform Organisation : Videologic Location : Kings Langely, Hertfordshire Website : http://www.imgtec.com Tenure : April 1997 to December 2000 * Kernel GDI Device Drivers. 95,98,ME,NT,2K,XP * VXD and NT Kernel component coding and debugging * Assembler coding x86 16bit, 32bit and proprietary 32bit RISC * Optimisation and design of microcode * General debugging of simulator code and writing a VisualBASIC GUI front end * PERL scripts to process benchmark and profiling data output in HTML & CSV * Profiling of driver performance to allow effective design of future hardware developments * Involved in the design and implementation of future hardware, instruction sets, microcode etc. Organisation : Chadwyck-Healey Ltd Location : Cambridge Website : http://www.proquest.co.uk/ Tenure : June 1995 to April 1997 * Software testing and test suite construction in MS TestBASIC * Design and implementation of a multi-user data edit application in Visual FoxPro with SQL * Creation and debugging of database front ends and search engines using C++ and OWL * Creation and maintenance of C based MSDOS data processing tools * Creation and maintenance of massively parallel PERL based data processing tools Organisation : Pi Research Ltd Location : Cambridge Website : http://www.piresearch.com/ Tenure : June 1990 to August 1993 * Creation, Design and Maintenance of data analysis tools and the appropriate GUI * Creation of tools using C on MS-DOS * Creation of tools using C++ and MFC on Windows 3.1, Workgroups and NT * Software serial protocols to interface with data loggers and telemetry systems * Implementation of software simulators for testing * Numerous bespoke applications for customers * Customer liaison and on-site support * Hardware interfacing to CGA, EGA, VGA, Parallel and Serial ports with x86 assembler * Implementation of mathematical analysis tools and graphic procedures * Implementation of hiresolution printouts under MS-DOS * Implementation and design of GUI components, dialogue boxes, realtime graphical displays etc. =================== Work. Short Term Contract and Part Time Organisation : Arcane Apparatus Location : Bournemouth Website : http://www.arcane-apparatus.com/ Tenure : Short term contract, On going site for 2 artist friends of mine * Web site design, implementation and maintenance. Organisation : Laluna Central Location : London Website : http://www.lalunacentral.com/ Tenure : Short term contract * Web site design, implementation and maintenance. Organisation : Seraphim Lingerie Location : London Website : http://www.seraphimlingerie.co.uk Tenure : 2003/2004 Short term contract * Web site design, implementation and maintenance. Organisation : Trash Inc. Location : London Website : http://www.trashinc.co.uk/ Tenure : Short term contract * Web site design, implementation and maintenance. Organisation : purrpurrpussy Location : London Website : http://www.purrpurrpussy.co.uk/ Tenure : Short term contract * Web site design, implementation and maintenance. Organisation : Codeplay Location : London Website : http://www.codeplay.com/ Tenure : August/Sept 2001 * Integration of Codeplay compiler tools with MS Dev Studio across all Windows platforms. * Development of an NSIS based windows installer Organisation : Titan Metals Location : Haverhill, Suffolk Tenure : Full Time. Summer 1988 & Summer 1989 * Shrink Wrapping, Degreasing, General Dogs body. Mostly worked with volatile chemicals and dangerous piles of metal. Organisation : Helions Bumpstead Parish Council Location : Helions Bumpstead, Essex Tenure : Part Time. 1986 to 1988 * Tended to parish grounds. =================== Education Organisation : Middlesex Polytechnic Location : London Tenure : October 1993 to May 1995 * Combined Computer Graphics and Artificial Intelligence. Organisation : Cambridge College of Further Education Location : Cambridge Tenure : September 1988 to May 1990 * BTEC Nation Diploma in Computer Science. Pass/Merit