Skip to content

Instantly share code, notes, and snippets.

Philipp Klose TheHippo

Block or report user

Report or block TheHippo

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
TheHippo / Makefile
Created Mar 31, 2016
Golang Makefile example
View Makefile
OUT := binariy-name
PKG :=
VERSION := $(shell git describe --always --long --dirty)
PKG_LIST := $(shell go list ${PKG}/... | grep -v /vendor/)
GO_FILES := $(shell find . -name '*.go' | grep -v /vendor/)
all: run
go build -i -v -o ${OUT} -ldflags="-X main.version=${VERSION}" ${PKG}
TheHippo / pre-commit
Last active Sep 6, 2019
`goimports` pre-commit hook
View pre-commit
# Copyright 2012 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
# git goimports pre-commit hook
# To use, store as .git/hooks/pre-commit inside your repository and make sure
# it has execute permissions.
TheHippo / main.go
Created Aug 15, 2015
Benchmarking Go Mutex overhead
View main.go
package main
import (
type unlocked struct {
i int
TheHippo / prepare-commit-msg
Last active Jul 13, 2016
If your git branch starts with a number add `ref #ISSUE-NUMBER` to commit msg
View prepare-commit-msg
NAME=$(git branch | grep '*' | sed 's/* //')
ISSUE_NUMBER=$(git branch | grep '*' | sed 's/* //' | tr -dc '0-9')
if [ "$2" == "message" ]; then
echo "Message given, we do not modify the git commit message"
exit 0
if [ "$2" == "merge" ] || [ "$2" == "squash" ]; then
echo "$2 commit, we do not edit the message"
exit 0
View main.go
package main
type Wrapper string
type Chain struct {
wrps []Wrapper
func (c Chain) Append1(wrps ...Wrapper) Chain {
newWrps := make([]Wrapper, len(c.wrps)+len(wrps))
TheHippo /
Created Nov 12, 2013
Backup all the data of an Android package to the local folder. This could useful in various occasion, e.g if you want to inspect the Sqlite database of a package without rooting you device. Usage: `./`
if [[ "${#}" != "1" ]]; then
echo "Need exactly one command line argument: package name"
exit 1
echo "Please allow backup for: ${PACKAGE}"
adb backup -f data.ab -noapk ${PACKAGE}
dd if=data.ab bs=1 skip=24 | openssl zlib -d | tar -xvf -
rm data.ab
TheHippo / Makefile
Created Mar 17, 2013
Compile and compress multiple Coffee-Script files into a single one, including a working source map
View Makefile
# adjust these path to where ever the executables are
COFFEE_BIN = ./node_modules/.bin/coffee
UGLIFY_BIN = ./node_modules/.bin/uglifyjs
MAPCAT_BIN = ./node_modules/.bin/mapcat
# Where your coffee files are
INPUT_FOLDER = ./input
# Where you want your output
OUTPUT_FOLDER = ./output
TheHippo / nginx.conf
Created Dec 12, 2012
Upstart config for running Nginx.
View nginx.conf
description "nginx http daemon"
author "Philipp Klose"
start on (filesystem and net-device-up IFACE=lo)
stop on runlevel [!2345]
env DAEMON=/opt/nginx/sbin/nginx
env PID=/opt/nginx/logs/
expect fork
TheHippo /
Last active Aug 29, 2015
Generate UUID like IDs in CoffeeScript
generateUUID: () ->
d = new Date().getTime()
'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace /[xy]/g, (c) ->
r = (d + Math.random() * 16) % 16 | 0
d = Math.floor(d / 16)
(if c is 'x' then r else r & 0x3 | 0x8).toString 16
TheHippo / commit-msg
Created Jan 27, 2015
Prepare and verify angular.js styled commit message with git flow
View commit-msg
# abort commit if on feature/branch and nothing else than auto generated commit message
# is entered
current_branch=$(git rev-parse --abbrev-ref HEAD)
if [[ $current_branch == "feature/"* ]]
first_line=$(head -n 1 $1)
if [[ $first_line == "(${current_branch:8}):" ]]; then
echo 'No valid commit message entered.'
You can’t perform that action at this time.