While I think there is some truth to that regarding the programming paradigm, I always felt the EVM have two big drawbacks, compared to something like Go:
1. Requiring a VM, making deployment more complex.
2. Not being natively compiled, or always having this performance roof for the inner loops.
After considering both Erlang/Elixir and Go a lot for my scientific workflow manager, I finally went with Go for these exact reasons.
But I don’t even think people in networking would say that, it is canonically BGP.
This is kind of like complaining about the abbreviation HTML, sure yes it is Hypertext Markup Language but everyone knows it as HTML to the point that there are probably people that don’t know it’s an abbreviation.
Agreed. There are almost certainly more people who know what "BGP" is than know what "Border Gateway Protocol" is.
But it still would have been a favor to the original commenter to write "BGP (Border Gateway Protocol)". If you write just "BGP" you annoy the reader who doesn't know what it is; they'll think it's your fault. But if you write "BGP (Border Gateway Protocol)", they still won't know what it is but they won't be irritated at you anymore.
Someone linked a document a few weeks ago that address the topic of abbreviations and when the abbreviation is the common form it is acceptable to just use the abbreviation.
I don’t think anyone in their right mind would open every article with HTML(Hypertext Markup Language) and CSS( Cascading Style Sheets).
For networking it would be the same with BGP/OSPF/RIP.
But it is it a networking post? It's a networking blog in general, but this post is clearly targeted at people interested in a rust scripting language and should expect wider distribution.
This reminds me of a trivia night event last weekend; in a room of 12 6-person teams I was the only one who knew exactly what the acronym URL stands for. But I'm confident a majority would have been able to come up with a reasonable working definition.
Biological and Genetic Programming: In biology, BGP can refer to methods or algorithms used in genetic programming or bioinformatics.
BGP (Bureau of Governmental Personnel): In some governmental contexts, BGP may refer to a specific bureau or office related to personnel management.
BGP (Bureau of Geographical Planning): In urban planning or geography, it might refer to a bureau that focuses on geographical data and planning.
BGP (Big Green Potato): In agriculture or gardening, it could refer to a specific type of potato or a gardening initiative.
BGP (Bilateral Grant Program): In finance or international relations, it may refer to programs that provide grants between two countries.
Elsewhere someone posted a link to the wikipedia disambiguation page. It is very insightful to compare the two lists - you should do this.
This is what people mean when they say "prompting an LLM is like the old google-fu; some people have it, some don't".
Try this prompt instead:
"Please explain the meaning of BGP in the following snippet: The need for Roto comes from Rotonda, our BGP engine written in Rust. Mature BGP applications usually feature some way to filter incoming route announcements. The complexity of these filters often exceed the capabilities of configuration languages. With Rotonda, we want to allow our users to write more complex filters with ease. So we decided to give them the power of a full scripting language."
When I searched for what does BGP mean, and DDG's LLM said "border gateway protocol". Even though I gave zero context and there are other possible meanings. The correct answer is probably something like "BGP can have multiple meanings depending on the context. The most common use of BGP is in networking where it means Border Gateway Protocol. If you provide more information on the context a better answer can be given." Or possibly it could link to the Wikipedia page.
That was a pretty bad response, so I tried Grok 3, using the prompt "What's the likely meaning of BGP in a Hacker News article?"
Its entire response:
"In a Hacker News article, BGP most likely refers to Border Gateway Protocol, a key internet protocol used for routing data between different networks (autonomous systems) on the internet. It’s often discussed in contexts like network security, internet infrastructure, or outages caused by misconfigurations, as BGP is critical for directing traffic across the global internet. For example, a Hacker News article might cover BGP-related incidents like route leaks or hijacks, which can disrupt connectivity or enable cyberattacks.
If the context suggests something else (e.g., a specific acronym in a niche domain), could you provide more details about the article? I can also search for the specific post if you have a link or title."
I specifically ask the LLM about non-networking contexts because I was interested in what else BGP could mean.
I believe that every possible combination of 3 letters has at least 5 different meanings - most of them only used in some tiny niche (often just one department of a company)
I see. The problem is you left out that only non-networking contexts were considered, so that list missed the most relevant answer with no explanation.
If you look back you will see that networking contexts was assumed. I was trying to make the point that BGP can have multiple meanings. Between all the other replies and me not being a great writer that context was lost. However if you just the parent of my reply and then my post in isolation I think it still makes sense why I wouldn't have mentioned that context.
It’s on a site called NL Net Labs and it’s mentioned in this way:
> The need for Roto comes from Rotonda, our BGP engine written in Rust. Mature BGP applications usually feature some way to filter incoming route announcements.
I think networking and routing specifically is fair to assume.
There is a convention in academic papers where you write the explanation for the 1st occurrence of the abbreviation, then leave it out for the rest of the paper. I suggest others to follow the same, except maybe for the most obvious ones (like HTML mentioned in the other reply)
It's a trite comment to make (the original complaint). Don't know an abbreviation? Takes two seconds to look it up. Not all content on the web is written for the lowest common denominator, and thank god for that.
Content should be written for the lowest common denominator of your target audience. If you are writing for someone who writes web documents all day then you can expect them to know what html is in great detail. If you write for plumbers they might not know what html is, and so you may need a couple paragraphs to define what it is. (I'm not sure why plumbers would need to know what a html tag is, but if you expect them to read a document where html tags are referred to you better define html in enough detail that they understand it)
Agree, hence a non-profit specialising in networking and internet infrastructure shouldn't have to explain BGP, as the audience for their blog most likely is familiar with it already.
Its a short blog about routing rules in a networking domain by NLNet Labs. The explanation of the BGP abbreviation is uncalled for, just because Rust tourists were attracted to click on it, the moment they saw the word...
So now we are going towards using models to more efficiently store information, and let them talk to each other, instead of moving massive datasets around, as briefly outlined in 2023 in [1] & [2] (although I would anticipate that linked data might help here too)?
I have tried Pixi, I was a big fan, but at the time it involved a LOT of manually editing text files & I didn't want to deal with that. And now I have a hard time imagining installing from Conda could possibly be faster than the sheer speed of uv
Yes, I noticed that doing finger agility exercises (on the piano) implies huge improvements for the day after, while very limited benefits for the same day.
I think troubleshooting has a lot of overlap with thinking along the lines of the scientific method.
1. You have to start having hypotheses that you test, but should be ready to throw them away as quickly as you thought of them, when the results from testing it says so. Let data
2. You should preferably think hard about effective way to quickly rule out influencing variables and so quickly square in on the area where the erroneous effect is coming from.
3. You have to really rule out confounders. Make sure to turn off any caches or similar that might play games with you.
The area where I see most colleagues fail in this process is not being stringent enough with things like ruling out confounders and being systematic about organizing the outputs from hypothesis testing, to make sure you are 100% which outputs belong to which inputs etc.
It is the discipline and strictness in the process that will do the trick. Anything less and you will just trick yourself.
1. Requiring a VM, making deployment more complex.
2. Not being natively compiled, or always having this performance roof for the inner loops.
After considering both Erlang/Elixir and Go a lot for my scientific workflow manager, I finally went with Go for these exact reasons.