Live data from Hacker News

“Why was Rust chosen for Libra?” in congressional hearing [video]

c-span.org

71–80 of 80 posts

Re: “Why was Rust chosen for Libra?” in congressional hearing [video]

#71

Earlier quoted context omitted.

Of course Rust is international. Windows is international; Linux is international; VMS might possibly not be international. You'd think DoD would be buying Talos systems as fast as Raptor could spit them out, given all the talk about wanting things to be made in the USA, but even those will likely have parts from dozens of countries. I don't want to knock Rep. Riggleman too hard, since knowing what Github is (let alo…

In the video, Rep. Riggleman doesn't find issue with Rust being international; he instead notes that one of the primary committers to _Libra Core_ (not Rust) is Nigerian. I had a similar response to yours when I read the top-level comment, but watching the video it's clear that his issue is very much _not_ with Rust having an international development team.

His issue is Libra having a international development (or more specifically random international development), and his issue with Rust is using the nightly builds instead of a stable release.

Re: “Why was Rust chosen for Libra?” in congressional hearing [video]

#72
post #58
post #57

Earlier quoted context omitted.

Traditionally, government people have trust issues with programming languages as the compiler is, itself, an attack vector. If you are using a nightly release of the compiler, it may be assumed by some that the compiler is not vetted for security and could inject unstable or malicious code into another critical codebase. Also, Rust is considered very young for security type work, people rightly assume there are unfou…

> Nevertheless, the government has allowed people to use Java for decades for highly secure codebases and it has had all kinds of issues. That's interesting. What sorts of issues? Do you have sources for further reading?

It's just a passing swipe at Java, everyone's favorite language to hate. All languages have "had all kinds of issues", which are remedied by regular maintenance cycles that patch the required elements (JVM, libs, etc) when CVEs are announced. Java is in a unique position because it has been used extensively in government contract work. Some of that work was done well and some of it wasn't, which largely was based on the capability of the contractor used to do the work. It doesn't matter (well to an extent) what language you're writing your code in if you don't apply proper security precautions (SQL injection for example). Additionally, a number of years ago _desktop_ and _applet_ Java caused major security problems for businesses and governments (similar to the problems with Adobe Flash).

Re: “Why was Rust chosen for Libra?” in congressional hearing [video]

#73
post #44
post #8

Congressman: I was really surprised about the Rust language. So my first question is, why was the Rust language chosen as the implementation language for Libra? Do you believe it's mature enough to handle the security challenges that will affect these large cryptocurrency transactions? Facebook: [We will own & control the code.] Congressman: It looks like Libra was built on the nightly build of the Rust programming l…

The first question summary is … poor. Congressman's biggest concern after poking around on github seemed to be about international committers and a "native Nigerian" committing a lot of the code. (based on looking around the github-generated contributors pages for the libra and rust repos, I have no idea who he's talking about). The second answer was: "This is a very technical question. We'll get back to you." Which…

> Congressman's biggest concern after poking around on github seemed to be about international committers and a "native Nigerian" committing a lot of the code.

He comes from a DoD background. Security is probably his concern here.

Re: “Why was Rust chosen for Libra?” in congressional hearing [video]

#74
post #60

Earlier quoted context omitted.

Governments have issues with non-stable code because it changes rapidly, is untested and a security risk. Facebook moves fast and break things. I think it exposes a key difference between a FAANG company and a lot of other development though. Because most of use simply use the programming languages as tools, but Facebook is actually going to change the Rust language to fit their needs.

> Facebook is actually going to change the Rust language to fit their needs. ... hm?

Related:

> Facebook was initially coded in pure, vanilla PHP, but over the years, [they] needed more capabilities [...] so, FB developed their own proprietary programming language based on PHP, which they dubbed Hack."

https://www.quora.com/Is-Facebook-still-coded-in-PHP

Re: “Why was Rust chosen for Libra?” in congressional hearing [video]

#75
post #74

Earlier quoted context omitted.

> Facebook is actually going to change the Rust language to fit their needs. ... hm?

Related: > Facebook was initially coded in pure, vanilla PHP, but over the years, [they] needed more capabilities [...] so, FB developed their own proprietary programming language based on PHP, which they dubbed Hack." https://www.quora.com/Is-Facebook-still-coded-in-PHP

Okay, so this is speculation, basically. I thought that may be what the parent was saying, but wasn't sure.

Re: “Why was Rust chosen for Libra?” in congressional hearing [video]

#76
post #8

Congressman: I was really surprised about the Rust language. So my first question is, why was the Rust language chosen as the implementation language for Libra? Do you believe it's mature enough to handle the security challenges that will affect these large cryptocurrency transactions? Facebook: [We will own & control the code.] Congressman: It looks like Libra was built on the nightly build of the Rust programming l…

Yeah, the DoD actually commissioned a safe (for the time) programming language with known, reliable semantics for its software systems. The result was Ada.

Compared to that environment, even Rust is very move-fast-break-things. I think I understand ESR's gripes about Rust much better now.

Re: “Why was Rust chosen for Libra?” in congressional hearing [video]

#77
post #58

Earlier quoted context omitted.

> Nevertheless, the government has allowed people to use Java for decades for highly secure codebases and it has had all kinds of issues. That's interesting. What sorts of issues? Do you have sources for further reading?

It's just a passing swipe at Java, everyone's favorite language to hate. All languages have "had all kinds of issues", which are remedied by regular maintenance cycles that patch the required elements (JVM, libs, etc) when CVEs are announced. Java is in a unique position because it has been used extensively in government contract work. Some of that work was done well and some of it wasn't, which largely was based on…

I don't hate Java, it is a tool like any other. I only bring it up because I have extensive experience with it being used in the government realm.

It was not a passing comment. Exporting sensitive systems to other countries takes special care. There are hoops to jump through and Java made that job more difficult throughout the years. Many times you don't know a system will be exported until you have already built the system.

Additionally, Java went through a period where vulnerabilities were found frequently but the patches took time to develop and deploy.

Re: “Why was Rust chosen for Libra?” in congressional hearing [video]

#78
post #77

Earlier quoted context omitted.

It's just a passing swipe at Java, everyone's favorite language to hate. All languages have "had all kinds of issues", which are remedied by regular maintenance cycles that patch the required elements (JVM, libs, etc) when CVEs are announced. Java is in a unique position because it has been used extensively in government contract work. Some of that work was done well and some of it wasn't, which largely was based on…

I don't hate Java, it is a tool like any other. I only bring it up because I have extensive experience with it being used in the government realm. It was not a passing comment. Exporting sensitive systems to other countries takes special care. There are hoops to jump through and Java made that job more difficult throughout the years. Many times you don't know a system will be exported until you have already built the…

I apologize if that came off wrong, the "everyone's favorite language to hate" was tongue-in-cheek and not intended to infer you had an outright hatred of Java. As a parallel in the past I did government contract work (though mine was probably more limited than what you seem to be implying) with Java systems as well.

Re: “Why was Rust chosen for Libra?” in congressional hearing [video]

#79
post #77

Earlier quoted context omitted.

I don't hate Java, it is a tool like any other. I only bring it up because I have extensive experience with it being used in the government realm. It was not a passing comment. Exporting sensitive systems to other countries takes special care. There are hoops to jump through and Java made that job more difficult throughout the years. Many times you don't know a system will be exported until you have already built the…

I apologize if that came off wrong, the "everyone's favorite language to hate" was tongue-in-cheek and not intended to infer you had an outright hatred of Java. As a parallel in the past I did government contract work (though mine was probably more limited than what you seem to be implying) with Java systems as well.

No worries; I'm just trying to be clear.

Re: “Why was Rust chosen for Libra?” in congressional hearing [video]

#80
post #41
post #8

Congressman: I was really surprised about the Rust language. So my first question is, why was the Rust language chosen as the implementation language for Libra? Do you believe it's mature enough to handle the security challenges that will affect these large cryptocurrency transactions? Facebook: [We will own & control the code.] Congressman: It looks like Libra was built on the nightly build of the Rust programming l…

That's fucking awesome, on the other hand, Rust code is running live in production in Firefox, exposed to the internet and actually offers a much higher degree of safety than many comparable languages - these questions they should have been able to answer readily.

The good senator illustrating the noisy wheel syndrome. Ken Thompson's reflections on trust have been repeated over and over again, and is now a mainstream meme. But the fact that it's a often repeated common meme doesn't mean it's a practical threat. I'm not aware of it ever being responsible for an actual security breech. That's pretty significant - because there must be thousands of breaches each and every day. That isn't surprising, as it would particularly difficult for open source GNU, LLVM, and Rust because people are literally compiling code and comparing the assembler output to the previous versions.

He probably also isn't aware of how large computer companies like Facebook operate. Again, a single failure doesn't effect them like a single in a fighter plane. In fact a chaos monkeys that randomly knock out bits of production infrastructure are a useful technique for them. I'm sure the senator it thinking in terms of a chaos monkey randomly knocking out engines, airfoils, and computers on a flying plane.

The quality of compiler is a concern - but it is one the software engineer will be well aware. Asking a software engineer if he is sure of the quality compiler he is using is like asking a racing driver is he concerned about the quality of fuel he is using.

Post reply on HN