Error message

  • Deprecated function: Return type of DateObject::__wakeup() should either be compatible with DateTime::__wakeup(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 158 of /mnt/public/var/www/vhosts/common/sites.7/all/modules/contrib/date/date_api/date_api.module).
  • Deprecated function: Return type of DateObject::format($format, $force = false) should either be compatible with DateTime::format(string $format): string, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 158 of /mnt/public/var/www/vhosts/common/sites.7/all/modules/contrib/date/date_api/date_api.module).
  • Deprecated function: Return type of DateObject::setTimezone($tz, $force = false) should either be compatible with DateTime::setTimezone(DateTimeZone $timezone): DateTime, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 158 of /mnt/public/var/www/vhosts/common/sites.7/all/modules/contrib/date/date_api/date_api.module).

About Me

I am a highly accomplished, hands-on, IT Applications and Infrastructure Professional, with more than 20 years experience across multiple industries, including: IT Services, industrial, telecoms, financial services, transportation and nuclear power, to name but a few. I offer full development lifecycle expertise with a strong emphasis on troubleshooting, using a well developed ability to embrace new technologies quickly. I work well under pressure and I am accustomed to interacting with staff at all levels through to senior executives.

I have recent intensive experience working within a LAMP environment (along with Javascript/HTML/CSS) developing Drupal and Wordpress modules as well as an open-source, browser-based replacement for a bespoke Visual Basic application. I have developed systems in C/C++, Java and Perl for Vodafone, Stockhouse/Stockgroup, JP Morgan, Westinghouse and Dunlop that range from real-time market data-feed handlers, through Nuclear Power Station monitoring to Multi-User games.

From 2000 to 2007 I was IT Manager for Stockhouse Inc. (while still retaining my development duties), a real-time market data and news provider, with full responsibility for all IT related matters. During this time I accumulated an impressive list of successful deliveries including a successful large scale migration from Reuters AMS to RMDS.

I have, at one time or another, had occasion to use virtually every well-known programming language and a few more besides. I have considerable experience in supporting a Blackberry Enterprise Server farm supporting up to 2000 users, with the associated MS Exchange installation as well as supporting a Linux-based paging system and Windows office servers.

I have an outstanding delivery track record having worked with a broad range of technologies, through the full lifecycle. I possess an excellent ability to deliver under pressure having performed in many challenging environments.

I created the world's first multi-user, on-line, fantasy-role-playing, computer game: Multi-User Dungeon (MUD); and as such I have been credited with being one of the originators of on-line, multi-user gaming.

I combine a thorough knowledge of software engineering with a professional approach and personable nature.

Summary of Professional Experience

Nov 07 - Now: Director: Dynamic Data Consulting

Feb 00 - Oct 07: IT Manager: Sila/Aether/TCS

May 96 - Jan 00: Project Leader: Synamic/Sila Communications

Apr 95 - Apr 96: Technical Director: Multi-User Entertainments

Oct 86 - Mar 95: System Support Group Manager: Press Computer Systems

Aug 85 - Oct 86: Technical Director: BERY Associates

Aug 82 - Jul 85: Senior Consultant: Knight Programming Support

Aug 80 - Jul 82: Consultant: Logica

Dynamic Data Consulting

Made Media Creation of new CCK content types, templates and theming to support a new section of Southbank Centre Website. Creation of custom module to support new functionality. Assist in support and maintenance of Southbank Centre Website.

Scope Further maintenance and development work, especially in the area of donations and event registration.
Creation of custom modules to aid in extracting site content in preparation for a site regeneration project.

Sense Technical assessment of Drupal 7 website, to isolate and correct a backlog of bugs. Develop and maintain Drupal 7 modules to extend existing functionality and implement new features, especially within the areas of eCommerce (using Drupal Commerce), event registration, and donations. Creation scripts to handle system management functions of Amazon Cloud Instance that serves the Drupal 7 website.

Scope Technical assessment of Drupal website, to isolate and correct a backlog of bugs. Develop and maintain Drupal modules to extend existing functionality and implement new features, especially within the areas of event registration, donations and spam prevention. Provide “in-house” software maintenance.

Purchasing Index Develop Drupal modules to handle capture of various forms of Risk and Safety data for some of PI's clients, including a Risk Assessment Tool. Drupal Module to handle LDAP integration between various modules and a client's LDAP. Systems Administration and design and implementation of an infrastructure update of PI's core product line (Spendtrak, Pricetrak, etc.).

The Restaurant Group I developed Drupal modules to assist in migrating bespoke CMS to Drupal site, Feed-handling modules in Drupal and bespoke CMS to handle transfer of live data to an aggregation site (including module to update cck location schema for increased geocoding accuracy), and a Drupal module to import/export content-type specific data in CSV/XML. I maintained Drupal modules to handle geocoding of location data, modules to search location data, and modules to create CCK content-types to support previous modules. I maintained TRG bespoke CMS websites as well as TRG Drupal-based sites.

Psycle Interactive World Travel Guide: I developed a Drupal modulea to export site data in XML, to export/import GMAP data in CSV and XML, to import XML data from original site, tightly integrated with CCK. ESPN: I developed Wordpress admin module to handle TV schedule classification. Standalone PHP application to handle TV schedule XML import to common schedule database.

Oxygen8 Communications I handled Linux/Apache/MySQL/PHP support for an in-house project to re-engineer a VB based sales-support application into a non-proprietary LAMP-based application making extensive use of Smarty templates. All User Interface interaction was achieved with XHTML/Javascript/CSS and extensive use of AJAX to provide a user experience as close to the original application as possible (including the re-implementation of complex SMS rate setting screens). I Re-factored over 50% of existing PHP/Javascript and MS-SQL stored procedures. I developed an API for remote access to creation of key database entities.

Stockhouse Inc I handled the emergency support and reinstallation of GRIM paging system, Recovering critical business service impacting 1000 traders within aggressive timescales, also estimated data volumes for the preceding year, based on logfile analysis, to enable a targeted reduction in bandwidth requirements.

Stockgroup Systems

IT Manager I managed the transfer of the IT infrastructure from the main Sila London Data Centre in Fleet Place House to a location in Dyers Buildings. My duties included managing the day-to-day operation of the IT infrastructure; specifying, selecting, purchasing and installing new hardware, software and other services and maintaining the security of the IT infrastructure. Finally I am still the sole developer responsible for the maintenance of the GRIM paging system. Wearing both 'hats' I have overseen the changeover from the BT paging network to the Vodafone paging network (necessitated when BT unexpectedly withdrew their paging network) and the changeover from the Reuters AMS datafeed to the Reuters Market Datafeed System (RMDS). This last required a redevelopment of the main feed handler.

Sila Communications

Reuters Futures Pagers I supported and re-engineered the Generic Real-time Information Management system that processes Reuters Real-time data and feeds the data to a mixture of mobile devices, including Pagers, Mobile 'Phones and PDAs; using a variety of delivery mechanisms: TAP, WAP and HTML.

Management Information System I designed and implemented a Management Information System for the original implementation of the Vodafone Portal, which became the Vizzaviz Portal as part of the Vodafone/Vivendi joint venture. This involved the collection and collation of data from diverse subsystems including: WAP gateways, web servers, email servers and BroadVision servers. The system was implemented in a mixture of Java, Perl and JSPs and data displayed via an internal website.

Programme Builder Application I was project leader on this system written in PowerBuilder against an Oracle database for the Book Club Associates. The system is used to define the contents of the Current Member programmes - the booklets that are sent out regularly to book club members. The system allows the editors to ensure that enough stock exists to satisfy likely demand. The system interfaces with existing legacy applications to ensure that up-to-date records are kept. New books can be ordered when required by the editors; budgets can be set and warnings given if these are exceeded. I have led various projects for this client including several interim developments whilst Phase II of Programme Builder was being specified.

Insurance Point of Sale System I was a team leader on this system written in PowerBuilder/Sybase for Royal London Insurance. The system allows for remote transactions made by agents to be uploaded to a central database that in turn downloads further information to the remote databases via stored procedures and using the replication facilities of SQL Anywhere. I wrote a direction controller object to allow navigation within the application to be defined by data held in the database; as well as various other ancestor objects. I automated the application build and delivery procedure as part of an ongoing process of enhancing the quality and consistency of application releases.

Parcel Status System I worked as sole developer on this PowerBuilder/Sybase system for BMG. I originally developed the system to integrate the delivery status information of dispatched parcels via EDI. I then further extended the system to allow for information on document types, trading partners and import schedules to be defined. I then developed a scheduling module for the system.

Back-Office Support System I worked as part of a team at JP Morgan developing a system to give a consistent control flow for the exotic swaps that the bank engages in, as well as providing Middle Office and Settlement Accounting. I also devised a Re-fix Advice Formatter for all kinds of bank trades. This involved control of Word to handle document formatting using OLE automation features of Word as an OLE server.

Multi-User Entertainments

Dragon Dice I implemented the back-end processing code for a computerised version of a fantasy role-playing game using C/Unix for Interplay. The game was based on a collectable dice game marketed by TSR Inc. I also used PowerBuilder and Watcom SQL to assist in the data capture requirements of this project.

Press Computer Systems

Evening Standard PCS is the largest provider of computer systems for the newspaper industry in its field. I was manager of the group that supported the proprietary operating system under which the main product sold by PCS (Press 11/1100) ran. Under my management, the support group completed the largest installation of Press 11 for the Evening Standard that consisted of 5 systems linked via Ethernet supporting over 200 terminals. I also managed the repackaging of Press 11 as a smaller, microcomputer based system (Press 1100).

Advertisement Booking System I also worked on a replacement advertisement booking system, using PowerBuilder/Sybase for some 2 years. I devised a maintenance tool for the system, which allowed the easy manipulation of Sybase tables as a system manager function. This involved the extensive use of polymorphic windows to reduce the coding load. I was lead implementer for the first 6 months of a Newspaper Circulation System also written in PowerBuilder/Sybase.

BERY Associates

Multi-User Dungeon Having written a very successful fantasy role playing game whilst still at university, I formed this company primarily to implement the game (MUD) for British Telecom New Information Services on a VAX 8650 using VAX-Pascal. The game is implemented as a set of co-operating tasks communicating via shared memory and constituted one of the first commercial exploitations of on-line game playing in the UK.

Knight Programming Support

Power Station Technical Support Centre I was assigned to The Westinghouse Nuclear Training Facility in Pittsburgh, Pennsylvania to complete the TSC system that was then 3 years behind schedule. My particular responsibility was to rewrite the display sub-system to reduce its CPU load and latency. This was done, reducing the CPU load from 35% to 3% and the latency from more than 10 seconds to under 1 second.

Transaction Management System I was responsible for maintaining and supporting the above system for the whole of Europe and in that capacity designed and implemented various sub-systems.

Front end terminal concentrator I provided a Front End processor for a transaction processing system that handled the ATM network for the Societe Generale de Banque.

Protocol driver I designed this character-oriented driver used to communicate with an IBM 2740 cash-dispensing terminal as part of the network mentioned above. It was then used on another project for the Spa soft drinks group where it communicated with Siemens /Micro-Blentrol process control computers.

VT30 driver This driver's handling of serial devices was extended which made the handling of multiple screens and keyboards more flexible.

Block mode screen driver I made extensive modifications to this driver including modem control facilities and security features. The modifications allowed dumb terminals to be treated as though they were block mode terminals with extensive editing and filtering capabilities. A non-CRT mode was also added which allowed hard-copy terminals to be used. This required the implementation of driver overlaying technique to allow the driver to reside in the memory footprint that was allowed.


Analyst/Programmer I worked on various projects, including a Fare Collection system for London Transport where I designed and implemented a service panel processor sub-system; and a Production Control System for Dunlop (General Rubber Group) where I designed various sub-systems and a debugging aid called Plant Data Manager, which simulated all aspects of real plant behaviour.