Jae's Blog

New captcha-related changes on this blog

A few months ago, I announced some changes related to comments on this blog following an influx of spam comments.
Back then, I chose FriendlyCaptcha as the solution, however, the plugin required some extensive modifications to work with ActivityPub, my custom theme, and custom server, which isn’t really practical on the long run (as it adds to the burden of maintenance).

As of today, FriendlyCaptcha is no more on this blog and has been replaced with ALTCHA.

ALTCHA has a few advantages over the previous solution:

  • No external calls
  • Easier to integrate with my custom theme (EG, it just works)
  • I can whitelist ActivityPub endpoints really easily

For instance, to let ActivityPub through, it’s as easy as setting the paths setting to:

*
!/.well-known/*
!/wp-json/*Code language: JavaScript (javascript)

All in all, from the short testing I’ve done, ALTCHA is probably the best option I’ve stumbled upon so far.

Finally, some good news from Finland

For the first time in a really long while, I have good news to report from the frozen wasteland also called Finland.

As of today, November 24th 2025, the Finnish Red Cross Blood Donation Service will give the same questionnaire, regardless of the gender of the person wanting to donate blood.
The question about gender will also be removed altogether. Doing that is a pretty good step in including everybody, and a welcome change in today’s environment.

You can read more about this on their official website. Also donate blood if you can, you’ll literally save lives.

To give a more complete timeline, the restriction of blood donation for gay couples was removed back in December 2023, which the blood donation service requested in 2022.

PBXes everywhere

I recently got a Yealink T42S IP phone to play around with.

To get that question out of the way first, “why”? Because it’s fun to have a proper phone on my desk.

Yealink IP phone showing a time of 01:32 and six PBXes configured.

Right now, I have a few PBXes configured on it, in two categories.
Proper PBXes where I get a proper phone number:

  • Callcentric, which you can reach me at +1 (438) 500-2694 from; offers really cheap DIDs through a promotion, though the numbers are North American
  • VoIP.ms, which you can reach me at +358942459241; offers really low costs in general, DID is a bit more expensive, but has free inbound for residential (I also have a referral code if you’re interested)

Now, most of the PBXes I’m on are hobby projects, those that aren’t routed publicly, but free to join:

  • HamPY, which is a network running for radio hams in Finland; you can reach me via 17228
  • Hams Over IP, which is a more global network for radio hams; you can reach me via 200564, my callsign or DMR ID
  • LiteNet, which is a hobbyist community project; you can reach me via 1059
  • Another private one by a friend, my extension is 1911, but I doubt any of you is on it

Configuring the phone is generally really easy, it has a web interface from which you can enter all the info (also don’t forget to turn on IPv6!).

Screenshot of the web interface showing the configuration for an account.
Announcing Bellingcat challenges

Over the past half year, I’ve had the pleasure of Collaborating with Bellingcat as a contributor to their OSINT (Open-Source Intelligence) challenge platform.

For those who aren’t aware, Bellingcat is an independent investigative journalism group based in the Netherlands that publishes investigations using OSINT about war, human rights abuses and the criminal underground (this description is shamelessly stolen from the Wikipedia article as they describe it well).

This all started back in March 2025, when I published this challenge in their Discord community. The premises are simple: find where that scan was taken.
Just a few minutes later, already three people managed to find the location; a few days later even more. This challenge seemed well-received, and I was contacted by the Producer of Bellingcat to create a few more challenges for their Open-Source Challenges Platform.

All the challenges took half a year to collect, design; and over 6000 km of travel was needed within Europe.
Though I’m a bit sad some scans didn’t make the final cut (some of the ones I originally planned turned out worse than I imagined), the challenges turned good overall.

I want to thank Bellingcat for this opportunity to collaborate, and I encourage anyone to check out the Open-Source Challenge platform, and even donate to them. The challenge scans will be made available within Resonite in 6 months time from now.

Come meet us at Eurofurence 29

Quick blog post to advertise the Resonite panel at Eurofurence 29, which should be next week, on Thursday 4th of September.

If you are attending Eurofurence, direct yourself to the room CCH X 5-8 at 13:00 (local time).

The panel will last approximately an hour and half, and developers and community members will be present.

Hope to see you all there!

Also see Eurofurence events website for more information: https://www.eurofurence.org/EF29/schedule/events/3042.en.html.

Your soul has been weighed

When you visited this blog, you might have noticed a new interstitial screen.

This is Anubis, and just like the Egyptian god, it will weigh your soul before granting you entry on my humble blog.

This is mainly to stop the slew of bots and other scrappers that hit my blog all the time, those get annoying and waste resources.

In most cases, the check should be quick enough that you won’t even notice the Anubis challenge screen.

Reliving history: MeuhMeuhCraft

MeuhMeuhCraft was a Minecraft server opened in 2013 which continued up until its closure in 2015.

Young me, playing Minecraft, joined this server. The factions survival world was where I made some friends, and where I also learned some stuff about the game, such as making potions.

It’s last year that a thought came to my mind: what if I could find a save of the world, and see some of those memories again, my friend’s base, my underwater one, etc, etc.

Sadly, the website only had one usable capture on the Internet Archive, so not much slack to play with.

With this in mind, I bought the old domain, meuhmeuhcraft.fr, and hosted a page saying:

I’m trying to contact the owner of this server to have a copy of the world (even if it might not exist any more).

If you have information on this server, please email me at [my email address].

Almost a year after setting this message up, a surprise came in my email. On 2025/06/30, I was contacted by a friend of the owners, asking me for more information as for why I wanted the map. The next day, I was talking directly with one of the owners of the server, something I wouldn’t have expected ever.

More than that, on 2025/07/06, I received a full copy of the world- and of the full server files. So I booted up the server, a CraftBukkit 1.7.2, a copy of the game, and there it was, the old server, in all its glory.

Minecraft spawn decorated with brightly coloured carpets and signs.
The spawn area
Stone room in which signs explain how to become a full member of the server.
The room telling you how to become a full member
Snow platforms floating in the sky, surrounded by fences, with signs asking questions. Buttons are under the signs to answer the questions.
The quizz to become a member

Alas, my old base was completely destroyed, probably a raid shortly after I stopped being active.

More than that, those worlds are now available to visit within Resonite!

Here are the parts I already imported:

All the text on the signs were eaten by the exporter, so sadly those didn’t survive the export to Resonite.

I want to extend my largest thanks to the server owners, mattoo64 and hombeline64, which took the time to find and send me the maps. Even more, their resolute to back the files up for so long.

Without them, this whole thing couldn’t have happened.

I also want to extend thanks to their friend, who noticed my message and was kind enough to put us in contact with each other.

Stay tuned as a read-only version of the server will be hosted in the future.

Small note on PGP

In the past, I used to have a few PGP keys that were distributed either manually, or through my website.

As of now, all those keys are invalidated as I switched completely to SSH keys a few years ago.

So, if you want to verify commits, or anything signed that I publish, please use the following keys:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHvTe4xw7OAMA9HJtsHAR5BNNrP9X0hXbtASrgKDdnOT
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDwCQ4IcPyL/0Nz2jNayUrN0B+zsEZ5oa8BepdtAYZLr

Those are respectively the key used by my workstation, and my laptop.

The easiest way to use those, is to add them to your allowed_signers file, for instance:

*@j4.lc namespaces="git" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHvTe4xw7OAMA9HJtsHAR5BNNrP9X0hXbtASrgKDdnOT Workstation
*@j4.lc namespaces="git" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDwCQ4IcPyL/0Nz2jNayUrN0B+zsEZ5oa8BepdtAYZLr LaptopCode language: CSS (css)

Music recommendations for June 2025

Time for the monthly music blog post.

Sorry for the lack of posts, I’ve been pretty busy with Resonite and in general.

In any case, the recommended albums and artists this month are:

  • WALKM4N by A M 4 N 音楽: A random discovery from the discovery tab, a good one nonetheless.
  • Echochamber by Hunz: I already mentioned Hunz in a previous music blog post, Echochamber being his latest album. I’ve been listening to that one on loop for the whole month so far.
  • Meganeko discography: Meganeko is an artist I only previous had an album from, but listening to their latest tracks, I decided to grab the entire discography. I vividly recommend as it’s great music.
  • Machinarium Soundtrack by Tomáš Dvořák: This one was a friend’s recommendation. I really love the music in this one, one day I’ll pick up the game it’s from.

That’s all for this month, stay tuned for next month for the recommendations.

New horizons

I have pretty exciting news: I have joined forces with Yellow Dog Man Studios to work on Resonite.

See you in the next post.

Older Posts
Jae 2012-2025, CC BY-SA 4.0 unless stated otherwise.