Skip to content

Instantly share code, notes, and snippets.

@torsten
torsten / bookmarks.sh
Created February 20, 2011 11:20
A port of Huy Nguyen's bash directory bookmarks to zsh
# Original code for bash from:
# http://www.huyng.com/archives/quick-bash-tip-directory-bookmarks/492/
# Zsh Directory Bookmarks
alias m1='alias g1="cd `pwd`"'
alias m2='alias g2="cd `pwd`"'
alias m3='alias g3="cd `pwd`"'
alias m4='alias g4="cd `pwd`"'
alias m5='alias g5="cd `pwd`"'
alias m6='alias g6="cd `pwd`"'
@torsten
torsten / z_order.py
Created April 1, 2011 10:21
Calculates z-ordered values from x and y coordinates.
def z_order(x, y):
"""Creates a z-order value from the 15 least significant bits of
the `int`s `x` and `y`.
http://en.wikipedia.org/wiki/Z-order_curve
"""
z = 0
for bit_pos in range(15):
z |= (x & (1 << bit_pos)) << bit_pos
z |= (y & (1 << bit_pos)) << (bit_pos + 1)
@torsten
torsten / svn-stats.sh
Created April 21, 2011 09:05
Prints a list of all committers in a subversion repository, sorted by number of commits.
#!/bin/bash
# Prints a list of all committers in a subversion repository,
# sorted by number of commits.
# Written by Torsten Becker <torsten.becker@gmail.com> in 2011
if [[ ! $1 ]]; then
echo "Usage: $0 SVN-REPO-URL"
exit 1
fi
@torsten
torsten / gist:1589419
Created January 10, 2012 14:46
"Detecting" IE version for CSS
<!DOCTYPE html>
<!--[if lt IE 7 ]> <html class="ie6"> <![endif]-->
<!--[if IE 7 ]> <html class="ie7"> <![endif]-->
<!--[if IE 8 ]> <html class="ie8"> <![endif]-->
<!--[if IE 9 ]> <html class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html class=""> <!--<![endif]-->
<head>
@torsten
torsten / cheat.rb
Created February 3, 2012 12:07
cheat.rb: Self-contained script & database to remember and search for uncommon shell commands.
#!/usr/bin/env ruby
# Self-contained ruby script & database to remember uncommon shell commands
# and search for them using the command line.
#
# Originally written by Torsten Becker <torsten.becker@gmail.com> in 2012.
#
# Usage: cheat.rb [SEARCHTERM]
# If SEARCHTERM is given, cheat.rb lists only cheats that contain this term.
# Otherwise lists all cheats.
#
@torsten
torsten / property-access.m
Created March 27, 2012 08:32
Benchmark to measure how much slower property access is vs direct member access.
// Compile as: clang -O4 -framework Foundation property-access.m && ./a.out
#import <Foundation/Foundation.h>
// Performance timer, credit: Lars Schneider @kit3bus
#import <mach/mach_time.h>
#define MAKE_NSSTRING(str) (NSString *)CFSTR(#str)
#define START(name) \
@torsten
torsten / hack.sh
Created April 1, 2012 13:05 — forked from erikh/hack.sh
OSX For Hackers
#!/usr/bin/env sh
##
# This is script with usefull tips taken from:
# https://github.com/mathiasbynens/dotfiles/blob/master/.osx
#
# install it:
# curl -sL https://raw.github.com/gist/2108403/hack.sh | sh
#
@torsten
torsten / .zshrc
Created April 2, 2012 14:50
zsh alias for GitHub's URL shortener
# Usage: git.io GITHUB-URL
# Based on https://github.com/blog/985-git-io-github-url-shortener
__make_git_io() {
curl -i http://git.io -F "url=$1"
}
alias git.io=__make_git_io
@torsten
torsten / BetterTestCase.m
Created May 15, 2012 08:50
Bugfix for SenTestCase when using base classes for test cases.
// OCUnit/SenTestCase's vanilla testInvocations method does not produce a unique list of methods
// when you inherit from a common test base class. Currently it will call the same test methods
// multiple times, depending on the number of base classes.
//
// To prevent these duplicate test method calls, override testInvocations like this.
//
// Written in 2012 by Torsten Becker <torsten.becker@gmail.com>
@interface BetterTestCase : SenTestCase
@torsten
torsten / annti_blockSelf.m
Created June 12, 2012 13:50
Experiment if __block causes a retain.
// Run with:
// clang -fobjc-arc -Wall -framework Foundation blockself.m && ./a.out
// Further reading:
// http://www.mikeash.com/pyblog/friday-qa-2009-08-14-practical-blocks.html
// http://clang.llvm.org/docs/AutomaticReferenceCounting.html#misc.blocks
// http://developer.apple.com/library/mac/#releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html
#import <Foundation/Foundation.h>