I developed code that accepted a list of security names and ticker symbols from the FTSE100, for example:
MyTutor Blog Support
Managed and maintained MyTutor’s WordPress-powered blog as the sole support person. Secured the blog using appropriate plugins, refined custom PHP code, ensured plugins were up-to-date, and collaborated with the theme developer to update the site.
VPN Security Monitor at MyTutor
MyTutor use a high quality external VPN provider. But to ensure that key urls are hidden behind it, I built this simple monitor to test that a list of key URL’s remain unavailable when the VPN is not in use.
RDS User Monitor for MyTutor
At MyTutor, we aimed to ensure that the application database was accessed only by authorised user accounts for legitimate reasons. This project involved analysing AWS CloudWatch logs for the AWS RDS instances to extract relevant information. A list of users and their executed queries was compiled, excluding certain allowed users. The accounts that did not meet the criteria were then posted to a Slack channel for review.
Application Code Security Scanner for MyTutor
I implemented Trivy scanning for the MyTutor application code. Trivy scans for:
Terraform Security Scanner for MyTutor
I took over a project from a previous DevOps engineer who had recently left MyTutor. The project involves scanning Terraform files for vulnerabilities using the tfsec utility. Initially, the scan results were uploaded as an HTML file to Slack, which required downloading to identify vulnerabilities.
MySQL Slow Query monitor at MyTutor
Some of the SQL queries in the MyTutor application were taking a very long time to run. We already had the MySQL slow query log logging them to AWS CloudWatch, but we found they were left unnoticed there.
The Lesson Space monitoring at MyTutor
MyTutor relies extensively on an external SaaS service to deliver their online lessons. This project aimed to implement robust monitoring to quickly detect any service downtime or performance degradation.
Developer at FireTech – Kiosk Student Registration System
To enhance child safety during courses, I developed a student registration system for FireTech. This system, designed to run in kiosk mode in a browser or compiled into a native Android app using Apache Cordova. It featured:
PHP Developer at FireTech – Amazon site
FireTech collaborated with Amazon to arrange visits to the Amazon regional fulfilment centres, providing children with the opportunity to explore the facilities and learn about Amazon’s cutting-edge technology.
Senior WordPress Developer at FireTech
In my role as a senior software developer at FireTech, my responsibilities were:
PHP/ColdFusion Developer at Zonal
My responsibilities encompassed PHP and Adobe ColdFusion development, focusing on implementing new features, planning development initiatives, and resolving issues through bug fixing.
Refactor Plusnet BACS Billing for Plusnet
The first task was to gain a deep understanding of the existing legacy system and produce detailed documentation.
Plusnet GDPR
At Plusnet, I was lead developer in the Agile-based Plusnet GDPR Team, where my responsibilities included:
NHS Live Wait Times App Welsh Translation
This project expanded the app’s capabilities by incorporating multi-language functionality, specifically focusing on Welsh, with provisions made for adding additional languages in the future. Updates to the app’s dictionary can now be seamlessly performed online, eliminating the need for users to manually update their app on their devices.
NHS eAIMS project
I served as the sole developer on this project, constructing it as a C#.NET web application with Entity Framework utilised for database access. AngularJS was used for the front-end functionality of the application.
NHS Live Wait Times Android and iPhone App
The app enables users to search for sites based on postcode, device location, or locality. In addition to waiting times, it provides details such as opening hours, available treatments, and parking information for each site. Relevant news feeds related to selected sites are also featured.
VBA Payroll Application for Staffline
Staffline provides temporary workers for agricultural work, specifically picking leeks.
Dollcrafts E-commerce WordPress site
Built on WordPress with the WooCommerce plugin, I integrated text message notifications to promptly alert company staff of new orders.
NHS UHNM Active Directory security in PHP
This project was another part of my role supporting the internal PHP systems at Royal Stoke Hospital.
NHS UHNM legacy PHP systems
A prominent developer at the Trust had left leaving over 2 million lines of unsupported PHP code spread across numerous inter-related applications. The trust needed someone who could quickly become proficient at maintaining the code, develop new functionality, and offer advice on redeveloping the systems to their in-house standards.
This involved:
• Supporting the applications for the 8,000 Stoke Hospital users. This later became 12,000 when the Hospital merged with Stafford Hospital.
• Developing and maintaining a Virtual Machine to emulate the live system in isolation. This was then used for development and testing of changes to the live system.
• Making database updates to the live database to keep the system up to date and functional.
• Implement an authorisation system which integrates with the Hospital’s MS Active Directory structure.
• Developing a backup solution for the code and data, and preparing for disaster recovery.
• Responding to helpdesk requests, liaising with users to identify problems and provide solutions either by code changes, database updates or training.
• Redeveloping the import process for Staff-In-Post data from HR systems. This was a new PHP/MySQL application to parse the incoming data, and load it into the live database. I used jQuery UI to add a user friendly front end.
• Active Directory group maintenance. The BI team needed a way of easily managing users Active Directory groups. I wrote a suitable utility in C# .NET.
• Supplies & Procurement required management reports and graphs. I coded some pages using PHP/MySQL, jQuery and Google Charts.
• Other ad-hoc development such as developing Report Builder 3.0 reports for SQL Server.
HOPS Linux Server
HOPS required a reliable server to host essential business applications. This server was crucial for hosting the client portal, generating nightly management reports, and facilitating an authorisation API to the MS SQL server.
HOPS Customer Portal
HOPS operated an MS SQL database on Microsoft Small Business Server which had fallen out of support. The database was overly complex, housing over 100 tables and more than 400 stored procedures and functions.
HOPS Nightly Excel Reports
Key personnel at HOPS rely on daily management reports to monitor daily operations, particularly as much of their work occurs off-site. To meet this need, they requested automated nightly generation and distribution of these reports to designated staff members via email.
HOPS Website
The HOPS website required modernisation to include specific legal compliance information. I proposed using WordPress to create a basic brochure site, utilising its CMS capabilities to empower existing staff to update the required pages.
HOPS Text Messaging Promotion
As part of a marketing campaign, HOPS invited potential candidates to engage in a text message dialogue to determine their eligibility for a government-endorsed training scheme. I developed a system to send messages and process replies according to a predefined script, ensuring it could handle accidental and intentional misuse.
Incommunities Development Environment
This server became my primary development tool throughout my contract and was subsequently adopted by the resident development team.
Incommunities WordPress Plugins
The first WordPress plugin enabled document sharing and meeting bookings for internal staff. I customised an existing plugin to meet the client’s specific needs.
Salesforce Payment Interface
I led a team of two PHP developers to accomplish this. The project involved using PHP to generate XML data, which was transmitted to the Salesforce gateway via SOAP. Result codes from Salesforce were then interpreted and relevant messages displayed to the website users.
HomeServe CMS
I developed a CMS that worked seamlessly with the existing templating system, enabling copy editors to log in, modify text, and manage revisions of site content.
HomeServe White-label sites
I was part of a team responsible for implementing and maintaining these white-label sites, ensuring each micro-site was tailored to meet the clients’ specific requirements and satisfaction.
PHP Support for HomeServe
I joined HomeServe as one of two contractors hired to support their legacy PHP application developed in the CakePHP framework. The decision was made to refactor the code in ASP.NET. Along with the other contractor, I collaborated with the existing PHP team to wind down the current application, address imminent issues, and assist in the early design stages of the new .NET solution. During my two years at HomeServe, I eventually led a team of two other PHP developers.
FVC OpenVMS Upgrade
The old system was a DEC VAX running VMS 6.2, and I was tasked with modernising it due to the hardware no longer being supported.
OPCON Production Control System
I designed a resilient three-node cluster spread across two data centres, each with separate power and communication links to the production facility. This setup ensured that the plant could be operated from either data center in the event of a hardware, power, or network outage.
VRM Vehicle records archive and search facility
I was tasked with developing a robust system from scratch to securely store and provide searchable access to this information via tools on the Jaguar Intranet for authorized personnel.
OpenVMS Programming
These projects focused on crucial system maintenance tasks such as backup and restore operations, startup and shutdown procedures, printer and batch queue management, and user administration.
Jaguar VMS Support
- Networking configuration
- Disk Shadowsets
- Application program development
- Operating installs and patches
- File system journals
- Backups (System and Application)
- Hardware configuration
- Disaster recovery planning
The hardware setup included a cluster of four Alpha 1000s running OpenVMS 7.1, with three shadowsets providing shared reliable storage for both the application and operating system.
Delphi Admin System
I wrote an administration system in Delphi to achieve this. It was a simple stand alone PC based application, but it was ideal for our needs at the time.
Mercia Servers
One of our initial tasks was to build and configure web, FTP, Usenet, and mail servers, each running on Linux-based PCs. This project required me to familiarise myself with early versions of many GNU and open-source packages, including Sendmail, WU-FTP, and Apache.
Quasar PEPS Module
As part of a small team of three, I developed the Quasar PEP (Personal Equity Plan) module, an investment instrument in the UK similar to a modern ISA. We managed the project through its full life cycle, including screen design, module coding, unit and integration testing, and writing user manuals.
Qforms
I joined a small team tasked with modernizing the software by adding a contemporary MS Windows front-end. I proposed running the existing application in “server mode” and using a Windows client to feed it keystrokes. Mumps procedures interfaced with Windows requests, sending appropriate keystrokes to the legacy code. The output from the legacy code was intercepted to automatically generate and cache Windows dialogues.
Quasar Support
Quasar featured a core system with general functions and libraries of reusable procedures, along with numerous modules offering various client features, which were sold and supported individually.
Pirates Computer Game
Although the game did not sell, I thoroughly enjoyed creating it. The logic involved developing a fast algorithm for character navigation through the maze, effectively handling dead-ends and loops, but giving a near optimal route from a given start point to end point.
Commodore PET Undelete
Since no undelete utility existed for the PET operating system, I researched and decoded the filesystem byte structure to write my own undelete program.
Commodore PET Assembler
Having a strong foundation in BASIC, I was eager to delve into assembly language on these machines. Since an assembler wasn’t available, I took the initiative to develop a two-pass assembler using PET BASIC.
Invaders Return Computer Game
The resulting game, inspired by Space Invaders, featured invaders that occasionally peeled off for bombing raids. Although the project was not commercially successful, it provided enjoyable gameplay and a fulfilling coding experience.
Expert System Shell
For my HND project, I developed an expert system inference engine intended for an IBM PC, utilizing C programming. Initially, I implemented all algorithms on my BBC Micro using BBC Basic, which was accessible at home. Once I verified the logic, I translated the code to C for my final year project. Following successful completion…