Community
Chat Logs
Thursday, March 26, 2026
- * zorone joined #java
- * michele joined #java
- * Ragnor joined #java
- * ash_2026 joined #java
- * NeXeN joined #java
- * NeXeN joined #java
- * deavmi joined #java
- * sponkz joined #java
- * NeXeN joined #java
- * Afterglow joined #java
- * Nitrousoxide joined #java
- * meyou joined #java
- * NeXeN joined #java
- * marcel joined #java
- * NeXeN joined #java
- * stfstfm_ joined #java
- * stfstfm joined #java
- * stewi joined #java
- * NeXeN joined #java
- * jbosmans joined #java
- * NeXeN joined #java
- * Aedil joined #java
- * NeXeN joined #java
- * mitch0 joined #java
- * NeXeN joined #java
- * Afroboy joined #java
- * johnjay joined #java
- * johnjay joined #java
- * NeXeN joined #java
- * Afroboy joined #java
- * jreicher joined #java
- * sponkz joined #java
- * Square joined #java
- * NeXeN joined #java
- SquareIf you have a DB test using H2 (I assume?), is there some easy trick to connect to the in memory h2?
- NeXeNyeah it's like the connection string lemme look it up
- * polarian joined #java
- NeXeNjdbc:h2:mem:whateverdb;
- NeXeNDB_CLOSE_DELAY=-1 is advised unless you want the result to be wiped when the connection is closed
- NeXeNoh DB_CLOSE_ON_EXIT=false too of course
- NeXeNhttps://www.h2database.com/html/features.html#in_memory_databases
- nevetFeatures
- * NeXeN joined #java
- SquareNeXeN, sure that is available just like that? I thought you had to throw in some spring properties to make h2 accessible?
- * ash_2026 joined #java
- NeXeNthere is a cool web based console too
- NeXeNgotta enable it in the app props
- NeXeNonly thing i've ever had issue with is spring security might add a security filter chain
- NeXeNhttps://docs.spring.io/spring-boot/how-to/data-access.html
- NeXeNadd your url, username, pool size, etc
- * NeXeN joined #java
- * SJrX joined #java
- * jreicher joined #java
- * NeXeN joined #java
- * jreicher joined #java
- * michele joined #java
- * michele joined #java
- * kcomhnall joined #java
- * MikeBux joined #java
- dreamrealSquare: ...
- Squaredreamreal, wdym? Have I just revealed I am dumb?
- dreamrealWhy would you say that? I don't think yo're dumb, but... I mean... wanting access to an H2 in-memory database isn't the worst idea ever, you're trying to examine running state, but suggests there's a lot of cleaner ways to work out whatever you're trying to do
- SquareI found a way from a SO post. You start a server in @BeforeAll and then you can connect to that given you set *thread* breakpoint.
- dreamrealso you're trying to examine *test* state?
- Squareyes. Atm I'm debugging a Criteria api query and sorta need the db to test stuff. Together with "hibernate.show-sql=true"
- dreamrealRight. You should do whatever you need to do to do your own thing, but *my* 100% unasked-for advice would have been, had you asked: 1) don't use in-memory for H2, 2) use testcontainers and not H2 in the first place, 3) don't use criteria
- dreamrealjava development is not hard, when it *is* hard you're doing it wrong
- dreamrealagain, this is unasked-for advice and I expect it to be treated as such
- * jreicher joined #java
- kcomhnallso, jetbrains is introducing "Database access for AI agents" in IntelliJ 2026.1 and I'm wondering if this feature is turned on by default if I have a jetbrains account or do I need to do something to enable it?
- kcomhnallI don't want it so... I'm kind of hesitant about the upgrade.
- jreicherdreamreal: what makes you say java development is not hard? I'm not disagreeing, but I'm curious about your certainty.
- dreamrealjreicher: java is *simple*. understanding is hard. You can make things hard by not understanding them, but that's because your *expression* is wrong.
- dreamrealJava does some things really poorly: unsigned types being missing is a *drag*. But those things typically have relatively limited scope - they're important, but most of us don't care until we actually hit something where we're going "hey wait this IS a limit, how what aaaaaagh"
- dreamrealI run into limits like that ALL THE TIME... but I work with images that are 4G+ in size
- dreamreal(I'm spending a pretty decent amount of time going "how what aaaaaaagh")
- jreicherI'm not sure anyone who has had to content with compiler errors related to wildcards would accept that Java is simple...
- jreicher^content^contend
- dreamrealeven so, that's understanding the type system
- jreicherYes, but I'm not sure it's simple. As I said I'm just curious about your certainty.
- dreamrealkcomhnall: you could always just turn off AI
- dreamrealI don't see anything especially related to IDEA and databases and AI
- kcomhnalldreamreal: right, and not seeing anything where? It's in the what's new section. Link also : https://www.jetbrains.com/idea/whatsnew/?utm_medium=link&utm_campaign=IU&utm_source=product&utm_content=2025.3
- javabotkcomhnall's title: "What's New in IntelliJ IDEA"
- nevetWhat's New in IntelliJ IDEA
- dreamrealjreicher: well, it's not an absolute, of course, but honestly, I've worked in systems that require a lot more understanding than java does, to get stuff done
- dreamrealit's a relatively constrained language, that's getting slightly fewer constraints as time goes on
- jreicherMaybe constrained for an OO language. But I've always believed that OO is inherently difficult.
- jreicherFor example I don't think OO should be anyone's first language.
- dreamrealjreicher: well, yeah, but that's because OO is more how we think than machines
- dreamrealkcomhnall: It looks like it's just an ability to access the database via the properties, nothing much different than working with your code
- Squaredreamreal, I agree Criteria API might get create complex queries that are hard to debug. But it's a good idea.
- Square...on paper
- dreamrealSquare: criteria are a great idea done really poorly with a very heavy implementation
- Squareoh ok?
- dreamrealI mean, you contort your *compilation* to make them work thanks to metadata
- kcomhnalldreamreal: ugggh... I don't have AI help with my code... just some autocomplete features I assume are built-in to my code editor. But okay.
- dreamrealkcomhnall: then it wouldn't affect you
- kcomhnalldreamreal: cool
- dreamrealalthough autocomplete is AI too :D
- dreamrealI wish people would stop conflating AI with LLMs
- kcomhnalleh...
- dreamrealkcomhnall: eh what
- jreicherdreamreal: actually I think OO is a "god's eye view". Humans think either pure imperative or pure functional, IMO
- dreamrealjreicher: really? What can you do with a doorknob?
- jreicherI turn it. But I do NOT then visualise what happens with the other objects in the door.
- dreamrealI mean, humans DO think differently, I have a fundamentally different perceptive model than most humans do
- dreamrealwhy do you turn it? Is it a turning doorknob?
- SquareDo you guys use some requirement tool where you're at? I'm not sure I'd count JIRA as a requirement tool. =D
- dreamrealDon't you push it first? I mean, doorknob. Or pull it?
- dreamrealSquare: I mostly annoy my co-workers.
- jreicherMaybe, but that's neither here not there. Whatever I do to the doorknob will be related to simple outcomes. That's imperative thinking. There's no object collaboration there.
- dreamreal(I really do: I use humor a lot in working with people, to help offset how annoying I am.)
- Squaredreamreal, I'm honestly curious. I feel wee lacking one.
- dreamrealjreicher: you don't think about the doorknob structure, sure. Why would you? It is what it does.
- jreicherWhich is why OO is difficult. For the system builder, the structure is exposed.
- dreamrealSquare: I don't have a good answer for you, I don't think jira would be one either. It'd track requirements humans enter, not enforce them or "be a tool for it"
- dreamrealjreicher: but a programmer DOES need to understand the context of the doorknob
- jreicherImperative is sequenced. Functional is composed. OO is collaboration, which IMO is the most difficult by far.
- dreamrealokay
- dreamrealI mean, that's fine, what can I say?
- jreicherWell, either you think I'm wrong characterising OO as collaboration, or you think collaboration is simple. I'm curious which it is?
- dreamrealFor me? Probably the latter
- dreamrealI think everything works in context and systems, so OO feels like just an expression
- jreicherInteresting. Do you also feel concurrency is simple?
- dreamrealsure! The coordination isn't, but concurrency itself is
- SquareTo me OO mostly feels like a way to organize code. Wo having SOLID principles in my head.
- dreamrealprogramming as a career for me is very much a continuous revelation of "ahhhhh, of course"
- jreicherSquare: I agree with that, but I feel it's another way of saying it's not simple. It's a bit like editing writing.
- dreamrealeditig writing is simple, too :D
- kcomhnallI've associated OO as just thinking of everything as an object having state and behavior. simple
- jreicherdreamreal: well at least you're consistent. :p
- * Candle joined #java
- jreicherkcomhnall: that is simple when considering an object in isolation. How it responds to a population of objects, less so (MO)
- SquareLike Haskell has "structs/records". Association between these structs and functions that operate on them becomes a discipline thing.
- jreicher^MO^IMO
- jreicherSquare: it makes a big difference that the objects in Haskell are immutable. The interaction between them cannot lead to state change.
- kcomhnalljreicher: sounds like you're referring to interfaces.
- * kcomhnall getting distracted and should probably get back on task
- Squarejreicher, Amen to that
- jreicherIf you'll excuse the stretch, it's a bit like the "simple" rules of game of life leading to surprising outcomes. The lifcycle of a single cell is simple. The lifecycle of a population... nope
- dreamrealjreicher: I do a lot with conway too :D
- dreamrealI thought about putting conway into nevet but the usage would be none and it would add no functionality whatsoever
- dreamrealthat's a good point, though: who here uses wolfram alpha?
- kcomhnallConway's game of life was a fun project. did that using Javascript though...
- dreamrealkcomhnall: I've done it with a lot of languages in different variants
- jreicherdreamreal: whenever my local software can't do what i need. But only then.
- dreamrealjreicher: you use alpha?
- SquareI feel OO sort of disregard functional dependencies. It's more important to talk about functions than properties.
- kcomhnallmy group mates were impressed I added testing to the project. they were like "did we have to do that" heh...no but I'm not gonna not do it because it wasn't a requirement.
- jreicherBefore I discover Emacs calc I probably used it more. But even before that my main go-to was gnuplot, even when I wasn't plotting anything.
- dreamrealkcomhnall: I drive my team crazy with tests :D
- jreicherDrop the last two words and it's still true? :p
- dreamrealjreicher: you use it only for the maths?
- dreamrealwell, yeah
- jreicherIs there anything else?
- dreamrealI'm fundamentally annoying
- dreamrealjreicher: in ALPHA? Gosh, yes
- dreamrealit's *really* good at that
- jreicherLet me see.
- dreamrealunless they've removed features!
- jreicherI asked it "what is the ideal temperature for serving chaource" and it gave me some kind of weather report.
- dreamrealthat's because weather's probably relevant for ...
- dreamrealalpha's fundamentally interesting because it relies on some really complex applications of conway
- dreamrealI can't even begin to describe it the way they do
- dreamreal"basically we seed it with like a number, yeah, dude, and then it tells us the question that leads to the answer to life, the universe, and everything, and then one thing leads to another and..."
- jreicherYou mean he put "a new kind of science" into practice?!
- dreamrealyeah
- dreamrealso they say, at least
- dreamrealI loved that book, it's on my shelf right now
- jreicherI had no idea. Props for putting his mouth where his money is.
- dreamrealthat and godel, escher, bach are right by each other
- jreicherI would suggest you leaf through Heijenoort. It might change your perspective on the other books. And for the better.
- dreamrealWhich other books?
- dreamreal(Not familiar with heijenoort - url?)
- jreicherFrom Frege to Godel
- jreicherOne of the most extraordinary books I have encountered in my life. Peerless.
- dreamrealooh. That looks interesting and mindbending. Now I gotta consider.
- dreamrealReading books on maths is something I enjoyed more when I was younger, though
- jreicher"The Undecidable" by Martin Davis, is almost in the same league, but not quite. Still excellent for CS people.
- jreicherYou won't regret having a copy of Heijenoort. Even if you refer to it a few times a year for the rest of your life, you will get something from it.
- jreicherReading Godel's paper on undecidability was an interesting experience for me because I did CS before logic. So when I got to his list of 45 functions I realised I was looking at a computer program.
- jreicher(without a computer)
- dreamrealsee, that would be an interesting observation for me
- dreamrealwhat does a computer have to do with it?
- jreicherThat's easy to explain, but I would like to quote Godel directly. Let me grab the book.
- whaleywhat's a computer, but a second hand deviiiiice
- jreicher"Note added 28 August 1963. In consequence of later advances, in particular of the fact that due to A.M. Turing's work a precise and unquestionably adequate definition of the general notion of formal system can now be given, a completely general version of Theorems Vi and Xi is now possible."
- jreicherWhat Godel means by that is the conception of a computing machine defines what constitutes a formal system.
- jreicherSaid another way, a proof is formal if it can be checked by a computer. So our definition of a computer is fundamental.
- dreamrealI don't see the difference, though: the simulation theorem is unprovable except by implication, because if we were in a program, it could indeed act exactly like this. How is this NOT a program? We call it an open system because we don't know the inputs, but that's about it.
- jreicherThis is not about our experience, but about what we consider validity to be,
- dreamrealI don't see where that boundary is, though
- dreamrealI mean, I do, but it feels very artificial to me
- dreamrealwe walk from place to place but define "a race" as when we go quickly between THESE two places at THIS specific time
- dreamrealbut we still move about, how are those different except from artificial constraints
- * NeXeN joined #java
- * NeXeN joined #java
- * Tenchi joined #java
- * kcomhnall joined #java
- deebohas anyone added something like an annotation of @PleaseDontUseInREstApi for method scopes that would very loudly warn at run time via some mechanism if called from a place where it shouldn't be
- dreamrealno but this sounds like your chance to change the world!
- deebolike project level static analysis rules? preferrably without too much coding effort to add
- dreamrealI mean, you could do it with AOP, too
- dreamrealmodulith, maybe?
- deeboi'm refactoring some stuff that used to do var universe = loadUniverse(); return universe.filter(pk -> pk.eqeuals(request.id));
- deeboi want to very loudly complain in logs/ci/cd if someone does this again
- dreamrealdeprecate it?
- deeboloading full object graphs etc is very useful for some background work and tests, but most people don't realize the effect it has on api latency overall
- dreamrealWhy not put it only in tests, then?
- dreamrealinstead of SAYING "don't do this," make it so they can't
- * NeXeN_ joined #java
- * sponkz joined #java
- BombeYeah, subtlety is lost on some people. Make it illegal!
- ParaOne could create a @Landmine annotation and use aspect weaving to break any path which hits that.
- Para...or how about @Microtransaction("$ 1.99") which would look up credit cards from env and bill you for daring to use that.
- * NeXeN_ joined #java
- * onu joined #java
- * GreenResponse joined #java
- deeboi shall proxy all calls to the method and System.exit(1) if target has annotation
- SquareI was under the impression you could get a spring boot up and running in no time with sensible defaults for db etc
- Squarelike a h2 db
- deeboyou can also just use the testcontainers jdbc driver if lazy
- Squarei never tried testcontainers. Is it docker based?
- * NeXeN joined #java
- DoofusCanadensisyes
- * jamezp joined #java
- dreamrealSquare: what does "no time" mean? I mean, it'd take about 3 minutes with initializr
- dreamrealand it has sensible defaults but you still need a DB somewhere
- dreamrealWhat are you wanting to do? All of this is remarkably low effort, it's not "no time" but that's because "no time" has an actual meaning and doing anything in the real world takes *some time*
- Squaredreamreal, never heard of initializr. Looks simple enough
- dreamrealif you're spending more than five minutes getting a db *working* you're actually needing to learn what to do, because it's really easy: testcontainers is a thing (if you have OCI) - provide the dependency, set up the JDBC URL to include the tc prefix, done
- dreamrealbut spring will fall back to h2 by default for you
- dreamrealthere's rocket science and, well, rocket surgery, and then there's this
- Squarei feel I'm not in a situation where I have the time to get into testcontainers, so I'd prefer the 2026 crazy easy approach.
- dreamrealI thought the testcontainers thing was the 2024 crazy easy approach myself
- Squarei was under the impression @SpringBootApplication wo much else would do the job
- Square...and some "-starter" dependendencies
- dreamrealThe default is to use H2 inmemory unless they've changed it
- dreamrealbut that's inherently limiting in a lot of ways
- * NeXeN joined #java
- Squarefinally. I had added more annotations than I needed (before I remember the importance of having the right "starter" dependencies on the CP)
- dreamrealSomeone really should try to write a book on spring.
- * NeXeN joined #java
- DoofusCanadensisdo you know any writers?
- dreamrealOne or two.
- DoofusCanadensiscool
- DoofusCanadensis~books
- javabotSome good java books are listed at https://javachannel.org/java-books/. Also see ~general books
- SquareI thought internet replaced books?
- * NeXeN joined #java
- Square...wait, AI replaced books.
- dreamrealno, the internet and the AIs use books to train their datasets
- DoofusCanadensisnah, I've read some spring books... they're good
- dreamrealso the books still have value, plus books have authors with whom you can actually converse
- dreamrealunless you're a doofus, then they're like "dang, go away"
- Squarei was mostly kidding
- dreamreal~poe
- javabotPoe's Law states that "without a winking smiley or other blatant display of humor, it is utterly impossible to parody a Creationist in such a way that someone won't mistake it for the genuine article." Swap creationism for ANY extremist POV. Corollary: don't use sarcasm (or HUMOR) without being obvious about it.
- DoofusCanadensisI resemble that remark
- * NeXeN joined #java
- cheeser /3
- * michele joined #java
- DoofusCanadensis /4
- * michele joined #java
- Squarengl, just tried JPA criteria api with "window functions" and it seems to work.
- Square...I'm impressed
- dreamrealwhy?
- dreamrealI mean, that's good
- dreamrealbut why is it impressive?
- * NeXeN joined #java
- * NeXeN_ joined #java
- * NeXeN joined #java
- Squaredreamreal, 1) I didnt know they had solved the group-wise max problem in SQL. 2) Can't ask for much more than working support in both h2 and hibernate.
- * NeXeN joined #java
- * stfstfm_ joined #java
- dreamrealThat's good, but I'd have hoped those were baseline expectations :D
- dreamreallike "ooo, this is cool, this compiler works for simple inputs!" is... sort of not "cool," it's "what compilers should be doing"
- * raj joined #java
- * NeXeN joined #java
- * NeXeN_ joined #java
- * TomyWork joined #java
- Squaredreamreal, My expectations on "corporate software tools" are really low.
- DoofusCanadensisthat's weird
- Square.../java world
- * stfstfm joined #java
- dreamrealSquare: that's interesting. Why would they be corporate software tools if they didn't work? Like, java's been around for 28 years... if it didn't work... why?
- * polarian joined #java
- * s3 joined #java
- * stfstfm_ joined #java
- Squaredreamreal, Base functionality has worked, but there's always been lots of lose ends and half baked stuff. I'm referring to eco system stuff. Spring, Maven, hibernate, dbs, "Industry leading libraries" etc.
- SquareSome of it is probably because of good reasons. Too expensive to change, no active maintainers, etc.
- * stfstfm joined #java
- * stfstfm__9374 joined #java
- * metalmaniac joined #java
- cheeserdreamreal: 30 years!
- dreamrealMy first expeience with Java would have been 1998 - no, you know, you're right
- dreamrealI first encountered it around 1997, with 1.1, and it'd been out for a bit before that
- cheeserof course I am. ;)
- cheeser1995
- deavmihappy bday cheeser
- deavmiI didn't read the backlog. I will assume you turned 30, ;)
- cheeserfor the 3rd time! it's one of my favorite things to do.
- * stfstfm joined #java
- * rvalue joined #java
- * stfstfm_ joined #java
- * stfstfm_ joined #java
- * stfstfm joined #java
- * ultralan joined #java
- * sponkz joined #java
- * stfstfm_ joined #java
- * rvalue- joined #java
- * stfstfm joined #java
- * NeXeN_ joined #java
- * zorone joined #java
- * zorone joined #java
- * jbosmans joined #java
- * metalmaniac joined #java
- * jbosmans joined #java
- * NeXeN_ joined #java
- * zorone_ joined #java
- * henbruas_ joined #java
- * zorone_ joined #java
- * NeXeN_ joined #java
- * zorone_ joined #java
- * jreicher joined #java
- * mindCrime joined #java
- * NeXeN joined #java
- * LFK4 joined #java
- * Exagone313 joined #java
- * SJrX- joined #java
- * Cyp_ joined #java
- * JoelJoel joined #java
- * Disco joined #java
- * handicra- joined #java
- * gjvc joined #java
- * sponkz joined #java
- * sponkz joined #java
- * P1RATEZ joined #java