Skip to content

Instantly share code, notes, and snippets.


Tobias Preuss johnjohndoe

View GitHub Profile
johnjohndoe / gist:723302
Created Dec 1, 2010
Colored bash prompt showing git branch (.bash_rc)
View gist:723302
# Set git tab completion and PS1 integration
if [ -f /usr/local/git/contrib/completion/git-completion.bash ]; then
. /usr/local/git/contrib/completion/git-completion.bash
if [ -f /opt/local/etc/bash_completion ]; then
. /opt/local/etc/bash_completion
johnjohndoe / .gitignore
Created Jan 3, 2011
A git log alias with colors, date and owner.
View .gitignore
# A git log alias.
# Shows the brief log describtion in one line.
# Adds colors, a relative date and the owner.
# File name: .gitconfig
look = log --graph --pretty=format:'%Cred %h : %Creset%s %Cgreen(%cr) %C(blue)<%an>%C(yellow)%d %Creset' --date=relative
johnjohndoe / gist:1007379
Created Jun 3, 2011
Java introspection for class name and function name
View gist:1007379
// Print name of the current function.
new Throwable().fillInStackTrace().getStackTrace()[0].getMethodName();
// Print simple class name.
// Print full class name.
johnjohndoe / gist:1024839
Created Jun 14, 2011
Convert from NSRect to CGRect
View gist:1024839
// Convert from NSRect to CGRect.
NSRect baz = NSMakeRect(0, 0, 100, 100);
CGRect foo = *(CGRect*)&baz;
// Include this inline function in a header file.
NS_INLINE CGRect CGRectMakeFromNSRect(NSRect rect) {
return *(CGRect*)&rect;
// Doooooh! They already exist.. - I could not find 'em before.
johnjohndoe /
Created Dec 15, 2011
FFmpeg settings for
// FFmpeg settings for
// =============================
// Trying to find the best settings for encoding videos as described here:
// Input file: MTS
// Video: H264, 1920x1080, 50fps
// Audio: A52 Audio (aka AC3), Stereo, 48kHz, 256kbps
ffmpeg -i input.mts -vcodec libx264 -acodec aac -strict experimental -vpre hq -s hd720 -b 5000k -ab 320k -r 25 -g 25 -threads 0 output.mp4
# Colorize SVN
# ------------
# Adds color to the output of commands like svn status and svn update.
# The original version of the script was posted by Ash_ on Stackoverflow
# Source:
function svn {
# Skip the color script when running an svn commit.
if [ "x$1" = "xci" ] || [ "x$1" = "xcommit" ] || [ "x$1" = "xadd" ]
command svn "$@";
johnjohndoe /
Created May 21, 2012
Redmine installation on MacOSX

Redmine installation on MacOSX

  • A summarized instruction tested on MacOSX 10.7.4 installing Ruby 1.9.3p194 and Rails 3.2.3.

Install brew

  • Follow the instructions on
  • $ /usr/bin/ruby -e "$(/usr/bin/curl -fsSL"

brew hints

johnjohndoe / gist:3754453
Created Sep 20, 2012 — forked from gnunicorn/gist:3748738
Git for Beginners: Call for Coaches
View gist:3754453

The OpenTechSchool has set up and hosted a few tech workshops and meetups here in Berlin now. Aside from the monthly Beginners Meetup and hosting the Udacity Global Meetup we hosted workshops for program beginners in Python and Javascript on our own and on the premise of CampusParty.

One thing that was extraordinary popular on CampusParty was the Workshop on Git for beginners. And we decided to do it again, this time with a closer focus on version control as a major benefit in code sharing (by using git and github) for beginners - free of charge.

So if you are interested in

johnjohndoe / Host.m
Created Sep 25, 2012
Objective-C: Conversion of NetService addresses into human readable IP addresses.
View Host.m
// Host.m
// Dependencies: NSString+HexValue - Source:
#import "Host.h"
#import "NSString+HexValue.h"
#pragma mark
@interface Host()
johnjohndoe /
Created Nov 6, 2012
Git pre-commit hook to add a new line at the end of a file and remove trailing whitespaces
# An example hook script to verify what is about to be committed.
# Called by "git commit" with no arguments. The hook should
# exit with non-zero status after issuing an appropriate message if
# it wants to stop the commit.
# Usage:
# Remove the .sh file extension when you put the script in your hooks folder!