CURRICULUM VITAE | Matthew Mundell |
Mid to Senior level Free Software developer with broad experience. Extensive experience programming C on Debian GNU/Linux.
To develop software that strengthens the public domain. Ideally at the Operating System level.
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) |
5/4/2009 - present | Software Developer |
| Intevation GmbH, Greenbone Networks GmbH |
| Osnabrueck, Germany; Cape Town, South Africa |
| http://www.greenbone.net |
Languages: | C (GCC), SQL (SQLite), XML, XSL, HTML, LaTeX, Relax NG |
Operating systems: | Debian GNU/Linux |
Area: | Network security scanning |
Further feature development for the OpenVAS network servers.
SQL driven network services. XML protocol design. GTK programming. XSLT
based web development.
27/10/2008 - 4/4/2009 | Bespoke software development |
(5 months) | Intevation GmbH |
| London, United Kingdom |
| http://www.intevation.de |
Languages: | C (GCC), SQL (SQLite) |
Operating systems: | Debian GNU/Linux |
Area: | Network security scanning |
Prototyped and developed the OpenVAS Manager, a network server for the
OpenVAS security scanner (http://www.openvas.org).
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.
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.
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.
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) |
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).
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 |
| Various |
| 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.
English | Fluent | Native language. |
Afrikaans | Basic | Studied as a second language at school. |
Xhosa | Rudimentary | Grew up on a farm in South Africa. |
FIRST NAME | Matthew |
SURNAME | Mundell |
CITIZEN OF | South Africa |
EMAIL | matt@mundell.me |
|