Skip to content

Instantly share code, notes, and snippets.

func IsInSlice(slice []int, searching int) bool {
intSlice := make(sort.IntSlice, len(slice))
copy(intSlice, slice)
sort.Sort(intSlice)
return sort.SearchInts(intSlice, searching) < len(slice)
}
@kavu
kavu / example.go
Created September 28, 2013 10:01
Minimal Golang + Cocoa application using CGO. Build with `CC=clang go build`
package main
/*
#cgo CFLAGS: -x objective-c
#cgo LDFLAGS: -framework Cocoa
#import <Cocoa/Cocoa.h>
int
StartApp(void) {
[NSAutoreleasePool new];
@kavu
kavu / main.go
Created July 6, 2013 08:52
Setting Process name in Go
func SetProcessName(name string) error {
argv0str := (*reflect.StringHeader)(unsafe.Pointer(&os.Args[0]))
argv0 := (*[1 << 30]byte)(unsafe.Pointer(argv0str.Data))[:argv0str.Len]
n := copy(argv0, name)
if n < len(argv0) {
argv0[n] = 0
}
// Syscall PRCTL, not working on Darwin for me
@kavu
kavu / Vagrantfile
Last active December 15, 2015 05:59
Vagrant::Config.run do |config|
# ssh settings:
config.ssh.private_key_path = "~/.ssh/vagrant.key"
config.ssh.max_tries = 5
config.ssh.timeout = 10
# default port forwarding
config.vm.forward_port('ssh', 22, 2222, :auto => true)
@kavu
kavu / main.go
Created March 20, 2013 13:52
Go Reflection
func(t reflect.Type) {
log.Printf("%+v", t.Field(0).Tag.Get("woot"))
}(reflect.TypeOf(Dummy{1}))
@kavu
kavu / main.go
Created March 20, 2013 13:50
Go Mem and CPU Profiles
file, err := os.Create("go.cprof")
if err != nil {
log.Fatal(err)
}
pprof.StartCPUProfile(file)
// ...
pprof.StopCPUProfile()
@kavu
kavu / git-cleanup.sh
Last active December 14, 2015 15:28
This is how you can delete some HUGE dir in your repo's history. Warning! Make a backup and don't try it, if you don't understand what are you doing!
# Let's figure out what we have in the beggning
git fsck --full --strict --unreachable
git count-objects -v
# Filter ALL branches deleteing `db/seeds_assets`
git filter-branch -f --tree-filter 'rm -rf db/seeds_assets' -- --all
# Remove original reflogs
rm -rf .git/refs/original/
@kavu
kavu / Gemfile
Last active July 17, 2017 05:38 — forked from anonymous/Gemfile
How to make Rails + Backup + Whenever + Capistrano (and rbenv) work.
#...
gem 'backup', require: false,
github: 'kavu/backup',
branch: 'bump_fog_version',
ref: 'c3fd8e6eb4f464de1c8'
gem 'whenever', require: false
#...
build_package_combined_patch() {
local package_name="$1"
{
curl https://github.com/funny-falcon/ruby/compare/p385...p385_falcon.diff | patch -p1
autoconf
./configure --prefix="$PREFIX_PATH" $CONFIGURE_OPTS
make -j 8
make install
} >&4 2>&1
}
@kavu
kavu / 1.rb
Last active December 12, 2015 01:28
require 'minitest/autorun'
class MyClass
def initialize
@a = 1
end
def a
"not a 1"
end