ByteCode.News
Submit RSS Atom Sign in

Back to the channels

#java

  1. * domicron joined #java
  2. * Betal joined #java
  3. * Ledev joined #java
  4. Ledev I have a question
  5. * NeXeN joined #java
  6. * domicron joined #java
  7. * NeXeN joined #java
  8. * NeXeN joined #java
  9. * ferdna joined #java
  10. * kathadris joined #java
  11. * ForeverDreaming joined #java
  12. * zorone joined #java
  13. * Cyp joined #java
  14. * five618480339176 joined #java
  15. * Ragnor joined #java
  16. * LtHummus joined #java
  17. * LtHummus joined #java
  18. * stfstfm_ joined #java
  19. * Aedil joined #java
  20. * sponkz joined #java
  21. * zorone joined #java
  22. * stfstfm joined #java
  23. * Nemu64 joined #java
  24. * ChaiTRex joined #java
  25. * NeXeN joined #java
  26. * Nemu64 joined #java
  27. * NeXeN joined #java
  28. * stewi joined #java
  29. * NeXeN joined #java
  30. * NeXeN joined #java
  31. * Afroboy joined #java
  32. * NeXeN joined #java
  33. Swayze every jvm implementation is platform specific
  34. Swayze so perhaps pick a platform as well
  35. Swayze Ledev: we can't wait to hear it
  36. * NeXeN joined #java
  37. * NeXeN joined #java
  38. * troydm joined #java
  39. * zorone_ joined #java
  40. * kathadris joined #java
  41. deebo any 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
  42. Swayze k6 ...
  43. * NeXeN joined #java
  44. [twisti] deebo: i think jmeter is the gold standard for that
  45. deebo jmeter is pure satan
  46. deebo gatling is just half satan
  47. [twisti] really, my bad then
  48. [twisti] never used it myself, its just always the first thing i hear
  49. deebo unless it has changed much, it's only suggested by people that want to be paid to maintain the tests, same as with robot
  50. * MikeBux joined #java
  51. * NeXeN joined #java
  52. * kcomhnall joined #java
  53. dreamreal jmeter IS the gold standard although tehre are others
  54. dreamreal it depends on what you're doing
  55. dreamreal jmeter'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
  56. deebo yeah 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
  57. deebo guess i'll just pick production request rates from dynatrace and try to approximate the same with gatling
  58. dreamreal Understood yet the problem is that nothing is free
  59. dreamreal you could do it yourself with robot, with plenty of other tools from other languages, too, but you end up programming the load testing tool
  60. dreamreal what 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
  61. dreamreal this comment.
  62. Tenchi back in the day there was a java-based closed-source tooll from a company in sweden called PureLoad
  63. Tenchi it was really nice
  64. dreamreal Tenchi: heh, he's complaining about OPEN SOURCE being too expensive and you offer a commercial product?!
  65. Tenchi i dunno if even exists anymore but 15 years or so ago it was what i preferred
  66. dreamreal I mean, postman can do it too
  67. Tenchi for all i know the company went out of business and they released it as opensource, i dunno
  68. dreamreal still there apparently: https://emblasoft.com/product/pureload
  69. nevet PureLoad
  70. Tenchi yep, that's them
  71. Tenchi doesn't look like they opensourced anything heh
  72. Tenchi they were really nice guys though... reminded me of the karl and magnus caliber of people
  73. Tenchi 馃榿
  74. dreamreal that's... uh... pretty high praise
  75. dreamreal magnus is still one of the best programmers I've ever known
  76. Tenchi well, i'm referring more to how nice they were in the swedish/scandinavian kind of way more so than their talent
  77. Tenchi i 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
  78. dreamreal hrm, I'm not sure if I recall them being "nice" in any particular way, I thought they were efficient
  79. Tenchi it handled distributed load testing very well
  80. dreamreal deebo: /m nevet wrk
  81. dreamreal maybe /m nevet locust
  82. * polarian joined #java
  83. dreamreal https://bytecode.news/posts/2026/03/the-ai-dilemma
  84. javabot dreamreal's title: "The AI Dilemma | bytecode.news"
  85. dreamreal oh, oh. Someone's sugesting moving lombok to gradle. :D
  86. dreamreal AND cutting off support for pre-17!
  87. deebo few 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
  88. * michele joined #java
  89. deebo now 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
  90. * michele joined #java
  91. dreamreal I just recoiled a lot inside
  92. dreamreal yikes
  93. dreamreal :D
  94. dreamreal deebo: if it's that simple, why not ab?
  95. deebo need random data etc to not just hit caches etc
  96. dreamreal hey, then, or wrk, or dumb ol' jmeter
  97. dreamreal heh: 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.
  98. dreamreal (from nevet, the sentiment operation)
  99. deebo in 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
  100. dreamreal internal... 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
  101. kcomhnall +
  102. deebo yep, we hit locking in jackson (de)serializer creation when swapping load from x old isntances to x new instances
  103. deebo there was also some jdk bug with lock contention for ssl certificate loading or something weird
  104. dreamreal huh, interesting
  105. deebo https://github.com/openjdk/jdk/commit/9b747491de01fd011b09668a67113e80c2b7c708
  106. nevet 8276660: Scalability bottleneck in java.security.Provider.getService() 路 openjdk/jdk@9b74749
  107. javabot deebo's title: "8276660: Scalability bottleneck in java.security.Provider.getService() 路 openjdk/jdk@9b74749 路 GitHub"
  108. dreamreal That'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.)
  109. dreamreal the security cert stuff is outside of my wheelhouse: I have NO insight there
  110. deebo we're on jersey, which doesn't do jackson3 yet
  111. dreamreal I don't understand - how would jackson locking affect you if you're using jersey?
  112. deebo that's what spring boot uses for json in jersey
  113. dreamreal oh, sorry, dang, catching up, been busy. Context switch failure on my part, you're right
  114. dreamreal I was thinking you were using an implementation of the controllers that used the JVM's apis, not a good one
  115. dreamreal which version of spring boot are you on?
  116. deebo i 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
  117. deebo mostly latest v3 and one service on v4
  118. dreamreal hmm, 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
  119. deebo yep the (de)serializer caches internal to jackson are synchronized
  120. deebo so you get a bazillion requests for FancyObject on a cold instance and everything slows down
  121. * odinsbane joined #java
  122. dreamreal Yeesh, yeah, although I'd hope it was smart enough to do it cleanly once. C'est la vie.
  123. dreamreal It'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.)
  124. * Munnu joined #java
  125. * kcomhnall joined #java
  126. * michele joined #java
  127. * michele joined #java
  128. * baier joined #java
  129. * michele joined #java
  130. * CodeGeek!~codegeek@about/java/CodeGeek changed the topic to: Welcome! || Read Channel Rules at https://javachannel.org/ before participating. || Paste limit is two lines; ~pastebin lists options. || No applets, please. || Minecraft, Android, and Javascript all have their own channel. || You are being logged.
  131. * nevet joined #java
  132. odinsbane It's nice how helpful the new compilers are now, but a shame nobody will see the better messages.
  133. dreamreal hahaha
  134. dreamreal well, the LLMs will, and they can use the information well...
  135. dreamreal odinsbane: ++
  136. nevet odinsbane now has karma of 1.
  137. dreamreal When'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.
  138. odinsbane I'm trying to learn rust. So I'm doing it from the command line a bit.
  139. Para y'all need some clojure compiler exceptions in your life
  140. Para They make almost zero sense.
  141. Para Over time you learn that specific form of error means specific problem.
  142. dreamreal Para: that feels like the old C compiler error message dance :D
  143. Para (it used to be a lot worse than what it is today, but it's still ridiculously bad in comparison to everything else)
  144. dreamreal LLms 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?
  145. odinsbane Even llm's dont like writing tests. Maybe that will be left to the users.
  146. dreamreal I'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?"
  147. dreamreal I don't care what the LLM likes to do, I demand tests and coverage is part of my acceptance criteria
  148. dreamreal When I use an LLM, it's "write a test that replicates this failure" and THEN fix the failure
  149. dreamreal tedious 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
  150. dreamreal they'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
  151. odinsbane did you make a 'skill'?
  152. dreamreal no, I'm just using the agent commands so far
  153. * kcomhnall joined #java
  154. dreamreal I'm not sure what making a skill entails, but that sounds useful
  155. * kento2 joined #java
  156. dreamreal hmm, interesting
  157. dreamreal I should make some skills!
  158. dreamreal (I have yet to hit token limits for some reason, so it hasn't really come up, but I can see it.)
  159. fizzie "It's a skill issue" has an entirely new meaning in this day and age.
  160. dreamreal fizzie: ++ hahaha
  161. nevet fizzie now has karma of 1.
  162. dreamreal odinsbane: ++ 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.
  163. nevet odinsbane now has karma of 2.
  164. deebo i 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
  165. deebo it'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
  166. kcomhnall i'll admit - I totally forgot my password to my pro github account.
  167. dreamreal deebo: yeah, that's how I sort of use them too
  168. deebo definitely 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
  169. odinsbane Some of these repositories that get recommended on github sound insane. https://github.com/bytedance/deer-flow
  170. javabot odinsbane'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..."
  171. nevet 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 minutes to hours.
  172. dreamreal leaking 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
  173. dreamreal but the vendors CAN serve as MITM vectors
  174. deebo they 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
  175. * skinkitten joined #java
  176. dreamreal they all do, that'd be a breaker for any sane environment
  177. odinsbane How 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.
  178. dreamreal That question doesn't quite make sense
  179. dreamreal model sizes don't affect *access*
  180. * michele joined #java
  181. * GreenResponse joined #java
  182. odinsbane You 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.
  183. * rapmoc_ joined #java
  184. * rapmoc_ joined #java
  185. * rapmoc joined #java
  186. dreamreal Yeah, but the model size isn't part of *access* - it only affects capabilities
  187. * stewi joined #java
  188. * sponkz joined #java
  189. odinsbane I 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.
  190. odinsbane I was playing with a 0.8b model and, it was funny but didn't produce anything usable.
  191. * jamezp joined #java
  192. dreamreal yeah. 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.
  193. deebo small 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
  194. deebo i 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
  195. nimaje seems like llms store stuff whereever, read from an admin of a pastebin site that llms try to upload sensitive information there
  196. dreamreal nimaje: they normally don't
  197. dreamreal deebo: mac mini
  198. dreamreal My m1 actually does all right even on constrained models
  199. Para I kinda wish there was more about SLMs.
  200. Para Just...more. Hype, discussion, development, articles. Everyone's just riding the Large wave.
  201. * ForeverDreaming joined #java
  202. dreamreal term confusion, mostly
  203. dreamreal there are models that would comply with that definition for the most part - heck, the markov data could be "an SLM"
  204. dreamreal and many SLMs would be as useful
  205. Para yes
  206. Para Like...house automation SLM, doesn't need to know how to create a TypeScript frontend but does need to understand difference oven and door.
  207. dreamreal well, that's certainly doable too: imagine an LLM that used... kotlin and java. And that's it.
  208. Para And fallback to JVM SLM which knows everything but the programming languages.
  209. dreamreal Why not include the JVM-related content?
  210. Para Mainly to discourage "You can also do this awesome trick!" type of foolery.
  211. dreamreal heh
  212. cheeser but wait there's more!
  213. dreamreal The 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.
  214. dreamreal that's why my books start with tests and end with tests: "here's the full thing, period."
  215. dreamreal and why anthropic is gonna owe me money soon :D
  216. Para I almost managed to coax "include a screenshot of current state" to our bug ticket DoR:s last week.
  217. * jamezp joined #java
  218. deebo i 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"
  219. deebo also if you can't link me a definition of how it's supposed to work, it's not a bug, but a feature request :)
  220. dreamreal deebo: 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"
  221. dreamreal if 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
  222. dreamreal I 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."
  223. dreamreal This may explain why I'm so popular, eh
  224. * stfstfm_ joined #java
  225. * stfstfm joined #java
  226. * kcomhnall joined #java
  227. * gjvc joined #java
  228. * stewi joined #java
  229. dreamreal https://www.oracle.com/java/technologies/downloads/jvp/ what the heck
  230. javabot dreamreal's title: "Java Verified Portfolio | Oracle"
  231. nevet Download the Latest Java LTS Free
  232. Para No Netbeans though.
  233. dreamreal All four users will be very disappointed. But I mean... javafx, helidon. That's... it.
  234. DoofusCanadensis they're pulling javafx back?
  235. dreamreal I think they're saying javafx WILL be supported... whatever that means
  236. Para And we'll be happy for it?
  237. dreamreal I wouldn't know, I'm just confused what the intent is
  238. dreamreal the 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
  239. * rvalue- joined #java
  240. * sa02irc joined #java
  241. * MikeBux joined #java
  242. * sa02irc joined #java
  243. * jreicher joined #java
  244. * jreicher joined #java
  245. * Demi joined #java
  246. * spicycod joined #java
  247. * pr070cal joined #java
  248. * jonp` joined #java
  249. * stfstfm_ joined #java
  250. * sponkz joined #java
  251. * LFK1 joined #java
  252. * mindCrime joined #java
  253. * baier joined #java
  254. * rvalue joined #java