For those who might not be familiar with Beej, this is not his first or only guide. They're all excellent. There's a link near the top of the page: "Click here for other Guides"
Beej's Guide to Network Programming was how I fumbled my way into socket programming AND C. I can't remember if I first encountered it in the late 90's or early 2000's. It's funny to think about that world now. Unless you had a shell account or ran Linux or some sort of Unix you had to _pay_ (or... not pay) to get access to a C compiler.
If you were lucky you'd get access to some FTP servers via IRC that might have some ZIP files full of good text docs, or wander upon some hacking clan's site that had good tutorials or info. But more likely you'd try to cobble it all together from as many sources as you could find.
I'm really glad we're in a time, and for the most part a community, that values sharing information free and wide, and supporting FOSS tools that put all this knowledge within reach.
Somewhere in the depths of a comms room at a Very Very Big Company, there's a very very old laptop running a very very old install of Slackware, which does one job - run a server that Radio-over-IP boxes connect to, so they can have their G.711 streams picked apart, some DSP applied to add or remove certain high frequency tones and generally clean up the audio, and be fired back out into another interface.
That was all made possible by Beej's Guide to Network Programming and the RBJ Biquad Cookbook, mostly.
Just a temporary bodge until the vendor got their shit together. I doubt it'll ever be replaced.
It was some random socket program I found on an FTP server that got me going on writing this whole thing. The sockets API was pretty confusing in terms of the sequence of what to call when and how, but this sample program spelled it out pretty simply. (So thank you, anonymous author!)
Then it was just lucky timing with the web picking up around then and the fact that we had just gotten NCSA Mosaic installed on the computers at school. :)
Edit: Pretty sure the first version of the guide was ~1995.
Never expected I'd get a reply from Beej themself.
Thank you for your contribution. Your work enabled me to send some bytes from one place on the internet to another, which ignited a passion and a career for me. Thanks again.
Also, thanks for making me wonder where Chico State was and what the pizza was like.
>Unless you had a shell account or ran Linux or some sort of Unix you had to _pay_ (or... not pay) to get access to a C compiler.
That was actually how I got my introduction to nix. I was taking a c++ class in highschool, and I was mad that I couldn't compile my homework without paying for borland. Someone pointed me to g++, and I actually got a shell account with the university of colorado (it's wild to me they would give those away for free!). I kept pestering the admins about installing this or that, and they told me 'hey kid, why don't you install linux on your own* machine and then you can install whatever you like.
So I went and installed redhat on an old computer. Free compilers for basically every language in existence, and an entire OS worth of source code, heaven!
Screenshot of GCC 10.2 compiling its own source code
Original author(s) Richard Stallman
Developer(s) GNU Project
Initial release March 22, 1987; 36 years ago
I’ve been learning with beej’s guide and exercism.il for the last few weeks and it’s very effective paired with the (free!) mentoring there and asking random questions on libera.chat as well.
I learned about this when I was a teenager doing the Vortex game from OverTheWire. I ended up learning and falling in love with C and networking in general.
I worked with Beej and Robot Stampede back when he helped port Aviary's image editor tools from Flash to HTML5. Beej, if you're reading this, I hope you're doing great!
I wouldn't even mind it, but what's weird is that there are active and interesting threads flagged and penalized with "dupe" flag, because they were posted 49 days ago also... but not Beej's links.
heh yeah its probably time for something like the "HN Hall Of Fame" where this stuff gets enshrined, and from that time forward scrubbed from the top page