Programming over the years
Programming has been my work and my hobby my whole life. I love the craft of making computers do my bidding.

PHP & WordPress
From the 2010s ’til today, I’ve been wrangling WordPress websites (for YTKO, myself, and others). I’ve written many custom plugins along the way to do things like event presentation, fragment re-use (before blocks existed), inter-site data transfer, and role-based access control.
PHP & MySQL
In the early 2000s – like many web engineers of the time – I used PHP to write a full-featured news, events, and membership website for YTKO’s Enterprising Women project. It won an award!


Perl
In the mid 90s, while working for Chadwyck-Healey, I made their first website, include a Perl-driven search of their catalog. In the early 2000s, during my long strint working for YTKO, I wrote an email blasting system that by 2013 had sent out 10 million marketing emails: each one constructed and sent by a Perl script (and tracked with PHP), all running off a big MySQL database.
C & C++
In the mid 90s, while working for a tiny CBT (computer based training) company, I was programming in C on DOS (our corporate training product called ExpertEase), and in C++ on Windows (creating an interface to review summaries extracted – using NLP – from technical abstracts for an EU-funded project).


Bacis2
In the early 90s, while working CIS/Prime Computervision, I wrote the reference and tutorial guides for their in-house language Bacis2. Using that I first prototyped a hypertext implementation of their help system, then went on to extend the capabilities of their MEDUSA Plant Design System (MPDS) to support ducting.
PostScript & VAX Basic
In the late 80s, while at CCAT (now Anglia Ruskin University), I wrote a non-WYSIWYG text formatter called PROFF. The code to parse the marked up files was written in VAX Basic, but the majority of the work – and all the logic – was written in PostScript and executed on the then new laser printers.


BBC Basic & 6502 assembler
In the mid 80s, while at university, I used a BBC Micro in my final year project to control the position of a pneumatic cylinder. This was using a BBC Basic program with embedded 6502 assembler (to reprogram interrupts to create pulse-width-modulated signals to the solenoid valves).
Honorable mentions:
- awk – extensions to fail2ban
- sed – deploy scripts
- Tcl – early static website generation
Benjamin