Skip to content

Instantly share code, notes, and snippets.

View reterVision's full-sized avatar
🍔

Chao Gao reterVision

🍔
View GitHub Profile
Verifying that "retervision.id" is my Blockstack ID. https://onename.com/retervision
@reterVision
reterVision / atomic_test.go
Created May 16, 2015 08:38
Benchmark Testing: RWMutex vs sync/atomic
package main
import (
"sync"
"sync/atomic"
"testing"
)
func Benchmark_Lock(b *testing.B) {
var lock sync.RWMutex
@reterVision
reterVision / AppDelegate.swift
Last active March 19, 2016 20:18
Facebook Login with SDK4.0 and Swift
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
@reterVision
reterVision / notes.md
Last active March 30, 2023 11:51
Linux Performance Tuning

1.1 Linux process management

  • process scheduling
  • interrupt handling
  • signaling
  • process prioritization
  • process switching
  • process state
  • process memory
@reterVision
reterVision / client.go
Last active February 26, 2018 06:58
Passing file with gob.
package main
import (
"bufio"
"encoding/gob"
"log"
"net"
"os"
)
@reterVision
reterVision / udp_client.go
Created July 12, 2014 07:50
A dummy UDP hole punching sample in Go
package main
import (
"encoding/json"
"fmt"
"log"
"net"
"os"
"time"
)
@reterVision
reterVision / insert_pg.go
Created July 5, 2014 08:18
A trivial program that uses goroutine to insert records into Postgres.
/*
Original idea from
http://www.acloudtree.com/how-to-shove-data-into-postgres-using-goroutinesgophers-and-golang/
*/
package main
import (
"log"
"time"
"os"

This example is based on having a cascading setup, where you have a single master, a single "primary" slave, and cascading slaves which are being replicated from the primary slave. For an example of this setup, check out http://bartek.im/blog/2012/12/04/postgresql-92-streaming-primer.html

On the existing master, if accessible, stop postgres.

$ sudo service postgresql stop

And better to be safe than sorry. We can't have two masters running. (I only use this in an automated script. If you're doing this manually, you'd know if it was shutoff)

$ kill -9 `sudo cat /var/lib/postgresql/9.2/main/postmaster.pid | head -n 1` &> /dev/null
# Build dependencies for OpenResty.
sudo apt-get install build-essential libpcre3-dev libssl-dev libgeoip-dev
# Install standard Nginx first so that you get the relevant service scripts installed too
sudo apt-get install nginx
# If you want to access Postgres via Nginx
sudo apt-get install libpq-dev
@reterVision
reterVision / lcs.go
Created June 20, 2014 03:25
Longest Common Strings in Go
package main
import (
"bufio"
"fmt"
"log"
"os"
"strings"
)