<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <tt>Hi, <br>
      <br>
      I just got interested in the possibility of getting ipython html
      notebook server on the various Platform as a Service (PaaS) ideas
      out there: Openshift, dotcloud, heroku, appfog etc. I was
      interested in seeing if I could get people to try out my other
      python projects&nbsp; [energy economics modeling] without having to
      take the trouble of downloading and compiling a lot of different
      packages. I would put everything required on one of these free
      PaaS services and have them try it out via the ipython notebook
      interface. <br>
      <br>
      Carl Smith's&nbsp; notebookcloud </tt><tt>
      <meta http-equiv="content-type" content="text/html;
        charset=ISO-8859-1">
      <a href="https://github.com/carlsmith">(http://github.com/carlsmith</a>)
      was another inspiration. The PaaS approach is a baby version of&nbsp;
      the AMI approach of notebookcloud. I let the PaaS vendors take
      care of the building and maintaining the AWS infrastructure. It
      also happens to be completely free for small applications.<br>
      <br>
      <br>
      Most of the Paas services do not support websockets and and often
      expect only wsgi compliant python web servers. Only&nbsp; dotcloud
      (<a class="moz-txt-link-freetext" href="http://www.dotcloud.com/">http://www.dotcloud.com/</a>) seems to work for now with tornado and
      websockets. See </tt><tt>
      <meta http-equiv="content-type" content="text/html;
        charset=ISO-8859-1">
      <a href="https://github.com/shoibalc/ipynbserver-dotcloud">http://github.com/shoibalc/ipynbserver-dotcloud</a>.<br>
      <br>
      <br>
      I am still concerned about security implications of the notebook
      server. Ideally, I would like&nbsp; the following:<br>
      <br>
      1. Let anybody login with a login/passwd or the various
      authentication services.<br>
      2. Give them a secure walled-in temporary directory to work in,
      with restricted shell function access.<br>
      3. Limit resources they use (memory, CPU load etc) and
      automatically log them out if the violate this. <br>
      4. Limit sessions to xx minutes.<br>
      5. Set up a parallel database service for authentication and to
      let users save their notebooks etc. (eg, MongoDB uses json as
      storage)<br>
      <br>
      Which of these would be easily feasible? Especially point 2. Sage
      seems to create (and later destroy) a temporary working directory
      for each cell&nbsp; and severely limits shell access. One directory per
      login with limited outside access might be better.<br>
      <br>
      Please let me know what ideas/suggestions you have. Thanks a lot
      for ipython!<br>
      <br>
      -Shoibal.<br>
      <br>
    </tt>
  </body>
</html>