awesome-mad-science
awesome-mad-science copied to clipboard
Delightful npm packages that make you say "wow, didn't know that was possible!"
Awesome Mad Science
Delightful npm packages that make you say "wow, didn't know that was possible!" PRs welcome!
peer-to-peer
- peerwiki - all of wikipedia on bittorrent
- simple-peer - send video/voice/data p2p in the browser (with webrtc)
- torrent-docker - realtime boot of remote docker images over bittorrent
- torrent-mount - mount a torrent as a filesystem
- webtorrent - streaming torrent client for node & the browser
browserify
-
brfs - turn
fs.readFileSync()
calls into inlined static assets - browser field spec - replace certain files/modules when a module is bundled for the browser
-
browserify - use
require()
in the browser - glslify - npm modules compiled into WebGL shaders
- webworkify - composable web workers for browserify
files
- file-type - detect file content types by checking their magic numbers
- fuse4js - write filesystem driver in js
geometry
- alpha-shape - any dimensional alpha shapes (think "concave" hull)
- box-intersect - fast any dimensional box intersection detection
- convex-hull - robust any dimensional convex hull
- delaunay-triangulate - robust any dimensional delaunay triangulation
- surface-nets - extracts level sets in any dimension
- voronoi-diagram - any dimensional voronoi diagrams
- voxelize - voxelize a mesh
hardware
- cylon - command robots, devices, and more from node
images
- indico.io - facial emotion recognition and facial feature extraction
- trackingjs - computer vision on the web
sound
- doppler - detect motion with the doppler effect using only the microphone and speakers
- speak.js - text-to-speech on the web
streams
- strip-html - strip html from a stream
text
- diff - show text differences
- franc - detect the language of text
- indico.io - political sentiment analysis
- node-tesseract - A simple wrapper for the Tesseract OCR package
- normit - Google translate text & speak it
- ocrad.js - OCR in Javascript via Emscripten
- pullquoter - pull interesting quotes out of an article
- sbd - split text into sentences
- sentiment - basic sentiment analysis
terminal
- minimist - simple argument parser
- progress - create a simple terminal progress bar
- terminal-menu - create retro terminal menus
- vantage.js - CLI + SSH + REPL for Node
- cash - Cross-platform Linux commands in pure ES6
virtual machines
- jsemu - A list of emulators written in the JavaScript
- jslinux - x86 emulator for running Linux, written in JavaScript
- jvm - java virtual machine in pure node.js
- doppio - actively updated jvm in node.js, written in TypeScript
misc
- bell.js - real-time anomalies detection for periodic time series.
- bitcoinjs-lib - bitcoin client for node & the browser
- fastparallel - zero overhead parallel function calls
- google-distance - calculate travel distance between two locations on earth using Google Maps' API
- qr-image - generate QR codes
meta-programming
- notevil - javascript javascript interpreter, useful for running untrusted code safely.
mad scientists (people)
- Mikola Lysenko - linear algebra, computational geometry, WebGL
- Dominic Tarr - streams, distributed systems
- Elijah Insua - NC machines, CAD/CAM
- Mathias Buus - torrents in node, fuse bindings, data replication
- Feross Aboukhadijeh - webtorrent, bittorrent, p2p hacks
- Max Ogden - streams, voxels, data replication
License
To the extent possible under law, Feross Aboukhadijeh has waived all copyright and related or neighboring rights to this work.