Would love to hear some feedback.
How do you define inactivity? If I do
$ nohup ./computational_intense_and_runs_for_100_hours.py &
Do you just kill the process (or stop the container)? In essence Jupyter is a graphical rich shell, so you providing free *nix machines - don't underestimate how this feature can be exploited (e.g. CoCalc limits at least internet access for free instances).
Second, yes. The container will be killed after 10min unless we keep detecting activity of your user in the platform. So, basically the rule is: If we don't detect user's activity after 10mins we kill all containers for that user.
You could hack this by doing periodical requests to the API to simulate activity, but at some point your JWT will be expired and requests will start failing.
In any case, other students won't be affected at all by the appropriate usage and we will end up banning your account at some point when we detect it.
We also limit the amount of parallel running containers to avoid unlimited containers running at the same time.
Do you see any drawbacks on this implementation? Happy to hear about possible improvements.
Oh no, you make it sound like this is a good thing. It only means I can't take you serious.
Don't make it free. That is not a feature for a computation environment, it will only cause headaches on your side and people get wrong (bad) impression about the performance (assuming free accounts get some limited shared instances).
I rather pay a monthly fee for a good application, than a pseudo free instance, where you get limited resources. Do you have your credits forever?
* We added a way for students to present their projects / analysis in an static blog-looking version of their notebooks. Here's an example: https://notebooks.ai/martinzugnoni/how-to-trade-bitcoin-with...
They can share that version with classmates, and classmates can "fork" the project and do their own changes to it.
* Also, we added a custom JupyterLab extension called "solutions" that allow the teacher to mark certains parts of the notebooks as assignment solution and it will be hidden for the student until they decide to reveal it. Here's how it works:
We now have the ability to keep adding educational relates stuff to it, without depending on Google or Microsoft, that are not focussed on this space.