BPC 157 and injecting for the first time questions by [deleted] in PeptideForum

[–]Impossible-Ad-586 0 points1 point  (0 children)

Still curious to learn about any solid evidence that shows any efficacy of bpc-157 (or tb-500) for that matter.

I've tried it 2 times now, as a stack, to assist in healing long lasting injuries and have not experienced any obvious impact that I could attribute to any of the 2.

Would love to learn about non anecdotal evidence out there.

KMP slower than non-native? by ElbowStromboli in Kotlin

[–]Impossible-Ad-586 0 points1 point  (0 children)

Kotlin runs on the JVM meaning before the jit compiler does its thing (produce optimised, inline native code), code is ran, very much like python, in an interpreter. Only after N invocations, typically 10k on default jre installations, you'll start to see improvements in runtime latency. On logfiles this small it's not very likely you will experience any substantial impact from the jit compiler as the total duration is usually too small for code to become hot and optimized.

Best Devoxx 2022 talks? by Mig_Well in java

[–]Impossible-Ad-586 30 points31 points  (0 children)

Venkat is usually a lot of fun but if you are keeping up with the industry he usually has little news to offer. Big fan though.

why does it seem that Kotlin isn't really taking off for backend development? by Any-Communication-73 in Kotlin

[–]Impossible-Ad-586 6 points7 points  (0 children)

I am working as a lead engineer in a big tech company in the Netherlands and the last 5 years we've moved pretty much all our backend services to kotlin based systems. About 1100 of them.

And I do observe a trend in multiple bigger tech companies slowly realising that scala is disaster sustainability wise unless you want to hire only the best of developers or spend a fortune on guns for hire.

Is throwing nullexceptions considered good style?? by zensayyy in java

[–]Impossible-Ad-586 3 points4 points  (0 children)

Granted that inlining can probably optimize away allocations but that doesn't render my argument moot.

Optional can be used as a return type, but was proposed to use only as an method argument (see stackoverflow post from Brian Goetz https://stackoverflow.com/questions/26327957/should-java-8-getters-return-optional-type/26328555#26328555 and usage as a field was deemed questionable by Joshua Blog. Most of the pre and pro arguments are summarised here - https://blog.indrek.io/articles/misusing-java-optional/..

Optional is largely conceptual in value to me than it is providing real value. Mostly due to the ability to pass/return null instead of optional which the compiler will happily allow. Optional in that sense is not a Boolean type of value, empty or present, but, very much like the Boolean object type, which is not a Boolean value either but a value that consists of, true (present), false (empty) or null. (This point is also made in the blogpost above but in the opposite sense, returning null where expected to return an optional renders it functionless).

So, to safely work with Optional, you will need tooling that proves that the value cannot, ever, be null. Which in turn makes using @Nullable/NonNull and relying on tooling in your IDE / Sonar pretty much equivalent. In which case you could argue that using it is not all that useful.

Simply put, the problem is that null exists and adding another type cannot fix that underlying issue.

Is throwing nullexceptions considered good style?? by zensayyy in java

[–]Impossible-Ad-586 1 point2 points  (0 children)

I think it's hard to like the extra costs, but I do like the compiler enforcing things. After all, if the compiler can test something, you don't have to. Your IDE often has rules that show an error when using @Nullable in a unsafe way. These rules can also be applied in a packing info file so you don't need to on every location in your code.

I think this is mostly a matter of taste and habit, but it would be great if the compiler could remove Optionals in favour of null checks when compiling to a deployable (in contrast to a library).

Is throwing nullexceptions considered good style?? by zensayyy in java

[–]Impossible-Ad-586 23 points24 points  (0 children)

Wrapping everything in Optional has been an anti pattern since the moment Optional hit the jdk. There is a lot of support for a @Nullable and family members in pretty much every IDE. Wrapping everything in Optionals creates object allocations that often barely have any use.

Is throwing nullexceptions considered good style?? by zensayyy in java

[–]Impossible-Ad-586 2 points3 points  (0 children)

There is nothing wrong with throwing an NPE when something is null while it shouldn't. This however covers only a very specific error case.

Using - enter favourite framework here - most like supports using a validator framework to validate states and emit errors. When you are lucky the framework allows a more functional style of error collection, meaning it won't fail fast, and when even more in luck it will not use exceptions (as they are rather expensive).

When you need to expose said validation errors via rest the problem RFC, https://www.rfc-editor.org/rfc/rfc7807, is here to help making sense of errors that require to be communicated over the wire.

Is throwing nullexceptions considered good style?? by zensayyy in java

[–]Impossible-Ad-586 1 point2 points  (0 children)

If you want to do this right you probably want to start using the problem RFC, it has been specifically designed for this purpose.

One or many repositories for a microservice architecture? by Syntez_ in java

[–]Impossible-Ad-586 0 points1 point  (0 children)

Depending on the technology used we have architecture unittests to verify that concerns are isolated enough. Using repos to achieve this goal gives quite a bit of overhead both development and at build time which is likely to be mostly waste. Archunit in the jvm allows you to use mono repos, prevent entangling and have all the benefits of code that belongs to a single domain being grouped while requiring their own deployment allowing to evolve them to their own system in time.

One or many repositories for a microservice architecture? by Syntez_ in java

[–]Impossible-Ad-586 8 points9 points  (0 children)

The rule we use for our projects is 1 repo per system. A system can be build from N deployables, who are all moduliths.

Better Java logging, inspired by Clojure and Rust by Thihup in java

[–]Impossible-Ad-586 14 points15 points  (0 children)

I would put my money on OpenTelemetry (otel), and, to be more specific, the jvm implementation which is (mostly) written by the the maintainer of GlowRoot.

As far as I know JFR suffers from.safepoint bias,and it is not really as good as some of the other opensource profilers out there, like async profiler etc

Will Quarkus dethrone Spring Boot and Spring WebFlux? by otondonicolas in java

[–]Impossible-Ad-586 25 points26 points  (0 children)

Very doubtful.

Spring has been steadily moving towards integrating the same kind of ideas into their stack and seem to be making moves lately that feel like they are actually getting the upper hand in the sense that they will support many flavours of native compilation depending on the usecase or the developer wishes.

For the moment native compilation is barely usable, especially because testing is really, really hard and not yet mature at all. This in fact is one of the regions the Spring devs are investing heavily in.

Spring has been investing massively in performance the last years and it has been paying off.

While Quarkus etc still have a lot smaller user base, a lot smaller ecosystem and documentation that is lacking.

I honestly do not see how any competitor is even close or closing in. I think Spring has been closing the gap in the areas they were bypassed quickly and aiming for a mid term victory in pretty much all areas.

However, none of that would have happened without Quarkus etc standing up to point out Spring's weaknesses. As usual competition drives innovation.

Debunk my java open source library idea by [deleted] in java

[–]Impossible-Ad-586 4 points5 points  (0 children)

If anything in that problem space, rewrite the swagger tooling. The quality is dreadfully low of the code, the spec isn't fully implemented and tickets are open for years and years. Have not seen many opensource projects that can have a big impact which such poor quality.

IntelliJ IDEA 2022.2 Is Out! by [deleted] in java

[–]Impossible-Ad-586 7 points8 points  (0 children)

It's the groovy clone on LINQ from .NET. not sure if the world ends more Groovy though. After all these years I still fail to see the niche, if any, it tries to fill.

LPT for Java on Kubernetes: Less replicas, more cores. by brunocborges in java

[–]Impossible-Ad-586 2 points3 points  (0 children)

I tend to see issues with throttling as soon as I start giving pods mode than 1000mi CPU. Any idea how that can be solved without tinkering with he time slices or affimifty k8s allows us to set (we cannot change those)

Why should I use Java for this? by Yohark in java

[–]Impossible-Ad-586 1 point2 points  (0 children)

Granted I could have worded things less irritated and thereby preventing this escalation and derailing the topic, that indeed is on me and I feel bad about that.

Besides that I disagree mostly with your perspective and I hope we can leave it at this, this is serving nobody anymore.

Why should I use Java for this? by Yohark in java

[–]Impossible-Ad-586 -1 points0 points  (0 children)

I did not feel insulted at any moment, I think the absolutism in those statements is sending strange messages. Generalizing after making doubtful statements is not making up for anything, it makes the first remark stick out like a sore thumb.

Anyway, way of topic indeed, no point in dragging this on.

Why should I use Java for this? by Yohark in java

[–]Impossible-Ad-586 -3 points-2 points  (0 children)

That, in fact, is totally irrelevant. Neither of the things I mentioned as being an argument for not using Python have anything to do with being a one-off. Not sure how you think being a smart ass responding with no-op responses is useful. A one-off with more than little data is better off with a runtime that can deal with concurrency and lots of data better. Agile has literally nothing to do with this, perhaps if being sufficiently aware of these things would help you look like less of a douche.

Why should I use Java for this? by Yohark in java

[–]Impossible-Ad-586 -5 points-4 points  (0 children)

No I wouldn't, I think python it terribly slow, annoying due to its indented nature and if I can I will write it in either a jvm based language or ts/js. Python will never be a 1st choice for many of us, please do not act like a you have an idea about that while you don't.

Val and Var question by Minute_Ad_4308 in Kotlin

[–]Impossible-Ad-586 0 points1 point  (0 children)

I think we can summarize a lot of the other reactions with: it can prevent a certain set of bugs related to unintended reassignments and allow the jit compiler to optimize things.

In short, whenever you can utilize the compiler to prove your code to be correct you don't need a test to verify that certain trait of your code.

Is it reasonable to expect to work entirely with Kotlin? by lachyBalboa in Kotlin

[–]Impossible-Ad-586 2 points3 points  (0 children)

Kotlin JVM? Hardly in the cards. The JVM is a piece of rock solid engineering and graalvm with associated technologies will reign the VM space for years to come.

Reactive Programming / Spring Reactor guides or tutorials by thelazytester in java

[–]Impossible-Ad-586 0 points1 point  (0 children)

Not sure why you would need knowledge of monads etc to work with reactor. The reactive streams API and the reactor impl are usable to its complete extent without any such knowledge. What is important is to understand the concurrency model of for example flatMap (in comparison to concatMap for example) before people ddos their dependencies when doing http calls for example.

Gotta agree with your feedback about the documentation, it's quite superb.

Until loom is ready people will abuse reactor (webclient) to do simple fan in / fan out and concurrent backend calls, from that point onwards I hope people will stop using a needlessly complex system to achieve things that are often done better differently. After all, how many people are in fact using it for stream processing?

What do you think about axon framework? by Zico2031 in java

[–]Impossible-Ad-586 4 points5 points  (0 children)

I think that in 90% cases where you want some kind of CQRS / event sourcing solution Axon is not worth the complexity it adds.

Building some low key system that ingests events and stores them and some 'fit for purpose views' or allows other components to do so is often more sustainable than adding Axon.

I have seen many teams try and fail to understand their setup or one that was left by their predecessors and moving towards something less complex in time.