SShai Almog4h ago · 8 min readSkirmish: A Multiplayer Strategy Game Template in JavaFor years I avoided pitching Codename One as a game engine. Unity, Unreal and Godot own that market, and I didn't see a reason for a game developer to pick us. That changed while we were building our debugagent.com
FFelipe Maschio14h ago · 7 min readHow I got a thread dump from a timed-out GitHub Actions testA test hangs in CI, the job sits there for 30 minutes, and GitHub Actions cancels it. The log says the job exceeded its time limit and nothing about what the test was doing when it got stuck. Running maschiojv.hashnode.dev
VVinayak Sharma12h ago · 43 min readConcurrency and Multithreading in JavaSynchronization Basics in Java Process A Process is a self-contained execution environment with its own memory space and resources. Two Processes do not share memory directly they communicate through itsvinayak.hashnode.dev
SShai Almog1d ago · 22 min readRewrite Everything in Java: Not RustRust is a great language for a kernel, a driver or a database engine. Code like that can't pause for a garbage collector and has to account for every byte, and Rust's ownership model pays for itself tdebugagent.com
FFizee16h ago · 9 min readStill Renewing Tomcat and Spring Boot Certificates by Hand? How to Automate Renewal and DeploymentWith Nginx, a renewed certificate is two PEM files and a reload. Tomcat and Spring Boot usually load a keystore instead (.jks or .p12), so each renewal also means downloading the Tomcat-format certifilapsezero.hashnode.dev
GGowtham Muthuvel1d ago · 17 min readIdempotency Keys in Spring Boot: Making POST Safe to RetryI fired the same POST /orders request 20 times at the same instant, with the same Idempotency-Key header, at three versions of one Spring Boot endpoint. Here is what landed in the database: /v1/ordersgowthammuthuvel.hashnode.dev
SSnowRSPS1d ago · 2 min readBuilding a browser client for a 317 Java game (work in progress)I run SnowRSPS, a free custom 317 server online since 2012. This is a devlog, not a launch post: the browser client is still being built. The starting point Our desktop client is a classic 317-style Jsnowrsps.hashnode.dev
GGowtham Muthuvel1d ago · 18 min readReplacing ThreadLocal with ScopedValue for Request IDs (Java 25)Here's a log line from the demo in this post. Request #3 came in without an X-Request-Id header, yet it was logged with the ID of a different request: http-nio-1 requestId=req-A handling requesgowthammuthuvel.hashnode.dev
SShai Almog2d ago · 4 min readA Java IDE in Your Browser, With Your Files in Your BrowserIf you're used to opening a page and immediately changing an app, installing a Java development environment is a substantial detour. I want your first encounter with Codename One to be the app runningdebugagent.com
DDoogal Simpson1d ago · 4 min readJava Date Formatting Bug: YYYY vs yyyy ExplainedIn Java date formatting, uppercase YYYY represents the week-based year, while lowercase yyyy represents the calendar year. Using YYYY can cause dates in late December to print as the following calenda1doogal.dev