Skip to content

Instantly share code, notes, and snippets.

View LiutongZhou's full-sized avatar
🏠
Working

Liutong Zhou LiutongZhou

🏠
Working
  • Apple
  • New York
View GitHub Profile
@LiutongZhou
LiutongZhou / s3client.py
Last active February 8, 2022 02:39
S3Client
# Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: LicenseRef-.amazon.com.-AmznSL-1.0
# Licensed under the Amazon Software License http://aws.amazon.com/asl/
"""S3 Client
A helper class which wraps boto3's s3 service
"""
__author__ = "Liutong Zhou"
import functools
from typing import Any, Mapping
def singleton(cls):
'''a class decorator that wraps class definition so that only one class instance can exist'''
existing_instances = dict()
@functools.wraps(cls)
def singleton_class(*args, **kwargs):
if cls not in existing_instances:
@LiutongZhou
LiutongZhou / Remote_Jupyter.config
Last active November 18, 2019 17:30
Start Remote Jupyter on Boot
# Add to ~/.bash_aliases
alias port_forward='nohup ssh -N -f -L localhost:8889:localhost:8889 username:password@remote_server_ip'
alias remote_notebook_start='nohup ssh -f username:password@remote_server_ip "cd rne; conda activate env_name; jupyter notebook --no-browser --port=8889"; port_forward'
alias remote_notebook_stop='ssh username:password@remote_server_ip "pkill -u username jupyter"'
# Add this to crontab -e
@reboot cd /home/{username}; source ./.bashrc; ./miniconda3/envs/{env_name}/bin/jupyter-lab >> ./cronrun.log 2>&1
@LiutongZhou
LiutongZhou / install_dev_toolset.bash
Last active July 20, 2018 04:06
Development Environment Quick Setup on CentOS
sudo yum --enablerepo=extras install centos-release-scl;
sudo yum install devtoolset-7;
scl enable devtoolset-7 bash
@LiutongZhou
LiutongZhou / config.txt
Last active February 10, 2021 02:01
Useful External Tools for Pycharm
# pip install autopep8 pylint flake8 black blackcellmagic yapf
Program: autopep8
Arguments: --in-place --aggressive --aggressive $FilePath$
Working Directory: $ProjectFileDir$
Regular expression to match output:$FILE_PATH$:$LINE$:$COLUMN$:.*
Program: pylint
Arguments: "--msg-template='{abspath}:{line}: [{msg_id}({symbol}), {obj}] {msg}'" --output-format=colorized "$FilePath$"
Working directory: $ProjectFileDir$
@LiutongZhou
LiutongZhou / Customized Keyboard Shortcut for Jupyter-lab.json
Last active February 12, 2021 08:51
Keyboard Shortcut for JupyterLab
{
// For a full list of commands, refer
// https://github.com/jupyterlab/jupyterlab/blob/master/packages/notebook-extension/src/index.ts
"shortcuts":[
{
"command":"notebook:run-all-above",
"keys":[
"F5"
],
"selector":".jp-Notebook:focus"
@LiutongZhou
LiutongZhou / git_tips.md
Last active January 26, 2024 13:38
Git Tips
  1. Squash commits into a single commit and rebase feature branch onto upstream/develop

    git fetch upstream && git rebase -i $(git merge-base feature_name upstream/develop)
  2. Cleanup git repository aggressively

    use bfg https://rtyley.github.io/bfg-repo-cleaner/

    java -jar bfg.jar --delete-files your_unwanted_files