Mum passed away at 1:17am this morning.
I think, it’s quite safe to say that 2020, has been an insane year.
I didn’t do my usual post at the end of 2019; and I didn’t do much for the start of this year either with my blog. There’s a lot of reasons for it; but on both a personal level, and indeed a global level – I think 2020 is a year that my generation will remember for quite a while.
It’s a year in which, the global markets stopped, then through sheer force of will, continued on. The age of the internet and remote services & tools were forced into a level of maturity that up until now, were only something the novel few could dip their toes such waters. Indeed, my own blog post (this post you’re reading now) is all about figuring out being able to work from anywhere, at any time.
2020 brought with it, COVID-19; which brought with it – significant health risks, and significant situations to my life that honestly, I never thought I’d see.
2020 was actually going to be a rough year for me anyway, as I moved towards focusing on caring for my elderly mother. I’d moved back home, and have been deciding what to start discarding in an almost Marie Kondo-esque fugue state. My home has always been filled to the brim with old knick knacks and gadgets, not to the excess you see on Marie Kondo’s show, but still – quite impressively full of old tech, clothes, and furniture.
There’s a lot to keep track of, and I’m in the process of decluttering my life. To do this, I’ve turned to a really interesting application that my friend and colleague, Matt, has pointed me to — Notion (https://notion.so). It’s kind of an all-in-one workspace style data collection application, kind of like Evernote.
It works across iOS, PC, Linux – it’s a web based application that’s very responsive. It provides a great way to take notes and keep organised, especially in the current hellscape of things in life right now.
Most of my work nowadays, involves documenting, designing and guiding the team I’m in charge of – and similarly, the importance of documentation has started to become all the more apparent to me. For a while now, I hadn’t been able to find the right system that’d let me create something of a private knowledgebase/wiki that I liked.
Cue in, Wiki.js – a gorgeous looking Wiki package, that while still very much in development – also very much runs with how my online infrastructure is designed. It’s powered through some docker-compose configuration, it has both git and local file backup capabilities, and lets me mount my data as I see fit.
It’s not the most complete application right now – still being heavily in development, but it does some things better, and more beautifully than something like BookStack my previous Wiki of choice. And it doesn’t have the fluff of Confluence from Atlassian either.
A winner in my books.

Over the weekend, I wrote a service loading daemon for my Minecraft server that essentially allows me to interact with players to create custom, scripted actions and dynamically run commands – all tied into a Database thanks to the comfort of PHP!
I’ve aptly named the system the Minecraft Assistant Interactive Daemon (MAID for short). So far things have been working wonderfully but we’re still exploring the possibilities with this tool; from gathering player positions, to inventory security, and more! The system is based around a PHP script running in a ‘daemon’ mode that never times out, and monitors the console of the server – it reacts to things that then happen via the console (picks up commands, events, and so forth) – and updates as needed – be it via a website, database, or otherwise.
A big benefit of how I’ve implemented MAID is that I can run a Vanilla based Minecraft server, that still allows for the latest versions released by Microsoft to run – without essentially affecting functionality.
The current plan is to have:
- Custom vault control – players can protect valuables in a web-managed inventory/delivery system
- Production of materials – a “maid hiring” system, where players can pay an amount of emeralds for various maids that’ll help them acquire resources
The system is essentially a PHP based plugin wrapper on Minecraft – it doesn’t directly interface or interfere with the Minecraft client’s functionality, but instead runs as a parallel service alongside the server. So the only real drawback is a lack of real-time in-game interaction and even then, some degree of interaction can be created via the command-block system; all the features of Command Blocks are directly accessible to the MAID system.
I’m keeping it in a private repo for the time being; but in the near future I might look into releasing it 🙂

It’s really interesting to try and build out all the solutions of a modded Minecraft server, into a vanilla server! This morning, I encountered an issue where Villagers were unable to execute their regular mechanics (repair items, farm, breed, etc.) due to me disabling mobGriefing in the server’s game rules – this prevents them trampling crops, blowing up blocks, etc.
I ended up needing a solution via CommandBlocks which I’ve now had to carefully hide into the architecture of my little home so that other players on the server don’t inadvertently disturb it. I attached the following command to my CommandBlock, and set it to Repeat, Unconditional, and Always Active:
execute as @e[type=creeper,nbt=!{ExplosionRadius:0}] run data merge entity @s {ExplosionRadius:0}
There’s only one small disadvantage right now – Creepers don’t actually deal any damage anymore…! I guess this kinda makes them… huggable?
Northrealm as a whole – proceeds well! It’s less a sort of MMO style map/game as it is just a creative, adventurous sandbox right now. Eventually I might start building in specific styles and locations into different regions; but it’s more important to just stick to building what’s fun and chilling in the server.
It’s fun, in and of itself – coming up with solutions to our server’s problems without the need for heavily modifying the server itself!
So some months back, I backed this mechanical keyboard, the Keychron K2 on Kickstarter – I’d been on the hunt at the time for a wireless keyboard that really, I wanted to use with all my personal devices. A keyboard to ‘rule them all’ for all the areas of computing I have in my life.
I had three main areas that I wanted to use the keyboard on:
- My desktop PC
- My work PC
- My PS4 at home
Aside from that, I wanted it to also be wireless, and not have me tethered to a machine – I wanted to be able to pick it up, slip it into my backpack, and carry it between the office and home. Bluetooth connectivity was a must in case I decided to use it with a number of other devices I had laying around. The Keyboard arrived on Wednesday last week – and I’ve been using it as much as I can over the last 5 days.

So far, I’ve been thrilled with the keyboard – its touch feel, the key action – the sound, and the size of it make it a very satisfying package to use as my daily driver keyboard.
Only complaint I’ve had so far:
- I hate the placement of the Page Up, Page Down, Home and End keys -they could be better arranged on the right-hand side of the keyboard. I feel that the order (from top to bottom) would be better off as Home, Page Up, Page Down, End
You can see the layout complaint I have below in the diagram of the keyboard’s layout:

Aside from that – the lighting is great, keys are easily removable and the keyboard is super maintainable! I’m a huge fan of this keyboard, and can’t stop gushing about its usability and space-saving TKL 87 key design. I barely miss the numpad (although it now means I need to rethink how I bind my keys for MMO playing!)
All-in-all though, this keyboard scores a very high 8.5/10 for me, and has taken its place in my inventory as my daily driver keyboard; for all my regular code bashing and computing.
Well now, over the last month or so; I’ve been running a Minecraft server that I’ve tentatively called Northrealm, after a dear friend, Claire Northman. Claire passed away in 2012; and it’s an event that I’ve carried close to my heart ever since.
It’s been a complicated run for this ‘server’ of sorts – over the last near-decade, I’ve been tinkering with a variety of Minecraft servers that are modded, in various levels of interaction – in an effort to build the ‘ideal’ fantasy world that would represent everything Claire loved about Minecraft.
Finally, I settled on the idea of just running a plain, standard, Minecraft server. One that my friends and I can play on, and build upon using only the unmodified, basic installation of Minecraft. Luckily for me, the game’s reached a point where a lot of features that were once mods, are now doable within the confines of standard Minecraft!
Anyway, I’ve started by opening the gaming/Minecraft section of my site – it’s completely bare, except for an interactive map that gets generated at about 4:34am UTC every day. The map has zoom/drag capabilities, and should be fairly high res enough for people to use. It’s powered by Overviewer!
You can view a larger version of the map by visiting https://minecraft.jtiong.com as well. (NB: these links don’t work anymore! – JT, 29/05/2022)
Coming features over the next few days will include:
- An ability to create an account, and apply to join the whitelist for this server
- Some rules and regulations on this
- A materials pipeline that somehow interacts with players online and offline
The third point in particular, is of interest to me, because I’d really love for players on the server to be able to “build” something on the site, which then generates an amount of materials over a time period, which can then be deducted from a player’s inventory. My initial thoughts on the flow of such a system would be:
While a player is online – they will have the ability to:
- Construct basic workshops – these can refine raw materials, create basic components
- Recruit workers, these workers affect the speed a workshop functions at
Eventually, I think, I’d like to increase the functionality – but that’ll require some more thought! A post for another time 🙂
Previously one of the projects I mentioned in my last blog post was Project Stronghold – where I build basically something akin to a games room/home office. I quite enjoy retrogaming – and a good deal of modern gaming (on consoles or PC, or in VR) as well.
I just thought I’d post here to present an inspiring picture of how I’d like to attach most of the controllers in this situation:

Obviously, the cabinetry in my own home is not like this – with different shelving and configurations to consider. But I’d like some form of storing these controllers in the room I intend to utilise, for the next few years.
It’s a new year – and really, time to move on from my previous lifestyle of just working and hardcore gaming.
I’m looking into removing the errant Cat5E cabling around my house, both for safety reasons (I have an elderly resident who can’t always avoid the cables and might trip up) and just general home pleasantness. I’m also left with a lot of computer hardware that – thanks to Project Cloud Citizen, I’m no longer in need of, such as massive servers in my house…
To that end – recently, I bought myself a Christmas present — a Google Wifi home mesh setup; and implemented it around the house. It’s my hope that I can transition the household to a wireless fix, instead of having everyone on a cabled solution.
2018 was a year that was very focused on improving my workflow on-the-go and out on my day-to-day work commitments. I ended the year by turning to Linux as my main operating system on my laptop; and I must admit – yes, the change in operating system has been disruptive – it’s actually had far less disruptive impact than first thought. I’m able to do the vast majority of my work with Linux, using a system that is much better suited to coding, Docker environment development, and overall lets me just get elbows deep into productivity.
2019 – is going to be a year of improving my ‘home base’. I find that due to the nature of my work over the last 12 months; I find the need for always-ready access to my code a necessity. However, I occasionally need to do a couple extra things which my laptop-centric workflow doesn’t allow as yet:
- I need to engage in creative work; Photoshop, etc.
- I need to unwind with a bit of fun, too! (going to the gym is more a physical release thing)
So after the events and results of Project Cloud Citizen – and the revival of my laptop as my core workhorse; I’m declaring 3 projects for 2019 on a personal level!
- Project Stronghold – designing the perfect space(s) at home for Rest, Play, and Creativity!
- Project Fortify – building up my health, and shoring up against future complications
- Project Foundation – My laptop proved its worth this weekend with both Windows and Ubuntu – tweaks to improve this 🙂
2019 will be about good ol’ hard work, growth, and improvement. We’ll see what the year brings!
This blog entry is more of a personal reminder – and now it’s somewhere on the internet in theory it shouldn’t ever disappear.
I do a lot of PHP related coding in my day-to-day. Be it website projects all the way through to browser-based applications, both professionally and personally – I think I’ve hit a point where VS Code – my editor of choice, is finally covering almost all my use cases.
The extensions in question:
- Alignment by annsk
- Diff by Fabio Spampinato
- Docker by Microsoft
- Format HTML in PHP by rifi2k
- GitLens by Eric Amodio
- PHP DocBlocker by Neil Brayfield
- PHP Symbols by lin yang
- phpcs by Ioannis Kappas
- Prettify JSON by Mohsen Azimi
- TabOut by Albert Romkes