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
TheHippo / Makefile
Created Mar 31, 2016
Golang Makefile example
View Makefile
OUT := binariy-name
PKG := gitlab.com/group/project
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
server:
go build -i -v -o ${OUT} -ldflags="-X main.version=${VERSION}" ${PKG}
@TheHippo
TheHippo / pre-commit
Last active Sep 6, 2019
`goimports` pre-commit hook
View pre-commit
#!/bin/sh
# 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
TheHippo / main.go
Created Aug 15, 2015
Benchmarking Go Mutex overhead
View main.go
package main
import (
"fmt"
"sync"
)
type unlocked struct {
i int
}
@TheHippo
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
#!/bin/bash
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
fi
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
TheHippo / get-data-backup.sh
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: `./get-data-backup.sh your.package.name`
View get-data-backup.sh
#!/bin/bash
if [[ "${#}" != "1" ]]; then
echo "Need exactly one command line argument: package name"
exit 1
fi
PACKAGE=${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
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
# https://github.com/edc/mapcat
MAPCAT_BIN = ./node_modules/.bin/mapcat
# Where your coffee files are
INPUT_FOLDER = ./input
# Where you want your output
OUTPUT_FOLDER = ./output
@TheHippo
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/nginx.pid
expect fork
@TheHippo
TheHippo / generateUUID.coffee
Last active Aug 29, 2015
Generate UUID like IDs in CoffeeScript
View generateUUID.coffee
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
TheHippo / commit-msg
Created Jan 27, 2015
Prepare and verify angular.js styled commit message with git flow
View commit-msg
#!/bin/bash
#
# 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/"* ]]
then
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.