\documentclass{article}
\pagestyle{empty}

%\usepackage{color}
\usepackage{tabularx}
\usepackage{geometry}
\usepackage{comment}
\usepackage{titlesec}
\usepackage{chngpage}
\usepackage{calc}
\usepackage{url}

%\geometry{verbose,a4paper,tmargin=5mm}
\geometry{verbose,a4paper,tmargin=24mm,bottom=24mm}
%\geometry{verbose,a4paper}
%\geometry{verbose,a4paper,tmargin=14mm,bottom=14mm}
%\geometry{verbose,a5paper,tmargin=5mm}
\setlength{\parskip}{\smallskipamount}
\setlength{\parindent}{0pt}

\titleformat{\part}{\normalsize}{\thepart.}{}{\bfseries}[\titlerule]
\titleformat{\section}{\normalsize}{\thesection.}{}{\bfseries}

% nice, but causes 0 width html columns from latex2html
%\newlength{\datecollen}
%\setlength{\datecollen}{48mm}

\begin{document}
\textbf{
\begin{adjustwidth}{\textwidth * 0}{\textwidth * 0}
\changetext{}{- \textwidth * 0}{}{}{}
\begin{tabularx}{\textwidth * 1}{@{\extracolsep{\fill}}lX}
CURRICULUM VITAE&Matthew Mundell\\
\end{tabularx}
\changetext{}{\textwidth * 1 / 1 - \textwidth}{}{}{}
\end{adjustwidth}
}

\begin{adjustwidth}{\textwidth * 0}{\textwidth * 0}
\changetext{}{- \textwidth * 0}{}{}{}
\begin{tabularx}{\textwidth * 1}{@{\extracolsep{\fill}}llX}
20 Rigg House&Email:&\url{matt@mundell.ukfsn.org}\\
Tilson Gardens&Homepage:&\url{http://www.mundell.ukfsn.org/}\\
SW2 4NE\\
United Kingdom&Date:&Aug 16, 2008 10:07\\
\end{tabularx}
\changetext{}{\textwidth * 1 / 1 - \textwidth}{}{}{}
\end{adjustwidth}

\part*{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.

\part*{RECENT EXPERIENCE (academic, commercial, voluntary)}
\begin{adjustwidth}{\textwidth * 0}{\textwidth * 0}
\begin{tabularx}{\textwidth * 1}{@{\extracolsep{\fill}}lX}
19/6/2007 - 18/3/2008&Software Engineer\\
(9 months)&Shadow Robot Company\\
&London, United Kingdom\\
&\url{http://www.shadowrobot.com}\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\begin{tabularx}{\textwidth * 9/10}{@{\extracolsep{\fill}}lX}
Languages:&C (GCC), Bash\\
Operating systems:&Debian GNU/Linux\\
Area:&Robotics\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
Wrote firmware for a pressure control unit.  Completed a network daemon. Improved a sensor calibration program.  Added features to GTK robot GUIs.
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
Analysed vibration frequencies on a mobile camera frame.  Delivered the frame to the client in Germany.
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
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.
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\hrulefill
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 0}{\textwidth * 0}
\begin{tabularx}{\textwidth * 1}{@{\extracolsep{\fill}}lX}
19/3/2007 - 18/6/2007&Intern\\
(3 months)&Shadow Robot Company\\
&London, United Kingdom\\
&\url{http://www.shadowrobot.com}\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\begin{tabularx}{\textwidth * 9/10}{@{\extracolsep{\fill}}lX}
Languages:&C (GCC), Bash\\
Operating systems:&Debian GNU/Linux\\
Area:&Robotics\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
Ported a large portion of a robot driver from kernel space to general Unix userspace.
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\hrulefill
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 0}{\textwidth * 0}
\begin{tabularx}{\textwidth * 1}{@{\extracolsep{\fill}}lX}
1/7/2006 - 18/3/2007&Public domain Common Lisp exploration\\
(7 months)&\url{http://www.mundell.ukfsn.org/nightshade/}\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\begin{tabularx}{\textwidth * 9/10}{@{\extracolsep{\fill}}lX}
Languages:&C (GCC), Common Lisp\\
Operating systems:&Debian GNU/Linux\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
Started the Nightshade project, which aims to produce an entirely public domain Lisp system.
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
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.
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\hrulefill
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 0}{\textwidth * 0}
\begin{tabularx}{\textwidth * 1}{@{\extracolsep{\fill}}lX}
1/2/2005 - 26/6/2006&Computer Officer\\
(14 months)&School of Computing, University of Leeds\\
&Leeds, United Kingdom\\
&\url{http://www.comp.leeds.ac.uk}\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\begin{tabularx}{\textwidth * 9/10}{@{\extracolsep{\fill}}lX}
Languages:&C++ (GCC)\\
Operating systems:&Debian GNU/Linux, Redhat Fedora\\
Area:&Numerical domains for software analysis\\
Reason for leaving:&Fixed term contracts\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
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.
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
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.
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
Visited the University of Parma with Dr Hill, and attended the SAS/Lopstr 2005 conference.
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\hrulefill
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 0}{\textwidth * 0}
\begin{tabularx}{\textwidth * 1}{@{\extracolsep{\fill}}lX}
1/12/2003 - 31/11/2004&Voluntary GNU Emacs experimentation\\
(11 months)&\url{http://www.gnu.org/software/emacs}\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\begin{tabularx}{\textwidth * 9/10}{@{\extracolsep{\fill}}lX}
Languages:&C (GCC), Emacs Lisp, GNU Lightning assembler\\
Operating systems:&Debian GNU/Linux\\
\end{tabularx}
\end{adjustwidth}
\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\begin{itemize}
\item 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.

\item 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.
\end{itemize}
\end{adjustwidth}

\part*{OLDER EXPERIENCE (all commercial)}
\begin{adjustwidth}{\textwidth * 0}{\textwidth * 0}
\begin{tabularx}{\textwidth * 1}{@{\extracolsep{\fill}}lX}
02/04/2002 - 17/10/2003&Developer\\
(17 months)&Tao Group Limited\\
&Reading, United Kingdom\\
&\url{http://en.wikipedia.org/wiki/Tao_Group}\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\begin{tabularx}{\textwidth * 9/10}{@{\extracolsep{\fill}}lX}
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\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
Main projects:
\end{adjustwidth}
\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\begin{itemize}
\item added fragmentation measurement and simple defragmentation to EFS, intent's native file system (mostly C, some VP and some Bash)

\item wrote a fairly extensive test of surprise media change for EFS (mostly VP, some intent shell scripting)

\item created a layer device to simulate asynchronous delay on synchronous devices (VP)

\item 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)

\item adapted the EFS media change test for the Java RecordStore class (VP)
\end{itemize}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
Also added mailing, reporting and CVS tagging features to the internal web-based task management system (Perl, SQL).
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\hrulefill
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 0}{\textwidth * 0}
\begin{tabularx}{\textwidth * 1}{@{\extracolsep{\fill}}lX}
26/02/2001 - 5/10/2001&C/C++ Developer\\
(7 months)&Globepost Technologies (Pty) Ltd\\
&Cape Town, South Africa\\
&\url{http://www.travelselect.com}\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\begin{tabularx}{\textwidth * 9/10}{@{\extracolsep{\fill}}lX}
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\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
Worked on a variety of tasks, chiefly:
\end{adjustwidth}
\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\begin{itemize}
\item maintaining and extending the fairly large code base

\item rewriting the libraries used to parse results from the ticket reservation system

\item producing a duplicate ticket error checking program.
\end{itemize}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
Spent smaller amounts of time tidying and improving the system's Makefiles, and installing and configuring the South African Solaris server.
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\hrulefill
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 0}{\textwidth * 0}
\begin{tabularx}{\textwidth * 1}{@{\extracolsep{\fill}}lX}
13/11/2000 - 31/01/2001&Developer\\
(2.5 months)&Tangible Business Software\\
&Pretoria, South Africa\\
&\url{http://www.tbs.co.za}\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\begin{tabularx}{\textwidth * 9/10}{@{\extracolsep{\fill}}lX}
Languages:&Retrievalware Script, C and C++ (MS), Python\\
Operating systems:&Windows NT\\
Industry:&Contractual programming\\
Reason for leaving:&Lack of expected Unix programming work\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
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.
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\hrulefill
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 0}{\textwidth * 0}
\begin{tabularx}{\textwidth * 1}{@{\extracolsep{\fill}}lX}
24/01/2000 - 03/11/2000&Web Developer\\
(9 months)&Zen Computing\\
&Johannesburg, South Africa\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\begin{tabularx}{\textwidth * 9/10}{@{\extracolsep{\fill}}lX}
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\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
Ported the ASP website content management interface to JSP, then re-implemented the interface in a combination of JSP and Javascript.
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
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.
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\hrulefill
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 0}{\textwidth * 0}
\begin{tabularx}{\textwidth * 1}{@{\extracolsep{\fill}}lX}
1996 - 1998&Holiday and part-time positions\\
&South Africa\\
\end{tabularx}
\end{adjustwidth}
\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\begin{itemize}
\item Two months of error correcting and implementation on a Visual Basic Human Resources GUI at Infopro in Johannesburg.

\item Ten months part time general computer technician work for Nexus Computers in Grahamstown.

\item Four month-long holidays of batch processing, simple financial statement preparation and financial report programming, for AMTAX in Stutterheim.
\end{itemize}
\end{adjustwidth}

\part*{ACADEMIC STUDY EXPERIENCE}
\begin{adjustwidth}{\textwidth * 0}{\textwidth * 0}
\begin{tabularx}{\textwidth * 1}{@{\extracolsep{\fill}}lX}
3/1999 - 11/1999&Computer Science Honours\\
&Rhodes University\\
&Grahamstown, South Africa\\
&\url{http://www.ru.ac.za}\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\begin{tabularx}{\textwidth * 9/10}{@{\extracolsep{\fill}}lX}
Languages:&C++ (GCC and IRIX cc), C (GCC), Sparc Assembler, Java, SQL (Postgres), HTML\\
Operating systems:&Redhat Linux, IRIX, a little Solaris\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
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).
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
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.
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
Tutored first and third year Computer Science practical classes once a week.
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\hrulefill
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 0}{\textwidth * 0}
\begin{tabularx}{\textwidth * 1}{@{\extracolsep{\fill}}lX}
1995 - 1998&Bachelor of Science (Information Systems)\\
&Rhodes University\\
&Grahamstown, South Africa\\
&\url{http://www.ru.ac.za}\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
\begin{tabularx}{\textwidth * 9/10}{@{\extracolsep{\fill}}lX}
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\\
\end{tabularx}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
Majored in Computer Science and Information Systems, with credits in Mathematics, Statistics, Accounting, Economics and Management.
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
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.
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 1/10}{\textwidth * 0}
During 1997 tutored two second-year Information Systems practical classes once a week.
\end{adjustwidth}

\part*{SPOKEN LANGUAGES}
\begin{adjustwidth}{\textwidth * 0}{\textwidth * 0}
\changetext{}{- \textwidth * 0}{}{}{}
\begin{tabularx}{\textwidth * 1}{@{\extracolsep{\fill}}llX}
English&Fluent&Native language.\\
Afrikaans&Basic&Studied as a second language at school.\\
Xhosa&Rudimentary&Grew up on a farm in South Africa.\\
\end{tabularx}
\changetext{}{\textwidth * 1 / 1 - \textwidth}{}{}{}
\end{adjustwidth}

\part*{PERSONAL INFORMATION}
\begin{adjustwidth}{\textwidth * 0}{\textwidth * 0}
\changetext{}{- \textwidth * 0}{}{}{}
\begin{tabularx}{\textwidth * 1}{@{\extracolsep{\fill}}lX}
FIRST NAMES&Matthew\\
SURNAME&Mundell\\
DATE OF BIRTH&9 March 1977\\
MARITAL STATUS&Single\\
CITIZEN OF&South Africa\\
UK ENTRY CLEARANCE&Permanent residence\\
EMAIL&\url{matt@mundell.ukfsn.org}\\
\end{tabularx}
\changetext{}{\textwidth * 1 / 1 - \textwidth}{}{}{}
\end{adjustwidth}

\begin{adjustwidth}{\textwidth * 0}{\textwidth * 0}
\changetext{}{- \textwidth * 9/10}{}{}{}
\centering
\rule{\textwidth}{0.1pt}
\changetext{}{\textwidth * 10 / 1 - \textwidth}{}{}{}
\end{adjustwidth}
\end{document}
