Moving a Site to Ionos in 2025 on Shared Hosting

I’ve had the occasion to move the domain for Sheffield Environment Weeks from a local IT company’s control to Ionos and I wanted to record what happened for future reference. Takeaways at the bottom: The state of the site The site had the following major issues: No mobile support Required outdated PHP 5 - no upgrade path Broken in many and various ways. (Analytics, sending emails, spam) SSL configured but wrongly, causing browsers to tell mobile users the site was unsafe, and this was starting to show on desktop browsers too.
Read more →

Laravel Contributor

Exciting new for last week. I was working on some unit tests for my new ClubLaunchpad.com site. I was doing some work to determine conflict groups when members want to sign up to conflicting clubs, and each club and each member has requirements and preferences in terms of what they want. As part of this I did some work with the Collection class that laravel uses. It’s a fancy array() in many ways, and is how you would expect a result from a database call to come back.
Read more →

Laravel Filament

I’ve been coding with PHP for a long, long time and over that time lots and lots of that work has been leveraging form buildings and table builders to make powerful and useful (though often dull looking) forms. There’s so many different relations that you can need to represent on a form, and so many different validation rules that you need to capture. And then there’s the mix between frontend permissions, backend permission, and javascript and all the rest of it.
Read more →

Pockets for Women

Mandy made a website for Women who, like her, really want to have proper pockets in their clothes. I remember her coming up with the idea, and then a few years later it turned out it was a pretty common idea. Caroline Criado-Perez had also had the idea, and someone we met a Sheffield Digital event we then had coffee with had the idea too. So it seemed like a popular idea.
Read more →

Laravel Model Caching

This post is about trying to limit SQL queries, by the use of a method called “caching”. I’m going to talk about different methods ways of thinking about caching.
Read more →

You can’t hide complexity without cost

In my 20+ year career as a coder I have seen, many times, cases where someone thought they had found a way to make things easier and simpler, and, this is the crucial bit, more powerful. I did a maths degree at Uni, and I intrinsically understood the problems here. It’s the law of diminishing returns. Let’s get concrete with some examples. The no code lego-esque dream that never dies The first time I thought about it was in my first job out of uni in 2002.
Read more →

Iplocate vs Cloudflare

I’ve been working for a client, and the e-commerce solution I built along with Mandy for them has a multi-currency feature. They wanted to have the customer shown the most suitable currency when they arrive on the site, and so we had to come up with a way to do that. The first thing was to find out which country they were in, and the answer we fell to first was a lookup service by IpLocate.
Read more →

Woo Commerce - A quick look

I spent a lot of my career up to April 2023 working in e-commerce, but I was always focused on specific goals, and specific customers. Mainly Online4baby, but also David Village Lighting, and a couple of others. I worked for these guys for so long and they had such unique needs that they ended up with their own bespoke systems. I’ve often wondered what the off the shelf systems can do, and look like.
Read more →