Skip to content

Instantly share code, notes, and snippets.

View rrader's full-sized avatar
🐧

Roman Rader rrader

🐧
View GitHub Profile
@rrader
rrader / gist:933917
Created April 21, 2011 07:29
Синглтон на Python как метакласс
class Singleton(type):
def __init__(cls, name, bases, dic):
super(Singleton,cls).__init__(name,bases,dic)
cls.instance = None
def __call__(cls,*args,**kw):
if cls.instance is None:
cls.instance=super(Singleton,cls).__call__(*args,**kw)
return cls.instance
@rrader
rrader / .gitignore
Created August 20, 2011 23:29 — forked from lantiga/gist:288267
Python NSNotificationCenter implementation
*.pyc
@rrader
rrader / fib.py
Created November 13, 2012 09:38
Извращенный способ посчитать числа Фиббоначи (рекурсия на лямбдах)
import sys
N = int(sys.argv[1])
print (lambda n,f: f(n-1, f) + f(n-2, f) if n>2 else 1) \
(N, lambda n,f: f(n-1,f)+f(n-2,f) if n>2 else 1 if n>2 else 1)
@rrader
rrader / comments.py
Last active December 15, 2015 07:19
Блочный алгоритм удаления комментариев из файла
from StringIO import StringIO
import re
import itertools
s = 'text1 text2 /* asdasd */ text3 /* /*asdasd */ text4'
BLOCK = 6 # even number!
OPEN = 1
CLOSE = 2
@rrader
rrader / homevpn.sh
Created September 2, 2013 11:33
Script for Cron to auto reconnect home VPN
#!/bin/bash
if ! nmcli con status id HomeVPN &>/dev/null; then
nmcli con up id HomeVPN
fi
@rrader
rrader / get.sh
Created November 18, 2013 14:27
download photos from wwii-photos-maps.com
IFS=$'\n'
BASE="http://www.wwii-photos-maps.com/kievaerialscans/GX3938SG%282%29-260943/"
index=1
for x in `curl "$BASE/index.html" 2>/dev/null | grep -io 'slides/.*html'`; do
for img in $(curl -L `echo "${BASE}${x}" | sed 's/ /%20/'` 2>/dev/null | grep -ioP 'src=".*?jpg"' | grep -v thumbs | sed -r "s/src=\"(.*)\"/\1/g"); do
curl "$BASE/slides/$img" > "$index-$img"
index=$((index+1))
done
done
@rrader
rrader / gist:7974784
Created December 15, 2013 16:08
example vhdl state machine
LIBRARY ieee;
USE ieee.std_logic_1164.all;
LIBRARY work;
ENTITY Custom_FSM IS
PORT
(
clk : IN STD_LOGIC;
init : IN STD_LOGIC;
@rrader
rrader / gist:6baf0f4afd532c59fe11
Created August 12, 2014 11:57
Calling super in mixins
class A(object):
def m(self):
print 'A1'
try:
super(A, self).m()
except AttributeError:
print 'A has no super.m()!'
print 'A2'
class B(object):
@rrader
rrader / repro.py
Created May 10, 2015 15:33
issue24156
import socket, threading
host = "127.0.0.2"
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM, socket.IPPROTO_TCP)
remote, peer = None, None
server.bind((host, 0))
server_addr = server.getsockname()
@rrader
rrader / 0_reuse_code.js
Last active August 29, 2015 14:24
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console