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:

BASH
wget https://codeberg.org/superseriousbusiness/gotosocial/raw/branch/main/example/docker-compose/docker-compose.yaml
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:

BASH
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:

SHELL
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):

SHELL
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 →

Adding Printer Support for Epson L3150 on Arch Linux

My printer is on network at address 192.168.138.250 .

First add CUPS:

ZSH
sudo pacman -Sy cups cups-browsed bluez-cups cups-pdf
sudo systemctl enable cups    
sudo systemctl start cups

Then some other dependencies (and drivers, if you want to use some other type than Epson L3150):

ZSH
sudo pacman -Sy system-config-printer
sudo pacman -Sy nss-mdns
sudo pacman -Sy foomatic-db foomatic-db-ppds  
sudo pacman -S foomatic-db-nonfree foomatic-db-nonfree-ppds

And we should install the driver for L3150, which can be achieved with an AUR package (Epson only offer .deb and .rpm packages officially):

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 →

Using GnuPG to Verify Yourself on Keyoxide

Disclaimer: this post is a machine translation of the original Chinese version. Please refer to the original content for accurate information.

Preface

Keyoxide is similar to Keybase.io, used for verifying the identity consistency of online accounts.

For example, search for contact@forgejo.org on Keyoxide.org, and you’ll see that Forgejo owns a Mastodon instance account @forgejo@floss.social, the domain forgejo.org, and a Forgejo instance account @forgejo@codeberg.org.

You can also search using OpenPGP public key fingerprints. For instance, search for my fingerprint (which can be found on the “Contact” page) on Keyoxide.org, and you’ll see that Yuki claims ownership of accounts such as ActivityPub, Matrix, Forgejo, as well as the domain obsp.de.

Read more →

In Seek of Private Email Solution

Earlier this month I wrote an article with the title Encryption in Email Practice. My point of view is pretty straightforward, “encryption not complete means no encryption at all”, and people should stop relying on email for any secret or privacy. Nevertheless, people would not just stop because I (and many others) said don’t, as the inertia of communication is hard to revert.

The most interesting article I have read as an email enthusiast should be E-mail providers - which one to choose?, as the author themself appears to be a super paranoid and the ultimate seeker of privacy. The inspection method they have used is not technical, as they basically went through the privacy policy page of each provider and tried to sign up through Tor. Their criteria is at least extreme and trivial, if not hilarious:

Read more →