Skip to content

kgryte/talks-nodejs-interactive-2015

Repository files navigation

Numeric Computing in JavaScript

Talk for Node.js Interactive (2015).

Abstract

Traditionally, if you wanted to write fast code for numeric computation, you used Fortran or C. Within the past two decades, we have seen an enormous shift toward languages which favor expressiveness over absolute speed. Much of scientific computing is now performed using dynamic, loosely typed languages, such as R or Python. Taking into account JavaScript's expressiveness, why not do your computing in Node? In this talk, I will discuss numeric computation in JavaScript, libraries currently available, and what makes these libraries competitive with and even superior to alternatives on other platforms. I will discuss how to leverage Node libraries when building P2P compute applications, culminating in a demo showcasing WebRTC and RPC over a peer network. Finally, I will outline future steps and identify opportunities for community development of next-generation tools.

Installation

$ git clone https://github.com/kgryte/talks-nodejs-interactive-2015.git

and

$ npm install

Usage

From the top-level directory,

$ python -m SimpleHTTPServer 9000

and, in your browser, navigate to

http://127.0.0.1:9000/public

Examples

Simple

$ node ./examples/simple

TCP

In one terminal,

$ DEBUG=* node ./examples/tcp/server.js

and, in another terminal,

$ DEBUG=* node ./examples/tcp/client.js

WebRTC

In one terminal,

$ DEBUG=* node ./examples/webrtc/server.js

and, in another terminal,

$ DEBUG=* node ./examples/webrtc/client.js

License

MIT license.

Copyright

Copyright © 2015. Athan Reines.