Thoughts on website ideas, PHP and other tech topics, plus going car-free

This page is an ideas incubator, where I present a selection of project ideas, mainly for software or websites, that I like the sound of. Some of them will have code attached, some of them will be useful as they are, and some of them are just pipedreams. If you want to collaborate on something, please drop me a line - I've love to get some reflections and feedback.


Ideas in this category are just back-of-napkin ideas, and some may always stay that way. I'm publishing them here in case someone wishes to develop them further, though of course their being public may spur me on to do something with them!

Now that she’s older, my cat has recently been accumulating a number of medications she needs to take, and it is getting hard to keep track of them. Some of them are essential, and need to be taken at a specified time; some are good to have, and can be taken at any time. Some […]

I have recently been pondering a way to keep track of purchases for my bicycles. Some of these are components for the bikes themselves (e.g. a new wheel after one was stolen), and some are attachments (bike lights, clothing). My use case is to get a view of: What my total cost of ownership is […]

Introduction I’ve noticed several things with Docker registries: The APIs to interrogate them are either cumbersome, unfinished, or usually only partially implemented Free private registries are rarely found on the web, probably because of the cost of storage and data transfer GitLab are one of the few providers that offer free registry access, but today […]

I see there is a ready-made [WordPress Docker image]( available, and I’m sure it is very good. However, I like my version, since it pulls in the latest versions of the required plugins and themes, and deletes themes and plugins that are not in use. It’d be great to set up a simple JS app […]

I recently donated some money to a small web-based charity, which accepts Paypal payments and electronic bank transfers. Whilst I have no fears that the charity misspends any donations, I realised after giving that I had no idea how the money had been spent. This particular organisation is run by over-worked volunteers, and whilst I […]

Introduction My experience of VirtualBox on Linux is mostly excellent, but there are a few areas in which host data would be good to bring into guests, for the purposes of updating informational widgets. For example, I’d like to see CPU activity and CPU core temperature in a guest VM, so I don’t need to […]

More outline posts…


Proposals in this bracket are a bit more substantial, and feature some sketches or screenshots.

I recently completed a small TypeScript project in CDK, which deployed a lambda and an API Gateway to AWS. The deployed code was pretty simple, but I found the CDK difficult as I’d not done any TypeScript before. I am on home turf with PHP, and I wondered if it would be possible to write […]

Introduction As a person who is both scatter-brained and busy, I’ve gone through various ways of organising my time. For over a decade, I have maintained an electronic mobile-phone calendar, so I can get reminders of where I need to be and when. I like this, and plan to carry on doing it; it ain’t […]


Projects in this category have some code attached to them, in varying states of completeness, and will probably be available in my public git repository.

I have some integration tests for a system that deploys PHP software to an Apache host via FTP(S) and SSH/SFTP transports. The tests run in a Docker image that has FTP and SSH servers installed, and they are stopped and started using shell scripts. This is a bit hacky, and it does not offer much […]

I’ve written a simple PHP script to keep an eye on mobile internet usage, and have open-sourced it under a MIT license for anyone who wants to have a play. It scrapes account data from a provider’s website and stores that data in a local SQLite database. This mini-project gave me an opportunity to play […]

Nearly three years ago, I wrote about the difficulties of finding programming roles without involving recruiters. The problem primarily is that high-quality direct roles are mostly pushed aside in search engine results in favour of highly cross-linked agency noise. A simple solution to this is a crawler system that specifically indexes no-agency roles from their […]

One of the risks of running a public website is that there are plenty of nefarious people – usually spammers and illicit marketers – who want to crack the security systems protecting it. There’s primarily two reasons for this: stealing email addresses of comments to add them to marketing databases, and gaining access to the […]

Rightly or wrongly, one of the primary reasons why new users get a difficult reception on Stack Overflow is sub-standard writing. This is sometimes due to the writer having English as a second language, and sometimes it down to laziness. Unfortunately, manual requests for improvement don’t always go well, which prompts me to think that […]

What is this about? Several of my blog posts are about Meshing, a P2P database layer for sharing structured data across the Internet. At the time of writing it is in a design and early implementation phase, and to guide the new reader, I’ve added this page. I’ll update it as time goes on, to […]


These projects are considered useful already, although they might be subject to further work.

This would make a nice weekend hack project! A website to report (PHP) tutorials that recommend insecure techniques, especially involving SQL injection (I just found another one, and have reported it via the comments). For novelty, render all the sites as labelled divs in a Masonry wall, and bonus points for a cheeky xkcd-style alt-text […]

I’ve been working since Christmas last year on an online PHP tutorial for beginners, which is now pretty much ready to try out. The working title during development has been “I ♥ PHP” and I still rather like that, so I’ll stick with that at least for the alpha period. The course is split over […]

Having fully switched from OS X to a proper Free operating system, I’m finding there’s a few things that the new environment doesn’t quite do as I’d like. One of them is the ability to name terminals per tab in gnome-terminal, but there’s no immediate provision for it. So, I’ve written a simple PHP script […]

When moderating comments in a WordPress blog, the usual practice on a standard install is to just replace the text with the moderator’s message. Unfortunately, this results in the offending comment being lost permanently, making it difficult to look at a particular poster’s history. So, it would be very useful to store this from within […]

WordPress is a pretty great piece of software, and the ecosystem around it is equally brilliant, but it’s probably fair to say that many a plugin is hacky and horrible inside. Everything modern programmers have learnt about separation of concerns, indentation, readability and object orientation seems to be lobbed out of the window where WordPress […]

Many moons ago, when Propel 1.2 was its most recent incarnation, I wrote a web-based program to convert simple bracketed WHERE clauses to equivalent Criteria statements in PHP. This works recursively to parse an expression and stores the resultant tree in a nested system of classes. The system is now of limited usefulness, since Propel’s […]


These are projects that were started that I am unlikely to continue work on. However, if you are interested in taking one over, do please comment - my interest could well be rekindled by yours.

Graph from Good Energy, illustrating fuel mix for some UK energy providers

I rather like this graph from energy provider Good Energy, which shows the renewable/traditional mix for a handful of their UK competitors. It turns out that this data has been made publicly available in the UK since 2005, some of which has been documented on this public-interest site. That site looks at the mix per […]

I was asked by a friend to look into interfacing Paypal buttons with Mailchimp. This seemed like an interesting Free Software project, so I’ve been hacking away on that on an occasional basis. This is a PHP and web-based system, which accepts IPN messages from Paypal to save purchase information to a database. Since it […]

My recent customer complaint triggered an interesting idea for a website; since I don’t think it’s been done before, I thought I’d jot it down. I am inclined to build a prototype, since it seems quite simple. OK, so here’s the pitch. After London Midland refused to refund an unused ticket, it so happened that […]