About this Website


NMS Online has always been self-hosted. It began on a Raspberry Pi 1B which lived on top of a cupboard, beside the router, in our kitchen - since then it's moved between two other Pis and three other servers.

The website as a whole has got a lot more complicated since it started, as there are multiple services running for different parts, many of which need to be duplicated elsewhere for redundancy.

For example, the Ceefax section is hosted as a normal webpage - but the viewer needs a seperate websocket service, which runs on "Cerium", and a Subversion repository, which runs on the appropriately named "Subversion".

In normal operation, all traffic arrives at the Enniskillen Router. Some content is cached here, which gives more flexibility in the event of an upstream server failing. The router then decides where to send each request - or if it should be dropped.


Server Location Status
NMPSERVERS Enniskillen Retired
NMPSERVER2 Enniskillen Retired, died shortly after
NMPSERVER3 Belfast Died in action
NMPSERVER4 Enniskillen Retired
NMPSERVER5 Belfast Backup, due for retirement by 2022 end
NMPSERVER6 Enniskillen Died in action
NMPSERVER7 Enniskillen Backup - Due for relocation to Belfast by 2022 end
Xenon Enniskillen Primary

The original website layout (which this section inexplicably maintains, as well as "Projects" and "Weather" until recently) has a server ident at the top of every page. You can see this change while looking through the site's history on the Wayback Machine. You may also spot it switch over to backup if I'm messing around and/or something has broke.

Rack mounted equipment
NMP Server 4 and 6 briefly share a rack during handover. Server 4 has been retained for an "all-else-fails catastrophe" backup, and lives in the garage

Dell Mini PC and UPS
NMP Server 5 and its UPS in Belfast. My sister absolutely loves it.

Raspberry Pis
The original NMP Server, and the Ceefax Pi, in the same place the main rack lives now

Raspberry Pi with VBIT-Pi HAT
NMP Server 2 also controlled a VBIT-Pi teletext inserter

Rack mount unit disassembled with wires and equipment untidily strewen all over the desk
The main router getting modified prior to deployment. A big feature is it's built in UPS, which is being tested in this photo.

For those in the know: yes, the trimpot has lived in that power supply ever since, and will do for The Rest Of Time

Rack with unti sitting beside it on a chair, messily patched in with trailing network cables
Patching the router into the main network during deployment, very very late one night! Also spot Server 6


Almost all of the pages in this website are written by hand in PHP. Most of this is, of course, just HTML, but things like the Navigation bar, header date and server identifier are all dynamically generated.
There's quite a bit of CSS in here too, I find it a lot easier than other methods of customisation. Some parts are written by other people and are available online, for example the teletext viewer.
No editors were used in the construction of this website - I wrote it all from source code and just fiddled with it until it looked the way I wanted it to. The great thing about not using editors is that you can have it exactly the way you want it - no forced templates or messed up layouts.
One of my original websites - nmp.001www.com - began life with pages from Net Objects Fusion - a great editior, but it didn't give me the flexibility I wanted, so I ditched all the pages and wrote a very simple page in HTML source code. And that's the way it's been since.