self-learning github notes