Skip to content

Instantly share code, notes, and snippets.

View pbsds's full-sized avatar
🐢
move slow and fix things

Peder Bergebakken Sundt pbsds

🐢
move slow and fix things
View GitHub Profile
porcelain2jsonl() {
uniq | (
printf "["
while read key data; do
if test -z "$key"; then
printf "]\n["
else
printf '{"%s": "%s"}, ' "$key" "$data"
fi
done
@pbsds
pbsds / .envrc
Last active July 8, 2023 03:50
flake shell example
NIX_CONFIG="extra-experimental-features = nix-command flakes" use flake
@pbsds
pbsds / download-from-unit-bird-no.py
Created June 27, 2023 10:57
Example: `python download-from-unit-bird-no.py https://hdl.handle.net/11250/3059978`
#!/usr/bin/env python
import requests
from requests.utils import parse_url
from functools import lru_cache
from pathlib import Path
import shlex
from tqdm.auto import tqdm
import re
import typer
import os
@pbsds
pbsds / life.py
Created September 19, 2022 11:59
smol
import numpy as n,pygame as p
q=(999,)*2
b=n.random.rand(*q)>.3
t=p.display
r=n.roll
o=p.surfarray.pixels2d(t.set_mode(q))
while 1:
w=sum(r(r(b,a,0),c,1)for a in[-1,0,1]for c in[-1,0,1])
b=b&((w==3)|(w==4))|((~b)*(w==3))
o[:,:]=0-b
#!/usr/bin/env python
import re
import os
import sys
from pathlib import Path
import subprocess
import shutil
import concurrent.futures as futures
import requests
import json
$fn = 100;
rotate([0, 0, 180]) {
color("brown"){
translate([-2.5, -2.5, 0]) cube([5, 5, 70]);
translate([0, 2.5, 50]) cube([40, 5, 5], center=true);
}
translate([0, 5, 50])
@pbsds
pbsds / fix-android-12.sh
Last active June 27, 2023 11:00
fix android 12
# mobile data be expensive
# https://twitter.com/MishaalRahman/status/1452868924152983552
adb shell settings put secure sysui_qs_tiles "wifi,cell,custom(com.android.settings/.development.qstile.DevelopmentTiles\$SensorsOff),$(adb shell settings get secure sysui_qs_tiles)"
# no google
adb shell settings put secure assist_touch_gesture_enabled 0
# gotta go fast
adb shell settings put global animator_duration_scale 0.5
adb shell settings put global transition_animation_scale 0.5
@pbsds
pbsds / replace_transmissions_resume_file_prefixes.py
Created March 2, 2022 21:47
Use this to convert transmissions .resume files from an old installation with different file hierarchy
from pathlib import Path
OLD = b"/old/downloads/dir/"
NEW = b"/new/downloads/dir/"
for fname in Path(".").glob("*.resume"):
print(fname)
with fname.open("rb") as f:
data = f.read()
@pbsds
pbsds / build_freebsd_wii.sh
Last active June 17, 2021 16:49
Build FreeBSD Wii (does not work)
#!/bin/sh
# https://wiki.freebsd.org/Wii
# https://wiki.freebsd.org/BuildingOnNonFreeBSD
# https://github.com/freebsd/freebsd-src/blob/main/.github/workflows/cross-bootstrap-tools.yml
# https://github.com/freebsd/freebsd-ci/tree/master/jobs/FreeBSD-main-powerpc-build
# https://github.com/freebsd/freebsd-ci/blob/master/scripts/build/build-world-kernel-head.sh
# Support for the wii was removed in 29d0137a8d2b31771eee2172f4f73e7d4fe48373 .
# Reverting it causes merge conflicts.
@pbsds
pbsds / .remoteenv
Created November 2, 2020 15:35
A .remoteenv file to use with remote-cli when using poetry on a remote host you don't have sudo access to.
#!/usr/bin/env bash
MINICONDA_PY38_URL="https://repo.continuum.io/miniconda/Miniconda3-py38_4.8.2-Linux-x86_64.sh"
MINICONDA_PY38_HASH="879457af6a0bf5b34b48c12de31d4df0ee2f06a8e68768e5758c3293b2daf688"
# Assumes repo is put in a "remotes/NAME-HASH" folder
ENVIRON_NAME="py38_$(basename $(pwd))"
REMOTES_DIR="$(dirname $(pwd))"
export POETRY_VIRTUALENVS_IN_PROJECT=true