

Show HN: Working With TCP Sockets book - jstorimer
http://workingwithtcpsockets.com/

======
tptacek
Wasn't there a reason that EventMachine _wasn't_ pure Ruby? I remember someone
else trying to build an event library in Ruby, failing, and then yelling at
Francis Cianfrocca that EventMachine wasn't possible to build reliably under
MRI --- maybe because of greenthread timeouts? I know, this sounds like
gobbledygook even to me.

I am all for new programming books, and this one might be great, and the
author has a good reputation. But in case you're wondering: the native sockets
API hasn't changed much since Stevens wrote Unix Network Programming (are
there any major changes at all besides sendfile?); UNP is one of the all-time
great programming books. Also, you are absolutely well served by pulling down
EventMachine, following the examples, and just using EventMachine's
abstractions instead of Ruby's socket code. We virtually never use Ruby
sockets; EventMachine is better.

------
tomku
My mini-review, from about halfway through WWTCPS:

Just as in "Working with Unix Processes", Jesse really knows how to explain
things clearly and concisely, which is a rare gift among tech authors. The
frequent code examples reinforce without excessive repetition, and he smartly
limits the topic to just the socket API rather than trying to teach all of
Ruby, HTTP, low-level TCP and so on. The result is not just an effective
learning tool, but an enjoyable read as well.

I'd also like to note that rather uncommonly among programming books, both
WWUP and WWTCPS come with a version of the book in plain text format. The
plain text versions are suitable for viewing with 'less' in a terminal or
(after stripping the color codes in WWUP's case) in your favorite text editor.
It's a nice touch, the plain text book feels right at home in a tmux pane
alongside a shell or two to run the examples.

------
petercooper
I've been following Jesse on Twitter as he's worked on this book and he has
really put lots of care into making this a good book. Sadly I didn't have time
to review it yet but read his previous book in full and it was pretty good so
Jesse is the real deal :-)

~~~
pat_shaughnessy
I complete agree, Peter! I did have the chance to help proofread it for Jesse
and it's awesome - full of great info. Two thumbs up!

------
erinbrown
I'm a new Ruby developer. I came across Jesse's "Working with Unix Processes"
by chance. I thought it might be too advanced, but it was actually perfect for
even a newbie like myself.

Jesse's writing style is clear and concise, and he offers examples as to how
one might implement these in the real world. (I think most books fail in
providing examples of practical applications.)

His first book was so well-written and informative, I didn't hesitate to
purchase his new one when I saw the announcement land in my Inbox.

------
casca
If anyone is interested in understanding IP programming in the most technical
way, Stevens' Unix Network Programming (UNP) is the bible:
<http://unpbook.com/>. I've dragged mine across 3 continents over 15 years and
still refer to it regularly.

Jesse's book and release style is a fantastic resource for Ruby programmers
who are digging down the stack. Well done.

------
supersid
The first book was pure gold and I desperately needed something that packed
all that information so nicely. Really looking forward to this one on TCP
Sockets.

------
thatmiddleway
Destined to be a classic, just like Working With Unix Processes!

------
akahn
I want to buy a hard copy!

