PAUL CLINCH
55 Lynwood road, Redhill, Surrey, RH1 1JR
pclinch@internet-glue.co.uk
01737 211683, 07930 305572

Profile
An experienced and enthusiastic senior developer.
Career Summary
Present: Available immediately
June 2005 - May 2007:   Cyberview Technologies Ltd
March 2004 - November 2004: Contract for Adaptec UK
July 2001 - May 2003: Macro4 Ltd
November 1999 - May 2001: Kokua Communications Ltd
May 1993 - October 1999: Syslogic Ltd
May 1990 - April 1993: Self employed contractor
Sept. 1987 - April 1990: Monotype Corporation Ltd
April 1984 - August 1987: Communication Control Ltd
March 1981 - March 1984: EMG Micro Systems
Selected Projects
Gaming Network System; using C#, C++. (Cyberview Technologies Ltd 2005,2006)
As a senior software engineer; enhancing and developing new parts of a networking fixed odds betting system, based on windows servers and game machines. I enhanced a game testing program written in C# , using C# and jscript. I designed and implemented all agent modules of a remote diagnostics and administration program, using C#. The modules report on diverse characteristics of the system, from packages installed to performing special hardware tests. I have developed a new scheduled download system operating over the internet, it uses the Microsoft BITS service after communicating with an IIS server using SOAP. C++ was the development language. Recently I upgraded a Python and Linux based program, traveling to Italy to implement a GPRS connection to our database. Currently I'm porting a USB scanner driver to Linux.

SAN Management; using Python, C, XMLRPC. (Adaptec UK Ltd 2004)
As a senior software engineer; maintaining and improving parts of a SAN management system. The system provides a management program that interfaces to agent programs, running on windows work stations or linux based iSCSI storage boxes. Most of the management program is written in python, with interfaces to C libraries to call the windows and storage agent APIs. I worked on a number of miscellaneous bug fixes and some new facilities as follows. 
I adapted the product to use openSSL for secure communications. The management station communicates with agents using asynchronous XMLRPC calls over SSL connections when configured to do so. Raw TCP is used for older agents or when the operator configures insecure use.
The storage agents can be upgraded by transferring new software images, followed by remotely restarting the system using the new image. I added a facility to upgrade many agents simultaneously, reporting on progress as required.
I carried out some design work to scale up the system for a proposed satellite based network. Currently agents are always connected when the management program starts, not practical for a large network, and a heartbeat is issued from agents over the connection. The proposed design provided a connection pool and UDP based heartbeats. Unfortunately the project has been put on hold.
Output Management; using C, XML, LDAP, Pthread, Messaging. (Macro4 Ltd 2001,2002,2003)
As a senior software engineer; maintaining and improving parts of an output management system as one of a team of fifteen. This may drive hundreds of printers over a network. It also provides for email output and job creation and control.
The system consists of several multi-threaded programs connected via a messaging system. The messaging system transfers messages in an XML format using MQseries, or a proprietary equivalent. The proprietary equivalent uses TCP/IP sockets. Users may query the system via an HTTP server , eg. Apache. The system stores data in a relational database, DB2 and Oracle are currently supported. Configuration is supported through an LDAP library. The system runs on Windows 2000, Solaris and AIX platforms.
All the product software is written using C, the regression testing harness I wrote using Python. I had special responsibility for Solaris port and threading on the unix platforms. Administration of the Solaris development server was mainly handled by myself. I have also written an extensive installation program written in shell script. I was made responsible for developing our facilities for regression testing. After reviewing commercial alternatives I designed and coding a testing framework in Python. The software is stored in the MS Sourcesafe source control system and build using a large number of make files. 
Satellite Customer Terminal; using Python, C++, Linux, Apache, Internet protocols. (Kokua Communications Ltd 1999,2000,2001)
As a senior software engineer; design and programming parts of a satellite internet system. The system hoped to connect sites in Europe to the internet through a two-way KA band satellite. The system uses many open source tools and programs running on a derivative of Red Hat Linux. Some systems in the central site use Solaris running on Sun hardware. My software was written using Python and C++.
I was responsible for architecture, design and implementation of the customer site equipment software. My work centred on three main areas; installation, configuration, and maintenance. I designed and implemented an automatic upgrade system. The system transfers software packages using a reliable multi-cast protocol (PGM) over UDP from a central site all customer terminals simultaneously. The package is then validated using PGP keys and installed using the Redhat Package manager.
I designed and implemented an extension to the SNMP agent on the customer terminals. This implements our own MIB branch containing configuration data. I configured BIND to provide the DNS service.
Finally, I designed and implemented a local web site for the customer terminal. This enables easy configuration of both our terminal and the satellite modem it connects to. The software copes with multiple versions on the modem and mapping of data forms, eg. Latitude and longitude to XYZ coordinates. The HTTP server was Apache.
Deaf Telephony System; using BSD Unix and TSL. (Syslogic Ltd 1999)
As an analyst/programmer; Design and programming parts of a telephony system. The system controls telephone calls to and from deaf telephony users. It used a proprietary system for executing distributed components, supporting redundancy. It is programmed using a proprietary script TSL. 
PC Auditing Program; using C++, Windows 95, 98 & NT. (Syslogic Ltd 1998,1999)
As team leader and architect; wrote a feasibility study, followed by design and programming parts of a PC auditing system. This became a shrink wrapped product named LANAuditor. Agent programs on various PCs, running DOS, Windows 95, Windows NT etc gather data about the workstations and return that data for loading into a database. The database is reported on using a separate application.
The database used was Microsoft Jet, interrogated using a Visual Basic program. The agent I wrote was for Windows 95 and NT. It used the windows 32 API from a C++ program.
Statistics Reporting ; Using SQL and Unix utilities. (Syslogic Ltd 1998)
As an analyst/programmer; wrote many SQL reports generating statistics on horse racing for automatic typesetting and inclusion in the newspaper. Also designed and built a system to automatically generate and send reports via FTP to the WWW site and Channel 4 racing. The system used a Sybase database housed on a Solaris box.
Communications Daemon; DEC Unix, X25, AWK and TSL. (Syslogic Ltd 1997)
Working for Metrica, in an analyst/programmer role, created a data file gathering program to transfer files from Ericsson telecommunication equipment to a Digital Unix server. The program used Ericsson MTP protocol and handled multiple incoming transfers over X25 using threads. The program written in C and used a DEC X25 library. Parsing of the data into a standard format for loading into the NPR database was achieved by AWK and shell scripts.
For the same company, various other programs written for data feeds. Also analysis and testing of the database with large datasets, and reporting using the TQL tool and NPR database.
Smart Card Cash Credit Terminal; Using C, Pharlap, Smart card writer. (Syslogic Ltd 1996)
As an analyst/programmer; designed and implemented a program controlling a crediting machine. This accepted coins and notes and added value to a smart card. Each was connected via serial port. A simple LED display provided the user interface. All transactions were added to a database accessed over an Ethernet network. The base OS was the Pharlap DOS extender, for which I wrote a dual mode interrupt handler. The language was C++, and the database accessed though a 'Codebase' library.
Newspaper Editorial System; using C, Xpress DLLs, Windows, Sybase. (Syslogic Ltd 1994)
Team leader and senior developer in a Syslogic team developing a new publishing system utilising client-server technology. The product provided a new Windows 3.11 Editorial Front End, using Microsoft Word 6.0 as the editor and Quark Xpress 3.3 as the pagination server. The product interfaced to a Sybase database, using ODBC, to access stories and pages. The user is able to access the system using either MS-Word or Xpress. Software was written using Borland C++ v4.0 and Microsoft Visual Basic. A number of Quark extensions using Windows DLLs were developed to interface between the database and Quark Xpress.
Also modified a Macintosh based publishing program, used to typeset display advertisements at the Guardian newspaper. The program interfaces with an ATEX publishing system running on IBM RS/6000 and PDP/11 hardware. The program was implemented entirely in Think C, a derivative of C with extensions to support classes. The software interface is via PIL (publishing interface language) and EPS (encapsulated postscript).
Maintenance Management Package; C, DBVISTA, Pharlap 286 DOS extender. (Self Employed 1991,1992)
Design and develop a forms management module for the above system. All data entry, and screen reports went through this module, which provided a consistent look and feel across the system. All the forms were partially user configurable and the module created and destroyed forms dynamically.
Also create a configurable work order module, which allowed definition of the forms to be printed for each job to be done. The content of the report was user selected from a wide, but predefined view of the database.
Thirdly write a process monitor interface. This collected information transferred from a third party plant monitoring system, to update our database and automatically generate job orders for machine failures.
Typesetting Editor; using C and MSDOS. (Monotype Corporation Ltd 1987,1988,1989)
Design and implementation of an 'exotic' languages editor program It enabled keying diverse languages such as Russian, Thai, Arabic, Devanagri (the principal script of India), and Urdu. The text could then be typeset on ACE, CORA and Monotype Lasercomp devices. The Urdu implementation was particularly demanding, since the Monotype version used several thousand ligatures, spread over 220 fonts!
Customer Service Control; using ACCELL and UNIFY. (Monotype Corporation Ltd 1989)
Designed and implemented a customer service database. All service calls were logged and engineers dispatched using this system. Management were able to monitor the status of each breakdown, and the final diagnosis of the reason for failure was fed back to the manufacturing division. This ran on a UNISYS UNIX box.
Call Logging System; Using C and Concurrent CPM  (Communication Control Ltd 1984,1985,1986,1987 )
Developer in a team to produce a call logging system. This system collected data from PABXs running 24 hours per day, and reported on demand. 
Education and Personal
Nationality 
British 
A Levels 
Pure math.s, applied maths, physics 
Degree 
BSc Hons Economics from City University 
License 
Clean driving license. 
Interests 
Sports and family.
Date of birth
1st September 1958.