Curriculum Vitae - Luke Kenneth Casson Leighton ---------------- Age: 39 Status: Partnered. Nationality: British Location: UK. Driving License: Full U.K. (2050) Travel: UK preferred. Outside of UK for short durations. Education: - BEng (2.2 Hons) in Theory of Computing. Imperial College, 1988 - 1991. - 'S' level in Maths - Distinction. - 'A' levels in Maths (A), Physics (B), Further Maths (D), Chemistry (D). - 'O' levels in 10 subjects. Skills Summary -------------- Software: c++, c, Python, Zope, Win32, Networking, SQL, Windows, Linux, Object Orientated Design, Extreme Programming, Software Engineering, Assembler, Reverse Engineering, Cryptography, SE-Linux, DCE/RPC, XULRunner, Webkit, Javascript, MacOSX. Hardware: IBM PCs (DOS; Windows 95 and NT; Linux; FreeBSD); Mac (System 7; MacOSX); SUN and HP Workstations (UNIX); Aspex (ASP) Parallel Processor; ARM embedded systems (HTC smartphones). Books: "DCE/RPC over SMB: Samba and Windows NT Domain Internals" ISBN 1578701503. Published by MTP, January 2000. Preferred role: Information, Security and Technology Researcher; Software Architect / Designer or similar role (e.g. CTO), in key areas of Network Services, security, designing, auditing and developing platform-independent systems. I work well - and best - with a team of people to advise. My comprehensive and extremely varied experience means that I can interact on a technical level with experts in every field of technology. In other words, I have a good grasp of what is achievable, and can frequently advise on areas where apparently unrelated work in one technical field is applicable in another, saving significant time and money in the development of a project. I can deal with extreme complexity. For example, a project that involves several network protocols to achieve its aim, has several separate or separatable components, accesses multiple databases on different hosts, uses client / server RPC mechanisms such as DCE/RPC, SOAP, ONC/RPC, JSONRPC etc. Also happy to deal with and help with VLSI and hardware designs, in conjunction with more experienced team members: whilst working one company, I helped design some features I felt would help sell the product, and this resulted in them being able to apply for six new patents. Best role: A role that requires in-depth, 100% focus and 100% coverage of both details and overall design. Where rapidly getting up to speed is essential, especially where there is limited knowledge available at the time. Where honesty and effective communication are important, and the team is focussed is on achieving the goal - with integrity. AJAX / JSONRPC: Significant time spent on developing Web frameworks Web leads me to prefer using AJAX toolkits and Web Kits in high level languages, such as Google Web Kit ported to python (http://sf.net/projects/pyjamas/). Reinventing the wheel in such a disjunct environment as the Internet, with so many browser incompatibilities, is just not productive. SGML / XML: Finally got to grips with docbook, using it to produce documentation in presentation-independent format. Familiar with XML principles (through virgule) and its applicability (particularly to specialised databases). Learned the lesson earlier than most that it is inadviseable to use XML to create a programming language, no matter how complete, comprehensive or powerful. Projects: Pyjamas, Xanadux, FreeDCE, Samba TNG, Virgule, Pymmetry, Pyxsqmll, Planner, Custom/Accounting, Debian/SE-Linux, Video Chat. Companies: Path Intelligence Ltd, Pine Digital Ltd, NC3A, Koolu, SkyGuard Technologies Ltd, lkcl ltd, Celestial Semiconductors and Samurai (Brazil) Ltd, Aspex Technology Ltd, Dedigate / 2-Consult, Linuxcare Inc, Internet Security Systems Inc, Pi Technology UK Ltd, CEDAR Audio UK Ltd. Sites: http://lkcl.net http://linkedin.com/in/lkclnet http://advogato.org/person/lkcl Other information can be found by searching for 'Luke Kenneth Casson Leighton' in a good search engine such as google and altavista. Software -------- c++, c: Strong c++, c programming and design skills. (c: 18 years, c++: 15 years). python: Strong python development skills - techniques known as 'Extreme Programming' in use before I knew the phrase existed. 10 years now that is equivalent to most people's 15. Helping with development of python (http://sourceforge.net/projects/python) hybrid mixes: Tools such as SWIG provide the means to mix c++ with python; I am comfortable with embedding anything from assembly code all the way to scripting one program to communicate with another through Unix pipes, especially to help with parallel programming. javascript: Thanks to Pyjamas I've been exposed to far more javascript than is healthy. I'm now sadly aware of constructors, prototype, objects and exceptions, and of the ways in which javascript can be utterly abused and twisted into submission to become an absolutely stunningly powerful tool. Web Design: Direct HTML programming, Javascript, AJAX, JSONRPC; recently started using Adobe Flex Builder to produce a Video Conference Chat Flash plugin with ActionScript. Web frameworks used include custom-built ones, mod_python mod_wsgi and Django. win32: Experienced in Microsoft's MFC libraries, OLE, COM and Active-X components (4 years). Recently experimented with Mono (Free Softare .NET compiler) to produce a simple GUI application, using "Iron Python". Networking: Experienced in Network Server software development for UNIX (DCE/RPC; CIFS / SMB; NetBIOS and TCP/IP) in c, c++ and Python. Distributed: DCE/RPC on Unix and DCOM on NT. Frequently create simple RPC communications for parallelisation of applications (statistical analysis / cryptanalysis). Familiar with JSONRPC in AJAX Web Development. SQL: Experienced with SQL design, management and implementation (SQL 2000, SQL 7, MySQL, PostgresQL) esp. from within Python. Wrote an Object Relation Mapper in Python that provides the missing functionality of "Writeable Views" in SQL, across multiple JOINs (both LEFT and INNER). Windows: Familiar with the configuration of Microsoft Windows (Workgroups; 95/8; NT Server and NT Workstation; 2000). Linux: Familiar with the configuration and use of Slackware, Debian, Redhat and Mandrake Linux - appx. 12 years. Also developed Linux device drivers, typically for embedded systems. Security: Configuration of Linux (NT cannot be made secure) firewalls; only allowing necessary services; logging. In-depth Network traffic analysis. (Also see Cryptography). SE-Linux: Setting up a Debian SE-Linux KDE Desktop Project, including writing SE/Linux policies, modifying, enhancing and bug-fixing the Linux 2.6.8 kernel and packages such as cron, udev and kvm, to properly support SE-Linux. OO/Design: Substantial Object-Orientated Design / Programming and low-level Operating System interfacing skills. Use of 'Agile' and 'Extreme' programming techniques, long before they became popular. Assembler: x86, 68000, PDP11, Z80 and ARM. Including ARM and x86 dis-assembly (extensive use of SoftICE). Recent use of Aspex Parallel / SIMD low-level and mid-level (run-time microcode) instruction set. ARM assembler for embedded systems. Other: Modula-2, Pascal, BASIC. Cryptography: Familiar with cryptography, cryptographic algorithms, how NOT to use them, and why. Familiar with algorithms such as RSA, DSA, Diffie Hellman, AES, IDEA, and how to implement them in SIMD parallel architecture. Presently developing, in spare time, a new cryptanalysis technique for block ciphers, calling it "Key-Data-Paired Differential analysis". Projects -------- OPAL/OpalMCU: Creating and installing platform-independent Real-time [c, c++, Video Conferencing client and server software. Surprisingly MacOSX, this is incredibly challenging to do well! After weeks of video conf, research, OPAL was found to be the most reliable client/server H323, SIP] architecture: missing was Audio and Video from PTLIB on MacOSX. The audio capabilities were improved (brought up-to-date) and work is progressing on adding video, using the Quicktime API. WebkitDFB: http://git.directfb.org/?p=libs/WebKitDFB.git;a=summary [python, WebkitDFB is a port of Webkit to run *NATIVE* on DirectFB webkit, instead of relying on Qt's DirectFB engine or Gtk's DirectFB DirectFB, engine. The performance is greatly increased, library size Cairo, and memory usage also reduced. On top of WebkitDFB the c, c++] PythonWebkit bindings were also added. Pyjamas: http://sf.net/projects/pyjamas [python, Python-to-Javascript compiler and Python Web Widgets Set. javascript, Pyjamas is a competitor to python-qt4 and python-gtk2 HTML, CSS, whilst at the same time allowing the application to be python-xpcom, compiled to Javascript, to run in all major web browsers. XULrunner, As the lead developer, I am both forging ahead in an area pywebkitgtk, of technology which has incredible promise, and also am WebKit] coordinating contributions from other developers. ARM Netbooks Installing Debian Linux on an ARM Netbook with an embedded [c, linux, ARM S3C6410 Processor. Reverse-engineering of the original reverse- GPL violating Linux 2.6.24 kernel was required, and resulted engineering] in re-creation of Linux Device Drivers. Debian/Linux was then successfully installed on the netbook. Video Chat: http://lkcl.net/videoconf/ [python, Real-time videoconferencing and video chat web site. actionscript, Many video chat sites focus on money rather than the Django, clients: inappropriate uncontrollable behaviour of Pyjamas, a few drives everyone else away. Significant focus HTML, Red5] will be given to ensuring that users of the site can set acceptable boundaries that will be respected and enforced, without impinging on other users. It's a difficult balance to get right whilst also respecting privacy and also maintaining administrative integrity through non-intervention. Xanadux: http://sf.net/projects/xanadux [c, arm-asm] Porting Linux to Wince mobiles (HTC). The plan is to have an entirely free-software linux mobile phone, developed and owned by the free software community, not controlled outright by any proprietary company. SE-Linux: http://www.nsa.gov/selinux/ [c, c++, bash] Setting up a Debian KDE Desktop system has involved enhancements and bug-fixing of several Linux projects including the Linux 2.6 kernel. For example, for udev to work properly it was necessary to enhance Linux's shmfs driver to accept SE-Linux permissions. Then it was necessary to update the strict policy in order for udev to work under SE-Linux. FreeDCE: http://sf.net/projects/freedce - Lead Developer [c] on FreeDCE - a Runtime Developer Environment for DCE/RPC and DCE/RPC client / server applications, including DCOM for Unix, Samba TNG, Exchange for Unix and MS-SQL for Unix. Samba TNG: http://www.samba-tng.org - Project coordinator and [c, dce/rpc] Architect of Samba, The Next Generation. Virgule: http://virgule.sourceforge.net - extended, advanced [c, xml] version of mod_virgule (see http://advogato.org) that has become a limited but powerful and extensible XML-based programming language. Pymmetry: http://sourceforge.net/projects/pymmetry - Python [python] Trust Metrics. A port of the Trust Metric and Max Flow algorithms in mod_virgule, to python. Pyxsqmll: http://sourceforge.net/projects/pyxsqmll - Python [python, sql] SQL 2000 Database Access module. The world's first platform independent means to access Microsoft SQL 2000 databases. Slow, inefficient, but effective. Planner: Project Planner Project (currently in development). [python, sql] This project will be an advanced, dynamic and intuitive Resource Management tool, with a Serious time / resource optimiser. The primary focus, however, will be on presentation and access to data, in recognition of the fact that humans are far better at Project Management than computers are. DPythOS: Distributed Python Operating System. Using a SQL [python, sql] Database as the information and resource gathering point to run distributed Python scripts. Purpose: host, network and service monitoring, automated response, management and recovery. Digimask: http://secure.digimask.com [python, sql] Online E-Commerce system for sale of Digimask Software. custom http://www.watfordcleaningsupplies.co.uk [python, sql] Ordering / Stock Management system: rapidly becoming a modern replacement for Sage, including Invoicing, Web Front-end for customers, Supplier and Stock Management etc. Experience ---------- Rhombus Tech CIC ------------ EOMA68 The Rhombus Tech initiative is an ambitious project to 2009 - bring together Free Software Developers with PRC Factories present in order to reduce the cost of mass-volume computing appliances, by developing and promoting modular mass-volume computing standards. The first such standard is EOMA-68. Pine Digital Ltd ------------ Pine In a secure environment and on a tight deadline a Apr 2014- high-performance task scheduling engine (in pure python) Nov 2014 was developed that, with only partial optimisation, was capable of running 250,000 tasks per second on a multi-core GNU/Linux Server. Tasks also had access to state (via Python-LMDB - Lightning Memory Database) which was kept synchronised even though related parallel tasks were often executed out-of-order. Time did not permit further optimisation but there was the possibility of using Cython to double the performance to around 500,000 tasks per second. This work easily qualifies as some of the most complex ever attempted. Normal network server patterns (threading, fork, python Pipes/Queues) could not be deployed due to the extreme performance requirements; also severe limitations (and actual bugs) in python itself were discovered that required complete redesigns of the scheduler engine. Coinage - Coinage (Bristol) Ltd ------- Coinage Developing a front-end for parking ticketing kiosks. Project May 2012- is entirely in python and HTML, to be compiled to javascript present for online demonstration purposes to customers, and deployed in pure python as a Pyjamas application for running live on on kiosks. The front-end makes advanced use of AJAX (JSONRPC) in order to increase response time. ACFAUK - Association of Christian Financial Advisers Web Site ------ ACFAUK Developed an editable web site system, customised for ACFA Apr 2012- that includes a self-hosted Video and Podcast playback system, May 2012 as well as a Rich Text Editor (in python) for the web site pages. Back-end Authentication also included. Reason for the implementation of a RTE: existing javascript WYSIWYG editors all fail in subtle ways. Reason for the implementation of hosted Video and Audio (instead of youtube): Youtube provides uncontrolled advertising that is inappropriate for both a Christian-based and a Finance-based web site. Entirely written in python, with pyjamas as the front-end, KirbyBase for the database, and minimal back-end, the site looks deceptively simple yet is extremely responsive and very intuitive to use. Mots Fleche - Crossword puzzle game ----------- Mots Fleche Developed a simple crossword puzzle game, entirely in python Oct 2011- and HTML, to be compiled to AJAX for deployment on a games Nov 2011 web site. Original game was in FLASH (that would not run on iphone or ipad). Pyjamas was chosen by the client for its versatility and ease of development. Celestial Semi and Samurai Brazil Ltd : PythonTV Embedded System. -------------- PythonTV Creation of PythonWebkit and installation of same Sep 2010- on Celestial Semi's CSM1800 Embedded TV Products. Mar 2011 OpenEmbedded was used to create stable repeatable builds. Also as part of this project, assistance was given to Denis in the DirectFB team, to create WebkitDFB. Python Bindings were added both on top of WebkitGTK as well as WebkitDFB. Triazz - Internet-enabled HD Multimedia and Picture Frame. ------ Triazz Part-time contractor to help advise Triazz on the use and Nov 2008- deployment of WebkitGTK. Triazz provide internet-capable Apr 2009 high quality Multimedia embedded software, and their first product is a 10in picture frame which will show HD video, play Internet radio, browse the Internet, read email and much more. Koolu - Workseverywhere.com ----- Koolu Advisor to Koolu (WorksEverywhere Inc), a Canadian Aug 2007- Eco-Computing company. Koolu's goals are to bring 2010 affordable power-efficient portable computer technology into emerging markets. They aim to assist emerging markets, bringing economic and social benefits instead of yet more inappropriate profiteering. I am assisting in the promotion of their goals, and in advising them on appropriate technology. I also helped develop and implement their back-end infrastructure for an important strategic contract they have with Google. NC3A - NATO C3 Research Agency ---- Jan 2006 - Assisting NC3A, sub-contracted through Silicon Valley, Aug 2007 to develop Zope Products. The Products are Unclassified web interfaces to databases (MS-Access, MS-SQL) for (Classified) data entry, analysis and reporting. The NC3A sponsors require a rapid turn-around, and Zope makes that requirement easily achievable. I assisted NC3A with three projects. The first was an extremely rapid prototype, finishing off a product in 25 days that required urgent attention and completion. It was significantly time-consuming for my manager; the level of attention to detail was quite intense. However, the disruption was worth it: the results were well received by the sponsors and by management. The second project was to complete the reporting and management of information presentation and input for a quite comprehensive but simple project. Limitations in Zope were overcome, for example with creative AJAX-based solutions. With less time pressure than the previous project, over a six to eight month period, the feedback loop between the client, my manager and myself worked very effectively in delivering results. The third project (continuation of the second) was a conversion of the SQL database from 2nd normalised form in MS-Access to an extremely comprehensive 3rd normalised form design in MS-SQL. The complexity of the task cannot be underestimated. Six months was spent succesfully developing a SQL Object Relational Mapper (ORM) which effectively provided the concept of "Writeable Views", thus requiring zero changes to the user interface code. Successful SQL ORMs are extremely rare: google for "The Vietnam of Computer Science" for details. Xanadux - HTC Smartphone Linux Porting (reverse-engineering) ------- 2004 - Part-time kernel-development for Linux 2.6 on the present High Tech Corporation (Taiwan) Wince Smartphones. The project aims to create an entirely community-owned mobile phone, right from the hardware up to the applications (Calls, 3G Video, SMS etc.) SkyGuard Technologies - Embedded Linux GSM/GPS Security Device --------------------- Mar 2005 - Porting the Linux 2.6 kernel to the SkyMinder - a portable Jul 2006 security device with GPS tracking, a GSM mobile phone and a Cirrus Logic ARM EP7312 processor. Developing applications to run on this device, such as a Voice-over-IP Audio Data recorder. Debian/SEZ - Secure Desktop Linux project ---------- July 2004 - Developing a secure desktop for Small Office, Home Office Dec 2004 usage, for sale as a retail boxed product. Requires the use of SE-Linux for enhanced security; other decisions such as Debian and KDE due to no association with or control by corporations (Redhat and SuSE). The goal is to provide an easy-to-use secure desktop system that is immune to, or easily recoverable from, attacks or system failure. lkcl Ltd -------- October 2002 - Officially incorporated. March 2003 First contract to provide the E-commerce solution, for Digimask's on-line store. Involves use of ClearCommerce anti-fraud credit card validation software, over HTTPS using XML. (http://secure.digimask.com). Second contract to provide a Stock Management system for Watford Cleaning Supplies. Ordering, Invoicing, Stock, Suppliers, Customers. (http://www.watfordcleaningsupplies.co.uk) Aspex Technology Ltd - Senior Field Applications Engineer -------------------- March 2002 - Specialising in Cryptography. Role is to liase October 2002 with customers, assisting and advising them in conversion of primarily cryptographic algorithms from standard processors (RISC, CISC) to a massively parallel SIMD Content Addresseable Memory based architecture. Tasks involve evaluation of algorithms, which sometimes requires a full understanding of the cryptographic principles, in order to remove RISC/CISC-specific optimisations that have faster alternative SIMD implementations. Building Work ------------- November 2001 - Working and training as a building labourer and February 2002 assistant. Skills include communication; the importance of following instructions; cleaning up properly to improve morale on a site; saving time to skilled workers by providing tools and extra hands where needed. Also developing, using Python and MySQL, an accounts ordering, delivery and invoicing system that is capable of managing invoices, delivery notes and orders to and from multiple suppliers and also to multiple customers. This software helps keep an accurate track of the progress of the building work and its cost, in order to accurately bill the customer on a monthly basis to cover costs. It also provides a breakdown by type of materials used on a particular job, which is invaluable information to help price a job accurately. As a result of this attention to detail, several mistakes were detected in contractor invoices which saved the client considerable sums of money. http://sf.net/projects/freedce - Lead Developer ---------- August 2001 - http://sf.net/projects/freedce. The project aims April 2002 are to promote and develop DCE/RPC, for Dec 2004 - interoperability between Unix and Windows NT / 2000. current This project is part of the fulfilment of TNG's goals. That means DCE/RPC, DCE/RPC services, DCE/RPC-based development environments such as DCOM, MSDN for Unix, Exchange for Unix, NT Domains for Unix, etc. See also http://opengroup.org/opendce. SAMBA TNG Team - Network Software Developer / Architect -------------- October 2000 - Samba, The Next Generation - http://www.samba-tng.org. March 2002 officially formed in October 2000, and kindly hosted by hub.org. The TNG Project's aims are to prepare the Unix Community for the Development, Management and Integration issues associated with full-scale interoperability between Windows NT / 2000 and Unix. Dedigate / 2-Consult - Senior Software Engineer / Architect -------------------- November 2000 - Design and implementation of the "DC Expert" system. August 2001. This project is designed to assist / automate remote Data Centre Management, to provide a *linearly scalable* ratio of approximately 1 operator per 1000 machines. The project currently involves the following protocols and skill requirements: Python, SQL (SQL-2000 and MySQL), SSH, Telnet, HTTP, FTP, SNMP, XML. Involvement with Python has led to some submissions and enhancements to the Python 2.1 codebase (see http://sourceforge.net/projects/python). Linuxcare - Senior Network Programmer --------- March 2000 - Worked for Linuxcare Research on Open Source projects November 2000 such as Samba, to provide total integration of Unix into Windows NT environments. Projects included "NT Domains for Unix" and "Exchange Server for Unix". Internet Security Systems - Senior Network Programmer ------------------------- September 98 - Working for ISS X-Force Research to investigate Microsoft's February 2000 prevalent use of DCE/RPC, and to provide Vulnerability, Security and Denial of Service assessements through discovery of weaknesses in this area. Problems are usually detected as a side-effect of the SAMBA development process. As a member of the I.S.S 'X-Force' Research Team, the information found on Windows NT Network vulnerabilities is reported to Microsoft immediately. An 'X-Force' Team member works closely with with the I.S.S Scanner and RealSecure developers. SAMBA Team - Network Software Developer ---------- October 95 - Spare-time involvement with the 'SAMBA Team'. This October 2000 group is responsible for maintaining SAMBA, http://samba.org, a freely available File and Print Server for UNIX. The strategic importance of Samba cannot be underestimated: it is the "bridge" between the Unix and Windows worlds, and without Samba it is doubtful as to whether Linux would be as successful in the corporate world as it has been. The Samba Team also provide information to the European Union Commission in the anti-trust case against Microsoft. My involvement with Samba was network-reverse-engineering, to work out the communications protocols that not even Microsoft's own engineers had the in-house expertise to understand at the time (almost all the experts had retired). Security flaws in Windows NT were found, documented, and responsibly reported and kept confidential for at least eighteen months to two years. Pi Technology UK Ltd - Software Engineer -------------------- March 95 - Pi Technology produce Automotive Software for Diesel July 97 Engines. This includes Engine Calibration; Engine and Vehicle Simulation; Diesel truck Data logging, and Fleet Management. Pi Technology's customers include Detroit Diesel; Perkins and Ford. Working in a team of three people for eighteen months, I was responsible for the design and development of the MS Windows Vehicle Simulation software in 'Spec Manager' - a Vehicle Configuration and Specification Sales tool, for Detroit Diesel. The project applied and developed my skills in Microsoft's MFC; mathematics and physics; complex logic and event-driven simulations. An eight week prototype simulation was initially developed in 'Excel BASIC' and converted directly to c. Working in a team of eight people for the last seven months, I have been writing Active-X Controls (e.g. 2D and 3D graph display) and assisting in the structural design of these Active-X components and their OLE interfaces, for AutoSim II and AutoCal II. These two products are Real Time Engine Simulation and Engine Calibration tools, respectively, for Automotive Engineers. CEDAR Audio UK Ltd - Systems Programmer ------------------ March 93 - CEDAR Audio produce Real-time Digital Audio Restoration March 95 platforms, for the enhancement of Audio signals, such as the removal of scratches from old "78" recordings, and hiss from Analogue CD Masters (AAD and ADD recordings). The IBM PC based platforms run a custom Graphical Operating system, written with Borland C++ and x86 Assembler. The products are designed to be simply and intuitively understood by Audio Engineers. The company employs ten staff. Working as one of the two systems programmers, I was responsible for the improvement and maintenance of CEDAR's Graphical Operating System and the Real Time Sound Restoration products based on their O.S. The first project was to develop the highly successful new version of the Graphical Interface for CEDAR's Real Time Hiss Removal product. Additional Responsibilities: - Producing Software Upgrades each quarter. - Proof reading of Software Manuals, ensuring consistency in style, content and grammatical phrasing. Atari Corporation UK Ltd - Customer Relations / Technical Manager. ------------------------ Aug 91 - I joined Atari on completion of my degree. Feb 93 Responsibilities: - Liasing with customers requiring information or technical assistance, responding to approximately 70 queries per day. - Initial design and subsequent maintenance of a Database of all customer repairs. - Design and subsequent delivery of custom, weekly and monthly Status reports, for the Repair Department and the Operations Manager. - Undertaking all unusual and/or difficult repairs that fell outside normal routine maintenance. Imperial College - BEng (2.2 Hons) and A.C.G.I in Theory of Computing. ---------------- 1988 - 1991 Final Year: Parallel Computing Architectures; Object Orientated Computer Architectures; Functional Programming Techniques; Computer Networks; Interfaces and Microcomputers; Software Engineering. Projects: Pascal Compiler; Functional Programming Editor and Environment (both firsts with distinction); VLSI Graphical Editor (first); Parallel Processor Network Simulation (2.1). My coursework algorithms were highly efficient and were the only ones used as model examples to the rest of the course. Interests --------- 12th to 17th century music; Tai-ji; Shin Kyokushin Karate; Cycling; Reading (Science Fiction - Neal Stephenson; Humour - Terry Pratchett); Neural Networks and Particle Physics. Speed-skating and safe, high-acceleration driving, and obeying all traffic laws.