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

  • .
Select a repo