CURRICULUM VITAE Matthew Mundell 20 Rigg House Email: matt@mundell.ukfsn.org Tilson Gardens Homepage: http://www.mundell.ukfsn.org/ SW2 4NE United Kingdom Date: Aug 16, 2008 10:07 QUALIFICATIONS ============== Bachelor of Science with Honours in Computer Science, Rhodes University, Grahamstown, South Africa, with distinction and Academic Honours, 1999. Bachelor of Science (Information Systems), Rhodes University, Grahamstown, South Africa, 1998. RECENT EXPERIENCE (academic, commercial, voluntary) =================================================== 19/6/2007 - 18/3/2008 Software Engineer (9 months) Shadow Robot Company London, United Kingdom http://www.shadowrobot.com Languages: C (GCC), Bash Operating systems: Debian GNU/Linux Area: Robotics Wrote firmware for a pressure control unit. Completed a network daemon. Improved a sensor calibration program. Added features to GTK robot GUIs. Analysed vibration frequencies on a mobile camera frame. Delivered the frame to the client in Germany. Merged CAD models of a robot hand using the Blender animation program. Assembled and finished hardware. Performed light Debian system administration. Wrote documentation. Helped with maintenance of the building. ------------------------------------------------------------------------ 19/3/2007 - 18/6/2007 Intern (3 months) Shadow Robot Company London, United Kingdom http://www.shadowrobot.com Languages: C (GCC), Bash Operating systems: Debian GNU/Linux Area: Robotics Ported a large portion of a robot driver from kernel space to general Unix userspace. ------------------------------------------------------------------------ 1/7/2006 - 18/3/2007 Public domain Common Lisp exploration (7 months) http://www.mundell.ukfsn.org/nightshade/ Languages: C (GCC), Common Lisp Operating systems: Debian GNU/Linux Started the Nightshade project, which aims to produce an entirely public domain Lisp system. Nightshade is based on an old version of CMU Common Lisp. Added a mail handling library, a document preparation system and a build system. Added many features to the editor, including simple syntax highlighting, command histories, a calendar and online manual browsing. ------------------------------------------------------------------------ 1/2/2005 - 26/6/2006 Computer Officer (14 months) School of Computing, University of Leeds Leeds, United Kingdom http://www.comp.leeds.ac.uk Languages: C++ (GCC) Operating systems: Debian GNU/Linux, Redhat Fedora Area: Numerical domains for software analysis Reason for leaving: Fixed term contracts Maintained and developed the Parma Polyhedra Library (PPL, http://www.cs.unipr.it/ppl) under Dr Patricia M. Hill, in collaboration with Prof Bagnara and Dr Zaffanella of the University of Parma. Most of this work was the implementation of the abstract interpretation domain of Grids. The rest included implementation of the beginnings of a generic product of domains, addition of Debian package building to the PPL repository and some assistance of students. Visited the University of Parma with Dr Hill, and attended the SAS/Lopstr 2005 conference. ------------------------------------------------------------------------ 1/12/2003 - 31/11/2004 Voluntary GNU Emacs experimentation (11 months) http://www.gnu.org/software/emacs Languages: C (GCC), Emacs Lisp, GNU Lightning assembler Operating systems: Debian GNU/Linux - Investigated the speedup available to Emacs through the compilation of byte-code Elisp functions to native code. The resulting addition to Emacs compiles any byte-code, and hence any Elisp function, to native code. It is archived at http://www.mundell.ukfsn.org/native. - Contributed to the Emacs distribution the `set-file-times' primitive, various minor reference manual corrections, a few small code corrections and a set of typing break reminder mode enhancements. OLDER EXPERIENCE (all commercial) ================================= 02/04/2002 - 17/10/2003 Developer (17 months) Tao Group Limited Reading, United Kingdom http://en.wikipedia.org/wiki/Tao_Group Languages: Virtual Processor Assembler (VP), C (GCC), Bash script, intent shell script, Perl, SQL (MySQL), HTML Operating systems: Debian GNU/Linux, intent RTOS Industry: Software (cross-device media platform development) Reason for leaving: A move towards Free Software programming Main projects: - added fragmentation measurement and simple defragmentation to EFS, intent's native file system (mostly C, some VP and some Bash) - wrote a fairly extensive test of surprise media change for EFS (mostly VP, some intent shell scripting) - created a layer device to simulate asynchronous delay on synchronous devices (VP) - used the layer device in creating a test of surprise file closure for the EFS streaming mode of operation (mostly VP, some intent shell script) - adapted the EFS media change test for the Java RecordStore class (VP) Also added mailing, reporting and CVS tagging features to the internal web-based task management system (Perl, SQL). ------------------------------------------------------------------------ 26/02/2001 - 5/10/2001 C/C++ Developer (7 months) Globepost Technologies (Pty) Ltd Cape Town, South Africa http://www.travelselect.com Languages: C (GCC), SQL (MySQL), HTML Operating systems: Redhat Linux, Solaris, Windows 95 Industry: Travel (online flight sales) Reason for leaving: South African branch closed Worked on a variety of tasks, chiefly: - maintaining and extending the fairly large code base - rewriting the libraries used to parse results from the ticket reservation system - producing a duplicate ticket error checking program. Spent smaller amounts of time tidying and improving the system's Makefiles, and installing and configuring the South African Solaris server. ------------------------------------------------------------------------ 13/11/2000 - 31/01/2001 Developer (2.5 months) Tangible Business Software Pretoria, South Africa http://www.tbs.co.za Languages: Retrievalware Script, C and C++ (MS), Python Operating systems: Windows NT Industry: Contractual programming Reason for leaving: Lack of expected Unix programming work Cleaned some of a COM C code wrapper written in C++. Added a small amount of functionality to the web interface of a document storage system. Started looking into using SWIG to generate a Python interface to the document storage system. ------------------------------------------------------------------------ 24/01/2000 - 03/11/2000 Web Developer (9 months) Zen Computing Johannesburg, South Africa Languages: Java, JSP, Javascript, SQL (Sybase), XML, XSL, HTML Operating systems: Redhat Linux Industry: Web Software Development Reason for leaving: A move towards lower level programming Ported the ASP website content management interface to JSP, then re-implemented the interface in a combination of JSP and Javascript. Implemented the Randshow website (http://www.randshow.co.za). This included HTML conversion to XSL, Java library customisations, JSP website management tool customisation, installation of the system and liaison with the client. ------------------------------------------------------------------------ 1996 - 1998 Holiday and part-time positions South Africa - Two months of error correcting and implementation on a Visual Basic Human Resources GUI at Infopro in Johannesburg. - Ten months part time general computer technician work for Nexus Computers in Grahamstown. - Four month-long holidays of batch processing, simple financial statement preparation and financial report programming, for AMTAX in Stutterheim. ACADEMIC STUDY EXPERIENCE ========================= 3/1999 - 11/1999 Computer Science Honours Rhodes University Grahamstown, South Africa http://www.ru.ac.za Languages: C++ (GCC and IRIX cc), C (GCC), Sparc Assembler, Java, SQL (Postgres), HTML Operating systems: Redhat Linux, IRIX, a little Solaris Course modules were Project Management, Computer Graphics (with C and OpenGL), Java, Networks, Distributed Web Computing, Advanced Architectures (with SPARC assembler) and Parallel Processing (with Occam and CSP). Research mini-thesis: "Towards a Virtual Operating Environment -- Exploring Immersive Virtual Interface Design Using a Simple VR Image Viewer". Included 3D application development on IRIX in C++ with the Rhodes University CoRgi virtual reality library. Archived at http://www.mundell.ukfsn.org/honours-project. Tutored first and third year Computer Science practical classes once a week. ------------------------------------------------------------------------ 1995 - 1998 Bachelor of Science (Information Systems) Rhodes University Grahamstown, South Africa http://www.ru.ac.za Languages: C++ (Borland, Microsoft), C (Solaris), Modula2, Prolog, Clang (C clone), BNF (for Coco/R), Assembler (for a machine emulator), Clarion, SQLWindows, SQL, HTML Operating systems: Windows, small amounts of Solaris and FreeBSD Majored in Computer Science and Information Systems, with credits in Mathematics, Statistics, Accounting, Economics and Management. Computer Science modules included Introduction to Programming, Advanced Programming, Databases, Systems Theory, Networking, Object Oriented Analysis and Design, Operating Systems, Translators and Programming for Artificial Intelligence. During 1997 tutored two second-year Information Systems practical classes once a week. SPOKEN LANGUAGES ================ English Fluent Native language. Afrikaans Basic Studied as a second language at school. Xhosa Rudimentary Grew up on a farm in South Africa. PERSONAL INFORMATION ==================== FIRST NAMES Matthew SURNAME Mundell DATE OF BIRTH 9 March 1977 MARITAL STATUS Single CITIZEN OF South Africa UK ENTRY CLEARANCE Permanent residence EMAIL matt@mundell.ukfsn.org -------