Hacker News new | past | comments | ask | show | jobs | submit login

Hey all!

I did update it for IPv6, but that was several years ago.

So I'm not sure which update the OP is referring to.

Appreciate the kind words, though!




Thank you so much for this guide!

When I was a kid, socket programming felt like a huge thing to me, like unlocking the next level of programming. "Imagine if I could get 2 separate computers to talk to each other!" But it felt impenetrable, and used lots of weird and confusing C tricks.

Your guide demystified the whole subject and put it in plain language that teenage me could understand, and with it, I was able to build my first network-based "hello world". It was a magical feeling to see those messages delivered across the network. Thanks Beej!


>> socket programming felt like a huge thing to me, like unlocking the next level of programming.

This was my story as well, I wonder how many people have been through this just like us!?


Same exact story - I was perhaps 9 or 10 and got to Beej's work on sockets. It was one of the more accessible things available to me (or known to me). I remember reading Stevens books next.

So interesting that so many people have the same experience


Same story here - 1998, teenager, unable to understand socket programming until I came across Beej’s guide at CSU Chico. Thank you Beej!


Seriously though, posix sockets and the C interface for them were designed to be as confusing as possible to someone new, right?


Beej: thanks a million ! I learnt all about sockets and select() from your guide back at uni over 20 years ago. I was trying to make an autonomous model helicopter for my 3rd year project, fuel oil powered, with a scarily large rotor diameter… so I made this single threaded emergency stop daemon that listened to a few sockets, including the big red button, which would interrupt the test joystick data and write out some engine-off and neutral collective pitch commands instead.

And yes, it worked in a real emergency ! the heli didn’t have any rotors afterwards but we still had our heads.

So I guess you maybe saved my life ?


Neat story! (no sarcasm)


Thanks for your hard work! When I discovered your guides ages ago I already had digested a good part of the famous text by W. Richard Stevens, but being my copy a very poorly translated edition (I did read English back then, but the imported book would cost a small fortune), I later had to check some things on your guides for consistency, so they turned out very useful anyway.


I work in networking, probably because of 1. Your guide and 2. My professor. Thanks


Hey! Thank you so much for your networking guide! It's my go to reference for socket programming and it is the documentation that I pointed my students to when I was giving a networking course :).

Not directly related but while you're here: you should _really_ add Marcus Rediker's Villains of all nations to your Pirates reading list. I highly recommend it! It's the best pirates' book ever =).


I just pulled it up to refresh my knowledge for a project and it was different. The thing that sticks out the most being different is that the code boxes are highlighted. My first time reading, it was standard grey boxes similar to some other guide (IPC guide I just read was still grey boxes!). Great work! It's the best reference!


Thanks for your work on this. I read it when I was much younger and it hammered home how to treat stream sockets correctly.


Hey dude,

I just happened to reread the guide a couple of weeks ago. I hadn't done c socket programming in maybe a few years, and the guide refreshed my memory really well.

I've used it a few times over the years.

Thanks a lot!


Mr. @dang, I would like to kindly request that the title is updated.


Correct. The title was editorilized. And not enough with that, it's not even true that the guide has been updated, not for years according to the author himself in the currently top-voted comment.

So in a way this ended up to be perfect clickbait. But nobody seems to complain because despite not having been updated the guide seems to recall many fond memories by the commenters.

Highlighting users does not work on HN, I think the recommendation is to send an email.


It's karma farming.

Summoning dang usually works, for some reason.


Thank for for writing and maintaining this for so long. As I wrote yesterday, it is my single favorite piece of programming literature in existence.


Thank you so very much. I used your guides heavily when working on my senior project doing linux networking at the system level many years ago!


Thanks Beej! Like a lot of people here, your guide was extremely helpful in learning (and for reference!) network programming.


Your tutorial demystified network programming for me when I was just a kid. It deserves all the praise it gets. Thank you!


Your guide has helped me understand socket API when I was just starting with networking :)

Thank you for your existence.


beej! Wow! I read your guide in undergrad (many years ago, on the recommendation of a prof) and self-taught myself how networks work a year before my dedicated class on the subject. Your work truly inspired me then and I still fondly recall your work and advocate for others to read it.

That’s all. Thank you!


Thank you for writing this guide. I really enjoyed reading it and it helped me get my first job.


Wow unreal… I used your guide years ago for my first project when I was learning C. It was an IRC bot.

Thank you!


Hey! I've learned network programming with your guide when I was teenager - thank you!


Thanks Beej been using your guides for a long time. Appreciate your hard work!


Your guides were legendary when I was just starting out. Thanks for that!


Any plans to add support for the new async and zero copy APIs?


The IPv6 update really helped me at work, thank you!!




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: