Thanks a lot for taking a look at the dependencies! I'm gonna be honest and say that I haven't spent much time "optimizing" anything, I haven't even arrived at a "first" version yet with Ditzes. But with that said, you have some good points :)
> How come you pull in both isahc and reqwest? On the surface, don't they fill the same role? Similar for rustls and openssl.
Yes indeed. I started with using reqwest, but it's no longer used and only isahc is used, so reqwest can be removed from the list.
Same with openssl/rustls. Started with rustls, but not longer used, so can also be removed.
Simply forgot to remove them at one point I guess.
> If you upgrade your readability dependency, you will only pull in reqwest once instead of twice. Might be useful to run `cargo tree -d`.
Ah, that's good to know. I'll do that once I put in some other changes, thanks!
> I'm not familiar with savefile? What does that get you over serde_json which you also pull in?
Rust savefile persists structs as binary data on disk, and also have versioning. Started out persisting everything as JSON, but loading thousands of posts (or even hundreds) from disk and deserializing them from JSON turned out to be quite slow. So using savefile mainly for performance, but I like the versioning/migration aspect of it as well, although I haven't used it yet with Ditzes.
serde_json is mainly used to parse responses from the HN API and to output JSON from the HTTP API, if I recall correctly.