Skip to content

Instantly share code, notes, and snippets.

@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