Curriculum Vitae - Luke Kenneth Casson Leighton ---------------- Age: 32 Status: Married. Nationality: British Location: UK. Driving License: Full U.K. (2050) and U.S. (2003). 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, Win32, Networking, SQL, Windows, Linux, Object Orientated Design, Extreme Programming, Software Engineering, Assembler, Reverse Engineering and Cryptography. Hardware: IBM PCs (DOS; Windows 95 and NT; Linux; FreeBSD); Apple Mac (System 7); SUN and HP Workstations (UNIX); Aspex (ASP) Parallel Processor Cards. Books: "DCE/RPC over SMB: Samba and Windows NT Domain Internals" ISBN 1578701503. Published by MTP, January 2000. Preferred role: Software Engineer, Architect / Designer or similar role, in key areas of Network Services, designing and developing platform-independent systems. Preferably using UNIX: capable of and will consider working with NT if necessary. 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. Prefer not to be forced to use graphical-based tools except platform-independent ones (e.g. Web-based). Also happy to deal with and help with VLSI and hardware designs, in conjunction with more experienced team members. 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. Be warned: If you require someone whom you do NOT want to take the initiative to assess all aspects of the required work and beyond; if you require someone who will "stay in the box", do NOT contact me. [On the other hand, if what you need is someone who will shake things up a bit...] The speed at which I acquire new knowledge and be able to integrate and recommend new ideas tends to make insecure people feel frightened and threatened. 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). Projects: dcerpc.net, Samba TNG, Virgule, Pymmetry, Pyxsqmll, Planner, Custom/Accounting Companies: 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://advogato.org/person/lkcl http://cb1.com/~lkcl http://www.well.com/~lkcl http://dcerpc.net/person/index.xvl?acct=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. Pet Hates: - "peer to peer networking" [peer equals neanderthal...] - "microsoft marketing machine" [FUD at its best...] - "restrictive anti-competitive business practices" - "information-restricive laws" [DMCA etc.] - Unreliable systems that cannot be made to do the job you really needed done yesterday... Software -------- c++, c: Strong c++, c programming and design skills. (c: 10 years, c++: 7 years). python: Strong python development skills - techniques known as 'Extreme Programming' in use before I knew the phrase existed. 2 years now that is equivalent to most people's 5. Helping with development of python (http://sourceforge.net/projects/python) win32: Experienced in Microsoft's MFC libraries, OLE, COM and Active-X components (4 years). Networking: Experienced in Network Server software development for UNIX (DCE/RPC; CIFS / SMB; NetBIOS and TCP/IP) in both c and Python. Distributed: DCE/RPC on Unix and DCOM on NT. SQL: Experienced with SQL design, management and implementation (SQL 2000, SQL 7, MySQL, PostgresQL) esp. from within Python. 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. 6 years. Security: Configuration of Linux (NT cannot be made secure) firewalls; only allowing necessary services; logging. In-depth Network traffic analysis. (Also see Cryptography). OO/Design: Substantial Object-Orientated Design / Programming and low-level Operating System interfacing skills. Assembler: x86, 68000, PDP11 and Z80. Including x86 dis-assembly (extensive use of SoftICE). Recent use of Aspex Parallel / SIMD low-level and mid-level (run-time microcode) instruction set. 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 architecture. Projects -------- dcerpc.net: http://dcerpc.net - Founder and Maintainer [c] of dcerpc.net - the Developer forum 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. 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 ---------- lkcl Ltd -------- October 2002 - Officially incorporated. present 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 present 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. dcerpc.net - Founder and Maintainer ---------- August 2001 - dcerpc.net - http://dcerpc.net. kindly hosted by April 2002 linuxlabs.com. The dcerpc.net's projects aims are to promote and develop DCE/RPC, for interoperability between Unix and Windows NT / 2000. 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. 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. This product makes UNIX Servers capable of communicating with DOS, Windows (Workgroups; 95 and NT); and OS/2. Its competition is Microsoft's NT Server; DEC's Pathworks; IBM's LanManager 2.0; SCO's VisionFS; Sun's PC-Netlink, to name a few. Working with the SAMBA team (approximately twenty people), my first contribution was to improve the browsing (the 'Network Neighbourhood' on Windows 95 and NT) and WINS service in SAMBA. There were no specifications available on the browsing protocol from Microsoft, who are responsible for creating the 'Network Neighbourhood'. In July 96, Microsoft announced the CIFS initiative. The SAMBA Team's experience in tracing the undocumented and over-developed SMB and browsing protocols *assisted* Microsoft in producing accurate and comprehensive documentation (see http://ftp.microsoft.com/developr/drg/CIFS). I attended the 1st CIFS Conference, hosted by Microsoft in August 96, and contributed to the 2nd, hosted by SCO in April 97 (see http://www.cifs.com/2ndcifsconf/Samba-Leighton). Since July 97 I have been working on providing NT Domain capabilities in SAMBA. This involves Network Reverse Engineering DCE/RPC over SMB from analysing packet traces (NetMonitor) and writing both client tools (rpcclient) and server (smbd). As a side-effect of working with Microsoft's DCE/RPC over SMB, mistakes are often found in their implementation. This information is immediately reported to Microsoft, which has resulted in a serious improvement in the reliability and robustness of Windows 2000's core services. Additional Responsibilities: - Responding to users' email on the digests (http://lists.samba.org) - Assessing and applying SAMBA users' code contributions. SAMBA source code is freely available: UNIX Administrators will quite often add a feature that they need, and send it to us. Involvement with Samba Team terminated with extreme prejudice, due to Samba Team Leader's inter-personal skills mis-management and actively hostile attitude. 99.9% of details are publicly available on the Samba Mailing Lists. 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.