Skip to content

Instantly share code, notes, and snippets.

View kkdai's full-sized avatar

Evan Lin kkdai

View GitHub Profile
@bketelsen
bketelsen / nsqadmin-service.json
Last active March 20, 2024 07:10
This gist represents all the manifests you'll need to run a redundant and fault-tolerant NSQ cluster on Kubernetes. NSQ Admin's http interface is available on port 14171 on any node. There's an issue with NSQ Admin if you're running more than one lookupd service, so I recommend running just one lookupd until I figure it out.
{
"id": "nsqadmin-http",
"kind": "Service",
"apiVersion": "v1beta1",
"port": 14171,
"protocol": "TCP",
"selector": { "name": "nsqadmin" }
}
@lavalamp
lavalamp / The Three Go Landmines.markdown
Last active February 28, 2025 12:54
Golang landmines

There are three easy to make mistakes in go. I present them here in the way they are often found in the wild, not in the way that is easiest to understand.

All three of these mistakes have been made in Kubernetes code, getting past code review at least once each that I know of.

  1. Loop variables are scoped outside the loop.

What do these lines do? Make predictions and then scroll down.

func print(pi *int) { fmt.Println(*pi) }
@yyjim
yyjim / gist:0b13e823646921827220
Created April 1, 2015 09:01
taipei opendata test
NSURL *url = [NSURL URLWithString:@"http://opendata.dot.taipei.gov.tw/opendata/alldescriptions.json"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request
queue:[NSOperationQueue mainQueue]
completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
unsigned long big5 = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingBig5_HKSCS_1999);
NSString *json = [[NSString alloc] initWithData:data encoding:big5];
NSError *error;
NSDictionary *dictionary =
[NSJSONSerialization JSONObjectWithData:[json dataUsingEncoding:NSUTF8StringEncoding]
@iamralch
iamralch / searchr.go
Created July 11, 2015 11:50
searchr - a sample application that works with pipes
package main
import (
"bufio"
"flag"
"fmt"
"io"
"os"
"strings"
)
@iamralch
iamralch / compress.go
Last active February 11, 2025 19:32
ZIP archives in Golang
import (
"archive/zip"
"io"
"os"
"path/filepath"
"strings"
)
func zipit(source, target string) error {
zipfile, err := os.Create(target)
@yinghau76
yinghau76 / test-1.S
Created September 12, 2015 06:06
Test arithmetic on Go custom integer type
~/tmp $ go build -gcflags=-S test-1.go | more
# command-line-arguments
"".main t=1 size=256 value=0 args=0x0 locals=0x70
0x0000 00000 (/Users/patrick/tmp/test-1.go:7) TEXT "".main(SB), $112-0
0x0000 00000 (/Users/patrick/tmp/test-1.go:7) MOVQ (TLS), CX
0x0009 00009 (/Users/patrick/tmp/test-1.go:7) CMPQ SP, 16(CX)
0x000d 00013 (/Users/patrick/tmp/test-1.go:7) JLS 231
0x0013 00019 (/Users/patrick/tmp/test-1.go:7) SUBQ $112, SP
0x0017 00023 (/Users/patrick/tmp/test-1.go:7) FUNCDATA $0, gclocals·7d2d5fca80364273fb07d5820a76fef4(SB)
0x0017 00023 (/Users/patrick/tmp/test-1.go:7) FUNCDATA $1, gclocals·5ef976c2593056b9243adf402ae9d952(SB)
@aggrolite
aggrolite / redditbot.md
Last active January 18, 2025 16:15
Writing a reddit bot with Go and OAuth2
1. 編輯你的fullchain.pem vim /etc/letsencrypt/live/blaha.tw/fullchain.pem
2. 把這個intermediate certificate(https://letsencrypt.org/certs/letsencryptauthorityx1.pem.txt)加入fullchain的兩個certificate中間
3. restart你的webserver
ln -s $(go list -f "{{.Dir}}" github.com/c9s/fsrename/fsrename) \
$(go list -f "{{.Root}}" github.com/c9s/fsrename/fsrename)/src/fsrename

Oh my zsh.

Install with curl

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Enabling Plugins (zsh-autosuggestions & zsh-syntax-highlighting)

  • Download zsh-autosuggestions by