Dr Richard Wareham Curriculum Vitæ

Employment

University of Cambridge, Department of Engineering

Sep. 2013–present
Developing computer vision and data analysis algorithms for recognising and tracking cars from a traffic camera feed between sites. Developing Dual-Tree Complex Wavelet Transform based algorithms to perform real-time analysis of video.
Research Associate, BBSRC (LoLa grant)
Oct. 2009–Sep 2013
Part of the Data Analysis for the LoLa single-molecule imaging team. Developed a custom suite of data analysis and visualisation tools for biological imaging and tracking. Created novel image and signal processing algorithms for dealing with noisy and ambiguous input. Co-ordinated geographically disparate team and lead efforts to improve code quality with automated build testing tools, test suites and coding standards.

Pneumacare Ltd

Consultant Software Engineer
Oct. 2008–Oct. 2009
Based at the University of Cambridge. Technology lead and inventor of the Pneumascan passive lung function monitor system. Rôle required investigation and development of computer vision algorithms for real-time high-frequency 3D data capture. Implemented a prototype capture and analysis system including GPU accelerated processing via CUDA. Created product mock up and marketing renders using the Blender rendering suite.

Geomerics Ltd

Consultant Research Associate
Oct. 2007–Oct. 2008
Researched new algorithms for rigging and skinning 3D character models resulting in the publication of a fully-automated system called Bone Glow
Senior Software Engineer
Jun. 2006–Jul. 2007
Real-time graphics research including full physical global illumination calculations performed via GPU and CPU co-operation. Developed a practical, real-world system for lighting now in use in well known game titles such as Battlefield 3 and Need for Speed: The Run.

Education

University of Cambridge

Department of Engineering

Doctor of Philosophy, Signal Processing
Oct. 2002–Oct. 2006
Researched applications of advanced mathematical geometry techniques for real-world use. Gained experience in geometric interpretation of signal processing techniques, knowledge of accelerated graphics APIs and developed new research in the fields of computational geometry, non-Euclidean problem solving and fractals. Thesis title: Computer Graphics using Conformal Geometric Algebra.

Robinson College

Master of Engineering, Distinction
Oct. 1998–Oct. 2002
Received a distinction (class I equivalent) in Information Engineering. Course scope included signal processing techniques, computer graphics, artificial intelligence and software engineering.

Work Interests

Computing & Software

I try to keep a broad range of technical skills up to date because, frankly, I like to play with technology and writing software. In general I am quick to 'deep-dive' into a new field and find it easy to pick up new programming languages and software-related skills. I find systems design extremely satisfying and am never happier than when all of the metaphorical plates are kept spinning by a robot which I have designed. I am particularly enthused by what has come to be called agile development.

Academic

I am a signal processor by trade which means that I am particularly interested in the inferences one may draw from data that one can observe. To this end I make heavy use of Bayesian methods such as Monte Carlo sampling in order to find maximally likely a posteriori estimates of the true state of a system from noisy observations of its output. My research interests are therefore wide-ranging and have wide applicability. My recent interests have been in fields as diverse as computer vision and analysis and inference of the dynamics of receptors on cell membranes. A list of my publications may be found on the University of Cambridge's Department of Engineering website.

Technical Skills

Languages and Libraries

Extensive experience with C, C++, Python and various Unix glue languages such as sed, awk, perl and ed. Experience in writing for the Gtk+ and Qt GUI toolkits. I have written at least one non-trivial program in order to learn languages including Scheme, Smalltalk, Ruby, Java and C#. I class myself as a competent multi-paradigm programmer who is capable of picking up any sane house language or coding style with some rapidity.

Web Technologies

Experience with HTML/CSS/JavaScript (including the latest HTML5 standards) over a wide variety of personal projects including, but not limited to, this CV, an interactive Anglo-Saxon dictionary, an Old English speech synthesiser, a client-side Google+ syndication system and webmaster for my group's website. Developed a public-facing in-house course management system for the Department of Engineering which is used to manage third and fourth year module choices. Experience with server-side programming languages such as Python (WSGI), PHP, Perl (Mason) and Java servlets.

Computer Graphics

Enthusiastic student of realistic rendering techniques. Wrote an accelerated (via SSE) path-tracing renderer for Minecraft maps. Can program using both the OpenGL 2/3 and DirectX 9/10 APIs. Real-world experience of writing computer graphics software and GPU acceleration.

High-performance Computing

Member of the Many Core Computing Group in the University of Cambridge with a research interest in GPU acceleration of scientific computing. As part of the LoLa project, I have ported many of our compute-intensive algorithms to a multi-Tesla architecture and developed a computing engine allowing single source-code compilation with CUDA and OpenMP accelerated backends. Developed a novel multi-threaded Metropolis Hastings and Gibbs sampling algorithm to be published in a forthcoming paper.

System Administration

I've been de facto system administrator in many places of work and although I would class myself as a knowledgeable amateur in this field I haven't as yet lost anyone's data despite many hardware failures over the years. I have created company-critical backup and restore systems along with designing a company source control and quality engineering work flow.

Other Skills

Languages

I enjoy languages and can speak French to a conversational level. I am currently studying Arabic, Anglo-Saxon and Welsh.

Driving

I have a full, clean UK driving license and have held it for more than ten years.

Design & Theatre

I enjoy typographic design work and have designed many posters for theatre groups in and around Cambridge. In addition, I have performed with many theatre groups and have taken several improvised comedy and comic theatre shows to the Edinburgh Fringe festival. I have long ago lost any fear of public speaking.