Skip to content

Instantly share code, notes, and snippets.

View subhead's full-sized avatar

subhead

  • Stuttgart, Germany
View GitHub Profile
@subhead
subhead / ffmpeg.md
Created August 13, 2025 13:32 — forked from liangfu/ffmpeg.md
using ffmpeg to extract audio from video files

ffmpeg

Converting Audio into Different Formats / Sample Rates

Minimal example: transcode from MP3 to WMA:
ffmpeg -i input.mp3 output.wma

You can get the list of supported formats with:
ffmpeg -formats

Convert WAV to MP3, mix down to mono (use 1 audio channel), set bit rate to 64 kbps and sample rate to 22050 Hz:

@subhead
subhead / proxmox-realtek.md
Created July 4, 2025 09:21 — forked from SQLJames/proxmox-realtek.md
proxmox realtek driver issues

Edit 2

Here are the steps I took to upgrade my nodes when the time came. Make sure that your apt upgrade and apt dist-upgrade don't have any errors.

Additionally, on one of my nodes, I had to confirm the grub install location. So It may be good to do this prior to upgrading by confirming the mount point of your boot disk.

apt remove --purge r8168-dkms -y
rm /etc/modprobe.d/blacklist-r8169.conf
sudo sed -i 's/GRUB_CMDLINE_LINUX="r8168.aspm=0 r8168.eee_enable=0 pcie_aspm=off loglevel=3"/GRUB_CMDLINE_LINUX=""/' /etc/default/grub
update-grub

Found here by Stephan Farestam

Here is a bash-only YAML parser that leverages sed and awk to parse simple yaml files:

function parse_yaml {
   local prefix=$2
   local s='[[:space:]]*' w='[a-zA-Z0-9_]*' fs=$(echo @|tr @ '\034')
   sed -ne "s|^\($s\):|\1|" \
        -e "s|^\($s\)\($w\)$s:$s[\"']\(.*\)[\"']$s\$|\1$fs\2$fs\3|p" \

-e "s|^($s)($w)$s:$s(.*)$s$|\1$fs\2$fs\3|p" $1 |

@subhead
subhead / arch_linux_installation_guide.md
Created May 6, 2025 10:08 — forked from mjkstra/arch_linux_installation_guide.md
A modern, updated installation guide for Arch Linux with BTRFS on an UEFI system
@subhead
subhead / install-wine-addon.sh
Created April 27, 2025 17:39 — forked from jflemer/install-wine-addon.sh
Helper script to install wine-mono and wine-gecko msi files globally (in wine share dir)
#!/bin/bash
# usage: install-wine-addon.sh { mono | gecko }
# keywords: wine-mono wine-gecko msi share/wine/mono share/wine/gecko
go() {
local pkg="$1"
local wineexe=$(readlink /usr/bin/wine)
# e.g. /opt/wine-devel/bin/wine
@subhead
subhead / test-rocm.py
Created April 19, 2025 16:10 — forked from damico/test-rocm.py
Script for testing PyTorch support with AMD GPUs using ROCM
import torch, grp, pwd, os, subprocess
devices = []
try:
print("\n\nChecking ROCM support...")
result = subprocess.run(['rocminfo'], stdout=subprocess.PIPE)
cmd_str = result.stdout.decode('utf-8')
cmd_split = cmd_str.split('Agent ')
for part in cmd_split:
item_single = part[0:1]
item_double = part[0:2]
@subhead
subhead / dps.sh
Created April 7, 2025 15:56 — forked from GottZ/dps.sh
/etc/profile.d/dps.sh
# Docker PS prettifier
# revision 6
# https://gist.github.com/GottZ/4a6c2af314d73cd8b71d
dps() {
docker ps $@ --format "table{{ .Image }}\\t{{ .Names }}\\t{{ .Status }}\\t{{ .Ports }}" | awk '
NR % 2 == 0 {
printf "\033[0m";
}
NR % 2 == 1 {
# Bash best practices and style-guide
Just simple methods to keep the code clean.
Inspired by [progrium/bashstyle](https://github.com/progrium/bashstyle) and [Kfir Lavi post](http://www.kfirlavi.com/blog/2012/11/14/defensive-bash-programming/).
## Quick big rules
* All code goes in a function
* Always double quote variables
@subhead
subhead / mute-mic.ahk
Created February 1, 2023 10:20 — forked from airstrike/mute-mic.ahk
AutoHotkey | Toggle microphone hotkey script (Windows+U)
;
; AutoHotkey Version: v1.1.22.06
; Language: English
; Platform: Windows 10
; Author: Andy Terra <github.com/airstrike>
;
; Script Function:
; Toggle Microphone Mute -- assumes it is located at WAVE:1, device #2
; Use the SoundCardAnalysis script to figure out where your mic is
; https://www.autohotkey.com/docs/commands/SoundSet.htm#Ex