Posts for: #Tutorials

Notes on Setting Up and Backing Up GoToSocial

Installing GTS

I got an Oracle Cloud instance, so I decided to set up my own Fediverse instance. After some thought, I went with GoToSocial — it’s fairly lightweight and works with any Mastodon API-compatible client. The downside is that it’s pretty bare-minimum: features like emoji reactions and quote posts are absent.

The official GTS docker-compose.yaml can be fetched like this:

wget https://codeberg.org/superseriousbusiness/gotosocial/raw/branch/main/example/docker-compose/docker-compose.yaml
services:
  gotosocial:
    image: docker.io/superseriousbusiness/gotosocial:latest
    container_name: gotosocial
    user: 1000:1000
    networks:
      - gotosocial
    environment:
      # Change this to your actual host value.
      GTS_HOST: example.org
      GTS_DB_TYPE: sqlite
      # Path in the GtS Docker container where
      # the sqlite.db file will be stored.
      GTS_DB_ADDRESS: /gotosocial/storage/sqlite.db
      # Change this to true if you're not running
      # GoToSocial behind a reverse proxy.
      GTS_LETSENCRYPT_ENABLED: "false"
      # Set your email address here if you
      # want to receive letsencrypt notices.
      GTS_LETSENCRYPT_EMAIL_ADDRESS: ""
      # Path in the GtS Docker container where the
      # Wazero compilation cache will be stored.
      GTS_WAZERO_COMPILATION_CACHE: /gotosocial/.cache
      ## For reverse proxy setups:
      GTS_TRUSTED_PROXIES: "172.18.0.1/16"
      ## Set the timezone of your server:
      #TZ: UTC
    ports:
      - "443:8080"
      ## For letsencrypt:
      #- "80:80"
      ## For reverse proxy setups:
      #- "127.0.0.1:8080:8080"
    volumes:
      # Your data volume, for your
      # sqlite.db file and media files.
      - ~/gotosocial/data:/gotosocial/storage
      # OPTIONAL: To mount volume for the WAZERO
      # compilation cache, for speedier restart
      # times, uncomment the below line:
      #- ~/gotosocial/.cache:/gotosocial/.cache
    restart: "always"

networks:
  gotosocial:
    ipam:
      driver: default
      config:
        - subnet: "172.18.0.0/16"
          gateway: "172.18.0.1"

Since I already had Caddy running on the machine, I commented out all the reverse-proxy-related parts.

[Read more]

Quick Installation Matlab 2025b on Arch

Since I’m on Wayland, the best way to install Matlab should be mpm.
The Wiki page worked for me and the steps I executed include:

yay matlab-mpm
mpm install --release=R2025b --destination=~/matlab MATLAB 
#ofc, you can change the destination

Normally, you should be able to just execute ~/matlab/bin/glnxa64/MathWorksProductAuthorizer.sh and finish activating your license. However it didn’t went that smooth for me, because recent gnutls update (likely 3.8.10-1 or newer) breaks the TLS handshake in MATLAB’s bundled licensing libraries (libmwinstall\_activationwsclientimpl.so and libmwlmgrimpl.so), causing the segfault when the tool tries to connect to MathWorks servers.
So I ran these to make Matlab use the old version of gnutls :

[Read more]

Fix Copy SMS Code on Graphene

You can read the detail description in this issue.

The fix is, find out the listener service with this adb command:

adb shell pm dump io.github.jd1378.otphelper | grep -i "notification\|listener"

And you can see it’s called io.github.jd1378.otphelper/.NotificationListener.

So, we grant it special access to read notifications (which is not possible via settings GUI, and I don’ know why):

adb shell cmd notification allow_listener io.github.jd1378.otphelper/.NotificationListener
[Read more]

How to Make Microsoft Bluetooth Mouse 3600 Work in Linux Windows Dual Boot

Before moving in the Netherlands, I used a USB mouse, and as a result I never bothered for pairing issues on dual booting Linux/Windows. However, I found Microsoft Bluetooth Mouse 3600 specifically helpful as it functions smoothly even without a mousepad.

Certainly, you can read this detailed tutorial from Arch Wiki, so I won’t explain too much on the general process.

The problem is, the table for Bluetooth 5.1 devices does not cover the model Microsoft Bluetooth Mouse 3600, and I have to refer to “Other devices”, the guidance of which does not really work for me.

[Read more]

Interpreting Internet.nl Test Results

Disclaimer: I have been a user of almost every email provider mentioned below, and I am not affiliated with any of them.

You can read Forward Email’s comparison with many providers here: https://forwardemail.net/en/blog/forward-email-vs-mailbox-org-email-service-comparison , by substituting mailbox.org with others on their list.

In short, Forward Email has some wrong information. They attempt to achieve full score in every security test and prove they are superior to their competitors with scores. I don’t know what is driving Forward Email towards being a pupil, and it seems like many privacy seekers get trapped into how high they score in the Internet.nl tests.

[Read more]

Licensed under CC BY-NC-SA 4.0.