Pinned post
Pinned post

"These days, the problem isn't how to innovate; it's how to get society to adopt the good ideas that already exist." - Douglas Engelbart

Pinned post

Do you want to know what developing without unit tests is like?
Open your shoelaces, close your eyes and run as fast as you can...🏃

When people say modern C++ was as memory safe as please show them this comment by H2CO3:

users.rust-lang.org/t/modern-c

OP: "C++ reference is always valid after it is initialized"

H2CO3: "Yeah. And as long as you don't accidentally invalidate references and iterators through shared mutability. And as long as you don't accidentally capture something in a closure by reference that doesn't outlive the closure. As long as [...]"

The list goes on.

Watch out when using channels in ⚠️
You can easily run into a !
Just happened to me, but fortunately, I could resolve it pretty quickly.😌

Rcv2 from channel2 was waiting on rcv1 from channel1, but sender1 was never dropped, because sender2 was in the same scope and it's channel (channel2) was full.
😬

Solution was to drop sender1 manually before sender2 starts to send.

Having said that - please use channels! They are great!

Code development platform for open source projects from the European Union institutions

code.europa.eu

Learning Rust: Mindsets and Expectations - by ferrous systems (2020):

ferrous-systems.com/blog/minds

"Throughout this post, we have reiterated the fact that time is inherent to the process of learning Rust. We refer to the fact that Rust is under active development, yes, but more importantly: we refer to the patience that we have noticed in folks who have succeeded in their journey."

THIS!

Given enough time and oxygen everything will eventually .🦀 :rust:

to folks:

fn chunks(self, capacity: usize) -> Chunks<Self>

This method will panic if capacity is zero.

docs.rs/futures/0.3.24/futures

So why instead of usize we don't use NonZeroUsize here? Would make the API much more robust, IMO. I'm sure there must be a reason I can't see yet, so any pointer (😱) is appreciated.😄

NonZeroUsize:
doc.rust-lang.org/core/num/str

Nice: let-else will be stabilized in 1.65 🥳 🎉

github.com/rust-lang/rust/pull

It is especially useful for matching custom enum types (enums that are not `Option` or `Result`) and handling the error case close to the actual matching.

See some examples in the RFC:
github.com/Fishrock123/rfcs/bl

If you get weird borrowing errors using fn pointers or closures, have you considered using a trait instead?🦀

It's often way easier to make the compiler happy that way.

1Password Developer Fireside Chat: Dive into Async & Futures in Rust

yewtu.be/watch?v=HrxwOUVzyDU
(or YT: youtube.com/watch?v=HrxwOUVzyD)

A very interesting deep dive into async/await by one of 1Password's developers.

It starts simple, but gets more and more advanced.🤓

LAION - Large-scale Artificial Intelligence Open Network

TRULY OPEN AI. 100% NON-PROFIT. 100% FREE.

laion.ai/

@ru Based on our discussion here about multithreaded JS...

fosstodon.org/@ru/108680556403

...you might be interested in the following article 😉

How To Use Multithreading in Node.js:
digitalocean.com/community/tut

Interesting read! 🤓

Pro tip: watch videos/hear podcasts with 1.5x speed.

But beware: when you switch back to 1x speed it seems everything is happening in slow motion.😅

Someone I follow said the words "interior decorator" and I immediately thought:

Hm..., I've never heard of this pattern before - that sounds interesting! :rust_thinking:

They were talking about decorators who decorate your house interior...😳

Show older
Mastodon for Tech Folks

This Mastodon instance is for people interested in technology. Discussions aren't limited to technology, because tech folks shouldn't be limited to technology either!