Skip to content

Instantly share code, notes, and snippets.

View onjin's full-sized avatar

Marek Wywiał onjin

View GitHub Profile
@onjin
onjin / Makefile
Created December 4, 2014 08:15
long running job notification
job:
longjob()
if [ -f /usr/bin/notify-send ]; then /usr/bin/notify-send -t 60000 -u critical -a "frontend" -c docker,frontend "Docker build" "Frontend docker build at<br/>`pwd`"; fi
@onjin
onjin / business_rules_example.py
Created November 19, 2014 10:28
python business_rules package example
# pip install business-rules
from decimal import Decimal
from pprint import pprint
from business_rules import (
variables, actions, fields, export_rule_data, run_all
)
@onjin
onjin / inyoka.py
Last active September 20, 2019 10:06
pysnake dojo pyconpl 2014
# to run snake you need an engine: https://bitbucket.org/Gandi24/pysnake/src/master/
# to watch this snake in action check youtube https://www.youtube.com/watch?v=gc2wpQp95TA (red one)
def move(snake1=None, snake2=None, food=None, data=None, board_width=None, board_height=None): # NOQA
from math import sqrt
from collections import namedtuple
Point = namedtuple('Point', 'x y')
def d(point):
return Point(point.x, point.y + 1)
@onjin
onjin / shakeit.py
Last active August 29, 2015 14:07
#!/usr/bin/env python
# encoding: utf-8
import random
import fileinput
def shakeit(word):
if len(word) < 3:
return word
#!/bin/bash
# firefox profile runner
# ln -s ff-runner ff-profilename to run specific profile
FIREFOX=/usr/bin/firefox
PROFILE=`basename $0|cut -d\- -f2`
${FIREFOX} -P ${PROFILE} --no-remote
from collections import defaultdict
from contextlib import contextmanager
class Exchange:
def __init__(self):
self._subscribers = set()
def attach(self, task):
self._subscribers.add(task)
@onjin
onjin / pydispatcher_demo.py
Created May 6, 2014 13:30
pydispatcher demo
#!/usr/bin/env python
# encoding: utf-8
"""
pydispatcher demo
requirements: pip install pydispatcher
"""
@onjin
onjin / droppub.py
Last active August 29, 2015 13:58
Push and publish on dropbox from shell
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Put and publish given file to dropbox.
Install
-------
1. open https://www.dropbox.com/developers/apps and register app
2. pip install dropbox
@onjin
onjin / lazyproperty.py
Created April 4, 2014 16:02
lazy property
import math
class lazyproperty(object):
def __init__(self, func):
self.func = func
def __get__(self, instance, cls):
if instance is None:
return self
import re
p = re.compile('^(?P<head>\d{2})(?:[-\s]?(?P<tail>\d{3})?$)')
zip = "-".join(p.match('11123').groups())
print zip
zip = "-".join(p.match('11-123').groups())
print zip