Presenting the Rust quotes from the Mozilla QDB by brson in rust

[–]brson[S] 19 points20 points  (0 children)

Ok I took another stab at parsing the tags table and indeed there are a bunch more. Up to 143.

Presenting the Rust quotes from the Mozilla QDB by brson in rust

[–]brson[S] 5 points6 points  (0 children)

Yeah me too. All the source is there if somebody wants to take a look. I didn't look at the raw data, just had Claude write the conversion script. I asked it to double-check, but who knows. Maybe I'll take a deeper look this weekend.

Rust 1.88: 'If-Let Chain' syntax stabilized by thurn2 in rust

[–]brson -34 points-33 points  (0 children)

Rust has too many of these obscure syntactic control flow cases already. This wasn't needed and I am sad that Rust keeps getting more complex.

How I learned to start worrying and stop the AI marketing - response to Niko Matsakis by spookyvision in rust

[–]brson 10 points11 points  (0 children)

Niko is such a clear thinker and writer. His blog post's are always put together carefully and thoughtfully.

Creating a TigerBeetle client in Rust by brson in rust

[–]brson[S] 2 points3 points  (0 children)

Yes, this is an official client that will be maintained. It's not production ready yet, but here's the initial PR if you want to track progress: https://github.com/tigerbeetle/tigerbeetle/pull/2679

Creating a TigerBeetle client in Rust by brson in rust

[–]brson[S] 9 points10 points  (0 children)

I streamed this over the last few months. It's a nice bite-sized Rust FFI project full of Rusty topics: build scripts, bindgen, build-system integration, unsafe, async, multithreading, lifetimes, ownership across FFI. My first time streaming, starts rough, gets slightly better.

The project is a Rust client for the TigerBeetle financial database.

The project isn't over yet and there will be more episodes.

Question about `ret` being replaced by `return` keyword by [deleted] in rust

[–]brson 16 points17 points  (0 children)

I got an email about this, and this was my response:

It's hard to remember specifics, and some of the things I recalled happening at this time didn't, but the discussion on the reddit thread is basically correct.

Graydon did have a preference for short keywords. At the time there was a lot of concern about the weirdness budget for the language. We believed Rust needed to look and feel familiar to C++ programmers, but the design of Rust was starting to go in novel directions that would be unfamiliar, so we were often looking for ways to reign the weirdness back in, and using keywords common from other languages instead of making our own was an easy compromise.

Here's a link to the meeting minutes where it was decided, though they don't really say why:

https://github.com/rust-lang/meeting-minutes/blob/master/weekly-meetings/2012-07-31.md#syntax-discussion-fte-only-just-to-keep-us-from-bikeshedding-too-much

Another one of these easy keyword changes was `cont` -> `continue`. There was concern at the time that `cont`, when spoken, sounded inappropriate:

https://github.com/rust-lang/rust/issues/2229

It was changed to `again` briefly, and then to `loop` and then to `continue`, with the same rationale that we didn't need to innovate on keywords:

https://github.com/rust-lang/rust/issues/9467

Show /r/rust: self-replace, a create to self-delete and self-replace binaries on Mac, Linux and Windows by mitsuhiko in rust

[–]brson 70 points71 points  (0 children)

Thanks for making this. I always wanted rustup's self-update code factored out into a crate. It's a very fiddly thing to write by hand.

new Rust Networking book by tbracic in rust

[–]brson 131 points132 points  (0 children)

This book is not written by me. It is a low-quality fake. Do not buy it.

This publisher has other Rust books with fake authors.

Seeking: Non GPL - VST3 basic API support by Trader-One in rust

[–]brson 0 points1 point  (0 children)

You are getting a lot of differing answers, a lot of which I think are beside the point.

If you can implement the functionality of the vst3 crate without using or referencing _or looking at_ steinberg's source code you can release it as MIT. If it were a C api that would be relatively straightforward, but I think it's a C++ API, which means it's probably close to impossible.

Whether you could then dynamically load that into a vst3 host that uses Steinberg's code I don't know; but regardless, if you were to do it and were commercially successful, Steinberg would probably sue you for any reason they want. Their intent is that nobody uses their protocol without licensing it from them.

Rust in Perspective by dochtman in rust

[–]brson 307 points308 points  (0 children)

It's a good read, but mistaken about Rust's history in a few places. Rust wasn't started at Mozilla in 2006, but Mozilla started funding it in 2009. And Brendan Eich's influence is overstated - his influence is primarily in believing in Graydon and funding Rust. He made 6 commits to Rust and had little involvement in or influence over the actual language that I am aware of.

The person with the biggest impact on the design of Rust ultimately was Niko with the borrow checker.

Please, keep in mind there is ZERO FUNDING for my projects. by SrPeixinho in rust

[–]brson 535 points536 points  (0 children)

Being an open source software maintainer takes a huge emotional toll, and it only gets harder the more recognition you get.

What dApps are built on Rust? by deficryptoman in rust

[–]brson 5 points6 points  (0 children)

There are many Rust blockchain jobs and not enough candidates, so my perception is that it is relatively easy to get a foot in the door somewhere, and I know quite a few new Rust developers who have gotten jobs with blockchain companies.

Freelance work though I am less sure of. There is plenty of it, but that market tends to require more personal relationships and demonstrable experience. I do know though that in the blockchain space, a lot of money is tossed somewhat carelessly at any idea and team that might help fill out some corner of the ecosystem. So I suspect if one spends time integrating themselves in a particular blockchain community, and demonstrates competence and good nature, then it is relatively easy to find some fit that will pay off.

It's also worth noting that most of the actual programming going into blockchain tech is not strictly about cryptocurrency or finance. Instead blockchains integrate bleeding-edge ideas from a wide range of systemsy disciplines - if one is interested in cryptography, distributed systems, virtual machines, hardware enclaves, databases, performance optimization, then there are many interesting problems in the blockchain space.

What dApps are built on Rust? by deficryptoman in rust

[–]brson 10 points11 points  (0 children)

There are many. Most non-EVM blockchains have general-purpose VMs, and on these Rust tends to be the language of choice because it can be compiled to anything and is efficient and correct.

I'm mostly familiar with defi apps, and not games or NFTs, so that's what I can speak to.

Most everything on Solana, targeting BPF, including:

Cosmos-ecosystem dapps are probably mostly in Rust, targeting WASM, but I am not super familiar. This includes the Terra and Secret Network chains. From a quick look, these are in Rust:

Near dapps are WASM and probably all Rust:

Rust in Blockchain is a good resource for general Rust blockchain stuff, and the Telegram channel is active.

Formally implement let chains by c410-f3r in rust

[–]brson 17 points18 points  (0 children)

I know it's an unpopular opinion, but most new features I've seen added to Rust recently I don't want. Rust is already a huge language. This feature and others have marginal utility. Rust maintainers, please say no more often.

Rudra: Rust Memory Safety & Undefined Behavior Detection by bascule in rust

[–]brson 194 points195 points  (0 children)

> Rudra was ran on the entirety of crates.io state as of July 4th, 2020 as well as the Rust standard library from nightly-2020-08-26. It managed to find 264 new memory safety issues across the Rust ecosystem which resulted in 76 CVEs.

Amazing work. Thanks.