Skip to content

Commit

Permalink
Updating readme to point to Bridgewater user
Browse files Browse the repository at this point in the history
  • Loading branch information
KenCoder committed Mar 13, 2013
1 parent 7087dfa commit 4d1dd4f
Show file tree
Hide file tree
Showing 138 changed files with 1 addition and 17,269 deletions.
21 changes: 0 additions & 21 deletions LICENSE

This file was deleted.

85 changes: 0 additions & 85 deletions LICENSE.ipython

This file was deleted.

95 changes: 1 addition & 94 deletions README.md
@@ -1,98 +1,5 @@
scala-notebook
==============

If you are looking here because you saw my talk proposal at nescala,
know that I am working to publish the actual, working Scala Notebook
from inside my company, where we've been developing it for the last
six months. Star the project for updates!
Scala notebook is hosted at https://github.com/Bridgewater/scala-notebook



A more friendly, browser-based interactive Scala prompt (REPL).

Based on the IPython notebook project, this project will let you interact with Scala in a browser window,
which has the following advantages over the standard REPL:

* Easy to view and edit past commands
* Commands can return HTML or images, allowing richer interactivity (charts, for example)
* Notebooks can be saved and loaded, providing a bridge between interactive REPL and classes in a project
* Supports mixing Scala expressions and markdown, letting you create rich, interactive documents similar to Mathematica

While I think this tool will be helpful for everyone using Scala, I expect it to be particularly valuable for the
scientific and analytics community.

Technically, my vision is as follows:

First, leverage the work of the IPython project by pretty much using their front-end as-is, at least as a starting point.
If you're going to work on this, you should clone IPython as a reference. This worked for me in Windows:
* Install Python and setuptools

* Install the ipython runtime (to easily get the dependencies)
easy_install ipython
easy_install ipython[zmq]
easy_install tornado

Now, you can run "python ipython.py notebook" from the ipython git folder.

This project is based on the IPython master branch as of around May 2012, which has a very different look from the released version at that time.

A little about how IPython works:

* Uses tornado templates to serve up the content. I chose Scalata/ssp as this is most similar to tornado
* Uses JQuery and JSon for things like loading & saving notebooks
* Uses Websockets for two-way asynchronous communication with the python kernel; which is essentially a running JVM.

Having the web server process separate from the process doing the evaluation is also important in Scala; we want to separate
the user's actions from the web server, allowing a restart of the client process.

To that end, the project is organized as follows:
* *server* is the web server
* *client* is the shim for the client process (linked into whatever client classes are available to the user)
* *common* are the classes shared by both


Okay, You're Going To Need Some Stuff
-------------------------------

* Checkout this project
* You're going to need sbt. These instructions are for Mac because I'm on a Mac.
* Install homebrew (its website is prettier than macports)
https://github.com/mxcl/homebrew/wiki/installation
* Install sbt. At Terminal, type:

`brew install sbt`
* You'll need the gen-idea plugin for SBT. It creates IntelliJ project files that go along with the SBT project automatically.

* Create the file: `~/.sbt/plugins/build.sbt`
* Add this line into it:
`addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.0.0")`
* Go to the root of where you checked it out and type:

`sbt gen-idea`
* Now you can open the project in IntelliJ

To run this bad boy:

1. Go to root folder
2. Fire up sbt
`sbt`
3. Once sbt sarts:

`> projects`

will list all the projects (you should see client, server, etc.)
4. Start the server. Select the server project:

`> project server`

and run:

`> run`

The notebook management page should pop up. You can create a new notebook and start playing!

17 changes: 0 additions & 17 deletions client/build.sbt

This file was deleted.

12 changes: 0 additions & 12 deletions client/src/main/resources/application.conf

This file was deleted.

46 changes: 0 additions & 46 deletions client/src/main/scala/NotebookClient.scala

This file was deleted.

66 changes: 0 additions & 66 deletions client/src/main/scala/NotebookKernel.scala

This file was deleted.

0 comments on commit 4d1dd4f

Please sign in to comment.