[IPython-User] ipython notebook server experience

Moritz Emanuel Beber moritz.beber@gmail....
Thu Jul 12 02:02:49 CDT 2012


just to chime in since I had a little classroom experience as well:

On 07/11/2012 05:56 PM, Skipper Seabold wrote:
> On Wed, Jul 11, 2012 at 11:36 AM, Matthias BUSSONNIER 
> <bussonniermatthias@gmail.com <mailto:bussonniermatthias@gmail.com>> 
> wrote:
>     Le 11 juil. 2012 à 16:08, Skipper Seabold a écrit :
>>     Hi,
>>     I had my first experience using the IPython notebook server in a
>>     classroom setting this week. The students mostly liked it, but I'm
>>     afraid they were mostly Python novices and I may have learned more
>>     than they did. In any case, I'm hooked and see many possibilities.
>>     Great work.
>     Thanks for your kind words and your feedback.
>>     I'm curious about a couple of things. Is the same notebook
>>     intended to
>>     be run by multiple users connected to the same server?
>     We plan on having simultaneous user being able to edit the same
>     notebook at the same time,
>     probably with a per-cell lock.
>>     Would it make sense to have an option for copy-on-open that could
>>     be set in global
>>     settings with the default to the current behavior?
>     I don't really see the reason why, or not enough people will have
>     the use of it.
>     In the end we might allow to create a new notebook from an URL,
>     otherwise,
>     you just have to open a notebook and create a copy from the file menu.
> Well my thinking is that with this set to copy on open/write, when 
> each user opens the notebook, it is no longer the same notebook. It is 
> now theirs. IIUC, with the cell locks, you would have users editing 
> the same file, just not overwriting each others changes?

My solution was to create an account for each student, copy classroom 
material into their home directory, and start a password protected 
notebook server for each of them. All done automatically on linux with 
this script https://github.com/Midnighter/Notebooks-Launcher

>>     Relatedly and i don't know if this make sense, but is it possible
>>     to have these copied
>>     notebooks not show up in the directory ?
>>     Ie., I have a set of examples
>>     that can serve as templates, but no one is interested in seeing the
>>     copies of others or new files created by others in the list.
>     All this is related to multiuser capability, but in your case (and
>     generally with multi user), you wish to have
>     user isolated in their home. Which is not the case right now.
> Right. I give the whole server a scratch environment with limited 
> privileges.
>     Trying to get around with invisible files and so on is IMHO the
>     wrong way to solve
>     a bigger problem of multi-user on the same *server*. If you really
>     want copy on write
>     notebooks, it might be doable later when we'll have the possibly
>     of choosing a backend to store
>     the notebooks (PR in Progress), but I doubt this particular
>     backend will be implemented by us.
>     You might want to have a look at nbcloud[1], which run the IPython
>     notebook an amazon EC2.
>     With this each of your student will have its own notebook instance
>     in its own Vm in the cloud.
>     You could provide a small first notebook that download more
>     notebooks in the current directory if needed.
> Thanks I've seen this, though it's not exactly what I have in mind. 
> I'd prefer to maintain my own server. Devil's advocate here: It seems 
> like to me, and maybe I'm just totally misunderstanding, but a 
> notebook server that only serves well for one person is a bit of a 
> misnomer. Why wouldn't I just provide different user accounts where 
> people could SSH into the box with their own account and run the 
> qt-console?
>>     I also saw fairly poor performance due to our server. I currently
>>     only
>>     have two virtual processors allocated on this machine. I'm curious
>>     what others have found to be satisfactory for notebook servers (or
>>     similar endeavors) with say 10-30 concurrent users. I can request
>>     more
>>     resources.
>     As the notebook run as a particular user and there is non
>     privileges separation, I doubt you'll find
>     30 person sharing the same account.
> With nbcloud? Currently, I do have 30 people logged in to a single box 
> with the server being run by a single account.
>     As for your resources problem, amazon EC2 is free for the first
>     hundreds of hour I think[2], so your student can
>     each get an account and could mess around without impacting others
>     performances.
>>     The last thing I noticed is that the Clusters tab seemed to start and
>>     assign processes on its own. At least none of the students owned
>>     up to
>>     setting 100 processes and clicking start. Expected? Ghost in the
>>     machine? Or sneaky student?
>     We never had any issues report on this,
>     and the code is pretty strait forward,
>     so my guess is the second one.
>     Also, in my opinion, it would be great to have the first
>     impressions from your students.
>     Things that might look obvious from our point of view might not
>     make sense at all to new user.
>     So don't hesitate if you have more feedback.
> As I mentioned most of them had very little Python background. As is 
> often the case, I think they took to it faster than I did to be 
> honest, since I have more set ideas and context.
>     Thanks again.
>     -- 
>     Matthias
>     [1] nbcloud : https://notebookcloud.appspot.com/login
>     [2] EC2 free : http://aws.amazon.com/fr/ec2/#pricing
>     _______________________________________________
>     IPython-User mailing list
>     IPython-User@scipy.org <mailto:IPython-User@scipy.org>
>     http://mail.scipy.org/mailman/listinfo/ipython-user
> _______________________________________________
> IPython-User mailing list
> IPython-User@scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-user

I would like to change my script in a way that it sets up the accounts 
on one machine but that the notebook servers that I start connect to a 
remote cluster of ipython kernels so as not to overtax that one machine. 
I lack the knowledge as to whether that is actually possible but with 
your need as motivation and help by the awesome ipython folks I can work 
on this.

Would that be a suitable scenario for you?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/ipython-user/attachments/20120712/78b35801/attachment-0001.html 

More information about the IPython-User mailing list