anchor.diff:  startup({connect, Host, Username, Password, Opts}, From, State) ->
       Port      = proplists:get_value(port, Opts, 5432),
       Sock_Opts = [{nodelay, true}, {active, false}, {packet, raw}, binary],
  +    Async   = proplists:get_value(async, Opts, undefined),
       case gen_tcp:connect(Host, Port, Sock_Opts) of
           {ok, Sock} ->
               Reader = spawn_link(?MODULE, read, [self(), Sock, <<>>]),
  
positive.code: to_binary(B) when is_binary(B) -> B;
  to_binary(L) when is_list(L)   -> list_to_binary(L).
  
  hex(Bin) ->
      HChar = fun(N) when N < 10 -> $0 + N;
                 (N) when N < 16 -> $W + N
  
negative.code: -include("zotonic.hrl").
  
  -record(state, {
  	     async,
            reader,
            sock,
            parameters = [],
  