Email: | rj w57@cantab.net |
Web: | richwareham.com |
Google+: | gplus.to/richwareham |
Github: | github.com/rjw57 |
Employment
University of Cambridge, Department of Engineering
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.
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
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
Researched new algorithms for rigging and skinning 3D character models resulting in the publication of a
fully-automated system called
Bone Glow
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
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
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.