Curriculum Vitae (Full version) - Mike Taylor

This CV is available on the web in two versions:
in summary version at http://www.miketaylor.org.uk/tech/summary-cv.html
and in full version at http://www.miketaylor.org.uk/tech/full-cv.html

Personal Details

Name: Mike Taylor
Sex: Male
Date of Birth: 12th March 1968
Age: 31
Nationality: British
Address: 6 Alma Grove
Bermondsey
London
SE1 5PY
Phone: 0171 231 1034
Email: mirk@ssl.co.uk
Web: http://www.n-four.demon.co.uk/mirk/

Employment History

1990- System Simulation Ltd. (http://www.ssl.co.uk). We're a small independent software house of about fifteen people, grown from five since I joined nine years ago. During that time we have worked in many areas, including graphics, animation and expert systems; but our main area of work now is providing integrated database solutions, based on our proprietary information management system Index+. Although the system is not tied to any single application domain, we particularly focus on museums and other cultural heritage organisations, the medical sector, and image libraries. In many projects, Index+ databases are at the hub of large, diverse operations involving some or all of collections management, image acquisitions, web publishing, CD-ROM publishing, Z39.50 service provision, etc.

My own responsibilities have covered the whole gamut of what we do, from design, implementation and maintenance of the central database software (B-tree indexes, structured storage etc.), through targeting that technology to specific applications. My work has included every phase in the delivery of complete running systems: analysis, design, programming, testing, debugging, documentation, presentation, training, maintenance, etc. I have also managed other staff through these tasks.

In recent years, I have representated SSL on a variety of collaborative projects involving partners from across the EEC and occasionally elsewhere. This has involved addressing meetings of people with very different technical and linguistic backgrounds, as well as co-ordinating technical work such that our components interoperate with those developed elsewhere by others.

Under the auspices of the CIMI project (http://www.cimi.org), I contributed to the development of the CIMI profile for Z39.50 access to cultural heritage information; and for the Aquarelle project, I wrote the Z39.50 profile, and drove its integration into the CIMI document.

One of my SSL projects (PLATO) won a BCS gold medal in 1995; two other SSL projects on which I have worked have won awards in 1996 (ROCKnROM) and 1997 (the Index+ system itself.)

1995-1996 Intermittent freelancing for ICS. Work has included writing and integrating software to decode MIME email headers and translate between European and Japanese character sets, and fixing sendmail configurations files.
1989 CME, le Centre Medicale Evangelique. Several months voluntary work for a missionary hospital in Nyankunde, Zaire, between University and starting with SSL. Work included setting up Apple and PC hardware and firmware, creating and maintaining a stock control database and assisting with an ongoing surveying/mapping effort.
1988 MMS Publications. Several weeks consultancy for a group producing local newspapers. Work included setting up personnel and other databases using Informix, writing report specifications and crafting bespoke data-entry front ends. Also general Xenix consultancy.
1984 CRL Software. During my 'A' levels, I wrote what I believe was the first multi-player game for the Commodore 64 and hawked it around several trade shows, eventually having it published by CRL.
1982-1983 Terminal Software. While I was doing my 'O' levels, I wrote several games for the Commodore VIC-20 which were published by Terminal, a small independent software house based in Manchester. These games paid for the C64.

Education

1986-1989 Warwick University. Studied Mathematics, gradually taking a higher and higher proportion of optional Computer Science units as it became apparent that I'm better at CS than at pure maths. Graduated with a 2.ii which I'm not particularly proud of. In the mean time I founded and administrated a recreational computer society which grew to become to the second largest society on campus. Other computer-related extra-curricular activities are described below.
1979-1985 Bishop's Stortford Boys High School. Passed eleven 'O' levels (Maths, Additional Maths, Physics, Chemistry, Biology, English Language, English Literature, French, German, Music and General Studies) and four 'A' levels (Maths at grade A and Physics, Chemistry and Further Maths all at grade C.) Also grade 6 music theory and practice (playing clarinet). Won a couple of trophies, but it all seems a long time ago now.

Not-For-Profit (Spare Time) Projects

1998-1999 Zthes: a Z39.50 Profile for Thesaurus Navigation. In October 1998, I convened a small informal working group, communicating only by email, to evolve a specification for using the Z39.50 information retrieval protocol to navigate hierarchical thesauri as described in ISO 2788. I have driven this work, which has progressed rapidly to the point where a profile document (http://www.n-four.demon.co.uk/mirk/zthes-02.html) was presented to the March '99 ZIG meeting in Palo Alto, California. Implementations already exist of both server and client - unusually rapid progress for a standards-based project. Work is underway to extend the Zthes profile for multilingual thesauri, and have it recognised as an International Registered Profile.
1998- yaSQL. (Yet Another SQL). I have designed and implemented an engine-independent compiler for a significant subset of the SQL relational query language (essentially all of the SELECT statement.) As a ``proof of concept'', I've written a toy back-end that allows SQL queries on flat text files with comma-separated fields.
1995-1996 sm3. Because of the large amount of email that I receive in my job, I needed to arrange for different categories of email message to go into different mail-boxes - some categories based on who the sender is, some on the subject line, etc. I designed and implemented sm3 (Sort Mail, 3rd re-write), a generic regexp-driven redirector which interfaces with sendmail, and I have been using it happily ever since.
1994-1998 A device-independent HTML parser. I originally wrote this before I had internet access or a browser, but needed to view HTML files. This parser, which understands a substantial subset of HTML 2.0, characterises a device as a set of callback functions which are invoked to perform basic operations such as rendering text, determining image sizes, etc. I wrote a simple character-terminal back end, but the parser could easily be retargeted to display using X11, MS-Windows or similar.
1991- Herring. (Homogenous Extensible Recursive Real-time Interactive Network Game.) For eight years on and off, I've been working on a system for representing universes of inter-related objects and concepts efficiently, in a way that can easily be accessed and configured by multiple concurrent users. The current version includes multiple embedded Tcl interpreters, extended with universe manipulation primitives, together with a powerful and concise declarative language for describing entities. The server supports concurrent network connections from multiple different network types, including TCP/IP sockets and a simple filesystem-based protocol.
1989-1990 tt. (Tetris for Terminals.) At university, I wrote an implementation of Tetris which runs on ordinary serial terminals, since these were the only hardware available to undergraduates. This has been included in Linux distributions, and is still in use worldwide today, undergoing active development.
1988-1989 MUNDI. This has been described (not by me!) as ``the first multi-user dungeon to run over the internet''. It's impossible, a decade on, to check the historical accuracy of that claim, but it's certainly in the right ball-park. Strange to think I've been writing TCP/IP code for over ten years.

Skills

Operating Systems
Programming Languages
Network Protocols
General

Likes and Dislikes

Likes Dislikes
Hard facts; well-designed software; technical competence; programming to rigorously defined interfaces (especially standards, RFCs, etc.); inventing new tools; small compilers for little languages; well-written English prose; terse but complete technical books (``just the facts''); Linux and the Open Source movement; the extraordinary potential of the web; precise terminology like HTTP, virtual function and element set; getting lots done in a working day. Uninformed blather; functionally poor software whose weakness is hidden by good cosmetics; working with people who are out of their depth; moving goalposts; re-inventing wheels; ill-defined configuration-file formats; sloppy, repetitive or content-sparse English; unnecessarily fat but technical books that still don't contain all the facts; the continuing inability of the Linux community to make system administration even nearly as simple as under Windows; the terrible design of 95% of web sites; meaningless jargon like information superhighway; being expected to stay late and/or take work home.

I appreciate that no job will include all my likes and exclude all my dislikes. I'd hope to achieve 75% or better, though.

Miscellaneous Interests

References

Please ask me before contacting any of these referees.
Dr. George Mallen
Managing director of System Simulation Ltd. 250M Bedford Chambers, Covent Garden Piazza, London WC2E 8HA. Tel 0171-836 7406. Email george@ssl.co.uk
Ray Denenberg
Senior Network Engineer and director of the Z39.50 Maintenance Agency. Library of Congress, Washington DC. Email ray@rden.loc.gov
Dave Nunn
Leader of my church. 66a Lower Road, Bermondsey, London. Tel. 0171-237 6063. Email D2229049@infotrade.co.uk