Skip to content

Instantly share code, notes, and snippets.

Christoph Gerneth c7h

Block or report user

Report or block c7h

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
c7h / ipynb
Created Dec 9, 2019
Install a pip package in jupyter (the right way)
View ipynb
# Install a pip package in the current Jupyter kernel
import sys
!{sys.executable} -m pip install plotly
c7h /
Created Sep 6, 2018
Read an I2C Portexpander
printf "76543210 76543210\n"
while :
v=$(i2cget -y 0 $ADDRESS 0x00 w)
echo ${v: -4:4} | xxd -r -p | xxd -b | awk '{split($0,a," "); printf "%s %s\r", a[2], a[3]}'
View rotarydial.ino
/* Rotary Dial encoder
encode the rotary dial of an old analog phone.
by Christoph Gerneth
const int active_pin = 2;
const int pulse_pin = 3;
int number_counter = 0;
int last_pulse_state = 0; // last state of the rotary dial pulser
int last_active_state = 0;
c7h / gist:cbba43f1c3d58250f9c9fc7bd39ebba7
Created Jul 17, 2017
major and annoying differences between module versions of Pythons JSON Library
View gist:cbba43f1c3d58250f9c9fc7bd39ebba7
Two versions of the same library behave completely different :-/
the PI
Python 3.4.2 (default, Oct 19 2014, 13:31:11)
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import json
>>> try:

Keybase proof

I hereby claim:

  • I am c7h on github.
  • I am c7h ( on keybase.
  • I have a public key ASCdetH8IgkxSS8N_CBwRxZhqthPiFpK-iGS4vlIn1vtUQo

To claim this, I am signing this object:

c7h / gist:8670768
Last active Jan 4, 2016
Hashmap Example - Understanding Hashmap - linear probing
View gist:8670768
#!/usr/bin/env python
#Hashmap example
#Author: Christoph Gerneth
#usage: python map-size x y STR_1 [STR_2 STR_3 .. STR_N]
#x and y are K_x K_y (Glaviner Standard values for Hashfunction
#example python 13 1 3 Petrus Andreas Jakobus Johannes Phillippus Bartholomaus Thomas Matthaus Jakobus Thaddaus Simon Judas
import sys
chars_start = int(sys.argv[2])
chars_end = int(sys.argv[3])
c7h / gist:6421212
Created Sep 3, 2013
read methods from module, starting with a given string and return a list
View gist:6421212
def read_funcs_from_module(self, functionname_prefix, module):
"""read methods from module, starting with a given string and return a list"""
moduleValues = module.__dict__.values()
functions_in_module = filter(lambda obj: hasattr(obj, '__call__'), moduleValues)
matching_functions = filter(lambda k: k.__name__.startswith(functionname_prefix), functions_in_module)
return matching_functions
c7h / gist:5943777
Last active Dec 19, 2015
different usage of SQL's stored functions and stored procedures
View gist:5943777
-- schema for exchange:
CREATE TABLE exchange(cur VARCHAR(3), rate DECIMAL(12,3));
INSERT INTO exchange VALUES ("eur", 1.00), ("usd", 1.28), ("czk", 25.98);
-- stored procedure
CREATE PROCEDURE exrate(IN cur_in DECIMAL(12,3), IN currency VARCHAR(3), OUT cur_out DECIMAL(12,3))
SET course = (SELECT rate FROM exchange WHERE cur = currency);
c7h / gist:5526802
Last active Dec 17, 2015
authenticates user at HI-PLAN
View gist:5526802
import requests
def authenticate(username, password, fh="fhin"):
'authenticates' user at hiplan-app
@return: session id
@raise LoginFailedException: if login fails
url = ""
values = {
c7h / gist:5521563
Created May 5, 2013 image download script (via firefox bookmarks)
View gist:5521563
#! /usr/bin/env python
Created on 05.05.2013
@author: christoph gerneth
ugly, short hack!
read in firefox bookmarks and
download images from
You can’t perform that action at this time.