Swayzei believe they are moving towards langauge server still :p
Swayzeseems only for non-java languages
Swayzetheir solution is considered superior if you believe the hype
* hwpplayer1 joined #java
* acidjnk joined #java
* roomyk joined #java
jreicherSwayze: I do keep hearing that jetbrains is still better than the Eclipse jdtls, but I'm very happy with jdtls.
BombeUrgh, how do I test a component that gets handed in a Socket and then parses stuff out of it?
BombeThe parser reads until the stream is EOF, but I can’t close the stream/socket in the test, because then I can’t read any replies out of it anymore.
* jwisbell35 joined #java
* MikeBux joined #java
* Aedil joined #java
* leppard joined #java
* leppard|2 joined #java
Swayzemock it till you make it
Swayzenever let anything stop you, mock the universe if you must
Swayzethe show must go on
Swayzeo7
Swayzeanyway the odds are about 100% that we're in a simulation anyway
dreamrealyou okay, Swayze ?
dreamrealIt doesn't matter if we're in a simulation - we'd still have our parts to play in it even so
dreamreal(This is, incidentally, why I tend to act according to my own ethics even in games - in skyrim I'm a "good guy," such as there can be, and Baldur's Gate 3 fails to interest me because it's a game designed to make you a "bad guy" and I don't enjoy that. If we're in a simulation, so are they: my ethics remain and define me. Silly, I know.)
BombeSwayze, I did, at first, but that’s even more horrible.
* Guest2439 joined #java
fizzieI might be missing something here, but it seems to me you could just use a real pair of sockets, and .shutdownOutput() one end to indicate an EOF of input to the other, while still continuing to read any data sent as a reply from it.
BombeThat sounds pretty much exactly like what I need, I think.
cheeserdreamreal: i take in game ethics, and indeed interactions with claude, as another chance to practice the kind of person i want to be however oblivious the target of my attention may be.
dreamrealcheeser++
nevetcheeser now has karma of 3.
dreamrealI figure being a decent person is a habit, so I tell the LLMs "thank you" and say "please" and whatnot because that's the habit I want to live by, even though the object is, as you say, *completely* oblivious and I'm just using tokens by it
cheeseryup
dreamrealI don't want to be talking to an actual human and accidentally be brusque because it's a topic I might be discussing with an LLM or whatever. I can be brusque, of course, but it's a choice, and I live by that. It's situational.
cheeser(these LLMs are really just college interns typing furiously away anyway. just like that spellcheck we all ignore.)
dreamrealI don't ignore spelllcheck!
* GreenResponse joined #java
dreamrealIt'd be interesting to see an actual ethical survey of gamers/programmers
dreamreallike, "what's your actual ethical stance" and "how do you apply this in these contexts" and a few others like that, to find the boundaries
jreicherI bloody love spellcheck. And the first time I ever saw a language server and LSP I thought "oh, they took the ispell idea and ran with it"
* jbosmans joined #java
dreamrealHell, I felt that way about grammar checkers
dmlloydwell, that is my single and solitary goal in life, so I guess I'm rocking it
dreamrealindeed
* dreamreal is having to write code that dmlloyd should have written
dreamreal... because he's a JERKFACE
dreamrealan absolute UNIT of a jerkface
dreamrealFAAAAAAAACE
dmlloydwell, I probably already wrote it, you just can't find it
dreamrealThat's because you didn't publish it, you just dropped it like a freaking claymore and then focused on a whole lot of other things
dmlloyd<obama voice> that's what I doooo
dreamrealI'm having to write a lot of crap I don't want to have to write
dreamrealand you're llikely to be better at it than I am, and this makes me unhappy
dmlloydhave you looked at github.com/dmlloyd/lot_of_crap ?
dreamrealnot only are you frustrating me, you're cruel. What did I ever do to you?
dmlloydwhere to begin... well for one thing you *never* get to the point
dreamrealI'm burying the lede like you do, you should be familiar with it, jerkface
dreamrealyou dropped "offheap access" in varhandles and LEFT IT THERE
dmlloydI have no idea what you're talking about (hides shovel behind back)
dreamrealI'm writing up an example that YOU should have written
dmlloydah, well, that's more of an FFM thing than a varhandles thing IMO
dreamrealto some degree but it was BY FAR the thing that stood out most to me
dmlloydand FFM would merit an entire article just by itself, well a book really
dreamrealI was going OOOOOOOOO HELL TO THE HECK YES!!!!!! and... nothing
dreamrealDM?
dmlloydgo for it
dreamrealI get that, and you're not wrong, but daaaaang
dmlloydnote that varhandles can also wrap buffers so it's not *just* FFM stuff, which is the lede buried underneath the other lede
nb-bendreamreal: claude did do what you wrote
nb-bendreamreal: I think it also impedes the other end of the range though -- Juniors not really getting a chance to use their mind to simulate at the micro-level as much
* stfstfm_ joined #java
nb-benso because companies will expect juniors to use claude to be more productive, the barrier to entry for gaining skill to do actually depthful work increases as you're no longer paid to do manual work
cheeserhey dmlloyd. your classlib backport, does it use the same package structure or do you namespace it away?
dmlloydI think maybe it just shifts the focus... if the junior has to learn how to break down tasks *before* writing the code instead of *after* messing it up a few times, that's all to the good
dmlloydcheeser, different package. the original is `java.lang.classfile` and the JDK blocks you from using that name in various ways in practice
* cheeser nods.
dmlloyd(incidentally, the project has moved to the SmallRye umbrella)
cheeseri'm thinking of having claude replace all the gizmo stuff with your backport. then I can check for the "real" package at runtime and fall back to yours if need be.
nb-benmy experience is that claude can let a junior seem productive by doing things that almost work for many months in the company, while not really gaining any ownership of anything
dmlloydif a junior is going right from claude to production then you've got a structural issue, same as if you had a clueless yet highly prolific junior; they require the same oversight
nb-benit puts the reviewer at the bottom of the food chain pretty much
nb-benbecause people can relay the review to claude
dmlloydyes but a reviewer can also reject large patches outright, and tell the junior to start over but take much smaller bites instead
cheeserwe use the shit out of claude but all the reviews require human signoff.
nb-benso kinda creates an inverse incentive there
dmlloydbecause the cost of throwing away and starting over is negligible compared to with humans
nb-bencheeser: yeah the signoff is OK if you can't excuse yourself for claude making mistakes. I guess it depends on how strong your organizational culture is
dmlloydthe goal is to get to the point where the human and the AI work together at the same level of capability
dmlloydif the junior is a beginner, then they should only be doing beginner things with claude
nb-benif excusing for claude mistakes becomes acceptable then the signoff is meaningless
dmlloydI can have claude write a complex project for me, because I have the knowledge to know how the code should look; a beginner doesn't have that knowledge so they'd have to start with something very simple else there's no practical expectation that they can review what claude is doing
nb-benyeah no I agree the culture where I'm working right now isn't super great. Company grew from 15 to 50 in less than a year
nb-benI'm just noticing the pressures it creates, and changes to incentives
dmlloydyeah fast-growth overuse of claude fits the silicon valley ethos of low quality/fast delivery so well that I can't see systemic change happening really, not until after a major collapse anyway
dmlloydmy feeling is if a reviewer ever looks at something and thinks "how the hell am I going to review this", they should just reject it
* stfstfm joined #java
nb-bendmlloyd: even not like this, like, as a committer, I can keep relaying what the reviewer tells me
nb-benwants smaller PRs, I can tell claude to do that. No effort on my part, effort is on reviewer
dmlloydI think using claude as a reviewer is not a good idea
nb-benthat's how I feel when I review these commits.
* mindCrime joined #java
nb-benno not what I mean. I mean, I review a PR, and the person just sends my comments to claude
nb-benmaybe very minimal additional work is done by them but most of the work is mine
dmlloydah yeah. when that happens on our (OSS) projects, I tend to think "wow, thanks for the free tokens" :)
Paranb-ben: you need to get into an environment where a person would get sued if they did that
nb-benheh. in a company it's really a big shame. I can't outright accuse somebody because I don't monitor what they are doing
Para(I'm in one, so I'm jesting)
nb-benPara: lol, what kind of environment is that
ParaGov't
nb-benPara: what are you working on?
ParaI'll
ParaGov't
Para:)
ParaI can say that it's actually nothing exciting, but it is Stuff.
nb-benPara: we also work for military / intelligence, we have a connectivity platform for drones and we also make some hardware. The critical bits are in separate libraries from the application, I wrote most of these and they are re-certified every year if there are changes
dreamrealI wonder how many people here work in secure-ish environments
ParaI'd love to explain the whole system but it's too foreign and offest of topics to explain in a channel about Java :)
* stfstfm_ joined #java
* kcomhnall joined #java
dreamrealnow propagate that link, autobots (mine, not anyone else's)
dreamrealdmlloyd: seriously, though, you know an editor IRL, you should consider asking him for a once-over to catch things like that :D
dreamrealat the very least you could have (and should have, IMO) acknowledged the lede
dreamrealI can guarantee you without a shadow of doubt that everyone on MY team would have read that going "Oooo! Is he gonna do the thing? he's gonna do the thing, right?" and you didn't
* stfstfm joined #java
dreamreal(and for the record, i showed some of them the writeup and they were like "oooo right, why didn't he?")
* magla joined #java
* stfstfm_ joined #java
* tomaw_ joined #java
* stfstfm joined #java
* stfstfm_ joined #java
jbosmansdreamreal, 2nd footnote on last link you shared, "sun.misc.Unsafe is probably going away in Java 26" - only some deprecations afaik? Unless i'm confused and 26 didn't get released in March
dreamrealoh, crap, yeah
dreamrealI don't track EA releases like I should
jbosmanswho does !
jbosmansit's not EA i guess
dreamrealwell, by that I mean, *I* track LTS and all the others are just curiosities
jbosmanstho graalvm only aligns with LTS apparently
dreamrealI *do* have my own biases
jbosmanswho doesn't ;)
cheeserdreamreal: you know an editor IRL, you should consider asking him for a once-over to catch things like that
cheeserdreamreal: dmlloyd can introduce you again if need be
* kathadris joined #java
dreamrealcheeser: I hear that guy's an ass though
cheeserhe has his moments.
cheeserdon't we all though?
dreamrealsome of us get more than others :D
dreamrealFWIW, dmlloyd DID get to see the draft of that entire thing as it was published before I posted it, so I blame him!
cheeser*wink* *wink* *nudge* *nudge*
dmlloydah I didn't even notice that
dreamrealFixed now, the power of crowdsourcing. I actually want the ratio of posts made by me on that site to go down - I'm writing more than I'd like to, but it's sort of launching as I go, so that's expected
cheeserwe all want that. ;)
* dreamreal sighs
dmlloydlol
cheeser~hug dreamreal
* javabot snuggles up to dreamreal and strokes dreamreal's hair affectionately.
dreamrealWell, here's the thing: if you think it's actually NOT adding value to the world, tell me so, so i can either fix it or stop adding noise
dreamrealand I get that you may have been speaking in jest and all that, but *I* am serious
cheeserno, it's good, honestly.
nb-ben+1
dreamreal(Sorry, I'm a little sensitive: I'm doing the same thing now that I did at TSS, but my nominations for java champion were turned down because I was "just a journalist" and that still stings: it's fine, but even so, dang, people. I was a programmer first and always.)
jbosmansi have to admin "java champion" is a term i mostly see in presentations/conf sessions from time to time
dreamrealYeah, it's not got a lot of value in and of itself, it's just a sort of recognition by people who've kinda earned some industry rep
jbosmansi always found them "invented for the provider, not the practitioner"
jbosmansyeah
dreamrealNah, the people who're java champions generally earn it. Maybe not Reza, but most of them deserve the recognition
dmlloydheh
dreamrealI don't think I've ever seen "Java Champion" and gone "oh that's why I should pay attention to them" but I've also never gone "Dang, why is HOLLY a java champion"
dreamreal(Sorry, I have a hard time seeing Reza Rahman as a java champion. there's another one whose name escapes me who seems to have become a JC mostly from saying "java sucks and it's irredeemable" just like Reza but ... again, name escapes me.)
jbosmansmaybe it's just something not-java-champion people (or i) say, i don't want to take away from it at all
jbosmansgiven i know the term after all, maybe it's a success
dreamrealWell, yeah, I suppose. I remember when they instituted it, and pretty much everyone who'd gotten it would be someone where you'd go "yep, of course"
dreamrealI wouldn't have minded getting turned down but Kirk Pepperdine said the vote was close... and failed because of the journalist thing
jbosmansit's been around a while afaik
jbosmansi guess since oracle
dreamrealit has, yes
dreamrealsince before
dmlloydI will not say a lot about it here but I will say that AI could be the greatest thing that ever happened to Reza
jbosmansoh didn't know
dreamrealdmlloyd: oh my. Really?
dmlloydassuming anyone will hire him
dreamrealoof
jbosmansi remember iirc martijn verburgh saying
dreamrealThat sounds like my sparkling opinion of him might be less unique than I thought
dmlloydhe can just feed all his nonsense to AI and let it sort it all out
jbosmansthose who can't do teach, those who can't teach write a book, those who can't write a book present at conferences :P
dreamrealjbosmans: well... that may be true, but I can name a few people at conferences who *absolutely* are worth paying attention to
jbosmansof course :)
cheeser"close" meant 1 vote at the time because that's all it took then
dreamrealI don't do the conference circuit and can't enjoy such things, but I know a lot of the names
dreamrealcheeser: Kirk said it was like 48%-52%
dmlloydI believe the original quote is "those who can, do; those who *understand*, teach"
dreamrealI don't know, I was never on the inside of it
dmlloydwhich isn't as fun
cheeseri'm not sure how works out since it only took one negative vote then
dreamrealOh, my. Ouch.
jbosmansat conference it's usually some of the cooks (interesting), some BP's (interesting for vendor), some consultants (still interesting for vendor) and some wild ducks (maybe)
dreamrealJosh Long said he'd endorse me submitting again, but *I* would have submit myself, and I have a really hard time doing that
jbosmansoh yeah, people tend to pay for confs as well so, win/win/win :)
dreamrealjbosmans: if you get a chance to hear Holly Cummins, 100% worth it
jbosmansnever heard of a holly cummins, but i'm most probably not a good ref :)
dmlloydshe co-hosts the quarkus insights podcast series almost every week
jbosmansdidn't know ^
jbosmansshe's on the dev team and/or .. ?
dreamrealand a FANTASTIC speaker *and* a Good Human *and* smart as hell
cheeseradjacent to the team
dmlloydyeah she's on the quarkus dev team
dreamrealThat's her one flaw! :D
dmlloydin fact that team has a number of really awesome people on it
dmlloydlol
* MikeBux joined #java
dreamrealdmlloyd: you know if quarkus is planning on adding EAI?
cheeserhow badly does gradle suck? it's complaining about gradle 10 (eventual!) incompabilities in a plugin the build is using that I can do nothing about.
dmlloydyou mean like camel and whatnot?
dmlloydI'm not sure, but I think something exists in that space
cheeserquarkus-camel is a thing last I checked.
jbosmansi never did get further into "thinking in gradle" than i ever got into "thinking in maven", but at least maven is declarative (and yeah it doesn't bother me that it's XML)
ParaI don't need to think Maven.
ParaWhich makes it a winner, as I only have what, 14 Watts to spare.
jbosmansi just think Less Is More
jbosmansi may have been influenced by grunt vs gulp in js world
jbosmans(i was using maven long before then)
jbosmansgulp (iirc) was like, hey just write your build scripts in js!
jbosmansthe joy
dreamrealGradle's declarative, they just have different intentions than maven does
cheeserdeclaratively shit
jbosmansas in, a running daemon?
dreamrealwell, the dev team for gradle has... different priorities than their userbase thinks they should, by and large :D
dreamrealthey emphasize features and churn over, like, stability and predictability
cheeseri disabled that shit, too. i was fighting a spotless failure today with "MISSING_LINE" in the error message. source looked fine. clean, apply. same error. rm -r .gradle. worked.
cheeser╭∩╮(︶︿︶)╭∩╮ gradle
jbosmansfor a few years it was all one could hear about @ gradle
jbosmans"years long since passed"
dreamrealif you're not locking gradle version you're insane
dreamrealand that's actually why I stopped using gradle in my books
dreamrealI was thinking "how do I explain why I locked in an old version of gradle without sounding like I'm telling some kids to stay off my lawn"
* mwnaylor joined #java
jbosmansfun thing is
jbosmansgradle wrapper -> maven wrapper
jbosmanssure
dreamrealOne of the spring books' prior revs was on gradle 5, and getting it to work in gradle... 8 was basically a rewrite, and nope
jbosmanslet's just make the build system work "automagically"
jbosmansyou're writing code, but can't invoke a command
dreamrealEasy enough to do but if you can't run a simple build with a modern version of the build tool, that's a flaw
jbosmans? -> $$$$
jbosmansdreamreal, it's not about that
jbosmansit's about controlling the version used
dreamrealwait, what is about ... what
jbosmansi don't want some project to define the build tool
jbosmans*ever*
dreamrealsure, but if your build requires the build tool to work a specific way, the wrappers and locking in versions are how that happens
jbosmans(nor a bunch of other things)
jbosmanssure
jbosmansfor playground stuff
dreamrealyou're not dependent on some shlub having NOT updated to gradle 14
dreamrealI can't afford to hope that nobody updated gradle at work
dreamrealso at work: we lock in. We have a build that works; any change had better be justified.
jbosmans:s
jbosmanshopefully microservices then?
dreamrealWith maven, there's a lot of protection against that, socially speaking: maven doesn't LIKE breaking things. So it's a little less important there. But for gradle... hell, they break thing in MINOR releases.
dreamrealand the dev team's response to that is usually *shrug*
jbosmansoh sorry, i was only talking about maven
jbosmansimho everything cross company should compile && keep working with reasonable "recent" version of maven
jbosmansnot something "project defined"
dreamrealWell, I can see wanting maven to have compatibility, too, esp if mvnd is in the mix.
dreamrealbut sure.
dreamreal... in my books, I don't worry about locking maven versions. :D
cheeseri've found those daemons more impediment than aid.
dreamrealHow so?
dreamreal(I'm curious what edges you've found: I've certainly found some myself.)
cheesercache corruption, more often than not.
jbosmansi only invoke maven directly for deployment builds, other stuff => intellij compilation (mostly)
dreamrealFor me it's been resource usage: with testcontainers it can get *interesting*
jbosmanshah cache corruptions would be a pain i figure :)
cheeserguess what just happened again?
* dreamreal had to delete his first response
dreamreallet me guess: cache corruption with mvnd?
cheeseri wish we used maven here...
jbosmansdoes it save a lot overall?
jbosmansoh right, sorry, gradle
dreamrealoh, you're getting that with GRADLE?
dreamrealHaha! Which version?
jbosmansi'd hope "just always full clean && rebuild" would fix it