Chapter 1: Survival essentials
This chapter will contain essential information you need to survive in this lab.
Feel free to supplement this doc.
Create your own virtual machine
Create your own VM
Currently, 45.52.27.89 has PVE(Proxmox Virtual Environment) installed, which can isolate CPU and storage resources through virtualization. Each users can create independent VM instances which won't interfere with each other. Additionally, if the operating system becomes corrupted, user can maintain them via the PVE interface without affecting the host system.
Quick Start
If you have no requirements for resource isolation or distributed environments, you can directly connect to a pre-configured public machine via the below jump server. This user has root privileges and you can add users as needed.
First, generate SSH Key if none exists:
ssh-keygen -t ed25519 # Press Enter to accept default settings
Then edit
Host aliyun-jump
HostName 106.14.192.92
User jump
Port 10092
Host ubuntu-dev
User ubuntu # Password is eWNjc2IK
HostName 10.10.10.102
ProxyJump aliyun-jump
ssh-copy-id -i ~/.ssh/xxx.pub aliyun-jump # Password is ZWdndGFydAo=
Now you can login via ssh ubuntu-dev. After that, you can create your own user and login with the same way.
Create new VM
Well, if you need to create your own VM, please read the following guide.
First, login into PVE. The username and password are
Click the "Create VM" button in the upper-right corner, set the VM ID and Name (make sure that the ID does not conflict with existing ones). Then just click "Next" to finish the creation.


Debian and Ubuntu Server ISO images have been stored in local storage. To use other OS, upload them as you need.


Network Setting
Please configure networking following these settings during installation:
- Subnet:
10.10.10.0/24 - IP Address:
10.10.10.{VM_ID} - Example: For VM ID 123 →
10.10.10.123
- Example: For VM ID 123 →
- Gateway:
10.10.10.1 - Name Server:
114.114.114.114 - Search domains:
confusinglab.ecnu.edu.cn


After that, you can also login via the same jump server, remember to change the HostName and User.
Some reminder
How to Install Programs 😵💫
When installing compiled programs in a shared environment, running
If a Makefile already exists, you can also specify the installation path using
Personally, I prefer installing programs in my
GPU Configuration
🚥 TBD
Some Learning Materials
Here I list some recommened courses you can learn.
- The Missing Semester of Your CS Education: I haven't seen this before, but I still list it here.
- Operating System: While you may have no interest in systems and want to do some AI-related works, I still strongly recommend watching this course. At the very least, it can help you understand how the programs works, right?
- CMU-15/445: Well, I don't think I need to introduce this course here.
- CMU-15/721: ditto.
- mini-lsm: Build a simple key-value storage engine in a week! Written by skyzh! Using Rust! What an exciting thing!
- tiny-llm: Another project by skyzh(GOAT!), still working in progress.
- talent-plan: Nothing to say, support the current employer.
- Building a Small LLM from Scratch: A new project found recently, still updating.
- 大语言模型基础:从零到一实现之路: A new course produced by nju
Hope you can find your interests after entering the lab.
Others
Just copied from previous README.
- PostgreSQL
- The Internals of PostgreSQL
- https://www.cnblogs.com/flying-tiger/tag/postgresql/
Use copilot
How to use copilot
Sign up for Github Student package, it includes copilot individual, for free!
What can copilot do
You can use copilot to create PR.
