This is mighty awesome. I’ve put together some test demos, to run them you’ll first need to get this Chromium build: 47357 WIN32 47357 MAC 47357 32-Bit Linux 47357 32-Bit Linux Then download these: https://gist.github.com/415116 client.html <script src="event-source.js"></script>; event-source.js document.addEventListener('DOMContentLoaded', function () { var eventSrc = new EventSource('events.php'); eventSrc.addEventListener('open', function (event) { console.log(event.type); }); eventSrc.addEventListener('message', […]

Tagged:

After updating to Chrome 5 (specifically 5.0.375.55) last night I immediately ran some tests to see if the Web Worker API had been updated to support postMessage() arguments of types other than string. Turns out, it had. Here’s the test, plus the results: https://gist.github.com/414901 renderer.html <script src="renderer.js"></script> renderer.js var worker = new Worker('worker.js'); worker.addEventListener('message', function […]

Tagged:

I’m a jQuery enthusiast. Maybe even an evangelist. So I decided to make workers easy for my fellow jQuery developers – and thus was born the jQuery.Hive. Inititally it began it’s life as PollenJS a jQuery-looking library of functions that were light, useful and thread-safe. This was before the WebKit implementation existed so everything was […]

Tagged:

As I mentioned in Part I, the Web Worker API is available for use in Firefox 3.5+, Safari 4+ and Chrome 4+, however the implementations are inconsistant. This has been completely overlooked by every single tutorial I’ve found. The issue revolves around the accepted argument to postMessage() (from both the main window and the worker). […]

Tagged:

This is long overdue. Also, it should serve as a context for my slides from jQuery Conference, San Francisco 2010 (use the up and down arrow keys to navigate). Whether or not you’ve read the WHATWG Web Worker spec and are looking for more information about Javascript multi threading OR you already have a rudimentary […]

Tagged:

The Publish Subscribe or pub/sub pattern is used to logically decouple object(s) that generate an event, and object(s) that act on it. It is a useful pattern for object oriented development in general and especially useful when developing asynchronous Javascript applications. This post explores its implementation in jQuery. The Dojo javascript framework provides an explicit […]

Tagged:

For those with short attention spans, here’s how you call the function: map(enumerable, mapFunction, callback, numWorkers); I wanted an easy way to divide up a parallelizable task with Web Workers, so I create a Worker enabled Map function for arrays and objects. It works just like the map function in your favorite functional languages, except […]

Tagged:

We are exploring the possibility of developing a workshop to help high-school students solidify their knowledge of core mathematical concepts using a computer to write Javascript code. The best way for a student to demonstrate and reinforce knowledge of mathematical concepts is to be able to teach them or explain them to another person. We […]

Tagged:

If you’re interested in parametric or generative design (the terminology doesn’t seem to be well standardized) you have probably run into Voronoi diagrams and their cousins, Delaunay triangulations. The latter can be used to make concave hulls given an input point set, a construction which is called an Alpha Shape. Jim Clarkson wrote a great […]

Tagged:

How to find the height of a triangle in JavaScript if you only have the 3 vertexes/points of the triangle. Assuming that XY are the top of your triangle, and X1Y1, X2Y2 are the other two points, you can find the height of the triangle using Pythagorean theorem. This method works for Isosceles or Equilateral […]

Tagged: