Don't feel like using GitHub? Don't worry, we have a mailing list hosted on SourceHut. Just send an email to ~yuki/obsp-inbox@lists.sr.ht to join the discussion!
Comments on Fediverse
With an account on the Fediverse, you can respond to this post. Since ActivityPub is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one. Known non-private replies are displayed below.
[{"date":"2026-09-15","lang":"en","summary":"1. New Primary Domain The primary domain of this site will be switched from obsp.de to obsp.dev. The maintainer would like to build a more international outlook instead of focusing on Europe, hence this change. (Na ah they just like the vibe)\n2. Scope of the Change This change only affects the site itself (@ and www). All other services will remain on the obsp.de domain, so there is no need to change anything on your end.","tags":["announcements"],"title":"Primary Domain Switch to obsp.dev","url":"/en/posts/domain-switch-to-obsp-dev/","year":"2026"},{"date":"2026-08-07","lang":"en","summary":"It\u0026rsquo;s been a while since I last posted. I spent a meaningful year in the university, or meaningless, depends on your standards.\nI\u0026rsquo;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\u0026rsquo;s nothing that I actually want to write on.","tags":["blabla","tech"],"title":"Privacy and Whatsoever","url":"/en/posts/privacy-and-whatsoever/","year":"2026"},{"date":"2026-06-27","lang":"en","summary":"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\u0026rsquo;s fairly lightweight and works with any Mastodon API-compatible client. The downside is that it\u0026rsquo;s pretty bare-minimum: features like emoji reactions and quote posts are absent.\nThe official GTS docker-compose.yaml can be fetched like this:\nBASH Copy wget https://codeberg.org/superseriousbusiness/gotosocial/raw/branch/main/example/docker-compose/docker-compose.yaml YAML Copy 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\u0026#39;re not running # GoToSocial behind a reverse proxy. GTS_LETSENCRYPT_ENABLED: \u0026#34;false\u0026#34; # Set your email address here if you # want to receive letsencrypt notices. GTS_LETSENCRYPT_EMAIL_ADDRESS: \u0026#34;\u0026#34; # 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: \u0026#34;172.18.0.1/16\u0026#34; ## Set the timezone of your server: #TZ: UTC ports: - \u0026#34;443:8080\u0026#34; ## For letsencrypt: #- \u0026#34;80:80\u0026#34; ## For reverse proxy setups: #- \u0026#34;127.0.0.1:8080:8080\u0026#34; 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: \u0026#34;always\u0026#34; networks: gotosocial: ipam: driver: default config: - subnet: \u0026#34;172.18.0.0/16\u0026#34; gateway: \u0026#34;172.18.0.1\u0026#34; Since I already had Caddy running on the machine, I commented out all the reverse-proxy-related parts.","tags":["tutorials","tech"],"title":"Notes on Setting Up and Backing Up GoToSocial","url":"/en/posts/gts/","year":"2026"},{"date":"2025-11-10","lang":"en","summary":"Since I\u0026rsquo;m on Wayland, the best way to install Matlab should be mpm.\nThe Wiki page worked for me and the steps I executed include:\nBASH Copy 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\u0026rsquo;t went that smooth for me, because recent gnutls update (likely 3.8.10-1 or newer) breaks the TLS handshake in MATLAB\u0026rsquo;s bundled licensing libraries (libmwinstall\\_activationwsclientimpl.so and libmwlmgrimpl.so), causing the segfault when the tool tries to connect to MathWorks servers.\nSo I ran these to make Matlab use the old version of gnutls :","tags":["tech","tutorials"],"title":"Quick Installation Matlab 2025b on Arch","url":"/en/posts/quick-installation-matlab-2025b-on-arch/","year":"2025"},{"date":"2025-09-27","lang":"en","summary":"You can read the detail description in this issue.\nThe fix is, find out the listener service with this adb command:\nSHELL Copy adb shell pm dump io.github.jd1378.otphelper | grep -i \u0026#34;notification\\|listener\u0026#34; And you can see it\u0026rsquo;s called io.github.jd1378.otphelper/.NotificationListener.\nSo, we grant it special access to read notifications (which is not possible via settings GUI, and I don\u0026rsquo; know why):\nSHELL Copy adb shell cmd notification allow_listener io.github.jd1378.otphelper/.NotificationListener ","tags":["tech","tutorials"],"title":"Fix Copy SMS Code on Graphene","url":"/en/posts/fix-copy-sms-code-on-graphene/","year":"2025"},{"date":"2025-08-28","lang":"en","summary":"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.\nCertainly, you can read this detailed tutorial from Arch Wiki, so I won\u0026rsquo;t explain too much on the general process.\nThe problem is, the table for Bluetooth 5.1 devices does not cover the model Microsoft Bluetooth Mouse 3600, and I have to refer to \u0026ldquo;Other devices\u0026rdquo;, the guidance of which does not really work for me.","tags":["tech","tutorials"],"title":"How to Make Microsoft Bluetooth Mouse 3600 Work in Linux Windows Dual Boot","url":"/en/posts/how-to-use-microsoft-bluetooth-mouse-3600-work-in-linux-windows-dual-boot/","year":"2025"},{"date":"2025-08-07","lang":"en","summary":"My printer is on network at address 192.168.138.250 .\nFirst add CUPS:\nZSH Copy 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):\nZSH Copy 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):","tags":["tech","tutorial"],"title":"Adding Printer Support for Epson L3150 on Arch Linux","url":"/en/posts/adding-priter-support-for-epson-l3150-on-arch-linux/","year":"2025"},{"date":"2025-08-06","lang":"en","summary":"Does it work?","tags":["tech"],"title":"Mastodon Comment Test","url":"/en/posts/mastodon-comment-test/","year":"2025"},{"date":"2025-08-05","lang":"en","summary":"Disclaimer: I have been a user of almost every email provider mentioned below, and I am not affiliated with any of them.\nYou can read Forward Email\u0026rsquo;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.\nIn 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\u0026rsquo;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.","tags":["tech","tutorials"],"title":"Interpreting Internet.nl Test Results","url":"/en/posts/interpreting-internet.nl-test-results/","year":"2025"},{"date":"2025-08-04","lang":"en","summary":"Just performed a fresh install of Arch, and try to use zsh instead of bash.\nTo make it remember history, and inherit nice aliases from bash , make a file .zshrc with the following:\nSHELL Copy # Created by newuser for 5.9 export PATH=$PATH:/home/user/.local/bin # uncomment the line below if you feel like using oh-my-posh # eval \u0026#34;$(oh-my-posh init zsh --config \u0026#39;catppuccin\u0026#39;)\u0026#34; alias ls=\u0026#39;ls --color=auto\u0026#39; alias grep=\u0026#39;grep --color=auto\u0026#39; PS1=\u0026#39;[\\u@\\h \\W]\\$ \u0026#39; export XDG_DATA_DIRS=\u0026#34;/var/lib/flatpak/exports/share:/home/user/.local/share/flatpak/exports/share:/home/user/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/\u0026#34; HISTFILE=~/.zsh_history # How many commands to store in history HISTSIZE=10000 SAVEHIST=10000 setopt SHARE_HISTORY # uncomment the lines below if you installed Fcitx # export XMODIFIERS=\u0026#34;@im=fcitx\u0026#34; # export GTK_IM_MODULE=fcitx # export QT_IM_MODULE=fcitx By default, GNOME doesn\u0026rsquo;t recognize tray icons from applications. This would be a headache for applications that starts up silently and automatically minimizes to tray. Head to Flatpak manager and install Extension Manager, open it and search for AppIndicator and KStatusNotifierItem Support, install the extension and you\u0026rsquo;ll be able to see icons showing up.","tags":["daily"],"title":"Arch Setup","url":"/en/posts/arch-setup/","year":"2025"},{"date":"2025-07-26","lang":"en","summary":"Disclaimer: this post is a machine translation of the original Chinese version. Please refer to the original content for accurate information.\nPreface Keyoxide is similar to Keybase.io, used for verifying the identity consistency of online accounts.\nFor example, search for contact@forgejo.org on Keyoxide.org, and you\u0026rsquo;ll see that Forgejo owns a Mastodon instance account @forgejo@floss.social, the domain forgejo.org, and a Forgejo instance account @forgejo@codeberg.org.\nYou can also search using OpenPGP public key fingerprints. For instance, search for my fingerprint (which can be found on the \u0026ldquo;Contact\u0026rdquo; page) on Keyoxide.org, and you\u0026rsquo;ll see that Yuki claims ownership of accounts such as ActivityPub, Matrix, Forgejo, as well as the domain obsp.de.","tags":["tech","tutorials"],"title":"Using GnuPG to Verify Yourself on Keyoxide","url":"/en/posts/using-gpg-to-verify-yourself-on-keyoxide/","year":"2025"},{"date":"2025-07-21","lang":"en","summary":"Earlier this month I wrote an article with the title Encryption in Email Practice. My point of view is pretty straightforward, \u0026ldquo;encryption not complete means no encryption at all\u0026rdquo;, 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\u0026rsquo;t, as the inertia of communication is hard to revert.\nThe 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:","tags":["tech","opinions"],"title":"In Seek of Private Email Solution","url":"/en/posts/in-seek-of-private-email-solution/","year":"2025"},{"date":"2025-07-14","lang":"en","summary":"The short answer is yes, the long answer is not always.\nThe benefits of using your own custom domain, and the drawbacks of not using it, are listed below:\nEmail providers would shut down, and all you have to do is changing MX records. You don\u0026rsquo;t always need to pay for extra addresses. A simple catch-all would solve the problem, and you can reduce spam by setting up rules with each recipient address. More solutions available. Some email hosting providers are exclusive for custom domain users, and you can engage with different providers with your inbound and outbound, get the best solution of each. For example, I self host my inbound email with mail-in-a-box and have full control over the spam filter, but I\u0026rsquo;m concerned with IP reputation and deliverablity, so for the SMTP service I simply choose Amazon SES at a low price. The points above sound pretty valid, but people have raised some concerns:","tags":["daily","tech"],"title":"Use Your Custom Domain or Not for Email","url":"/en/posts/use-your-custom-domain-or-not-for-email/","year":"2025"},{"date":"2025-07-09","lang":"en","summary":"Modern demands on email privacy are exceeding its original design and are still growing even more enormous. This is morbid.\nLet\u0026rsquo;s take a look at some certain use case: Alice created a banking/finance account (something similar to Revolut/Paypal), and her login credential are listed below:\nTEXT Copy username: alice@example.org password: You1-Should9-Use0-A7-Password4-Manager2! Alice was careless, she didn\u0026rsquo;t follow the best practice of backup and lost her KeePass database (or her Vaultwarden database, or she forgot master password, or the paper that she wrote passwords on). Unfortunately, this is the only copy of the above username/password combination, there\u0026rsquo;s no way to retrieve.","tags":["daily","tech"],"title":"Encryption in Email Practice","url":"/en/posts/encryption-in-email-practice/","year":"2025"}]
Comments on Fediverse
With an account on the Fediverse, you can respond to this post. Since ActivityPub is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one. Known non-private replies are displayed below.
Learn how this is implemented here.