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
@pbsds
pbsds / MapGenerator.py
Created May 9, 2013 21:00
A simple random map generator using seeding and growth to produce it's landmasses.
import Image, random, math
#Made by pbsds/Peder Bergebakken Sundt
#Requires PIL to work
Palette = (0x0045A0,#0 - Dark water
0x0059BC,#1 - Water
0x0078F9,#2 - Shore water
0xFFF65E,#3 - Sand
0x2BE81F,#4 - Grass
0x26B719,#5 - Dark Grass
@pbsds
pbsds / Latency Simulator.py
Created September 18, 2014 21:04
This is something i made quick to get a feel of how a monitor with a certain input lag would feel like.
import pygame
pygame.init()
pygame.display.set_caption("Mouse Latency Simulator - by pbsds")
pygame.font.init()
window = pygame.display.set_mode((1280, 720))
font = pygame.font.Font(None, 20)
pygame.mouse.set_visible(False)
@pbsds
pbsds / nbf.py
Last active May 25, 2017 13:08
Converts hatena's .nbf files to .png and back
#written by pbsds
#quick and dirty, i may add this to UGO.py in Hatenatools
#
#This converter is licensed under AGPL3
#See http://www.gnu.org/licenses/agpl-3.0.html for more information
import sys, numpy as np, Image
def decode(input, output):
f = open(input, "rb").read()
len1 = np.fromstring(f[8:12], dtype=np.uint32)[0]
@pbsds
pbsds / bgmmd5.py
Last active August 29, 2015 14:19
Computes a md5 hash from the bgm data of a flipnote
import PPM, sys, hashlib, warnings
warnings.filterwarnings("ignore")#disables the futurewarnings from numpy, bad practice!
if len(sys.argv) < 2:
print "error, no ppm filepath provided"
sys.exit(1)
flip = PPM.PPM().ReadFile(sys.argv[1], ReadFrames=False, ReadSound=True)
if not flip.SoundData[0]:
print "No BGM"
else:
print hashlib.md5(flip.SoundData[0]).hexdigest()
@pbsds
pbsds / install micro.sh
Last active July 8, 2023 01:13
Install sane Micro
#!usr/bin/env bash
if ! command -v micro >/dev/null; then
if test -s ~/.local/bin/micro; then
echo "micro is instaled, but not in PATH, concider loggin out and in"
exit 1
fi
cd ~
mkdir -p .local/bin
cd .local/bin
@pbsds
pbsds / alu_hier.dg
Last active September 2, 2020 13:27
nmigen's ali_hier.py example dogelang
# TODO: imports, test, m.d.conf and m.d.sync
#from nmigen import *
#from nmigen.cli import main
# helpers:
DgModule = subclass Module where
If = cond body_func ~>
with @@If cond => body_func!
#!/usr/bin/env bash
if ! test "$(whoami)" = "root"; then
echo "You're not running this as root"
exit 1
fi
INSTALL="apt-get install -y"
if type -P dnf >/dev/null 2>/dev/null; then INSTALL="dnf -y install"; fi
if type -P pacman >/dev/null 2>/dev/null; then INSTALL="pacman -S"; fi
@pbsds
pbsds / scene.json
Last active September 2, 2020 13:42
RayGrounds Cornell scene expressed in JSON vs what it could have been using TOML
{
"settings": {
"depth": 3
},
"objects": [
{
"type": "quad",
"translate": [ 1, 0, 1 ],
"scale": [ 2, 2, 1 ],
"rotate": [ 0, 1, 0, -90 ],
# this is untested
from functools import wraps
from itertools import chain
def autoassign(init_method): # decorator
"""
@autoassign
def __init__(self, a: int, b: float):
pass
@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