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!
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
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.
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.
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!
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.
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.
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.
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!