# FCCI Tech: jupyter.cs
Video recording: https://www.youtube.com/watch?v=pogWj8COX4o
- Open HackMD and use it for questions and collaborative notes/guidance
- This talk is recorded, but with OBS, so that Zoom audio will not be recorded (unless I explicitely say it is). So, mainly use HackMD to communicate, but you can safely say things (I will repeat questions).
- Make a note in zulipchat when I show personal data so I can mask it later.
## User interface
- Authentication, log in
- Spawner list
- Connection to courses
- Auto-generated based on username
- Polls username (`id`, actually python's `pwd.getpwnam`)
### Student
- uids/groups
- Filesystems
- $HOME - temporary
- /notebooks
- nbgrader exchange directory - note permissions
- /coursedata
- Q: Can you copy the data from jupyter to Aalto Home easily?
- You can always rsync to kosh, but that's not necessarily "easy"
- You could probably smb mount the Aalto home?
- nvm this would probably need root
- Q: How long was the data persistend on jhnas?
- Default working directory
- Default working directory of a shell
- Kernels
- umask
- Image
- Where is this configured:
- jupyterhub_config pre_spawn_hook
- the image
### Instructor (nbgrader)
- uids/groups
- Overall, all the same as students
- Filesystems
- umask
- The nbgrader directories
- /course
- /coursedata
- exchange directory
## Course management
- What we need: uids, groups, access permissions, images
- Repo: jupyterhub-aalto-course-meta
- YAML file per course
- courses.py
- update.sh
- group management
## Image
- repository
- inheritence system
- build system
- base setup (jupyter, etc)
- specific course software
- authentication
- hooks
- problems
- Q: why philosophy of 1-2 mega images instead of multiple smaller? Is mega really easier to maintain?
## Backend
- relevant git repositories
- jupyterhub-aalto
- jupyterhub-aalto-secrets
## Test environment
## Problems/discussion
- .