Introducing the PiCloud Notebook
blog.picloud.com
blog.picloud.com
Every "I will teach beginner to program" site these days creates a new platform which starts with "Enter you name in quotes" ends up re-inventing the whole server-client console thing. Not every one of these platforms does a great job at it.
All you need really is an iPython notebook (which btw can also be used for alternative languages, there is a fork that runs ruby) which has alternative "markdown cells" and the "console cell".
The tech behind the whole thing is rather impressive. It uses zMQ, Tornado and can connect multiple client terminals to the given server.
This can be integrated for development with web frameworks like django/flask and can be very useful for debugging.
We aren't named PyCloud as that would imply we are solely for python, which we are not. While we have very close ties to python (namely the powerful language bindings), we support every programming language.
Similar technology already exists in the form of Sage [1]. How is this different or better?
From a business standpoint, it's great to host the running code server-side: You can measure usage and charge heavy users, and you have a decent excuse to do so (market expectation that servers resources cost money). But what advantages does this offer that client-side Python in the browser, Skulpt [2], does not?
Also, "a notebook...allows you to explore the system that a job sees...You can...Peek around the filesystem...Run non-Python programs..." I really hope each user runs in their own VM for security's sake.
The IPython notebook feature itself is comparable to other offerings. The advantage of PiCloud's offering is that it is not just a web-based python; it also is the interface to a supercomputer that you can leverage with the cloud library (http://www.picloud.com/platform/). As long as you wish to make use of that supercomputer, the notebook allows you to run an interactive interpreter on your already configured PiCloud environment.
As far as security goes, every user is run in separate LXC containers. (http://lxc.sourceforge.net/)
from the feature merge on ipython repo, it seems it may be a bug or unfinished work.
will look deeper.
I can imagine an instant evaluation aspect to this - on keyup (_.debounce'd).fireEvent('play') - an awesomely tight feedback loop, light-table-esque.
makes me excited for some better tools on their way.
Wakari is much more than just "IPython notebook in the cloud"; however, we do have great support for it. For instance, we have just recently enabled a feature which lets you host & share your IPython notebooks: http://continuum.io/blog/ipython-notebook-sharing-in-wakari
Right now Wakari is in closed beta, meaning you have to register and we manually approve accounts (which we do very quickly).
[1] http://mathics.org/ [2] http://www.mathics.net/
Disclaimer, I'm the Mathics vice developer.
[1] http://ipython.org/ipython-doc/dev/interactive/htmlnotebook