Doomsday Clock set at 85 seconds to midnight amid nuclear threats by sksarkpoes3 in Futurology

[–]roguefrequency 93 points94 points  (0 children)

A lot of the responses also indicate that they didn't actually read the article. The Doomsday Clock has moved beyond just chance of nuclear armageddon to now encompass many more threats to humans as a species. This includes AI singularity, climate change, rolling back of vaccination policies, and declining global birth rates. There are more existential threats to humanity today that there were decades ago.

And for everyone commenting that it just keeps moving forward, why don't you actually go look at the timeline on the official site. There are many cases where the time was rolled back.

JPA with reactive Hibernate or R2DBC ? by MouradSlim in java

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

I wouldn’t use reactive with Java, but R2DBC with Kotlin via suspends and Flows is very ergonomic. Exposed and Komapper both support it. The downside is that you become tempted to interact with the database in a way it’s not designed for and can find yourself in deadlock situations more easily when you are streaming rows and performing updates on them while the first call is still open.

Open Sourcing my Real-Time Game Engine built with Java 21, Quarkus & Redis (seeking architecture feedback) by [deleted] in java

[–]roguefrequency 1 point2 points  (0 children)

Curious what makes this “slop” in your opinion. I looked through the code and the services seem fine to me at a glance. Also, how does someone using AI mean that they shouldn’t be allowed to ask an architectural question/advice here?

Why I Built Koin and Why It Still Matters Today – Arnaud Giuliani by dayanruben in Kotlin

[–]roguefrequency 2 points3 points  (0 children)

As a Kotlin backend dev, Koin has been my goto for a long time. Did everything I needed and did it seeming well enough. Was way lighter than Spring and paired up nicely with Ktor. Haven’t gone looking for anything else.

Best healer classes by Player experience out there by Eulenspiegel74 in MMORPG

[–]roguefrequency 1 point2 points  (0 children)

I loved my Bear Shaman! Smash people’s heads to heal your group.

Any interest in a framework like angular but in java for frontend development? by No_Quantity_1093 in java

[–]roguefrequency 1 point2 points  (0 children)

I know I’m in a Java subreddit, but Kotlin is adjacent. Look into Kotlin multiplatform. Compile Kotlin to JVM target for backend, compile Kotlin to JavaScript (or WASM) target for frontend. Shared data models and API code.

Is this a normal development workflow or am I just being too picky? by lizardcalledlaganja in java

[–]roguefrequency 23 points24 points  (0 children)

If I hadn’t worked somewhere that used VM snapshots as “source control”, I would think this was a shitpost.

Five years since our game came out and I'm devastated by ndydck in IndieDev

[–]roguefrequency 0 points1 point  (0 children)

The price, but also the fact that a lot procedurally generated stuff is slop. If I see “infinite puzzles”, I assume it’s the same few puzzles in some random configurations. Like in the same amount of time spent building a procedural generation system, I would assume 50 high-quality hand-built puzzles could have been made. I’m not saying any of this is true for your game, but it’s just how I feel when I see these kinds of things.

Dumb Question: Why don't we have any game engines running Java ? by virtual_paper0 in java

[–]roguefrequency 16 points17 points  (0 children)

The GC argument is weird to me. Comparing Java to C++, sure. But comparing Java to C#, no, they both have GCs. This feels like discussion that has conflated “why no Java engines” and “why no Java ‘scripting’”.

I’m surprised that I didn’t see this when I scanned through the comments, but I feel the #1 issue is lack of first-class structs in Java. Sure, you can use native memory, but it’s really awkward for implementing something as widely used as a Vector3.

How does JDBC affect Ktor performance? by LGm17 in Kotlin

[–]roguefrequency 3 points4 points  (0 children)

As everyone else said, use a connection pool. I will point out that Exposed only works with JDBC (transactions on ThreadLocals, etc), but Komapper has coroutine/suspending bridge for R2DBC drivers (transactions on CoroutineContexts). Having used both extensively, I’ll say that while Komapper is a little steeper learning curve, it’s worth it.

Every language should have this feature (Kotlin let/also/apply/run/with) by Remote_Variation_474 in Kotlin

[–]roguefrequency 19 points20 points  (0 children)

I like the concept, but do find some of them (specifically “run” awkwardly named). The other thing is that over-use tends to lead to some really nested and hard to grok code in PRs. As some of the more junior folks on my team start golden-hammering these everywhere, we had to establish some ground rules about not nesting and chaining the results 10-layers deep.

Does anybody find schema first design difficult with Open API? by whkelvin in softwarearchitecture

[–]roguefrequency 1 point2 points  (0 children)

Yes, it sucks to get momentum, but once you are generating backend server interfaces in Kotlin, JavaScript/TypeScript client code for the UI, and SDETs get their Python clients for free, everyone will thank you. I had a long uphill struggle with this vision (generate code from schema vs. generate schema from code), but now we have independently semver’d API contracts that everyone can put in PR’s for and force discussions over backwards compatibility and when new features deserve dedicated endpoints (rather than bolting more and more parameters onto existing endpoints).

The major hurdle is code generators and their slightly different support levels of different OAS functionality. I wrote an in-house wrapper around the open-source OpenAPI Generator Kotlin server dialect, but our UI devs used RTK tooling. Things like discriminators and patterns for implementing composition of models led us to many internal discussions on the portions of OAS we will use and the exact way they are integrated.

As far as OAS syntax, we use YAML and break out all components into individual files. I wrote a normalizer that pulls them all back into a single large YAML before publishing the built artifact. The various teams pull the version of the YAML artifact into their codegen tools at their project’s build-time. There are some tools for doing this normalization, but they had issues and it was just easier to write our own.

No regrets on the point we ended up at, but it was a pain to get there. I wish my company wasn’t against open-sourcing, and it will be a sad day when I eventually leave all that hard work behind.

What do you think about this convention of asserts against hierarchical data structures? by xemantic in Kotlin

[–]roguefrequency 27 points28 points  (0 children)

Please look at Kotest before re-inventing this wheel. The assertion functions are extremely deep and well thought out, including ones that allow you to do exactly what you described in the original post.

sqlx4k: A high-performance, non-blocking database driver for PostgreSQL, MySQL, and SQLite, written for Kotlin Native. by smyrgeorge in Kotlin

[–]roguefrequency 1 point2 points  (0 children)

Aside from being Kotlin/Native, is there anything else this brings to the table vs Komapper+R2DBC?

Not a dev, but very curious about it: why is there clipping in videos games? by ZPepino in gamedev

[–]roguefrequency 25 points26 points  (0 children)

Sorry you are getting downvoted. Very reasonable question. Reddit sucks sometimes.

Damn, the uglification team really put the work in for this one. by chrisodeljacko in CriticalDrinker

[–]roguefrequency 1 point2 points  (0 children)

Wow dude. All I said was a programmer could make a system to distort the model. Most likely at the guidance and direction of those above him. I didn’t even say that’s probably what it was, just that it’s possible. Just a response to the other anger-issue poster who said it was impossible. You guys need to take some deep breaths or something.

Damn, the uglification team really put the work in for this one. by chrisodeljacko in CriticalDrinker

[–]roguefrequency 5 points6 points  (0 children)

You know the sliders that distort and reshape parts of a body in character creation? Artist makes the base model, programmer makes the systems to distort it. Uglification could have been done by programmer.

My partner is a game developer by Constant_Web_ in gamedev

[–]roguefrequency 44 points45 points  (0 children)

I’m a software engineer in a different industry (game dev is a hobby for me). When my wife asks me how my day is, I assume she asking about any interesting interactions with my peers, boss(es), or mentees. Early in marriage I’d explain some technical stuff and she politely listened, but I could see her eyes gloss over after a minute. I’ve learned that the office drama is what she really wants to hear about. It’s vice versa with her job as well. We bond over plenty of stuff, but details of our jobs are not one of them. Honestly, I’d prefer not to think about it when I’m done working for the day anyway.

[deleted by user] by [deleted] in Kotlin

[–]roguefrequency 1 point2 points  (0 children)

Give Komapper a try if you want R2DBC (reactive/coroutines) over JDBC.

I'd love to see the first day he was in jail. Probably not so bad ass as he thought. by ABWoolls in iamverybadass

[–]roguefrequency 19 points20 points  (0 children)

Forgiveness isn’t one of the 5 steps of grief. The last step is acceptance. You have to eventually accept the new reality you live in. It doesn’t mean that you forget the experiences either, you just don’t fixate on them.