<commit_before>A JavaScript library all about workers. Workers should make your life easier not harder and with communistjs launching a new worker is as simple as calling a function, and it works the same across all (modern) browsers.

How easy? `var worker = cw(myFunc)` creates a worker, send it data with `var response = worker.data(YOUR DATA);`, response is a [promise](http://blogs.msdn.com/b/ie/archive/2011/09/11/asynchronous-programming-in-javascript-with-promises.aspx). It's that easy, read bellow for the full API and examples.

Want to use it? Grab the [development version](https://raw.github.com/calvinmetcalf/communist/master/dist/communist.js) or [production version](https://raw.github.com/calvinmetcalf/communist/master/dist/communist.min.js) from the dist folder. 

For usage checkout the <a class='navLink' id='API' href='API.md'>API page</a>, read a [blog posts](http://cwmma.tumblr.com/post/54338607071/making-web-workers-with-communistjs), see the <a class='navLink' id='CHANGELOG' href='CHANGELOG.md'>changelog</a> or browse a few demos:

- [Parsing a dictionary](http://communistjs.com/website/dict/)
- [Fractal Map](http://communistjs.com/website/leaflet-fractal/), (April Mozilla Dev Derby [Finalist](https://hacks.mozilla.org/2013/06/announcing-the-winners-of-the-april-2013-dev-derby/))
- [RTree Bounding Boxes](http://leaflet-extras.github.io/RTree/examples/worker.html)
- [Census Visualization](http://data-otp.rhcloud.com/)
- [Vector Map Tiles](http://calvinmetcalf.github.io/vector-layers/)
- [Unzipping files and reprojecting maps](http://calvinmetcalf.github.io/shapefile-js/proj.html)


__Important:__ the file communist.js or communist.min.js should be a stand alone file hosted on the same domain as your web page, if you can't or need to bundle communist but you need it to work on IE10, Opera, and Safari. You have to host the file "SHIM_WORKER.js" on the same domain as the html file 
and set the path to it in a global variable `SHIM_WORKER_PATH` before you load communist.

[![Selenium Test Status](https://saucelabs.com/browser-matrix/calvinmetcalf.svg)](https://saucelabs.com/u/calvinmetcalf)
<commit_msg>reworded the readme<commit_after>A JavaScript library all about workers. Workers should make your life easier not 
harder and with communistjs launching a new worker is as simple as calling a 
function, and it works the same across all (modern) browsers.

How easy? `var worker = cw(myFunc)` creates a worker, send it data with 
`var response = worker.data(YOUR DATA);`, response is a
[promise](http://blogs.msdn.com/b/ie/archive/2011/09/11/asynchronous-programming-in-javascript-with-promises.aspx).
It's that easy, for more in depth usage checkout the examples bellow or the 
<a class='navLink' id='API' href='API.md'>API page</a>.

Want to use it? Grab the 
[development version](https://raw.github.com/calvinmetcalf/communist/master/dist/communist.js)
or [production version](https://raw.github.com/calvinmetcalf/communist/master/dist/communist.min.js) from the dist folder. 

For usage in addition to the <a class='navLink' id='API' href='API.md'>API page</a>,
I wrote a [blog posts](http://cwmma.tumblr.com/post/54338607071/making-web-workers-with-communistjs)
about communist, or you can browse some demos:

- [Parsing a dictionary](http://communistjs.com/website/dict/)
- [Fractal Map](http://communistjs.com/website/leaflet-fractal/), (April Mozilla Dev Derby [Finalist](https://hacks.mozilla.org/2013/06/announcing-the-winners-of-the-april-2013-dev-derby/))
- [RTree Bounding Boxes](http://leaflet-extras.github.io/RTree/examples/worker.html)
- [Census Visualization](http://data-otp.rhcloud.com/)
- [Vector Map Tiles](http://calvinmetcalf.github.io/vector-layers/)
- [Unzipping files and reprojecting maps](http://calvinmetcalf.github.io/shapefile-js/proj.html)

Updates and changes are all in the <a class='navLink' id='CHANGELOG' href='CHANGELOG.md'>changelog</a>.

__Important:__ the file communist.js or communist.min.js should be a stand alone file hosted on the same domain as your web page, if you can't or need to bundle communist but you need it to work on IE10, Opera, and Safari. You have to host the file "SHIM_WORKER.js" on the same domain as the html file 
and set the path to it in a global variable `SHIM_WORKER_PATH` before you load communist.

[![Selenium Test Status](https://saucelabs.com/browser-matrix/calvinmetcalf.svg)](https://saucelabs.com/u/calvinmetcalf)

{'fraction_non_alphanumeric': 0.126012601260126, 'fraction_numerical': 0.01395139513951395, 'mean_word_length': 4.895225464190982, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 10, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6129642', 'n_tokens_mistral': 1535, 'n_tokens_neox': 1428, 'n_words': 427}