How to Start Godoc on Mac

5 May 2018


godoc -http=:6060 &; disown (pidof godoc)


godoc -http=:6060 &; disown `pidof godoc`

And pidof can be installed with Homebrew.

Tmux Cheatsheet on Mac

20 April 2018

Create a new session with iTerm2 integration

tmux -CC new -s [session-name]

Attach to a session with iTerm2 integration

tmux -CC attach -t [session-name]

How to Diff two JSON Files

10 April 2018

Just sort the keys first!


cat a.json | jq --sort-keys . > aa.json
cat b.json | jq --sort-keys . > bb.json
vimdiff aa.json bb.json

Pagination Done Right

28 February 2018

Server side pagination is intrinsically not accurate, as long as the data is dynamic.

The data items could be inserted, deleted or changed on the server side while the user goes forward and backward among the pages.

However, there is an algorithm that can keep the pagination as stable as possible:

  1. encode the id and sorting fields of last value in a page as the continue-token
  2. return the continue-token along with each page
  3. the client must pass the continue-token to fetch the next page
  4. the next page starts with value > continue-token || (value == continue-token && value.id > continue-token.id)


How to Measure Response Time with Curl

20 June 2017
curl [args] --write-out "%{time_total}s" --output /dev/null --silent [URL] 

How to Delete a Git Branch

9 June 2017
git fetch       --prune  origin
git branch      --delete [branch-name]
git push origin --delete [branch-name]

A Single Command to Download a Website

9 April 2017
wget --recursive --level=2 --no-parent --no-clobber --convert-links --continue