Also, if you don’t know what BGP is, you aren’t going to be interested in a project implementing BGP.
Also, if you don’t know what BGP is, you aren’t going to be interested in a project implementing BGP.
It’s also, I assume by the authors, submitted to hackernews which is a pretty diverse place. “Basics” is relative.
I am not saying there should be a dissertation about how the thing works, but it’s generally bad form to use abbreviations without using the long form at least once - for people who would indeed like to search for more information.
Like the Internet... way to understate it.
Many enterprises use it for their connectivity. If you are multihomed it's basically essential.
Even if you are not multihomed BGP is the most robust way to handle failover between two uplinks to the same ISP. If you are not using full routes and just taking default from each ISP the requirements/load on your router(s) are almost nothing.
Another popular use case is inside private networks, especially over GRE tunnel meshes where the filtering features of BGP allow better/easier control over topology than OSPF.
I've even seen individual servers use BGP for anycasting (usually DNS servers) or http load balancing (with DSR and L4 hashing on the upstream router).
I have been a professional software developer for 22 years with a 4 year CS degree from a good school, and I only ever heard of BGP for the first time last year. Most developers never need to know about BGP. People learn new stuff every day.
The point stands. Define your acronyms unless they're really really basic, like HTTP or JSON.
"GoBGP is an open source Border Gateway Protocol (BGP) implementation..."
Writers should never assume that knowledge of an acronym is universal.
That is my point. If I have a repo for a BGP implementation, the only people who are going to use my code are going to know what BGP is. No one is going to stumble upon the repo, read about what BGP is, and then decide to use the code. Really, they wouldn’t even be ABLE to use the code… they aren’t going to have access to a router that supports BGP… if you have access to a router with BGP, you already know what BGP is.
Use DDG if the HN thread doesn’t immediately give you a hint.
Take one of your repositories as an example: https://github.com/timraymond/pricegrabber
> A gem for interacting with the Pricegrabber API
Should you have to add "Application Programming Interface (API)" the first time you use "API" anywhere? Realistically no, because the audience can be assumed to understand what it means. If they don't, it's only a search away.
Same goes for networking and DNS/BGP/CNAME and more. If you're using a library/server for BGP, you either know what those terms are, or know how to find out more.
But not all resources are meant for beginning who don't know the basic terms in a field, and that's OK, because otherwise everything would be extremely verbose when it doesn't have to.
[1] An example: http://boston.conman.org/2022/02/16.1
If something isn’t clear on HN, try searching for it. If you don’t find it immediately, then you can ask without losing face.