Skip to content

Instantly share code, notes, and snippets.

Avatar

Jiangge Zhang tonyseek

View GitHub Profile
@tonyseek
tonyseek / miniconda3
Last active May 24, 2022
~/.local/bin/miniconda3
View miniconda3
#!/usr/bin/env bash
set -e
IMAGE="docker.io/continuumio/miniconda3:latest"
HOST_CONDA_DIR="/opt/conda"
HOST_NOTEBOOK_DIR="${PWD}"
HOST_NOTEBOOK_PORT="8888"
podman_cmd=("${@:-/bin/bash}")
@tonyseek
tonyseek / ietf-rfc-dl.sh
Last active Jun 23, 2021
Download IETF RFC
View ietf-rfc-dl.sh
#!/usr/bin/env bash
set -e
set -o pipefail
RFC_ID="$1"
if ! grep -qE '^[[:digit:]]+$' <<<"$RFC_ID"; then
printf >&2 'Usage: %s RFC_ID\n' "$(basename "$0")"
exit 2
fi
@tonyseek
tonyseek / treecache.py
Last active Jul 4, 2019
Use TreeCache of Kazoo to get node data.
View treecache.py
import logging
import threading
from kazoo.client import KazooClient
from kazoo.recipe.cache import TreeCache, TreeEvent
class TreeCacheListener(object):
CONNECTIVE_EVENTS = {
@tonyseek
tonyseek / instance_method_decorator.py
Last active Nov 21, 2018
The decorator on instance method as a descriptor
View instance_method_decorator.py
import functools
class Increment(object):
def __init__(self, wrapped, delta):
self.wrapped = wrapped
self.delta = delta
def __get__(self, instance, owner=None):
method = self.wrapped.__get__(instance, owner)
@tonyseek
tonyseek / clean_code_wcc
Last active Jul 21, 2018
Remove wild control characters from files which was edited by VSCode
View clean_code_wcc
#!/usr/bin/env sh
# Clean up the control characters of documents
# See also: https://wdd.js.org/vscode-control-characters-problem.html
# https://github.com/Microsoft/vscode/issues/37114
exec find . -type f -name '*.md' -exec perl -pi -e 's/[\x{0000}\x{0001}\x{0002}\x{0003}\x{0004}\x{0005}\x{0006}\x{0007}\x{0008}\x{000b}\x{000c}\x{000d}\x{000e}\x{000f}\x{0010}\x{0011}\x{0012}\x{0013}\x{0014}\x{0015}\x{0016}\x{0017}\x{0018}\x{0019}\x{001a}\x{001b}\x{001c}\x{001d}\x{001e}\x{001f}\x{001c}\x{007f}]//gm' {} +
@tonyseek
tonyseek / mysql-backup.sh
Last active May 28, 2018
Perform MySQL incremental backup with Percona XtraBackup
View mysql-backup.sh
#!/bin/sh
set -e
MYSQL_USERNAME='root'
MYSQL_PASSWORD=''
MYSQL_HOST='127.0.0.1'
MYSQL_PORT='3306'
MYSQL_DATADIR='/var/lib/mysql'
@tonyseek
tonyseek / README.md
Last active Oct 28, 2017
Downgrade Sketch documents
View README.md

Downgrade Sketch Document

Why

I don't wish to buy Sketch 3 again since I bought it from MacAppStore but lost continue upgrades and 5 devices support. A old version of Sketch will be restricted from opening documents created by the new versions of Sketch.

This is a workaround for some Sketch documents which don't depend on any

@tonyseek
tonyseek / android-captive.sh
Last active Jun 4, 2022
Overrides the captive portal settings of Android in the People's Republic China Mainland
View android-captive.sh
#!/usr/bin/env sh
adb shell settings put global captive_portal_fallback_url http://g.cn/generate_204
adb shell settings put global captive_portal_http_url http://www.google.cn/generate_204
adb shell settings put global captive_portal_https_url https://www.google.cn/generate_204
adb shell settings put global captive_portal_other_fallback_urls http://www.qualcomm.cn/generate_204
View namedtuple.py
import operator
class Node(tuple):
path = property(operator.itemgetter(0))
data = property(operator.itemgetter(1))
stat = property(operator.itemgetter(2))
View zookeeper_monitor.py
"""
ZooKeeper Monitor
=================
This is a simple script to monitor ZooKeeper node by "mntr" command. The
command response will be collected to the statsd server.
"""
import argparse
import logging