# 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 - .