Skip to content

Instantly share code, notes, and snippets.

View sim642's full-sized avatar

Simmo Saan sim642

View GitHub Profile
@sim642
sim642 / gist:9761d3a04842fde4b268
Created November 24, 2014 21:06
Binary number divisible by 3
^(0*(1(01*0)*1)*)*$
^(0|1(01*0)*1)*$
http://stackoverflow.com/a/3253053
@sim642
sim642 / elevatorsaga.js
Last active August 29, 2015 14:14
Elevatorsaga
{
init: function(elevators, floors) {
var ups = {};
var downs = {};
elevators.forEach(function(elevator, ei) {
/*if (ei > 0) // for move challenges
return;*/
elevator.pressed = {};
@sim642
sim642 / juustuviil.md
Last active August 29, 2015 14:14
Traktaat juustu viilutamisest

Traktaat juustu viilutamisest

Simmo Saan, veebruar 2015

Sissejuhatus

Nii nagu viilutatud leiba on peetud kõigi aegade parimaks leiutiseks, võib öelda ka viilutatud juustu kohta, sest kes seda juustu ise ikka viiludeks viitsib lõigata. Olen juba väga palju aastad söönud viilutatud juustusid, kuid aina rohkem olen märganud üht veidrat tendentsi: kõige alumine juustuviil pakendis on alati märgatavalt paksem kui kõik ülejäänud. Pealtnäha tühine probleem, kuid olgem ausad, see viimane viil on vahest ikka liiga paks ja ebahõrk. Perfektsionistina olen sunnitud mõtlema selle probleemi üle ning leidma võimalikult häid lahendusi.

Põhjus

Proovisin oma muret guugeldada, kuid ainus, mille ma leidsin, on puhverdatud versioon juba kadunud leheküljest siin. Lühidalt: viimase viilu suurem paksus tuleneb

@sim642
sim642 / unescape.js
Created February 13, 2015 20:48
JS string unescape
JSON.parse('"' + str.replace(/\\0/g, "\\x00").replace(/\\v/g, "\\x0B").replace(/\\x/g, "\\u00").replace(/\\([^"\\\/bfnrtu])/g, '$1') + '"')
@sim642
sim642 / gist:b266ca0d45e42874487e
Last active August 29, 2015 14:19
IRC nick change ban
UnrealIRCd (returns only one if in multiple +N channels):
sublum --> :lithium.subluminal.net 447 simmo :Can not change nickname while on #sim (+N)
sublum --> :lithium.subluminal.net 437 sim642 #sim :Cannot change nickname while banned on channel
Freenode:
irc.freenode.net --> :barjavel.freenode.net 435 sim642_2 sim642_3 ##c++ :Cannot change nickname while banned on channel
@sim642
sim642 / err.lua
Created June 3, 2015 12:36
VLC Eesti Rahvusringhäälingu (err.ee) playlist script
function probe()
return vlc.access == "http" and string.match(vlc.path, "err.ee")
end
function parse()
p = {}
while true
do
line = vlc.readline()
import re
piece_re = re.compile('(\d+)(\w|$)', re.I)
def make_converter(mags):
mags.append(('', 1))
def converter(str):
cnts = [0] * (len(mags))
for cnt, c in re.findall(piece_re, str):
for i, mag in enumerate(mags):
@sim642
sim642 / force_nick.py
Last active August 29, 2015 14:24
force_nick: Force nick change on channels which disallow it
import weechat
import sys
import re
weechat.register("force_nick", "sim642", "0.1", "TODO", "Force nick change on channels which disallow it", "", "")
#weechat.prnt("", "Hi, this is script")
#weechat.prnt("", str(sys.version_info))
servers = {}
@sim642
sim642 / base256.py
Last active August 29, 2015 14:24
Integer to base 256 byte string and vice versa
def int2bytes(n):
str = ''
while n:
str = chr(n % 256) + str
n = n // 256
return str if len(str) > 0 else '\0'
def bytes2int(str):
@sim642
sim642 / DI.m3u
Created July 5, 2015 12:52
Digitally Imported premium streams
#EXTM3U
#EXTINF:-1,Digitally Imported - Ambient
http://pub1.diforfree.org:8000/di_ambient_hi
#EXTINF:-1,Digitally Imported - Big Room House
http://pub1.diforfree.org:8000/di_bigroomhouse_hi
#EXTINF:-1,Digitally Imported - Breaks
http://pub1.diforfree.org:8000/di_breaks_hi