Skip to content

Instantly share code, notes, and snippets.

Ewoud Kohl van Wijngaarden ekohl

Block or report user

Report or block ekohl

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
ekohl /
Created Dec 3, 2009
Retrieves all unique values of a specific LDAP attribute
from ldap import initialize, SCOPE_SUBTREE
from operator import add
config = {'host': 'ldap://HOST', 'base': 'dc=example,dc=com', 'attr': 'l'}
result = initialize(config['host']).search_s(config['base'], SCOPE_SUBTREE, '(%s=*)' % config['attr'], [ config['attr'] ] )
data = reduce(add, [ entry[config['attr']] for (dn, entry) in result ])
print "\n".join(sorted(set(map(str.lower, data))))
ekohl /
Created Jan 21, 2010
Simple demonstration of higher order functions in python
from operator import add
lijst = range(50)
print "lijst:", lijst
f = lambda x: x * 2
print "map:", map(f, lijst)
g = lambda x: x % 2 == 0
ekohl /
Created Jan 24, 2010
Euler problem 6
The sum of the squares of the first ten natural numbers is,
1^2 + 2^2 + ... + 10^2 = 385
The square of the sum of the first ten natural numbers is,
(1 + 2 + ... + 10)^2 = 55^2 = 3025
Hence the difference between the sum of the squares of the first ten natural
numbers and the square of the sum is 3025 - 385 = 2640.
#!/usr/bin/env python
import sys
if len(sys.argv) != 2:
print "Usage: %s fqdn" % sys.argv[0]
fqdn = sys.argv[1]
split = fqdn.split(".")
domain = ".".join(split[-2:])
#!/usr/bin/env python
import urllib2
import sys
for site in sys.argv[1:]:
s = urllib2.urlopen(site)
print s.url, s.code, s.msg, s.headers.get('X-Server', None)
except urllib2.HTTPError, e:
print >> sys.stderr, e.url
#!/usr/bin/env python
# - dynamic zooming for uzbl, based on dynzoom.js
# Usage:
# @on_event GEOMETRY_CHANGED spawn /path/to/ \@geometry 1024 768
# Where 1024x768 is the resolution where we start to zoom out
import sys, re
" Parses WxH+X+Y into a 4-tuple of ints "
#!/usr/bin/env python
import csv
import sys
import random
# For each argument to the program
for arg in sys.argv[1:]:
# Store all the data
rows = list(csv.DictReader(open(arg)))
trackers = list(set(row['Tracker'] for row in rows))
# Shows that python function parameter defaults can in fact change.
# A short example:
def a(x=[]):
x += 'b'
print x
print a.func_defaults
# ([],)
get_show() {
sed 's/\(.\+\)\.[Ss][0-9]\+[Ee][0-9]\+.\+/\1/' | tr [A-Z] [a-z]
get_season() {
sed 's/.\+\.[Ss]\([0-9]\+\)[Ee][0-9]\+.\+/\1/'
from BeautifulSoup import BeautifulSoup
import portage
import urllib2
url = ''
# Build a to remove set
f = urllib2.urlopen(url)
soup = BeautifulSoup(
You can’t perform that action at this time.