Skip to content

Instantly share code, notes, and snippets.

View fnielsen's full-sized avatar

Finn Årup Nielsen fnielsen

View GitHub Profile
@fnielsen
fnielsen / mandelbrot.py
Created September 5, 2011 12:39
Mandelbrot
xs = [ float(i)/64.0 for i in range(-150, 41) ]
ys = [ float(i)/16.0 for i in range(-25,26) ]
for y in ys:
s = ''
for x in xs:
z = 0j; i = 0
while i < 10:
z = z**2 + x+y*1j
if abs(z) > 2:
break # Get out of inner loop
@fnielsen
fnielsen / gist:1384457
Created November 22, 2011 00:19
Co-author mining with shortest path in the Brede Wiki
# wget http://neuro.imm.dtu.dk/services/bredewiki/download/bredewiki-templates.sqlite3
import matplotlib.pyplot as plt
import networkx as nx
from pysqlite2 import dbapi2
connection = dbapi2.Connection('bredewiki-templates.sqlite3')
sql = "SELECT DISTINCT tid FROM brede WHERE (template='paper' OR template='conference_paper');"
cursor = connection.cursor()
cursor.execute(sql)
tids = [ row[0] for row in cursor.fetchall() ]
@fnielsen
fnielsen / Nielsen2012Numpy_quotes.py
Created June 12, 2012 17:33
Wikipedia/stock quote visualization with Python and matplotlib
import urllib, urllib2
import simplejson as json
import dateutil.parser
import datetime
import matplotlib.dates
import matplotlib.finance
from matplotlib import pyplot as plt
import nltk.corpus
import numpy as np
import re
#!/usr/bin/python
import math, sys # Importing modules.
def formatresult(res): # Define function. Remember colon!
"""This is the documentation for a function."""
return "The result is %f" % res # Percentage for formating
if len(sys.argv) < 3: # Conditionals should be indended
print("Too few input argument")
@fnielsen
fnielsen / gist:3705676
Created September 12, 2012 09:58
VTK example
# Modified Step1 Cone1.py from VTK examples by W. Schroeder (2006) Visualization...
import vtk, time
cone = vtk.vtkConeSource() # Cone graphical object
coneMapper = vtk.vtkPolyDataMapper() # 'Mapper'
coneMapper.SetInputConnection(cone.GetOutputPort())
coneActor = vtk.vtkActor() # 'Actor'
coneActor.SetMapper(coneMapper)
ren1= vtk.vtkRenderer() # 'Renderer'
@fnielsen
fnielsen / gist:3705630
Created September 12, 2012 09:51
Twitter geo heatmap
import simplejson, urllib # To get posts from Twitter
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm # Colormap
import scipy.stats # For kernel density estimation
# Get geo-tagged posts from Twitter
url = 'http://search.twitter.com/search?q=geotag&format=json&rpp=100'
resp = simplejson.load(urllib.urlopen(url))
coords = np.asarray([ t['geo']['coordinates'][::-1]
@fnielsen
fnielsen / gist:3736395
Created September 17, 2012 09:19
Dates and matplotlib example with stock quotes from Novo Nordisk (NVO)
from matplotlib.finance import quotes_historical_yahoo
from matplotlib.dates import num2date
from matplotlib.pyplot import *
from datetime import date
quotes = quotes_historical_yahoo('NVO', date(2011, 1, 1), date.today())
dates = [ num2date(row[0]) for row in quotes ]
closeprice = [ row[1] for row in quotes ]
plot(dates, closeprice)
show()
@fnielsen
fnielsen / gist:3775006
Created September 24, 2012 08:56
Statistics on blocked IPs in a MediaWiki
from pylab import *
from urllib2 import urlopen
from simplejson import load
from re import findall
url = 'http://neuro.imm.dtu.dk/w/api.php?' + \
'action=query&list=blocks&' + \
'bkprop=id|user|by|timestamp|expiry|reason|range|flags&' + \
'bklimit=500&format=json'
data = load(urlopen(url))
@fnielsen
fnielsen / gist:3775055
Created September 24, 2012 09:07
Web crawling with htmllib & co.
import htmllib, formatter, urllib, urlparse
k = 1
urls = {}
todownload = set(['http://www.dtu.dk'])
while todownload:
url0 = todownload.pop()
urls[url0] = set()
try:
p = htmllib.HTMLParser(formatter.NullFormatter())
@fnielsen
fnielsen / gist:3810836
Created October 1, 2012 10:37
Tkinter simple example
from Tkinter import *
def hello():
"""Callback function for button press."""
print "Hello World"
# Main root window
root = Tk()
# A button with a callback function