in reply to Escape characters question

\015 is equivalent to \r and \012 is sometimes equivalent to \n. The sometimes is the reason people often use the octal codes instead of the symbolic versions. Depending on a number of things I'm not quite sure about (I think the primary thing is what operating system you're using), \n can return different things (\012, \015\012, and maybe even sometimes \015). Since a goal of writing good network applications is following protocol specifications as closely as possible, some coders find the extra precision granted by using the octal codes to be worth the (imho) ugliness. I'll leave the decision up to you. 8^)

As for the last question, \r is carriage return. Think of a typewriter -- there are two distinct operations when you whack the Return key. First the paper scrolls up a little bit, then the type head returns to the far-left position. The first operation is called line feed, and the second is called carriage return (you might now understand why \r\n newlines are also called CRLF, if you've ever run into that initialism).