Jae's Blog

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.
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)

The best way to edit wikis

I’m a frequent editor on the Resonite wiki, meaning I spend quite a lot of time editing pages (duh).

Recently, I’ve discovered the best way of editing the wiki so far, all from my favourite code editor, Sublime Text.

For this, you’re going to need to set up packagecontrol and install the Mediawiker extension.

Once you have the extension installed, head to “Preferences” → “Package settings” → “Mediawiker” → “Settings”.

Copy the default configuration on the left to the right pane, and within the copy, add the following configuration (note that this is mine, so feel free to modify it to fit your needs):

"site":
{
    "Resonite Wiki": {
        "authorization_type": "cookies",
        "host": "wiki.resonite.com",
        "path": "/",
        "pagepath": "/",
        "username": "",
        "password": "",
        "domain": "",
        "https": true,
        "is_ssl_cert_verify": true,
        "proxy_host": "",
        "use_http_auth": false,
        "http_auth_login": "",
        "http_auth_password": "",
        "oauth_access_secret": "",
        "oauth_access_token": "",
        "oauth_consumer_secret": "",
        "oauth_consumer_token": "",
        "cookies_browser": "firefox",
        "preview_custom_head": [],
        "retry_timeout": 30,
        "is_wikia": false,
        "show_red_links": false,
        "preview_sandbox": "",
        "search_namespaces": "",
        "summary_fail_buf": "",
    },
},Code language: JavaScript (javascript)

Now to use this, make sure you’re logged into the wiki using Firefox, do CTRL+SHIFT+P, then “Mediawiker: Open Page”, type a page name (for instance User:J4 in my case), and voilà, you can now edit the wiki from the comfort of Sublime Text.

Screenshot of Sublime Text showing the user page of the user J4, highlighting wikitext syntax.

When you save the file, it will ask you to enter a change set description and will sync your changes to the wiki.

Have fun editing!

The Telemessage fiasco keeps getting better

If you haven’t been keeping up with the news lately, after the whole Signal fiasco, it appeared that USA government officials are using some fork called “Telemessage”.

That app claims to offer backup solutions for popular messengers including Signal, to comply with government directives. Funnily enough, their website got completely wiped, a large change from what it was a few months ago.

Putting aside all the issues that using a Signal fork exposes you to, it appears that despite their marketing, they could access plaintext messages.

Even better, according to 404 Media, the entire thing is now under investigation thanks to their reporting on the matter.

Edit: a senator asked for an investigation, my bad.

If you’re interested, I’ve archived the source code of both the Android and iOS apps on my GitLab instance (tho those aren’t rare):

Overall, it’s quite fun to look at this from the outside, but also a bit worrying.

And remember, if you switch to Signal, use the official version and don’t add random journalists to your convos.

Your own local copy of Wikipedia

Recently, Wikipedia has come under a lot of attacks from malicious political entities. Unlike the Wikimedia Foundation, they have much more resources to harass projects such as this one into oblivion.

This is why it is more important than ever to get your own copy of Wikipedia (or any wiki, really) at home.

For this quick HOWTO, we’re gonna need a few things:

  • A computer
  • About 100Gb of space free on your hard drive
  • Some time on your hands (depending on how good your internet is)

My software of choice to have my own Wikipedia copy is Kiwix. It is Free and Open-Source, and has a built-in downloader, allowing you to easily select a language and wiki to download.

My recommended way to download Kiwix is through Flatpak, which makes the process easier. If like me, you want the articles to be downloaded somewhere else, use FlatSeal to allow the application to write in a specific location, a second hard drive for instance.

If you don’t want to use Flatpak, see the options listed on Kiwix’s website, there is probably one that will fit your use case.

When launching the software for the first time, you can change the download location by going in the three buttons on the top right, then “Settings” and finally change the “Download directory”.

Once this is done, time to download some wikis. If it’s not already done, on the left of the main page, select “Online Files”, then select your languages and content types.

UI showing the selection of languages and content types, showing French and English being selected as well as “images” and “full article”.
How I download stuff

Do note that downloading Wikipedia with pictures takes around 100Gb while without it will only take 53Gb (for the English version, being the largest to this day).

Once the downloads are finished, click on “Clear” to remove all your filters, and swap to the “Local files” tab.

From there, you can open a specific wiki, search it and basically use it as it were online.

Screenshot of Kiwix showing the French Wikipedia page for the city of Annecy.

And this is how you can still access Wikipedia in case your internet randomly decides to stop, or if something worse would happen.

The best watch I’ve ever had

At the start of this year, I started looking at replacements for my Apple Watch Series 6.

Smartwatches offer lots of features, for instance, I loved being able to pay with my watch and receive notifications directly, however, one thing was very annoying for me: battery.

I hate things with batteries, I forget to charge them all the time, that’s why all my workstation setup is wired. But hey, can’t really escape that with mobile devices, especially phones and watches.

Enters the Pebble announcement. Pebble is a brand of smartwatches using e-ink screens, and boasting a really long battery life for the features.

The whole thing failed back in 2016, but has been doing a comeback since the start of the year, with the announcement directly falling when I needed a new watch. The older models boasted a battery life of around a week, while the newer ones (still not shipped tho) boast about around a month.

This is already better than the meagre “less than one day” the Apple Watch is capable of.

However, this is not a post about Pebble. Out there, there is an option that is even cheaper than an Apple Watch or Pebble, and that will last far, far longer. I’m talking about dumb Casio watches.

Right around that moment of the year, enters a friend with which I started talking about watches. He promptly recommended I check out Casio watches, and more particularly the Casio AE-1200.

Curious about it, I went to a store the next day to pick one up, the final price being around €50 (VAT included).

The configuring the time and everything was fairly easy, as well, just holding the “adjust” button, and going through all the things one by one.

It might not look like much, but the AE-1200 probably has the most features for the price, including (but not limited to):

  • Timezones: if you can literally change on the fly which timezone you are in, meaning you don’t need to adjust the watch manually when you move around
  • Daylight savings: you can also change DST settings super easily, once again, avoiding you having to reconfigure the whole thing when that changes
  • 10 years of battery!!!
  • Stopwatch/Timer
  • Auto calendar (with leap years)
  • 5 different alarms

The one drawback is the lack of syncing making the watch slowly drift. I usually resync the time every week to make sure it’s exact. If you don’t care about this, the drift is minimal, about a second a week.

Overall, the setup has been working well, because… it just works. I may can’t pay or receive notifications with it, but it shows the correct time when I need it and doesn’t need to be charged at all.

Looking at the pricing of new Pebble watches as well, I’ll stay with my cheap one.

AI still banned at Servo

About half an hour ago, Servo re-affirmed their ban of LLM tools laid out in their contribution policies:

Contributions must not include content generated by large language models or other probabilistic tools, including but not limited to Copilot or ChatGPT. This policy covers code, documentation, pull requests, issues, comments, and any other contributions to the Servo project.

This is honestly great to hear, as it cements the longevity of the project, avoiding the many headaches associated with AI code generation amongst others.

Conditional Git config

A little known feature of Git is that you can have conditions, for instance, to have a work and personal name and email.

First, the ~/.gitconfig file:

[includeIf "gitdir:~/src/personal/"]
  path = ~/.gitconfig.personal

[includeIf "gitdir:~/src/work/"]
  path = ~/.gitconfig.work
Code language: PHP (php)

After specifying this, you can then create two files, ~/.gitconfig.personal and ~/.gitconfig.work, containing:

[user]
    email = email@something.com
    name = MyName

and

[user]
    email = jae@consoso.com
    name = Very serious business person

Now, when you are in ~/src/personal/, the personal email and name will be used, and when in ~/src/work/, the work one will be.

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