TWiR quote of the week


#583

I’m batch-processing thousands of high-resolution TIFF images so these are processes that I start at the end of the day and let run overnight. I have multiple Java implementations that can do this; none of them perform at the same level as my novice Rust implementations.

From https://www.reddit.com/r/rust/comments/a1l3ze/its_time_to_look_in_the_mirror_why_i_am_moving_to/eat1xhk/


#584

The security barrier must be earlier. It will make everything easier to secure. By analogy, it’s like securing your own house. You can lock points of entry to your house, and it’ll work fine for the entire house. But if you move the security barrier to wrong place because you assume burglars may freely roam inside your house, you’ll end up with locks on your bathroom, padlocks on your drawers, gates on your bed, TV stored in a safe, and kitchen utensils chained to walls.
Here, your OS is your house. If you work with assumption that you let malware in, and running viruses is normal part of Rust development, you’ll need extraordinary level of sandboxing paranoia similar to having things in your house chained to walls. It’s going to be incredibly hard to secure everything, and it’s going to be incredibly inconvenient to use the language that has to act at all times as if all your code was infected and dangerous.

original comment


#585

A better approach is to make sure that there’s no path from the guest bedroom to the master bath. :smiley: That means an OS should not be a monolithic whole, where penetrating any component gives full access to everything. For example, there is no reason why a network interface needs access to the file system, but that’s exactly what an exploit from a couple of years ago used. What we need is isolation among the components of the OS. CapRos and seL4 are examples of how it can be done by applying the Principle of Least Privilege at a finer level of granularity than the whole OS.


#586

[Rust’s] unique selling point is that it unlocks a level of performance and flexibility that was previously not possible without investing in deep platform-specific knowledge and expensive quality assurance processes.


#587

I'll know ide support is mature when the flame wars start.

- My friend


#588

impl Drop for Mic {}

from http://fitzgeraldnick.com/2018/12/13/rust-raps.html

Honestly, the whole thing deserves to be the quote of the week, but it’s a bit long for a quote…


#589

People aren’t kidding when they say Rust gives you superpowers. We spend more money on log storage than all of our servers combined. We can process so many requests [that] we have to spend more to store the logs from those requests than it costs us to actually process them.

State of the crates.io — Sean Griffin

Time: 24:29


#590

Using [traits] for Inheritance was like putting car wheels on a boat because I am used to driving a vehicle with wheels.

How to become a Rust Super-developer


#591

In theory it would be entirely reasonable to guess that most Rust projects would need to use a significant amount of unsafe code to escape the limitations of the borrow checker. However, in practice it turns out (shockingly!) that the overwhelming majority of programs can be implemented perfectly well using only safe Rust.

u/PM_ME_UR_MONADS on reddit.


#592

“All the type and lifetime checking is great, but it didn’t prevent me from being completely retarded every now and then.”

Alan Trick, https://alantrick.ca/writings/programming/python_to_rust/


#593

“The name Rust suggests what it is: a thin layer on top of the metal.” - /u/c3534l

Source: https://www.reddit.com/r/rust/comments/abm6hy/why_rust_is_successful_compared_with/ed1k1xl/?context=3


#594

Quite complex description of the “find-this-method” task:


#595

Found this in the old question on SO, looks like a rather laconic explanation:

Lifetimes are needed to prevent errors, but explicit lifetimes are needed to protect what little sanity programmers have.


#596

When a turbo fish is very long, does it become a turbo eel?
@Enet4

https://chat.stackoverflow.com/transcript/message/45076604#45076604


#597

“Rust. Life is to short not to use Rust.”

From:


#598

From #rust-offtopic

<CognitiveRadiation> ZANKOKU NA TENSHI NO YOU NI / BORROW-CHECKER YO, SHINWA NI NARE

<CognitiveRadiation> da kedo itsuka kizuku deshou? sono senaka ni wa / haruka mirai mezasu tame no non-lexical-lifetime ga aru koto!


#599

Translation please? It seems to be an anime reference?


#600

Translation please? It seems to be an anime reference?

It’s a few lines excerpt from a song that was used as an opening for Evangelion. You can find the full lyrics and their translations on the internet. It is something that’s somewhat commonly parodied.


#601

Like a cruel angel
Borrow-Checker, become the legend.

However someday you’ll probably realize? that what’s on your back
is the Non-Lexical-Lifetime that is there for take you towards the far future.

( These are not my native languages but… I wasn’t able to resist the temptation )


#602

I don’t have them handy to check, but I seem to remember the official subtitles saying “a legend” rather than “the legend”, which would make sense given that Japanese doesn’t use articles the way we do and the turn of phrase is generally “become a legend”, not “become the legend”.

(“a cat”, “the cat”, and “cats” are all “neko”. It’s disambiguated by the rest of the sentence as needed.)

For what it’s worth, it also lines up with a nice fandub I ran across which fits English to the melody by translating it as “Like an angel who has forsaken sympathy, Rise up young boy and make yourself a legend.” (“Borrow-checker” replaced “Shōnen”, which basically means “boy”.)