All Projects → kgryte → talks-nodejs-interactive-2015

kgryte / talks-nodejs-interactive-2015

Licence: MIT license
Talk for Node.js Interactive (2015).

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects
Makefile
30231 projects

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].