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 / 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 / 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 / sampling.py
Created February 9, 2021 05:48
Time-and-Space-Efficient Sampling Methods
""" Time-and-Space-Efficient Sampling Methods"""
from typing import Iterable
from random import random, randint, seed
from math import exp, log, floor
from itertools import islice
__author__ = "Liutong Zhou"
def take(iterable, n: int) -> list:
@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 / bitmask.py
Last active February 6, 2022 04:57
BitMask
"""BitMask"""
class BitMask:
__slots__ = ("size", "mask")
def __init__(self, size: int = 16):
"""Create a bit mask to store (size) 0/1 status"""
self.size = size
self.mask = 1 << size
@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"
"""UnionFind (Disjoint Sets)"""
from typing import Optional, Iterable, Hashable, Any
class UnionFind:
def __init__(
self, initial_disjoint_items: Optional[Iterable[Hashable]] = None
):
"""Initialize a UnionFind of disjoint sets"""
@LiutongZhou
LiutongZhou / heap.py
Last active June 6, 2022 01:08
Priority queues
"""MinHeap and MaxHeap (Optimized Implementation)"""
from abc import ABC, abstractmethod
from collections import Counter, UserList
from functools import singledispatchmethod
from heapq import (
_heapify_max,
_heappop_max,
_heapreplace_max,
_siftdown,
_siftdown_max,
@LiutongZhou
LiutongZhou / document_project.md
Last active August 18, 2022 19:52
Document a Project

How to document a project

How to update the docs and publish to the Home Page?

Prerequisites One-time installation of dependencies
python3 -m pip install -U jupyter-book ghp-import