Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time

The Magic of Custom Event Emitters.

Or I Sure Am Glad We Didn't Settle With Bumpy Stone Ovals.


"Reinventing the wheel" is often used derogatorily, dismissing a piece of software as useless because it's not novel. That is silly. There are many types of wheels! While it's better to reuse a stock part, something others have put a million miles on, it is not worth building a kludge of an adaptor to fit a motorcycle while on your bicycle, when you could have a bespoke custom one off wheel that does exactly what you need.

We are going to reinvent some wheels, in this case custom event emitters that enable their own interesting abilities and patterns. Event emitters let you flexibly decouple parts of your system, and control how they are tied together. Existing event emitters let you do this according to someone else's rules, but let's see what happens if you let loose and invent your own.

This talk will have lots of live coding, with some audience participation.

##Speaker Bio

Nick is a JavaScript nerd. When he isn't at his day job as a JavaScript agent engineer at New Relic, he is helping friends with their node projects, or giving his opinions about JavaScript to unsuspecting passers by. His wife Janice doesn't care about the perils of a large API surface, and while his 6 month old son Felix likes to pair program with him, he is a keyboard hog and won't write tests.