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
View gist:5396518
#!/usr/bin/python
import sys
import csv
def convert(filename):
reader = csv.reader(open(filename, 'rb'))
for row in reader:
@c7h
c7h / gist:5003772
Created Feb 21, 2013
split string - fixed format
View gist:5003772
n = 8 #format
[line[i:i+n] for i in range(0, len(line), n)]
@c7h
c7h / gist:4730089
Created Feb 7, 2013
primitive debugging class as Singleton
View gist:4730089
'''
Created on Feb 6, 2013
@author: Christoph Gerneth
'''
import time
import inspect
class SingletonType(type):
@c7h
c7h / gist:4722329
Last active Dec 12, 2015
primitive built-in debugging w. execution time measurement.
View gist:4722329
import time
import inspect
start_time = time.time()
debuglevel = 2 #e.g: 0=no 1=error 2=info ...
def printdebug(level, message):
if debuglevel >= level:
curr_time = time.time() - start_time
caller = inspect.stack()[1][3]
@c7h
c7h / user.pl
Created Dec 9, 2015
logfile evaluation
View user.pl
#!/usr/bin/perl
my $user_c = 0;
my $user_min = 0;
my @ip = ();
while(<>) {
if (m/(^\w+).*(\d{2}:\d{2})/) {
if ($1 eq 'christoph'){
$user_c++; # user_zaehler erhöhen
@c7h
c7h / binserarchtree.py
Created Nov 16, 2015
understanding binary search trees
View binserarchtree.py
class BinSearchTreeElement(object):
def __init__(self, data, leftTree=None, rightTree=None):
self.data = data
self.left = leftTree
self.right = rightTree
def add(self, element):
if element <= self.data:
self._insertElement(self.left, element)
else:
@c7h
c7h / gist:e0aa37201f255fd5e92a
Created Jul 3, 2015
CSV DictWriter Example
View gist:e0aa37201f255fd5e92a
__author__ = 'Christoph Gerneth'
from csv import DictWriter
from random import randrange
filename = 'data.csv'
label = ['x-axis', 'y-axis']
with open(filename, 'w') as f:
csvw = DictWriter(f, fieldnames=label)
csvw.writeheader()
View gist:e2c73880159ab3502539
__author__ = 'Christoph Gerneth'
'''
Decorators are one of the most powerful patterns. They can be used to
inject code in functions, modify them and infuence their beihavior.
[wikipedia](https://en.wikipedia.org/wiki/Decorator_pattern)
Here is an example:
'''
class Tools(object):
@classmethod
def sayhello(self, func):
@c7h
c7h / SingletonTypes.py
Created Jun 14, 2015
the _drop-method is used for unittesting. Easy way to get rid of all your old instances.
View SingletonTypes.py
__author__ = 'Christoph Gerneth'
class SingletonType(type):
def __call__(self, *args, **kwargs):
try:
return self.__instance
except AttributeError:
self.__instance = super(SingletonType, self).__call__(*args, **kwargs)
return self.__instance
@c7h
c7h / gist:096f09925cbbea8fb11b
Created May 29, 2015
Process States in LaTeX with tikz
View gist:096f09925cbbea8fb11b
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=5cm,
thick,main node/.style={circle,fill=blue!20,draw,
font=\sffamily\Large\bfseries,minimum size=15mm}]
\node[main node] (B) {B}; %Bereit
\node[main node] [above left of=B](L) {L}; %Laufend
\node[main node] [above right of=B](I) {I}; %Inaktiv
You can’t perform that action at this time.