Skip to content

Instantly share code, notes, and snippets.

View ae6rt's full-sized avatar

Mark Petrovich ae6rt

  • Petaluma, CA
View GitHub Profile
@ae6rt
ae6rt / gist:5a9b5e34c242a8e982db
Created September 19, 2014 16:08
Give us your interfaces
In org.apache.curator.x.discovery.ServiceInstanceBuilder
private static final AtomicReference<LocalIpFilter> localIpFilter = new AtomicReference<LocalIpFilter>
(
new LocalIpFilter()
{
@Override
public boolean use(NetworkInterface nif, InetAddress adr) throws SocketException
{
return (adr != null) && !adr.isLoopbackAddress() && (nif.isPointToPoint() || !adr.isLinkLocalAddress());
@ae6rt
ae6rt / gist:38b23e9ed90f752851f6
Created September 21, 2014 20:08
Examine specific network errors in Go for more failure information
if err, ok := err.(net.Error); ok {
if err.Timeout() {
responseCode = http.StatusGatewayTimeout
fmt.Printf("Timeout\n")
}
}
@ae6rt
ae6rt / gist:2caef0df93d29a60ec8a
Created October 1, 2014 18:59
Autowired no more
Good:
@Configuration
@EnableSwagger
public class SwaggerConfiguration {
public static final List<String> DEFAULT_INCLUDE_PATTERNS = Arrays.asList("^(?!/error|/internal/).*$");
private static final String SWAGGER_GROUP = "";
@Bean
public SwaggerSpringMvcPlugin swaggerPlugin(SpringSwaggerConfig springSwaggerConfig) {
@ae6rt
ae6rt / gist:57a123563317aed603ee
Last active August 29, 2015 14:07
.emacs init file
(add-to-list 'load-path "/Users/mpetrovic/.emacs.d/")
(require 'go-mode-load)
(add-hook 'before-save-hook 'gofmt-before-save)
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict")
(ac-config-default)
(require 'go-autocomplete)
(require 'auto-complete-config)
;; (setq auto-save-visited-file-name t)
@ae6rt
ae6rt / gist:6671f5762e2144d18c8c
Created November 7, 2014 18:05
Go Makefile prototype
NAME := stashkins
ARCH := amd64
VERSION := 1.0
DATE := $(shell date)
COMMIT_ID := $(shell git rev-parse --short HEAD)
SDK_INFO := $(shell go version)
LD_FLAGS := -X main.version $(VERSION) -X main.commit $(COMMIT_ID) -X main.buildTime '$(DATE)' -X main.sdkInfo '$(SDK_INFO)'
all: clean binaries package
@ae6rt
ae6rt / gist:0e4f4bc66a17d275af08
Created November 14, 2014 16:47
git logging to-file example
package main
import (
"flag"
"log"
"os"
)
var (
logFile = flag.String("log-file", "", "Log file name")
@ae6rt
ae6rt / gist:0aa35403f678bfe54960
Created November 15, 2014 14:24
Read lines from a buffer of bytes
func GetBranches() ([]string, error) {
cmd := "git"
args := []string{"ls-remote", "--heads"}
if debug {
log.Printf("%s %v\n", cmd, args)
}
command := exec.Command(cmd, args...)
if data, err := command.Output(); err != nil {
return nil, err
@ae6rt
ae6rt / gist:2c17d65bed574c895f0e
Created November 16, 2014 14:48
Wrapper around Go exec.Command to return stdout, stderr, and err
func Exec(cmd string, args ...string) ([]byte, []byte, error) {
if debug {
log.Printf("%s %v\n", cmd, args)
}
stdout := &bytes.Buffer{}
stderr := &bytes.Buffer{}
command := exec.Command(cmd, args...)
command.Stdout = stdout
command.Stderr = stderr
@ae6rt
ae6rt / gist:3e5bd5088c24eb352ba1
Created November 16, 2014 18:34
Dockerfile with persisted git clone
FROM phusion/baseimage:0.9.15
RUN apt-get -y update && apt-get install -y git
RUN git clone https://github.com/ae6rt/go-mode.el.git
@ae6rt
ae6rt / gist:32537e2f3a9d4102bfae
Created November 27, 2014 23:47
Setting subpackage vars with ldflags during a Go build
VERSION := 1.0
DATE := $(shell date)
COMMIT_ID := $(shell git rev-parse --short HEAD)
SDK_INFO := $(shell go version)
BUILD_DIR=build
LD_FLAGS := -X github.com/xoom/gorest/rest.version $(VERSION) -X github.com/xoom/gorest/rest.commit $(COMMIT_ID) -X github.com/xoom/gorest/rest.buildTime '$(DATE)' -X github.com/xoom/gorest/rest.sdkInfo '$(SDK_INFO)'