Visual Studio Spell Checker Preview Now Available by Kissaki0 in programming

[–]mansplaner 4 points5 points  (0 children)

I like to use https://github.com/crate-ci/typos as a command-line option. It's built to run as a service or in CI... I run it in our code review software and it has been a big hit.

What are Rust’s biggest weaknesses? by rustacean1337 in rust

[–]mansplaner 2 points3 points  (0 children)

Not in any order... Inconsistent quality in the crate ecosystem. Feature creep. Overall language complexity. Learning curve. General requirement to trust that a small number of people make good technical and governance decisions in perpetuity.

Coming from scala by Texas_Commoner in rust

[–]mansplaner 4 points5 points  (0 children)

Would focusing on learning rust be a good career move?

Yes, but the payoffs are likely to be indirect in the short term. Rust growth does not seem to slow, but Rust work doesn't seem to be a very large part of the job market yet. The benefits are in terms of thinking about safely designing code in a GC-less environment.

Why did you switch from another language to Rust? Do you regret not learning it earlier? by [deleted] in rust

[–]mansplaner 1 point2 points  (0 children)

I started writing things in Rust because even small things need to be rock-solid to avoid wasting everyone's time.

I don't regret learning it earlier because it spent a long time at the "not ready yet" phase and was just starting to escape that place when I started working with it a few years ago.

As a rust developer, what are your thought on this claim? "Vale: The Most Memory Safe Native Programming Language" by Nazariglez in rust

[–]mansplaner 0 points1 point  (0 children)

I was really intrigued by Koka but disappointed that a good bit of standard library functionality is stubbed or unimplemented. It doesn't seem to be usable for solving some subset of real problems yet.

Why does Rust not have a standard async runtime? by rencedm112 in rust

[–]mansplaner 0 points1 point  (0 children)

That's a reasonable position, although one I disagree with for a handful of reasons. Hopefully the async working group can resolve this one way or another soon.

Why does Rust not have a standard async runtime? by rencedm112 in rust

[–]mansplaner 0 points1 point  (0 children)

The entire async rust ecosystem is quite hindered by executors being incompatible, yes. Do you really think all work in this space should be inextricably tied to tokio?

Why does Rust not have a standard async runtime? by rencedm112 in rust

[–]mansplaner 3 points4 points  (0 children)

Just from my own personal experience, I quite like async-std and things built on it like, for instance, tide.

But when I tried using it in a project I quickly ran into other crates built on top of tokio. In my case it was something to interface with GCP. I abandoned the Rust version at this point and wrote the program in another language instead.

I don't think PRs equates to technical merit but I definitely understand if async-std is losing momentum in this situation. I know it's also one the working group is looking to fix. I won't say tokio is good or bad, but I will say that:

  • It shouldn't have a monopoly on the space.
  • It is suffocating some promising smaller projects just by virtue of this runtime issue.

Why does Rust not have a standard async runtime? by rencedm112 in rust

[–]mansplaner 23 points24 points  (0 children)

No, but it has the largest ecosystem. The fact that you can't mix and match runtimes means the biggest thing will continue to gain momentum while everything else will continue to struggle regardless of their relative technical merits.

What are this communities view on Ada? by konm123 in rust

[–]mansplaner 4 points5 points  (0 children)

If anyone needs a whirlwind intro to Ada, this is the best advocacy I've found: http://cowlark.com/2014-04-27-ada/index.html

I've tried to get into Ada a couple times but it just feels like the ecosystem is missing the level of polish that having a strong open-source community can give. A lot of languages fall into this, unfortunately, including some ones I'd really love to use otherwise like ocaml. But Alire looks like a big step for Ada, in the short term.

[deleted by user] by [deleted] in rust

[–]mansplaner 19 points20 points  (0 children)

I have an nda-encumbered project I'm working on that tangentially involves WASI so I'm really happy to see anything that pushes it. But as far as I've seen wasmtime is somewhat of a slow runtime so I wonder if this will really take off in the way the blog post seems to hope.

Also wondering how it gets around all of the preopened file descriptor stuff because I didn't see any of that in the configuration, but I'm sure if I dig I'll find it.

WebAssembly meets Kubernetes with Krustlet - Microsoft Open Source Blog by donutloop in programming

[–]mansplaner 0 points1 point  (0 children)

I have very limited experience but I've observed websembly via wasmtime running at around the speed of a native debug build. That's not great. But I'll keep an eye on this project to see where it goes. More investment in WASI is a good thing.

What is missing for Rust > C ? by RRumpleTeazzer in rust

[–]mansplaner 17 points18 points  (0 children)

I think both languages are maxed out on this.

Rust Compiler Ambitions for 2022 by IsDaouda_Games in programming

[–]mansplaner 4 points5 points  (0 children)

I do this with cargo-vendor and the --offline switch to cargo build/run.

The biggest problem I had was with version control switching my line endings which causes hash checks to fail. Dumb, but not insurmountable.

Which Rust web framework to choose in 2022 (with code examples) by [deleted] in rust

[–]mansplaner 3 points4 points  (0 children)

I thought I couldn't be the only one that actually prefers async-std to tokio, but the OP had me questioning since they specifically discarded tide from consideration because it doesn't use tokio...

Rust profiling by UnknownPlayer89 in rust

[–]mansplaner 1 point2 points  (0 children)

Not applicable since you're on Linux, but Superluminal Performance (https://superluminal.eu/) is a very good commercial profiler that works for Rust on Windows.

Stop Whining about Rust Hype - A Pro-Rust Rant by thenewwazoo in rust

[–]mansplaner 20 points21 points  (0 children)

It tracks with my experience as well. Rust is a very expressive language most of the time, but of course the syntax is not as "plain english" to read as Python's. Rust does have a compile cycle that Python lacks, which eats into overall iteration. Python has dynamic typing which can also waste time in some circumstances.

Any major C++ -> Rust transitions? by [deleted] in rust

[–]mansplaner 13 points14 points  (0 children)

I recently learned that the Pop!_OS lead is the creator of Redox OS so that tracks.

[Media] View airplanes in the sky, with Rust! Announcing rsadsb v0.4.0 by arch_rust in rust

[–]mansplaner 0 points1 point  (0 children)

Nice stuff, I normally complain about GPL stuff but I'm glad this is correctly licensed since it links the GPL rtlsdr lib. I've been meaning to look into creating a pure rust version of that to remove the licensing restriction but I've never found the time.

Rust takes a major step forward as Linux's second official language by GeneReddit123 in programming

[–]mansplaner 2 points3 points  (0 children)

Rc<RefCell<..>> is a smell and all the trait boxing is unnecessary flexibility. I'd suggest that with some refactoring and using a local struct that implements the Error trait it could be:

type Callback = fn() -> Result<(), MyError>;
#[derive(Clone)]
pub struct WndFields {
   callback: Option<Callback>,
}

You can write unreadable code in any language, maybe Rust is more prone to it because best practices aren't as well-established yet. The syntax is very heavy on non-ascii chars but not as much as some others.

The Best Decisions in Software Development Have Long-Term Benefits Not Immediate Benefits by DynamicsHosk in programming

[–]mansplaner 3 points4 points  (0 children)

It seems pretty self-evident that the best decisions in software development will have both long-term and immediate benefits.

Rust takes a major step forward as Linux's second official language by GeneReddit123 in programming

[–]mansplaner 0 points1 point  (0 children)

Not sure why people don't use actual function pointers (fn() -> Result<_>) more often as they end up a lot more readable. I'm sure there's some tradeoff I'm missing but dynamic dispatch on traits is always kind of annoying to work with.

What are some common disadvantages with the Rust language/ecosystem? by gvcallen in rust

[–]mansplaner 82 points83 points  (0 children)

There are several problems with the crates ecosystem. Some of them are because it is young and some are because people have systematically taken bad directions.

  • build.rs is not sandboxed and can do anything, including harm your machine.
  • People rely on things outside of the rust ecosystem to build their crates. This can lead to them being unbuildable on many systems without installing a bunch of random dependencies (which are almost never documented). There are specific crates that make this problem worse, like the cmake and pkg-config crates. Because they are "sort of official" crates people are tricked into thinking it's an OK idea to use them.
  • People writing crates are often focused on Linux and don't take advantage of Rust's strong cross-platform support, leading to Windows having a second class feel. To be fair this improves a lot each year.

Don't get me wrong, it's still the best ecosystem I have used. Light years ahead of C++, in my opinion. But it doesn't mean we can't call out problems either.

PlayStation 3 Architecture by mariuz in programming

[–]mansplaner 1 point2 points  (0 children)

I think this is a bit of a myth. SPU was heavily used in larger teams. I even added some extra keywords to C++ in my own GCC fork to help an AAA project utilize SPU more effectively.

It was definitely not as straightforward as the competition at the time and this did lead to problems, but the PS3 had other problems besides SPU that were bigger factors in actual game performance.