sockets..streams..character-by-character typing (idea is all @nathanmosher)