irssi keybindings for switching between up to 999 windows

Use these keybindings to access up to 999 windows using at most 4 keys:

alt-0 .. alt-9 -> windows 0..9 (standard keybindings)
alt-q 0 .. alt-q 9 -> windows 10..19
alt-w 0 .. alt-w 9 -> windows 20..29
alt-p 0 .. alt-p 9 -> windows 90..99
alt-a 0 0 .. alt-a 0 9 -> windows 100..109

Keybase proof

I hereby claim:

  • I am xkr47 on github.
  • I am xkr47 ( on keybase.
  • I have a public key ASAdU_1qct6ysfYXrUMHiqUK2K56kgS3YnExyhUfI1cYHgo

To claim this, I am signing this object:


I wanted to create a Swing app in Ceylon and figured I'd give using the UI designer a shot. Here are the necessary steps to get it to work:


Change IDEA settings

  • From the menu: File -> Settings
  • Navigate to Editor / GUI designer
  • Make sure "Generate GUI into:" has Java source code selected
  • Change "Default accessibility for UI-bound fields:" is something else than "private", for example package-private
  • Click OK to save
View gulp-plumber-remedy.js
var gulp = require('gulp');
var util = require('gulp-util');
var source = require('vinyl-source-stream');
var buffer = require('vinyl-buffer');
var through2 = require('through2');
var plumber = require('gulp-plumber');
var errs = 0;
gulp.task('default', function () {

git tweak-index

This git add-on command lets you tweak/edit files in the index/stage directly without touching the checked out working copy.

  • Use case 1: So you accidentally git-added some changes that you didn't want to merge just yet and would like to partially undo?
  • Use case 2: You want to make a quick commit to some file(s) but keep the checked out version(s) as-is?
  • Use case 3: You have been trying to use git reset -p but failed spectacularly?
  • Use case 4: You want to stage something that is not an interpolation of the checked out and the committed version?



These scripts convert PHP serialized object format e.g.


to YAML format:

  title: Hello
  count: 0

Save file as git-mvs in your path and then:

find -name '*file' -print0 | xargs -r0 git mvs 's/foo/bar/g'

or in zsh:

git mvs 's/foo/bar/g' **/*file
View dressed_up.ceylon
shared dynamic MyInterface {
shared formal String foo;
shared void run() {
dynamic {
dynamic dyn = eval("({foo: 'bar'})");
MyInterface my = eval("({foo: 'bar'})");
View getKeyEventRawCode.ceylon
import java.awt.event {
import java.lang {
import java.lang.reflect {