Skip to content

Instantly share code, notes, and snippets.

Avatar

Gilbert Wat gilbertwat

View GitHub Profile
@gilbertwat
gilbertwat / remove-artifacts-gh.sh
Created Mar 23, 2022
Remove all Github Action Artifacts for 1 repo
View remove-artifacts-gh.sh
#!/bin/zsh
ORG=${ORG:-"preface-ai"}
REPO=${REPO:-"preface-website-frontend"}
echo "Removing artifacts in {$REPO} from {$ORG}"
IDS="$(gh api /repos/$ORG/$REPO/actions/artifacts --paginate --jq '.artifacts[] | .id')"
echo $IDS
if [ -z "$IDS" ];
View how-to-do-technical-discussion.md

How to do technical discussion?

  1. Define problems.
  • Define common terms:
    • What means by x ? Even when x is a common terms?
      • For example in delivery platform: What means by refund? Turns out engineering team has different definition with product team 😅
      • Save us precious time and make sure our discussion is valid
  • Define priorities (Tech Lead responsibility):
  • Is it life or death?
View avoid_deadlock.rb
def must_deadlock
new_waypoints = get_new_waypoints
order.transaction do
order.waypoints.destroy_all
new_waypoints.each |waypoint| do
Order.waypoints.create!(waypoint)
end
end
end
@gilbertwat
gilbertwat / ggv_geekbot.rb
Created Dec 25, 2017
Geekbot API to CSV for easy analysis
View ggv_geekbot.rb
#!/usr/bin/env ruby
require 'net/http'
require 'uri'
require 'rubygems'
require 'json'
require 'csv'
after = 1509494400 #2017-11-01 00:00:00 +0800
user_id = 'JS Console Network Tab can help you'
@gilbertwat
gilbertwat / GGV_outage_template.md
Last active Dec 13, 2017
GGV_outage_template.md
View GGV_outage_template.md

Outage Report

Duration: (x)min
From: YYYYMMDDHHmm
To: YYYYMMDDHHmm
Summary: summary

Outage Timeline:

HHmm: Problem Found
HHmm: Ops screaming

View gist:5d6fdc1ef15de5a2643fffa8233117fd
### Keybase proof
I hereby claim:
* I am gilbertwat on github.
* I am gilbertwat (https://keybase.io/gilbertwat) on keybase.
* I have a public key ASD3a_S1JVXngq_gCrWIz3BIL2s1WIvsz1-tuCC39ZzGPAo
To claim this, I am signing this object:
View .tmux.conf
set-window-option -g mode-keys vi
set-option -g history-limit 3000
set -g mouse on
View .vimrc
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" vim-plug stuff
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
call plug#begin()
" Fuzzy Search
Plug '/usr/local/opt/fzf'
" Surround open / close
Plug 'tpope/vim-surround'
" File explorer
Plug 'scrooloose/nerdtree'
View .zshrc
# Path to your oh-my-zsh installation.
export ZSH=/Users/gilbert/.oh-my-zsh
# Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
# Optionally, if you set this to "random", it'll load a random theme each
# time that oh-my-zsh is loaded.
if [ -z $COLORTERM ]; then
ZSH_THEME="lambda"
else
View .gitconfig
[alias]
d = diff
dc = diff --cached
ca = commit --amend
co = checkout
st = status
sp = stash pop
su = stash save -u
po = push origin
cm = commit -m