shakedown.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A community for live music fans with roots in the jam scene. Shakedown Social is run by a team of volunteers (led by @clifff and @sethadam1) and funded by donations.

Administered by:

Server stats:

271
active users

#java

15 posts12 participants0 posts today

Open-Source Java Utility Package Version 2025.05.17

A high-performance and user-friendly toolkit tailored for developing small to medium-sized back-end applications

- KPasswordVault: New class to securely hash, store and verify passwords
- KSMTPMailer: Added setLocalFQDNHostName()
- K: Added repeat(), truncateMiddle(), compressGZIP(), decompressGZIP()
- Updated Sample Code

#java #javautil #freeware #opensource #programming

java-util.k43.ch

java-util.k43.chJava Utility Package (Open Source) | Java Utility Package
Replied in thread

I want to draw my star background in game, not generic graphics frame. Obvs, apply g stuff!

Exception in thread "AWT-EventQueue-0" java.lang.IllegalAccessException: class gnu.expr.PrimProcedure cannot access class sun.java2d.SunGraphics2D (in module java.desktop) because module java.desktop does not export sun.java2d to unnamed module @4f612b26
at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:392)

Guess not. Wrapping each func manually works. SIGH #JAVA

Replied in thread

@profoundlynerdy just because something has types doesn’t make it Haskell-like. Haskell’s type system is in the family of Lambda Calculii (the “Lambda Cube”) which is called “System-F”.

I don’t know much about Raku, but it seems to me to me to be a bit more similar to TypeScript. And what differentiates TypeScript from other languages: it takes a horrible programming language like JavaScript and makes it less bad by giving it a type system, likewise Raku makes Perl less bad in the exact same way. (Sorry, I’m not trying to be impolite, but JavaScript and Perl are objectively, truly awful, horrible programming languages.)

So I see both Raku and TypeScript only being useful to a company buried in the technical debt of a hugely profitable production application that was very unwisely written in a dynamically typed language (Perl or JavaScript), which then unfortunately grew to millions of lines of code, and now it can’t be maintained by anyone, and it could never possibly be rewritten from the ground-up in a good programming language like Haskell for any reasonable sum of money. So Raku and TypeScript both offer a half-measure solution to that problem: make the maintenance of horrible computer code a bit easier with a type system.

Haskell was never intended as a fix for horrible code, it took a really good experimental programming language called Miranda and turned it into something that you can use to do real, practical software engineering, and it does it better than any other language ever invented. You write a system in Haskell because you know up front that you want it to be stable and maintained in a cost-effective manner for decades.

Zig is not similar to Raku or Haskell. It is more analogous to what Scala does for Java. Java is already statically typed, but Scala’s type system is better, and it’s runtime is fully compatible with Java. Likewise, Zig is fully compatible with the C language runtime, but provides a slightly different, slightly better static type checking system than the C type system. Zig also solves a bunch of other problems that C has by providing it with modern features like namespaces and modules, which makes it much easier to use than C. Zig is the perfect way to replace old C code with something more modern, but only if you don’t need it to be as rigorously correct as Rust. I think Zig would be a nice language to use to replace non-safety-critical front-end libraries like Gtk, or maybe for things like game engines.

Replied in thread

I have a screen full of enemies, who move implacably towards me, I can shoot at them and kill them… all good stuff! I had to make a diagram to remember how atan worked. I know, grade-school math but 95% of my work doesn't need geometry or trig! I'm lucky I remember this much.

What I can't work out is casting a goddamned string from (format) to a Java string so I can update a label! Fuck Java!

Gotta love James Gosling (inventor of Java). According to this excellent interview and article by my @TheNewStack colleague Darryl Taft, Gosling "dismissed claims by tech executives like Mark Zuckerberg and Marc Benioff that AI will reduce the need for engineers as “entirely self-serving horseshit,” seeing such statements as positioning tactics and thinly veiled threats to extract more work from employees." thenewstack.io/java-at-30-the- #Java #AI

The New Stack · Java at 30: The Genius Behind the Code That Changed TechFrom trash-diving teen to tech pioneer, James Gosling's pragmatic genius shaped three decades of Java and modern computing.

Traditionally, at least in #Java, #i18n strings are stored in text files and referred to by name.

This has a problem: if you try to fetch a string by a name that isn't actually in the files, the compiler won't warn you. You'll only find out at run time.

Would it perhaps be better if these string bundles were interfaces, with one class for each language and one method for each string? Then the compiler can ensure that no strings are missing.

🤔

🚨 We've extended the deadline to Sunday, May 18th at 11:59 PM EST! 🚨

We’re seeking an experienced developer passionate about open-source, technical leadership, and community-driven development. The Processing Project Lead will manage software maintenance, the roadmap, documentation, and contributor support.

Read more and apply at: processingfoundation.org/emplo

Full-time, fully-remote, $95K

Made the mistake of reading HN comments about Firefox "moving" to GitHub, and remembered this sage advice -

> Vidrun, born of the sea-wind through the spruce
> Vidrun, green-tinged offshoot of my bough, joy and burden of my life
> Vidrun, fierce and clever, may our clan’s wisdom be yours:
> Never read Hacker News

From this hilarious post -
aphyr.com/posts/341-hexing-the
...of this hilarious "Technical Interview" series -
aphyr.com/tags/interviews

aphyr.comHexing the technical interview
Replied in thread

I wrote and shipped multiple games in Java. In actual raw-ass try public static void Object[] is not a list catch finally Java shit.

Even remote-controlling it like this is excruciating, and it's like 1/4 as bad as the real stuff.

… OH! RIGHT! This is why I drank my liver half to death! Why I don't remember most of 1995-2010! Why I pissed away most of the money I made, and made all my friends and lovers mad! Moment of Fucking Clarity here, kids!

Don't Do Java.

Is Node.js the future of backend development, or just a beautifully wrapped grenade?

Lately, I see more and more backend systems, yes, even monoliths, built entirely in Node.js, sometimes with server-side rendering layered on top. These are not toy projects. These are services touching sensitive PII data, sometimes in regulated industries.

When I first used Node.js years ago, I remember:
• Security concepts were… let’s say aspirational.
• Licensing hell due to questionable npm dependencies.
• Tests were flaky, with mocking turning into dark rituals.
• Behavior of libraries changed weekly like socks, but more dangerous.
• Internet required to run a “local” build. How comforting.

Even with TypeScript, it all melts back into JavaScript at runtime, a language so flexible it can hang itself.

Sure, SSR and monoliths can simplify architecture. But they also widen the attack surface, especially when:
• The backend is non-compiled.
• Every endpoint is a potential open door.
• The system needs Node + a fleet of dependencies + a container + prayer just to run.

Compare that to a compiled, stateless binary that:
• Runs in a scratch container.
• Requires zero runtime dependencies.
• Has encryption at rest, in transit, and ideally per-user.
• Can be observed, scaled, audited, stateless and destroyed with precision.

I’ve shipped frontends that are static, CDN-delivered, secure by design, and light enough to fit on a floppy disk. By running them with Node, I’m loading gigabytes of unknown tooling to render “Hello, user”.

So I wonder:
Is this the future? Or am I just… old?

Are we replacing mature, scalable architectures with serverless spaghetti and 12-factor mayhem because “it works on Vercel”?

Tell me how you build secure, observable, compliant systems in Node.js.
Genuinely curious.
Mildly terrified and maybe old.