Skip to content

Instantly share code, notes, and snippets.


Sander van de Graaf svdgraaf

View GitHub Profile
svdgraaf / build
Created Sep 20, 2010
nginx + geo ip + secure download
View build
$ ./configure --add-module=/home/svdgraaf/tmp/nginx/ngx_http_bytes_filter_module-57365655ee44 --with-http_geoip_module --add-module=/home/svdgraaf/tmp/nginx/ngx_secure_download
svdgraaf / nginx byte range on proxy request
Created Sep 20, 2010
nginx byte request on proxied file
View nginx byte range on proxy request
server {
listen *:80;
location = /crossdomain.xml {
root /var/www/html/;
location = /test.html {
root /var/www/html/;
svdgraaf /
Created Sep 24, 2010
Embedding V8 in Python is awesome
# import PyV8, duh!
import PyV8
# define a class which methods should be available in Javascript
class epicClass(PyV8.JSClass):
def ponies(self):
return "Ponies!"
def doubletime(self, what, amount):
for i in range(0, amount):
svdgraaf / bitmovr.lua
Created Oct 4, 2010
View bitmovr.lua
-- bitmovr.lua
-- simple lua webserver which starts to listen on a socket, and
-- forwards all GET calls it receives to a backend server
-- this is extremely lightweight, as it will move the bits from one
-- socket to another, without any disk i/o
-- Depends on md5, io, LuaSockets and Memcached.lua
-- Application flow:
svdgraaf / gist:1218812
Created Sep 15, 2011
Running Django on Heroku
View gist:1218812
# create a dir
mkdir foobar
cd foobar
# instantiate a virtual environment
virtualenv --no-site-packages .
# start your virtualenv
source bin/activate
View gist:1985675
"environments": [],
"name": "focus",
"repository": {
"location": "",
"name": "foo",
"variant": "git"
"variant": "python"
svdgraaf / gist:6078982
Last active Dec 20, 2015
CENTOS 6 with Varnish 3.03 and VMOD support (geoip example)
View gist:6078982
# varnish
sudo yum remove varnish*
sudo rpm --nosignature -i
sudo yum install varnish-3.0.3
sudo yum install pcre-devel libedit libedit-devel
# varnish source
tar -zxvf varnish-3.0.3.tar.gz
svdgraaf / abtest.vcl
Last active Dec 26, 2015
AB testing with Varnish (and Django)
View abtest.vcl
# import the abtesting vmod
import abtest;
sub vcl_deliver {
# only continue, if the config file with all the rules can be loaded
if (abtest.load_config("/etc/varnish/abtest-rules.cfg") == 0) {
# if there isn't a named cookie 'ab' in the request, we can add one
if (req.http.Cookie !~ "ab=") {
svdgraaf / cards.json
Last active Nov 4, 2018
Raspi RFID scanner
View cards.json
"170038E91C": "1003729691",
"17003F5A1D": "1004151834"
svdgraaf /
Created Nov 17, 2013
Simple ImageMagick Copyright and timestamp bar to any image
convert [inputfilename.jpg] -gravity north -background black -extent [width]x[height] +repage -box black -fill white -pointsize 12 -gravity southwest -annotate +3+3 '(c)Unicorns and magic sparkledust inc.' -gravity southeast -annotate +3+3 "`date +%H:%I`" -quality 99% output.png