Curriculum Vitae - Luke Kenneth Casson Leighton ---------------- Age: 38 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. 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, 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://code.google.com/p/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: Xanadux, FreeDCE, Samba TNG, Virgule, Pymmetry, Pyxsqmll, Planner, Custom/Accounting, Debian/SE-Linux, Video Chat. Companies: NC3A, Koolu, SkyGuard Technologies Ltd, lkcl ltd, Aspex Technology Ltd, Dedigate / 2-Consult, Linuxcare Inc, Internet Security Systems Inc, Samba TNG, Samba, Pi Technology UK Ltd, CEDAR Audio UK Ltd. Sites: http://lkcl.net http://linkedin.com/in/lkclnet http://advogato.org/person/lkcl https://secure.digimask.com http://www.watfordcleaningsupplies.co.uk 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. 7 years now that is equivalent to most people's 12. 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. 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 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. 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 cryptanalyis technique for block ciphers, calling it "Key-Data-Paired Differential analysis". Projects -------- Video Chat: In progress. [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 ---------- Koolu Advisor to Koolu (WorksEverywhere Inc), a Canadian Aug 2007- Eco-Computing company. Koolu's goals are to bring present 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. 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; 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.