Skip to content

Instantly share code, notes, and snippets.

View bancek's full-sized avatar

Luka Zakrajšek bancek

  • Koofr
  • Ljubljana, Slovenia
View GitHub Profile
@bancek
bancek / https_proxy.coffee
Created March 18, 2014 14:53
HTTPS proxy
net = require('net')
tls = require('tls')
stream = require('stream')
if process.argv.length != 4
console.log 'Usage: https_proxy host port'
process.exit(1)
class Printer extends stream.Transform
_transform: (chunk, encoding, done) =>
@bancek
bancek / ThriftStats.scala
Created July 18, 2014 15:46
Finagle Thrift Statsd filter
package net.koofr.finagle.thrift.stats
import com.twitter.finagle.SimpleFilter
import org.apache.thrift.protocol.TBinaryProtocol
import com.twitter.finagle.Service
import org.apache.thrift.transport.TMemoryInputTransport
import play.modules.statsd.api.Statsd
import com.twitter.finagle.thrift.ThriftClientRequest
import play.api.Logger
@bancek
bancek / deny.c
Created June 16, 2015 15:27
Example FUSE driver
// sudo apt-get install libfuse-dev pkg-config
// gcc -Wall deny.c `pkg-config fuse --cflags --libs` -o deny
// mkdir foo
// ./deny foo
#define FUSE_USE_VERSION 26
#include <fuse.h>
#include <stdio.h>
#include <string.h>
@bancek
bancek / fabric_threadsafe_patch.py
Created September 29, 2011 20:22
Fabric threadsafe state patch
import threading
from functools import wraps
from UserDict import UserDict
state = threading.local()
class DictProxy(UserDict, object):
def __init__(self, getter, dict=None, **kwargs):
object.__setattr__(self, 'getter', getter)
@bancek
bancek / fixexes.py
Created October 14, 2011 16:00
Python replace exe files with bat files
import os
from glob import glob
for file in glob('*-script.py'):
exe = file.replace('-script.py', '.exe')
bat = file.replace('-script.py', '.bat')
ax = filter(os.path.exists, [exe, bat])
print file
@bancek
bancek / localtunnel_server.py
Created October 16, 2011 09:15
LocalTunnel server
try:
from twisted.internet import pollreactor
pollreactor.install()
except: pass
from twisted.internet import protocol, reactor, defer, task
from twisted.web import http, proxy, resource, server
from twisted.python import log
import sys
import time
@bancek
bancek / .xbindkeysrc
Created December 29, 2011 22:53
Logitech Nano VX Ubuntu volume keys
#Volume up
"amixer sset Master 5+ unmute"
m:0x0 + b:9
#Volume down
"amixer sset Master 5- unmute"
m:0x0 + b:8
@bancek
bancek / xml_to_json.py
Created September 15, 2012 20:53
XML to JSON
import json
from collections import OrderedDict
from lxml import objectify
def xml_to_py(el):
if len(set([x.tag for x in el.getchildren()])) == 1:
return [xml_to_py(x) for x in el.getchildren()]
if hasattr(el, 'pyval'):
return el.pyval
@bancek
bancek / bashinit
Created October 3, 2012 13:56
Bash init buffer. Usage: bashinit "cd some/path\rdosomething\r"
#!/usr/bin/expect
trap {
set rows [stty rows]
set cols [stty columns]
stty rows $rows columns $cols < $spawn_out(slave,name)
} WINCH
spawn "/bin/bash"
@bancek
bancek / moodlepdf.url
Created October 28, 2012 16:31
Moodle PDF
javascript:window.location = document.getElementsByTagName('frame').length?document.getElementsByTagName('frame')[1].src:$('object').attr('data');