Scrath

joined 2 years ago
[–] Scrath@lemmy.dbzer0.com 1 points 1 day ago

I use a focusrite scarlet 2i2 2nd gen audio interface for my microphone. The driver hasn't been updated for a few years now but even when it was recent, I had issues with my mic quality randomly breaking, making me sound like a robot to my friends. I have had zero issues since switching to linux without even installing any special software for it.

The only thing I kind of miss is that windows allowed me to mix down both mic inputs to a single mono channel whereas on linux both inputs are presented as separate mono channels. I suppose I could fix it with some 3rd party tools but I did not miss it too much so far.

[–] Scrath@lemmy.dbzer0.com 2 points 3 days ago (1 children)

I've heard that said about PETG in general before. Personally I never had any issues though. Is it worse when printing CF-PETG?

[–] Scrath@lemmy.dbzer0.com 3 points 4 days ago (1 children)

There was one about workplace safety where she was groped. Apart from that, most other ones are good I think

[–] Scrath@lemmy.dbzer0.com 2 points 5 days ago

I've been getting back into CS2 somewhat and recently also reinstalled Monster Hunter Wilds.

Apart from that I also dug up my old savegames for Zelda BOTW and gave the Cemu emulator another try. The last time I had it running it would randomly cause my system to crash. This seems to be fixed now, though I don't know if my since upgraded GPU, the switch from Windows to Linux, or simply an update to the emulator fixed my issue.

[–] Scrath@lemmy.dbzer0.com 1 points 5 days ago* (last edited 5 days ago)

Somehow I missed the release of Control Resonant entirely, despite being a fan of the first one. So, thanks for the reminder

[–] Scrath@lemmy.dbzer0.com 2 points 1 week ago

Self-Hoster 🏡

  • Fleet: 2–3 devices · 11–20 TB
  • Motivation: Privacy & data ownership, Independence from Big Tech & subscriptions, Fun / the hobby itself
  • My MVPs: Home Assistant, Navidrome, Jellyfin
[–] Scrath@lemmy.dbzer0.com 6 points 1 week ago

Depending on how you define multiple operating systems, you can use proxmox

[–] Scrath@lemmy.dbzer0.com 1 points 1 week ago

Thanks for the tip. I'll have to try that out later when I have time.

After noticing that ChatGPT had quite a different vision than I did, I've mostly been brute forcing the projection math by drawing a cube on paper and seeing how the 3D coordinates are transformed to 2D space. The only useful thing it actually helped me with was figuring out which 3D file format was most compatible for parsing into my objects. It tried writing a parser for that format, which I looked at and then decided to do it myself with less lines of code ;D

[–] Scrath@lemmy.dbzer0.com 3 points 1 week ago (2 children)

Just simple CPU calculations. I'm basically just mapping my points from 3D space to my 2D screen and drawing lines between them. Not sure if rendering engine is actually the correct term for what I am doing. The word engine kind of implies a larger scope than I am going for.

Of course, I had to massively complicate this for myself by setting out to use this for displaying basic wireframe graphics on embedded systems... Basically I currently need to figure out how to reduce my triangle based objects to ones that only have the silhouette lines or that only show triangles which are actually visible, except my line drawing setup does not allow for partially obscured faces as is.

[–] Scrath@lemmy.dbzer0.com 4 points 1 week ago* (last edited 1 week ago) (7 children)

This is great and I wished I found it a week ago.

I have spent the last week building a basic 3D rendering engine in C, though I restricted myself to isometric rendering which I considered the simplest form to implement. Especially since trying to talk shop with ChatGPT on the topic usually lead to very complicated design recommendations that far exceeded the amount of features I actually cared about in my proof of concept (e.g. variable camera position, adjustable field of view and more)

Now I only need to figure out how to cull unwanted triangles from my loaded .obj files

[–] Scrath@lemmy.dbzer0.com 2 points 2 weeks ago (2 children)

Do you happen to know a book that is a bit more up to date?

[–] Scrath@lemmy.dbzer0.com 2 points 1 month ago

You can use a gps logging app (I use gps logger on android) to create gps tracks and sync them with your photos via the timestamp. Digikam has a tool for that built in, not sure what other software supports it.

This way I don't have to manually tag every photo but instead only those where the gps failed because I was underground or where I forgot to turn it on

 

Hello everyone, I recently tried switching my docker torrent client setup from haugene/transmission-openvpn to linuxserver/qbittorrent with gluetun for my VPN.

I have gluetun set up to use port forwarding with ProtonVPN which assigns a random port on every connection. Gluetun provides a VPN_PORT_FORWARDING_UP_COMMAND which can be used in this scenario to update the port used by qbittorrent. While I had issues with the example command in the gluetun wiki to do this, I eventually managed using a bash script I found in another forum.

My issue now is that my server shuts down for the night to reduce noise and after restarting, even though I have the container startup order set up, qbittorrent is no longer reachable on its webinterface. The logs do not indicate any issue though.

As far as I can tell, the stack as I have set it up is extremely finnicky in terms of startup order and time. If I start gluetun first and then wait too long before starting qbit, the port update script will fail because there is obviously no target for it. If qbit is up and running before gluetun is done, I typically can't access its webinterface for some reason and the network interface used by gluetun will set itself to loopback.

The result of this is that basically every morning I have to start and restart the containers in the stack a couple of times until I can access the interface and ensure that the port and network interface of qbit are configured correctly.

If anyone has a similar setup working that they could share or maybe another solution to my current issue that would be great. Thanks.

This is my docker-compose stack for the new setup

version: '3'
services:
  gluetun:
    image: qmcgaw/gluetun
    container_name: gluetun
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
    ports:
      - 8080:8080 # qbittorrent webinterface
      # - 6881:6881 # qbittorrent, only needed without port-forwarding
    environment:
      - VPN_SERVICE_PROVIDER=protonvpn
      - OPENVPN_USER=${OPENVPN_USERNAME}
      - OPENVPN_PASSWORD=${OPENVPN_PW}
      - SERVER_COUNTRIES=Switzerland
      - VPN_PORT_FORWARDING=on
      - PORT_FORWARD_ONLY=on
      - TZ=Europe/Berlin
      # From gluetun wiki: https://github.com/qdm12/gluetun-wiki/blob/main/setup/advanced/vpn-port-forwarding.md
      - VPN_PORT_FORWARDING_UP_COMMAND=/bin/sh -c 'sh /gluetun/update-port.sh "{{PORTS}}"'
      - VPN_PORT_FORWARDING_DOWN_COMMAND=/bin/sh -c 'echo "Execution port forwarding down command" && wget -O- -nv --retry-connrefused --post-data "json={\"listen_port\":0,\"current_network_interface\":\"lo\"}" http://127.0.0.1:8080/api/v2/app/setPreferences'
      - QBIT_ADDRESS=http://localhost:8080/
      - QBIT_USERNAME=${QBIT_USER}
      - QBIT_PASSWORD=${QBIT_PW}
    volumes:
      - /mnt/truenas/qbittorrent/update_port.sh:/gluetun/update-port.sh
    labels:
      - "com.centurylinklabs.watchtower.enable=true" # Auto update using watchtower

  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - WEBUI_PORT=8080
      - TORRENTING_PORT=6881
    network_mode: "service:gluetun"
    depends_on:
      - gluetun
        # condition: service_healthy
        # restart: true
    volumes:
      - /home/poseidon/qbittorrent:/config
      - /mnt/truenas/qbittorrent:/downloads
    # ports:
    #   - 8080:8080
    #   - 6881:6881
    #   - 6881:6881/udp
    restart: unless-stopped

And this is the script I use for updating the qbittorrent ports

#!/bin/sh
# update-port.sh
port="$1"
retries="${UPDATE_PORT_RETRIES:-5}"
interval="${UPDATE_PORT_RETRY_INTERVAL:-10}"

echo "Attempting to update qBittorrent port to $port..."

for i in $(seq 1 "$retries"); do
  response=$(wget --quiet --save-cookies=/tmp/cookies.txt --keep-session-cookies \
                  --post-data="username=$QBIT_USERNAME&password=$QBIT_PASSWORD" \
                  --header="Referer: $QBIT_ADDRESS" \
                  "$QBIT_ADDRESS/api/v2/auth/login" -O -)

  if [ "$response" = "Ok." ]; then
    break
  fi

  echo "Login attempt $i/$retries failed. Retrying in $interval seconds..."

  sleep "$interval"
done

set -e

if [ "$response" != "Ok." ]; then
    echo "Unable to log in to qBittorrent."
    rm -f /tmp/cookies.txt

    exit 1
fi

wget --quiet --load-cookies=/tmp/cookies.txt \
     --post-data="json={\"listen_port\": $port, \"current_network_interface\":\"$VPN_INTERFACE\", ,\"random_port\":false,\"upnp\":false}" \
     "$QBIT_ADDRESS/api/v2/app/setPreferences" -O /dev/null

rm -f /tmp/cookies.txt

echo "qBittorrent port updated successfully to $port."

Update

After updating my stack based on the recommendation from hyphen612 it has been running flawlessly for a few days. This is my new docker-compose file. The extra script I used before for updating the port has been retired.

version: '3'
services:
  gluetun:
    image: qmcgaw/gluetun
    container_name: gluetun
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
    ports:
      - 8080:8080 # qbittorrent
      # - 6881:6881 # deluge or qbittorrent, only needed without port-forwarding
    environment:
      - VPN_SERVICE_PROVIDER=protonvpn
      - OPENVPN_USER=${OPENVPN_USERNAME}
      - OPENVPN_PASSWORD=${OPENVPN_PW}
      - SERVER_COUNTRIES=Switzerland
      - VPN_PORT_FORWARDING=on
      - PORT_FORWARD_ONLY=on
      - IPV6=off
      - TZ=Europe/Berlin
      - VPN_PORT_FORWARDING_UP_COMMAND=/bin/sh -c 'wget -O- --retry-connrefused --post-data "json={\"listen_port\":{{PORTS}}}" http://127.0.0.1:8080/api/v2/app/setPreferences 2>&1'
      - HEALTH_SUCCESS_WAIT_DURATION=20s
      - HEALTH_TARGET_ADDRESSES='1.1.1.1:443'
    healthcheck:
      test: ["CMD", "/gluetun-entrypoint", "healthcheck"]
      interval: 10s
      timeout: 10s
      start_period: 20s
      retries: 10 #has internal fix mechanism
    labels:
      - "com.centurylinklabs.watchtower.enable=true" # Auto update using watchtower

  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - WEBUI_PORT=8080
      - TORRENTING_PORT=6881
    network_mode: "service:gluetun"
    depends_on:
      gluetun:
        condition: service_healthy
        # restart: true
    volumes:
      - /home/poseidon/qbittorrent:/config
      - /mnt/truenas/qbittorrent:/downloads
    restart: unless-stopped

Update 2

The issue with qbittorrent not being reachable despite the container being healthy did not go away with the previous update. What finally fixed the issue for me was changing the tag of the container image. I am now using the lscr.io/linuxserver/qbittorrent:libtorrentv1 image instead and that seems to work so far.

 

Hello everyone, I am currently looking for a software solution to use my home server as a DLNA renderer which can output audio to my stereo amplifier.

The only solution I found was called gmrender-resurrect which seems like it would do exactly what I want but I was unable to get a docker container of it working. While I was able to find and connect to the DLNA Renderer, playback would fail every time and I was unable to get any information from the logs regarding why.

Do any of you know another solution to stream audio from my phone to my server (I am using Symfonium on the phone side)? Ideally it would be something I can deploy as a docker container on my server.

Thanks.

 

Hello everyone, I am currently trying to set up a kmonad config file to replace the autohotkey script I used on windows. My goal is simply to use the right alt key in combination with a,o,u and so on to type german umlaut characters like ä,ö,ü, etc.

So far I am having trouble even getting kmonad to run the config. I guess I probably misunderstand how this is supposed to work significantly. My initial config file was generated by ChatGPT since I had no idea where to even start.

This is my current config file

(defcfg
  input  (device-file "/dev/input/by-path/platform-i8042-serio-0-event-kbd")
  output (uinput-sink "kmonad_keyboard")
  fallthrough true
  allow-cmd true
)

(defsrc
  ralt a o u s lsft
)

(deflayer german
  ralt-a "ä"
  ralt-o "ö"
  ralt-u "ü"
  ralt-s "ß"
  ralt-shift-a "Ä"
  ralt-shift-o "Ö"
  ralt-shift-u "Ü"
)

Any help would be appreciated.

45
submitted 2 years ago* (last edited 2 years ago) by Scrath@lemmy.dbzer0.com to c/electronics@discuss.tchncs.de
 

Hello everyone, I recently built a small distribution board to distribute 5V to multiple components for use in a robotics project. I made each output switchable with an individual switch and an LED to indicate the current state. When I went to test it using a lab power supply I noticed that the LEDs would start flickering weirdly when I turned them off and on again.

https://imgur.com/a/zaSCUby

As it turns out, the LEDs, which I found in my dads old parts in a bag labeled TLBO 5410, are apparently blinking LEDs. I found a datasheet for TLBR5410 LEDs which seem pretty much identical to what I have accidentally used.

Apparently these LEDs are made to operate directly from a 5V supply without an additional current limiting resistor (it is already built in) and are made to continuously blink at a frequency of 3Hz.

Because I thought I was using standard LEDs I added a series resistor causing them to behave weirdly due to low voltage. For comparison, this is how they are supposed to act: https://imgur.com/a/fXlcEDs

 

Hello everyone, I have another question regarding reverse-proxying again, specifically for the linuxserver.io jellyfin image.

On the dockerhub page for this image there are 4 ports listed which should be exposed:

  • 8096 for the HTTP Web UI
  • 8920 for the HTTPS Web UI
  • 7359/udp for autodiscovery of jellyfin from clients
  • 1900/udp for service discovery from DLNA and clients

Additionally there is also an environment variable JELLYFIN_PublishedServerUrl which is for "Setting the autodiscovery response domain or IP address". I currently have that set to my subdomain https://jellyfin.mydomain.com though I am not sure if that is correct.

I already have a reverse-proxy set up allowing me to access my servers webinterface under https://jellyfin.mydomain.com without exposing the https port on the container. What I am unsure about now however, is what to do with the two ports for UDP traffic.

By my understanding, a reverse-proxy will only forward traffic which comes to the ports 80 for http and 443 for https. Those are also the only ports my reverse-proxy container has exposed alongside the management interface. As such the 2 udp ports will not be reachable under my jellyfin domain.

How can I change this or is this even an issue?

10
submitted 2 years ago* (last edited 2 years ago) by Scrath@lemmy.dbzer0.com to c/selfhosted@lemmy.world
 

Hello, I have a question regarding the usage of a reverse-proxy which is part of a docker network.

I currently use Nginx Proxy Manager as a reverse-proxy for all my services hosted in docker. This works great since I can simply forward using each containers name. I have some services however (e.g. homeassistant) which are hosted separately in a VM or using docker on another device.

Is it possible to use the same reverse-proxy for those services as well? I haven't found a way to forward to hosts outside of the proxies docker network (except for using the host network setting which I would like to avoid)

view more: next ›