frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Rust Dependencies Scare Me

https://vincents.dev/blog/rust-dependencies-scare-me/?
25•vsgherzi•1y ago

Comments

turtleyacht•1y ago
Probably hard to do during nine-to-five, but personally commit to being a contributor on every dependency used.

Like having mini contracts with every package, even if it's just to reproduce bugs, maintain a personal test suite, or to steer newcomers to resources.

Otherwise, we will always be in the dark about our dependencies, building our flying castles. (They float, but where's the foundation?)

Alternatively, there are open-source code scanners and bill-of-material security tools. Those could be added as triggered workflows in your projects, to run on each pull request.

As well, the author did rewrite dotenv's core features to replace it.

vsgherzi•1y ago
Yeah that's not a bad suggestion, I should def be more involved in the ecosystem. To do that for every crates seems exhausting though... Any favorite suggestions for scanners or SBOM creation tools?
turtleyacht•1y ago
Snyk has a free tier, but their Github integration passes workflows green more often than not. If you run it yourself as a container, you get finer-grained control over what to do with error code 1 versus error code 2: a vulnerability in changed versions, versus a pipeline error.

Sonar is free for open-source projects, but less package version security and more "use --ignore-scripts in npm," "don't be root in Docker container," and such.

vsgherzi•1y ago
Noted, I'll check it out! A shame so many are bound to github most of my workflow is tied to git on secured servers
armchairhacker•1y ago
IME unmaintained Rust packages usually aren't an issue, because Rust's backwards-compatibility is really good. Only if there's an unidiomatic design or bug in the part that you use, or a security vulnerability.

Rust dependency bloat may be an issue, but with good static analysis maybe not (the compiler can effectively remove dead code unlike JavaScript, and the IDE may be able to effectively filter it).

vsgherzi•1y ago
I wonder if there's a way to do a pass on a repo to remove code that will never be used due to the hardware you're targeting. You do have a good point in that it being unmaintained isn't necessarily the end of the world, I just kinda start to sweat when I think about ZX and see the advisories.
rc00•1y ago
> Many call for adding more to the rust standard library much like Go

> So now I pose the question to you what do we do?

1. Port your application to the language/tool that fits your needs like Go.

2. Hope that a language like Zig decides to feature a standard library as good as Go.

vsgherzi•1y ago
It feels a bit like throwing the baby out with the bathwater to completely swap languages. I was hoping rust could be a more general language for me.... I know they're not interested but I wonder if the foundation would ever entertain an opt in more expansive std library?

Go's is very nice however if I remember they ran into an issue with crypto that was hard to fix due to it being so bundled to the std library.

steveklabnik•1y ago
You may appreciate this RFC that was just opened https://github.com/rust-lang/rfcs/pull/3810
vsgherzi•1y ago
Hi Steve! Big fan!

Folks on Bluesky just pointed me in the same direction. Looks like it has potential.

steveklabnik•1y ago
Thanks :)

I’m not as positive on it, but at least if you are, you know where to lodge support.

rc00
weird_trousers•1y ago
That's the main criticism my colleagues have about Rust: a lot of unmaintained crates, and most of the time a lot of dependencies for... (almost) nothing.

It seems most of Rust developers adopt the pov of web front-end developers since a few years: depend on a lot of libraries for small things, never update your project to 1.0, and abandon "quickly" to build something new... and redo it again.

I really hope that alternatives like Zig or Jai will not let the community do like what they did with Rust.

vsgherzi•1y ago
It's such a cool language, maybe there's a way out or something I'm not seeing? Cloudflare, discord, and oxide seem to make it work pretty well... Always excited to see what new languages do. However it does seem like industry already has significant investment in rust so it seems like something we'll have to solve sooner than later....
steveklabnik•1y ago
It’s pretty simple: you choose the dependencies you want to have. Don’t like having a ton of them? Either choose carefully (which you should already be doing), or write it yourself.

Most people prefer to build off of the work of others, rather than reinvent the world for every project. That trade off is a trade off though, and nothing prevents you from taking the other side of it.

vsgherzi•1y ago
I get that. In general for something like a production server in cpp versus rust do you think the rust version is going to just have more lines of code associated with it or is it just the way I'm thinking about it? I love the Oxide podcast where you guys talk about your favorite crates and some of the ones you guys use in production. Are the dependencies something you guys really stress and investigate before pulling one in? I know things like axum are replaced with dropshot since you guys deemed it critical to your business (super cool crate!).
•
1y ago
You should evaluate on whether it is worth insisting on Rust. Others have gone down that path and it has only ended with regret[1]. The sooner you realize that you don't have the right solution to your problem, the sooner you can start solving it correctly.

What about the crypto library affects how you would use Go to solve your problem?

1. https://deadmoney.gg/news/articles/migrating-away-from-rust

steveklabnik•1y ago
You just can’t draw connections between number of dependencies, numbers of lines of code, and code you actually use, across ecosystems. See https://wiki.alopex.li/LetsBeRealAboutDependencies as an example of getting into the details about Rust vs C in this regard.

We don’t hyper stress about it. We do take care, in some projects (like embedded ones) we need to care a lot about binary size and so pay very close attention, and we keep abreast of security issues, etc.

Dropshot wasn’t written because it was critical to the business, it was because nothing had the OpenAPI support at the time we write it. It Axum or something else did, we’d have used it. We only write our own stuff when things in the ecosystem aren’t fit for purpose. We do sometimes find that our needs are different than others and so write our own, but this isn’t borne out of concern for dependency count.

vsgherzi•1y ago
Thank for the reply! I see, I guess I have alot more to think about ...
antonvs•1y ago
> It’s pretty simple: you choose the dependencies you want to have. Don’t like having a ton of them? Either choose carefully (which you should already be doing), or write it yourself.

Exactly. Why this is even a point of discussion is, to me, an indictment of everyone raising it as an issue.

stefanos82•1y ago
I thought I was alone thinking like this.

Honestly, when I want to compile a Rust project and see all these dependencies getting pulled in to get compiled along with the project, it gives me goosebumps, because I don't know whether these crates are safe and secured or not...

vsgherzi•1y ago
Yeah, I think in some sense it definitely looks worse than it is since a single crate like Tokio is spread among 20-30 crates. However even accounting for that there's still just alot of raw code...
weird_trousers•1y ago
You're definitely not alone. This situation is not new, and it isn't acceptable either.

The concept of `features` when using a crate is kinda cool as "you only download / compile what you use" *but* most of the crates are very badly designed, and also developers do not tend to reinvent a very tiny wheel when they can, but heavily depend of possibly dangerous crates to just serialize or deserialize a very simple data structure...

It's very annoying, as this increases the compilation time and introduces possible unsafe behavior in larger crates.

wofo•1y ago
Some people _do_ care about this (e.g. the proponents of this new RFC: https://github.com/rust-lang/rfcs/pull/3810). However, for some reason (culture, I guess?) there isn't much momentum yet to change the status quo.
antonvs•1y ago
Your “colleagues”?

You’re making the criticism, why not own it?

What you’re saying is the equivalent of Donald Trump’s “many people are saying”. It’s the recourse of the intellectually stunted who can’t muster a convincing argument.

vsgherzi•1y ago
Because I want my mind to be changed. I see orgs and companies I respect doing things differently than me but I don't understand why. I want to use this language, I want to use this ecosystem so I'm trying to get others who disagree with me to share what they think so I could possibly see things in a different way.

Antimony: CAD Software Evolved from Lisp Machines and Not Drafting Tables

https://www.mattkeeter.com/projects/antimony/3/
1•pmkary•2m ago•0 comments

Google Trends data on "will AI replace [job]" searches for 56 jobs

https://scrollytelling.ai/what-jobs-will-ai-replace/
1•vaitko•6m ago•1 comments

White Box Testing: Techniques, Examples and Best Practices

https://keploy.io/blog/community/white-box-testing
1•marxjenes•7m ago•0 comments

Show HN: XButForY - Showcase your X but for Y websites

https://xbutfory.com/
1•zackkitzmiller•12m ago•0 comments

Free Ableton Live 10 Packs from GitHub

https://github.com/gabrielfalcao/ableton-packs-free
1•gfalcao•13m ago•0 comments

Show HN: HackerBlogs – the 9,434 blogs HN people keep sharing

https://hackerblogs.app
2•_mad_eye_•16m ago•0 comments

Do not use this tool for music files

https://github.com/gabrielfalcao/mp3-organizer
2•gfalcao•21m ago•0 comments

Proton's AI manifesto for software engineering

https://proton.me/blog/ai-manifesto
2•doener•21m ago•0 comments

3D WebGL simulator of drug penetration in perivascular tumor cords

https://huggingface.co/spaces/spatial-continuum-lab/tumor-cord-sanctuary-3d
2•lcelebrano•21m ago•0 comments

Wir müssen wissen – wir werden wissen

https://remy.wang/blog/hilbert.html
1•remywang•24m ago•0 comments

Flowers and grass: poet Bui Giang

https://hanoiink.wordpress.com/2012/02/07/flowers-and-grass-poet-bui-gian/
1•remywang•25m ago•0 comments

Experience is the prompt: a robot model that learns new tasks in context

https://www.ccmtrx.com/research/co01/https://www.ccmtrx.com/research/co01/
1•yxgao•30m ago•0 comments

Swedish grocery chain refrigerators and freezers hacked overnight

4•u1hcw9nx•30m ago•1 comments

Show HN: HNMovies – 2,280 films and docs distilled from 20 years of HN

https://www.hnmovies.org/
3•init0•38m ago•1 comments

Malaysia's challenge is turning billions into lasting gains

https://www.nst.com.my/property/2026/10/1556080/84-data-centres-approved-malaysias-challenge-turn...
1•01-_-•39m ago•0 comments

CI-Friendly static linter for GitHub Actions

https://github.com/sisaku-security/sisakulint
1•ankitg12•40m ago•0 comments

Forking Fast: Efficiently Estimating Uncertainty Dynamics in Text Generation

https://arxiv.org/abs/2608.19611
1•Klaster_1•43m ago•0 comments

Creative Coding in the Age of AI

https://www.gorillasun.de/blog/creative-coding-in-the-age-of-ai/
1•gorillasun•46m ago•1 comments

OpenBio – frontier lab solving aging

https://twitter.com/openbiocompany/status/2117154582715678784
2•makosst•51m ago•0 comments

Show HN: HackerPapers – 3,314 arXiv papers and the HN conversations behind them

https://hackerpaper.kaipfister.de
2•Wasserpuncher•53m ago•0 comments

Ask HN: Do you read your coding agent's plans before approving?

3•hegdeguru•57m ago•1 comments

China's First Frontier AI Export Controls: Mofcom Announcement No. 48

https://labs.cloudsecurityalliance.org/research/csa-research-note-china-ai-export-controls-announ...
11•jonnybgood•1h ago•4 comments

Show HN: A battery runtime calculator for camping and off-grid loads

https://camppowercalc.com/en/calculator/battery-runtime/
1•chuanbuilds•1h ago•0 comments

The NYT/Siena polls show a blue tsunami

https://www.natesilver.net/p/the-nytsiena-polls-show-a-blue-tsunami
3•7777777phil•1h ago•0 comments

Storm Oil

https://en.wikipedia.org/wiki/Storm_oil
3•thunderbong•1h ago•0 comments

ADKA AI

https://www.adka.ai
1•cnych•1h ago•1 comments

An Illustrated Guide to AI Agents

https://github.com/HandsOnLLM/An-Illustrated-Guide-To-AI-Agents
2•saikatsg•1h ago•0 comments

Show HN: Roland T8 Interactive Tutorial

https://roland-t8.fokion.online
1•fokion•1h ago•0 comments

Setting the Record Straight on the Recent Witch Hunt Against Pixxel

https://twitter.com/awaisahmedna/status/2117133115336630374
1•dsr12•1h ago•0 comments

YouTube videos filtered by 43M HN comments over 20 years

https://hackertube.org/
1•zazuke•1h ago•1 comments