anchor.diff:  
   -export([start_link/0]).
   
  -%-export([key2str/1,flush/0]). %% export for debugging 
  +%-export([key2str/1,flush/0]). %% export for debugging
   
   -export([
            code_change/3,
  
positive.code:     end.
  
  % this string munging is damn ugly compared to javascript :(
  key2str(K) when is_atom(K) -> 
      atom_to_list(K);
  key2str(K) when is_binary(K) -> 
      key2str(binary_to_list(K));
  key2str(K) when is_list(K) ->
      {ok, R1} = re:compile("\\s+"),
  
negative.code:     {ok, FlushIntervalMs} = application:get_env(estatsd, flush_interval),
      {ok, GraphiteHost} = application:get_env(estatsd, graphite_host),
      {ok, GraphitePort} = application:get_env(estatsd, graphite_port),
      error_logger:info_msg("estatsd will flush stats to ~p:~w every ~wms\n",
                            [ GraphiteHost, GraphitePort, FlushIntervalMs ]),
      ets:new(statsd, [named_table, set]),
      %% Flush out stats to graphite periodically
  