Skip to content

Instantly share code, notes, and snippets.

@piranha
piranha / keybase.md
Last active August 29, 2015 13:58
keybase.md

Keybase proof

I hereby claim:

  • I am piranha on github.
  • I am asolovyov (https://keybase.io/asolovyov) on keybase.
  • I have a public key whose fingerprint is 1F63 22C2 2BAE B0D4 18C1 4477 AB09 CA13 33A4 4CB6

To claim this, I am signing this object:

(ns mailers.main
(:gen-class)
(:require [com.stuartsierra.component :as c]
[aleph.http :as aleph]
[manifold.stream :as mani]
[ring.util.response :as response]
[ring.middleware.file-info :only [wrap-file-info]]
[ring.middleware.resource :refer [wrap-resource]]))
<?xml version="1.0"?>
<!--
Convert podcast RSS to commands for curl.
Originally from bashpodder, modified by Alexander Solovyov.
Usage:
xsltproc podcast2wget.xsl path/to/podcast.rss
OR
@piranha
piranha / github-upload.py
Created July 9, 2012 11:08
Github upload script. Pretty much useless now.
#!/usr/bin/env python
#
# (c) 2012 Alexander Solovyov under terms of ISC License
# to use, install dependencies:
# pip install opster requests
import os, sys, json
from subprocess import check_output
import requests
@piranha
piranha / md5ize-index.js
Last active December 10, 2015 22:38
Custom RequireJS packer/optimizer & md5 map generator.
#!/usr/bin/env node
// (c) 2012-2013 Instant Communication Bhd, under terms of ISC License.
//
// Process index.html to add md5ized path mapping for RequireJS.
//
// Needs empty CacheBust variable to be defined (see replacement logic), which
// afterwards should be used in `require.config({paths: CacheBust});` call.
@piranha
piranha / git-cleanup
Created February 20, 2013 09:54
Script to cleanup git branches
#!/bin/sh
current_branch=$(git symbolic-ref HEAD | awk -F / '{print $3}')
if [ "$current_branch" != "master" ]; then
echo "WARNING: You are on branch $current_branch, NOT master."
fi
echo "Fetching merged branches..."
git remote prune origin
remote_branches=$(git branch -r --merged | grep -v '/master$' | grep -v "/$current_branch$")
@piranha
piranha / uuid.js
Created April 16, 2013 16:28
UUID4 (almost) in Javascript, for when you need some more or less unique id.
function S4() {
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
}
function UUID(short) {
if (short) {
return S4() + S4();
}
return S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4();
}
@piranha
piranha / change-wallpaper.sh
Last active May 22, 2016 07:00
Set desktop wallpaper
#!/bin/sh
if [ -z "$1" ]; then
echo "Usage: $0 <path-to-wallpaper>"
exit 1
fi
realpath() {
[[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}"
}
(ns mk.fe.core.why-update
(:require [cljsjs.react]))
(defn comp-did-update [prev-props prev-state]
(this-as this
(let [name (or (aget this "displayName")
(aget this "constructor" "displayName")
(aget this "constructor" "name"))
prev-state (aget prev-state ":rum/state")
state (aget (.-state this) ":rum/state")]
@piranha
piranha / cx.clj
Last active February 2, 2018 17:51
(defmacro cx [& classes]
"This macro compiles this:
(cx :one true :two true :three false :four (pos? 1))
Into this:
[ \"one two\", 1 > 0 ? \"four\" : null ].join(\" \")
"
(let [class-map# (partition 2 classes)
groups# (group-by (fn [[k v]]