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 / 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
@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]
var nowall_proxy = "SOCKS5 127.0.0.1:1080; SOCKS 127.0.0.1:1080;";
var wall_proxy = "DIRECT;";
var direct = "DIRECT;";
var ip_proxy = "DIRECT;";
/*
* Copyright (C) 2014 breakwa11
* https://github.com/breakwa11/gfw_whitelist
*/
@kigawas
kigawas / simple-vm.py
Last active August 2, 2019 02:21
Simple stack virtual machine in Python
# -*- coding: utf-8 -*-
"""
A very simple stack-based virtual machine in Python
Example:
PSH 1 # push 1 into the stack
PSH 2 # push 2 into the stack
ADD # add the topest 2 values and pop them
POP # pop the top of the stack and print 3
HLT # end the program
@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
^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端口