SinTan1729
- 11 Posts
- 108 Comments
SinTan1729@programming.devto
Linux@programming.dev•The Free Software Foundation Europe was cancelled by their payment provider after refusing to hand over personal account data!English
2·7 days agoWe have it in India. I usually prefer them to most banks for savings accounts, or FDs. Their rates are usually much better.
deleted by creator
SinTan1729@programming.devto
Programming@programming.dev•Are there any examples of 'perfect' software?English
3·1 month agoNot sure about LaTeX, but TeX is widely considered to be almost “perfect” code.
SinTan1729@programming.devto
Linux@programming.dev•MOS Is a New Open-Source Server OS Aimed at Homelabs and Self-HostingEnglish
2·1 month agoYeah, ZFS support can be a bit annoying to deal with. I use
kmodpackages, but have faced small issues in the past. It’s usually pretty easy to resolve them, tho. Just stay on an older kernel for a few days.
SinTan1729@programming.devto
Linux@programming.dev•MOS Is a New Open-Source Server OS Aimed at Homelabs and Self-HostingEnglish
5·1 month agoTo each their own, but I really don’t see the point of these distros. I usually just install Debian or AlmaLinux on my homeservers and build on top of it. I guess extra tooling can be helpful, but I’ve never felt the need for it.
SinTan1729@programming.devto
Privacy@programming.dev•Page views for "Zulip" Wikipedia article skyrocket after Discord announces its age verification nonsenseEnglish
3·1 month agoIt’s very commonly used in academia. (Well, I can only speak about math communities, since that’s where I have experience. I guess math people are usually more into FOSS than others in academia.)
Anyway, I love it.
SinTan1729@programming.devto
Learn Programming@programming.dev•What's the most fun programming language to learn?English
5·1 month agoI had the most fun learning Haskell. Mostly because it was so different from the languages that I knew. Also, learning Lean was fun. But I guess that’s kinda niche since it’s not very relevant for anything but pure mathematics.
SinTan1729@programming.devto
Programmer Humor@programming.dev•Virgin Framework vs Chad ThinkPadEnglish
7·2 months agoI would highly recommend the Framework 13. I’ve had it for a bit more than a year now. The only problem I’ve faced was that the WiFi card was a bit unstable in EndeavourOS. But that was fixed by replacing
wpa_supplicantwithiwd. (I hear that it was only an issue for the AMD version, and that it’s fixed now.) Battery life is fine for me. I limit charging at 70%, and that usually lasts me the whole day.I love how Linux friendly it is. On my last laptop (an HP), it was pretty much impossible to upgrade the BIOS from inside Linux. Now it’s trivial. There’s also good support available when you face issues. (Both from Framework, and community members.) The hardware is pretty nice. I actually like how it’s MacBook-like, because it just looks nice in most settings. It’s portable too, I really hope they don’t make it bulkier like some folks here seem to demand.
SinTan1729@programming.devto
Programmer Humor@programming.dev•Virgin Framework vs Chad ThinkPadEnglish
19·2 months agoThere IS one of these for everything, eh?
SinTan1729@programming.devto
Linux@programming.dev•KDE Plasma 6.6 Lets Users Create Custom Global Themes From Current SettingsEnglish
2·2 months agoSlightly off topic, but man, I wish there was a nice way to track all changes in all settings. I don’t really wanna go immutable. I also know about software that tracks directories like
/etcas agitrepo, but that’ll only track the newer changes. I want something that can help me replicate my current setup easily.
SinTan1729@programming.devto
Linux@programming.dev•Gimp Heal Selection Tool - ResynthesizerEnglish
8·2 months agoIt’s fine. I’m not a professional, but I’ve used it before. It was enough for what I wanted to achieve.
SinTan1729@programming.devto
Neovim@programming.dev•How to make browser auto reload html when changed?English
2·3 months agoDon’t use it myself (I don’t do much webdev), but this seems to do what you want.
SinTan1729@programming.devto
Opensource@programming.dev•Diptyx Open Source Dual-Screen E-Reader Launches on Crowd SupplyEnglish
5·3 months agoIf this were a single screen device, I would’ve given it some serious thought. I’m reading one page at a time, so I don’t see the point of a dual screen e-reader. Single screen would be cheaper, and also lighter.
I guess I’ll stick with my Kobo for now.
SinTan1729@programming.devOPto
Programmer Humor@programming.dev•Rust bad Jai goodEnglish
7·3 months agoAFAIK, it’s still in closed beta.
SinTan1729@programming.devOPto
Programmer Humor@programming.dev•Rust bad Jai goodEnglish
152·3 months agoYou’re spot on. The same people complain endlessly about Rust being used in the Linux kernel, even though the actual experts are happy with it. It’s just culture war bullshit.
I didn’t know how much of a change Lunduke had had until recently, when I watched a video by Nicco. I used to watch his Linux Sucks videos 4-5 years ago, and he genuinely seemed like a chill dude.
SinTan1729@programming.devto
Programming@programming.dev•Kinda proud of this python script I wroteEnglish
4·3 months agoGood work, but this can be done in a more efficient way by utilizing the qBittorrent API in more places. Also, you may wanna utilize gluetun’s
VPN_PORT_FORWARDING_UP_COMMANDfor calling the script.Here’s my script. I used bash since the gluetun container doesn’t have Python in it.
Code
#!/bin/sh # Adapted from https://github.com/claabs/qbittorrent-port-forward-file/blob/master/main.sh # set -e qbt_username="${QBT_USERNAME}" qbt_password="${QBT_PASSWORD}" qbt_addr="${QBT_ADDR:-http://localhost:8085/}" if [ -z ${qbt_username} ]; then echo "You need to provide a username by the QBT_USERNAME env variable" exit 1 fi if [ -z ${qbt_password} ]; then echo "You need to provide a password by the QBT_PASSWORD env variable" exit 1 fi port_number="$1" if [ -z "$port_number" ]; then port_number=$(cat /tmp/gluetun/forwarded_port) fi if [ -z "$port_number" ]; then echo "Could not figure out which port to set." exit 1 fi wait_time=1 tries=0 while [ $tries -lt 10 ]; do wget --save-cookies=/tmp/cookies.txt --keep-session-cookies --header="Referer: $qbt_addr" --header="Content-Type: application/x-www-form-urlencoded" \ --post-data="username=$qbt_username&password=$qbt_password" --output-document /dev/null --quiet "$qbt_addr/api/v2/auth/login" listen_port=$(wget --load-cookies=/tmp/cookies.txt --output-document - --quiet "$qbt_addr/api/v2/app/preferences" | grep -Eo '"listen_port":[0-9]+' | awk -F: '{print $2}') if [ ! "$listen_port" ]; then [ $wait_time -eq 1 ] && second_word="second" || second_word="seconds" echo "Could not get current listen port, trying again after $wait_time $second_word..." sleep $wait_time [ $wait_time -lt 32 ] && wait_time=$(( wait_time*2 )) # Set a max wait time of 32 secs tries=$(( tries+1 )) continue fi if [ "$port_number" = "$listen_port" ]; then echo "Port already set to $port_number, exiting..." exit 0 fi echo "Updating port to $port_number" wget --load-cookies=/tmp/cookies.txt --header="Content-Type: application/x-www-form-urlencoded" --post-data='json={"listen_port": "'$port_number'"}' \ --output-document /dev/null --quiet "$qbt_addr/api/v2/app/setPreferences" echo "Successfully updated port" exit 0 done echo "Failed after 10 attempts!" exit 2For the auto-exit stuff, you may wanna check out docker’s healthcheck functionality.
Not trying to put you down or anything here, it’s great to learn to do things by yourself. Just giving you some pointers.
SinTan1729@programming.devto
Programming@programming.dev•what's the coolest thing you have ever programmed?English
7·3 months agoChhoto URL - It’s a simple URL shortener written in Rust.
I’ve written more programs, some of which are more useful in my daily life than this (e.g. movie-rename) but this is one that many seem to find interesting, and that’s kinda cool I guess. Also, I’m proud of some of my Lean code, but that stuff’s not published.
SinTan1729@programming.devto
Linux@programming.dev•Amber the programming language compiled to Bash, 0.5.1 releaseEnglish
2·4 months agoOh, definitely. Its syntax is so simple, you can basically learn the basics over an afternoon. Outside of applications where consistent low latency is critical, if I can spare some extra RAM and CPU, I prefer Go to Rust.











Thanks for your feedback.
You just need an Immich API key, and run it from any machine from where you can reach your Immich instance. It does everything using the Immich API, so only a key with the proper permissions is needed. (I’ll add what the minimum required permissions are in the README.)
Also, if you want to do it for many users, you don’t need them to run it on individual machines/accounts. You can create multiple config files, each with that user’s key, and pass it to the script via the
--configflag.If running it for multiple users is a thing that people are interested in, I can add a way to supply an array of options in the config file, each belonging to one user.