Live data from Hacker News

Beej's Guide to Network Programming

beej.us

81–90 of 91 posts

Re: Beej's Guide to Network Programming

#81

All Beej's guides are fantastic, but if you're interested in Network programming you could do way worse than follow this up with his guide to network concepts. https://beej.us/guide/bgnet0/ If you search Algolia for Beej you'll see his material has been on hacker news numerous times.

> If you search Algolia for Beej...

Or, as I just recently learned, you can click on the (beej.us) domain name next to the title at the top of this page and it will take you to a list of all the HN submissions for the site:

https://news.ycombinator.com/from?site=beej.us

Re: Beej's Guide to Network Programming

#82
post #54

If you're trying to learn networking, better to start off with the foundational knowledge rather than jump straight into the code. Right now I'm going through the networking section on https://teachyourselfcs.com/ which is pretty good so far.

Contrary to popular belief, formal education wasn't useless here. All the foundational knowledge was covered in depth in my mandatory CS undergrad networking class. So this is a neat quick guide to all the stuff CS graduates already have learned once about but might've forgotten the details or don't know the hands on code.

I think there is (or was, depending on the institution) a disconnect between the curriculum and what skills students needed. For context, I was a tutor, instructional assistant, adjunct professor, and finally a curriculum advisor for the Los Rios Community College system and the University of California Davis Extension.

First, CS programs that went 100% into Java did not age well and most of these courses were taught in a way that led students on to believe this stuff was static and won’t really improve. The concept of new languages beyond what was available in circa 2006 was unimaginable.

Another quirk that a Java-centric education brought on was that low-level courses were often taught in Java and you ended up writing all your data structures coursework in Java taught by someone with a C background. But you couldn’t use C or anything sensible for this because universities promised students would know object oriented programming. This created a lot of disconnect and meaningless ritual around a paradigm that did not fit the language.

CS programs that succeeded understood that a foundational knowledge coupled with language flexibility. They had to understand that the specific languages did not matter so much, rather it should fit the paradigm and principles of the context in which it was written. Once students are able to think in terms of computer procedures, instructors can leverage this knowledge to introduce abstractions and a grand unification principle.

Re: Beej's Guide to Network Programming

#83
post #23

There is also a C guide [1] which has a pretty interesting email policy... I’m generally available to help out with email questions so feel free to write in, but I can’t guarantee a response. I lead a pretty busy life and there are times when I just can’t answer a question you have. When that’s the case, I usually just delete the message. It’s nothing personal; I just won’t ever have the time to give the detailed ans…

Why not like ...just leave the message alone lol? We don't have 64 Kilobytes of limited memory on our email servers anymore.

There's no functional difference between "not looking at it ever again" and "deleting it".

You should understand when they say "delete" that they mean "remove from their queue", whether it still exists in an "archive" folder, backups, trash, ... is irrelevant.

Re: Beej's Guide to Network Programming

#84
post #31

Earlier quoted context omitted.

> OK but providing value isn't the same as having power. Providing value is absolutely a way of having power. You change the world, that's power. Having power isn't the same as yielding benefit (for yourself).

When people talk about having or not having power, they rarely mean magnitude alone. The more important component is control . Can you wield your power to achieve some specific goal of yours? Can you use this power to overall improve your life, and lives of those you care about? Can you use this power to protect yourself from someone else using their power to achieve something at your expense? Beej's teaching power o…

I'm not sure I understand your third question, but I think beej's teaching power fulfills the second question in a very radical way which is that it is an act of caring for a large audience of strangers and does improve their lives.

Power that isn't attached to the desire to reap a direct benefit is a strange thing to witness, but it's power nonetheless!

Re: Beej's Guide to Network Programming

#85
Beej wrote the first computer science curriculum for Lambda School, which accounts for its initial breadth and depth. I taught there so I could learn CS, spending many hours to learn each class before teaching it.

One of my favorite modules he designed was on computer architecture. We simulated the CPU and registers in Python (they switched from C right before I got there), and each class extended our instruction set.

Teaching his modules taught me enough that I was able to start the MSCS program at UT Austin.

Re: Beej's Guide to Network Programming

#86
post #60

Earlier quoted context omitted.

Anyone knows of a well-rounded guide that explains the structure of the Internet at large? I know everything listed in the one you linked, but I have a nebulous idea of how anything works after my packet exits my gateway. So, BGP, autonomous systems, peering agreements and other site-to-site routing protocols that keep the entire Internet infrastructure ticking along.

https://learn.cantrill.io/p/tech-fundamentals I found Cantrill’s course pretty solid. It is free and you can just skip to DNS & DNSSEC.

Be suspicious of anything that includes DNSSEC in the "tech fundamentals", since it's rarely implemented (low single digit percentage uptake in the major TLDs). What other complexity are they failing to screen out?

Re: Beej's Guide to Network Programming

#87
post #86

Earlier quoted context omitted.

https://learn.cantrill.io/p/tech-fundamentals I found Cantrill’s course pretty solid. It is free and you can just skip to DNS & DNSSEC.

Be suspicious of anything that includes DNSSEC in the "tech fundamentals", since it's rarely implemented (low single digit percentage uptake in the major TLDs). What other complexity are they failing to screen out?

Agreed and yeah he mentions that. I think he mostly just makes you familiar with DNSSEC because he sells AWS certification courses and it will come up on the Networking Specialty. The entire segment is only like 90 minutes so it’s not crazy in depth.

Re: Beej's Guide to Network Programming

#88
post #81

All Beej's guides are fantastic, but if you're interested in Network programming you could do way worse than follow this up with his guide to network concepts. https://beej.us/guide/bgnet0/ If you search Algolia for Beej you'll see his material has been on hacker news numerous times.

> If you search Algolia for Beej... Or, as I just recently learned, you can click on the (beej.us) domain name next to the title at the top of this page and it will take you to a list of all the HN submissions for the site: https://news.ycombinator.com/from?site=beej.us

Nice! Thanks! For years on HN and I didn't know that.

Re: Beej's Guide to Network Programming

#89
post #84

Earlier quoted context omitted.

When people talk about having or not having power, they rarely mean magnitude alone. The more important component is control . Can you wield your power to achieve some specific goal of yours? Can you use this power to overall improve your life, and lives of those you care about? Can you use this power to protect yourself from someone else using their power to achieve something at your expense? Beej's teaching power o…

I'm not sure I understand your third question, but I think beej's teaching power fulfills the second question in a very radical way which is that it is an act of caring for a large audience of strangers and does improve their lives. Power that isn't attached to the desire to reap a direct benefit is a strange thing to witness, but it's power nonetheless!

> I'm not sure I understand your third question

It's whether or not a particular type of power you have can help you and yours in adversarial situations.

Can your Power of Teaching help you if a local thug wants you gone? Or, can your Power of Teaching help you when local governor decides to close down and raze your school, to be replaced with a factory? In both cases, someone else is exercising their power to directly or indirectly take away your livelihood (or life) - can your power prevent it, or at least mitigate the blow?

No power is good against all other powers, but some kinds of power are better at this in general. For instance, a wealthy businessman or politician could answer "Yes" to both scenarios above (replacing "school" with closest equivalent) - their money and influence can buy protection and work as a deterrent against the thug, and it can outweigh the influence of the local governor (or just allow for an effective bribe).

> I think beej's teaching power fulfills the second question in a very radical way which is that it is an act of caring for a large audience of strangers and does improve their lives.

Caring about large audience of strangers (or humanity in general) resonates with me, so I'll give this a passing mark here :).

> Power that isn't attached to the desire to reap a direct benefit is a strange thing to witness, but it's power nonetheless!

True. What I am trying to highlight here is that, when people talk about "power", in the sense of seeking more of it, or comparing people by how much of it they have, they usually don't count magnitudes of raw power, but rather how generic and how controllable it is.

This is similar to wealth, btw. Having $1M in cash makes you more wealthy in the immediate term than someone who has $1M in stocks, equipment, etc., as that other person won't get anything near a $1M if they try to convert their assets to cash.

Post reply on HN