anchor.diff:  
       Conf1 = [{suffix, TapSuffix} | Conf],
   
  +    Conf2 = case proplists:get_value(username, Conf1) of
  +                undefined ->
  +                    Conf1;
  +                _ ->
  +                    io:format("Reading password from stdin~n"),
  +                    Pwd0 = case file:read_line(standard_io) of
  +                               eof -> "";
  +                               {ok, Pwd0V} ->
  +                                   Pwd0V
  +                           end,
  +                    Pwd = case lists:reverse(Pwd0) of
  +                              [$\n | RevPrefix] ->
  +                                  lists:reverse(RevPrefix);
  +                              _ ->
  +                                  Pwd0
  +                          end,
  +                    [{password, Pwd} | Conf1]
  +            end,
  +
       case {Host, Dest, VBuckets} of
           {undefined, _, _} ->
               io:format("You need to specify the host to migrate data from~n");
  
positive.code: parse([], Acc) ->
      Acc;
  
  parse(["-V" | Rest], Acc) ->
      parse(Rest, [{takeover, true} | Acc]);
  parse(["-v" | Rest], Acc) ->
  
negative.code:     [Host, Port] = string:tokens(Server, ":"),
      {Host, list_to_integer(Port)}.
  
  setup_logging(Verbose) ->
      LogLevel =
          case Verbose of
              true ->
                  application:start(sasl),
                  debug;
              _ -> warn
          end,
      {ok, _Pid} = ale_sup:start_link(),
  
      ok = ale:start_sink(stderr, ale_stderr_sink, []),
  
      lists:foreach(
        fun (Logger) ->
                ok = ale:start_logger(Logger, LogLevel),
                ok = ale:add_sink(Logger, stderr)
        end,
        ?LOGGERS),
      ale:sync_changes(infinity).
  
  
  %% @doc
  run(Conf) ->
      process_flag(trap_exit, true),
  
      setup_logging(proplists:get_value(verbose, Conf)),
  
      Host = proplists:get_value(host, Conf),
      Dest = proplists:get_value(destination, Conf),
  