If you're doing a lot of work in C/C++/Rust consider using sccache to cache compilations. It's easy to set up and will save you a lot of time and a huge amount of power.
"Unfortunately, most people seem to have taken the wrong lesson from Rust. They see all of this business with lifetimes and ownership as a dirty mess that Rust has had to adopt because it wanted to avoid garbage collection. But this is completely backwards! Rust adopted rules around shared mutable state and this enabled it to avoid garbage collection. These rules are a good idea regardless."
https://nexte.st/ is awesome. The expression language to filter for tests or simply display a list of available test made is "must-have" for me. #rustlang#rust
It's fascinating to me looking at beginning language guides and thinking "what does this say about the culture of the language"
When I was delving into #OCaml it was (with affection) "here's hello world and here's a dense academic paper on implementing event systems in OCaml 5!"
#Java guides used to be centered on the assumption that you were a web programmer looking to do applets, even long after that assumption died.
#RustLang generally seems to assume a background in programming w/ a CLI.
Hurl is a command line tool that runs HTTP requests defined in a simple plain text format.
It can chain requests, capture values and evaluate queries on headers and body response. Hurl is very versatile: it can be used for both fetching data and testing HTTP sessions.
Hurl makes it easy to work with HTML content, #REST / SOAP / GraphQL APIs, or any other XML / JSON based APIs.
I've been moving between neovim, helix (can't get over the slightly different mental model compared to vim), vscode, rustrover... Curious what others use.
usually, it is used to define methods, but in function arguments, it serves as syntactic sugar so you don't have to name generic types... but in a return type, it has a meaning that is slightly different, and actually expresses a semantic not even vanilla haskell can represent!
basically, instead of being able to return any type implementing a trait, it states that it can return at least one type that implements a trait.
in haskell terminology, specifying a generic type parameter is "forall a", while returning an "impl" is "exists a".