Subscribe to our Erlang Factory newsletter to receive the latest updates and news

Paul J. Davis
Accidental creator of Emonk
New England Biolabs

Paul is bioinformatics programmer working in parasitology at New England Biolabs in Ipswich, MA. Before that he was working on hardware control and various image algorithms for a live-cell imaging platform at the University of Iowa. He's been a committer to Apache CouchDB since early 2009 and hacking Erlang since 2008. He accidentally rewrote erlang_js as Emonk in 2010 as part of an effort to port CouchDB to iOS.

Paul J. Davis is Giving the Following Talks
From zero to Emonk, the power of NIF's

NIF's are the bees' knees. We've seen how concise a NIF can be for communicating with C but this talk will focus on the various facilities that exist for making large and complicated NIF's exist peacefully within the Erlang VM. There will be examples of using resources, threading, and arbitrary message passing to communicate back to Erlang. Emonk is a binding to the Spidermonkey JavaScript VM and will be used as an example of how these features can be combined to create a non-trivial NIF.

Target Audience: Anyone interested in learning the more advanced NIF API's for creating custom resource types, message passing, and moving terms between threads.

Talk Objective: The audience should leave with a thorough understanding of the advanced NIF APIs and their usage. We will also demonstrate how these APIs can be combined to write a non-trivial NIF that is capable of integrating an entire JavaScript VM into Erlang.