node package manager


live-coding, oriented towards giving presentations about programming and showing what you mean.


require functionality is powered by live-require

There is one additional 'feature' of the interface. A magic function called require will include a javascript file by URL, on the page. Here's an example.


mistakes supports loading from GitHub Gists to help you share code better. When you see a URL like that means it's loading the gist at

It works with anyone's gists. The expectation is that gists contain a single Javascript file - you can add a README too if you give it a file extension other than .js, like if you name it


There are a few 'principles' of mistakes:

Mistakes does not do magic. There is no complicated code compilation or parsing - it's just eval. See the incremental eval module, which powers this part of mistakes. What works in Javascript works in mistakes. Therefore, there's very little code - less than 200 sloc if you don't count CodeMirror, the editor component.


There are three rules of presenting:

  1. Never ever rely on the internet for a presentation.
  2. Always have a VGA adapter at all times.
  3. Only present about things you're interested in.

Mistakes now helps with #1. Instead of counting on GitHub Gists for samples when giving a live presentation, clone (or download) this repository and drop Javascript files in the local/ directory. I've included equals.js in there as an example.

Then boot up a server, and go to http://localhost:3000/#yourfile.js or whatever.

Developing Locally

Clone this repo and run npm install && npm start

See Also