Live data from Hacker News

Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning

github.com

31–40 of 57 posts

Re: Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning

#31
post #28

Doesn't just stopping using version ranges also help with this? I've never understood why people would allow a package manager to update a piece of their code for them automatically. Using specifiers like ^1.5.3, allowing package manager to go all the way up to version 1.999 automagically is just asking for trouble. Find a set of versions that is self-compatible and works, and pin all your versions to those specific…

In theory, sure!

In practice, it will stay pinned for years until a CVE forces a patch upgrade that ends up triggering a dependency avalanche and weeks or months of headaches.

Re: Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning

#32
post #28

Doesn't just stopping using version ranges also help with this? I've never understood why people would allow a package manager to update a piece of their code for them automatically. Using specifiers like ^1.5.3, allowing package manager to go all the way up to version 1.999 automagically is just asking for trouble. Find a set of versions that is self-compatible and works, and pin all your versions to those specific…

This is usually managed with lock files.

Package spec puts down what it should work with, you pin a specific version in that range for your app that you've tested.

Otherwise updating things will never happen. Unless you have full separation between upstream dependencies (so you can have multiple versions at the same time) - and that brings huge questions - a single dep 3 steps away can stop you upgrading.

Ranges also communicate "this doesn't work with later than X" as well.

Re: Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning

#33
post #24

Earlier quoted context omitted.

Without saying one thing or another about the bots ability or propriety, I'd still argue that if the burden of summarizing succinctly something you wrote is so great that you need to pull out high-powered AI technology to do it, you should probably should spend some more time thinking about what you are writing. Who cares about pure velocity if you are really trying to communicate something? We shouldn't measure writ…

I am the author of the post. The reason is that English is not my native language, and summarizing is very resource-consuming for me, much more than if I had to do it in my native language. But I take note of the antagonistic aspect and I will make sure to rewrite the summary ;)

Well you should know that you're writing is just fine as it is! Definitely understand and appreciate your motives here either way. I don't agree with the fellow commenters that this alone is enough to dismiss the entire thing, its not that big of a deal one way or another.

Re: Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning

#35
post #20

It good people are thinking about this problem, but this proposal doesn't address some fundamental issues. E.g, - why developers/maintainers choose the package granularity they currently do. e.g., you can have tiny granular packages today (npm famously has single-simple-function packages, which is widely derided, BTW). Developers break down packages in a way that makes sense to them to best develop, test, maintain, a…

The really, really fundamental issue this proposal doesn't touch at all is that you also need to

- either version the data structures/classes/shapes of dictionaries/whatever that a function accepts/returns;

- or have converters between different data versions and use them inside your functions.

As I said in another topic on HN which was about that project that hoped to bring hot-code reloading in a C REPL or something: changing the code inside the running program is the least of the problems; flawlessly updating the data inside the running problem so that the new code could proceed to work on it — that's the hard problem (think e.g. about rolling back the update that threw away the bunch of fields).

Re: Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning

#36
post #16
post #7

What if the functions modify some type of external state. E.g. in TypeScript, what if a module property is updated by one function and referenced in a different function? How would two functions share the same state if they were at different versions?

What's missing there is dependency between functions, between data / types and functions, and versioning of data / types themselves. Once a node in this graph (a function, a type) changes, it may require a version change of anything that depend on it (a function, a type), because the behavior / contract may materially change even if the code itself did not change! I suppose this is handled by changing the module vers…

Came here to point out exactly this.

Re: Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning

#38
post #22

This will make the chaos worse. Instead of having to figure out compatible versions of dozens of packages, you will now have to figure out compatible versions of thousands of functions. The solution to dependency chaos is grouping dependencies together and versioning the larger group, not splitting into even more dependencies.

I think at this point we should quantify the proportion of "inflationary" updates (i.e. those that bring absolutely nothing in terms of functionality or security) versus real updates. Let's take a fictional example: I import D3.js to use the parseDSV() function, after 2 years the method has not received any updates, but the package has gone from version 1.0.2 to 5.0.2. With a granular system, my function would still…

Wouldn't there be a bunch of releases with newer numbers? Or would that function maintain a module number of 1, while other functions in the same file would have updated to 2,4,5?

Re: Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning

#39
post #4

Earlier quoted context omitted.

You stopped reading because the author used ChatGPT to create a summary of an article they wrote themselves? This may actually be the best use case for ChatGPT.

Depending on how exactly you mean use, I would not say so, because chatgpt cannot actually summarize anything. In this case it may be ok because we may assume the author looked over the result and agrees with it. They could remove the citation as far as I'm concerned, the same way they don't have to cite their spell checker. But a summary is a distillation of an understanding. chatgpt does not understand anything, it…

> chatgpt does not understand anything, it is merely pattern-matching against and recomposing other texts.

Research looking at a GPT model trained to play othello showed it had a model of the board state rather than simply pattern matching moves. You're confusing the training of a model with the operation of a model.

Re: Ending Dependency Chaos: A Proposal for Comprehensive Function Versioning

#40
post #24

Earlier quoted context omitted.

Without saying one thing or another about the bots ability or propriety, I'd still argue that if the burden of summarizing succinctly something you wrote is so great that you need to pull out high-powered AI technology to do it, you should probably should spend some more time thinking about what you are writing. Who cares about pure velocity if you are really trying to communicate something? We shouldn't measure writ…

I am the author of the post. The reason is that English is not my native language, and summarizing is very resource-consuming for me, much more than if I had to do it in my native language. But I take note of the antagonistic aspect and I will make sure to rewrite the summary ;)

FWIW, I'm a native English speaker and I've used ChatGPT to copy edit my own text to good effect, as well as both summarising and expanding on topics. If it helps you, I hope you don't feel the need to avoid using a useful tool.

If it's causing issues, you can remove mentions of it (I know there's also a desire to call out when it's not your own words entirely though). I'd only feel the need to explicitly say it was from a model if I'd not reviewed it - to make sure if it said something wrong it was clear to readers I'd not approved it.

I'd like it if it was more accepted though and it's a shame this has come up as a discussion.

Post reply on HN