Full stack web developer currently working mostly with #PHP / #Laravel, Vanilla #Javascript and #SCSS. Love learning more about (almost) anything, but particularly #SQL and #InfoSec. Currently learning Arabic. Husband, father of two boys and a girl, Christian.
Public Key
npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Profile Code
nprofile1qqsv6ryypftfq38knyu4v6rz8epl5uwny33gvq6h7z8fua6s0fljengpz3mhxue69uhhyetvv9ujuerpd46hxtnfduqs6amnwvaz7tmwdaejumr0dsw9sprv
Show more details
Published at
2026-09-03T16:21:45Z Event JSON
{
"id": "21aa31a6bac7329b35cac115f29f51d1c2266dba82b517054f04e364c39600be" ,
"pubkey": "cd0c840a569044f699395668623e43fa71d32462860357f08e9e77507a7f2ccd" ,
"created_at": 1788452505 ,
"kind": 0 ,
"tags": [
[
"proxy",
"https://mstdn.thms.uk/users/michael",
"activitypub"
],
[
"client",
"Mostr",
"31990:6be38f8c63df7dbf84db7ec4a6e6fbbd8d19dca3b980efad18585c46f04b26f9:mostr",
"wss://relay.ditto.pub"
]
],
"content": "{\"name\":\"Michael Thomas\",\"about\":\"Full stack web developer currently working mostly with #PHP / #Laravel, Vanilla #Javascript and #SCSS. Love learning more about (almost) anything, but particularly #SQL and #InfoSec. Currently learning Arabic. Husband, father of two boys and a girl, Christian.\",\"picture\":\"https://mstdn-files.thms.uk/accounts/avatars/109/326/284/018/740/430/original/492f530e7039fbf5.jpg\",\"banner\":\"https://mstdn-files.thms.uk/accounts/headers/109/326/284/018/740/430/original/1d323da6fc2037f3.jpeg\",\"nip05\":\"[email protected] \",\"fields\":[[\"Website\",\"https://michael.thms.uk\"],[\"Blog\",\"https://blog.thms.uk\"],[\"LinkedIn\",\"https://www.linkedin.com/in/mi-thomas\"],[\"Forgejo\",\"https://code.thms.uk/michael\"]]}" ,
"sig": "f36b235bca699d9fda1d13840fa664b5f35be5b4be166caf2f42fd6db58dac297a34072b4156b27aa273169c74138639741536098b15cecb9a0ec97a7e6ec5c4"
}
Last Notes npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…h0ux @nprofile…kp8u no, it just accesses the API so you can run it from ... anything you want, including Github (which would be the easiest way to get it running from free) a computer you have flying around at home, or whatever else takes your fancy. Full details in the wiki: https://github.com/nanos/FediFetcher/wiki npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…h0ux @nprofile…kp8u FediFetcher can be run against managed hosting for what it's worth. (But I also wish Mastodon had the ability built in …) “I am not sure how far it goes back when it backfills accounts” It gets the last 40 posts from the user. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas Been playing around with FreshRSS over the weekend. Pretty cool! Especially when combined with morss to convert RSS feeds that are intro only into full text feeds. But the mobile view is pretty bad! Had to spend some time adding Custom CSS to make it acceptable to me. Might blog about it soon. #FreshRSS #RSS #SelfHosting npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas Looks like some time over Christmas someone posted a link to my blog with a utm_source=hs_email tag and drove loads of page views. Just out of curiosity would anyone know more about that content? I'm simply not aware of anyone having linked https://mstdn-files.thms.uk/media_attachments/files/115/893/082/208/132/312/original/ed6a975f9a1c3f91.jpeg npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas I have recently discovered #HomeAssistant and I'm absolutely in love! It's so powerful, reliable, and easy to work with. It finally allows me all sorts of automations that I was not previously able to do with either Home Kit or the respective manufacturer apps. And I no longer need Hue, Phillips, Tado, and Ring - everything can now live in that one app. It's amazing. Fully recommend it, if you have any Smart Home stuff, and want to actually be smart! npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…80d0 Are you allowed to reply when asked? As in a user asking you ‘hey, I’d love to give you 10 quid, how best to do that?’ Can you answer? Or would you have to decline? npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas Time for a reality check: My son (12) is currently using an old MacBook. Its software support (security fixes) apparently ends in a month time. My son is adamant that that means continued use of the laptop is too dangerous. Whilst he is saving up for a new laptop, he reckons he won’t have the budget to actually buy one until the end of next year, and I’m not really in the mood to pay for a new MacBook for him (and he doesn’t want anything else - the Apple doesn’t fall far from the tree 🙈😁) I’m thinking that whilst clearly not ideal, it’s not the end of the world for his use case. He’s a pupil who uses his laptop for homework and hobby programming. He uses it exclusively at home where it sits behind our router’s firewall. As long as he keeps using an adblocker and avoid dodgy sites I think he’ll be OK. Who’s right? #infosec #cybersecurity npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas Why anyone would want to live to 150 (let alone forever) is still beyond me Especially if it involves multiple organ transplants… https://www.bbc.com/news/articles/cr70rvrd41ko npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…s7nj congrats on 4 years. I must say I always really enjoy your content. Very well written and well worth the time to read it. I always look forward to reading every new item you post! I’m glad you still do written content, rather than video. I hate video… npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…tkju if you want it to pick up where it left off, make sure you copy the artefacts. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…2j5c re 1: if do it on the web server level. So nginx: https://docs.nginx.com/nginx/admin-guide/security-controls/controlling-access-by-geoip/ Or cloudflare if you are using that which is even easier: https://developers.cloudflare.com/waf/custom-rules/use-cases/allow-traffic-from-specific-countries/ And the batsignal is the #mastoadmin tag npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…yupt is that a sticker? I’ve never seen that before … npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas A day at the seaside refreshes the soul 😊 https://mstdn-files.thms.uk/media_attachments/files/115/057/202/556/610/847/original/cd81b89d2ea5a51e.jpeg npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…9m60 must be because of all the emails I deleted the other day 😆 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…utw6 @nprofile…8h6g uk English keyboards are also different on Mac and windows. Infuriating… npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas On the plus side the best part of having an unexpected baby 7 years after you thought you were done is that feeling when this little creature wraps her chubby arms around your neck, rests her little head on your shoulder, and falls asleep 🥰 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…s7nj hm. Strangely when I tried using hash_equals I couldn’t get it to work, so I didn’t even check the docs and just did a === which did the trick. Need to re-check the docs on the advantage of hash_equals and then figure out why it didn’t work for me … npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…s7nj yes, I’ve been enjoying your follow ups too! FWIW, I went for just changing the default password reset flow: If the user has 2FA enabled we redirect to login with a toast message that says something along the lines of ‘password reset. Now log in again’. If the user doesn’t have 2FA enabled we leave as is and still log in during the password reset. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas One of the truly hard parts of parenting is when your sons are old enough that they no longer need your help assembling their Lego set 😢 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas Good take on the UK gov‘s ridiculous advice to delete emails to save water: https://andymasley.substack.com/p/contra-the-uk-government-please-dont npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…duxr something like this, but with the user endpoint instead of the post endpoint: https://blog.thms.uk/2023/02/mastodon-comments npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…x759 I mean, yes, but to offer a counter point: I rely solely on my employer for my income. Yes, having worked there for more than 2 years, it might be a little harder for them to terminate my employment, than it is for TikTok to close my account, but it's still pretty damn easy … npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…x759 I really wish Markdown rendering was better supported by clients. Looking at you, @nprofile…79ya in particular. The way not just strip all formatting, but even empty lines and line breaks is atrocious… npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas Neighbours are having their house repointed without any dust sheets or anything. The whole street is covered in layer of dust that’s in some places almost 1 cm deep… npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…s7nj Also, this should not use hash_equals here, since you previously suggested that the recovery codes should be ‘cast encrypted’ (And I don't think there is a hashed:collection cast in Laravel - although that would be cool) https://mstdn-files.thms.uk/media_attachments/files/115/014/572/094/193/624/original/bdcd20b89b709a33.png npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…s7nj thanks for that article! It’s so well written and helpful! I noticed though that it doesn’t touch upon verifying 2FA during password reset. Is that because you don’t think you need/should to verify 2FA during password reset, or is it because yhe article was too long already? npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…lt07 shame! It’s been absolutely amazing! All the best for you! npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…e5n8 interesting. Meanwhile here even the local park is a black hole because installing a mast would be too expensive … npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas What the bleep is wrong with HMRC?! I submitted a claim for a tax refund in early Jun 2025. 2 full months ago. It now tells me I need to wait at least another month to hear back, and then 3 more months to actually get paid? Is that a joke? Imagine I'd take 6 months to pay my taxes. There'd be a host of late fees and interest payments attached to that. But the other way around it's all good. 😡 😡 😡 😡 😡 https://mstdn-files.thms.uk/media_attachments/files/114/993/180/407/200/442/original/9f1501ad716ed03e.png npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…l9lh Das sehe ich ehrlich gesagt zum ersten Mal. @nprofile…zad6 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…zad6 https://github.com/g3rv4/GetMoarFediverse @nprofile…l9lh npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…l9lh das funktioniert aber nur wenn ich nur ein thematisches Interesse habe. (Oder wenn ich mit 10 Fediverse Accounts zufrieden bin…) @nprofile…zad6 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…l9lh it depends 😁 Ich habe auf meiner Single user instance keine traditionellen Relays mehr, nur noch GetMoarFediverse (konfiguriert mit den hashtags denen ich folge). Wenn man eine neue Instanz einrichtet sind Relays bestimmt noch sinnvoll, aber nach einiger Zeit kann man die dann meiner Meinung nach wieder entfernen. Meine Erfahrung ist das sowohl die Datenbank als auch der Medien Cache sonst viel zu schnell explodieren. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…e5n8 I’m amazed there is network on the top of the mountain! npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas Parenting certainly never gets boring. I never expected my bedtime conversation with my 11 year old to involve explaining how a Uranium nuclear bomb works. Should I be worried? But at least those years studying nuclear physics finally paid off I suppose 😁 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…7zt4 fyi it’s slightly… wonky on iOS / Safari https://mstdn-files.thms.uk/media_attachments/files/114/964/850/071/372/273/original/97c20fd6f8bfac14.mp4 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…r6sq https://mstdn.thms.uk/@michael/114150392071411905 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas “It’s not surprising that lawmakers use VPNs given they “handle highly sensitive information daily,” from confidential government documents to private constituent communications, and often connect to unsecured networks when traveling or working remotely, said NordVPN’s Chief Technology Officer Marijus Briedis.” yes I’m sure rhe CTO of nordVPN is not biased at all in his comment here 🙄 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas https://www.politico.eu/article/britain-mps-charge-vpns-expenses-minister-caution-tech-jonathan-reynolds-data/ The hypocrisy… npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…nrwm oh that’s so naughty I kinda love it… npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…x08h https://mstdn-files.thms.uk/media_attachments/files/114/951/961/832/452/738/original/380349ba8c784008.mp4 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…x759 I haven’t had the equipment to watch broadcast TV for over a decade. 🤷♂️ npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…dey4 Counterpoint: I've installed the 26 betas on both my Apple Watch 7 and iPhone 12, so fairly old devices, and both seem to be running just as smoothly as before. And, interestingly, both seem to have better battery life, too: My Watch used to be down to 5-10% by bedtime, but is now at 20-30%. The difference is much smaller with my iPhone, but still I seem to be around the 25% mark by bedtime, when previously I would've been around the 20% mark. This is obviously very much anecdotal (especially given I've been running these betas for just a few days so far), but found it interesting nonetheless, as iOS updates usually lead to decreased battery life. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas For all the UK Peeps suddenly needing an ID for, erm, reasons have a look here: 😂 https://use-their-id.com #OnlineSafetyAct npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…g6h7 I updated my iPhone 12. As almost always with any update, the first 24 hours after update it was laggy. Now it’s OK. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas Having installed the iOS 26 beta I’ve got to say: i actually quite like Liquid Glass. I thought I’d hate it, and it certainly has some rough edges, but in many places it look gorgeous. The best bits are the lock screen, Safari and CarPlay. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…nv6g I love my VPS. One of those will host many a hobby app, and it’s more reliable in my experience than raspberry pi’s at home (but that might be because my ISP is 💩). Use Tailscale for VPN and it’ll have access to your home network too. And Hetzner’s ‘Ampere’ servers have really amazing performance. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…nv6g ah, I didnt realise you were looking for ‘classic’ webhosting. Haven’t done that for years. I don’t think the credit applies to that, I’m afraid. It applies to cloud hosting only. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…nv6g are there any VPS providers with minimum commitment? Never seen that. Here is the referral link mentioned: (€20 for you, €10 for me) https://hetzner.cloud/?ref=s0SGmIqHi4yu npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…nv6g I’m with Hetzner and really happy. Can get you a referral link that (I think) gives you €20 credit if you are interested. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…yupt yeah, should’ve clarified: people in IT have pointed this out for years. But the mainstream press and most ordinary people have just ignored it. Agree in your assessment re age verification. It’s a shame that this is the only thing that gets people talking really as it’s (to me) the least objectionable part of it. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…2m5j https://mstdn-files.thms.uk/media_attachments/files/114/918/586/016/237/955/original/852e0608e280ac12.mp4 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…sjjc lots of people maybe in some circles. But I feel that outside of these (mostly tech) it was widely ignored. Now suddenly the BBC is writing about VPNs and privacy concerns. They should’ve done that 2-3 years ago. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas I don’t get it. Why is everyone talkin about how stupid the online safety act is now? The time to speak up was two years ago! #onlinesafetyact npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…n9z5 I’d do ORDER BY find_in_set( language, 'en,de,fr,es,it') (I think that’s the syntax anyway. Writing from memory on my phone …) npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…xvq0 can’t go wrong with this triplet imo (just replace MySQL with Sqlite and add redis) from DigitalOcean: Initial Server Setup Guide, followed by How to Keep Ubuntu servers updated and How to install LEMP stack npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…x759 (I should probably add that I have 2 remotes for my glitch repo as shown below, hence using git fetch glitch-soc. If your remote is named differently you need to replace this with the correct remote name as given by the git remote -v command) $ git remote -v glitch-soc [email protected] :glitch-soc/mastodon.git (fetch) glitch-soc [email protected] :glitch-soc/mastodon.git (push) origin [email protected] :nanos/mastodon.git (fetch) origin [email protected] :nanos/mastodon.git (push) npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…x759 This is my script: #!/usr/bin/bash cd live && \ git fetch glitch-soc --tags && \ git checkout "$1" && \ bundle install && yarn install --immutable && \ RAILS_ENV=production DB_PORT=5432 SKIP_POST_DEPLOYMENT_MIGRATIONS=true bundle exec rails db:migrate && \ RAILS_ENV=production bundle exec rails assets:precompile && \ RAILS_ENV=production bin/tootctl cache clear && \ sudo systemctl restart mastodon-web && \ sudo systemctl restart mastodon-streaming && \ sudo systemctl restart mastodon-sidekiq && \ RAILS_ENV=production DB_PORT=5432 bundle exec rails db:migrate I run it using ./update_mastodon.sh v4.2.2. I use it for every update, and it has never failed me yet (assuming I have all dependencies) npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas That feeling when you are listen to music on YouTube while working, and suddenly Youtube's algorithm in it's infinite wisdom decides to insert a CoComelon song into the playlist completely out of the blue 😂 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…l3sr unfortunately they are all mastodon specific. (Well, FediFetcher works with some other platforms that implement the Mastoodn API, but I’ve never heard of wafrn so I don’t know whether it would be compatible.) npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…8gzn I wouldn’t have a clue. Never did any stats. It’ll obviously depend on your configuration. But I could see it: for me, it looks at my home timeline. If I assume that I get about 1-2 k new posts per day on there (which seems about right) and each one on average has 1 reply than that’s (amazing maths skills incoming) 1-2k replies per day to ‘fill in’ for my home timeline alone. Now some of those would’ve come in anyway through federation, but FediFetcher doesn’t know that. Obviously these are guesses, but it doesn’t seem outlandish. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…lqlv yeah, Mastodon's own options can be a bit confusing. For starters, it'll only load replies when you open the post. It'll then do it in the background, and the web interface will reload with the new posts after a second or so. But 3rd party apps won't reload of course. So that's confusing. Additionally, as you implied, there is a minimum age, and a limitation on the how often it'll fetch (FediFetcher has the latter, too, for what it’s worth). Both of these can be adjusted in the .env.production file. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas I re-did the og:image thingy for my personal website: https://michael.thms.uk/?v=22 I don't particularly like it though. Does anyone have any good ideas? I'm just so bad at doing anything visual … npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…8qnw yes, I wasn't sure whether to include a paragraph on this - I didn't want it to be FediFetcher advert... I did write a post on this a while back though: https://mstdn.thms.uk/@michael/114150392071411905 What client do you use for Mastodon, out of interest? As far as I understand so far no clients (other than the web interface) support 4.4's reply fetching, so I'm really curious about your experience. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…l3sr Let me know what you think afterwards! npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas I've recently created an og:image for my personal website. I'm absolutely not a graphic designer though. What do you think about it: Any suggestions for improvements / changes? http://michael.thms.uk?v=20250721 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas I've recently created an og:image for my personal website. I'm absolutely not a graphic designer though. What do you think about it: Any suggestions for improvements / changes? http://michael.thms.uk npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas I spent some time thinking about the options available for fetching missing replies in mastodon over the last few days since the 4.4 release, and wrote them down. I'm honestly not sure how helpful this is, but I published it on my blog anyway: https://blog.thms.uk/2025/07/fetching-replies-mastodon?utm_source=mastodon #mastodon #mastoadmin #fedifetcher npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas It doesn’t help that I haven’t worn a tie in decades. I needed to remind myself how to do it first 😁 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas Also as a PS: attempting to teach my son to tie a tie is exhausting… npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas My son was telling me (unsurprisingly, given the amounts) that several of his friends’ parents were really struggling with the cost of the uniform. Surely that can’t be right. That parents need to get a loan to pay for their kids school uniforms! So yeah, in summary: I hate school uniforms! npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas The school uniform itself isn’t even so bad, but the PE kit is insane: Shorts, T-Shirt, rugby shorts, rugby shirt, tracksuit bottom, tracksuit top, dark socks, and striped socks - all from the monopoly supplier. Plus trainers and football boots, mouth guard and shin pad, which - oh how generous - we may buy elsewhere… It’s ridiculous. And this for a kid who isn’t into sports. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas Secondly as a matter of practice, they are insanely expensive. I just bought my eldest’s first set of secondary school uniform. I haven’t even bought it all yet (still need to get shoes, trainers, and football boots) and spent over £300 already. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas Time for a rant: I hate school uniforms! Firstly as a matter of principle I believe we should be teaching kids some level of individuality. Not uniformity. Especially teenagers. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…wcmx 18 bathrooms? So basically if you use a different one every day you only need to clean once every three weeks 😁 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas Look at how much free electricity I got! 💰 🤑 Now I just need to think about what to do with all this cash! https://mstdn-files.thms.uk/media_attachments/files/114/875/163/067/348/290/original/1e367def8d7e13b5.png npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…s7nj thanks for your service. My son (11) subscribes to your newsletter (as do I, but that’s probably less interesting 😁) and he’s updated his livewire app the moment he got home from school 😊 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas My Goodness. The level of destruction here is just unbelievable. https://www.bbc.co.uk/news/resources/idt-33fccfbe-abcc-4af1-bdd2-632b2787cf59 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…wzck yep, I’ve done that. Amazing stuff! npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas So I've had #Sentry installed in the backend of our app for ages for error handling, and it's amazing. But earlier this week I finally got around to installing it client side. And boy am I blown away! I've finally got insight into all the client side errors. And I even get little videos of when errors ocur, seeing what our users where doing in the seconds leading up to it (with any text on screen being blanked out for privacy purposes). It literally is mind-blowing! npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…dhpg yeah, but my point was that whilst these churches are quite common in the US they are all but nonexistent in the UK. Even the more ‘traditionalist’ churches in the UK tend to be politically much more diverse. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…dhpg Such an American thing… I'm glad to say that in our Church (based in the UK) we have people of all political persuasions. And it is generally taught in evangelical church training here that elders/pastors/leaders must not get involved in telling their congregation whom to vote for. (Exceptions do of course exist, but these are fringe - even more fringe than evangelical christianity in general in the UK.) IMO Churches must be unifying places. Places were those things that divide the population at large have a chance of healing. Place promoting peace in every sense of that word (as always within limits - these things can never be absolute). If they don't do that, then they've failed in one of their most fundamental reasons of existence. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas Had a kid walk up to me as I was walking the dog today asking “Are you Michael Thomas?” What can I say. I’m a celebrity now 😂 (Kid had been to my career’s week talk at their school two days ago, and apparently really enjoyed it) npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…xt5t that would be amazing. Thank you! npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…akjd https://mstdn-files.thms.uk/media_attachments/files/114/859/287/091/425/682/original/2685dd42a8a8ab65.mp4 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…xt5t would you be able and willing to share data regarding the impact on resource usage (CPU, RAM, storage) from enabling Fetch All Replies on .social? I think this would be invaluable to other mastoadmins. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…j7fc Wow, thank you so much for providing this detailed data! This seems to indicate that there is no measurable impact from enabling this. Really helpful! npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…j7fc cool. I'm asking because some admins seem reluctant to opt in due to fear of performance issues and/or storage cost, so nice to have some actual info. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…j7fc yours is the first reply, so thank you! Good to know. Any notable increase in storage consumption? npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas Related to this: Are there any admins on large(ish) instances who've turned this on? What are your experiences? Did it impact performance? Was it an issue? I'd love to know… #mastoadmin npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…2tn7 I can't see why it would be an issue 👍 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas PSA for MastoAdmins: Did you know that Mastodon now has the ability to fetch missing replies from conversations? Unfortunately you must enable this yourself by adding FETCH_REPLIES_ENABLED=true to your .env.example file. So if you have updated your server to v4.4, you should seriously consider opting into this behaviour. Your users will thank you! For full details and more settings to fine tune this behaviour see the docs: https://docs.joinmastodon.org/admin/config/#fetch-all-replies #mastoadmin npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas I was always under the impression that everyone has exactly the same risk of dying. One of the few things all humans have in common … https://mstdn-files.thms.uk/media_attachments/files/114/848/002/663/610/165/original/d1adcc39cf01251d.jpeg npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…eeu8 definitely against the law here too. Thing is: there is virtually no police around anymore, so people just do whatever they want … npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas What is it with people cycling on the pavement these days? I’m not even talking about kids. I’m fine with that. But fully grown men. (And it’s almost always men.) Just why? And then they complain when I - pushing a pushchair in one hand, holding the dog leash in the other - don’t jump out of the way the moment I see them coming. No way. The pavement is for pedestrians. I will not make space for you. You can squeeze, or go on the road! npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…wuyc i use backblaze b2 for what it’s worth. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…wuyc I did this ages ago, but sadly didn't write it down. The basic steps are quite straightforward though: Firstly, get your storage bucket set up Secondly, install rclone. Thirdly, configure your rclone bucket and local file storage system using the rclone config commands (see https://rclone.org/docs/) Fourthly, use rclone sync to sync your local storage to the bucket. Fifthly, after it's done, set the mastodon environment variables and restart mastodon services. Sixthly, rerun rclone sync to copy any new files created since you started the first round of rclone sync, while your server was still running. That's pretty much it. Between steps 5 and the completion of step 6 you may have some missing images in your feed, but on a single user instance that seems acceptable to me. I you wanted to avoid this you could configure nginx to fallback to local storage for images it can't find on the bucket. One thing to consider: PUT and DELETE requests cost you an arm and a leg with AWS S3. So consider the cost of these when deciding on whom you want to use as bucket host. npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…f9vv @nprofile…utw6 fwiw, wir haben das hier im UK schon seit Jahren. Als das eingeführt wurde hatte ich auch bedenken. Unter anderen da meine Frau einen sehr langen Namen hat, der in viele Formulare gar nicht reinpasst. Aber insgesamt funktioniert das hier eigentlich Dank der gelben Klassifizierung problemlos. Einziges Problem sind Unternehmen deren legaler Name oft ganz anders ist als erwartet. Aber da gewöhnt man sich auch dran 🤷♂️ npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…e567 https://mstdn.thms.uk/@michael/114150392071411905 npub1e5xggzjkjpz0dxfe2e5xy0jrlfcaxfrzscp40uywnem4q7nl9nxsxyu7hv Michael Thomas @nprofile…9ppg yes me: https://blog.thms.uk/2025/06/upgrade-postgres-15-17-mastodon You need at least v4.3 iirc.