Skip to content

Instantly share code, notes, and snippets.

View nils-werner's full-sized avatar

Nils Werner nils-werner

View GitHub Profile
@nils-werner
nils-werner / montecarlopi.py
Created March 29, 2015 21:36
Calculating PI using NumPy and the montecarlo method
from __future__ import division
import numpy
n = 1000000
# 2D data spread uniformly across a square of A=1
data = numpy.random.uniform(-0.5, 0.5, size=(n, 2))
# Count points that are within distance 0.5 from center
inside = len(
numpy.argwhere(
@nils-werner
nils-werner / gist:721650
Created November 30, 2010 13:10
URL encode/decode
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!--
ISO-8859-1 based URL-encoding demo
Written by Mike J. Brown, mike@skew.org.
Updated 2002-05-20.
No license; use freely, but credit me if reproducing in print.
@nils-werner
nils-werner / koide.py
Last active May 11, 2022 13:06
Vectorized Koide's coincidence experiment
from scipy.constants import physical_constants as pc
import numpy
import scipy.stats
import scipy.linalg
def a():
def pnorm(v, p):
return sum([x**p for x in v])**(1/p)
def sliding_window(data, size, stepsize=1, padded=False, axis=-1, copy=True):
"""
Calculate a sliding window over a signal
Parameters
----------
data : numpy array
The array to be slided over.
size : int
The sliding window size
@nils-werner
nils-werner / waspaa.ics
Last active October 18, 2021 09:28
WASPAA 2021 Program ICS
BEGIN:VCALENDAR
VERSION:2.0
PRODID:ics.py - http://git.io/lLljaA
BEGIN:VEVENT
DTEND:20211020T081500Z
DTSTART:20211020T070000Z
SUMMARY:P4 (repeat): Array Processing\, Room Acoustics\, Spatial Audio\, and Audio Events\; Demonstrations
UID:8e2429fd-d719-4ade-bb37-593bbcadf6c6@8e24.org
END:VEVENT
BEGIN:VEVENT
@nils-werner
nils-werner / hibp.py
Last active March 2, 2018 12:21
Have I Been Pwned Password Checker
#!/usr/bin/env python
from __future__ import print_function
import sys
import getpass
import hashlib
import argparse
try:
$ bash test.sh
Running virtualenv with interpreter /usr/local/bin/python3
Using base prefix '/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6'
New python executable in /Users/me/sotest/virtenv3/bin/python3.6
Also creating executable in /Users/me/sotest/virtenv3/bin/python
Installing setuptools, pip, wheel...done.
Running virtualenv with interpreter /usr/local/bin/python2
New python executable in /Users/me/sotest/virtenv2/bin/python2.7
Also creating executable in /Users/me/sotest/virtenv2/bin/python
Installing setuptools, pip, wheel...done.
@nils-werner
nils-werner / generate.py
Last active January 4, 2018 18:39
Generate DotA 2 changelogs using LSTN DNN
'''Use this if you have a pre trained net and dont want to wait for a few hours'''
from __future__ import print_function
from keras.models import Sequential
from keras.layers.core import Dense, Activation, Dropout
from keras.layers.recurrent import LSTM
from keras.utils.data_utils import get_file
import numpy as np
import random
import sys
@nils-werner
nils-werner / tupper.py
Last active June 21, 2017 08:35
Tupper's self-referential formula
import numpy
import matplotlib.pyplot as plt
def tupper(x,y):
return 0.5 < ((y // 17) // (2**(17 * x + y % 17))) % 2
N = 4858450636189713423582095962494202044581400587983244549483093085061934704708809928450644769865524364849997247024915119110411605739177407856919754326571855442057210445735883681829823754139634338225199452191651284348332905131193199953502413758765239264874613394906870130562295813219481113685339535565290850023875092856892694555974281546386510730049106723058933586052544096664351265349363643957125565695936815184334857605266940161251266951421550539554519153785457525756590740540157929001765967965480064427829131488548259914721248506352686630476300
x, y = numpy.meshgrid(numpy.arange(107), numpy.arange(N, N + 17)[::-1])
@nils-werner
nils-werner / gist:7135162
Last active December 26, 2015 10:09
Speaker TikZ
\def\speaker{%
(11mm,2mm) -- +(0mm,-4mm)
(13mm,4mm) -- +(0mm,-8mm)
(15mm,6mm) -- +(0mm,-12mm)
(0mm,0mm) -- +(0mm,-3mm) -- +(4mm,-3mm) -- +(9mm,-7mm) -- +(9mm,7mm) -- +(4mm,3mm) -- +(0mm,3mm) -- +(0mm,0mm)
}