Curriculum Vitae
Born 11 August 1965, near Salisbury in Wiltshire in central southern England.
British and Swiss citizenship.
Employment:
1996-present Institut für Neuroinformatik der Universität / ETH Zürich.
Major Projects:
2018-present DYNAP-SE2, a chip in SynSense's DYNAP line of AI Processor Solutions (Software integration in the Ctxctl control program; C++, Python)
2008-2013 CX3D (Java)
2000-2012 Rome PCI-AER (Linux kernel driver, API library and applications; C)
2000-2002 Ada Floor, part of the Ada exhibit at the Swiss national Expo.02 (Interbus, Linux, C++, JNI)
1986-96 Research Machines plc / RM plc
1995 Promoted to Senior Software Engineer
1994-95 Secondment to work for Prof. Rodney. J. Douglas, then at the Medical Research Council Anatomical Neuropharmacology Unit in Oxford
1989-94 Systems Programmer / Software Engineer in various Product Development departments
1988-89 Quality Assurance Engineer
1987-88 Junior Engineer in Software Quality Control Dept.
1986-87 Graduate trainee year at Research Machines. Placements in: (i) Production Management / Production Engineering, (ii) Technical Support, (iii) Software Quality Control.
Education:
1983-86 B.Sc. (Hons.) in Chemistry at the University of Bristol. Including 2nd year Computer Methods option (FORTRAN, Microcomputer Interfacing, and Numerical Methods modules), and 3rd year thesis study of Phosphorus-Oxygen ring compounds under the supervision of Dr. M. Murray.
1978-83 Westwood St. Thomas' School, Salisbury, England. (This school no longer exists - its site is now used by "Sarum Academy".) A-levels: Chemistry (A); Physics (B); Pure and Applied Maths (B). O-levels: English language; English literature; Maths; Physics; Chemistry; Biology; Geography; German; Statistics
Software Development Skills:
Languages:
- C++
- C
- Unix shell scripts
- Python
- Java
- Intel 80x86 assembler
- Texas Instruments TMS320C5x DSP assembler
- Microchip PIC 16Cxx microcontroller assembler
- 6502 assembler
- BASIC
- FORTRAN 77
- Pascal
- SQL
Operating systems / hardware / environments:
- Linux (primarily Ubuntu, formerly openSUSE) on x86 & ia64, including kernel device drivers
- Microsoft Win32 API
- MFC (Microsoft Foundation Classes)
- Microsoft Windows (Windows 3.x, Windows 9x and Windows XP)
- Microsoft Windows NT Server
- Microsoft networks (LAN Manager, Windows for Workgroups 3.11, Windows 95, Windows NT)
- OS/2 LAN Manager
- MS-DOS / PC (including at device drivers)
- Interbus
- VME bus
- HPIB / GPIB / IEEE-488 bus
- Honeywell Multics(!)
Other:
- git
- End user documentation authoring
- Hardware debugging using logic analyser
- Informal OOD techniques
- LAN debugging using network protocol analyser
- Software Metrics
- PRINCE-like Project Management
- Software testing methodologies (Quality Control)
- Software Quality Management (Quality Assurance)