• 9 Posts
  • 84 Comments
Joined 2 years ago
cake
Cake day: June 5th, 2023

help-circle






  • here we go:

    dedup:

    #!/usr/bin/awk -f
    !x[$0]++
    

    this removes duplicate lines, preserving line order

    iter:

    #!/usr/bin/bash
    if [[ "${@}" =~ /$ ]]; then
        xargs -rd '\n' -I {} "${@}"{}
    else
        xargs -rd '\n' -I {} "${@}" {}
    fi
    

    This executes a command for each line. It can also be used to compare two directories, ie:

    du -sh * > sizes; ls | iter du -sh ../kittens/ > sizes2
    

    fadeout:

    #!/bin/bash
    # I use this to fade out layered brown noise that I play at a volume of 130%
    # This takes about 2 minutes to run, and the volume is at zero several seconds before it's done.
    # ################
    # DBUS_SESSION_BUS_ADDRESS is needed so that playerctl can find the dbus to use MPRIS so it can control mpv
    export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"
    # ################
    for i in {130..0}
    do
        volume=$(echo "scale=3;$i/100" | bc)
        sleep 2.3
        playerctl --player=mpv volume $volume
    done
    

    lbn:

    #!/bin/bash
    #lbn_pid=$(cat ~/.local/state/lbn.pid)
    if pgrep -fl layered_brown
    then
    	pkill -f layered_brown
    else
    	export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"
    	mpv -ao pulse ~/layered_brown_noise.mp3 >>lbn.log 2>&1 &
    	sleep 3
    	playerctl -p mpv volume 1.3 >>lbn.log 2>&1 &
    fi
    

    This plays “layered brown noise” by crysknife. It’s a great sleep aid.

    here are some aliases:

    alias m='mpc random off; mpc clear'
    alias mpcc='ncmpcpp'
    alias thesaurus='dict -d moby-thesaurus'
    alias wtf='dict -d vera'
    alias tvplayer='mpv -fs --geometry=768x1366+1366+0'
    





  • Not exactly sure, but playing with setting up your own VPN will give you an idea of it.

    Essentially, the VPN is run on a remote server. When you connect to the VPN, your traffic gets masqueraded out through the remote server, and replies get natted back to you. If you tried setting up a webserver on your computer and then accessing the webserver on the VPN server IP, it wouldn’t work, because the request coming in to the VPN server port would by default just reach the VPN server at that port.

    This is where port forwarding comes in – if the VPN server allows you to port forward, you can set port X on the VPN server to go to port Y on your router (which would likely also have to port forward on your router to get to your computer).