Pinned toot

"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 toot

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...🏃

If you think is just some paper folding, think again:
Origami: The of Paper Folding - by Aperture

yewtu.be/watch?v=-Q6QZj02dqk

(or Youtube: youtube.com/watch?v=-Q6QZj02dq)

Mel Robbins (not exact ):

" is not something that you feel - it is something that you do. People often think: 'once I feel confident, I'll take action', but that's wrong. You have to force yourself in a moment of self doubt to do something. And when you see yourself taking action, the confidence follows. Confidence is the willingness to try.'"

@aral Oh, and maybe something for your WebSocket testing in Site.js?🤓

websocat - a CLI tool for WebSockets, like netcat (or curl) for ws:// with advanced socat-like functions:
github.com/vi/websocat

Show thread

@aral I've seen your recent posts about modern CLI tools and I know you are a passionate designer, so maybe you'll like the following!?😉

Pastel - A command-line tool to generate, analyze, convert and manipulate colors:
github.com/sharkdp/pastel

"Identifiers can now contain non-ascii characters. All valid identifier characters in Unicode [...] can now be used. That includes characters from many different scripts and languages, *BUT DOES NOT INCLUDE EMOJI.*"

Meehhh...😭 I want my variable to be 🦀. ☹️

from:
blog.rust-lang.org/2021/06/17/

Mown - Maybe Owned values in :
crates.io/crates/mown

Very useful e.g. if you have an api that can either accept an existing thread pool (borrowed), or can provide a default one if none is provided (owned).

I know, there is also `std::borrow::Cow`, but it requires your value to be `Clone`able, which thread pools are often not (for good reason).
doc.rust-lang.org/std/borrow/e

dprint - A pluggable and configurable code formatting platform written in .

dprint.dev/

Although still early, this looks very promising.🙂

It can format your , , etc. through plugins.

When you have to advertise "privacy protection" as a feature in your product, you know that there is something wrong with our society.

Just transformed some `unwrap()`s into proper `Error`s in .

So errors are now properly handled...and, thanks to Rust, it only took me like 10 minutes.

This is so !

“Nature does not hurry yet everything is accomplished.” — Lao Tzu

Need error handling in your crate _library_?
Use `thiserror`:
docs.rs/thiserror/1.0.25/thise

For crate _binaries_ (applications) you should use `anyhow`:
docs.rs/anyhow/1.0.40/anyhow/

Both are from the same (awesome) author: David Tolnay

's strong type system really allows you to focus on api design and .

The rest is taken care of by the compiler.¯\_(ツ)_/¯

It absolutely changes the way you think about algorithms and data structures, because you can finally focus on them and make them really fast without fear.

I've read about this in the "Service trait" post:
tokio.rs/blog/2021-05-14-inven

Thanks @zeroed and @kornel for sharing the blog post.🤗

The article is actually about a different topic, but they casually mentioned the 'static lifetime bound rule in a sentence, which has been so valuable to me.😍

I highly recommend the article - it mentions a lot of important concepts in .

2/2

Show thread

And another epiphany in 🤯:
When you have a generic type parameter `T` that is bound to the 'static lifetime, it basically means that:
- the concrete type for `T` must not have any references in them
- or must not have references in them that live shorter than the lifetime of the program.

Especially the first point wasn't clear to me at all.😮

See this elaborate example:
play.rust-lang.org/?version=st

1/2

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!