Skip to content

Instantly share code, notes, and snippets.

View msiemens's full-sized avatar

Markus Siemens msiemens

View GitHub Profile
@msiemens
msiemens / multi_byte.rs
Created February 27, 2021 11:12
ISF Multi-Byte Encoding (buggy!) and Decoding in Rust
//! Multi-byte encoding/decoding
//!
//! Following the multi-byte encoding described in [\[MS-ISF\]] (sections _Multi-byte Encoding of
//! Signed Numbers_ and _Sizes of Tags and Numbers_).
//!
//! [\[MS-ISF\]]: https://docs.microsoft.com/en-us/uwp/specifications/ink-serialized-format
use itertools::Itertools;
pub(crate) fn decode(input: &[u8]) -> Vec<u64> {
@msiemens
msiemens / README.md
Created May 14, 2017 20:18
List of German hyphenated words
@msiemens
msiemens / pre-commit-eslint
Last active October 15, 2016 13:49 — forked from linhmtran168/pre-commit-eslint
Pre-commit hook to check for Javascript using ESLint
#!/bin/sh
STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep ".jsx\{0,1\}$" | grep -Ev ".min.js|/lib/|/vendor/")
if [[ "$STAGED_FILES" = "" ]]; then
exit 0
fi
PASS=true
@msiemens
msiemens / helpers.py
Last active August 29, 2015 14:04
My helpers.py file
"""
My compilation of small helper functions.
"""
import logging
import os
import threading
import traceback
import sys
from logging.handlers import SMTPHandler
@msiemens
msiemens / types.c
Created May 24, 2014 18:01
Fundamental C Types
int main(void) {
char v_char;
unsigned char v_uchar;
short v_short;
unsigned short v_ushort;
int v_int;
unsigned int v_uint;
long v_long;
unsigned long v_ulong;
long long v_longlong;
@msiemens
msiemens / gist:6672efc032769758423b
Last active August 29, 2015 14:01
SymPy Fourier Series
def fourier_series(f, frange, t, t_0):
k = symbols('k', integer=True, positive=True, zero=False)
a_k = 2/t_0*(integrate(f * cos(2*pi/t_0*k*t), [t, frange[0], frange[1]]))
a_k = [a_k.subs(k, i) for i in range(1, 10)]
b_k = 2/t_0*(integrate(f * sin(2*pi/t_0*k*t), [t, -t_0/2, t_0/2]))
b_k = [b_k.subs(k, i) for i in range(1, 10)]
# Amplitude
@msiemens
msiemens / setup.py
Created September 5, 2013 09:50
setup.py: Load requires from requirements.txt
try:
from pip.req import parse_requirements
except ImportError:
def requirements(f):
reqs = open(f, 'r').read().splitlines()
reqs = [r for r in reqs if not r.strip().startswith('#')]
return reqs
else:
def requirements(f):
install_reqs = parse_requirements(f)
MOV [5] 0
JEQ 90 [5] 100
APRINT 46
MOV [8] 0
RANDOM [6]
MOV [2] [6]
MOV [3] 2
MOV [1] 25
JMP 125
MOV [6] [0]
@msiemens
msiemens / pre-commit.sh
Last active February 26, 2017 02:33
My git pre-commit hook
#!/bin/bash
# Git pre-commit hook
#####################
#
# - check for whitespace problems (trailing spaces, ...)
# - check for lines with 'FIXME'
# - running tests
# - running code style check (pep8) on modified files
# - designed for Windows, for Linux replace `> NUL` with `> /dev/null`
@msiemens
msiemens / gist:5363828
Last active December 16, 2015 02:39
Python Sphinx Inline Docs
def func(arg1, arg2):
"""
Summary.
Long explanation...
:param arg1: Descr for arg1
:type arg1: arg1 type
:param arg2: Descr for arg2