Community
Chat Logs
Tuesday, March 24, 2026
- LedevI have a question
- Swayzeevery jvm implementation is platform specific
- Swayzeso perhaps pick a platform as well
- SwayzeLedev: we can't wait to hear it
- deeboany tips on tools to generate load on a rest api locally? i've used stuff like gatling in the past but need something that's way simpler and faster to get running
- Swayzek6 ...
- [twisti]deebo: i think jmeter is the gold standard for that
- deebojmeter is pure satan
- deebogatling is just half satan
- [twisti]really, my bad then
- [twisti]never used it myself, its just always the first thing i hear
- deebounless it has changed much, it's only suggested by people that want to be paid to maintain the tests, same as with robot
- dreamrealjmeter IS the gold standard although tehre are others
- dreamrealit depends on what you're doing
- dreamrealjmeter's complex because it's freaking THOROUGH and you can build sequences in it, ideal for a REST application: do this, wait for that, respond using data from "this" like that... invoke these methods, etc
- deeboyeah our previous gatling tests did that, but they require as much upkeep as the applications themselves, should move back to server geenrated stuff for ease of loadtesting
- deeboguess i'll just pick production request rates from dynatrace and try to approximate the same with gatling
- dreamrealUnderstood yet the problem is that nothing is free
- dreamrealyou could do it yourself with robot, with plenty of other tools from other languages, too, but you end up programming the load testing tool
- dreamrealwhat jmeter brings isn't "avoid programming the load testing tool" but metrics and tools to take away bits your load testing tool will have to write. You still have to write the rest of it, unless your goal is "hammer this URL with this data" over and over again, which MAY be your goal, but if that's it, what are you waiting for? ab can do it, but so can jmeter, in less time than it took to write
- dreamrealthis comment.
- Tenchiback in the day there was a java-based closed-source tooll from a company in sweden called PureLoad
- Tenchiit was really nice
- dreamrealTenchi: heh, he's complaining about OPEN SOURCE being too expensive and you offer a commercial product?!
- Tenchii dunno if even exists anymore but 15 years or so ago it was what i preferred
- dreamrealI mean, postman can do it too
- Tenchifor all i know the company went out of business and they released it as opensource, i dunno
- dreamrealstill there apparently: https://emblasoft.com/product/pureload
- nevetPureLoad
- Tenchiyep, that's them
- Tenchidoesn't look like they opensourced anything heh
- Tenchithey were really nice guys though... reminded me of the karl and magnus caliber of people
- Tenchi馃榿
- dreamrealthat's... uh... pretty high praise
- dreamrealmagnus is still one of the best programmers I've ever known
- Tenchiwell, i'm referring more to how nice they were in the swedish/scandinavian kind of way more so than their talent
- Tenchii really liked the software too, it was really nice in that you could build functional tests and then use the same tests with the load generation thing
- dreamrealhrm, I'm not sure if I recall them being "nice" in any particular way, I thought they were efficient
- Tenchiit handled distributed load testing very well
- dreamrealdeebo: /m nevet wrk
- dreamrealmaybe /m nevet locust
- dreamrealhttps://bytecode.news/posts/2026/03/the-ai-dilemma
- javabotdreamreal's title: "The AI Dilemma | bytecode.news"
- dreamrealoh, oh. Someone's sugesting moving lombok to gradle. :D
- dreamrealAND cutting off support for pre-17!
- deebofew years ago i wrote a tool that analyzes our logs (we used to log bodies for http requests too) and just replayed the same load with the same timing to a local service, that was the bestest
- deebonow i just need some load that resembles real load to profile a services startup so i can see if there's something to warm up before accepting traffic
- dreamrealI just recoiled a lot inside
- dreamrealyikes
- dreamreal:D
- dreamrealdeebo: if it's that simple, why not ab?
- deeboneed random data etc to not just hit caches etc
- dreamrealhey, then, or wrk, or dumb ol' jmeter
- dreamrealheh: Sentiment for irc://libera/%23java: -1/10 | Intensity mod | Themes: load testing tools, JMeter debate, tooling complexity | Summary: Calm technical exchange about REST API load testing; mild friction over JMeter complexity vs. simplicity, but cooperative problem-solving prevails.
- dreamreal(from nevet, the sentiment operation)
- deeboin one of our services the issue was internal locking in jackson, for some rason this seems to be different, but couldn't pin point the reason with tests we have available
- dreamrealinternal... LOCKING? Um, jackson's marshalling is pretty thread-safe, but it's also pretty normal to build mappers on the fly, they're pretty light, and jackson3 emphasizes that point
- kcomhnall+
- deeboyep, we hit locking in jackson (de)serializer creation when swapping load from x old isntances to x new instances
- deebothere was also some jdk bug with lock contention for ssl certificate loading or something weird
- dreamrealhuh, interesting
- deebohttps://github.com/openjdk/jdk/commit/9b747491de01fd011b09668a67113e80c2b7c708
- nevet8276660: Scalability bottleneck in java.security.Provider.getService() 路 openjdk/jdk@9b74749
- javabotdeebo's title: "8276660: Scalability bottleneck in java.security.Provider.getService() 路 openjdk/jdk@9b74749 路 GitHub"
- dreamrealThat'd be fascinating to work out. Have you looked at jackson3? (Not a recommendation, this is a query. That migration is not trivial and I know it.)
- dreamrealthe security cert stuff is outside of my wheelhouse: I have NO insight there
- deebowe're on jersey, which doesn't do jackson3 yet
- dreamrealI don't understand - how would jackson locking affect you if you're using jersey?
- deebothat's what spring boot uses for json in jersey
- dreamrealoh, sorry, dang, catching up, been busy. Context switch failure on my part, you're right
- dreamrealI was thinking you were using an implementation of the controllers that used the JVM's apis, not a good one
- dreamrealwhich version of spring boot are you on?
- deeboi just added a task that goes through jersey resources, finds body and response classes and then calls .writeAsString(new ResponseType()) or .gimmeObject("{]", BodyType.class) for all non primitive/colelction etc types before accepting traffic
- deebomostly latest v3 and one service on v4
- dreamrealhmm, that sounds like a pain. Good on you for finding a solution, at least. So it sounds like it was doing a failure looking up reflected types? That's... pretty awful to find
- deeboyep the (de)serializer caches internal to jackson are synchronized
- deeboso you get a bazillion requests for FancyObject on a cold instance and everything slows down
- dreamrealYeesh, yeah, although I'd hope it was smart enough to do it cleanly once. C'est la vie.
- dreamrealIt'd be interesting to see if jackson3 had the same problem (again, not asking you to, that's a lot for a rando on IRC to throw out.)
- odinsbaneIt's nice how helpful the new compilers are now, but a shame nobody will see the better messages.
- dreamrealhahaha
- dreamrealwell, the LLMs will, and they can use the information well...
- dreamrealodinsbane: ++
- nevetodinsbane now has karma of 1.
- dreamrealWhen's the last time you SAW a compiler error message, though? When you said that I was thinking "yeah, they're... wait." I haven't used a compiler to check syntax in a LONG LONG TIME - it's the IDE showing me errors in a window, not a compiler emitting a message.
- odinsbaneI'm trying to learn rust. So I'm doing it from the command line a bit.
- Paray'all need some clojure compiler exceptions in your life
- ParaThey make almost zero sense.
- ParaOver time you learn that specific form of error means specific problem.
- dreamrealPara: that feels like the old C compiler error message dance :D
- Para(it used to be a lot worse than what it is today, but it's still ridiculously bad in comparison to everything else)
- dreamrealLLms are interesting: It'll be ... fascinating to see how the industry learns to work with them. One project I'm watching has like 8 *releases* a day on github... and the tests? ... what tests?
- odinsbaneEven llm's dont like writing tests. Maybe that will be left to the users.
- dreamrealI'm considering asking about testing methodology but I don't want to sound snarky about it, like "hey, would this release cadence be any better if you had even one test?"
- dreamrealI don't care what the LLM likes to do, I demand tests and coverage is part of my acceptance criteria
- dreamrealWhen I use an LLM, it's "write a test that replicates this failure" and THEN fix the failure
- dreamrealtedious for everyone, yes, but it also prevents feature breakage down the road because the LLM can't just say "oh I fixed it" when it broke other stuff, and I ALSO don't allow it to remove or evade tests, a REALLY nasty habit the LLMs have
- dreamrealthey're better about it now than they were but that might be something they've learned for ME (in my configs) becasue I hammer the point so hard
- odinsbanedid you make a 'skill'?
- dreamrealno, I'm just using the agent commands so far
- dreamrealI'm not sure what making a skill entails, but that sounds useful
- dreamrealhmm, interesting
- dreamrealI should make some skills!
- dreamreal(I have yet to hit token limits for some reason, so it hasn't really come up, but I can see it.)
- fizzie"It's a skill issue" has an entirely new meaning in this day and age.
- dreamrealfizzie: ++ hahaha
- nevetfizzie now has karma of 1.
- dreamrealodinsbane: ++ thanks. I might start seeing if I can make some skills out of this - my directives are pretty decent but are probably too broad. I set up an MCP server but a skill has a different focus; I wonder if the MCP server can have an attendant "here's how to get the skill locally" as well.
- nevetodinsbane now has karma of 2.
- deeboi used my company provided github copilot tokens on opencode creating a tool for personal use i needed, just talk to it like a product manager and keep making chaneges and committing when things work
- deeboit's like a junior dev that can read documentation insanely fast, but some times doesn't know why stuff doesn't work and you might need to point out the bug for it to get fixed
- kcomhnalli'll admit - I totally forgot my password to my pro github account.
- dreamrealdeebo: yeah, that's how I sort of use them too
- deebodefinitely useful, hard to say about how much in real work, especially with at least my current client restricting tooling used quite a lot to at least try and minimize leaking stuff
- odinsbaneSome of these repositories that get recommended on github sound insane. https://github.com/bytedance/deer-flow
- javabotodinsbane's title: "GitHub - bytedance/deer-flow: An open-source SuperAgent harness that researches, codes, and creates. With the help of sandboxes, memories, tools, skill, subagents and message gateway, it handles different levels of tasks that could take mi..."
- nevetGitHub - bytedance/deer-flow: An open-source SuperAgent harness that researches, codes, and creates. With the help of sandboxes, memories, tools, skill, subagents and message gateway, it handles different levels of tasks that could take minutes to hours.
- dreamrealleaking stuff is an interesting problem: the problem for me is trust, not leakage. It's not like the LLMs can go "ooo, user foobaricus just worked on code for this, i'mma integrate it into the training model, now everyone has it!" on the fly
- dreamrealbut the vendors CAN serve as MITM vectors
- deebothey have to be eating the code they get as context to get an edge for future stuff, i guess copilot at least tries to promise big businesses that they wont train stuff on the contexts or something
- dreamrealthey all do, that'd be a breaker for any sane environment
- odinsbaneHow big of a model do you need to access a codebase though? Could you just use a small local model for consuming your own api.
- dreamrealThat question doesn't quite make sense
- dreamrealmodel sizes don't affect *access*
- odinsbaneYou could query a small model that has access to your code. Small, just because your local instance might not be up to par with a cloud based solution.
- dreamrealYeah, but the model size isn't part of *access* - it only affects capabilities
- odinsbaneI was thinking leaking meant uploading proprietary code to a hosted LLM. So a local model would prevent the host having any access to your code.
- odinsbaneI was playing with a 0.8b model and, it was funny but didn't produce anything usable.
- dreamrealyeah. Small models don't have enough data. And uploading proprietary code IS an issue, but where does it GO? It's not like the LLMs store everything THERE - they don't. but MITM roles mean they CAN.
- deebosmall models are ok, e.g. the new qwen 3.5 models, but you still need memory for the context so it's quite nontrivial to run properly at home on consumer hardware
- deeboi bought an intel b50 for testing this stuff and they sure don't make it easy, maybe could get something useful done with two intel b60s
- nimajeseems like llms store stuff whereever, read from an admin of a pastebin site that llms try to upload sensitive information there
- dreamrealnimaje: they normally don't
- dreamrealdeebo: mac mini
- dreamrealMy m1 actually does all right even on constrained models
- ParaI kinda wish there was more about SLMs.
- ParaJust...more. Hype, discussion, development, articles. Everyone's just riding the Large wave.
- dreamrealterm confusion, mostly
- dreamrealthere are models that would comply with that definition for the most part - heck, the markov data could be "an SLM"
- dreamrealand many SLMs would be as useful
- Parayes
- ParaLike...house automation SLM, doesn't need to know how to create a TypeScript frontend but does need to understand difference oven and door.
- dreamrealwell, that's certainly doable too: imagine an LLM that used... kotlin and java. And that's it.
- ParaAnd fallback to JVM SLM which knows everything but the programming languages.
- dreamrealWhy not include the JVM-related content?
- ParaMainly to discourage "You can also do this awesome trick!" type of foolery.
- dreamrealheh
- cheeserbut wait there's more!
- dreamrealThe biggest problem with java and the LLMs is the preponderance of tutorial content that avoids actually DOING THE THING. They're all "step 1: do this... step 3, profit!" and step 2 turns out to be kinda important.
- dreamrealthat's why my books start with tests and end with tests: "here's the full thing, period."
- dreamrealand why anthropic is gonna owe me money soon :D
- ParaI almost managed to coax "include a screenshot of current state" to our bug ticket DoR:s last week.
- deeboi want "if the 16 char long identifier is in a screenshot or an .eml attachment i can't copy paste it and the ticket is invalid"
- deeboalso if you can't link me a definition of how it's supposed to work, it's not a bug, but a feature request :)
- dreamrealdeebo: yeah, I piss off a lot of customers and fellow coders by doing silly things like saying "what's it actually supposed to DO, a handwave isn't good enough"
- dreamrealif I can't write a test that replicates the failure, and I can't write a test that validates a success, I am stamping it "done" and moving on
- dreamrealI get a lot of pushback like "you didn't do anything, how can you say it's done" and my response is "you can't say it's not, so it is."
- dreamrealThis may explain why I'm so popular, eh
- dreamrealhttps://www.oracle.com/java/technologies/downloads/jvp/ what the heck
- javabotdreamreal's title: "Java Verified Portfolio | Oracle"
- nevetDownload the Latest Java LTS Free
- ParaNo Netbeans though.
- dreamrealAll four users will be very disappointed. But I mean... javafx, helidon. That's... it.
- DoofusCanadensisthey're pulling javafx back?
- dreamrealI think they're saying javafx WILL be supported... whatever that means
- ParaAnd we'll be happy for it?
- dreamrealI wouldn't know, I'm just confused what the intent is
- dreamrealthe javafx channel on reddit's like "oh they remembered us, we're real woooooooOOOOOOOOOO" as they fly into the air like a balloon that's been punctured