Iain's IT Solutions Ltd.

Iain's IT Solutions Ltd Mobile Nav Menu

Freelance Software

Specialist in developing back office and process management systems

Tea cup

Latest News


Started to work with PHPSpreadsheet - part of PHPOffice - to create Excel spreadsheets dynamically from a PHP web application.


Went live with updated website: baggiaknifesharpening.co.uk

Set up Secure Shell (SSH) access to one of my sites.  This streamlines the daily data backup process and allows me to run MySQL functions via PuTTY to quickly restore databases.  This method is much faster than uploading to PHPMyAdmin and doesn't have the upload file size limit.

Integrated MailJet into a PHP web application.


Downloaded the trail version of Robotic Process Automation (RPA) software Blue Prism.  This allows me to keep current with the software between contracts.

Various updates to a C#/SQLite/Windows Forms desktop application which automates report running.

Refinements to my online invoicing system icq32.co.uk - mainly off the back of doing my annual tax return.


Went live with a new, very basic website munrohighlandhire.co.uk


Upgrading a PHP MySQL web application from PHP version 5.6 to 7.2.  Changes made so far:

- Updated the TCPDF library as it had each() functions which are deprecated.
- Changed the way I create dynamic variables from $$variableName or $$row['name'] to ${$variableName} or ${$row['name']} - so adding curly braces.
- Optional variables in function need a default value.


Finally figured out how to deploy and update Excel Add-ins and create nice ribbon menu items to run them.  Uses Custom UI Editor with XML editing, a batch file and a VBScript file.

Adding audit log to PHP MySQL web application.  Storing date and time of change, value before, value after the user who made the change.


Installed Visual Studio Community 2017 and upgraded some of my VS2013 applications to 2017.  All seems to have gone okay.


Working on an MS Office reporting application.  VBA code behind a Form in MS Word is run to import and format data from multiple Excel workbooks.  The result is a nicely formatted report in MS Word which is exported to PDF.

Figuring out the Facebook API.  The aim is to have a news item on my bespoke CMS and post it to Facebook - so a news item can be entered in one place (the CMS) and posted automatically to Facebook.

Doing a presentation on the range of my IT services to local businesses at the Independents' Breakfast Club


Did some testing of Google Cloud Platform - Cloud Spanner.  I was able to create and host a MySQL database on their server.  Perhaps on my next web database project I'll host the database with them.


Did some testing of HTML5 Local Storage.  It persists nicely if you close the tab, the browser and restart the PC.  It's cleared if you clear browser history and cookies.  Could be useful for a new project where storing data while offline is required - without the need for PDAs or a mobile app.

Connecting a C#/Visual Studio/Windows Forms application to a local MySQL database.

Set up a VPS using Webmin, added a domain and after a lot trial and error, got it working.  Also set up SFTP to upload files to the new domain.  Until now, I've only used cPanel.  This seems to be the level above - good learning experience.

Adding throttling to a PHP email sending mechanism.  Emails are sent from a private members website to all signed up members.  Due to sending frequency limits imposed by the web host, we couldn't send to all members in one go, so a cron was used to send emails to subsets of members at timed intervals.

Redesign/rebrand of my online invoicing system icq32.co.uk.  Responsive/mobile friendly layout with a nice slide-down menu when viewed on a mobile.

News Archive
Web Desktop Other
PHP VB.Net Web Apps
MySQL SQL Server Desktop Apps
JavaScript VBA Databases
JQuery Excel
ASP Access