Skip to content

Instantly share code, notes, and snippets.

View espretto's full-sized avatar

Marius espretto

  • Oldenburg
View GitHub Profile
@espretto
espretto / trim-transparent-borders.py
Last active June 12, 2019 08:58 — forked from nojvek/PNGAlphaTrim.py
trim transparent border from all png files in a folder
import Image
import sys
import glob
# Trim all png images with alpha in a folder
# Usage "python PNGAlphaTrim.py ../someFolder"
try:
folderName = sys.argv[1]
except :
@espretto
espretto / csson.js
Last active November 5, 2015 20:14
JavaScript: css parser
;(function (window, jQuery){
/* ---------------------------------------------------------------------------
* utilities
*/
var document = window.document;
var location = window.location;
@espretto
espretto / requirejs-css.js
Created July 1, 2015 12:13
JavaScript: requirejs-css-loader
/**
* amd plugin for loading css specifically for components that
* have a custom tag-name. the stylesheet has to include
* the css-property `cursor` with a value different from `auto` within a css-rule
* for the tag-name.
*
* the `display: block` property might have served well this purpose since it
* has to be set just like the html5shiv does. however, then again we might
* actually want a custom tag that is `display: inline` which is the default
@espretto
espretto / typr.js
Last active August 29, 2015 14:21
JavaScript: typr - deep type checking with error reports
/**
* typr - deep type checking with error reports
* MIT licence
*/
;(function (root) {
'use strict';
/* ---------------------------------------------------------------------------
@espretto
espretto / fuzzySearch.ts
Last active May 29, 2024 08:33
ts: fuzzy search
import escapeRegExp from "lodash.escaperegexp";
/**
* used to create regular expressions that match if all needle-chars appear in
* the same order w/ any number of inbetween chars.
*/
export function fuzzyRegExp(needle: string) {
return new RegExp(needle.split("").map(escapeRegExp).join(".*?"), "i");
}
@espretto
espretto / minify.html.js
Last active June 5, 2016 21:39
JavaScript: minify html
// beware, parser uses regexes
// ===========================
var minifyHtml = (function(){
var rePreserveTags = /<(pre|style|script(?![^>]*?src))[^>]*>[\s\S]*?<\/\1>/gi,
rePreserveStrings = /("|')(?:\\\1|[^\1])*?\1/g,
reInsertStrings = /__str(\d+)__/g,
reInsertTags = /<preserved>/g,
@espretto
espretto / jq-ajax-wrapper.js
Last active August 29, 2015 14:06
JavaScript: promisified jQuery.ajax
// promisify $.ajax with Q
// =======================
var ns = {};
ns.ajax = (function($, Q){
var defaults = {
type: 'GET',
@espretto
espretto / corsify.py
Last active August 29, 2015 14:03
python: cors headers
# decorators
from functools import wraps
from django.http import HttpRequest
ALLOWED_HEADERS = (
'content-type',
'accept',
'origin',
'authorization',
mkdir flaskapp && cd flaskapp
touch config.py run.py shell.py app.db requirements.txt
mkdir app
touch app/__init__.py app/constants.py
mkdir app/static app/templates
#!/usr/bin/env python
def keygen( mac ):
bytes = [int(x, 16) for x in mac.split(':')]
c1 = (bytes[-2] << 8) + bytes[-1]
(s6, s7, s8, s9, s10) = [int(x) for x in '%05d' % (c1)]
(m7, m8, m9, m10, m11, m12) = [int(x, 16) for x in mac.replace(':', '')[6:]]
k1 = (s7 + s8 + m11 + m12) & (0x0F)