• cheeser
  • ernimril
  • joed
  • kinabalu
  • lunk
  • ojacobson
  • r0bby
  • ThaDon
  • ricky_clarkson
  • topriddy

« 2019-03-15


2019-03-17 »

Nick Message Date
Foxfir3 [Foxfir3!] has joined ##java [12:20]
Foxfir3 hibernate or couchdb4j to connect to couchdb? Which direction to take? [12:20]
Foxfir3 so hibernate is the major thing when connecting java to databases? [12:24]
AMcBain It's a well used library. It has its share of bugs like anything else. Use what offers the features you need and seems natural to you. [12:26]
Foxfir3 AMcBain: im not sure what options there are [12:27]
AMcBain I don't know, I've never used couchdb. [12:27]
Foxfir3 AMcBain: I must try Hibernate then. couchdb4j is from 2007. [12:28]
AMcBain Start date isn't a good indicator. Last update is better, however some projects reach stability and don't need to make many new changes if they have little to no bugs and are either standalone or the item they work with hasn't changed. [12:29]
Foxfir3 AMcBain: good point. Guessing I will have to invest the time in Hibernate then, instead hunting for the quick solution. [12:34]
Kol [Kol!] has joined ##java [12:38]
djhworld [djhworld!~djhworld@] has joined ##java [12:38]
Crash1hd [Crash1hd!~Crash1hd@unaffiliated/crash1hd] has joined ##java [12:41]
pd09041999 [pd09041999!~pd0904199@2405:205:5:ee80:106a:4c48:e82:9dba] has joined ##java [12:47]
mingzie [mingzie!3d44304e@gateway/web/freenode/ip.] has joined ##java [12:49]
mingzie Hi guys I have an object - School x; I want to assign y to be a copy of a nested object in x [12:51]
mingzie y = x.Staff [12:51]
mingzie is this an incorrect way to do it? [12:52]
mingzie as in will there any be issues where y is looking into the reference of x [12:52]
mingzie once y gets the object from x i dont want y to have anything to do with x [12:52]
mingzie its supposed to be a copy [12:52]
mingzie thanks [12:52]
AMcBain Assignment by itself in Java doesn't copy the object being assigned. You'll have to implement some sort of clone/copy function or a copy constructor. [12:53]
waz [waz!~waz@pdpc/supporter/active/waz] has joined ##java [12:53]
AMcBain but if you mean detached in the sense that if someone did x.Staff = foo; The value in y will not change as a result of that assignment. [12:53]
mingzie what if i did y = new Staff() [12:54]
mingzie would that affect x's staff? [12:54]
AMcBain No. [12:54]
AMcBain Assignment creates a new reference that points to whatever you're assigning. Any other references to that object are independent. [12:56]
mingzie thanks, one last one [12:57]
mingzie what if i were to do y.createNewStaff() [12:57]
mingzie would that still be pointing to x's staff [12:57]
HatesLongFiles how do i traverse an array by increments of 2 [12:58]
AMcBain mingzie, Depends. Did you do the y = new Staff() before or after making that call? [12:58]
mingzie without that call [12:59]
mingzie without the new staff i mean [12:59]
HatesLongFiles as i is read only in for (i in value) [12:59]
AMcBain mingzie, then yes, it's going to be working off of x's Staff object. However if createNewStaff doesn't mutate the Staff object then it doesn't matter. [12:59]
HatesLongFiles aswell as in value.indices [12:59]
AMcBain HatesLongFiles, Er... you sure that's Java? [01:00]
AMcBain If it's an array just do for (int i = 0; i < value.length; i += 2) { value[i]; value[i + 1]; /* Do stuff with each 'pair' */ } [01:01]
HatesLongFiles ok [01:01]
javango_ [javango_!~javango@] has joined ##java [01:13]
mingzie I have an unexplained pause in my app. i do a for (x: y) system.nanotime .. system.nanotime [01:24]
mingzie then a system.nanotime straight outside the loop [01:24]
mingzie why is there a 20ms difference between adding up all the execution times in the loop [01:24]
mingzie vs the two nanotime outside the loop [01:25]
pd09041999 [pd09041999!~pd0904199@] has joined ##java [01:26]
mingzie this is blowing my mind, there is no GC log [01:26]
mingzie nor any calculations inside the for(List<String> listElement: list) [01:28]
katiex7 [katiex7!] has joined ##java [01:28]
pd09041999 [pd09041999!~pd0904199@] has joined ##java [01:29]
AMcBain mingzie, my first thought would be this: "This method provides nanosecond precision, but not necessarily nanosecond resolution (that is, how frequently the value changes) - no guarantees are made except that the resolution is at least as good as that of currentTimeMillis(). " (from the JavaDoc) However if you're doing stuff in between those two calls I'd expect it to be non-zero. You could always use javap to find out what the bytecode is [01:31]
AMcBain that's generated for your program. [01:31]
AMcBain Though to be honest it seems like you're trying to optimize something before you're even really ready to do so. Write the program first, then go looking for bottlenecks if the performance isn't acceptable. [01:32]
Naeblis [Naeblis!~Naeblis@unaffiliated/naeblis] has joined ##java [01:42]
wbrawner [wbrawner!~wbrawner@] has joined ##java [01:42]
sauvin [sauvin!sauvin@about/linux/staff/sauvin] has joined ##java [01:45]
rs [rs!~rs@unaffiliated/borsin] has joined ##java [01:47]
rs Is it possible for a byte to be a double zero as in '00' and not '0'? [01:49]
Tobbi [Tobbi!~Tobbi@supertux/tobbi] has joined ##java [01:52]
AMcBain rs, I don't understand the question. A byte is a number, represented by 8 bits. So depending on how you want to look at this it's either 8 zeros (not 2) or you've got two bytes in a row (both representing 0). Being practical here, 00 is just zero so no, a byte can't be '00'. That would be a string. :P [01:58]
wbrawner [wbrawner!~wbrawner@] has joined ##java [01:58]
Hamilton [Hamilton!~Hamilton@unaffiliated/hamilton] has joined ##java [01:59]
dosdebug [dosdebug!~dosdebug@unaffiliated/dosdebug] has joined ##java [01:59]
AugustusCaesar24 [AugustusCaesar24!] has joined ##java [01:59]
Hamilton So does latest version of eclipse support e(fx) plugin for javafx 11? [01:59]
rruizt [rruizt!] has joined ##java [01:59]
HatesLongFiles*QrK-8DjTek5yPggCz9U_dQ.png [02:01]
HatesLongFiles this is confusing ;-; [02:01]
mingzie @AMcBain thanks, how would javap help [02:03]
Thanos [Thanos!67534584@gateway/web/freenode/ip.] has joined ##java [02:03]
AMcBain mingzie, well if you read what I said, it would show you the resulting bytecode of your program and you could take a look at what's going on under the hood to try and identify where this "mysterious" time is coming from. [02:03]
Thanos well its completely off-topic but do we have any channel related to accounts section? [02:04]
AMcBain Wat? [02:04]
Hamilton Also doesn't latest verson of Eclipse support JavaFX11? [02:06]
Hamilton or openJDK11? [02:06]
AugustusCaesar24 parted the channel: "Closing Window" [02:09]
mingzie i have the source code [02:12]
mingzie do i still need javap? [02:12]
null1337 [null1337!] has joined ##java [02:12]
AMcBain mingzie, javap doesn't give you back source from .class files. It gives you bytecode from .class files. Bytecode is what the JVM runs. [02:12]
AMcBain So no, you don't really need the source to use javap but it would allow you to make changes, compile it, then see what difference results in bytecode. That said, I think you're wasting your time chasing this down. [02:13]
mingzie this is already a full scale thing sending to cassandra [02:14]
mingzie inbetween each write theres a mysterious ms [02:14]
mingzie so ill try that out, thanks [02:14]
mingzie i cant see anything inbetween the loop and when it goes outside [02:14]
wbrawner [wbrawner!~wbrawner@] has joined ##java [02:15]
rs AMcBain: Unfortunately I'm limited to only using bytes in a use case for dollar amounts. Kind of dumb if you ask me. So anything that ends in $*.00 will never work. [02:15]
AMcBain rs, uhhh, what? 00 is the same as 0 as far as numbers are concerned. In terms of display they're different, sure, but when dealing with currency you're always going to output 00 for 0 and 0# for numbers < 10, right? Why doesn't a byte work? [02:17]
pd09041999 [pd09041999!~pd0904199@] has joined ##java [02:20]
rs AMcBain: Makes sense. I must have a logical error someplace else. Sure, it does output $*.00; however, in my case if I enter $1.00 I end up with $0.00 due to the single 0. [02:23]
AMcBain I doubt it's due to "single zero" or whatever you mean by that. Though I'd agree there's probably a logic error somewhere. [02:24]
rs So when I do a System.out it prints literally a single 0, after reading in a byte from the console. [02:25]
null1337 [null1337!~WhoAmI@] has joined ##java [02:26]
rs Using javafx with a textfield. 'byte someCent = Byte.valueOf(cent.getText()); System.out.println(someCent);' -- prints '0' [02:27]
rs When entering '00' as mentioned. [02:27]
AMcBain because 00 is the same as 0 as far as numbers go. This is the third or fourth time I've said so... you have to do some work on your end to print '00' where needed when the value is zero. [02:28]
AMcBain 00 is a representation of 0, not a distinct value from zero. [02:28]
rs Right. So as I suspected the problem is unsolvable with my constraints. [02:29]
AMcBain ... [02:30]
AMcBain if (someCent === 0) { System.out.println('00'); } else if (someCent < 10) { System.out.println('0' + someCent); } else { System.out.println(someCent); } // Must be rocket science! [02:31]
AMcBain oops. == not ===. hehe [02:31]
rs I'm not wanting it to print to the console. Using javafx. No need to be a jerk. [02:32]
AMcBain My point is (hopefully) a bit more general. If you have access to it enough to print it to the console, then surely you have enough control to manipulate the value before display elsewhere. [02:35]
AMcBain I don't understand how this is intractable. [02:35]
pd09041999 [pd09041999!~pd0904199@2405:205:5:ee80:106a:4c48:e82:9dba] has joined ##java [02:40]
immibis because s/he has added artificial constraints that make it unsolvable [02:42]
immibis 7 red lines all perpendicular, and some green [02:42]
rs immibis: It's so easy to point fingers. As I said I'm constrained, not that I constrained myself. Big difference. :p [02:44]
immibis why are you constrained? [02:44]
rs I'm being forced to use a byte. Period. [02:44]
dave_uy [dave_uy!~dave_uy@] has joined ##java [02:50]
AMcBain OK, fine. You "have" to use byte. because it's probably a class assignment or misguided lead architect. Whatever. That still doesn't contain enough details as to why you don't have the control over how it is *output* to the user, seeing as you already demonstrated with the System.out.println example that you can a least access the value in some fashion directly. [02:51]
dez [dez!uid92154@fedora/deSouza] has joined ##java [02:51]
immibis AMcBain: why do you have to use System.out.println(someCent);? [02:52]
immibis or I guess cent.setText(String.valueOf(someCent)); [02:52]
AMcBain immibis, I don't. They used it as an example, but then said they're not using System.out.println in the actual code. [02:52]
immibis rs why do you have to use System.out.println(someCent);? or I guess cent.setText(String.valueOf(someCent)); [02:52]
t2mkn [t2mkn!~t2mkn@] has joined ##java [02:54]
rs No. A console test was used to simply rule out that the variable was storing what I suspected it was. The end result is it isn't printing to the console but rather the JavaFX UI in the end. The project is just structured weird and I doubt there's a reasonably way to make it work. [02:55]
AMcBain Well we can't really help you if there's constraints based on things we can't see. It all boils down to you wanting to retain and later retrieve information lost in the transfer to byte. [02:56]
zunk [zunk!~zunk@unaffiliated/zunk] has joined ##java [02:57]
rippa [rippa!] has joined ##java [02:59]
null1337 [null1337!] has joined ##java [02:59]
rs That's exactly what's happening. More or less I was hoping there was something obvious I was missing but apparantely not. When you need a scanner and String manipulation to put it all back together in the JavaFX clearly, it's design is wrong. [03:00]
AMcBain Design of what? Sounds like your app is a mess. [03:01]
mohsen_1 [mohsen_1!uid289573@gateway/web/] has joined ##java [03:01]
palasso [palasso!~palasso@unaffiliated/palasso] has joined ##java [03:02]
rs Only designed to attempt to solve an unsolable problem. 99.999% complete. :p [03:02]
g00s [g00s!~g00s@unaffiliated/g00s] has joined ##java [03:02]
rs s/unsolable/unsolvable [03:03]
wbrawner [wbrawner!~wbrawner@] has joined ##java [03:16]
wilbert [wilbert!~wilbert@unaffiliated/wilbert] has joined ##java [03:16]
progart [progart!~kamee@] has joined ##java [03:21]
indistylo [indistylo!~aruns_@2406:7400:58:adba:54bf:367e:4ca5:b9d2] has joined ##java [03:25]
esro [esro!] has joined ##java [03:27]
t2mkn [t2mkn!~t2mkn@] has joined ##java [03:29]
vdamewood [vdamewood!~vdamewood@unaffiliated/vdamewood] has joined ##java [03:36]
indistylo [indistylo!~aruns_@2406:7400:58:adba:54bf:367e:4ca5:b9d2] has joined ##java [03:36]
indistylo [indistylo!~aruns_@2406:7400:58:adba:54bf:367e:4ca5:b9d2] has joined ##java [03:42]
progart parted the channel: [03:46]
pd09041999 [pd09041999!~pd0904199@] has joined ##java [03:47]
dansan [dansan!] has joined ##java [03:49]
timkofu [timkofu!~timkofu@] has joined ##java [03:55]
indistylo [indistylo!~aruns_@2406:7400:58:adba:54bf:367e:4ca5:b9d2] has joined ##java [03:58]
hoijui [hoijui!] has joined ##java [04:03]
hoijui are there any JVM languages that haandle strings easily.. as in... like AWK or perl or so .. but not being so hacky, ideally ;-) [04:03]
Buliarous [Buliarous!~gypsydang@unaffiliated/buliarous] has joined ##java [04:04]
hoijui I need to convert from one text format into an other, but with a ot of flexibility (as in, with code, not with a stylesheet) [04:04]
mohsen_1 does string manipulation quite easy in Java [04:05]
Tobbi [Tobbi!~Tobbi@supertux/tobbi] has joined ##java [04:09]
pd09041999 [pd09041999!~pd0904199@2405:205:5:ee80:106a:4c48:e82:9dba] has joined ##java [04:09]
Secret-Fire [Secret-Fire!~Secret-Fi@2601:1c1:4201:458c:a837:856a:fca0:76b8] has joined ##java [04:12]
g00s [g00s!~g00s@unaffiliated/g00s] has joined ##java [04:16]
dansan_ [dansan_!] has joined ##java [04:23]
karab44 [karab44!~karab44@unaffiliated/karab44] has joined ##java [04:29]
Fossfile [Fossfile!] has joined ##java [04:32]
eegad [eegad!~manjaro-u@2405:204:d002:a99a:67f3:bfc4:29f9:7ccd] has joined ##java [04:35]
acidjnk [acidjnk!] has joined ##java [04:40]
progart [progart!~kamee@] has joined ##java [04:41]
mohsen_1 how does jdbi handle sqlexception? what exceptions should I catch? the ones from the mysql driver? [04:44]
pd09041999 [pd09041999!~pd0904199@] has joined ##java [04:46]
yawkat it throws an appropriate jdbiexception [04:47]
yawkat how you handle this depends on what error youre trying to catch [04:47]
mohsen_1 yawkat: Is there a list of jdbiexception(s)? [04:48]
togo [togo!~togo@2a01:5c0:e08b:76e1:45:c1e6:1bae:629f] has joined ##java [04:48]
yawkat [04:49]
yawkat yawkat's title: "org.jdbi/jdbi3-core/3.3.0 : org/jdbi/v3/core/statement/" [04:49]
Matthijs [Matthijs!~quassel@unaffiliated/matthijs] has joined ##java [04:51]
Tobbi [Tobbi!~Tobbi@supertux/tobbi] has joined ##java [04:52]
mohsen_1 yawkat: the causes appear to be java.sql.* exceptions [04:55]
yawkat yes [04:55]
mohsen_1 yawkat: So I'd catch org.jdbi.v3.core.statement.UnableToExecuteStatementException and check for java.sql.SQLIntegrityConstraintViolationException in the catch clause. [04:58]
yawkat sure [04:58]
mohsen_1 duplicate entry is the error I'm trying to handle [04:58]
mohsen_1 thanks alot [04:58]
magz_ [magz_!] has joined ##java [05:01]
Gazooo [Gazooo!~Gazooo@] has joined ##java [05:07]
Raging_Hog [Raging_Hog!] has joined ##java [05:07]
HatesLongFiles i need help with json2view [05:19]
dudek [dudek!~dudek@] has joined ##java [05:25]
Buliarous [Buliarous!~gypsydang@unaffiliated/buliarous] has joined ##java [05:28]
ogradyd [ogradyd!~Thunderbi@2a02:8070:88bf:9df0::b0a] has joined ##java [05:29]
HatesLongFiles how do i do this using json2view? setContentView(R.layout.activity_main) ; val textView = findViewById( as TextView [05:31]
Tobbi [Tobbi!~Tobbi@supertux/tobbi] has joined ##java [05:34]
yawkat android [05:40]
yawkat Android is Google's OS based on Linux and a non-Java-bytecode Virtual Machine. See . Start in #android-dev if you have Android development questions - and if you use Android's API or you're running it on Android, you have an Android development question. [05:40]
yawkat and what did cheeser tell you about crossposting? [05:40]
rohdef [rohdef!] has joined ##java [05:41]
HatesLongFiles yawkat: heh, java libs run just fine on it [05:42]
yawkat doesnt make it java [05:42]
HatesLongFiles rip [05:42]
yawkat please read the rules [05:43]
Buliarous [Buliarous!~gypsydang@unaffiliated/buliarous] has joined ##java [05:47]
emx [emx!~bemx@] has joined ##java [05:47]
noodlepie [noodlepie!] has joined ##java [05:50]
wbrawner [wbrawner!~wbrawner@] has joined ##java [06:28]
skuuter [skuuter!] has joined ##java [06:36]
ravenousmoose [ravenousmoose!] has joined ##java [06:37]
pd09041999 [pd09041999!~pd0904199@] has joined ##java [06:49]
ExtraCrispy [ExtraCrispy!~ExtraCris@gateway/tor-sasl/extracrispy] has joined ##java [06:51]
sameerynho [sameerynho!~lxsameer@unaffiliated/lxsameer] has joined ##java [06:52]
tete_ [tete_!] has joined ##java [06:52]
sameerynho hey folks, does jvm have any bufferpool library ? [06:53]
yawkat for bytebuffers? [06:57]
yawkat no [06:57]
yawkat xnio has one [06:57]
sameerynho yawkat: is it out of the heap ? [07:08]
waz [waz!~waz@pdpc/supporter/active/waz] has joined ##java [07:20]
skraito [skraito!~skraito@unaffiliated/skraito] has joined ##java [07:20]
pd09041999 [pd09041999!~pd0904199@2405:205:5:ee80:106a:4c48:e82:9dba] has joined ##java [07:28]
dexterfoo [dexterfoo!dexter@2a01:7e00::f03c:91ff:fe86:59ec] has joined ##java [07:30]
progart [progart!~kamee@] has joined ##java [07:36]
chaosfisch [chaosfisch!5d68bad2@gateway/web/freenode/ip.] has joined ##java [07:36]
chaosfisch right channel to ask about OSGI? [07:37]
chaosfisch we're developing osgi based plugins - still using java 8 due to upstream requirements - but most of our code is old software (java 6 or earlier). software hasn't been maintained for some time and pom file looks bad. its using maven-bundle-plugin now. is there a way to create the import-package section automatically? [07:40]
chaosfisch I'd prefer to pin the version of the used package too. [07:41]
Regon [Regon!~Regon@unaffiliated/regon] has joined ##java [07:54]
dendazen [dendazen!] has joined ##java [07:54]
nbro [nbro!~nbro@2a02:aa13:3100:6000:f458:2548:310d:b3d7] has joined ##java [08:11]
masber [masber!6eae9618@gateway/web/freenode/ip.] has joined ##java [08:16]
q9929t [q9929t!~Thunderbi@] has joined ##java [08:16]
HZun [HZun!] has joined ##java [08:30]
learningc [learningc!~learningc@2001:d08:d6:3bf7:f9db:6d29:4e3b:c2df] has joined ##java [08:31]
Luiz_Navarro [Luiz_Navarro!~Luiz_Nava@] has joined ##java [08:33]
masber Hi, are jpa criteria API queries considered prepared statements? [08:35]
hussam [hussam!uid193284@gateway/web/] has joined ##java [08:36]
Opus [Opus!~opus@] has joined ##java [08:43]
pd09041999 [pd09041999!~pd0904199@] has joined ##java [08:49]
skraito [skraito!~skraito@unaffiliated/skraito] has joined ##java [08:49]
nokdoot_ [nokdoot_!~nokdoot@] has joined ##java [08:52]
cheeser masber: no [08:56]
zeden [zeden!~user@unaffiliated/zeden] has joined ##java [08:58]
t2mkn [t2mkn!~t2mkn@] has joined ##java [09:00]
wodencafe [wodencafe!] has joined ##java [09:04]
mr_lou [mr_lou!] has joined ##java [09:06]
pcs [pcs!] has joined ##java [09:09]
tristianc [tristianc!] has joined ##java [09:10]
pcs hey guys. I am using spring. And I am trying to create and delete cookies. I can create them on login but on logout I cannot set max age to 0 or edit the cookie. [09:10]
pcs I am adding a logouthandler on my config programatically. [09:10]
pcs can you help me understanding why? [09:11]
pcs I am using the same key and value and setting the max age to 0. I also cannot add cookies if I am on the logout handler but I can on the login handler [09:12]
pcs is this normal? [09:12]
Essadon [Essadon!] has joined ##java [09:24]
karab44 [karab44!~karab44@unaffiliated/karab44] has joined ##java [09:31]
mona_x [mona_x!] has joined ##java [09:34]
reynir [reynir!~reynir@unaffiliated/reynir] has joined ##java [09:35]
HatesLongFiles [HatesLongFiles!~Android@] has joined ##java [09:36]
tilerendering [tilerendering!~tilerende@c-base/crew/conx] has joined ##java [09:38]
tilerendering hey [09:38]
rockyraccoonn [rockyraccoonn!] has joined ##java [09:39]
Addax hi [09:39]
pd09041999 [pd09041999!~pd0904199@] has joined ##java [09:40]
tilerendering I got somewhat dizzy thinking about this, maybe the solution is simple: from a js client, I call a REST API implemented in java. the call yields back a list of orders placed by customers. now comes the tricky part: I want to return a list of orders with, encapsulated within each order, the customer and his associated details. and I want to do that, if possible, without the underlying jpa layer resulting in fetching 100 ?fetch user? statements [09:41]
tilerendering to the db if the size of orders is say 100 [09:41]
nokdoot_ [nokdoot_!~nokdoot@] has joined ##java [09:41]
tilerendering usually, in order to make sure this doesnt happen, I create a view in the database, with a join on - in this case - the customer [09:41]
cheeser sounds like a join to me [09:41]
tilerendering yep [09:42]
cheeser so ... the problem is what? [09:42]
tilerendering but the problem is that the customer is not linear [09:42]
cheeser twitches [09:42]
tilerendering it s not a flat entry, it s customer, himself leftjoined with a list of his details [09:42]
tilerendering so basically the items should look like this {order ?> customer ?> customerDetails} [09:43]
ernimril either setup views and joins and/or write complex sql or have a java based cache of user info that you can call into [09:43]
Addax then don't do it in JPA: build a cache of customers per request [09:43]
Addax ernimril ++ [09:43]
Addax ernimril has a karma level of 245, Addax [09:43]
tilerendering it is very well possible to get the orders along with the customers in one view/item. but in order to place all the details in the resulting items, I d have to fetch the details for each entry [09:43]
tilerendering hm [09:44]
whaley [whaley!] has joined ##java [09:46]
yawkat tilerendering: you know you can just configure jpa to fetch the entities you want eagerly [09:50]
yawkat that might be enough for your case [09:50]
yawkat it translates to a bunch of sql joins [09:50]
ernimril building really complex sql queries is not always the correct approach, did you check the query plan to verify that the database actually does the correct thing for your queries? [09:51]
ernimril we have had to do a mix of complex sql, java based loops and stored procedures to handle our quite complex data models [09:51]
nokdoot_ [nokdoot_!~nokdoot@] has joined ##java [09:56]
tilerendering yawkat: I fear it would result in numerous calls being thrown at the database. as in: if the resultlist is 100 orders long, it would fetch user details within 100 calls to the db [09:59]
yawkat No, it wouldn't [10:00]
Addax note that databases can often cache rows [10:00]
yawkat That's the point of eager fetching [10:00]
yawkat Eager fetching *reduces* roundtrips [10:00]
tilerendering yawkat: the search on the orders table being a spacetime search relatively tightly coupled to the underlying postgis database, ?. the query is not specified in JPA [10:00]
yawkat Okay, then it won't work that way [10:01]
tilerendering I guess so [10:01]
tilerendering but I think I found another ?workaround" [10:01]
tilerendering the user details will only be needed in special cases atm [10:01]
tilerendering if however, it turns out theyre needed more often, I ll just fetch in user details programmatically for every order returned [10:02]
tilerendering with todays cheapness in computing power, it should be no problem [10:02]
ernimril tilerendering, have you actually measured and found out that this loading is a problem? Or are you trying to eagerly optimize something? [10:04]
nokdoot_ [nokdoot_!~nokdoot@] has joined ##java [10:05]
nokdoot_ [nokdoot_!~nokdoot@] has joined ##java [10:07]
ernimril tilerendering, Having a prepared statement and calling it again and again is actually pretty fast. So do not be too afraid to call something like "select <some fields> from customer_info where customer_id = ?" several times in a loop. Trying something like "select <some fields> from customer_info where customer_id in (?, ?, ?, ....)" will on the other hand cause performance problems in many cases [10:08]
tilerendering ernimril: I have one use case (viewing order details) in which I have to issue another call fetching customer details to the server. I would like to not have this extra call [10:08]
nokdoot_ [nokdoot_!~nokdoot@] has joined ##java [10:08]
Addax have you measured the cost? [10:08]
tilerendering ernimril: actually, youre right. the customer table is also very well indexed [10:08]
tilerendering Addax: not under load yet [10:08]
tilerendering but it also results in more code to maintain [10:09]
tilerendering on the client side [10:09]
tilerendering which means: 2-3 x more than what it would be on the serverside [10:09]
nokdoot_ [nokdoot_!~nokdoot@] has joined ##java [10:09]
tilerendering mind that there is web client now, and there will be mobile clients following [10:09]
tilerendering with mobile clients, the calling overhead can be quite disturbing [10:10]
tilerendering so I try to design my server responses in such a way that they deliver as much state as possible to the client [10:10]
Addax well, you have an array of optins [10:11]
Addax I'd start with testing [10:11]
nokdoot [nokdoot!~nokdoot@] has joined ##java [10:12]
nokdoot [nokdoot!~nokdoot@] has joined ##java [10:13]
masber yawkat: will eager fetching will create the N+1 problem? [10:13]
yawkat I only know one n+1 problem, that being that I always have one too few bikes. [10:14]
Addax "not working" is a lot worse than "N+1" [10:14]
t2mkn [t2mkn!~t2mkn@] has joined ##java [10:15]
nokdoot_ [nokdoot_!~nokdoot@] has joined ##java [10:16]
discmuc [discmuc!] has joined ##java [10:16]
nokdoot_ [nokdoot_!~nokdoot@] has joined ##java [10:18]
Maldivia make it work, make it work correctly, make it perform when proven needed (but don't break step 2) [10:19]
nokdoot_ [nokdoot_!~nokdoot@] has joined ##java [10:20]
nokdoot_ [nokdoot_!~nokdoot@] has joined ##java [10:21]
tilerendering Maldivia: let s say that to some extent, performance needs to be there by design [10:22]
tilerendering sometimes. [10:22]
Addax well, in that case, you're the expert, get coding and measuring [10:23]
nokdoot_ [nokdoot_!~nokdoot@] has joined ##java [10:23]
kicked nokdoot_ (Banned: please fix your connection. you're bouncing in and out. this ban will expire after 2h) [10:24]
Maldivia tilerendering: well, if performance is there by design then it is proven needed [10:28]
Maldivia tilerendering: still, if it doesn't work correctly, then there is no point in optimizing it for performance [10:29]
VVD [VVD!] has joined ##java [10:30]
bobek [bobek!~bobek@unaffiliated/bobek] has joined ##java [10:31]
AndreYuhai [AndreYuhai!] has joined ##java [10:38]
esro [esro!] has joined ##java [10:42]
palasso [palasso!~palasso@unaffiliated/palasso] has joined ##java [10:45]
Katana [Katana!~hentai@unaffiliated/katana] has joined ##java [10:46]
Cahaan [Cahaan!] has joined ##java [10:47]
tilerendering Maldivia: I have to confess: one of the motivators that keep me hooked onto this project in which I wear 10 hats (admin, mailserver admin, appserver admin, db admin, deployment admin, repo admin, backend developer, frontend developer? etc.) is that it is incredibly fast. I have never seen a dynamic website as fast as the one I m working on [10:47]
tilerendering so I kind of ?optimized? for my own happiness ;) [10:48]
xa0s_ [xa0s_!] has joined ##java [10:50]
tungki [tungki!~manjaro-i@] has joined ##java [10:56]
dendazen [dendazen!] has joined ##java [11:00]
Snoober [Snoober!~Snoober@2601:644:103:8400:1c59:1842:deec:5464] has joined ##java [11:02]
Nicmavr [Nicmavr!~Nicmavr@unaffiliated/nicmavr] has joined ##java [11:04]
Hamilton [Hamilton!~Hamilton@unaffiliated/hamilton] has joined ##java [11:15]
Hamilton Anyone here knows java? [11:15]
Hamilton *jvafx [11:15]
Maldivia anyone [11:15]
Maldivia Chances are someone has, so why not just ask your question and save some time? If someone knows the answer and wants/has time to help, perhaps they will. [11:15]
Hamilton [11:15]
Maldivia and your java_fx_mods env var is correctly set in that console? [11:18]
Maldivia path to fx mods* [11:19]
Maldivia and there is a maven jlink plugin [11:20]
Maldivia do note that jlink doesn't produce a "single executable", but a folder with all the files needed [11:22]
Addax "anyone here knows java" really should be met with a "no" [11:27]
Hamilton Addax, sorry I meant javafx [11:30]
Hamilton Maldivia, Yes they are correctly set [11:31]
Addax still kind of a dumb way to open up. Don't mind me, though - I don't know javafx. :) [11:32]
Luiz_Navarro [Luiz_Navarro!~Luiz_Nava@] has joined ##java [11:33]
Maldivia Hamilton: well, I would check thst it actually points to the right folder, and perhaps also add java_home/jmods to module path [11:34]
orbyt_ [orbyt_!~orbyt@] has joined ##java [11:34]
Maldivia Hamilton: also make sure you downloaded the jmods version of javafx... the one you use to compile with or run with is not the same as used when doing jlink [11:36]
irdr [irdr!] has joined ##java [11:37]
Hamilton Maldivia, How can I check whether this I've correctly added jmod folder to PATH? [11:37]
Hamilton set PATH_TO_FX_MODS="C:\JavaDeps\openjfx-11.0.2_windows-x64_bin-jmods\javafx-jmods-11.0.2" [11:37]
Iolo [Iolo!] has joined ##java [11:38]
Maldivia well, dir %PATH_TO....% [11:38]
Maldivia see if it correctly lists the jmod files [11:38]
gareppa [gareppa!~gareppa@unaffiliated/gareppa] has joined ##java [11:38]
wilbert [wilbert!~wilbert@unaffiliated/wilbert] has joined ##java [11:40]
bvn13 parted the channel: "Leaving." [11:42]
xylef [xylef!fcobosmatr@gateway/shell/] has joined ##java [11:45]
Hamilton Maldivia, Well I'll be damned...I'm using this thing called MSYS2 which emulated shell of linux in windows...turns out it wasn't even setting up my env variable...thank you sir :D [11:45]
Hamilton This is the cost of confusing bash with cmd [11:46]
X230t [X230t!x13@gateway/shell/suchznc/x-cctztkgmknrovlqc] has joined ##java [11:48]
Hamilton Custom JRE is 87 MiB for a hello world in javafx! That's a lot! I wonder what I'd lose if I use JDK 8 and bunde 200MiB JRE with the app [11:48]
mohsen_1 Is there a tool to specify some packages for, and then it generates UML? [11:48]
Addax uml [11:48]
Addax Addax, uml is Unified Modeling Language, a graphical notation for software development. Depending on the shop using it, its either a useful aid or a life-consuming cult. See and the ##uml channel here on FreeNode. [11:48]
Maldivia Hamilton: well, javafx isn't light weight in that regard, no [11:51]
Hamilton Maldivia, It still is the only GUI I know...So how can I bundle the whole application in a single double-clickable exe? [11:51]
Maldivia jlink doesn't produce that for you -- you get a .bat file though on Win [11:52]
Crash1hd [Crash1hd!~Crash1hd@unaffiliated/crash1hd] has joined ##java [11:52]
Maldivia at some point graalvm with substrate vm might be able to produce a native image for you with javafx, but as far as I know it is still not fully working with javafx [11:54]
Hamilton Maldivia, Where is the .bat file? It wasn't in the custom_JRE folder [11:55]
Maldivia it's a jlink option for it to generate a bat/sh file with the right options [11:56]
Maldivia see jlink docs/tutorials for how do do that [11:56]
nickel8448 [nickel8448!~rahul@2a00:79e1:abc:110e:b400:9730:22f8:f066] has joined ##java [11:57]
Hamilton n00b question. What is this SNAPSHOT that is appended to version numebrs? [11:57]
Addax from where [11:59]
Addax it means "this dependency is under active development, you're getting the snapshot of what we have RIGHT NOW, it might not be the final released version of this component" [11:59]
Nightwing52 [Nightwing52!] has joined ##java [12:01]
Hamilton Addax, thanks [12:01]
mohsen_1 Addax: the link is broken [12:02]
Addax bummer, maybe that's God or the universe or whatever telling you to avoid UML [12:02]
Hamilton jpackage is not part of openjdk? [12:02]
mohsen_1 Addax: haha [12:03]
nickel8448 [nickel8448!~rahul@] has joined ##java [12:03]
Addax mohsen_1: geez, google or something. If there's a UML thing for Java, google will know. [12:04]
Addax And if google wasn't a bad actor, it'd hide that information from you, but eh [12:04]
mohsen_1 Addax: Boss requires it, but generally on a project with hundred classes uml is useful, isn't it? [12:05]
Addax no [12:05]
somazero [somazero!~somazero@2600:8805:100:1a:81ba:6769:f71a:2286] has joined ##java [12:06]
mohsen_1 Addax: But having things documented helps [12:06]
shirafuno [shirafuno!] has joined ##java [12:07]
mohsen_1 Cause how else do you correctly manage a change [12:07]
pcs [pcs!] has joined ##java [12:07]
mohsen_1 I know, ide can show usages for you [12:07]
Addax UML is crappy documentation in practice [12:07]
mohsen_1 but going strategically about a change is better [12:07]
Addax try it, maybe you'll be the one who loves it [12:07]
User_ [User_!~learningc@] has joined ##java [12:08]
mohsen_1 Addax: Or maybe my definition of UML is not correct. [12:08]
Addax nah, it probably is [12:08]
Addax UML's hard to find these days for a reason [12:08]
skuuter [skuuter!] has joined ##java [12:08]
Addax the fact that you had to ask should be an early indicator [12:08]
mohsen_1 AH [12:08]
mohsen_1 I see [12:09]
Addax "Can someone point me to this incredibly useful documentation tool and format, because I can't find it anywhere" ... does not compute [12:09]
dendazen [dendazen!] has joined ##java [12:09]
untestable[m] [untestable[m]!untestable@gateway/shell/] has joined ##java [12:10]
Rich[m] [Rich[m]!rszibelema@gateway/shell/] has joined ##java [12:10]
lhunath [lhunath!lhunathlyn@gateway/shell/] has joined ##java [12:10]
pleeplop [pleeplop!pleeplopma@gateway/shell/] has joined ##java [12:10]
dendazen [dendazen!] has joined ##java [12:10]
mohsen_1 university masters told me it's useful:p [12:10]
Addax that should also be an early indicator [12:10]
mohsen_1 =)) [12:11]
mohsen_1 You're exactly right [12:11]
surial 'if not UML, how else can you correctly manage a change'. Wow. [12:11]
surial That's... I need to sit down. fortunately y'all bashed UML enough I think. [12:11]
Addax I was getting ready to treat it like scala :( [12:12]
Addax mohsen_1: hint: scala's MORE USEFUL than UML [12:12]
mohsen_1 Addax: true [12:13]
learningc [learningc!~learningc@2001:d08:d6:22f0:f9db:6d29:4e3b:c2df] has joined ##java [12:14]
cheeser Addax: but is it, though? :) [12:14]
Addax yes [12:14]
Addax as much as it pains me to say it, yes, scala is more useful than UML [12:15]
dez [dez!uid92154@fedora/deSouza] has joined ##java [12:18]
bvn13 [bvn13!~bvn13@2a00:6d40:60:972a::1] has joined ##java [12:19]
wildlander [wildlander!~wildlande@unaffiliated/wildlander] has joined ##java [12:27]
Tobbi [Tobbi!~Tobbi@supertux/tobbi] has joined ##java [12:27]
Eduard_Munteanu [Eduard_Munteanu!~Eduard_Mu@] has joined ##java [12:28]
Nightwing52 [Nightwing52!] has joined ##java [12:28]
Luiz_Navarro [Luiz_Navarro!~Luiz_Nava@] has joined ##java [12:28]
karab44 [karab44!~karab44@unaffiliated/karab44] has joined ##java [12:29]
orbyt_ [orbyt_!~orbyt@] has joined ##java [12:32]
Matthijs [Matthijs!~quassel@unaffiliated/matthijs] has joined ##java [12:48]
Crash1hd [Crash1hd!~Crash1hd@unaffiliated/crash1hd] has joined ##java [12:49]
Goplat [Goplat!~Goplat@reactos/developer/Goplat] has joined ##java [12:55]
Hamilton So I now have a .bat script which runs my javafx11 app (with bundled customJRE)...Question is, how can I get an exe? [01:01]
ernimril Why do you need one exe? [01:02]
Hamilton ernimril, because users are n00b? [01:02]
ernimril so they can double click on an exe, but not on a bat-file? [01:03]
Hamilton well launch.bat seems scarier than hellofx.exe [01:03]
ernimril so rename the bat [01:04]
Hamilton ernimril, What do I do with the accompanying cmd terminal? [01:05]
ernimril does the bat run java or javaw? you probably want javaw [01:05]
kgrimes2 [kgrimes2!] has joined ##java [01:08]
Hamilton ernimril, nice nice...still feels weird to give end-user a .bat file [01:10]
elsheepo [elsheepo!] has joined ##java [01:11]
Hamilton Does Launch4j support openjdk 11? On start it says it needs 1.6 to 1.8 [01:12]
Hamilton Damn it...3 years ago, I chose java/Javafx tech to break away with this shit [01:12]
rruizt [rruizt!] has joined ##java [01:13]
Maldivia hehe [01:15]
Maldivia javafx should have its javapackager [01:16]
themsay [themsay!~themsay@] has joined ##java [01:17]
Maldivia that being said, it's in progress [01:17]
Maldivia jep 343 [01:17]
Maldivia 'JEP 343: Packaging Tool' can be found at [01:17]
Nightwing52 [Nightwing52!] has joined ##java [01:19]
conan [conan!~conan@] has joined ##java [01:19]
Maldivia from the docs -- For distribution, the (soon to be released) jpackager tool should be used. [01:19]
ijmad [ijmad!] has joined ##java [01:22]
EgonX [EgonX!~Egon@2601:2c6:47f:98f4:5dc8:2f31:8aec:2a3d] has joined ##java [01:24]
Gazooo [Gazooo!~Gazooo@] has joined ##java [01:24]
funeral [funeral!] has joined ##java [01:26]
ojtua [ojtua!~ojtua@unaffiliated/ojtua] has joined ##java [01:28]
Hamilton Maldivia, So oracle implemented JEP343 in here : [01:30]
Hamilton Where is openjdk implementation of it? [01:31]
ericek111 [ericek111!] has joined ##java [01:31]
wtflux [wtflux!] has joined ##java [01:31]
ernimril currently java client applications is in a sad state and it is going downhill at quite a fast pace. With webstart gone, with pack200 gone, with no easily available jre, ... [01:31]
Maldivia that IS openjdk impl [01:32]
ernimril "build a docker container with your application" or "use jlink to get a large application folder that you can try to distribute" does not work well [01:32]
Hamilton ernimril, I guess they lack some important tooling quite bad [01:33]
Hamilton How did they overlook something as important as packaging? [01:33]
ernimril Hamilton, we had it, but oracle said "we do not want that anymore" [01:33]
code_zombie [code_zombie!~code_zomb@2605:a601:aa1:da00:a0d7:b7c9:398:b0f9] has joined ##java [01:34]
Hamilton What does this mean? Warning: This build is based on an incomplete version of JDK 13. [01:34]
Hamilton Does it mean I need a openjdk13 to test jpackage? [01:35]
Maldivia it's preview builds meaning based on jdk13 codebase [01:35]
Hamilton Maldivia, So can I just test it out without installing jdk13 and pulluting my path? [01:35]
Maldivia java doesn't need to be on path, so nothing to pollute :) [01:36]
Maldivia but no idea if you need a 13ea also is required [01:37]
Maldivia try it out and tell us [01:37]
Xiti [Xiti!~Xiti-@unaffiliated/xiti] has joined ##java [01:38]
Hamilton 187MiB ..jesus H christ [01:38]
PowaBanga [PowaBanga!~PowaBanga@unaffiliated/powabanga] has joined ##java [01:38]
Maldivia sounds like it includes the jdk then [01:38]
Hamilton Maldivia, yeah [01:39]
Hamilton Why are they working on 12+ when 11 tooling is not there yet [01:39]
Hamilton AFAIK, the official maven plugin for openjfx is version 0.0.1 ! [01:40]
Maldivia because java 12 is being released in 4 days, meaning already frozen etc [01:41]
gelignite [gelignite!] has joined ##java [01:41]
Maldivia so of course they are working on 13 [01:41]
Maldivia Java is on a 6 month release cadence now [01:42]
dendazen [dendazen!~dendazen@2600:380:bd2b:61d8:f560:140f:fc1:3bd4] has joined ##java [01:43]
ernimril and most developers are probably still on java 8, how many large applications have actually switched to requiring java 11? [01:44]
Maldivia well, 11 was 6 months ago, but LTS, so eventually [01:45]
ernimril our systems can run on both 8 and 11 and we plan to move to 11 in about a month (when our current release has actually gone out to customers), due to all the java changes this forced update of java version may be a bit easier, we will see [01:45]
Teckla <- still on Java 8 [01:46]
Maldivia we support 6,7,8,9,10,11 officially, 12 and 13 unofficially (well 12 officially as well in about 2 weeks) [01:48]
HZun [HZun!] has joined ##java [01:50]
Maldivia but I guess technically we are on 11, since that's what our build process requires [01:52]
Hamilton Maldivia, What is your app? Does it have a GUI? [01:54]
Maldivia yes and no [01:54]
Maldivia we have plugins for IDEA, Eclipse, NetBeans and JDeveloper [01:55]
togo [togo!~togo@2a01:5c0:e083:1d11:90c2:f140:a541:3daf] has joined ##java [01:55]
Maldivia as for the "app" [02:01]
Maldivia jrebel [02:01]
Maldivia Maldivia, jrebel is a small JVM-plugin that makes it possible for Java developers to instantly see any code change made to an app without redeploying. read more at [02:01]
testhandle2 [testhandle2!] has joined ##java [02:03]
kupi [kupi!uid212005@gateway/web/] has joined ##java [02:05]
Hamilton [02:05]
Hamilton I can't even...what is null actually? [02:06]
nbro [nbro!~nbro@2a02:aa13:3100:6000:f458:2548:310d:b3d7] has joined ##java [02:07]
Foxfir3 [Foxfir3!] has joined ##java [02:10]
Maldivia that's why it's preview [02:11]
Maldivia ) [02:11]
kgrimes2 [kgrimes2!] has joined ##java [02:12]
Maldivia wiol make you happy then when implemented [02:13]
Maldivia Maldivia's title: "[JDK-8218628] Add detailed message to NullPointerException describing what is null. - Java Bug System" [02:13]
rohdef [rohdef!] has joined ##java [02:14]
Hamilton sighs [02:15]
Hamilton So I should have just sticked to JRE8...1 day was wasted I guess and one other situation when my idealism has bitten me [02:16]
Maldivia well, you have the same issue there [02:17]
Maldivia have to package it all up somehow [02:17]
Hamilton Maldivia, Why? I could have just deployed a fat jar [02:17]
Hamilton a 250 MiB hello world [02:17]
Maldivia no [02:17]
Maldivia javafx doesn't work like that [02:18]
Hamilton Maldivia, Wasnt't JavaFX bundled with JRE8? [02:18]
Maldivia it was bundled with OracleJDK [02:18]
Hamilton oh....yeah...that was ok too I guess [02:18]
Hamilton see..I had written this app ~1 year ago but never deployed it [02:19]
Maldivia for all other dists had to be installed separately, meaning like 99% of Linux users [02:19]
nokdoot [nokdoot!~nokdoot@] has joined ##java [02:19]
Hamilton Today I thought to myself: Imma use the latest bestest tech there is to finally update/deploy my software [02:19]
Hamilton Anyway, is IDEA written using swing? [02:21]
yawkat yes [02:21]
Hamilton I guess JavaFX could get more love if for example Eclipse chose to migrate to it [02:21]
yawkat that is not happening in the near future [02:21]
AndreYuhai Hello there, I am using a lambda expression in my forEach() but since it says non-final or effectively final variables can not be used in lambda expression, I am using AtomicInteger (IntelliJ suggested to convert my int variable into AtomicInteger). But I was wondering what makes AtomicInteger usable in this context? Being Atomic? I would appreciate any sources, links, explanations etc. I am just wondering the reason & [02:22]
AndreYuhai details. Thank you! [02:22]
Maldivia because you mutate an object [02:24]
Maldivia but you're doing things wrong, forEach is 99% now whatt you want here based on you description [02:24]
Maldivia not* [02:25]
Hamilton Maldivia, thanks for your helps [02:25]
kszatan AndreYuhai: It's unclear what you're trying to achieve. Show us the code. [02:26]
mbooth AndreYuhai: It's not that AtomicInteger is usable here, it's because with AtomicInteger you're probably no longer doing assignment [02:26]
Maldivia AndreYuhai: if you think of a lambda as a method, and the variables as the parameters to it, it's clear ehy you cannot reassign them [02:27]
mbooth AndreYuhai: You're probably calling a method on the AtomicInteger instead [02:27]
Maldivia AndreYuhai: but yeah, what are you trying to achieve? [02:28]
AndreYuhai mbooth: Well actually I am just using addAndGet() method. And yes I am calling the method. [02:33]
AndreYuhai Maldivia , mbooth Let me show you the code [02:33]
mbooth AndreYuhai: Yep exactly -- it's the assignment that was problematic, not the int [02:33]
AndreYuhai [02:34]
conan [conan!~conan@] has joined ##java [02:35]
AndreYuhai mbooth: Yes the assignment was problematic, oh so can we say that the reference to the AtomicInteger is final anyway, or effectively final? Which is also the case with my custom class called Process() I guess because it is the same thing. [02:36]
Maldivia ok, just use a for loop [02:36]
t2mkn [t2mkn!~t2mkn@] has joined ##java [02:36]
kszatan that's a yuge lambda for a stream [02:36]
mbooth AndreYuhai: But now you do the assignment outside the lambda, it is effectively final (the value never changes) [02:36]
Maldivia this should not be a forEach to begin with... [02:37]
Maldivia this is a straight for(Process proc: processList) ... [02:38]
AndreYuhai Maldivia: well you are right, I could just do for loop with the size of processList but I wanted to try this way but I might change it into for loop as well. I was just trying to understand what's going on [02:38]
AndreYuhai Maldivia: but then how can I get the index? [02:38]
kszatan AndreYuhai: you use stream API and then iterate over processList - that's really contrived [02:38]
Maldivia you don't need index, you need to keeo track of previous [02:39]
yawkat íf you want to use the stream api you should use it in its entirety [02:39]
yawkat that tally could be replaced by a sum() for example [02:39]
Maldivia but that would make this a map with huge side effects [02:39]
AndreYuhai Maldivia: how would I do that using for(Process proc: processList) ? [02:40]
AndreYuhai yawkat: And sorry what does that mean? I couldn't really get it. [02:40]
progart [progart!~kamee@] has joined ##java [02:41]
Maldivia Process prev = null; for(Process p: processList) { .... prev = p; } [02:42]
Maldivia now you have a reference to the entry to compare to (or null if there is no previous one) [02:42]
AndreYuhai Maldivia: Yes, this idea is cool so I guess I will switch to that. Thank you :) [02:44]
Maldivia your code is a good example of code that does not work well with Streams, you end up with something like what you have that is just an overcomplicating of a normal for loop [02:45]
Maldivia (you need other objects in the stream and you mutate them) [02:46]
LordDrako [LordDrako!~LordDrako@2001:bc8:3f13:ffc2:61f9:8fc7:be3:377b] has joined ##java [02:49]
AndreYuhai Maldivia: yes that is true, I was overcomplicating things but I'd never thought of doing what you suggested haha. I would at most use just the classic for loop. Thanks! [02:51]
Katana [Katana!~hentai@unaffiliated/katana] has joined ##java [02:52]
Maldivia well, looping over a list comparing to previous entry is quite common :) [02:53]
singhyuvraj122 [singhyuvraj122!~singhyuvr@] has joined ##java [02:58]
User_ [User_!~learningc@] has joined ##java [03:04]
DTZUZO [DTZUZO!] has joined ##java [03:09]
Imaginatrixyz [Imaginatrixyz!~imaginatr@unaffiliated/imaginatrix] has joined ##java [03:09]
SJr Trying to implement openid connect with a Spring REST API based app and react front end. I was wondering what the best way to handle the OIDC flow is. Should the front end redirect to the IdP, and then bounce back and forward the code to the back end. Or should the front end redirect to an endpoint on spring, do the OIDC flow, and then bounce the user back to the web app, when done. [03:14]
Maldivia "yes" [03:16]
dendazen [dendazen!~dendazen@2600:380:bd2b:61d8:f560:140f:fc1:3bd4] has joined ##java [03:23]
orbyt_ [orbyt_!~orbyt@] has joined ##java [03:25]
CAPITANOOO [CAPITANOOO!~CAPITANOO@] has joined ##java [03:27]
indistylo [indistylo!~aruns_@2406:7400:58:adba:596e:373b:64df:5ce0] has joined ##java [03:28]
gareppa [gareppa!~gareppa@unaffiliated/gareppa] has joined ##java [03:28]
progart parted the channel: [03:28]
CAPITANOOO [CAPITANOOO!~CAPITANOO@] has joined ##java [03:29]
Brilpikk3wyn [Brilpikk3wyn!~Segfault0@unaffiliated/segfault0x40] has joined ##java [03:29]
mona_x [mona_x!] has joined ##java [03:30]
codecutter [codecutter!] has joined ##java [03:37]
codecutter can i make the protocol an option? (complains if I don't include the http://' [03:38]
codecutter optional* [03:38]
Hanii [Hanii!~Hanii@2a00:23c5:c587:a800:b9e4:ca43:aae8:2d37] has joined ##java [03:39]
nickel8448 [nickel8448!~rahul@] has joined ##java [04:01]
Raptors [Raptors!Raptors@2600:3c01:e001:391c::100] has joined ##java [04:02]
Kol [Kol!] has joined ##java [04:03]
Gurkenglas [Gurkenglas!~Gurkengla@unaffiliated/gurkenglas] has joined ##java [04:10]
Gurkenglas gives me Eclipse. Running it gives me a dialog saying "Java was started but returned exit code=1" and more [04:12]
Gurkenglas Gurkenglas's title: "Scala IDE for Eclipse" [04:12]
Gurkenglas Googling that phrase tells me to install the latest JDK, but that didnt seem to change anything [04:12]
nickel8448 [nickel8448!~rahul@] has joined ##java [04:12]
acidjnk interesting that it says that, because I'm not so sure that the "latest JDK" supports -XX:MaxPermSize" [04:14]
Gurkenglas The advice may be for another program that causes that phrase, it doesn't seem too specific [04:16]
Gurkenglas -program+problem [04:16]
Gurkenglas (im kinda bummed by this UX) [04:17]
elsheepo [elsheepo!] has joined ##java [04:18]
Gurkenglas removing eclipse.ini makes a process that sits in the task manager not doing much and not spawning a window [04:22]
Gurkenglas Removing the last option changes nothing, removing the last two changes the error code to 13 [04:24]
Gurkenglas Removing the last 3 or all 4 keeps it at 13 [04:25]
Gurkenglas Ah, removing eclipse.ini does also make that dialog window, 13 [04:25]
Gurkenglas Checking some more possibilities, it seems that removing 1/2/4 changes nothing and removing 3 changes the exit code to 13 [04:26]
Renari [Renari!] has joined ##java [04:27]
adder` [adder`!~adder@gateway/tor-sasl/adder] has joined ##java [04:34]
Gurkenglas If "java -version" returns "1.8.0_141" and "javac -version" returns "javac 1.7.0_25" do I need to delete anything? [04:36]
surial Gurkenglas: yes. [04:36]
surial Gurkenglas: you need to uninstall your JRE and install only's JDK1.8 or 1.11. [04:37]
surial unless you have a particular need to run the obsolete and unsupported 1.7, uninstall that, too. [04:37]
Gurkenglas there are wrong jdks that I can install by googling install jdk and picking the latest thing? [04:37]
surial yes. [04:37]
dendazen [dendazen!] has joined ##java [04:37]
surial Gurkenglas: well, depends. [04:38]
surial Gurkenglas: There are about 8 different entities making JDKs. [04:38]
Gurkenglas ... should say something about that then :I [04:38]
Gurkenglas Gurkenglas's title: "Scala IDE for Eclipse" [04:38]
surial Gurkenglas: The most obvious candidate is Oracle's OpenJDK, but they support these for only 6 months. Oracle OpenJDK11 stops being supported in.. what, 2 weeks? [04:38]
surial So you presumably don't want that one. [04:38]
surial adoptopenJDK supports JDK11 for a lot longer (years). [04:38]
surial Gurkenglas: [04:39]
surial surial's title: "AdoptOpenJDK - Open source, prebuilt OpenJDK binaries" [04:39]
Gurkenglas Does that include a thing that uninstalls all the other ones or do I need to track down what I did on this machine years ago [04:39]
surial you can have multiple JDKs on one machine. [04:39]
surial I'd uninstall them because.. why have cruft on your machine, right? But if you don't wanna, shouldn't be an issue. [04:39]
surial Also, nobody from hangs out here as far as I know. If you feel they've fucked up their instructions, perhaps file a bug or a pullreq with an update. [04:40]
Gurkenglas Having multiple JDKs sounds like it wouldn't go well with having them on the PATH [04:42]
surial sane OSes just have /usr/local/bin on the PATH and the VM installer updates softlinks. [04:42]
surial I believe that's how it works on all distro's. Perhaps except windows, but generally developers don't use that platform and thus the tools don't work on that backwater OS real well. [04:43]
surial there's the linux subsystem thingie but I don't think that plays well with GUI apps like eclipse/scala-IDE. [04:43]
surial At any rate, if you're on one of those OSes where installers just fuck up your PATH for funsies (egads, that sounds bad, but apparently this is par for the course?) ? presumably they'd add themselves to the front, thus winning the fight. Even on windows, PATH goes from left to right :) [04:44]
Gurkenglas Isn't replacing where "java.exe" in the /usr/local/bin points to no better? [04:46]
surial Of course it'd be better; the most recently installed thing would win out. Also, that'd only work with root access, so presumably you know something weird is going on. Ubuntu and mac have a special script to list all installed JDKs and pick which one you want the /usr/local/bin set to link to. [04:46]
sbalmos surial: For the record, Oracle's installer was the only one who ever really did that. AdoptOpenJDK's Windows builds are zip files like everything else, and you manually edit your path (which I'm perfectly happy with) [04:47]
surial yeah that sounds like they did a good job there. [04:47]
sbalmos surial: I've got 4 different builds of theirs on my box right now (8 & 11 versions of Hotspot & J9) [04:48]
elsheepo [elsheepo!] has joined ##java [04:50]
Brilpikk3wyn_1 [Brilpikk3wyn_1!~Segfault0@unaffiliated/segfault0x40] has joined ##java [04:51]
upgrdman [upgrdman!~upgrdman@blender/artist/upgrdman] has joined ##java [04:57]
Luiz_Navarro [Luiz_Navarro!~Luiz_Nava@] has joined ##java [05:03]
sbalmos1 [sbalmos1!] has joined ##java [05:06]
orbyt_ [orbyt_!~orbyt@] has joined ##java [05:08]
nickel8448 [nickel8448!~rahul@] has joined ##java [05:09]
dendazen [dendazen!] has joined ##java [05:13]
Nightwing52 [Nightwing52!] has joined ##java [05:16]
Globe_Bloater [Globe_Bloater!~Globe_Blo@] has joined ##java [05:16]
t2mkn [t2mkn!~t2mkn@] has joined ##java [05:24]
AMcBain [AMcBain!] has joined ##java [05:39]
RedSoxFan07 [RedSoxFan07!~Thunderbi@] has joined ##java [05:47]
Maldivia only? [05:48]
Gurkenglas Removing all the java programs via the windows settings window for that and installing the adopt one and adding it to the path made eclipse start successfully [05:48]
HatesLongFiles [HatesLongFiles!] has joined ##java [05:49]
Gurkenglas (Nevermind, it crashes after workspace selection. Lemme try googling this first tho) [05:52]
Gurkenglas pastebin [05:55]
Gurkenglas Please paste your code and any errors online. For runnable main-classes, try . For general code and errors, use for instance or [05:55]
Gurkenglas After workspace selection, Eclipse crashes with . Adding --add-modules=ALL-SYSTEM to the .ini as google told me didnt seem to change a thing [05:56]
Gurkenglas javac -version says "javac 11.0.2", is that a right version for eclipse as provided by ? [05:58]
Gurkenglas Gurkenglas's title: "Scala IDE for Eclipse" [05:58]
mbooth Gurkenglas: Eclipse 4.7 is too old for Java 11 [06:00]
mbooth We are 4.11 now IIRC [06:01]
Gurkenglas So I need to install an older java? [06:01]
mbooth Yes [06:01]
Diablo-D3 or a newer eclipse [06:01]
Diablo-D3 or dont even bother with eclipse and use idea [06:01]
t2mkn [t2mkn!~t2mkn@] has joined ##java [06:01]
Gurkenglas sure I'll try idea, eclipse doesn't seem to like windows [06:02]
Diablo-D3 eclipse doesnt like anything [06:02]
Diablo-D3 in the future, eclipse becomes skynet and takes over the world and sends ahrnold to the past [06:03]
Diablo-D3 its *that* evil [06:03]
Fossfile [Fossfile!] has joined ##java [06:04]
sbalmos [sbalmos!] has joined ##java [06:12]
Xiti [Xiti!~Xiti-@unaffiliated/xiti] has joined ##java [06:12]
Tobbi [Tobbi!~Tobbi@supertux/tobbi] has joined ##java [06:15]
bukaboi [bukaboi!~bukaboi@] has joined ##java [06:20]
Luiz_Navarro [Luiz_Navarro!~Luiz_Nava@] has joined ##java [06:20]
Imaginatrix [Imaginatrix!~imaginatr@unaffiliated/imaginatrix] has joined ##java [06:22]
Addax why wouldn't you install a newer eclipse anyway [06:22]
Addax eclipse is fine if it fits your workflow [06:22]
Addax really good for java, kinda eh for anything with a slower compiler [06:22]
Diablo-D3 he might not want to break his stuff [06:25]
Diablo-D3 I dunno about anyone else here, but I had the worst problems upgrading eclipses [06:25]
Addax sounds like he's already on his way to doing that [06:25]
Addax well, the good news is that not everyone is like you [06:25]
Diablo-D3 extensions sometimes would just stop working, more-so than they usually did [06:25]
Diablo-D3 well, Im hoping it really was just me [06:25]
Addax so don't extrapolate; relate, sure, because eclipse sucks, but your failure might not translate to theirs [06:25]
Diablo-D3 I'd hate to see career 12-hour-a-day java coders being stuck with eclipse, and spending a lot of that time just trying to keep eclipse running [06:26]
Addax I'm pretty sure most such people would be competent enough to get eclipse working properly *or* shift away at need [06:27]
Diablo-D3 dunno man, I cant really fuck up installing extensions from the extension store [06:27]
Diablo-D3 but several of them I came across would just end up with eclipse randomly crashing in those extensions [06:28]
Diablo-D3 Ive never had that problem with idea [06:28]
Addax shrugs [06:29]
Addax relate, don't extrapolate [06:29]
Hanii [Hanii!~Hanii@2a00:23c5:c587:a800:10b0:e5e4:75ab:6dfa] has joined ##java [06:32]
orbyt_ [orbyt_!~orbyt@] has joined ##java [06:40]
triange [triange!642139c2@gateway/web/freenode/ip.] has joined ##java [06:44]
triange kind of a stupid question... but is there a difference between these two / which should be used? [06:46]
triange List<String> list = new ArrayList<String>(); and ArrayList<String> list = new ArrayList<String>(); [06:46]
Addax yes, and the former [06:46]
Addax although it really should be List<String> list=new ArrayList<>() [06:46]
triange Why's that [06:47]
Addax why which [06:47]
triange The one you stated [06:48]
Addax because it doesn't repeat information that can be inferred [06:48]
triange Does being less verbose in this instance offer any benefits aside from the way it appears? [06:48]
Addax eh [06:49]
immibis [immibis!] has joined ##java [06:49]
Addax it's a violation of idiom to not use the diamond operator, but that's about it [06:50]
conan [conan!] has joined ##java [06:56]
Kristure [Kristure!~bob@] has joined ##java [06:56]
LTCD [LTCD!55d3e458@gateway/web/freenode/ip.] has joined ##java [07:10]
LTCD Hey. Java applets do not work in my browser, how can I run from the command line on Linux Mint? I heard of something called appletviewer? [07:11]
Luiz_Navarro [Luiz_Navarro!~Luiz_Nava@] has joined ##java [07:11]
LTCD It's an old piece of software before you ask. [07:12]
Addax shrugs. If you can find appletviewer as a part of your java distribution, it might work [07:12]
Addax good luck; see topic [07:12]
LTCD ( [07:18]
Addax hey, applets have been gone for *years*, what do you expect [07:18]
LTCD My stupid prof expects us to use them. [07:19]
cheeser i'm usually pretty against whoever starts with "my stupid professor" but you make a compelling argument with this one. [07:19]
Addax LTCD: ask him how to use appletviewer with your java 11 :) [07:20]
Addax "This is the current supported java runtime, but it doesn't have this crap you say we're supposed to use. Are you stuck in 2006?" [07:20]
LTCD Addax: Exactly!!! [07:21]
Addax Well, ask him [07:21]
Addax applets [07:21]
Addax Addax, applets is Check the topic, and read In short, don't use them because soon nothing will exist to run them - even Oracle says so: . If you must embed java in a web page, at least use the JNLP support in 6u10+. see [07:21]
AMcBain "Shall I also break out my 4:3 monitor and set a resolution of 1024x768?" [07:21]
Addax point out the oracle page saying "don't use these," ask him who the hell he is to swim that hard against the tide [07:21]
Addax or her, I guess [07:22]
LTCD So there's nothing I can do it quickly run it in my browser, like a plugin for Chrome? [07:23]
AMcBain hehe, no. [07:23]
Addax nope [07:23]
Addax applets have been gone from browsers for a while, good riddance [07:23]
AMcBain Those got disabled and discontinued long ago. [07:23]
triange Have you tried Internet Explorer? [07:23]
triange Would need Windows [07:23]
LTCD Linux question - if I have a VPN running how can I also push traffic through it when I'm using virtualbox? [07:23]
cheeser hahaha. "did you just tell me to go fuck myself, bob?" "yes. yes, i believe i did." [07:23]
cheeser tech support [07:24]
cheeser LTCD, Hello, ##java is not a technical support channel for your Java apps or virtual machines; it's a development channel for enthusiasts to discuss programming with the Java language. Please ask the vendor of your software for support if you're having trouble with it. [07:24]
triange or run it with Wine =) [07:24]
AMcBain If IE is even remotely the answer to something you've already lost. [07:24]
LTCD cheeser: I understand, but given I am already having a bad day could you let me off? [07:24]
cheeser sure. take the rest of the day off. [07:24]
LTCD cheeser: I hope we share the same hate for Spring framework. [07:24]
LTCD dependency injection *shudders* [07:25]
AMcBain I'm not sure how that matters. This is a Java channel. There's better ones for getting generic Linux/networking help. [07:25]
cheeser AMcBain++ [07:25]
cheeser amcbain has a karma level of 165, cheeser [07:25]
cheeser LTCD: you're clearly young and new at all this. DI is fucking awesome and anyone who says otherwise is an ankle biter. [07:26]
LTCD cheeser: Please tell me you're trolling? I mean tell me now as I'm about to leave IRC channel. [07:27]
AMcBain Try #vbox [07:27]
cheeser i am not [07:27]
LTCD *pukes* [07:27]
LTCD I'm off, thanks everyone. [07:28]
cheeser way off. [07:28]
cheeser ;) [07:28]
Sheilong [Sheilong!uid293653@gateway/web/] has joined ##java [07:28]
LTCD cheeser: I used to look up to you like this Java guru, now I don't know what to think (no offence). [07:29]
cheeser you should think, "maybe my young half-formed, ill-informed opinions should not be held so tightly without the backing of actual, non-univeristy experience. maybe there's more to this programming thing than the hello world shit i've been writing the last couple of years." [07:30]
AMcBain In a few years we might have to say "Hello Worlds" to be Mars inclusive. [07:31]
cheeser i will happily upgrade then. :D [07:31]
LTCD The issue is I couldn't learn it in a year. [07:32]
cheeser <blink>uh...</blink> [07:32]
guesty75_ [guesty75_!642139c2@gateway/web/freenode/ip.] has joined ##java [07:35]
Remavas [Remavas!~Remavas@unaffiliated/remavas] has joined ##java [07:36]
guesty75_ would anyone happen to have any recommendations for books / online curricula (Java ofc) [07:37]
cheeser books [07:37]
cheeser Some good java books are listed at Also see ~general books [07:37]
Addax heh [07:37]
Addax he couldn't... learn... DI ... in a year? [07:38]
Addax like the fuck what [07:38]
guesty75_ What about curricula? [07:38]
guesty75_ or places with exercises [07:38]
cheeser tutorial [07:38]
cheeser The Oracle tutorial for Java is probably your best starting point, at . Skip the Netbeans bits. Another option: - has a list of others as well. [07:38]
guesty75_ I know of codingbat [07:38]
Addax the good news is that this tells us that his inability to run applets won't make a damn bit of difference for his programming career [07:38]
cheeser there's hackerrank... [07:38]
Kristure1 [Kristure1!~bob@] has joined ##java [07:39]
cheeser Addax: which would be true irregardlessly luckily for him/her [07:39]
Addax indeed [07:39]
acidjnk "Thinking in Java" is still good, if you haven't done much yet. [07:39]
Addax I'm still stunned at the claim, good thing I was doing something else at the time [07:40]
guesty75_ Aware of hackerrank too, I'm honestly kind of just looking for something more tuned for academia [07:40]
guesty75_ Like for younger teenagers [07:40]
guesty75_ The University of Helsinki has some nice MOOC offerings [07:40]
Addax use java 6, apparently [07:40]
orbyt_ [orbyt_!~orbyt@] has joined ##java [07:47]
AMcBain I was on at least 7... ;P [07:49]
Luiz_Navarro [Luiz_Navarro!~Luiz_Nava@] has joined ##java [07:51]
RoriconKnight [RoriconKnight!~RoriconKn@] has joined ##java [07:57]
dendazen [dendazen!] has joined ##java [08:14]
very_sneaky [very_sneaky!~very_snea@] has joined ##java [08:35]
very_sneaky Hi all, trying to work out why I have a line ending in a '%': This is the code snippet: [08:37]
very_sneaky can anybody provide any insight? :s [08:37]
very_sneaky sorry, better screenshot of output: [08:38]
very_sneaky very_sneaky's title: "Screen-Shot-2019-03-17-at-11-37-46-am" [08:38]
fizzie Given how it looks, maybe it's just some indication from your system/shell that the line ended with no newline? Because readLine does not include the line termination, and you don't add one either. [08:47]
fizzie (Incidentally, `out.write(output.getBytes())` is a little odd. System.out is a PrintStream, you can just print (or even better, println) strings with one of those.) [08:48]
fizzie (Yeah, looks like the inverse-'%' at the end of line is a zsh thing. So it's not written by your program.) [08:50]
dendazen [dendazen!] has joined ##java [08:52]
very_sneaky fizzie: it's not present when I just write System.out.print() [08:52]
very_sneaky fizzie: this is for a network programming course, so this is an exercise in understanding streams, buffered streams and flush() [08:53]
fizzie I'm pretty sure it would be. But it wouldn't be if you used System.out.println. [08:53]
fizzie Well, in any case it's not part of your program's output. [08:53]
very_sneaky ah, no, you're right. [08:54]
very_sneaky I must have been using println before not print [08:55]
very_sneaky thanks mate [08:55]
very_sneaky fizzie: how did you identify that it was a zsh thing btw? [08:55]
orbyt_ [orbyt_!~orbyt@] has joined ##java [08:56]
fizzie Just a guess that it must be a shell feature to avoid corrupting the prompt when a command's output doesn't end up in a newline, and some Googling to end up at [08:58]
gryffus [gryffus!~gryffus@unaffiliated/gryffus] has joined ##java [09:19]
asnm [asnm!~toorhax@] has joined ##java [09:22]
asnm Hello, folks! Can someone suggest me a nice laptop? Those are my requirements: [09:22]
cheeser tech support [09:23]
cheeser Hello, ##java is not a technical support channel for your Java apps or virtual machines; it's a development channel for enthusiasts to discuss programming with the Java language. Please ask the vendor of your software for support if you're having trouble with it. [09:23]
very_sneaky fizzie: ah yeah, fair enough. thanks :) [09:30]
Luiz_Navarro [Luiz_Navarro!~Luiz_Nava@] has joined ##java [09:40]
Nicmavr [Nicmavr!~Nicmavr@unaffiliated/nicmavr] has joined ##java [09:44]
tristianc [tristianc!] has joined ##java [09:56]
sunri5e [sunri5e!~sunri5e@unaffiliated/sunri5e] has joined ##java [10:05]
waz [waz!~waz@pdpc/supporter/active/waz] has joined ##java [10:05]
conan [conan!] has joined ##java [10:06]
RedSoxFan07 [RedSoxFan07!~Thunderbi@] has joined ##java [10:09]
Dragon092 [Dragon092!] has joined ##java [10:11]
Luiz_Navarro [Luiz_Navarro!~Luiz_Nava@] has joined ##java [10:12]
katiex7 [katiex7!] has joined ##java [10:28]
rruizt [rruizt!] has joined ##java [10:28]
mike802 [mike802!~IceChat9@unaffiliated/mike802] has joined ##java [10:36]
Crash1hd [Crash1hd!~Crash1hd@unaffiliated/crash1hd] has joined ##java [10:36]
Secret-Fire [Secret-Fire!~Secret-Fi@2601:1c1:4201:458c:a837:856a:fca0:76b8] has joined ##java [10:45]
Crash1hd [Crash1hd!~Crash1hd@unaffiliated/crash1hd] has joined ##java [10:47]
ravenousmoose [ravenousmoose!] has joined ##java [10:51]
orbyt_ [orbyt_!~orbyt@] has joined ##java [10:53]
t2mkn [t2mkn!~t2mkn@] has joined ##java [11:07]
forgottenone [forgottenone!~forgotten@] has joined ##java [11:11]
tasse [tasse!] has joined ##java [11:13]
orbyt_ [orbyt_!~orbyt@] has joined ##java [11:20]
Jigsy` [Jigsy`!~Jigsy@unaffiliated/jigsy] has joined ##java [11:31]
t2mkn [t2mkn!~t2mkn@] has joined ##java [11:32]
Candle [Candle!] has joined ##java [11:32]
User_ [User_!~learningc@] has joined ##java [11:36]