Instantly share code, notes, and snippets.

View zsh_opts
#{{{ ZSH Modules
autoload -U compinit promptinit zcalc zsh-mime-setup
View zshrc
# The following lines were added by compinstall
zstyle ':completion:*' completer _expand _complete _ignored _correct _approximate
zstyle ':completion:*' completions 1
zstyle ':completion:*' glob 1
zstyle ':completion:*' max-errors 0
zstyle ':completion:*' prompt 'errors: %e '
zstyle ':completion:*' substitute 1
zstyle :compinstall filename '/home/niko/.zshrc'
View vimrc
set nocompatible
set number
" show invisible characters:
set list
set listchars=tab:▸\ ,eol
set listchars+=trail:˙
" allow buffer changes without saving:
trap 'pkill -P $$' INT TERM EXIT
for s in "$@"; do
while true; do
t=$(date +'%Y-%m-%d_%H:%M:%S')
echo "${t} started ${s}"
curl --silent --show-error -H 'user-agent:' "${s}?test-ice-${t}" | wc -c

Keybase proof

I hereby claim:

  • I am niko on github.
  • I am nikod ( on keybase.
  • I have a public key whose fingerprint is 1A19 55CF EF33 A1D2 8E86 1D23 66B2 2F68 EB65 349D

To claim this, I am signing this object:

View lautfm-ping.php
header('Content-Type: text/plain');
function ping($addr){
$starttime = microtime(true);
$file = fsockopen ($addr, 80, $errno, $errstr, 10);
$stoptime = microtime(true);
$status = 0;
if (!$file) $status = -1; // Site is down
View sinatra_background_threadpool.rb
# ala
require 'sinatra/base'
require 'thread/pool'
class Transcode
ThreadPool = Thread.pool(2)
def initialize message
ThreadPool.process do

This puzzle has 3 parts:

  • A i3wm config that opens mutt in a dedicated workspace. $mod+m will switch to this workspace and will launch mutt, if not already running. Actually it doesn't launch mutt, but…
  • a small wrapper script, which opens a named pipe and then starts mutt.
  • a checkmail script which uses mailcheck(1) to tara check mail. If new mail is available, it blinks the CAPS LOCK led (which I mapped to CTRL anyway) and marks the mutt workspace via a bell.

Additional configuration:

  • set your terminal to mark urgent bells. In Termite the setting is "urgent_on_bell = true".
  • adopt you ~/.mailcheckrc to include paths to your mailboxes. In the simplest case it contains just the line "$(HOME)/Maildir/INBOX"
# Batch renaming files via your sharpest tool - your text editor.
# Given a file pattern as argument opens $EDITOR
# with the selected files. Rename them in the editor, save
# and quit. You will be presented with the rename script
# so you can inspect what will happen when you continue.
# will do the renaming in two steps. First all
# files will be renamed to temporary names with increasing
# IDs. Then the renaming to the final name will be done.
function greparate() {
FILENAME_WITH=`echo $FILENAME | sed "s/\.\([^\.]*\)$/.with_$PATTERN.\1/"`;
FILENAME_WITHOUT=`echo $FILENAME | sed "s/\.\([^\.]*\)$/.without_$PATTERN.\1/"`;
echo "Seprating the content of $FILENAME by $PATTERN into $FILENAME_WITH and $FILENAME_WITHOUT"