Skip to content

Instantly share code, notes, and snippets.

View mourginakis's full-sized avatar
👻

Ioannis Mourginakis mourginakis

👻
View GitHub Profile
import bpy
from bpy import data as D
import itertools
import numpy as np
from scipy.signal import convolve
import time
import math
## PRELIM
@mourginakis
mourginakis / jenkins_one_at_a_time.py
Last active February 26, 2023 21:58
jenkins one at a time hash in python
#!/usr/bin/env python3
import numpy as np
def string_to_byte_array(s : str) -> np.ndarray:
return np.array([ord(c) for c in s], dtype=np.uint8)
def jenkins_one_at_a_time(bytes: np.ndarray[np.uint8]) -> np.uint32:
hash = np.uint32(0)
for byte in bytes:
hash += np.uint8(byte)
@mourginakis
mourginakis / fact.py
Last active February 26, 2023 21:59
good example of imperative vs functional programming
#!/usr/bin/env python3
from functools import reduce
import numpy as np
# mutable, imperative
def fact1(n):
out = 1
for i in range(1, n+1):
out *= i
return out
@mourginakis
mourginakis / playstream.py
Created September 26, 2022 09:56
functional python synthesizer
import numpy as np
from scipy.io.wavfile import write
import sounddevice as sd
# import time
import matplotlib.pyplot as plot
from itertools import count
from random import seed, random
sps = 44100 # Samples per second