January 2016 - April 2016. Developing
a A new
programming language called Lisp++ and
a new programming language called Java Training
Wheels. Java Training Wheels has been accepted by
Richard Stallman as part of
the Free Software
Foundation's repository of Free software, so it is now
known by the longer
name GNU Java Training
June 2014 - December 2015. Developing
a C to Java
26 September 2015. Installed
on my laptop.
May 2015. Purchased a $500
Aspire ES1-511 Intel Quad N2930 2.16GHz 4GB 15.6" 1TB
laptop for storing my m5_flac_count *.flac collection on.
This computer introduced me to the
operating system, but I later installed a dual boot system for
Lubuntu and Windows to exist contemporaneously together. I
spent the month copying files from my tower case to my laptop
with the end result is that all of my computer's functionality
can be accessed via the laptop, which gives the advantage that
I can take the laptop anywhere whilst my tower case is
restricted to its original location. Laptops also benefit
from a battery power supply which means that even if the mains
power is cut, the laptop can continue to operate.
20 February 2013 - 6 May 2015. Working twice a week for
two hours a day at Molten
Media disassembling desktop computers, servers and
routers. Also worked for Molten Media as a
MyS.Q.L./P.H.P. computer programmer by writing 377 lines of
P.H.P. code for querying all invoice items within a certain
given date range. Also added some functionality to an
approximately 80,000 lines of P.H.P. code
free and open
Also added some new install files to an over 25,000 lines of
module called DriverPackSolution.
February - May 2014.
Installed Lubuntu GNU/Linux
on my home computer. Lubuntu is a cut down version
of Ubuntu GNU/Linux which runs
happily under 512 MB of RAM. I did this because Microsoft is
XP, my other operating system.
11 December 2013 - 4 February 2014. Working as a
P.H.P./MyS.Q.L. web coder. Wrote a browser plugin
for Wordpress for querying
a database of clients. Also wrote code
for Creating Reading Updating and
from the clients database through the Wordpress plugin. This
CRUD system works well with arbitrary tables, although some of
the table parameters need to be hard coded into the CRUD files:
uses static page creation (using the
GNU m4 language)
but my new knowledge allows me to write dynamic content
suitable for editing by computer programming novices. This
was the first project for me that involved using
Sheets for all font markup instead of nested tables,
font tags and other messy crud. See the
for more information about the CRUD system.
May 2013 - December 2013. Developing
a C to Java
18 June 2012. Turned down a job offer as a software
engineer for google.com as a
because it would involve me relocating to Sydney, Australia and
I am not currently able to relocate out of Christchurch. The
person who offered me the job was Andy King
1 January 2011 - April 2013. Developed a new programming
language called Lisp++ that combines the best of Lisp with
the best of C++. Tested the Lisp++ code by writing a game
that teaches arithmetic to children in a fun way and a
computerised version of the
game Othello. I am in the
process of publishing a
book about my new programming language.
26 November 2010 - 16 December 2010. Wrote a
Relation Plotter for teaching mathematics to children. The
relation plotter generalises an
Plotter program that I wrote in 2006. Changed my
J.T.W. (Java Training
Wheels) language to use Emacs’ batch mode rather
than m4 for compiling from J.T.W. to Java. Also got the
J.T.W. code parser to work for files that have been edited
outside of Davin’s version of Emacs and therefore have
non-standard indentation. Also removed an Emacs hack and
added calls to the UNIX program sed so that error messages
point from e.g. Foo.java back to the original J.T.W. file
e.g. Foo.jtw. Because of these last two changes it is no
longer essential to use Emacs in coding J.T.W., except for the
benefits of CLSS(syntax) FUNC(highlighting) and automatic
6 July 2010 - 25 November 2010. Spent almost five months
away from my beloved computer and university study to read books
of mostly modern fiction. The books I read were:
A Clockwork Orange
by Anthony Burgess,
On the Road
by Jack Kerouac,
by William Gibson,
by Orson Scott Card,
Sense and Sensibility
by Jane Austen,
Speaker for the Dead
by Orson Scott Card,
by Joseph Heller,
Selected Stories by my namesake
Pride and Prejudice
by Jane Austen,
The Life of Pi
by Yan Martel,
by Orson Scott Card and
by Dan Simmons.
24 February 2010 - July 2010. Studying my last paper
for my second degree, a Graduate Diploma of Science at the
majoring in Computer Science.
20 October 2009 - 3 January 2010. Finished writing my
fifth computer game
called Tritus II which is
a mixture of
This game consists of approximately 24,000 lines of C++ code,
all written by myself. The last task on my game was updating
the code to use smart pointers. The game is the sequel to the
3,000 lines of code game written by myself in 1993
BASIC on the Amiga platform.
20 July 2009 - 19 October 2009. Studying
May 2008 - July 2009. Working one day a week for two
hours as a volunteer at
the St Albans Community
Center helping members of the public to use the Internet and
2 November 2008 - 11 March 2009. Writing tutorials for
my new programming language
called J.T.W. (Java Training
Wheels) which I intend to teach some time in the future.
J.T.W. is more friendly to novices than Java itself and
learning J.T.W. before or while learning Java provides a less
steep learning curve for learning Java.
March 2008 - 1 November 2008. Studying for a Graduate
Diploma of Science.
August 2007 - February 2008. Wrote my sixth computer
game called R4: Rocketman
which is a retro 90’s space arcade adventure game. My
game has been accepted for inclusion in the April edition of
NZ NetGuide magazine in the
Your Comments section. The game consists of
approximately 25,000 lines of C++ code all written by myself.
December 2006 - July 2007. Wrote over 200 questions and
answers for a web
design course that I intend to teach at
March 2004 - November 2006. Studying for a Graduate
Diploma of Science.
March 2003 - March 2004. Worked one day a week as a
volunteer for the Catholic Social Services food-bank. The job required me to
assemble food parcels and drive their staff car to Merivale to
receive bread from Fresh Choice Merivale Supermarket.
February 2001 - 6 March 2002. Worked
one day a month as a volunteer receptionist for the
Mission. This job required me to answer phones, accept donations
of food and other goods and enforce the City Mission’s policy
of not allowing anyone to enter the facility until after 4:30pm
when the Mens’ Night Shelter opens. Sometimes the job
required me to work alone so there was also an element of
responsibility in seeing that the City Mission’s interests
1998 - 17 July 2001. Employed as a part-time tutor for the
University of Canterbury Department of Computer Science. In
conjunction with others, gave tutorials of approximately 30
students at a time in the
COSC122 courses teaching the Java language. Also worked in the
area of marking the students’ tutorial work. During my time
as a tutor, the University of Canterbury Computer Science
Department experienced a record pass rate.
my three and a half years of employment by the Computer Science
Department, I developed a series of tutorials that teach the Java
language as supplementary material to the COSC121 course. My tutorials are
available for free, complete with full model answers.
1 December 1998 - 20
February 1999. Worked for Toniq
as a Delphi programmer. Developed a program to import a database from
a legacy system into the Toniq system.
December 1998 - June 2001. Lived at my
father’s boarding house in Spreydon. Received a discounted
rent in exchange for helping with the day-to-day running of the
establishment. Duties included cleaning toilets, bathrooms and
kitchens, washing dishes, shifting large appliances, carpentry,
plastering, painting and gardening.
November 1998. Worked for
Genex Technologies in the area of
Internet Commerce. Used an H.T.M.L. extension language called
and used JBuilder for
working on a Java-based on-line ordering system.
February 1997 - October
1997. Employed as a Research Assistant to
Dr. Michel de Champlain of
the University of Canterbury. The job involved programming in
C/Java and adding functionality to a 6,000 lines of code compiler
compiler. Specifically it involved rewriting a C compiler
compiler so that it generated as output compilers in the Java
language rather than compilers in the C language which was the
default. It is also where I first started to learn the Emacs
editor and the Emacs Lisp customisation language. I have written
an article that
explains most of the customisations I have made to Emacs in the
over 23 years since that time.
1996. Taught myself to
program in the C and C++ languages by studying the machine code
generated by a C/C++ compiler. Luckily for me I was using a
Commodore Amiga, a
machine with a sane Motorola 68000 based instruction set. Doing
the same thing on an Intel x86 instruction set based machine would
be vastly more difficult.
1995. Studied philosophy at university.
October 1993 - December 1993. In conjunction with
Bruce Webster wrote my second computer game, a three player
Tetris clone called Tritus in the language of
Blitz BASIC on the
Amiga platform that sold hundreds of copies worldwide as a
shareware game. The game consists of approximately 3000 lines of
Blitz BASIC code.
1992-1994. Survived a B.Sc. Honours degree. Owing my
excellent Bursary results I managed to achieve direct entry into stage
II mathematics. Because of this I completed a four-year B.Sc.(Hons)
degree in three years. In the final year of this degree I was
employed as a stage 1 mathematics tutor.
1991. Awarded a $1000 National Scholarship
from the New Zealand Education Foundation for achieving an overall top
20 placement for their New Zealand wide scholarship exams.