It sounds like you need to evaluate whether or not your dreams are a good match for your personality. If you don't have the ambition or drive to do the daily work required for either a machine learning PhD or a medical degree, then your dreams are irrelevant, since the odds are good that you won't complete either of them.
Take a step back and try to really come to grips with your own limitations, and whether or not you're actually willing to put in the work to overcome them in order to achieve your dreams, whatever they may be.
This is the situation I'm in. I feel like it not be feasible for me to keep up with the very high workload for another 4-years, hence why I'm considering switching to medicine. I know realize this sounds provocative but it's not intentional, medicine is genuinely quite a bit easier here than the program I'm in. Probably quite comparable to a regular engineering degree from a good university.
Ideally you would choose dependencies with minimal dependencies of their own (very few if any common dependencies), so you have a manageable number of versions and near complete freedom of choice of those versions.
And ideally, you'll wrap them too. In what is often called "Anti-Corruption-Layers". Often very simple Proxies or Adapters. Consequentially, this makes testing (in isolation) far easier too.
Which also means you'll choose libraries that are decoupled by design because the others are really hard to write such wrappers for.
Sometimes quite useful, yes, though I would strongly emphasize that the goal is not to wrap the entire API of the dependency -- that is pure busywork and doesn't stave off "corruption". Just the (consciously quite minimal) parts you actually need.
I'll usually even add another guard: only add them if the library uses non-domain language.
For example, so that you can say "chargeCard(payment)" in your domain and app, Instead of having to do things like "openAnonCustomer(payment.customerId) && pmt= addPayment(payment.amount, payment.currency) && bookPayment(pmt)" or whatever weird language, order, or transaction boundaries a library uses.
Yes, but the whole point is that you don't have to update all your dependencies at once.
Even if you do find yourself needing to update your dependencies, you can do them 1 at a time. This way you aren't stuck with a not building, completely broken codebase for days while you refactor to adapt to new changes.
Ugh. Academic marketing groups can be just as ridiculous as corporate marketing groups. The modeling device happens to be about the size of a kitchen sink, it isn't an actual kitchen sink.
Here I was, reading the headline, thinking a hungover geologist was getting a morning glass of water at their newly installed stone sink and had a eureka moment. Reality is so disappointing.
This was a pretty interesting adicle until the sales started in earnest. Tines looks mildly interesting, but it's wildly expensive and the community edition isn't available on-premises, so it's a hard pass from me. Plus, I'm immediately skeptical of any company that crows about anything Gartner-related.
This is a pretty good list, in particular the section on 'Feedbacking People' is an excellent summary of the importance of using performance reviews to actually review how systems and processes are hindering or helping someone's performance, versus just trying to review performance without any context.
It's an open platform. If you and others think a less popular newsletter should be more prominent, you can push it up the rankings, much like posts on HN.
That's a rather dismissive attitude. Internet personalities and their fans have gone to war before, and you could dismiss those just as easily as just about "gaming" or "PC hardware" or similar.
Like why not "just politics" and "just land." See everything can be thrown out with the bathwater that way.
I believe the question is less about input latency than (as mentioned,) scheduling latency or the amount of time from when the scheduler marks a process as 'ready to execute' to the time it actually starts executing.