Skip to content

Instantly share code, notes, and snippets.

Arne Hormann arnehormann

Block or report user

Report or block arnehormann

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
@arnehormann
arnehormann / test-rand.go
Last active Aug 26, 2015
benchmarks for possible implementations for github.com/golang/go/issues/6721
View test-rand.go
package main
import (
"math"
"testing"
)
const bits32 = 24
const step32 float32 = 1 / (1 << bits32)
const mask32 uint32 = (1 << bits32) - 1
@arnehormann
arnehormann / compress.go
Last active Aug 29, 2015
Check speed and compression of `compress/flate` and `compress/gzip` against the `github.com/klauspost/compress` variants. Please read the comment below!
View compress.go
package main
import (
"encoding/binary"
"flag"
"fmt"
"io"
"os"
"runtime"
"sort"
View sqlassist.go
import (
"database/sql"
"fmt"
"reflect"
)
type Field interface {
Name() string
Ptr() interface{}
Tags() string
@arnehormann
arnehormann / int-ranges.go
Created Dec 4, 2014
Support code for tests in confactor/envflags
View int-ranges.go
package main
import (
"fmt"
"io"
"math/big"
"os"
)
func generateIntBounds(w io.Writer) {
@arnehormann
arnehormann / envflag-example.go
Last active Aug 29, 2015
Just an example for envflag (soon to be expanded at github.com/confactor/envflag)
View envflag-example.go
// see http://godoc.org/github.com/arnehormann/goof/envflag
package main
import (
"fmt"
"io"
"os"
"sort"
"strings"
"text/tabwriter"
View static-nginx.sh
#!/bin/bash
### build nginx/openresty as a static binary with most recent libraries.
### apart from build tools, this script depends on sha256sum, tar, curl.
# features
ENABLE_MAIL="${ENABLE_EMAIL:-true}"
ENABLE_MEDIA="${ENABLE_MEDIA:-true}"
ENABLE_WEBDAV="${ENABLE_WEBDAV:-true}"
View restart.go
package main
import (
"errors"
"fmt"
"os"
"time"
pipe "gopkg.in/pipe.v2"
)
@arnehormann
arnehormann / repostats.sh
Created Jun 13, 2014
count LOC in .git folders per language
View repostats.sh
#!/bin/bash
set -e -u -o pipefail # -x
echo $'Project\tCommit\tBranch\tFiletype\tLines'
for dir in *.git; do
export GIT_DIR="$dir"
export PREFIX=$(git for-each-ref --count=1 --sort=committerdate --format=$'%(objectname)\t%(refname)')
export BRANCH=$(echo -e "${PREFIX}" | cut -d $'\t' -f 1)
##### from these filetypes #####
for filetype in java cs rb go py as php html htm css js json xml conf cnf; do
echo -n -e "${dir}\t${PREFIX}\t${filetype}\t"
@arnehormann
arnehormann / mysql12f.sh
Last active Aug 29, 2015
Startup MySQL
View mysql12f.sh
#!/bin/bash
set -e -u -o pipefail
PWD=`pwd`
WHOAMI=`whoami`
BASEDIR=${MYSQL_SERVER_BASEDIR?missing MYSQL_SERVER_BASEDIR}
# default directories are subdirectories of where this script was run from
View reflect-path.go
func Path(v interface{}, ks ...interface{}) (reflect.Value, error) {
val := reflect.ValueOf(v)
for i, k := range ks {
switch key := k.(type) {
case string: // struct field
if val.Kind() != reflect.Struct {
return reflect.ValueOf(nil), fmt.Errorf("Error at %v[%d]: must be struct", ks, i)
}
val = val.FieldByName(key)
case reflect.Kind: // type
You can’t perform that action at this time.