Our Technical Director

Meet Douglas Miller BSC,MSc our companies Technical Director.

Technical Skills

C++, Design patterns, QT4, wxWidgets, STL Templates C++ (UNIX), Visual C++ 2008, Boost, VB, Java, ATL COM/DCOM, JNI, Oracle, mySQL, Tuxedo, Roguewave, MFC, UML, XML and Security. Full skills matrix at end of CV. Shell scripting (bash), linux and windows environments, Subversion and Trac. Unit Testing.

Key Achievements

• Awarded continuous contract renewals at major client through ongoing interdepartmental recommendation and high quality of work produced. Engaged as key member on seven major projects spanning several years. The project utilised Agile development methodology for a ‘new to market’ product

• Developed code for encryption boxes using mathematical expertise and low-level code writing ability, with quality of work being described as ‘world class’ by leading security/encryption expert

• Lead programmer on complex initiative to integrate and track a diverse range of software development projects running independently at a major telecoms client. Task was to bring about communications gateway to allow information to be accessible across different platforms and systems. Architected system using CORBA Visibroker which allowed full data access and retrieval as required and solution proved to be very robust needing no further work until replaced after many years

Contract Assignment History

Replaced mysql++ code (for licensing reasons) with DTL a Template orientated ODBC mysql database interface.
Unit testing of all modules with CppUnit, a Junit port. Extensive use of STL, and template specialisation.

Development support for an in-house intelligent network routing product called iVNT. Product uses Neural Network technology and Genetic Algorithms for evolving networks to provide optimum routing/costing.

• Cross-platform development relying heavily on QT cross-platform libraries and c++
• QT Visual Studio add-in was used to create a complex user interface to display large networks
• Main architect of in-house Google Protocol Buffer library
• Used QT’s scripting interface in conjunction with the signal slot mechanism to write queries to the routing engine.
• Thread and mutex management using Qt libraries
• Utilised visual studio 2008, Boost and STL on both Widows and Linux platforms

Engaged at BT Research arm tasked with creating a low-cost cross-platform SIP-enabled VoIP/video softphone to reliably move voice and video across variable bandwidth networks.

• Implemented both SIP and Jabber stacks for the project and designed a portable transcoder API to transfer audio and video between peers as efficiently as possible using transfer protocol UDP/RTP with audio and video payloads compressed using AMR and H263 codec
• Messaging system used XMPP protocol via the Gloox library
• Nat traversal via stun and Ice technologies
• Utilised Open Source SDL (simple device layer) to achieve hardware abstraction and contributed several bug-fixes/improvements back to this project. Used open Source project FFMPEG to provide a generic codec API. Code was primarily C++ (ActiveX objects) with JavaScript, Html and Flash supporting the GUI
• Platforms – Linux, Windows XP, Symbian, MAC OSX and Wince. Database work was using mySQL
• Compared Qt and WxWidget libraries for building the app.
• Experimented with QT phonon as a cross-platform abstraction to windows Directshow

Developed an SMS system to alert BT customers when unusual usage occurs on a landline. Central to the system was a multithreaded daemon process (C++ UNIX), which communicated with a remote real-time pricing engine via TCP sockets. ProC macros connected the daemon process to an Oracle Database (8i).

• Design work modelled using UML and sound OO principles. Code was C++
• Earlier work involved migrating GUI and middle layer legacy code to a Weblogic platform (J2EE)
• Designed the COTS recording system to store customer details for incoming BTOpenworld enquiries
• Design Broadband Usage monitoring tool and Real Time Fault Reporting (RTFR), and SHOCk: the System for Handling Offline Correspondence
• Developed a SMS messaging program for the commercial Market, written in Microsoft Visual C++ using MFC and COM technologies
• Server-side code was developed in PERL and coupled to a MySQL database with extensive use of Microsoft Internet API and the PERL LWP libraries
• HTTP and MySQL database security measures implemented into the design to prevent fraudulent sending of SMS messages, and multithreaded code design allowing the simultaneous transmission and reception of SMS messages
• Designed a prototype image detection system using the Java Multimedia Frame Work, with SMS functionality (coded in Java)

GTCS – Generic Test Controller (Sun). Scheduled, executed and interpreted test requests and results according to priority and managed the complex relationships between high-level network tests and low-level testing and test environment control.

• Development of the DC (Diagnostic controller) server, GTC interface to an Oracle database, a TUXEDO server written in C++

The Work Manager TI interface bridge was developed to Integrate Work Manager (UNIX based) systems with FASTTRACK TI solutions NT/Visual basic Applications via J2EE, JNI, CORBA (Visibroker), ASP and XML Technologies.

• ActiveX object (Using ALT) used to embed a JVM within a VB application to form a VB/CORBA bridge
• Undertook detailed study of EJB, Servlet and RMI Technologies

WMS was a software package for allocating work to field technicians. Primarily written in C++/C using the GNU (open software foundation) gcc compiler coupled with the Rogue Wave class library. Client Server structure using Oracle 7.

• Coded user interface in a bespoke forms-like language for online transactions with C++ for processing-intensive or common functions, and SQL for database access using a proprietary interface
• Implemented PAM into the WMS system
• System enhancement (using c++) primarily security related and updated overtime availability of Field Engineers

Involved in development of three major systems:
• OVT (Order Valuation Tool – C++) BTS (Bid Tracking System – C++) and Mars (Sales Force Bonus system – Extensive SQL and data base design – Oracle Web Server Stored Procedures)
• Construction of both client/server applications and intranet Web Server-based solutions. Methods required detailed knowledge of C++, ODBC, SQL, SQL Server, Crystal Reports, MAPI, Oracle, Oracle Web Server, JavaScript, HTML
• Design and implementation of Web-based access control mechanisms for BT. Produced ORACLE cartridges, complex Stored Procedures, Triggers, ProC daemon

Pre 1996 Summary

Jan 1995 – Jan 1996 Trafford Ltd (Essex)

• Programming duties and high-level work with Professor Fred Piper (one of the country’s leading encryption experts) validating the strength of Trafford encryption algorithms

Sep 1994 – Dec 1994 Hoskyns Plc (DSS Newcastle)

• Involved in the ASSIST project for the DSS using C++ under the UNIX on SPARC workstations, GNU compiler, Sniff, X-Windows, Rogue Wave class library
• Used Client Server methods with front-end PC systems written in Microsoft Visual C++ V1.5. Data security for the system used the Kerberos protocol. Main Skills were, C++, UNIX, TCP/IP

Jun 1993 – Sep 1994 Trafford Ltd (Essex)

• Responsible for the design of an encryption and key management system used in the companies FAX encryption unit released to the market at the end of December 1994
• Developed algorithms and peripheral software for the system using C and 8086 assembler
• Encryption technology needed fundamental understanding of number theory, the algebra of fields, rings and groups together with the efficient design of semi-numerical algorithms

Pre 1993 career history available on request

Education

University of East Anglia BSc (Hons)
University of East Anglia MSc (Fluid Dynamics)
PhD Theoretical Physics (solid state) – not completed

Full Skills Summary
Languages Years Databases Years
C++ 15 Oracle 7,8i 8
C 17
JAVA 11 Class Libraries
VB 9 QT 4 2
Fortran 5 Boost 2
SQL 2 wxWidgets 4
ORACLE ProC 5 MFC 10
API Win32 5 Rogue Wave 5
ALT 3
Operating Systems
MS Vista/XP/NT/2000 98 95 11 Encryption Technology
UNIX/LINUX 9 Algorithm Design 8
PKI 5
Compilers
Microsoft Visual C++ 12 Other Skills
GNU gcc 9 CORBA 1
COM/DCOM 2
Skills used less than a year JNI (Java Native Interface) 2
J2EE JavaScript 5
JDBC HTML 5
DNA XML, XSLT (Xerces) 5
ASP TCP/IP Sockets (low level) 3
SOAP Apache/Tomcat 5
TUXEDO Microsoft Access 2
MAPI DSDM 2
Google Protocol Buffers Visual Source Safe 6
SVN 6
UM(Stp) 3
PERL 3