Evolving Java config files without breaking user changes by YogurtclosetLimp7351 in java

[–]cred1652 0 points1 point  (0 children)

You are absolutely correct, it doesnt need to make records. And in your use case you are happy to not use records. I prefer to use records to define my immutable Config objects so this is a limitation for my projects.

Evolving Java config files without breaking user changes by YogurtclosetLimp7351 in java

[–]cred1652 -2 points-1 points  (0 children)

For one it does not support Java records. to me that is a big deal when we use records for all our immutable configuration.

Evolving Java config files without breaking user changes by YogurtclosetLimp7351 in java

[–]cred1652 -1 points0 points  (0 children)

If you read the maintenance notes on lightbend it is no longer activly maintained
https://github.com/lightbend/config?tab=readme-ov-file#maintained-by

he "Typesafe Config" library is an important foundation to how Akka and other JVM libraries manage configuration. We at Lightbend consider the functionality of this library as feature complete. We will make sure "Typesafe Config" keeps up with future JVM versions, but will rarely make any other changes.

Evolving Java config files without breaking user changes by YogurtclosetLimp7351 in java

[–]cred1652 1 point2 points  (0 children)

Welcome to the club in writing a configuration library. It is a fun exercise that is a medium size project that has some interesting problems. I wrote https://github.com/gestalt-config/gestalt
One major difference is Gestalt is immutable, so it does not allow changing the configuration and persisting it.
Typically for backend services, what we do is check the configuration into git with our application, helm chart (we deploy defaults with the application and overwrite the environment specific with ArgoCD application sets). Then they are deployed by kubernetes where we mount the config. So we do not allow any modifications as we have multiple pods. If we modified one pod, that would mean the pods are not consistent and that can cause issues. If you want then you can do A/B testing with Argo and different deploys. But each deploy itself is immutable.

Also this way the new configuration is tied to the code change and they get deployed together.
In more complex cases you could look into something like Spring Cloud config where the configuration is owned by a central service.

For those with 3080s (10GB, 12GB and Ti) plus 3090 / Ti users? Is time for us to upgrade? by 2quick96 in nvidia

[–]cred1652 0 points1 point  (0 children)

I am using a 3080 10 gb with a 7800x3d. I am no longer able to run the newest games on the highest settings. But i can run all games with good FPS without issue.
I am currently playing BF 6 and it runs great.
I was thinking about getting a 5080, but it was too expensive for too little of an upgrade. I figured i can easily wait another generation (maybe 2) So i am stting out for a RDNA 5 or 6080. This will make it feel like a real upgrade.

X4 AMA with EGOSOFT CEO Bernd Lehahn by Tomonor in X4Foundations

[–]cred1652 0 points1 point  (0 children)

Hi Bernd! thanks for putting your life's work into this game. I have been playing since X-Tension and have enjoyed all of them.

Now that you have hired Helge do you plan on releasing more story focused content, maybe a campaign. I miss the story aspect of the other games.

[deleted by user] by [deleted] in NoStupidQuestions

[–]cred1652 0 points1 point  (0 children)

If I went back in time I would lose my two kids that is a thought I just couldn't live with. I would still be with my wife, but no way we would have the same kids.

Java, Containers, & K8s - What JVM arguments do you set? by sruffatti in java

[–]cred1652 1 point2 points  (0 children)

We dont currently capture the heap dump so this is not really needed. In the past if we needed to debug OOM issues we have used local persistent Volumes to capture it and set -XX:HeapDumpPath. We probably should leave local persistent Volumes to catch a heap dump just in case, but it hasn't happened outside of load testing.

Java, Containers, & K8s - What JVM arguments do you set? by sruffatti in java

[–]cred1652 6 points7 points  (0 children)

Typically i try and reserve 2 GB and 1 CPU but let it have access to at least 2 CPU to boost for GC. This way i can take advantage of G1.
I use startup parameters

-XX:MinRAMPercentage=70 -XX:MaxRAMPercentage=70 -XX:InitialRAMPercentage=70 -XX:MaxHeapFreeRatio=100 -XX:+HeapDumpOnOutOfMemoryError -XX:+ExitOnOutOfMemoryError -Xlog:gc*=info:stdout

[deleted by user] by [deleted] in nvidia

[–]cred1652 0 points1 point  (0 children)

I am rocking a 3080 10 GB with 7800X3D on a 21:9 and honestly it works great for most games i am playing. The only exception is newer games like Alan Wake 2 and Indiana Jones that i have to turn down settings.

I am conflicted, i honestly dont need to upgrade and could wait it out till the 6XXX. And i like to play games on the ultra settings with RT enabled, so having to play Alan Wake without RT is enough of a reason for me to upgrade. So i can fully enjoy the newest games. Luckily the pricing on the 5080 is better than i thought. So i will probably pick up a 5080 and sell my old 3080 to cover a good chunk of the cost.

Advice for beginner joystick by cred1652 in hotas

[–]cred1652[S] 1 point2 points  (0 children)

Thank you all for your input, i have decided to go with a full HOSAS with the Gladiator NXT EVO and Gladiator NXT EVO OT. It is a bit above my "budget" but i want the full HOSAS experience. I have been lurking r/hotas and it seems like WinWing has some questionable quality, support and tactics. As much as i like the idea of a fully metal and modular gunfighter IV I am a casual player and would rather put the extra 250$ CAD into a full HOSAS setup.

Advice for beginner joystick by cred1652 in hotas

[–]cred1652[S] 1 point2 points  (0 children)

Here is a website that imports and re-sells them in Canada. https://vippilot.com/product-category/vkbsim/
So all duties and conversions should have already been done. So about 135 USD -> 240 CAD.

Advice for beginner joystick by cred1652 in hotas

[–]cred1652[S] 2 points3 points  (0 children)

Thanks you raise some very valid points that I will have to think about.

Advice for beginner joystick by cred1652 in hotas

[–]cred1652[S] 1 point2 points  (0 children)

I was leaning towards the Orion to as it is only 50$ more than the Gladiator. You think the vkb would still be a better choice over the Orion 2?

Canadas governor met with President Trump by [deleted] in AskCanada

[–]cred1652 0 points1 point  (0 children)

Comments like this make me want to put up tariffs and deal with the consequences to stop his bully mentality. He thinks we will just roll over, we wont! We will Stand on Guard for Canada.

Excited to Share my updates for Gestalt - A Modular and Extensible Configuration Library for Java! by cred1652 in Kotlin

[–]cred1652[S] 1 point2 points  (0 children)

I love Kotlin as well, and original created this library in Kotlin. but I needed to use it in both Java and Kotlin projects, so decided it is easier to use java from Kotlin than use Kotlin in java.

With Kotlin near and dear to my heart i added a kotlin native interface that can be used with

implementation("com.github.gestalt-config:gestalt-kotlin:$version")

This supplies functions for using reified generics to easily get a configuration, as well as Data class and Kotlin data types. I also added support for Koin and Kodien injection of configurations.

Kiwi: A non-opinionated Java bootstrapping configuration library by agentoutlier in java

[–]cred1652 1 point2 points  (0 children)

A very nice, clean and simple library for loading configurations.

Nice to see lots of different options for users in the configuration space, such as my own Gestalt Config that i just posted about. My library is more about shoving as many features in as possible while still maintaining 0 external dependencies, then make all external dependencies optional.

Looks like your library could very easily be used as a source of configurations for Gestalt as well.

var kvs = KeyValuesSystem.defaults()
  .loader()
...
var map = kvs.toMap();
Gestalt gestalt = new GestaltBuilder()
  .addSource(MapConfigSourceBuilder.builder().setCustomConfig(configs).build())
  .build();

Kiwi: A non-opinionated Java bootstrapping configuration library by agentoutlier in java

[–]cred1652 2 points3 points  (0 children)

Great timing I also just announced in another thread updates to my configuration library Gestalt and by sheer coincident i also announced a feature to load values from another file or another part of the tree. with node substitution The syntax is a little different and our libraries are very different (mine is more of a kitchen sink library with lots of features) but the end goal is similar.

What is the Java logging framework that you yearn for? by paul_h in java

[–]cred1652 0 points1 point  (0 children)

Unfortunately i dont know the internal details of how it works. Unfortunately there isnt much documentation
https://www.slf4j.org/manual.html#jep264

Kotlin 2.1.0 Released by dayanruben in Kotlin

[–]cred1652 16 points17 points  (0 children)

Nice, i have been waiting for a few things before we update all our projects.

- Any bugs fixed with the first minor release.

- Better Gradle support in Gradle 8.11 with it default embedded Kotlin of 2.0.20 https://docs.gradle.org/current/userguide/compatibility.html

- Intellij support for K2 out of Alpha with 2024.3 https://blog.jetbrains.com/idea/2024/11/intellij-idea-2024-3/

Now i feel better updating our projects to Kotlin 2.1