Skip to content

Instantly share code, notes, and snippets.

View Hermann-SW's full-sized avatar

Hermann Stamm-Wilbrandt Hermann-SW

View GitHub Profile
@Hermann-SW
Hermann-SW / BufferlessVideoCapture.py
Last active December 9, 2022 12:59
Allows to always get most recent frame, in case video capture loop has some (computation) delay inside
# Based on: https://stackoverflow.com/questions/43665208/how-to-get-the-latest-frame-from-capture-device-camera-in-opencv/54755738#54755738
#
# Added:
# - configurable delay handling
# - renamed class
# - per frame timestamp output
#
import cv2, threading, time, queue
from sys import argv
@Hermann-SW
Hermann-SW / bash_.py
Last active December 6, 2022 21:22
Remote control bash from Python
from subprocess import Popen, PIPE
from sys import argv
import re
stop = "qwertz1234567890ufugUUGUGUgUgUGuGFzR775§%!=%%54321rUF/Rtt8t8TTT4§2hj\n"
bye = ["tschüs","do_widzenia","ahoj","ciao","salut","adieu","vaarwel","farvel"]
byes = re.sub(r"['[]]*", "", str(bye))
cmd = "bash" if len(argv) == 1 else argv[1]
@Hermann-SW
Hermann-SW / bash1.py
Created December 6, 2022 16:08
Execute bash or other executable via Popen(), use .stdin/.stdout to send/recv one line
from subprocess import Popen, PIPE
from sys import argv
cmd = "bash" if len(argv) == 1 else argv[1]
p = Popen(cmd, stdin=PIPE, stdout=PIPE)
while True:
p.stdin.write(bytes(input(cmd + ": ") + "\n", 'utf-8')); p.stdin.flush()
@Hermann-SW
Hermann-SW / RSA_numbers_factored.py
Last active December 20, 2022 19:23
Provides already factored RSA numbers
https://github.com/Hermann-SW/RSA_numbers_factored/
# RSA_numbers_factored.py
#
# v1.9
# remove not needed anymore RSA().__init__()
# add RSA().square_sums()
# manual transpilation to RSA_numbers_factored.js
# new home in RSA_numbers_factored repo python directory
# gist now is pointer to new home only
@Hermann-SW
Hermann-SW / factorial_pow2_odd.tex
Created November 21, 2022 12:42
Factorial, powers and odd numbers …
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{eqnarray*}
(2^n)! \cdot 2 & =& 2^{2^n} \cdot \prod_{j=1}^{n-1} \enspace \prod_{i=2^{n-j-1}+1}^{2^{n-j}}(2i-1)^{j} \\
\end{eqnarray*}
\end{document}
@Hermann-SW
Hermann-SW / fac.bc
Created November 19, 2022 12:40
fac(n) computes factorial, facmod(n, m) is faster in reducing all recursive results "mod m"
define fac(n) {
if (n==0) return 1;
return n*fac(n-1)
}
define facmod(n, m) {
if (n==0) return 1;
return n*fac(n-1)%m
}
@Hermann-SW
Hermann-SW / gcd.bc
Created November 18, 2022 16:53
greatest common divisor / lowest common multiple
define gcd_(a, b) {
if (b==0) return a
return gcd_(b, a%b)
}
define gcd(a, b) {
if (a<b) return gcd_(b, a)
return gcd_(a, b)
}
@Hermann-SW
Hermann-SW / trig.c
Created November 18, 2022 14:26
more trigonomic functions and definitions
pi=4*a(1)
d=pi/180
define sin(x){return s(x)}
define cos(x){return c(x)}
define atan(x){return a(x)}
define tan(x) {
if (c(x)==0) return pi/2
return s(x)/c(x)
@Hermann-SW
Hermann-SW / powm.bc
Last active November 18, 2022 14:16
bc equivalent to gmp powm() "power mod" function
define powm_(a, e, n) {
if (e==1) return a%n
p = powm_(a, e/2, n)
if (e%2==0) { return p*p%n } else { return a*p*p%n }
}
define powm(a, e, n) {
if (e==0) return 1
return powm_(a, e, n)
}
@Hermann-SW
Hermann-SW / perm.js
Last active September 23, 2022 08:07
Generating permutations (in order), with or without abortion
function nth(P) {
var n=P.length; var S = []; var fac=[1];
for(i=1; i<=n; ++i) { S.push(i); fac.push(i*fac[i-1]); }
var p=0;
for(i=0; i<P.length-1; ++i) {
var j = S.indexOf(P[i]);
p += j*fac[n-1-i];
S.splice(j, 1);
}
return p;