Analysing, solving, coding, building and supporting since 1978

Peter Fox - CV

work @
(01376) 517206
Witham, Essex, England

Freelance, analyst, programmer, web-developer, tech-author

Experienced odd-job man. The one who can drag out of you what you really want, then tells you what you really need, then gives you the all tools to get your business moving and all the support to keep it developing.
  • PHP
  • MySQL
  • Delphi (etc)
  • Web (HTML, CSS, Javascript, DOM, jQuery, AJAX)
  • AutoHotkey
  • Financial services (various)
  • NHS primary care
  • Manufacturing
  • Inventory management
  • Quality systems
  • Clinical governance
  • Business analysis and consulting
  • Design and programming
  • Web development
  • Technical authoring
  • Training and technical support
  • Quick suitability check

    PLACE Travelling to: Essex, City, South Suffolk Working from home
    TIME Working to suit demand Long-term relationships
    YES Back-end and back-back-end Whole-project implementation
    NO .NET, VB, MS-office Front-end focus and graphic design
    I'm the sort of person who can untangle things, adapt and glue a variety of bits together. Head-down programming in "a fast-paced environment" is for younger, less experienced, folk.

    Web technologies

    I'm most at home with PHP and MySQL on Apache. Nearly nine years of Object-oriented design and programming during which
    • I've developed two frameworks and extensive libraries and development tools. PHP unit test and dump
    • I've developed systems with up to 200 screens and 20 tables.
    • I've tried, but been left disappointed, a number of MVC and widget frameworks.
    • 2004 - 2005 : PHP and MySQL Large system for distributed management for Primary occular care. 200 screens, 25 tables
    • 2006 - 2010 : PHP and MySQL 70 page manufacturing/stores/sales system
    • 2008 - 2009 : PHP and MySQL Database sanitizing prototype. ~17K lines. 25 screens Screen shots.
    • 2009 : PHP and MySQL Cognologs: A publicly accessible self-paced tutorial. See for yourself
    • 2010 : PHP, MySQL, AJAX 25 'page' personnel time recording system

    I've been coding with the ever-moving target of front-end web technologies since 1996.

    • Raw HTML including working with the DOM, XPATH etc.
    • Raw CSS, Javascript, AJAX, (Including inventing a pre-Ajax technique)
    • jQuery is now my front-end framework of choice
    • Here is example - source at bottom of a Greasemonkey 2009 script with hairy Javascript and DOM manipulation.
    • In 2011 I consolidated and refined a large CSSframework for writing documentation in HTML See framework

    Traditional application programming

    In the last dozen years Delphi and more recently Free Pascal/Lazarus has been my main programming language for traditional desktop applications.
    • Applications with up to 40 screens, 25 tables and 20K lines.
    • Analysis, design, build and long-term support of business-critical applications.
    • New applications are being built using Free Pascal for cross-platform support
    • 2010 - 2011 : Delphi Consumer application ~25K lines
    • 2010 - 2011 : Free Pascal/Lazarus Universal updater ~7K lines

    Miscellaneous programming

    Over the years I've coded in assembler, BASICs, spreadsheet scripting, DOS batch files, Java and various proprietary systems.
    • 2010 - 2011 : Autohotkey FOSS accenting program Download to get source
    • 2011 : Autohotkey Automating Sage accounts interfacing

    Before, after and beyond code

    In all of the above
    • I've taken the original ideas or rough specification and turned them into a design.
    • Developed and proved the necessary techniques and tools
    • Coded, tested, implemented and documented
    • Combined technologies as appropriate

    Freelance 2000 - present

    In contrast to the previous era (see below), Windows is now established and networking is opening up the possibility of client-server applications. As businesses and professionals start to become 'connected' access to systems via a web browser makes wide-area cooperation, management and clerical efficiencies possible.
    Portfolio valuations
    1998 - 2009
    Delphi Paradox database SQL
    Analysis, design, implementation, on-going development of a portfolio valuation system. This quadrupled efficiency as well as producing a much superior and more flexible product. Amongst other things this involved decoding and validating a number of price-feeds and automating the billing and payments system.
    • This application embodied the complete scope of the client's operations and was therefore mission-critical.
    • Note the long association with this project.
    Manufacturing database
    2007 - 2010
    Re-engineering huge spreadsheets for marketing, sales, parts, stock, purchasing, WIP etc. as a client-server, multi-site, user-oriented system. The design was constrained by the need to maintain a working system through an extended transition period.
    • Mission-critical system
    • My original design was dismissed by the client who was adamant he knew how it should be done. Fortunately I left the necessary hooks in for when he began to realise the differencve between a manager's spreadsheet and a production information system.
    • On-going close contact with the client allowed me to get into details of their particular ways of working in order to optimise their systems.
    Primary ocular care
    2003 - 2007
    PHP, MySQL, management systems consulting and implementation
    • Consult, analysis, design, implement of a number of paper-based patient referral systems.
    • Complete re-think of the methods of quality assurance including monitoring and self-monitoring of independent clinicians; ensuring data-flows work between partners; formal clinical and clerical protocols; and replacing unsuitable and ineffective clinical governance methods with simple, focussed ones.
    • User guides, specifications, formal protocols for modernised referral schemes.
    • Development of a 200-page distributed management system for Primary Ocular Care in PHP/MySQL
    • Desktop wizard for making referrals in Delphi.
    • Desktop self-audit system for Primary Care Trusts in Delphi 2005
    • Web-based self-audit system for Primary Care Trusts in PHP
    A simple "design us a form" job turned into a complete re-think of the management of primary ocular care. (High St. optometrists, GPs, hospitals, consultants and Primary Care Trusts). A classic case of the disorganised (and unsafe) being taken in hand by an experienced business analyst.
    • 2004 Delphi Physiotherapy clinic appointments and insurance claim system
    • 2004 Delphi Vets appointments, stock and record system
    • 2009 Code igniter small contact-management application

    Freelance - 80s and 90s

    From the days when the twin floppy disc drives really needed two people to lift it, through the time when the internet was for the geeks and networking meant limited runs of co-ax, to ubiquitous Windows networks with dial-up internet access.
    Stockbroking / Financial services
    • Tech support. Including mission-critical local networking.
    • Office systems consultancy
    • Design, build and implement important one-off projects against the clock
    Over 15 years of changing technology and business growth my job was to get more out of existing systems and judge the time to change. A very hands-on role based on the premise that I could quickly glue systems and feeds together to deliver improvements or specific projects.
    • DOS multi-user databases
    Over 12 years, (the original system lasted more than 14 years) I did all the analysis, design, build, day-to-day support, and on-going development for a bespoke tyres database and complete stores system.
    • Scientific inventory management
    • French language teaching system
    • Odd small-business databases
    Before Windows everything happened in DOS with extremely limited memory, and of course much slower computers. A high degree of skill was required to optimise programs.


    Born : 1957
    Citizenship : UK
    Email : work @
    Phone : (01376) 517206
    Location : Witham, Essex
    Engineering degree : BSc Hons

    Working life

    Working freelance since 1983

    Few clients over a long period with bursts, lulls, occasional support calls and policy chats. A long term relationship builds trust and the opportunity to do little bits of work efficiently and quickly.

    Doing other things

    • For many years in the 80s and 90s I was chairman of Tiptree Artistic Roller Skating Club.
    • A not very good dancer, but stalwart member of the Maldon Greenjackets Morris '05 - '10
    • Re-designed and edited the Maldon Little Ship Club newsletter for two years (And did all their IT stuff of course.)
    • Visit my web site for lots on beer, cycling, home-made songs and much other mischief.
    I belong in the pigeon-hole for people who can't be pigeon-holed.

    Breadth and maturity

    It is rare for a problem to come fully understood and it is also rare for a 'fully-specified' solution to be optimal. Further, it is quite likely that not much thought has gone into the connections, implications and motivations required to make the project a worthwhile success. I have had to abandon a job saying "call me when you have got somebody who can read and write in your warehouse." The positive side of this is showing the client where bonus results can be had by a little re-think.

    Long experience develops

    • a good understanding of character
    • the ability to get on with people
    • good communication skills
    • being able to pick up the client's environment and specific problems
    • having the ability to envision all the ramifications of a project

    Of course if you've done 35 years of programming from assembler to XPATH, micro-processors to web-servers, you know how to code frugally, reliably, efficiently and suitably documented. Also you tend to know what are the most suitable tools for any job - often involving a bunch of methods.

    Patience and flexibility

    Fools rush in where angels fear to tread is an apt motto for a system developer. First thoughts are quite likely to be optimistic, first design is quite likely to miss important facets. Obviously there are small projects with well understood parameters, but even with say a simple web page there can be difficulties with sourcing materials, finding people commited to maintaining it - not to mention lack of understanding of what's important and what impression is conveyed to the reader.

    'Get it right first time' is a coder's motto. This is fine in a tightly controlled environment with plenty of test data and limited scope - but that is often a tall order. Sometimes systems need the last 20% to be developed with the benefit of everyone's experience. This may take a long time in fits and starts.

    It may be necessary to adopt new technology or invent it. There is a fine judgement to be made between useful investment of time and effort and wasting time changing horses in mid-stream.

    Other projects

    I've been lucky to have had the spare time to invent, research and write.
    • AX: Incredibly simple system for universal accents written in AutoHotkey
    • Data bender: PHP mySQL System for sanitising databases to allow safe exporting of data
    • D/a/y: API for dealing with dates such as 'Not-known', 'Before we started counting' and 'May 2010'
    • Treems: Remote electronic working. "Social networking is like having the works canteen without the works"
    • 12 Rs: There are 12 Rs (and 12 maturities) not just 3
    • Quality: Bad-Good-Best model of clinical governance - applicable to much more.
    • Better File Manager: Delphi Soon to be released desktop application for the less technically minded
    • Disgust with badly designed web pages lead me to write Javascript/Greasemonkey reformatting scripts for BBC radio and National Rail Enquiries
    To see/download the PDF version please click here