Readit News logoReadit News
adrianmsmith commented on Malleable Software   mdubakov.me/malleable-sof... · Posted by u/tablet
OtherShrezzing · 4 days ago
I think most of the SaaS stuff that benefits from being malleable already is malleable - just slowly malleable. I can configure a Trello or GitHub Actions in whatever way I want. Meanwhile I really want my email, messenger, or banking apps to be exactly the same every time I use them. I'm not clear how adding a non-deterministic UI or business logic layer is going to fundamentally disrupt or improve experiences like Jira or Visual Studio.

Maybe we're in some kind of local-optimal, where all project management software has coalesced around a few user journeys, and there's some better approach out there to be discovered.. But I don't see why an accounting software company, games studio, or vehicle manufacturer, would dedicate even 1% of its resources into crafting a malleable bespoke project management software toolkit.

It goes against the concept of comparative advantage, and I can't think of any successful enterprise that's bet against comparative advantage and won.

adrianmsmith · 4 days ago
> Meanwhile I really want my email, messenger, or banking apps to be exactly the same every time I use them.

I know that's not the point you're making, but I agree with you, alas that's already not the case today, e.g. random device updates nobody asked for, or you log in to your banking website because you need to pay something right now and half the features are gone or different.

adrianmsmith commented on Nick Clegg: Silicon Valley is full of wealthy men who think they're victims   theguardian.com/politics/... · Posted by u/4ndrewl
adrianmsmith · 7 days ago
I feel the implication in the article is that Clegg believes it's impossible to be a wealthy man and also a victim? I mean yeah these people probably aren't victims. But simply saying they're wealthy is insufficient to prove that.
adrianmsmith commented on We shouldn't have needed lockfiles   tonsky.me/blog/lockfiles/... · Posted by u/tobr
yladiz · 24 days ago
How do you change the order?
adrianmsmith · 24 days ago
You go into your pom.xml file (bunch of <dependency>) using a text editor and change the order.
adrianmsmith commented on We shouldn't have needed lockfiles   tonsky.me/blog/lockfiles/... · Posted by u/tobr
zaptheimpaler · 24 days ago
Dependency management is a deep problem with a 100 different concerns, and every time someone says "oh here it's easy, you don't need that complexity" it turns out to only apply to a tiny subset of dependency management that they thought about.

Maven/Java does absolutely insane things, it will just compile and run programs with incompatible version dependencies and then they crash at some point, and pick some arbitrary first version of a dependency it sees. Then you start shading JARs and writing regex rules to change import paths in dependencies and your program crashes with a mysterious error with 1 google result and you spend 8 hours figuring out WTF happened and doing weird surgery on your dependencies dependencies in an XML file with terrible plugins.

This proposed solution is "let's just never use version ranges and hard-code dependency versions". Now a package 5 layers deep is unmaintained and is on an ancient dependency version, other stuff needs a newer version. Now what? Manually dig through dependencies and update versions?

It doesn't even understand lockfiles fully. They don't make your build non-reproducible, they give you both reproducible builds (by not updating the lockfile) and an easy way to update dependencies if and when you want to. They were made for the express purpose of making your build reproducible.

I wish there was a mega article explaining all the concerns, tradeoffs and approaches to dependency management - there are a lot of them.

adrianmsmith · 24 days ago
1) "it will just compile and run programs with incompatible version dependencies and then they crash at some point"

2) "Now a package 5 layers deep is unmaintained and is on an ancient dependency version, other stuff needs a newer version. Now what? Manually dig through dependencies and update versions?"

You can't solve both of these simultaneously.

If you want a library's dependences to be updated to versions other than the original library author wanted to use (e.g. because that library is unmaintained) then you're going to get those incompatibilities and crashes.

I think it's reasonable to be able to override dependencies (e.g. if something is unmaintained) but you have to accept there are going to be surprises and be prepared to solve them, which might be a bit painful, but necessary.

adrianmsmith commented on We shouldn't have needed lockfiles   tonsky.me/blog/lockfiles/... · Posted by u/tobr
hyperpape · 24 days ago
> But if you want an existence proof: Maven. The Java library ecosystem has been going strong for 20 years, and during that time not once have we needed a lockfile. And we are pulling hundreds of libraries just to log two lines of text, so it is actively used at scale.

Maven, by default, does not check your transitive dependencies for version conflicts. To do that, you need a frustrating plugin that produces much worse error messages than NPM does: https://ourcraft.wordpress.com/2016/08/22/how-to-read-maven-....

How does Maven resolve dependencies when two libraries pull in different versions? It does something insane. https://maven.apache.org/guides/introduction/introduction-to....

Do not pretend, for even half a second, that dependency resolution is not hell in maven (though I do like that packages are namespaced by creators, npm shoulda stolen that).

adrianmsmith · 24 days ago
If you use two dependencies, and one requires Foo 1.2.3 and the other Foo 1.2.4 then 99% of the time including either version of Foo will work fine. (I was a Java developer and used Maven for about 10 years.)

For those times where that's not the case, you can look at the dependency tree to see which is included and why. You can then add a <dependency> override in your pom.xml file specifying the one you want.

It's not an "insane" algorithm. It gives you predictability. If you write something in your pom.xml that overrides whatever dependency your dependency requires, because you can update your pom.xml if you need to.

And because pom.xml is hand-written there are very few merge conflicts (as much as you'd normally find in source code), vs. a lock file where huge chunks change each time you change a dependency, and when it comes to a merge conflict you just have to delete the lot and redo it and hope nothing important has been changed.

adrianmsmith commented on Ask HN: Will I get left behind if I don't jump on AI train?    · Posted by u/LLcolD
adrianmsmith · a month ago
I'm not sure if that's an answer to your question, but there are at least companies today that do no allow their programmers to use GenAI e.g. OpenAI, including tools running locally.

You could (for now) work for such a company.

That doesn't mean they'll be around in the future, maybe they will get left behind. But the future is difficult to predict, and it's at least the case that such companies exist today.

Then again it might be difficult to identify such companies. I tried to find any public information that the company I'm thinking of doesn't use AI (large US company, 10k+ employees) and I couldn't. So you probably wouldn't know, before working there, that they don't allow AI usage. So maybe this advice isn't as actionable as I'd hoped.

adrianmsmith commented on What would a Kubernetes 2.0 look like   matduggan.com/what-would-... · Posted by u/Bogdanp
stuff4ben · 2 months ago
I really dislike this take and I see it all the time. Also I'm old and I'm jaded, so it is what it is...

Someone decides X technology is too heavy-weight and wants to just run things simply on their laptop because "I don't need all that cruft". They spend time and resources inventing technology Y to suit their needs. Technology Y gets popular and people add to it so it can scale, because no one runs shit in production off their laptops. Someone else comes along and says, "damn, technology Y is too heavyweight, I don't need all this cruft..."

"There are neither beginnings nor endings to the Wheel of Time. But it was a beginning.”

adrianmsmith · 2 months ago
It’s also possible for things to just be too complex.

Just because something’s complex doesn’t necessarily mean it has to be that complex.

adrianmsmith commented on Apple introduces a universal design across platforms   apple.com/newsroom/2025/0... · Posted by u/meetpateltech
chakintosh · 3 months ago
Interesting how it seems now Apple's realized they should have marketed visionOS for Enterprise from the beginning. Nobody was gonna be a $3k AR headset to edit text. The Enterprise is where the use cases are. And now seems Apple has pivoted towards that.
adrianmsmith · 3 months ago
Then again in the keynote today Apple proudly said Vision Pro was used by "thousands" of companies. So it sounds like it isn't such a success (yet?) in the enterprise either.
adrianmsmith commented on Apple introduces a universal design across platforms   apple.com/newsroom/2025/0... · Posted by u/meetpateltech
jakub_g · 3 months ago
> iOS 26, iPadOS 26, macOS Tahoe 26, watchOS 26, and tvOS 26

Bumping from iOS 18 / macOS 15 etc. towards year-based naming, nice. I wish more projects followed this.

adrianmsmith · 3 months ago
I liked it too with Windows 95, Windows 98 etc. Not sure why Microsoft dropped it tbh!

u/adrianmsmith

KarmaCake day3519March 1, 2011
About
Adrian Smith

Software developer from UK living in Vienna, Austria.

Blog: http://www.databasesandlife.com/

adrian.m.smith@gmail.com

https://twitter.com/adrianmsmith

View Original