Hacker News new | past | comments | ask | show | jobs | submit login

Morespecifically, does anybody know of an attempt to do something similar in JavaScript (and ideally, languages that compile to it)? Having a notebook that could be entirely handled client side in a browser would be incredible.



TiddlyWiki is pretty near: http://tiddlywiki.com.

(the IPython Notebook is utterly, utterly wonderful. It's the first digital lab notebook worth a damn for data scientists.)


What type of work would you do with that? Are there any libraries available for real data analysis with JavaScript?


There are a few rather immature ones, but you can do a lot more with a notebook than just data analysis.

I often need to do calculations involving many parameters, and there are three important considerations I usually have to deal with:

1. I'm probably going to want to tweak the parameters.

2. The calculation is going to be difficult to express as a succinct equation.

3. I may want to look back over the result later.

Using an ordinary calculator is cumbersome because of 1 and 2, and doesn't satisfy 3. AN alternative is to use an ordinary interactive shell to put everything together, which helps with 2, but still makes for a lot of work on 1 and doesn't fix 3.

Writing a whole program to do the calculation is an improvement because it fixes 1 and 2, and it helps with 3 because I can leave myself lots of comments. I've found literate CoffeeScript to be very effective here (you can even turn it into a nice webpage to share your math with others), but there are still some drawbacks. The results are not interleaved with the code, so when I look back over it, it's not easy to check my work and debug. The workflow also leaves a bit to be desired. You can't, for example, quickly play with a small snippet as you're working through your thoughts.

A notebook, on the other hand, elegantly handles all of these considerations. I can use markdown to create a nice article for my future self explaining all of my calculations, have comments, code, and results all next to each other, and tweak parameters on the fly.

Yet I still find myself using literate CoffeeScript instead. And the main reason for that is that whenever I use Python, I constantly wish that I was using CoffeeScript instead.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: