Skip to content

Instantly share code, notes, and snippets.

@ajskateboarder
ajskateboarder / enough.py
Created June 12, 2024 19:46
Rust-like enums in Python, featuring Result kinda
from string import ascii_lowercase, ascii_uppercase
from itertools import product
from dataclasses import dataclass
import traceback
import inspect
class UnwrapError(Exception): pass
UNWRAP_FUNCS = ("unwrap", "unwrap_or", "unwrap_or_else", "and_then", "__class__")
RESULT_TYPES = ("_err_tuple", "_err", "_ok", "_ok_tuple")
@ajskateboarder
ajskateboarder / play.sh
Last active January 2, 2024 03:16
Play a YouTube video from the terminal in WSL with PulseAudio
#!/bin/bash
export PULSE_SERVER="tcp:$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}')"
pulseaudio --start
# replace USER with a username, VIDEO with a YouTube video ID, and TERMINAL with an terminal (konsole, gnome-terminal, etc.)
pasuspender -- /home/USER/.local/bin/youtube-dl -o - "https://youtube.com/watch?v=VIDEO" | mpv - --no-terminal --really-quiet --display-tags-clr --player-operation-mode=pseudo-gui > /dev/null & disown; sleep 4 && kill `ps -axjf | grep -m 1 "\_ TERMINAL" | awk '{print $2}'`; exit