This is a selection of projects I have worked on. Some very mainstream, some very fun.
Give the page a few seconds to preload images!
As some people at work are blocked from seeing my puzzle sites, I'm hosting this page on one my serious domains — but try the cool puzzle stuff in the side menu to see if that works.
The '3D' Virtual Event Project
In response to the Covid outbreak in 2020 we migrated our events platform to online only and then hybrid as lockdowns were relaxed. To make this interesting for people using zoom for the first time I created a 3D story-board for all events that took them through an imaginary event but still had all the real world features - exhibitors, posters, a speaking schedule. And a chat feature that allowed people to see who else was at the event. Visitors showed up on the exhibitors and posters pages as little tags so they could be spotted by staff and poster delegates and allowed to interact. This system was created very rapidly in Daz Studio and Hexagon and was ready for the summer of 2020 and is used on all hybrid events.
Only the people were purchased model assets. Native JavaScript with JSon data loaded from SQL. Other modelling projects are in this gallery.
The Eventflo Conference Management Platform
The Eventflo platform has been my biggest project - lasting ten years from 2013. I'm extremely proud of the effort and collaboration with the clients that have made this very slick. I can only show a small number of the many functionality screens in the main client admin area, but these are some of them:
1 / 11 Event listing page filtered for past events
2 / 11 Event Information - all the main settings here
3 / 11 Top of the Abstract processing section
4 / 11 Top of the 'Edit Abstract' page
5 / 11 Part of the Schedule editor where content is put on the calendar
6 / 11 Part of someones ticket list
7 / 11 Top of the Exhibitors Management List
8 / 11 Attendee search and filter page to manage bookings
9 / 11 Part of the event customization - naming conventions
10 / 11 Top part of the Reports section with data export options
11 / 11 Part of a customer report dashboard sent to exhibitors by clients
I can show you around the Client Admin Area upon request. The public side of Eventflo is available to view although the Registration Wizard will not show since these are past events. For example the same event as the 3D version above plus the recent Glasgow event:
This database and Monte-Carlo simulation engine predicted the project timescales for North Sea and Atlantic wind farms that Centrica plc was intending to build. It measured the risk. All kinds of data could be entered and detailed plots and reports would become available. It was designed and written in a remarkably short time - 90% done in six weeks and then some polishing afterwards.
Later on I worked on a different Monte-Carlo simulation model for a different offshore project with more emphasis on collecting risk items rather than project scheduling.
Part of the data export included a chart exporter with all these automatically prepared charts and tables inserted into a template document.
Eventflo Exhibition Hall Floor Planner
My last edition to the evenflo system was an exhibition layout planner built in just one week. The requirement was that it be larger than the screen so zoom and pan essential. Using the palette menu on the left it is possible to define block and drop them onto the grid. These have properties such as demensions, rotation and can be assigned to an exhibitor indicating a booked stand. Colors for the elements :- background, border and text can all be set in a popup colour picker.
Constituency Boundary Mapping Project
I was asked to locate constituency boundary data for a Council website for voters checking which constituency they were in. So the data needed to be accurate to the street level. However the best data I could find was over 200mb and wholly unsuitable to be placed on the web. To clean this up
I removed half the digits of each point since 11 decimal places goes down the atom
Wrote an interpolation algorithm to remove most points since there could be a twenty just to curve round a T-junction. But still leave lines that were sufficiently accurate.
De-deduplicate the boundaries since neighbouring constituencies could share the same boundary.
Remove most of the low-tide mud-flats data since no one lives in the sea.
Change the data to the KML format and make it work on Google Maps.
This version has been updated to use the current API.
This map contains the currently selected Constituency with all neighbours in outline.
Click on a neighbouring name title to go to that Constituency.
Use the mouse wheel to zoom in and out.
Use the left mouse button to pan and drag.
Pentomino Problem solved with Dancing Links
While on holiday I was fascinated to read Donald Knuth (Stanford University) famous paper "Dancing Links". This set out for the first time a new algorithm for "exact cover" tiling of limited planes by specific sets of shapes whose areas sum to that plane. Specifically we want to efficiently iterate through all possible packing solutions. Knuth goes into the history and methods in the paper which I recommend reading for those interested in such things.
Turning this idea into code was a very interesting mini-project and I'm happy to include the full
If you are going to use Dancing Links in other situations the hardest part is thinking about how to convert the objects in your problem into definitions which are suitable for this algorithm. Fortunately Knuth gives us most of that for Pentominos. My program has been set up to find the solutions to these three shapes:
Classic puzzle I had as a toy as a child. Turns out there are 5220 solutions which I provide here in a series of files.