Sign in

BellSoft

@bellsoft.bsky.social
141 followers 16 following 656 posts

Delivering #LibericaJDK: supported, #Java standard compatible binaries. Among Top-5 #OpenJDK contributors.

PostsRepliesMedia
BellSoft @bellsoft.bsky.social · 4h
Several callers waiting on the same CompletableFuture? orTimeout() times out the future you call it on. Use copy() to give one caller its own timeout without timing out the shared future. Java 9+. #Java
000
BellSoft @bellsoft.bsky.social · 09/10/2026
A semaphore caps concurrent calls, but callers can still wait for a permit. tryAcquire(timeout, unit) puts a bound on that wait, so you can stop waiting when capacity remains unavailable. This only limits permit acquisition. The API call itself still needs its own timeout. Works with virtual threads
000
BellSoft @bellsoft.bsky.social · 08/10/2026
Thank you to everyone who stopped by the BellSoft stand at Devoxx Belgium! We hope you enjoyed the conference as much as we did. Thanks also to everyone who took part in our Java and AI survey. We’ll share the results soon. And congratulations to our raffle winner! Enjoy your Meta Quest 3 🎉
000
BellSoft @bellsoft.bsky.social · 07/10/2026
Need a rolling average over latency samples? Gatherers.windowSliding(3) builds overlapping windows of three consecutive elements. Map each window to its average, and you get a rolling average directly in the stream pipeline. Java 24+.
000
BellSoft @bellsoft.bsky.social · 07/10/2026
Hello from Devoxx Belgium! If you’re here this week, come by stand #13 between sessions to say hi to the BellSoft team and talk Java. There’s a Meta Quest 3 raffle at the stand, too. Fill out our Java and AI survey to take part. See you at the stand!
000
BellSoft @bellsoft.bsky.social · 05/10/2026
Virtual threads work well for tasks that spend much of their time waiting. A shared Semaphore limits concurrent calls to a downstream service: each task gets its own virtual thread, and up to 10 tasks can enter the protected API at once. Java 21+.
010
BellSoft @bellsoft.bsky.social · 02/10/2026
Calling reversed() on an ArrayList does not create a copy. It returns a live reverse-ordered view backed by the original list. Change the view and the original changes too. If you need an independent mutable list in reverse order, create a new ArrayList from the reversed view. Java 21+.
000
BellSoft @bellsoft.bsky.social · 01/10/2026
Gatherers.mapConcurrent() runs stream transformations concurrently on virtual threads, limiting concurrency and preserving stream order. In this example, up to four blocking product lookups can run concurrently, and the resulting list follows the order of the original IDs. Java 24+.
000
BellSoft @bellsoft.bsky.social · 28/09/2026
JEP 540 brings a simple JSON API to JDK 28 as an incubator module. The jdk.incubator.json module provides a small API for parsing, navigating, and generating JSON. No data binding or streaming APIs. It stays focused on straightforward JSON processing.
010
BellSoft @bellsoft.bsky.social · 28/09/2026
A lot of AI experiments never make it past the demo stage. Let’s talk about the ones that do. JRush Episode 8 · Sep 29: jrush.bell-sw.com/episode8
000
BellSoft @bellsoft.bsky.social · 26/09/2026
20 prompts later and you’re still trying to get AI to write the code you had in mind. @asm0dey.site spent months trying different approaches, moving from endless prompt tweaking to a workflow he uses today. He’ll share what changed in his JRush talk on September 29: jrush.bell-sw.com/episode8
020
BellSoft @bellsoft.bsky.social · 25/09/2026
One operation, 500 SQL queries. Would you spot it before production? @edelveis.dev shows how to catch N+1 queries in your logs and fix them without changing your service logic. Watch the Spring Data JPA crash course: youtu.be/jY0mmMcMwCA
032
BellSoft @bellsoft.bsky.social · 22/09/2026
You added AI to move faster. So why are you spending your time fixing its code? @edelveis.dev introduces JRush Episode 8 and Simon Martinelli’s talk on AI-driven modernization in enterprise #Java projects. Full details and registration: jrush.bell-sw.com/episode8
011
BellSoft @bellsoft.bsky.social · 21/09/2026
Pasha Finkelshteyn (@asm0dey.site) went through a few AI coding setups before finding one he could trust. At JRush Episode 8, he’ll show the approaches he tested, the one he kept, and the changes that made AI-generated code fit into his own development standards: jrush.bell-sw.com/episode8
100
BellSoft @bellsoft.bsky.social · 17/09/2026
You still need to determine if a vulnerability is exploitable in your product. But if it stems from the base image, you have complete data about base image contents and a defined remediation process from the image vendor. Learn more about BellSoft Hardened Images: bell-sw.com/bellsoft-har...
000
BellSoft @bellsoft.bsky.social · 16/09/2026
Simon Martinelli has spent the last two years applying AI to large #Java systems. At JRush Episode 8, he’ll share lessons from real modernization work: the approaches that helped, the ones that had to be dropped, and the places where AI still needs a careful human hand: jrush.bell-sw.com/episode8
010
BellSoft @bellsoft.bsky.social · 15/09/2026
A critical CVE lands in your product. Do you need to report it within 24 hours under the CRA? Not necessarily. 🔽
100
BellSoft @bellsoft.bsky.social · 15/09/2026
After years of Project Valhalla work, value objects are coming to JDK 28 as a preview feature. JEP 401 introduces objects without identity. For value objects, == compares their values instead of object identity.
100
BellSoft @bellsoft.bsky.social · 14/09/2026
September 11 has passed. If a reportable event showed up tomorrow, would your team know what to do? If you had to think about it, we pulled the reporting process into a six-page cheat sheet for EU Cyber Resilience Act reporting.
100
BellSoft @bellsoft.bsky.social · 11/09/2026
Selling software in the EU? Today the rules changed. Article 14 of the Cyber Resilience Act is now in force, and for manufacturers that means a new reporting obligation with a first deadline of just 24 hours. What actually needs to be reported? Who is responsible? Watch here: youtu.be/IQkzg7quc58
000
BellSoft @bellsoft.bsky.social · 11/09/2026
CRA reporting starts today. As of September 11, the first reporting obligations under the Cyber Resilience Act are in effect, and ENISA's Single Reporting Platform is now live.
100
BellSoft @bellsoft.bsky.social · 10/09/2026
Who actually needs to care about the CRA? If your company puts software or hardware on the EU market under its own name, September 11 is a date worth knowing about.
100
BellSoft @bellsoft.bsky.social · 09/09/2026
Java 27 is almost here, and JEP 536 adds in-process redaction to JFR. JFR can now redact command-line arguments, initial values of environment variables, and system properties before they reach the recording. Default filters cover common sensitive names such as passwords and tokens.
000
BellSoft @bellsoft.bsky.social · 08/09/2026
Is your software sold in the EU? September 11 may change how you handle security incidents. 🔽
100
BellSoft @bellsoft.bsky.social · 08/09/2026
Working on Java cold starts? Watch this before you spend a day benchmarking everything in sight. @edelveis.dev goes through AppCDS, AOT Cache, Native Image, and CRaC with one goal: figuring out what is worth trying first for your workload. youtu.be/RLuknIY2rUo
010
BellSoft @bellsoft.bsky.social · 02/09/2026
Why are hardened images getting so much attention again? TechTarget connects the dots between supply chain risk, compliance, vulnerability management, and the cost of bloated base images: www.techtarget.com/it-infrastru...
000
BellSoft @bellsoft.bsky.social · 01/09/2026
Java 27 goes GA on September 15. JEP 537 re-incubates Vector API for the twelfth time without substantial changes.
100
BellSoft @bellsoft.bsky.social · 31/08/2026
A package approved today might not be the same package you can trust six months later. Maintainers change. Build systems change. New risks appear. This episode looks at how to keep dependencies under control from adoption to production: youtu.be/5CzDhaG1oEg
010
BellSoft @bellsoft.bsky.social · 26/08/2026
Compact Object Headers will be enabled by default in JDK 27. Every Java object has a header. For workloads creating large numbers of small objects, that could mean increased memory overhead.
110
BellSoft @bellsoft.bsky.social · 26/08/2026
35 years ago, Linux started as a small hobby project. Today, it runs everything from laptops to clouds, servers, containers, and much of the infrastructure we rely on every day. Happy 35th birthday! 🍰
131
BellSoft @bellsoft.bsky.social · 18/08/2026
@asm0dey.site discovered Docker Bake during JRush and immediately saw where it fit into his own builds. Bake defines multiple image targets in one HCL file and runs them together. One practical find from an episode full of ideas for safer build pipelines: www.youtube.com/live/AsGmInC...
000
BellSoft @bellsoft.bsky.social · 17/08/2026
Two service calls run in parallel. If one fails, the other should not keep doing useless work. JEP 533 in #Java27 re-previews Structured Concurrency: default StructuredTaskScope cancels unfinished subtasks on failure, and join() reports it as ExecutionException. Seventh preview.
000
BellSoft @bellsoft.bsky.social · 10/08/2026
Artifact signing is one question. JRush Episode 7 goes much further: SBOMs, provenance, buildpacks, hardened images, CVE response, and the practical trade-offs between them. Plenty to take back to your pipeline. Episode: www.youtube.com/live/AsGmInC... Checklist: jrush.bell-sw.com/container-se...
020
BellSoft @bellsoft.bsky.social · 06/08/2026
JEP 538 brings the PEM API back for a third preview in #Java27. PEMEncoder encodes keys, certificates, and CRLs as PEM. PEMDecoder reads them back into typed Java objects, without manual Base64 handling, header parsing, or KeyFactory setup.
020
BellSoft @bellsoft.bsky.social · 04/08/2026
September 2026 is almost here, and Oracle JDK 21 users have a decision to make. Updates released after that point are planned to move from NFTC to OTN. Your applications will keep running, but keeping them securely updated may no longer be free. 🧵
110
BellSoft @bellsoft.bsky.social · 03/08/2026
Alpine or not? Small size is the easy part of the answer. This video gets into everything that can change it once the image meets a real workload. youtu.be/37tnF-THIkE
020
BellSoft @bellsoft.bsky.social · 31/07/2026
Hardened images remove the package manager, curl, and other handy tools. Great for the attack surface. Less great when production breaks. JRush Episode 7 gets into that trade-off and plenty more around signing, SBOMs, provenance, buildpacks, and CVE response: www.youtube.com/live/AsGmInC...
000
BellSoft @bellsoft.bsky.social · 30/07/2026
Buildpacks remove a lot of repetitive containerization work, but they also trade some control for automation. @edelveis.dev breaks down that trade-off in seven minutes, including where a Dockerfile still makes more sense: youtu.be/19ZDEvnjtDI
071
BellSoft @bellsoft.bsky.social · 29/07/2026
JEP 532 in #Java27 brings exact conversion checks to primitive patterns in switch and instanceof. A pattern matches only when the value can be converted without losing information. No manual range checks or lossy casts. Fifth preview.
021
BellSoft @bellsoft.bsky.social · 17/07/2026
JEP 531 in #Java27 adds Set.ofLazy(...): define every candidate up front, then resolve membership only when contains(...) first asks for it. Each candidate is evaluated at most once and the result is reused, even with concurrent access. Preview API, run with --enable-preview.
031
BellSoft @bellsoft.bsky.social · 02/07/2026
Finding CVEs is usually not the hard part. The hard part is patch ownership, rebuilds, rollout timing, and the base image mess that keeps repeating. BellSoft Hardened Images are built to deal with exactly that: bell-sw.com/bellsoft-har...
000
BellSoft @bellsoft.bsky.social · 30/06/2026
Teams often start testing the next JDK too late. The JDK 27 Quality Outreach heads-up is a good reminder that early testing is not bureaucracy. It is how you catch awkward changes while they are still cheap to deal with.
100
BellSoft @bellsoft.bsky.social · 24/06/2026
Missed JRush yesterday? Two links worth opening: Recording: www.youtube.com/live/AsGmInC... Container security checklist: jrush.bell-sw.com/container-se...
010
BellSoft @bellsoft.bsky.social · 23/06/2026
JRush is today, and @edelveis.dev summed it up in under a minute: what you will get, who is speaking, and why this episode is worth catching live. Register here: jrush.bell-sw.com/episode7
120
BellSoft @bellsoft.bsky.social · 19/06/2026
What's the right way to reduce CVEs in your container images? Distroless or Alpine? Hardened image or build your own? Ask 10 engineers, get 10 answers. Three practitioners answering this live at JRush Ep.7. Q&A included. Free. June 23. jrush.bell-sw.com/episode7 #Java #DevSecOps
031
BellSoft @bellsoft.bsky.social · 19/06/2026
Yesterday: @devoxxpl.bsky.social Poland in Kraków. Today: @lu.voxxeddays.com in Luxembourg. @asm0dey.site is on a roll. 🛫 #VoxxedDaysLuxembourg #Java #JavaCommunity
021
BellSoft @bellsoft.bsky.social · 19/06/2026
Talk 3 of 3 at JRush Ep.7. 150 CVEs in the scan report. Most aren't exploitable in your runtime. @edelveis.dev covers this weekly on CyberJAR Youtube Channel. At JRush Ep.7 she builds the full triage-to-signed-image workflow live. Free. June 23. jrush.bell-sw.com/episode7 #Java #DevSecOps
022
BellSoft @bellsoft.bsky.social · 18/06/2026
CVE fatigue is real. Three scanners, three different numbers. Chase everything or ignore it all. If that sounds familiar, this one's for you. @edelveis.dev covering it live at JRush Ep.7. Free. June 23. jrush.bell-sw.com/episode7 #Java #DevSecOps #ContainerSecurity
081
BellSoft @bellsoft.bsky.social · 18/06/2026
Talk 2 of 3 at JRush Ep.7. @anthony.dahanne.net maintains #Paketo Buildpacks. At JRush Ep.7 he demos how eliminating the Dockerfile eliminates a whole class of container vulnerabilities. Free. June 23. jrush.bell-sw.com/episode7 #Java #DevSecOps
072
BellSoft @bellsoft.bsky.social · 18/06/2026
First time at @devoxxpl.bsky.social and straight to the stage. 🎤 @asm0dey.site is about to start his talk "CRaCing Java Snapshots" in room 4A. Head over if you're around! #DevoxxPoland #Java #CRaCa
021