@schrieveslaach Besides all the negative comments here is a positive story:
I use Rust for pretty much all my private projects and host several of them (servers and bots) on a small VPS with 1 core and 1 GB memory.
Rust is very efficient here, not just for CPU but RAM as well. Each service takes only between 1-4MB some 10MB due to caches.
That wouldn't be possible with other languages. JVM and Node take at least 200MB by default. Go is with 40MB idling 100MB active.
@skunksarebetter thanks for sharing this, it's exactly what I need for one of my projects.
Was already implementing several prompts on top of crossterm myself and this does 1:1 what I need so I can safe myself from covering all the corner cases that I didn't catch yet.
Thanks again 🎉
@janriemer Yeah I think the same.
Used rocket for a while at first as it's really easy to use but I hit limitations to often and went to warp.
Warp is great in general but lacks a bit on the extensibility side. Many features are not open for extension (like adding new serialization formats) and require lots of boilerplate. Also, error handling is very tedious.
Axum looks so extensible and easy as well. I mean look at the template example. How easy it is to use a template crate for responses.
@Apitronics just from the docs it seems you have to do a `srv_lookup` with https://docs.rs/trust-dns-resolver/0.20.3/trust_dns_resolver/struct.Resolver.html#method.srv_lookup or similar on the AsyncResolver.
Then you need to run `ip_iter` on the `SrvLookup` https://docs.rs/trust-dns-resolver/0.20.3/trust_dns_resolver/lookup/struct.SrvLookup.html#method.ip_iter
Docs say that the IP list may be empty though. I'm not an expert on DNS resolution, so I don't know what would be the next step to retrieve the IPs. Maybe a separate query with the returned SRV entries 🤔
It's so satisfying if you have so tricky C construct and you find a way to map it to idiomatic Rust.
Such a nice tool Ansible is. And it makes it especially easy that systemd services are properly configured and handle many corner cases.
Just a bunch of commands that ensure a given state for packages, services, files... And it works without trouble or random failures.
@musicmatze no there is no way. I have to be on the bleeding edge... Can't resist the temptation... 😂
@musicmatze I might be lonely in that opinion, but everyone should just always use the latest version and upgrade whenever possible.
I personally would even bump the MSRV in a patch release for any of my crates simply because of that.
I understand not everyone can always use the latest version if on some very special hardware but in general upgrading is a no brainer, especially with rustup.
Sure, it's not 100% the same as the base image is different so you still can expect one or the other thing to fail when running against the cloud provider.
But still it's such a helpful tool to develop the setup all locally first.
@ayushsharma22 thanks, I'm already using Packer.
Using a mix of Terraform and packer for my deployment and used packer with shell scripts so far.
Now had a little chat with a DevOps guy who uses Ansible a lot and after that I finally started trying it out now.
With shell scripts there are just so many things that can go wrong, often failing my provisioning.
Just discovered #ansible for me. Of course did know about it but never properly checked it out.
Such a nice tool and just great to provision a base image for VPS instances. Especially not having to fiddle with all the edge cases when provisioning with shell scripts.
Still much to learn, I feel I just scratched the surface of it... Well, my setup is rather simple anyways 😅
@janriemer this is a neat tool I didn't know about (and my cargo installation list is already huge 😅).
Sure, it's not a safe tool for guaranteeing API compatibility as already pointed out by others.
Still, it gives a nice overview of the API changes, not just as maintainer but also as user of a crate. Especially if maintainers don't keep a changelog.
@musicmatze yeah that some messy AI assistant that gives you all the wrong input all the time... But I don't see why that would directly turn you to jump off the GitHub platform with all your repos 🤔
@tobtobxx especially the recently added msrv feature, dependency changes in the version history and distribution of version usage. All very useful features/graphs that crates.io doesn't have or presents in a much less readable way
🦀 Rust, 🐹 Go and 🍵 Kotlin enthusiast
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!