This is a group to go with the blog of a very similar name.
- Shed a tear for this dead link
- What is this?
- Given With Love card
- Blogroll: Sites I like (Indieweb edition)
- Welcome to my Friends Page
- Projects
- Lord Matt embeds all of Mastodon (project)
- Tools for reviewers
- /Now
- The round-robin of cool stuff
- So you want to buy me stuff?
- Holding Pattern
- Ideas
- About
- Guestbook
- Matt’s Pixel Wall
- Matt is not an SCP
- The Online Safety Act 2023 risk assesment that does nothing new
- The Spell Collector
- Today in Emoji
- Patch Notes
Emoji things code: thisCall()
March 6, 2026 in uncategorised by Matthew Brown
So, I recently made a little toy I call Today In Emoji. It shows you some emojis that relate to the day. If you mouse over them, you get some text explaining what the relevance is, and some are links to more information.
It might look something like this:

There’s a devlog here. You can see Today In Emoji here.
I’ve also taken the opportunity to drop a link to my book. I figure that the kind of person who will find Today In Emoji fun would find my daft book of made-up swears fun too. This way, I can justify my time invested as book marketing and promotion (adjacent).
The code bit: thisCall()
The code I am sharing today is the class that handles remembering what day has been requested. I added it so I could add a feature where you could scroll back and forth and look up dates of interest.
By default, the date loaded is today. However, there are day, month, and year parameters that can be set. The methods that get/set those values call _get_via_words() which takes a query parameter and a PHP date format code, and will try to get you something valid back for it.
The class it extends contains a bunch of useful helper methods I found myself repeating across various classes that do eldritch things with dates.
<?php
namespace weird;
/**
* The class thisCall records the date that this page request is asking for
*
* @author lordmatt
*/
class thisCall extends strangeDates {
protected $theCall;
protected $today;
public function __construct() {
$this->today = new \DateTime();
$year = $this->getYear();
$month = $this->getMonth();
$day = $this->getDay();
$dateTimeString = "{$day}-{$month}-{$year}";
try {
$this->theCall = new \DateTime($dateTimeString);
} catch (Exception $ex) {
$this->theCall = new \DateTime();
}
}
public function getDate(): \DateTime{
return $this->theCall;
}
protected function _get_via_words($get,$format){
if(isset($_GET[$get])){
return intval($_GET[$get]);
}
return $this->today->format($format);
}
protected function getDay(){
$day = $this->_get_via_words('day', 'd');
if($day<1 || $day>31){
$day = 1;
}
return $day;
}
protected function getMonth(){
$month = $this->_get_via_words('month', 'm');
if($month<1 || $month>12){
$month=1;
}
return $month;
}
protected function getYear(){
$year = $this->_get_via_words('year', 'Y');
if($year<1971){
$year = 1971;
}
return $year;
}
}
This code is licensed under Creative Commons Attribution-ShareAlike 4.0 International
I am relatively confident this is the nicest looking, least hackish code of the project, but I am open to corrections, suggestions, rebukes, and general education on things I might have done poorly.
If you actually want to use my code, for some reason, take it under an Attribution-ShareAlike 4.0 International license.
I plan to share all of the code at some point. I’m still actively tweaking it and finding silly mistakes, so I would like to not embarrass myself with a work in progress.
For example, it only now occurred to me that I did not write a getToday() method.
Thoughts on this class. Ideas. All that good stuff. Reply, Like, Comment, Mention – whatever works for you.
I’m filing this as Code and Development on Open Mentions.
Here is the link in case you missed it the first billion times: Today In Emoji.
Exploring WebMention sources
February 15, 2026 in code-projects by Matthew Brown
Today, I took some time out of processing the loss of my dad to do some nerdy tech stuff with OpenMentions and WebMention sources.
I was interested in which sites sent the most mentions to the openmentions.com endpoints.
This is not especially important, but it could indicate who the most active and interested people are. For a writer, knowing you have people who are pleased to hear from you is pretty important, so I figure this might be an important tool for Author Buzz UK further down the line.
For OpenMentions this is a step towards a sort of thing Technorati used to be (for blogs). For now, I am avoiding the question of mentions to topic-specific sites outside of the OpenMentions blog. That’s a bigger question for another time.
As OpenMentions uses WordPress, step one was just getting an SQL query that gives back an ordered list of mention comments per domain name.
The first hurdle to overcome was to get just the domain names when that data is not stored. Fortunately, source URL is stored and with some substring magic, I was able to get the domains from it. My pride would love me to say I figured it all out on my own.
I did not.
I looked up the answer and found it on StackOverflow.
Next, I had to filter out a few things. Mostly things that mask origin by way of helping, or were a thing that Elon Musk owns, and I didn’t want any data for.
That took a bit of trial and error as I figured out what data I wanted to filter.
Sorry brid.gy, you were not good for this dataset, but you were a great proxy for filtering Bluesky content. So I am grateful for that.
My first version pulled from the comments table only, but the source of the mention did not always get recorded. So I “left joined” the comment meta and looked up the domain there.
The result was a gloriously hacky SQL command.
You can see the SQL here: https://gist.github.com/lordmatt/31f4f0b508b2dcf353c36ab23f907eea
The top 10 domain mentions sources from OpenMentions
- lordmatt.co.uk
- node.lordmatt.co.uk
- openmentions.tumblr.com
- replying.isbrill.com
- matrixdreams.com
- muse.authorbuzz.co.uk
- tory-government.ispants.com
- elons-twitter.ispants.com
- doctorwho.isbrill.com
- openmentions.com
No big surprises here. The biggest users are all things that I am involved with and could push the idea to most readily.
What’s next?
The next thing to do will be to use this data to generate some pages of interesting domain data. I’m not entirely sure what data I want to show or how I want to store it. That’s all yet to come.
What would you do with a list of websites with authors who like to respond to your stuff?
The time I used diagramming for success
January 12, 2026 in coding-and-development by Matthew Brown
I had a project idea in my head that seemed too complex to work on until I tried diagramming it.
The idea was a multipurpose CRM-like action/account system thing. I think it might best be described by my first diagram.

I mean, just look at that nonsense. How was I supposed to make a database that handles that? It is the kind of nonsense that gets called “Enterprise” and costs eye-watering piles of cash to keep working.
That was where diagram 2 came in. Having identified groups and entities, it was possible to restructure to something approaching third normal form.
Thus, I made this:

All of that complicated referential business logic boiled down to a fairly simple data logic.
The moral of the story is this: If you have an idea that refuses to be wrestled into a neat or functional shape in your head, write down whatever you have. Lay it out as logically as you can. Often, in the process of writing it down, you will find that the problem can be tamed. The process of writing it down forces you to be clear about everything. Writing it down forces you to process one bit at a time.
The result is often greater clarity.
In my case, I feel ready to start planning the data API layer with what should be some fairly efficient database abstraction.
Sure, I’m going to have a few strange-looking UNION SELECT statements, and more LEFT JOIN and INNER JOIN than normal but I will also have optimised indexes for those selects and joins. Which means that it will not stress my database.
Also, I can use write and read replication to scale my idea.
Please share your thoughts on this with me.
I upgraded my blog
November 6, 2025 in coding-and-development by Matthew Brown
My blog runs a handmade custom WordPress theme called LordMatt7 as it is the seventh complete rebuild since all the way back in 2005 when I first made a Facebook, Twitter, Wikipedia mashup looking blog.
Today I finally got fed up with the fact that there were no titles at the top. Which kind of made it hard to tell if you were looking at archives, tags, categories, or the front page.
I fixed that.

There’s a little chain of if statements to pick which page we’re on.
$lordmatt7_page_tag = str_replace(' ','-',get_post_type()) ;
if(is_archive()){
$lordmatt7_page_tag = 'archive';
if(is_category()){
$lordmatt7_page_tag = 'category';
}elseif(is_tag()){
$lordmatt7_page_tag = 'tag';
}elseif(is_date()){
$lordmatt7_page_tag = 'date';
}
}
I must admit, I’m not sure if this was exactly the best way to do that. All you WordPress experts, please chime in with your criticisms so I can learn.
Then there are a bunch of template parts with a fallback in case I manage to ask for one that doesn’t exist.

The theme picks which one using this handy-dandy built-in WordPress function.
get_template_part( 'parts/pageheader', $lordmatt7_page_tag );
It looks for a file with the right second part and, if not, uses the generic one without a text after the dash.
Which means I now have the joyful task of writing intros for all my categories and tags. I will probably do that over time, but at least now, the different views all have a nice bit at the top to tell you what part of the site you are looking at.
Looking back, I’m pretty sure the string replace function is redundant, but I can’t be bothered to take it out now. It feels like there should be a function to do all of that for me, but I couldn’t find it. So I improvised with what I had.
Thoughts?
Suggestions?
Improvements?
You know what to do.
5 writing prompts from the muse that I love
November 2, 2025 in just-for-fun by Matthew Brown
I am a contributor to the Muse of Last Resort blog. Not gonna lie, there are many prompts there that I love and desperately want to see some stories based on. This is a collection of five hand-picked prompts.
Cinderella – the automaton who would be a girl
In this reimagining of Cinderella that you are going to write, Cinderella is a clockwork automaton left to her maker’s wife and stepdaughters after he passed away.
Cinderella – the automaton who would be a girl
What if dogs could suddenly talk?
Today, you noticed that all dogs suddenly speak English.
What happened, and how does the world change?
The happy couple love their imaginary daughter
That’s the entire prompt. Almost an entire story in a single sentence. Here’s the link.
Hello Hedgehog
You swerve to avoid a hedgehog one day and soon forget all about it.
Unknown to you, the hedgehog remembers your kindness. It spent its life watching over you in secret. When old age caught up with the hedgehog, its ghost moved into your home to continue its vigil.
Hello Hedgehog
Wrong number
Each day at around 6 pm, you receive a call from someone who dialled the wrong number. It is always a different person. Over time, the callers become increasingly less likely. One time, for example, you had a ten-minute chat with the president of Egypt, who was impressed with your grasp of his language. The thing is, you thought you were both speaking English.
Wrong number
Blog Activity
-
Matthew Brown wrote a new post on the site The Fantastic Site of Lord Matt 4 years, 5 months ago
At the tail end of the first month, I have noticed a few things of note.
1. I had fun
Just reading these old posts of mine reminds me how much innocent fun I had writing them. There was no SEO, audience […]

-
Matthew Brown wrote a new post on the site The Fantastic Site of Lord Matt 4 years, 5 months ago
This is the expanded version of the front page legal disclaimer that was on the last incarnation of the site.
Legal: (Common sense explained for those that might not have any). Use of this site is subject to […]
-
Matthew Brown wrote a new post on the site The Fantastic Site of Lord Matt 4 years, 5 months ago
It has to be said that I probably blog too much. Here is a rundown of the many places on the web where you might see me blogging.
Here at the fantastic siteMatrix Dreams (nice and nerdy)Thanet Creative […]

-
Matthew Brown wrote a new post on the site The Fantastic Site of Lord Matt 4 years, 5 months ago
The fantastic site first posted in August of 2005. It has been through many changes. I have a soft spot for this blog despite it mostly being a bunch of junk. It was here that I learned how to blog and write for […]

-
Matthew Brown wrote a new post on the site The Fantastic Site of Lord Matt 20 years, 4 months ago
By now the blogging world is noticing blogger has a new flag system to allow people to mark blog-spot blogs as bad in some way spam, junk, hate or just plain offensive.
However, the sites I’d most want to flag […]


