Privacy and Whatsoever

It’s been a while since I last posted. I spent a meaningful year in the university, or meaningless, depends on your standards.

I’m trying to find something to write on, but aside from vibe-coding an Arduino board to control a three-wheeled robot, doing some random analysis on energy storage that convinces nobody, and getting some 10s in exams while some 6s in others, there’s nothing that I actually want to write on.

[Read more]

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]

Licensed under CC BY-NC-SA 4.0.