Skip to content

Instantly share code, notes, and snippets.

View TheHippo's full-sized avatar
🦛

Philipp Klose TheHippo

🦛
View GitHub Profile
@TheHippo
TheHippo / prepare-commit-msg
Last active July 13, 2016 14:26
If your git branch starts with a number add `ref #ISSUE-NUMBER` to 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
@TheHippo
TheHippo / main.go
Created July 11, 2016 13:42
Append bench
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 / pre-commit
Last active May 6, 2020 16:48
`goimports` pre-commit hook
#!/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 / Makefile
Created March 31, 2016 22:32
Golang Makefile example
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 / main.go
Created August 15, 2015 02:22
Benchmarking Go Mutex overhead
package main
import (
"fmt"
"sync"
)
type unlocked struct {
i int
}
@TheHippo
TheHippo / generateUUID.coffee
Last active August 29, 2015 14:17
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
TheHippo / commit-msg
Created January 27, 2015 15:45
Prepare and verify angular.js styled commit message with git flow
#!/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.'
@TheHippo
TheHippo / 10-plug-up.rules
Last active August 29, 2015 14:09
Enable Plug-Up Security Key in Ubuntu
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", GROUP="plugdev", ATTRS{idVendor}=="2581"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="f1d0", MODE="0660", GROUP="your_user_group"
@TheHippo
TheHippo / install-java.sh
Created July 22, 2014 14:35
Silent and automatic install of Oracles Java JDK under Ubuntu
#!/bin/bash
sudo add-apt-repository ppa:webupd8team/java --yes
sudo apt-get update
echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections
echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections
DEBIAN_FRONTEND=noninteractive sudo apt-get install oracle-java7-installer --yes --force-yes --assume-yes
@TheHippo
TheHippo / keybase.md
Created April 10, 2014 12:32
keybase.md

Keybase proof

I hereby claim:

  • I am thehippo on github.
  • I am thehippo (https://keybase.io/thehippo) on keybase.
  • I have a public key whose fingerprint is B42E 4C13 BE39 A091 5154 C31B F2A5 FE09 95B6 4476

To claim this, I am signing this object: