Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror

Comment Re: Awesome! MAGA applied to programming language (Score 1) 160

Programming languages aren't woke, although the Rust community has attracted more woke people than some others.

Accessing the memory pointed to by a reference in Rust doesn't require a runtime check. This is enabled by an involved system of borrow/ownership/lifetime tracking enforced at *compile time*. Random array access incurs a bounds check (unless optimized out by the compiler), and there are data structures in the standard library such as RefCell which let you relax compile-time rules at the cost of a runtime check. In practice, Rust gets you C/C++-like efficiency with robust memory safety guarantees, but making the compiler happy is more annoying and subtle.

Comment Re:Is the claim that current sudo is not memory sa (Score 2) 116

Yes, "unsafe" code blocks which show up a lot in low level libraries (in this case the standard library) are still subject to memory errors. It's still enormously helpful in practice that most application code (e.g. the ad-hoc string parsing code in the sudo CVE) can be categorically excluded from containing memory errors, leaving a smaller surface area to audit and harden.

Comment Re:Great, but ... (Score 1) 116

The immediate implication of my comment is that no "Rust environment" needs to be installed for the sudo-rs executable to function. I guess you could consider statically linked code an "environment", but at any rate it doesn't pull in a bunch of dependencies from the package system that you would get with e.g. a Java or Node application.

Comment Re:Great, but ... (Score 3, Informative) 116

Rust executables are typically built with all rust modules statically linked, so only dependencies on libc and other system libraries remain:

$ ldd `which sudo-rs`
    linux-vdso.so.1 (0x000072fbe0db3000)
    libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0 (0x000072fbe0cb6000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x000072fbe0c88000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x000072fbe0b9f000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x000072fbe0800000)
    libaudit.so.1 => /lib/x86_64-linux-gnu/libaudit.so.1 (0x000072fbe0b71000)
    /lib64/ld-linux-x86-64.so.2 (0x000072fbe0db5000)
    libcap-ng.so.0 => /lib/x86_64-linux-gnu/libcap-ng.so.0 (0x000072fbe0b67000)

Comment Incentives have consequences (Score 0) 149

"We're simply saying that in a democracy, quality local journalism matters"

This wasn't a friendly suggestion, but a legal requirement to pay money. If local journalism is so important that the government needs to intervene to protect it, maybe they should just subsidize it directly instead of trying to shake down American social media companies.

Comment Equal Opportunity (Score 1) 151

The state security apparatus will target anyone who they deem a potential threat to state security, full stop. The recent uptick in right-wing extremism (culminating in the 1/6 riot) means that their efforts have been focused there, but that doesn't mean they're sympathetic to left-wing causes. There were an awful lot of people here carrying water for their social media censorship campaign and bemoaning the judge who granted an injunction against it because it targeted right wingers. They would do well to consider how easily the shoe could be on the other foot.

Comment Re:Free speech selective definition. (Score 0) 414

What is taught in public schools is a matter of government policy subject to democratic oversight. If duly elected state legislators pass a law saying that public schools can't teach about birth control in their curriculum, that's a stupid policy, but stupid policy per se is not a violation of the 1st Amendment. People spreading conspiracy theories on social media is also stupid, but the government inducing platforms to censor them is potentially a 1st Amendment violation because it's the people's speech being constrained, not the government's.

Slashdot Top Deals

Usage: fortune -P [-f] -a [xsz] Q: file [rKe9] -v6[+] file1 ...

Working...