See my LinkedIn profile, my home page, and my carbon-footprint-reduction site.
Tech: working with distributed/concurrent/embedded mission-critical technology, hardware and software, from conception to delivery, particularly where the project delivers a public good.
Renewable energy and other climate-change mitigations are a key interest.
Entrpreneur founder of companies and projects including OpenTRV, Ixaris, ExNet, as well as public service as a school governor, election observer, etc.
Tech: Java, C++, parallel, distributed and resource-constrained systems, embedded/IoT, networking, UNIX/Linux, C, machine learning / AI. Derivatives systems (quants, P&L, risk management), Web publishing, small-team technical management, digital electronics, high-level problem solving and ideas generation, sales and technical presentation.
Jul 13--Oct 14: Nomura Java-based low-latency FX algorithmic e-trading "Nagare" project design and implementation, with emphasis on platform stability, and improvement of the development and release process and integration with change management. Development and deployment spans US/UK/Asia.
Jan 10--Jun 13: Risk Evolution architecture and C# implementation of 'high-frequency' low-latency trading tool in C#/.Net, and a market-wide symbology architecture.
Apr 11--Aug 11: BP plc greenfield architecture/development on various projects including ship/cargo tracking involving such data and technologies as IHS/AIS, LMIU, MarkLogic (XML/NoSQL database), XQuery, Oxygen, Enterprise Service Bus, WSDL.
Oct 10--Apr 11: Deutsche Bank Credit and Emerging Markets, Java distributed technology architecture and development for P&L explains, and allowing reconciliation of incremental native-code analytics upgrades using slave JVMs and proxy class loading. Various bits of performance tuning and redesign work. Extraction of module containing single >10kloc-method from monolithic codebase and the automated generation of unit tests for it from production data to enable refactoring.
Jan 10--Sep 10: BarCap Index group working on various small C#/.Net fixes in its systems, such as Reuters and Bloomberg (MPF) outgoing feeds, and creation of C# Excel add-ins to access two main databases.
Sep 08--Sep 09: Royal Bank of Scotland (RBS), London, in Credit / Central Pricing working in Java/C# on ABS pricing and handling and risk computations on the task farm/grid. Delivered a C# Excel real-time (RTD) add-in to connect traders' spreadsheets directly to the Central Pricing servers.
Jan 96--Jun 08 (with ~3yr break from May 00): Lehman Brothers, London. On contract to various parts of Fixed Income (research, systems and trading) initially to parallelise and improve quants code and systems (lastly in Java for electronic trading in FX, gov, etc, previously in cross-platform C++, shell, etc), but also working on many areas of code/systems engineering to ensure that development is fast and that production is reliable. For example, heavy use of the 'PurifyPlus' tool suite (Purify, Quantify, PureCoverage) and similar Java tools (eg JProfiler, JProbe). Many tools and libraries built in my first months at LB are still in widespread use throughout the firm, such as the makesupport cross-platform build tools (Windows, Solaris, Linux, and others) and the quantlib core analytics libraries. I have been based in London, but also worked in the New York and Tokyo offices. Wrote up LB's demise for The Register.
Some significant LB projects in brief:
Aug 02--Sep 06: CTO of Ixaris, leading the design, development and build-out of the J2EE-based EntroPay virtual credit-card system, with a (mainly-Malta-based) R&D staff of 20+ for this UK company. The technology included Sun telco-class servers, JBoss and MySQL, as well as private secure links over the Net to banking/clearing counterparties, including VPN and TLS/SSL-secured connections and custom security techniques. Ixaris had raised well over £3m of venture capital by March 2006.
Mar 01--Apr 01: Leading a jWorkers consultancy team at BTLooksmart (a search-engine dot-com) measuring and improving Web application performance for a JSP/servlet-based syndicated search service. Technologies used and evaluated included Apache, Tomcat, Orion, JProbe, Web Application Stress Tool and Oracle 8i. Having helped them re-engineer and benchmark their existing and new technologies, re-engineer their server setup and increase reliability (eliminating most ''500 Internal Server Error'' reports), system performance had increased approximately 20-fold on their existing hardware. Significantly enhanced the security of their Web-facing UNIX servers.
Jan 01--Mar 01: In-house development of test J2EE/EJB applications to evaluate cross-platform deployability of J2EE EAR files across multiple free (eg JBoss 2.2.1 and Orion 1.4.5) and commercial (eg WebLogic 5.1/6.0) servers and Sun's reference implementations (1.2.1/1.3beta), with various databases including the pure-Java Cloudscape.
Sep 00--Feb 01: jWorkers commercial service setup and site development based on Tomcat 3.x (JSP/servlets) with XML presentation-neutral data format, and XSL rewriting (Xalan/Xerces) to WML for WAP and HTML for Web. This WAR (Web ARchive) has been used as a benchmarking tool for several platforms, for example at BTLooksmart. jWorkers contracts in this time have included development for an On-line Domain Registration System for NIC(Malta) (for the .mt Internet namespace) and teaching of courses on embedded C and Java to a Belgian associate of General Motors and their OnStar program.
May 00--Aug 00: VP Technology for digitalRUM, a dot-com m-commerce B2B2C startup in London. Design authority and team manager from business requirements though to beta with rapidly expanding team up to about 15 staff. Using technologies such as SSL with digital certificates for secure data channels, X.509 digital certificates for signing, WAP, WML, XSLT, servlets, ASP. Extra attention paid to handling of sensitive data such as user billing details. Most of platform implemented in Java (J2SE) on NT. The extensive databases used in this design were Oracle 8i, with heavy cacheing in memory for real-time performance; several iterations of some aspects of the design, such as the building of full-text keyword search indexes, were necessary to yield adequate response, with the work being split between the Java designers and DBAs under my supervision. About 32kloc QAed code produced in 6 weeks to reach beta. Worked with the French office and UK lawyers on contractual and technical aspects of the interfaces to end-users and retailers.
Sep 99--May 00: Various .COM projects, including a mobile e-commerce system with a KVM (Kilobyte Virtual Machine) Java application on the Palm PDA. I maintained a KVM FAQ to help the developer community as a result of this work until Sun integrated KVM (CLDC) bug tracking into their main bugs database.
Mar 98--Apr 00: Monis Software, London. A consultant to their London software team; designed their Java-based real-time market-data handler Data Transformer (DT) (see article) from scratch, and implemented a large portion of it in conjunction with their own staff. DT can accept real-time data from several sources (and via several routes via standard plug-in interfaces) such as Reuters, Bridge, Telerate, etc, and perform transformations and cleanup (eg rejection of spurious zeros that appear when data is missing, rejection of spikes, scaling of values) using a real-time data-flow architecture, and feed those values into Excel through COM and JNI, or into larger systems through CORBA interfaces. DT is the data-supply component of Monis' portfolio-analysis tools.
Oct 94--Mar 97: Nomura International plc (NIp), London. Directly on contract to Swaps and the Asset-Trading Group (ATG), supporting and developing new applications for traders, and streamlining Swaps' overnight batch system for computing daily profit-and-loss, risk-management hedges, etc. I parallelised and distributed existing and new subsystems for up to 100-fold speed improvements using an RPC-based cache of my own design of thousands of live financial instruments, whilst increasing reliability of the reports and accounting many-fold. My systems withstood the post-Leeson scrutiny of several sets of external auditors without difficulty. Wrote applications in a mixture of Opus (Renaissance, now SunGard), C++ and UNIX utilities. Advised on specification and installation of direct IP link to NIp Swaps desk in Hong Kong. Spent a week in HK ironing out problems with the Swaps systems there. For ATG implemented a C++ binomial stock-option model connecting to Applix, with final implementations several hundred times faster than the original prototypes. Created various add-ins for Lotus (UNIX), Applix (UNIX) and Excel (PC). From Jan 96 had an open consultancy contract with both desks until all relevant systems replaced as part of company-wide upgrades.
Nov 93--Jul 94: Nomura Research Institute (NRI), London. Member of UNIX support team (2--10 others) for Nomura supporting a trading environment of several hundred users and several hundred Suns. All aspects from design and implementation of new standard streamlined systems, to day-to-day problem solving and maintenance.
Jun 93--Oct 93: BP Exploration, systems administrator (with two others) for complex multi-vendor (HP, IBM, SGI, Sun) distributed UNIX system (70+ machines) glued together with DNS, NIS and NFS/automounter over Ethernet and FDDI; user support and long-term development. Coordinated the move of all the UNIX machines plus about 200 PC and Mac clients to legal (NIC-allocated) IP addresses one weekend. Worked on the redesign and complete overnight reimplementation of the NFS-filesystem structure.
Feb 91--Jun 93: Technical Editor, then Editor, of Parallelogram, an international technical journal covering parallel and high-performance computing, with a world-wide circulation of approximately 6,000 as of Dec 92.
Aug 90--Oct 93: Consultant to BAeSema (previously Dowty-Sema) on high-performance and open-systems technology on the largest-ever Ada projects in the world to then (over GBP100m) for the SSCS and SMCS frigate and nuclear-submarine weapons command-and-control systems. Handled material classified up to NATO Confidential.
Apr 88--now: ExNet Ltd, MD. Raised GBP75,000 in venture capital whilst an undergraduate to do private research in networking and distributed operating systems.
Aug 85--Jun 86: Personal Robots Ltd, Systems Engineer. Designed and implemented a real-time, multiprocessor, distributed robotics operating system in products featured on the BBC's ''Tomorrow's World'' and ''Wogan (in Scamp@1:30).'' Later went on contract to them while at university.
Java "Expert" in Sun's Java Community Process in several areas (JSR-41, JSR-65, JSR-96) and assisted informally with their CLDC/KVM design for J2ME, and in locating a parallelism-related bug (CMS parallel remark) in JSE6 garbage collection. Taught embedded C and Java techniques to Belgian partners in General Motors' OnStar programme and speaker in Sun-sponsored banking and security seminar Oct 2001. A featured JDK1.6 user at the launch of JSE6 in December 2006.