This document discusses Yatce, a binding between Erlang and Tokyo Cabinet that allows Erlang programs to access Tokyo Cabinet databases. Yatce uses a linked-in driver approach where a C process communicates with Erlang like a process. This avoids failures separating processes and allows for message passing between Erlang and C. Yatce improved on previous TC-Erlang bindings by using port_control instead of port_command and an interface based on Tokyo Cabinet IDL. With Erlang R13B03, native interface functions were introduced that allow C code to run inside the Erlang virtual machine for faster performance than a linked-in driver.