Skip to content

Instantly share code, notes, and snippets.

View jkpl's full-sized avatar

Jaakko Pallari jkpl

View GitHub Profile
@jkpl
jkpl / path.sh
Created September 27, 2015 10:01
Path management for Bash
function join {
local IFS="$1"
shift
echo "$*"
}
export CUSTOM_PATHS=(
"$HOME/Apps/myapp"
"$HOME/Apps/myapp2/bin"
)
@jkpl
jkpl / pwget.py
Last active October 9, 2015 09:37
Credential getter for CFG formatted password files.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
from ConfigParser import ConfigParser
from subprocess import Popen, PIPE, STDOUT
# Place your own settings here
filepath = (os.environ['HOME'], '.mypwfile.gpg')
@jkpl
jkpl / sharescrot.sh
Last active January 9, 2016 19:36
Share screenhots using generic web host
#!/bin/sh
remote_path="myhost:path/to/screenshots/"
seconds=$(date +%s)
filename="${seconds}.png"
tmpdir="/tmp"
tmpfile="$tmpdir/$filename"
public_base_path="https://example.org/screenshots"
public_path="$public_base_path/$filename"
@jkpl
jkpl / ghwh.php
Created February 16, 2016 19:00
Basic Github webhook
<?php
// Conf
$secret = 'mysecret';
$command = '/path/to/script.sh';
function fail($msg) {
http_response_code(400);
echo $msg;
exit(1);
@jkpl
jkpl / mailapp.sh
Created April 2, 2016 13:18
mu4e mail composer
#!/bin/sh
# usage: mailapp.sh [url]
EMACS="/usr/bin/emacs"
EMACSCLIENT="/usr/bin/emacsclient"
SOCKET_NAME="email"
SOCKET_PATH="/tmp/emacs$(id -u)/$SOCKET_NAME"
log() {
@jkpl
jkpl / postdump.py
Created April 6, 2016 12:23
Dump incoming POST requests to STDOUT
#!/usr/bin/env python
import tornado.ioloop
import tornado.web
import pprint
class MyDumpHandler(tornado.web.RequestHandler):
def post(self):
pprint.pprint(self.request)
pprint.pprint(self.request.body)
@jkpl
jkpl / check_rules.sh
Created February 25, 2017 23:26
Check window class and name (rules) in Xorg
#!/bin/sh
xprop |awk '
/^WM_CLASS/{sub(/.* =/, "instance:"); sub(/,/, "\nclass:"); print}
/^WM_NAME/{sub(/.* =/, "title:"); print}'
@jkpl
jkpl / csv2keepass.py
Created February 25, 2017 23:27
Convert CSV to KeepassX XML format
import sys
entry_t = """<entry>
<title>{title}</title>
<username>{username}</username>
<password>{password}</password>
<notes>{info}</notes>
</entry>"""
pwfile_t = """<!DOCTYPE KEEPASSX_DATABASE>
@jkpl
jkpl / altfin.keylayout
Created February 25, 2017 23:46
My old keyboard layout for OS X (Ukelele format)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE keyboard PUBLIC "" "file://localhost/System/Library/DTDs/KeyboardLayout.dtd">
<!--Last edited by Ukelele version 2.2.4 on 2013-02-08 at 22:01 (UTC+2.00)-->
<keyboard group="0" id="5591" name="AltFin" maxout="1">
<layouts>
<layout first="0" last="17" modifiers="f4" mapSet="16c"/>
<layout first="18" last="18" modifiers="f4" mapSet="984"/>
<layout first="21" last="23" modifiers="f4" mapSet="984"/>
<layout first="30" last="30" modifiers="f4" mapSet="984"/>
<layout first="194" last="194" modifiers="f4" mapSet="984"/>
@jkpl
jkpl / fasttrack.clj
Last active February 25, 2017 23:48
Reaktor Fast Track in Clojure
(ns jkpl.fasttrack
(:require [clojure.string :as s]
[clojure.java.io :as io]))
(defn string-to-numbers
"Converts string of numbers to a list of numbers"
[s]
(->> (s/split s #" ")
(map read-string)))