Skip to content

Instantly share code, notes, and snippets.

View kigawas's full-sized avatar
🎯
Focusing

Weiliang Li kigawas

🎯
Focusing
View GitHub Profile
@kigawas
kigawas / water_metabolism.py
Created January 12, 2023 08:26
Calculate how much water you need to drink every day
def water_metabolism(
activity_level: float, # 1.5: static, 1.75: intermediate, 2: dynamic
weight: float, # in kgs
gender: int, # 0: female, 1: male
humidity: int = 50, # in percent, e.g. 50
is_athlete: int = 0, # 0: not athlete, 1: athlete
hdi: int = 0, # 0: developed countries, 1: intermediate, 2: developing countries
above_sea_level: float = 25, # in metres
age: float = 30, # your current age
temperature: float = 15, # average daily temperature in celsius, e.g. 15
@kigawas
kigawas / redo-undo-container.js
Last active December 28, 2020 07:50
redux in 40 lines of code with redo/undo
const createStore = (reducer) => {
const states = [reducer()];
let sp = 0; // stack pointer
const listeners = new Set();
function notify() {
for (const listener of listeners) {
listener();
}
}
@kigawas
kigawas / uf.py
Created January 20, 2020 14:30
Simple python union find
class UF:
def __init__(self, n):
self.par = list(range(n))
self.rank = [0] * n
def find(self, x):
if x != self.par[x]:
self.par[x] = self.find(self.par[x])
return self.par[x]
@kigawas
kigawas / update_kubelet_config.yml
Created June 5, 2019 06:28
Ansible playbook for updating kubelet daemon config on all nodes
---
- hosts: all
become: true
tasks:
- name: kubelet gce config
copy:
dest: /etc/default/kubelet
content: KUBELET_EXTRA_ARGS=--cloud-provider=gce # Add your custom flag here
- name: Systemd reload configs
@kigawas
kigawas / watch_and_sync.sh
Last active March 25, 2024 16:12
Automatically rsync local folder to server's folder behind http proxy on Linux
LOCAL=$1 # /home/user/test/
REMOTE=$2 # /home/remoteuser/test/
if [[ -z "$LOCAL" || -z "$REMOTE" ]]; then
echo 'No src/dst folder'
exit
fi
while inotifywait -r -e modify,create,delete $LOCAL; do
rsync -avuz --delete -e "ssh -o \"ProxyCommand=connect-proxy -H YOUR_PROXY_HOST:YOUR_PROXY_PORT %h %p\"" $LOCAL YOUR_USERNAME@YOUR_SERVER_IP:$REMOTE
^dmd\-fifajs\-h5\-ikuweb\.youku\.com:443
^dmd\-fifa\-h5\-ikuweb\.youku\.com:443
^http:\/\/acs\.youku\.com\/.*$
^acs\.youku\.com:443
^http:\/\/pl\-ali\.youku\.com\/.*$
^http:\/\/list\.youku\.com\/.*$
^http:\/\/api\.youku\.com\/.*$
^http:\/\/play\.youku\.com\/.*$
^http:\/\/play\-dxk\.youku\.com\/.*$
^http:\/\/play\-ali\.youku\.com\/.*$
@kigawas
kigawas / a.pyx
Created June 26, 2018 07:32
Cython example of multiple pyx files
cdef int _fib(int n):
cdef int i
cdef int a=0, b=1
for i in range(n):
a, b = a + b,a
return a
def fib(n):
return _fib(n)
@kigawas
kigawas / setup_ss.md
Created June 22, 2018 05:59
搭建Shadowsocks服务

系统版本

Ubuntu 18.04 LTS

防火墙规则

打开80 443和4000端口

@kigawas
kigawas / initialize.sh
Last active June 19, 2018 04:10
Initialize docker on Ubuntu
apt-get update
apt-get install apt-transport-https ca-certificates curl software-properties-common -y -q
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
apt-key fingerprint 0EBFCD88
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt-get update
apt-get install docker-ce -y -q
@kigawas
kigawas / fix_docker_redis.sh
Last active June 19, 2018 03:57
Run redis in docker without warnings
sysctl vm.overcommit_memory=1
echo never > /sys/kernel/mm/transparent_hugepage/enabled