RSSAmplifier

Blog

Matthew Somerville

Online writings of Matthew Somerville, a web developer in Birmingham.

dracos.co.ukRSS feed ↗47 posts

Latest posts

Requesting wildcard SSL certificates via DNS with Sympl

This means I need fewer certificates, and works around the IP blocks

Blocking an ASN (or similar)

How do I stop a chunk of artificial bad traffic to my sites

Classic FM Hall of Fame, past ten years

As we were travelling on Easter Monday and so listened to some of the Classic FM Hall of Fame, I wondered how pieces had changed position over the years. Thankfully they’ve used the same IDs for the past ten years, which meant I could this evening make this

Buying a Daytripper Family Plus ticket

Details on how to buy the any bus/tram/train West Midlands day tickets

2025 in review

A personal summary of the past year, after reading a couple of others from friends

A Twitter to voice bot

or How I almost ended up deleting all my files

Converting a 415 page PDF of Birmingham Secondary School Admissions

If you have (or know) a kid in year 6 in Birmingham, you may find my HTML version of their 415-page PDF easier to read

Playing Wonderland in 800x600

How to get an old text adventure game playing at its full resolution

In the Night Garden, epic version

I OTT harmonized the tune some years ago when I was watching it a lot

Bots finding adlegem.dracos.co.uk

The strange fake Chrome bot visiting my new website

A Scottish Grand Tour by public transport

Making a website to help with our trip round Scotland

Reading legislation.gov.uk on mobile

Writing a proxy to turn a desktop-only website into something readable

How, in 2025, to put music and podcasts on an MP3 player

It is more complicated than you might hope it would be

Advent of Code 2024, day 7 - Perl walkthrough

I have been keeping up with Advent of Code so far this year, and thought after a week it might be nice to have a more detailed look at one of the entries, with commentary

Solving the 4D Sudoku cube

I have just come back from a short break in Alnmouth, and where we were staying had a “4D Sudoku” puzzle. The website for this puzzle is long gone, the Twitter account has not been updated since 2011, there does not appear to be any solution anywhere on the internet. I was on my own.

Use-ing SVGs with inline style blocks

Is it possible to use an inline svg referring to an external svg and have the stylesheet apply?

Adding view transitions to traintimes.org.uk

My experiment at adding the new multi-page view transitions to my train site

2023 in review

A personal summary of the past year, after reading a couple of others from friends

Searchable transcripts of the Post Office Horizon IT Inquiry hearings

Details about my site that a copy of the official Post Office Inquiry transcripts and makes them available for display and searching, with a look at the technical behind-the-scenes

Using the CSS :has selector for conditional questions

Someone asked if it was possible to show a question in a form I was making only if the answer to the previous question had been yes. I was beginning to reach for some straightforward JavaScript to spot a change in the first question and update the display of the second, when I thought to myself - could I do this now with CSS?

List of vegetarian Walls ice creams

The list is smaller than you might think

On the naming of stations

Suggestions for local new station names and the borders involved

My eInk dashboard

How I set up my 7-colour eInk screen with weather and public transport

A-puzzle-a-day solutions for January

A look at the various solutions we have found to our A-puzzle-a-day calendar

Local lockdown lookup

Brief history of my Local lockdown lookup tool

Cross-border postcodes

Working with split postcodes, including across the England/Scotland border

Using Catlight with GitHub Actions

How to get the results of GitHub Actions in Catlight

The journey of my Wondermark book

I bought a Wondermark book at the end of May. It arrived July 3rd, and I thought I’d take you on its journey…

Looking at coronavirus.data.gov.uk

Exploring how much data the official coronavirus data website uses, compared to a version I made last weekend

Perl weekly challenge 56

Some notes on my submission to the 56th Perl weekly challenge

Prague by train

Details of planning a trip to Prague by train with choir this coming April

2019 in review

A personal summary of the past year, after reading a couple of others from friends

My ethical investment strategy

I spent a lot of time looking at ethical investment at the start of 2018, and finally got around to writing up a potted summary of what I did.

My Windows Subsystem for Linux setup

My trusty 2011 Macbook Air had started to show its age – a couple of missing keys, the fan being on pretty much all the time – so I looked for a replacement. After some tedious investigation, I settled upon a Dell XPS 9370 from their Outlet store. Windows 10 can run Linux now, so it seemed like an interesting thing to spend some time with, and if it all went sour I could always fully…

Travis status in my menu bar

I run tests on Travis a lot, so would like notification of when they have finished running. However, I am allergic to things such as email and Slack notifiations, so I found another way.

CSS end of page colour

It seems quite common for a web page to have at its end a footer in a different colour from the main page background. But is there an easy way of having the footer colour continue to the end of the browser window?

Viagogo Please Wait pages

Viagogo are in the news again, so I took a quick look at their site. I saw that they are selling tickets for Janelle Monáe at the Manchester International Festival for £75 and up, even though tickets are still available from the official site at their face value of £35; but I also noticed something funny about their Please Wait pages.

CSS-only multiple choice quizzing

I followed a link to one of those Guardian end-of-year quizzes on my phone (probably this one), and had answered a few questions before realising that it was working entirely without JavaScript (I have JavaScript disabled on my phone because a) it cuts out most of the ads, b) it cuts out lots of bandwidth and I have a limited data plan, and c) my battery lasts longer because it’s not processing…

traintimes.org.uk performance notes

On Twitter last week, Bruce Lawson asked people to write up their performance optimisations. I’ve had some bits of time to make some improvements to traintimes.org.uk, and so here is a short essay/notes (I don’t get much free time at present for various small-person-shaped reasons) on how this site is currently seven times quicker than the official site on a mobile.

FixMyStreet 2.0 JavaScript performance

The JavaScript on FixMyStreet has gradually evolved over many years (we launched in 2007, remember!), and while we were working on other features in this area (such as HTML5 History) it was a good opportunity to tidy up the JavaScript, making it clearer and simpler, which in turn improved the site’s performance. Below I’m going to go through most of the steps I took, not necessarily in the order I…

Photo upload and progressive enhancement for FixMyStreet

FixMyStreet has been around for nearly nine years, letting people report things and optionally include a photo; the upshot of which is we currently have a 143GB collection of photographs of potholes, graffiti, dog poo, and much more. 🙂 For almost all that time, attaching a photo has been through HTML’s standard file input form; it works, but that’s about all you can say for it – it’s quite ugly…

Using Django’s StreamingHTTPResponse for JSON & HTML

[There is also a video of this post.] A few of mySociety’s developers are at DjangoCon Europe in Cardiff this week – do say hello 🙂 As a contribution to the conference, what follows is a technical look (with bunny GIFs) into an issue we had recently with serving large amounts of data in one of our Django-based projects, MapIt, how it was dealt with, and some ideas and suggestions for using…

Bad Bank Holidays

Is it possible Scotland took two Bank Holidays that didn’t exist? Update: Yes!

Technical look at the new FixMyStreet maps

This post explains how various aspects of the new FixMyStreet maps work, including how we supply our own OS StreetView tile server and how the maps work without JavaScript.

JavaScript international­isation, or why Rudolph is more than just a shiny nose

Dunder sat, glumly staring at the computer screen. “What’s up, Dunder?” asked Rudolph, entering the stable and shaking off the snow from his antlers. “Well,” Dunder replied, “I’ve just finished coding the new reindeer intranet Santa Claus asked me to do. You know how he likes to appear to be at the cutting edge, talking incessantly about Web 2.0, AJAX, rounded corners; he even spooked Comet…

The myths of England’s “absurd laws”

Something that annoys me no end, and I realise there are probably more important things to get annoyed about, but do bear with me, are urban legends, specifically those concerning old laws of the UK.

List of vegetarian Mars products

Mostly historical now, as Mars label their products appropriately, but they didn’t use to.