Skip Navigation
Need help with AMD mesa drivers
  • I use my monitors with DP 1.4 for general computing and the TV for media and gaming. I HATE using Windows but forced too for now for HDR. I use an offline Ventoy instance of Windows. I will change to QEMU and dedicated video card for Windows once I get another video card

  • Need help with AMD mesa drivers
  • I have to use hdmi for my S95B because the clowns at Samsung won't add DP to their TVs, and I need HDMI for Atmos. I can do 4k 120HZ 10bit VRR in Windows with hdmi. In Linux it is only 8bit 120hz no VRR over hdmi. DP works as expected on my monitors

  • Need help with AMD mesa drivers
  • I spent an absurd amount of wasted hours in linux trying to get my Rx6700xt to do 10bit VRR output over hdmi 2.1. Turn out, we are not allowed to use hdmi 2.1 at all in open source drivers thanks to the pieces of shit at "HDMI Forum". If HIP RT requires hdmi 2.1 that will be an unsolvable issue with hdmi

  • Script: Get MPV watch history from watch_later dir. Numbered selector to pick file to play

    This script will get MPV watch history from files watch_later dir and display them in reverse order of watch. The list is numbered and a prompt for a number will play the desired file in MPV

    Need line "write-filename-in-watch-later-config=yes" in mpv.conf Deps rg (ripgrep)

    ``` #!/usr/bin/env bash

    Return mpv watch history oldest to newest.

    Need line "write-filename-in-watch-later-config=yes" in mpv.conf

    Deps rg

    watch_later_dir="$HOME/.config/mpv/watch_later/"

    SAVEIFS=$IFS IFS=$'\n'

    if [ ! -d "$watch_later_dir" ]; then echo "Specified dir doesn't exist: $watch_later_dir" echo "Set var watch_later_dir to your watch later dir" echo "also, mpv.conf should have line \"write-filename-in-watch-later-config=yes\"" exit 1 fi

    watch_later_files="$(find "$watch_later_dir" -type f -printf "%T@ %p\n" | sort | sed 's/^\([0-9]\+\.[0-9]\+\) //')"

    file_count=$(find "$watch_later_dir" -type f | wc -l)

    if [ "$file_count" -eq 0 ]; then echo "no files found in \"$watch_later_dir\"" exit 1 fi

    watch_later_files=($watch_later_files)

    filepaths_not_echoed="$(for (( i=0; i<${#watch_later_files[@]}; i++ )) do cat "${watch_later_files[$i]}" | rg -o --color=never '(/|http).*' done)"

    filepaths_not_echoed=($filepaths_not_echoed)

    Reverse the order of array

    length=${#filepaths_not_echoed[@]} for ((i=0; i<length/2; i++)); do temp="${filepaths_not_echoed[i]}" filepaths_not_echoed[i]="${filepaths_not_echoed[length-i-1]}" filepaths_not_echoed[length-i-1]="$temp" done

    filepaths="$(for (( i=0; i<${#watch_later_files[@]}; i++ )) do echo -n "$(( $i - $file_count +1 )) " | sed 's/^-//' cat "${watch_later_files[$i]}" | rg -o --color=never '/.*' done)"

    #echo "$filepaths" | perl -pe 's/^(\d+ ).\//$1/g' | rg \ echo "$filepaths" | sed -E 's/^([0-9]+ ).\//\1/g' | rg \ --colors 'match:none' \ --colors 'match:fg:0,200,0' \ --colors 'match:bg:0,0,0' \ --colors 'match:style:bold' \ "[^0-9 ].*"

    IFS=$SAVEIFS

    read -p "Enter number to play " selection

    echo "${filepaths_not_echoed[$selection]}"

    setsid >/dev/null 2>&1 </dev/null \ mpv "${filepaths_not_echoed[$selection]}" 2>&1 >/dev/null & ```

    0
    Script: Convert all webp to jpg if static or gif/mp4 if animated

    This will convert all webp in a directory to jpg or mp4 if animated. It will utilize all cores with gnu parallel. It will also handle an error with ffmpeg that happens if animated webp pixel width or height is an odd number by padding 1 pixel if necessary

    cat convertwebp

    ``` #!/usr/bin/env bash

    Convert webp to jpg if static or gif/mp4 if animated

    Pads animated webp to avoid "libx264 not divisible by 2 error"

    Deps imagemagick libwebp parallel

    Usage assuming saved as convertwebp

    convertwebp # Will convert all webp in current dir to jpeg or mp4 and gif if animated

    convertwebp /some/dir/ # Same but on specified dir

    convertwebp /some/file # Same but on specified file

    ######### Set jpg quality. There will be 2 outputs one of each quality setting

    0-100 percent

    export QUALITY_ONE=35 export QUALITY_TWO=75

    find_args=(-maxdepth 1 -type f -regextype posix-extended -iregex '.*\.(webp)$' -print0)

    dir="$PWD" if [[ -d "$@" ]]; then dir="$@" echo "Dir $@" else if [[ -f "$@" ]]; then dir="$@" echo "File $@" fi fi

    mkdir -p "$MY_DWEBP_OUTDIR"

    find "$dir" "${find_args[@]}" | parallel -0 -j+0 --eta --bar ' jpg_out_quality_one=$(echo {/.}_"$QUALITY_ONE"percent.jpg) jpg_out_quality_two=$(echo {/.}"$QUALITY_TWO"_percent.jpg) png_out=$(echo {/.}.ffmpeg.png) gif_out=$(echo {/.}.gif) mp4_out=$(echo {/.}.mp4) isanimated="$(webpmux -info {} | grep animation)" if [[ "$isanimated" == "Features present: animation transparency" ]]; then convert '{}' "$gif_out" # Begin mp4 conversion handler to pad geometry 1 pixel to x and y if either are odd to avoid "libx264 not divisible by 2 error" geometry_x=$(webpmux -info '{}' | head -n 1 | tr "[:space:]" "\n" | tail -3 | head -n 1) geometry_y=$(webpmux -info '{}' | head -n 1 | tr "[:space:]" "\n" | tail -3 | tail -1) if [ $(( $geometry_x % 2)) -ne 0 ] | [ $(( $geometry_y % 2)) -ne 0 ]; then if [ $(( $geometry_x % 2)) -ne 0 ] && [ $(( $geometry_y % 2)) -ne 0 ]; then splice_geometry="1x1" gravity_direction="northeast" convert -splice $splice_geometry -gravity $gravity_direction '{}' "$mp4_out" else if [ $(( $geometry_x % 2)) -ne 0 ]; then splice_geometry="1x0" gravity_direction="east" convert -splice $splice_geometry -gravity $gravity_direction '{}' "$mp4_out" else if [ $(( $geometry_y % 2)) -ne 0 ]; then splice_geometry="0x1" gravity_direction="north" convert -splice $splice_geometry -gravity $gravity_direction '{}' "$mp4_out" fi fi fi else convert '{}' "$mp4_out" fi # End mp4 conversion handler to pad geometry 1 pixel to x and y if either are odd to avoid "libx264 not divisible by 2 error" else dwebp '{}' -o - | convert - -quality $QUALITY_ONE% "$jpg_out_quality_one" # pipe to convert for filesize reduction dwebp '{}' -o - | convert - -quality $QUALITY_TWO% "$jpg_out_quality_two" # pipe to convert for filesize reduction fi ' unset QUALITY_ONE unset QUALITY_TWO ```

    0
    Fast password generator script

    The default character set excludes easy to confuse characters ILOl0. It is fast too

    Generating 1 million 40 character passwords time pw -n 1000000 >/dev/null 0.47s user 0.24s system 229% cpu 0.310 total

    cat pw

    ``` #!/usr/bin/env bash #set -x

    num_passwords=20 # Default number of passwords to return. pw_len=40 # Default password length. random_data='/dev/urandom' # Random data urandom_bytes_default=300000 # Default random bytes to read.

    letters='A-HJ-KM-NP-Za-km-z' # Default letters set. numbers='1-9' # Default numbers set. symbols='!?_@#%&()=+<>}{][;:",./|~\\'\''`-' # Default symbols set. If dash "-" is needed, put it at the end characters="$letters$numbers$symbols" # All default sets combined

    min_calculated_urandom_bytes=20000 # Minimum bytes when calculated. Fix issue when not enough data for simple character sets urandom_bytes_user=0 # Leave at 0, for use with logic of -b , --bytes= urandom_bytes_calculated=0 # Leave at 0, for use with end logic regex_match_flags="^-(b|-bytes=|c|-characters=|l|-length=)$" # Pattern to check against a flag being blank and reading next flag as arguemnt

    while test $# -gt 0; do case "$1" in

    -h|--help) echo " " echo " " echo " " echo "pw - generate passwords" echo " " echo "pw [options]" echo " " echo "options:" echo "-b NUM , --bytes=NUM Specify bytes to read from "$random_data". Not compatible with flag -n, --ncount. Defaults to $urandom_bytes_default bytes" echo "-c 'CHAR', --characters='CHAR' Specify allowed password characters. Defaults to '$characters'" echo "-h , --help Show brief help" echo "-l NUM , --length=NUM Specify password length. Defaults to length of $pw_len" echo "-n NUM , --ncount=NUM Specify number of passwords to return. Not compatible with flag -b, --bytes" echo " " echo " " echo " " echo " " echo "examples:" echo " " echo " " echo "# 20 character alphanumeric with symbols "'!?"#-'" using 20000 bytes of data from "$random_data"" echo "pw --bytes=20000 --characters='a-zA-Z0-9"'!?"#-'"' --length=20" echo " IjLVomOLZIvBWhmITtS" echo "pw -b 20000 -c 'a-zA-Z0-9"'!?"#-'"' -l 20" echo " IjLVomOLZIvBWhmITtS" echo " " echo " " echo " " echo "# 200 passwords using default values" echo "pw --ncount=200" echo ' !=[8x|d`dHdVA-:xn8t>G=tkgbg}T#2(/r?9N&' echo " ...{200 lines}" echo " " echo "pw -c '18bu' -l 10 -n 2" echo " bb8b8bb1ub" echo " 88b1ub8b8u" echo " " echo " " echo "pw -c '0-4' --length=80 --ncount=10" echo " 10132440443120133034412013333104142320411133221101130324111200442311420044122312" echo " " echo " " echo "pw -c 'zplaeiou' --length=80 --ncount=1" echo " uuzzzalilepauzuepaazoizoeiiaazupupalolzliluuoazluzuepzlozepapaioipupapleuzaolpuu" echo " " echo " " echo "pw -c '1-4-' -l 10 -n 2" echo " 2414443*24" echo " *123-4-31" echo " " echo " " echo "pw -b 400 -c 'a-zA-Z0-9 [#!?(){}~[]/\\-]'\''' -l 40" echo " EVuMxtVR**6}?M2HTZlED{ARjKL?D]r8h[7Pidvo" echo " " echo " " echo " " exit 0 ;;

    -b) shift # Test that -b value (previously shifted $1) is gt 0 before setting var urandom_bytes_user # And test that $pw_line_count_target has not been set if [[ $1 -gt 0 ]] && [[ -z $pw_line_count_target ]] 2> /dev/null; then urandom_bytes_user=$1 urandom_bytes_default=0 pw_line_count_target=0 else printf "error: \"-b NUM\" needs numeral greater that 0. Value > 1000 recommended\n" exit 1 fi shift ;; --bytes*) # Test that --bytes value "${1/"="/}" is gt 0 before setting var urandom_bytes_user # And test that pw_line_count_target is not set if [[ "${1/"="/}" -gt 0 ]] && [[ $pw_line_count_target -le 0 ]] 2> /dev/null; then urandom_bytes_user="${1/*"="/}" urandom_bytes_default=0 pw_line_count_target=0 else if [[ ! $pw_line_count_target -le 0 ]] 2> /dev/null; then printf "\nflag -n, --ncount not compatible with flag -b, --bytes\n" exit 1 else printf "error: usage \"--bytes=NUM\" needs numeral greater that 0. Value > 1000 recommended\n" exit 1 fi fi shift ;;

    -c) shift # Before set var characters, test for -c value (previously shifted $1) being blank, # or another flag shifted in as unintended -c value. if [[ ! -z $1 ]] && [[ ! "$1" =~ $regex_match_flags ]]; then characters="$1" else printf "error: usage \"-c 'CHARACTERS'\" (allowed password characters) needs value\n" exit 1 fi shift ;; --characters*) # Before set var characters, test for --characters string "${1/"="/}" being blank, # or another flag shifted in as unintended --characters string by checking # $characters_to_check for regex match on $regex_match_flags. characters_to_check="${1/"="/}" if [[ ! -z "${1/"="/}" ]] && [[ ! "$characters_to_check" =~ $regex_match_flags ]]; then characters="${1/"="/}" else printf "error: usage \"--characters 'CHARACTERS'\" (allowed password characters) needs value\n" exit 1 fi shift ;;

    -l) shift # Test that -l value (previously shifted $1) is gt 0 before setting var pw_len if [ $1 -gt 0 ] 2> /dev/null; then pw_len=$1 else printf "error: usage \"-l NUM\" (password length) needs numeral greater that 0\n" exit 1 fi shift ;; --length*) # Test that --length value "${1/"="/}" is gt 0 before setting var pw_len if [[ "${1/"="/}" -gt 0 ]] 2> /dev/null; then pw_len="${1/*"="/}" else printf "error: usage \"--length=NUM\" (password length) needs numeral greater that 0\n" exit 1 fi shift ;;

    -n) shift # Test that -b value (previously shifted $1) is gt 0 before setting var pw_line_count_target if [ $1 -gt 0 ] ; then pw_line_count_target=$1 urandom_bytes_default=0 else printf "error: \"-n NUM\" needs numeral greater that 0\n" exit 1 fi shift ;; --ncount*) # Test that --bytes value "${1/"="/}" is gt 0 before setting var pw_line_count_target if [[ "${1/"="/}" -gt 0 ]] ; then pw_line_count_target="${1/*"="/}" urandom_bytes_default=0 else printf "error: usage \"--ncount=NUM\" needs numeral greater that 0\n" exit 1 fi shift ;;

    *) break ;; esac done

    Test that urandom_bytes_user has not been changed from 0

    And test that pw_line_count_target gt 0

    if [[ $pw_line_count_target -gt 0 ]] && [[ $urandom_bytes_user -eq 0 ]] ; then count_out_of_10000="$(head -c 10000 < "$random_data" | tr -dc "$characters" | wc -c)" urandom_bytes_calculated=$(( (13000/$count_out_of_10000) * ($pw_len * $pw_line_count_target) )) if [[ $urandom_bytes_calculated -lt $min_calculated_urandom_bytes ]] ; then urandom_bytes_calculated=$min_calculated_urandom_bytes fi else if [[ $pw_line_count_target -gt 0 ]] && [[ $urandom_bytes_user -ne 0 ]] ; then printf "\nflag \" -n|--ncount \" not compatible with flag \" -b|--bytes \"\n" exit 1 fi fi

    if [[ $pw_line_count_target -eq 0 ]]; then pw_line_count_target=$num_passwords fi

    PW generation bits

    urandom_bytes=$(( ($urandom_bytes_default) + ($urandom_bytes_user) + ($urandom_bytes_calculated) )) head -c "$urandom_bytes" < "$random_data" | tr -dc "$characters" | fold -s -w$pw_len | head -n "$pw_line_count_target"

    ```

    0
    The FDA is being asked to look into Logan Paul's energy drink, which has the caffeine of 6 Coke cans
  • For 8 years I was drinking 5-6 monster energy (160mg each) drinks per day. Then for 2 years 3-5 Bangs per day (300mg each). In an effort to reduce intake and save money, I switched to 200mg caffeine pills. 0-2 pills per day with plenty of water. Savings are about $200 per month and I feel better than before

  • InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)HN
    HnuWETqkp4YG @lemmy.world
    Posts 3
    Comments 19