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
c7h / read_portexpander.sh
Created Sep 6, 2018
Read an I2C Portexpander
View read_portexpander.sh
#!/bin/bash
ADDRESS=0x27
printf "76543210 76543210\n"
while :
do
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]}'
done
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
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:
View keybase.md

Keybase proof

I hereby claim:

  • I am c7h on github.
  • I am c7h (https://keybase.io/c7h) on keybase.
  • I have a public key ASCdetH8IgkxSS8N_CBwRxZhqthPiFpK-iGS4vlIn1vtUQo

To claim this, I am signing this object:

@c7h
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 ordinal-hashmap.py 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 ordinal-hash.py 13 1 3 Petrus Andreas Jakobus Johannes Phillippus Bartholomaus Thomas Matthaus Jakobus Thaddaus Simon Judas
import sys
debug=True
chars_start = int(sys.argv[2])
chars_end = int(sys.argv[3])
@c7h
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
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
DELIMITER :-)
CREATE PROCEDURE exrate(IN cur_in DECIMAL(12,3), IN currency VARCHAR(3), OUT cur_out DECIMAL(12,3))
BEGIN
DECLARE course DECIMAL(12,3) DEFAULT 1;
SET course = (SELECT rate FROM exchange WHERE cur = currency);
@c7h
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 = "https://www2.primuss.de/stpl/login.php"
values = {
@c7h
c7h / gist:5521563
Created May 5, 2013
maxgif.com 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 maxgif.com
'''
View gist:5396518
#!/usr/bin/python
import sys
import csv
def convert(filename):
reader = csv.reader(open(filename, 'rb'))
for row in reader:
You can’t perform that action at this time.