JupyterHub and BinderHub Team Meeting - January#

Date: 17 January 2019 at 6pm Zurich time

Videoconference link: https://calpoly.zoom.us/my/jupyter Link to prior meeting’s virtual meeting report

Welcome to the Team Meeting#


If you are joining the team video meeting, sign in below so we know who was here. Roll call:

  • name / institution / GitHub handle

  • Zach / Cal Poly / @Zsailer

  • Tim / WTT / @betatim

  • Carol / Project Jupyter / @willingc

  • Craig Willis / NCSA / @craig-willis

  • Joe Hamman / NCAR-Pangeo / @jhamman

  • Yuvi Panda / UCB / @yuvipanda

  • Lindsey Heagy / UCB / @lheagy

  • Kacper Kowalik / NCSA / @xarthisius

  • Brian / Cal Poly / @ellisonbg

Agenda items#

Let’s collect all potential agenda items here before the start of the meeting (closing time 24h before). We will then attempt to create a coherent agenda that fits in the 60m meeting slot. If there are similar items try and group them already.

  • Resources definitions/requests by the repository creator or repository launcher, following up on December 2018 [name=@jhamman]

    • relevant issues: jupyterhub/binderhub#731, jupyterhub/binderhub#759, jupyterhub/binderhub#712

    • Relevant questions

      • What resource fields do we need?

        • Can use the Kubernetes docs as a reference (since ultimately we’ll be passing the values of these fields to k8s)

    • check if we can read docker image LABELs without pulling the image? If yes then storing resource requests in the repo and repo2docker will store it in LABELs

    • Q from Craig: Why encode things in the URL parameter, why not allow them to be encoded in the repository itself (e.g., so an author could define the resources needed for a repo to run)

      • The URL parameter stuff wouldn’t preclude this from being possible - one idea is to let authors store this in the repository, and set some kind of “defaults” in the built docker image than could be overridden by URL parameters.

  • Rust End of year thoughts/what is next style process, see https://discourse.jupyter.org/t/end-of-year-thoughts-from-the-rust-community/295/7?u=betatim

    • propose to create a post on the discourse forum asking for blogs/tweets/gists/replies for the next four(?) weeks which then get compiled into the Binder Roadmap for the next 12months. [name=@betatim]

    • When would we start this?

      • Maybe after dev meeting in March.

    • Make it clear that this is about getting input and ideas, taking the temperature, not about formal proposals and deliverables

    • How do we collect suggestions from the many different mediums?

      • Use discourse as the primary list and allow others to link to their ideas from there.

    • Reach out to the Rust community to ask for adivce on mechanics and such

      • Tim contacts Luiz Irber (Determine time to produce, resources that did the work re: paid/volunteer)

    • If you don’t have a highly structured format for such ideas, it becomes difficult to evaluate suggestions from the community. Maybe suggest a format/questions to make it easier to digest?

  • JupyterHub Helm Chart v 0.8 nearly ready to go [name=@choldgraf]

    • Has been about 7 months since last release

    • Only remaining issue is to find a list of the JupyterHub versions for each helm chart. Does anybody know this? (jupyterhub/zero-to-jupyterhub-k8s#1094)

    • Need to update the change log.

    • Anything else to be done?

  • (no need to discuss) Chris would like help putting together a “how to spot a bitcoin miner” page in the SRE guide. He opened an issue to put together a list of tips (jupyterhub/mybinder.org-deploy#879)

    • +100 Tim plans to write what he knows in the PR with the “find high CPU pods and processes”

  • (no need to discuss) Chris would like help finishing the BinderHub@NeurIPS post: https://hackmd.io/ZEVbmiWHQiOuRUQzRmjnNg?edit

  • Graphics, diagrams, drawings, “zines”

    • Tim is commissioning work to help explain what Binder is, how to use it, etc +100

    • Will probably select a small agency in Germany based on recommendations

    • They will pitch a concept mid February

    • Ideas for what kind of artefacts would be useful for the project welcome

    • Need to figure out how to integrate this into the normal GitHub based workflow. I don’t think they’ve ever worked with an open-source project like us.

      • Figma, is like sketch but web-based good for collaborating and reviewing work

    • Cool binder drawing: https://pbs.twimg.com/media/Dwe4jVdU0AA2Ss-.jpg:large

    • Apparently figma and slack paid the same design firm for their logo :-)

    • Three one pagers

      • architecture and ecosystem for JupyterHub

      • architecture and ecosystem for BinderHub

      • how does it work and ecosystem for mybinder.org

  • repo2docker.version PR check-in - Craig

    • Is there anything useful to discuss that isn’t covered on Github?

    • jupyter/repo2docker#550

    • use local repo2docker to fetch source

    • local repo2docker starts a containerised repo2docker-in-specified-version with a local directory content provider

Items added after the cut-off will be in the “bonus material” section. We will go through the ordinary agenda items first and then cover bonus items if the clock hasn’t run out.


Things people should know about.

  • Cost per student for Berkeley’s hub (of 4.5k students) is between 1$ / month / user to 2$ / month / user based on how active a student is before you consider them a ‘user’. Open (anonymized) data + cool graphs at berkeley-dsep-infra/datahub-usage-analysis. Mean daily active users is 1006 students! (Yuvi)

    • how does the cost scale if your cluster has less users?

      • if I only have 100 students, do I still only pay $1 per student or more because there are “fixed” costs

  • Yuvi working on getting Space Telescope Sciences Institute to buy out some of his time at Berkeley to focus more on JupyterHub / BinderHub

  • RStudio has explicitly granted us trademark permission on mybinder.org

Our next meeting is February 21st, 2019 at 6pm Zurich time.