Hacker Newsnew | past | comments | ask | show | jobs | submit | more jpitz's commentslogin


Heh, glad to see it, was gonna post this. Now you have it, do you want to use it. (bluff call time LOL). Being a bit facetious, don't get too offended at the joke, people. But yeah, Xonsh is the "python(ish) shell" option if that's what you want.


oh yeah that looks cool


Which works fine.....until it doesn't. Many non-trivial builds require custom logic, and trying to do that in maven was painful the last time I tried it.


Yeah. It's Greenspun's tenth rule.

If you have any complexity, programming against a good abstraction (Gradle is not good good, but decent) beats finding the magical incantation of configuration to get the tool to do what you want.


I think folks just get used to Maven-induced constraints (this applies to SBT, Bazel, others too). When you free yourself from that you realize: builds just aren't all that hard, it's often the tooling that becomes a real limitation.

Of course, sometimes the limitations are good: preventing you from doing "the wrong thing", or encouraging cacheability, etc. But as with any abstraction layer - getting a model that fits across so many disparate use cases can be very challenging.


I have found that if it is hard to do in maven you probably shouldn't be doing it or there is a better way.


That is why maven offers a plugin model for your custom logic that can be written in Java/Kotlin and a well defined lifecycle model where you can configure your plugin declaratively.

You can also download custom CLI tools and invoke them as part of a well-defined build lifecycle.


And then fail to do proper incremental builds, leaving you with no choice but a faulty build or clean installing on every occasion.

At the very least, I would move to Gradle which does have proper knowledge of your build graph. But Mill is also a good choice and fills the same niche, with the added benefit that imperative-looking ordinary scala code will simply become a parallelizable, cacheable build graph.


Out of curiosity, what is non-trivial in this context?


Are you talking about Airflow Datasets and data-aware scheduling?

https://airflow.apache.org/docs/apache-airflow/2.4.0/release...

Isn't that about as recently as Dagster?


Yes, asset-aware scheduling.


That response says more to me about the hiring organization, and not in a good light.


Possible Snow Crash warning too, I guess?


Good ole M-x butterfly


"Do One Thing" is to me maybe best understood in the context of the Single Layer Of Abstraction Principal - it has helped me numerous times to be very intentional about following SLAP in complex code, and Do One Thing seems to fall very naturally out of it.


Greg Smith wrote a book about postgres high performance that does go into the internals a bit and how to analyze performance problems. If you want to be a DBA, this will probably wind up needing to be in your back pocket at some point.


5120x1440p if it's the same monitor i have.


My take from it was that the question prompted the change author to introspect his feelings about the change and revisit it, making it better.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: