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

« 2020-07-08


2020-07-10 »

Nick Message Date
fstd_ [fstd_!~fstd@unaffiliated/fisted] has joined ##java [12:15]
sbalmos [sbalmos!] has joined ##java [12:33]
devish [devish!~devish@unaffiliated/devish] has joined ##java [12:38]
led_dark_1 [led_dark_1!~Thunderbi@] has joined ##java [12:44]
phi0x [phi0x!~phi0x@] has joined ##java [01:09]
hanetzer Question regarding inheritance. If I have class Animal, with a member Limb limb, and I have another class Octopus extends Animal, and a member Tentacle limb, where Tentacle extends Limb, is it valid to override a method `Limb getLimb` in Animal with `Tentacle getLimb` in Octopus? [01:15]
bocaneri [bocaneri!sauvin@about/linux/staff/sauvin] has joined ##java [01:15]
phi0x Hi guys, wondering if you have experience with determining the compressed OOPs. I am using an older version of elasticsearch with java I am using centos 7,64gb server with 30gb heap setting. enabled the flags: "-XX:+UnlockDiagnosticVMOptions -XX:+PrintCompressedOopsMode -Xloggc:/var/log/elasticsearch/memory.log" [01:17]
phi0x but i don't see the same output that others note online regarding "heap address" [01:18]
phi0x my log does not show that line on startup or during the major gc issues i'm having. just regular GC logging i see. [01:18]
freeone3000 [freeone3000!~freeone30@Syncleus/dev/freeone3000] has joined ##java [01:22]
bobek [bobek!~bobek@unaffiliated/bobek] has joined ##java [01:35]
Jantz [Jantz!~IceChat9@2407:7000:8d04:100:5041:c0ee:8c69:ebd0] has joined ##java [01:40]
devish [devish!~devish@unaffiliated/devish] has joined ##java [01:51]
hypc [hypc!~Thunderbi@] has joined ##java [01:56]
stevenm [stevenm!~stevenm@] has joined ##java [02:03]
hypc [hypc!~Thunderbi@] has joined ##java [02:05]
hypc [hypc!~Thunderbi@] has joined ##java [02:10]
hypc [hypc!~Thunderbi@] has joined ##java [02:14]
Zee- [Zee-!~Zee-@] has joined ##java [02:17]
ricky_clarkson hanetzer: The compiler can answer that, surely. [02:20]
hanetzer compiler can answer most things, true, but sometimes what compiler answers is hard for human to grok :) [02:21]
hanetzer think I got it figured out, however. [02:21]
sdu [sdu!~user@2a02:587:340e:ff72:4116:5947:67fe:c196] has joined ##java [02:41]
IoannisJVM [IoannisJVM!] has joined ##java [02:45]
madflavor [madflavor!sid99242@gateway/web/] has joined ##java [02:55]
jakesyl [jakesyl!sid56879@gateway/web/] has joined ##java [02:56]
altendky [altendky!uid135382@gateway/web/] has joined ##java [02:57]
Manouchehri [Manouchehri!sid384576@gateway/web/] has joined ##java [02:58]
kupi [kupi!uid212005@gateway/web/] has joined ##java [02:58]
Uniquibous [Uniquibous!sid359377@gateway/web/] has joined ##java [02:58]
algun [algun!~alguien@unaffiliated/algun] has joined ##java [03:06]
deavmi [deavmi!~tbk@] has joined ##java [03:16]
palasso [palasso!~palasso@unaffiliated/palasso] has joined ##java [03:21]
guardianx [guardianx!] has joined ##java [03:33]
Me4502 [Me4502!~quassel@unaffiliated/me4502] has joined ##java [03:43]
exonity01 [exonity01!uid364582@gateway/web/] has joined ##java [03:46]
coalado [coalado!~Thomas@unaffiliated/coalado] has joined ##java [03:54]
KidBeta [KidBeta!~Kidbeta@hpavc/kidbeta] has joined ##java [03:59]
markyjackson__ [markyjackson__!sid391871@gateway/web/] has joined ##java [04:04]
asymptotically [asymptotically!~asymptoti@gateway/tor-sasl/asymptotically] has joined ##java [04:05]
exonity01 [exonity01!uid364582@gateway/web/] has joined ##java [04:06]
joev [joev!] has joined ##java [04:26]
algun_ [algun_!~alguien@unaffiliated/algun] has joined ##java [04:37]
Maldivia phi0x: did you figure things out in the meantime, or? [04:37]
Maldivia phi0x: otherwise, the compressed oops lines are only printed out IF it's using compressed oops -- also, compressed oops only works with a heap up to like 32gb [04:41]
Maldivia phi0x: alternative, you can query the information using MXBeans at runtime [04:41]
zhangxaochen_sh [zhangxaochen_sh!uid406753@gateway/web/] has joined ##java [04:46]
albethere [albethere!] has joined ##java [04:47]
Jonopoly [Jonopoly!~Jonopoly@unaffiliated/jonopoly] has joined ##java [05:03]
Gazooo [Gazooo!] has joined ##java [05:07]
deavmi [deavmi!~tbk@] has joined ##java [05:14]
KidBeta [KidBeta!~Kidbeta@hpavc/kidbeta] has joined ##java [05:23]
acidjnk_new [acidjnk_new!] has joined ##java [05:59]
bolt [bolt!~r00t@unaffiliated/bolt] has joined ##java [05:59]
conan [conan!] has joined ##java [06:03]
OliverMT [OliverMT!sid16701@gateway/web/] has joined ##java [06:14]
mzajc [mzajc!~marko@unaffiliated/mzajc] has joined ##java [06:16]
banisterfiend [banisterfiend!~textual@ruby/staff/banisterfiend] has joined ##java [06:22]
CookieM [CookieM!] has joined ##java [06:25]
bolt [bolt!~r00t@unaffiliated/bolt] has joined ##java [06:25]
danrik [danrik!~danrik@unaffiliated/ddsss] has joined ##java [06:32]
bamdad [bamdad!~bamdad@gateway/tor-sasl/bamdad] has joined ##java [06:40]
mihalyr [mihalyr!~mihalyr@gateway/tor-sasl/mihalyr] has joined ##java [06:46]
waz [waz!~waz@pdpc/supporter/active/waz] has joined ##java [06:48]
black_ant [black_ant!~antilope@unaffiliated/black-ant/x-1505394] has joined ##java [06:52]
Jantz [Jantz!~IceChat9@2407:7000:8d04:100:5041:c0ee:8c69:ebd0] has joined ##java [06:59]
Jantz [Jantz!] has joined ##java [07:09]
gelignite [gelignite!] has joined ##java [07:10]
astroid [astroid!] has joined ##java [07:17]
Lengsdorfer [Lengsdorfer!~Lengsdorf@unaffiliated/lengsdorfer] has joined ##java [07:17]
plisken [plisken!] has joined ##java [07:28]
Jantz [Jantz!~IceChat9@2407:7000:8d04:100:5041:c0ee:8c69:ebd0] has joined ##java [07:28]
chilversc [chilversc!~chilversc@about/csharp/regular/KeeperOfTheSoul] has joined ##java [07:29]
plisken Hi there, I am looking for some assistance with a java security exception; particularly "Application blocked by Java Security". I have a signed jar which I'm launching via a jnlp file. I naturualy have more details if someone is able to assist. [07:31]
freeone3000 did you set up your permission attributes? [07:34]
Christofosho [Christofosho!~christofo@unaffiliated/christofosho] has joined ##java [07:34]
Jantz [Jantz!] has joined ##java [07:34]
mbooth plisken: Did you write the application in question? If not it's probably best to ask your vendor [07:35]
plisken Thing is it will run if permissions in manifest are set to sandbox only, either locally or from a url. As soon as I change permissions to anything else, I get same error. [07:36]
plisken My own app, sorry [07:36]
plisken I've exhausted all my own resources, collegues and knowledge, so a bit of a cry for help LOL [07:36]
deavmi [deavmi!~tbk@] has joined ##java [07:37]
bittersweetsymph [bittersweetsymph!~bitterswe@unaffiliated/bittersweet] has joined ##java [07:39]
Jantz [Jantz!] has joined ##java [07:39]
freeone3000 plisken, <all-permissions/> not working? [07:40]
plisken freeone3000 as soon as I change, get the warning. do I need the same <all-permissions> in the jnlp file? [07:42]
Jantz [Jantz!~IceChat9@2407:7000:8d04:100:5041:c0ee:8c69:ebd0] has joined ##java [07:49]
plisken freeone3000 a copy of the manifest file can be seen here: [07:49]
plisken plisken's title: "GDB online Debugger | Code, Compile, Run, Debug online C, C++" [07:49]
plisken and similarly the jnlp file here: even trying to launch locally, gives the error. [07:52]
plisken plisken's title: "GDB online Debugger | Code, Compile, Run, Debug online C, C++" [07:52]
IoannisJVM [IoannisJVM!] has joined ##java [07:52]
Jantz [Jantz!] has joined ##java [07:54]
plisken A bit of progress, when I add the all-permissions to the jnlp file, it launches locally, so getting somewhere, ty [07:56]
galex-713 [galex-713!] has joined ##java [07:57]
CombatVet [CombatVet!~c4@gateway/tor-sasl/combatvet] has joined ##java [07:59]
ChaiTRex [ChaiTRex!~ChaiTRex@gateway/tor-sasl/chaitrex] has joined ##java [08:00]
veegee [veegee!] has joined ##java [08:06]
pioto [pioto!~pioto@unaffiliated/pioto] has joined ##java [08:15]
conan [conan!] has joined ##java [08:21]
plarsen [plarsen!~plarsen@redhat/jboss/pdpc.professional.plarsen] has joined ##java [08:22]
plisken Right, solved, or at least solved with my basic app, no clue what I'd done wrong as I'd been signing jars the same way for years. Bottom line if anyone was following or interested, is that the manifest file inside the jar must match that of the jnlp file, in terms of permissions and also codebase. I was omitting the permissions in the jnlp file and getting myself confused. Thanks to all that helped. [08:27]
gareppa [gareppa!~gareppa@unaffiliated/gareppa] has joined ##java [08:27]
Jantz [Jantz!] has joined ##java [08:29]
Epesh morning [08:31]
galex-713 [galex-713!~quassel@] has joined ##java [08:33]
mbooth plisken++ # Thanks for putting the solution into the channel logs for posterity :-) [08:35]
mbooth plisken has a karma level of 1, mbooth [08:35]
albethere [albethere!] has joined ##java [08:39]
eckman [eckman!] has joined ##java [08:39]
CombatVet [CombatVet!~c4@gateway/tor-sasl/combatvet] has joined ##java [08:41]
yottabyte [yottabyte!uid195082@gateway/web/] has joined ##java [08:49]
howdoi [howdoi!uid224@gateway/web/] has joined ##java [08:59]
Epesh anyone have experience sending HTML emails with attachments? I'm trying to figure out what in the email is causing poor rendering; I have a simple HTML page being sent and attachments being referred to with cid: as the protocol [09:03]
wedr [wedr!] has joined ##java [09:05]
freeone3000 Epesh, What's the actual issue you're running into? If you view the resultant email as an actual MIME file, is it correct? [09:05]
Epesh freeone3000: *sigh* the *actual issue* is that the UAT people say it's rendering improperly, with screenshots :( [09:06]
Epesh I'm going to have to bite the bullet and spin up an actual instance of the sending process to validate, because their screenshots aren't informative :( [09:06]
Epesh I *think* I'm building the emails properly but I'm not sure if that's by accident or not [09:07]
rocketmagnet [rocketmagnet!~noname@unaffiliated/rocketmagnet] has joined ##java [09:08]
freeone3000 The rendering issue is likely going to be isolated to that renderer. Emails need to be written to a *very* low denominator - Outlook uses the Word 1997 HTML renderer. [09:08]
dmlloyd heh [09:10]
dmlloyd consider rich text? :) [09:11]
mbooth Eww [09:11]
mbooth Consider plain text ;-) [09:11]
dmlloyd I was thinking of having my status report emailer use rich text [09:11]
jakeo [jakeo!] has joined ##java [09:13]
Alina-malina [Alina-malina!~Alina-mal@unaffiliated/alina-malina] has joined ##java [09:23]
sonOfRa Just email a link to a webpage! [09:27]
Epesh sighs [09:29]
Epesh ##java: big help as always :) [09:29]
Epesh Actually, you guys have helped [09:30]
cheeser dmlloyd: you send status reports? :) [09:34]
dmlloyd yeah. it's tough when your boss is your friend :) [09:43]
dmlloyd honestly though all I do is I keep a personal project in GitHub [09:43]
cheeser D i do have a good one. [09:43]
dmlloyd throw all my tasks on cards [09:43]
dmlloyd the report generates a bullet list off the summary sentence of each card [09:44]
dmlloyd then I archive the "done" column after each status report [09:44]
dmlloyd easy peasy [09:44]
bolt [bolt!~r00t@unaffiliated/bolt] has joined ##java [09:44]
cheeser automation++ [09:54]
cheeser automation has a karma level of 1, cheeser [09:54]
black_ant [black_ant!~antilope@unaffiliated/black-ant/x-1505394] has joined ##java [09:55]
dmlloyd having my tasks on a board is helpful to me too, since I lose focus very easily [09:59]
Epesh points to a squirrel [09:59]
dmlloyd 20 year old me would have fought hard against micro-managing my tasks :) but this is fairly low-overhead and solves several problems at once [10:00]
orbyt_ [orbyt_!~orbyt@] has joined ##java [10:06]
AcTiVaTe [AcTiVaTe!] has joined ##java [10:13]
[twisti] dmlloyd: check out trello, thank me later [10:18]
dmlloyd I'm familiar with trello [10:19]
upgrdman [upgrdman!~upgrdman@blender/artist/upgrdman] has joined ##java [10:19]
kspalaiologos [kspalaiologos!~kspalaiol@] has joined ##java [10:22]
mzajc [mzajc!~marko@unaffiliated/mzajc] has joined ##java [10:22]
lilalinux [lilalinux!znc@] has joined ##java [10:32]
lilalinux [lilalinux!znc@] has joined ##java [10:32]
jamezp [jamezp!~jamezp@redhat/jboss/jamezp] has joined ##java [10:36]
waz then thank him now? [10:38]
dmlloyd heh [10:39]
alguien [alguien!~alguien@unaffiliated/algun] has joined ##java [11:08]
sagax [sagax!~sagax_nb@] has joined ##java [11:12]
EgonX [EgonX!~Egon@2601:2c6:47f:98f4:14a3:7fbe:e58f:f4b0] has joined ##java [11:13]
coalado [coalado!~Thomas@unaffiliated/coalado] has joined ##java [11:16]
jakeo I'm getting an IncompatibleClassChangeError after updating my version of Tomcat from 8.0.53 to 8.5.51, both running Java 8. I'm having a hard time determining what class is causing this error to be thrown. Does anyone know what I can do to track down which class is casuing the error? Here is a pastebin with the stacktrace [11:17]
jakeo [11:17]
cheeser that's all of the stack trace? [11:18]
Epesh did we not suggest stuff yesterday? Did you recompile like we suggested? [11:18]
bobek [bobek!~bobek@unaffiliated/bobek] has joined ##java [11:19]
jakeo That's the full stracktrace that I can see from the ec2 logs. I tried rebuilding the env but I'm still getting the error [11:19]
Epesh did you recompile the app [11:19]
Epesh did you change the JVM at all [11:20]
Epesh because that kind of error would happen if a supporting library's interface changed without your code compensating for it [11:20]
jakeo I recompiled yes. This is a gwt project. I did not change the jvm at all [11:21]
Epesh in particular it looks like the google cache is expecting a class to look like ONE thing and it looks like another (line 2212, [11:21]
cheeser run it locally. attach a debugger. [11:23]
Epesh and fear, given GWT [11:23]
cheeser if you can't run it locally, you shouldn't be pushing to AWS :) [11:23]
jakeo I don't have this problem locally [11:24]
Onionnion [Onionnion!uid114144@gateway/web/] has joined ##java [11:24]
galex-713_ [galex-713_!] has joined ##java [11:25]
cheeser same jvm versions here and there? [11:25]
tang^ [tang^!~tang^] has joined ##java [11:26]
Alina-malina [Alina-malina!~Alina-mal@unaffiliated/alina-malina] has joined ##java [11:26]
jakeo I'll look into attaching a debugger. java version locally is 1.8.0_191-b12 and on aws is 1.8.0_252-b09 [11:29]
deavmi [deavmi!~tbk@] has joined ##java [11:31]
markong [markong!~mark2@] has joined ##java [11:35]
markoong [markoong!~mark2@] has joined ##java [11:45]
KeyJoo [KeyJoo!~KeyJoo@] has joined ##java [11:52]
SwiftMatt [SwiftMatt!~Objective@2601:282:4300:3e:51a9:5e30:7257:7820] has joined ##java [11:52]
phi0x Maldivia: no i have not figured it out. i unfortunately don't have access to hook into something like mxBeans etc. i only have terminal access to the linux server. the online readings show that there are two outcomes in a log which should show, one response should show either compressed oops via one message type and another outcome should show whether it's not engaged or something.. but yes i figured it may also just be that IF the issue exists the [11:53]
phi0x n it'll pop up in the log at the time of the event. which it has not. so likely just a bad garbage collection issue occurring. [11:53]
dmabs [dmabs!~dmabs@unaffiliated/dmabs] has joined ##java [11:54]
rippa [rippa!] has joined ##java [11:56]
alguien [alguien!~alguien@unaffiliated/algun] has joined ##java [12:01]
jesmon [jesmon!~user@] has joined ##java [12:10]
conan [conan!~conan@] has joined ##java [12:14]
plutes [plutes!~plutes@unaffiliated/plutes] has joined ##java [12:20]
upgrdman [upgrdman!~upgrdman@blender/artist/upgrdman] has joined ##java [12:26]
fred1807 [fred1807!uid305363@gateway/web/] has joined ##java [12:42]
howdoi [howdoi!uid224@gateway/web/] has joined ##java [12:42]
Maldivia phi0x: terminal access is enough [12:45]
Maldivia phi0x: jcmd PID [12:45]
funeral [funeral!~Funeral@2a01:799:7e0:1000::80d] has joined ##java [12:47]
compscidr [compscidr!~compscidr@2601:646:ca00:f9b0:3d84:1c5:9ad0:fe3b] has joined ##java [12:47]
nickb_ [nickb_!sid293439@gateway/web/] has joined ##java [12:48]
amosbird_ [amosbird_!~amosbird@2a01:111:f102:8001::1761:4cf8] has joined ##java [12:48]
Suchorski [Suchorski!~regex@unaffiliated/suchorski] has joined ##java [12:49]
comrad_ [comrad_!~quassel@holarse/core/comrad] has joined ##java [12:49]
Maldivia phi0x: and quite easy to see that it's only printed if compressed oops is enabled: [12:52]
Maldivia Maldivia's title: "dpaste/RP7N (Plain Text)" [12:52]
phi0x Maldivia: Unable to open socket file: target process not responding or HotSpot VM not loaded [12:53]
Maldivia are you the same user as the process? (ie, do you have permission) [12:53]
phi0x i am root [12:53]
phi0x the process is under a different user [12:53]
Maldivia hmm, ok -- then MX beans might have been disabled for that JVM [12:54]
phi0x sudo -u elasticsearch /usr/lib/jvm/jdk1.8.0_152/bin/jcmd 48537 [12:54]
phi0x ava.lang.IllegalArgumentException: Unknown diagnostic command [12:55]
ryszard [ryszard!mac@] has joined ##java [12:55]
ryszard hey [12:55]
Maldivia phi0x: you can jcmd PID help -- to see what diagnostic commands are supported by your JVM version [12:55]
ryszard I have three classes and wish to return object of one of them but randomly every time method is called [12:55]
ryszard not sure how to do it correctly [12:56]
Maldivia ryszard: ok, switch (random.nextInt(0, 2)) { case 0: return new Object1(); case 1: return new Object2(); default: return new Object3(); } ? [12:56]
ryszard yeah, good point [12:56]
Epesh ryszard: ^^^ what's the actual problem? [12:56]
ryszard thanks [12:57]
phi0x Maldivia: JFR.stop JFR.start JFR.dump JFR.check VM.native_memory VM.check_commercial_features VM.unlock_commercial_features ManagementAgent.stop ManagementAgent.start_local ManagementAgent.start GC.rotate_log Thread.print GC.class_stats GC.class_histogram GC.heap_dump GC.run_finalization VM.uptime VM.flags VM.system_properties VM.command_line VM.version help [12:58]
galex-713_ [galex-713_!] has joined ##java [12:58]
lolmac [lolmac!sid171216@gateway/web/] has joined ##java [12:58]
Intrepd [Intrepd!] has joined ##java [12:58]
canton7 [canton7!~canton7@about/csharp/regular/canton7] has joined ##java [12:58]
mindfulStoic [mindfulStoic!sid172528@gateway/web/] has joined ##java [12:58]
thesquib [thesquib!~thesquib@] has joined ##java [12:58]
CygniX [CygniX!~CygniX@opensuse/member/CygniX] has joined ##java [12:58]
Maldivia phi0x: VM.flags should tell you [12:58]
phi0x Maldivia: -XX:CICompilerCount=12 -XX:CMSInitiatingOccupancyFraction=75 -XX:+DisableExplicitGC -XX:+HeapDumpOnOutOfMemoryError -XX:InitialHeapSize=32212254720 -XX:MaxHeapSize=32212254720 -XX:MaxNewSize=1134100480 -XX:MaxTenuringThreshold=6 -XX:MinHeapDeltaBytes=196608 -XX:NewSize=1134100480 -XX:OldPLABSize=16 -XX:OldSize=31078154240 -XX:+PrintCompressedOopsMode -XX:+PrintGC -XX:+PrintGCTimeStamps -XX:+UnlockDiagnosticVMOptions -XX:+UseCMSInitiatingO [12:59]
phi0x ccupancyOnly -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseConcMarkSweepGC -XX:+UseParNewGC [12:59]
Maldivia phi0x: -XX:+UseCompressedOops <-- using compressed oops [12:59]
phi0x ok so i should remove that flag then correct [12:59]
Maldivia phi0x: well, I don't know -- you wanted to be able to detect if compressed oops were used or not; now you know :D [01:00]
phi0x yes lol ok i will try and remove :D [01:00]
mz` [mz`!~mz@gandi/mz] has joined ##java [01:00]
lolmac [lolmac!sid171216@gateway/web/] has joined ##java [01:01]
Fleck [Fleck!~fleck@unaffiliated/fleck] has joined ##java [01:03]
Maldivia phi0x: also note, that if you explicitly tried to enabled compressed oops, and the VM detected that you had too big a heap for it, VM.flags would show that compressed oops were disabled [01:04]
phi0x Maldivia: thx for all the help! [01:13]
nikkal [nikkal!] has joined ##java [01:14]
dmlloyd maven version comparison is pretty bizarre [01:14]
dmlloyd 1.0.1 >, because == 1..1 [01:15]
dmlloyd but 1..1 > because 1..1 == 1.0.1! [01:15]
dmlloyd I mean wat [01:16]
Epesh semver is maddening sometimes [01:16]
dmlloyd so: == 1..1, and 1..1 == 1.0.1, but != 1.0.1 [01:16]
dmlloyd ? [01:17]
dmlloyd here's another awesome one [01:17]
dmlloyd a1 == alpha-1, alpha1 == alpha-1, a-1 != alpha-1 [01:18]
dmlloyd "a" means "a" unless it's followed by an invisible separator, in which case "a" is "alpha" and the invisible separator is "-" [01:19]
mbooth How can I unread dmlloyd's messages :-/ [01:19]
yawkat [01:20]
yawkat yawkat's title: "org.apache.maven/maven-artifact/3.6.2 : org/apache/maven/artifact/versioning/" [01:20]
yawkat beautiful [01:20]
dmlloyd this one is great: [01:21]
yawkat who knew version comparison could be 800 lines [01:21]
dmlloyd final.0 == 0.0, but final.1 < 0.1 [01:21]
dmlloyd == 1.0 [01:21]
dmlloyd giggles [01:21]
g00s [g00s!~g00s@unaffiliated/g00s] has joined ##java [01:21]
paddyez [paddyez!~Patrick-E@wikipedia/paddyez] has joined ##java [01:22]
dmlloyd in Maven, _ is not considered a separator, so 1.0 < 1_0, and 1_0 == 1-_ [01:22]
dmlloyd more trailing zero silliness: 1.0 == 1-0 (because both are equal to just "1") but 1.2 > 1-2 [01:23]
rajumoh [rajumoh!~mohitm@] has joined ##java [01:26]
jenia [jenia!] has joined ##java [01:26]
acidjnk_new [acidjnk_new!] has joined ##java [01:27]
Maldivia as someone who frequently runs a script that gathers versions of app servers and frameworks, and tries to detect latest patch version for major.minor combinations, and bitching about all the various versioning formats... I feel your pain [01:28]
Maldivia I'm looking at you, Spring Data Moore-SR8 and Neumann-SR1 kind of versioning! [01:29]
cheeser files a versioning JEP [01:30]
dmlloyd Moore-SR8 == moore-sr-8, Neumann-SR1 == neumann-sr-1; Moore-SR8 < Neumann-SR1 [01:31]
dmlloyd I guess that's as expected though :) [01:31]
conan_ [conan_!~conan@] has joined ##java [01:31]
cheeser i'd like to get input from the OSGi camp on their thoughts about versioning as well. i hear they have opinions. [01:31]
dmlloyd OSGi is all numeric right? [01:32]
dmlloyd and using semver by convention [01:32]
cheeser a.b.c.d [01:32]
cheeser iirc [01:32]
conan__ [conan__!] has joined ##java [01:33]
dmlloyd ah the fourth segment can be a string [01:33]
dmlloyd non-numeric [01:33]
Maldivia dmlloyd: sure, comparing them to eachother is easy -- but since I try to find latest version within a major.minor range, it's harder to make it apply easily for say Spring Data, WildFly, Spring Boot, etc since they all have different ways :D [01:36]
dmlloyd list.sort() :) [01:36]
Maldivia well, I pull ALL the version of Spring Data -- and then I need to find the highest SR# for each of the major releases [01:37]
dmlloyd it's extra fun when the version is actually a build of something, so you have foo-2.5 and then you have rebuilt-foo2.5 with a version of 1.0 [01:37]
Maldivia yeah, luckily I don't have to deal with that :D [01:37]
Maldivia so what I've been using mostly is DefaultArtifactVersion, and then stream.collect(groupingBy(version.getMajorVersion() + "." + version.getMinorVersion(), maxBy(naturalOrder))) [01:39]
Maldivia works in most cases; and then I have to handroll it for shitty versioning schemes (like Spring Data) [01:40]
sixfootlamppost [sixfootlamppost!~sixfootla@2a02:c7f:7466:2200:4daa:8fc7:8588:17d0] has joined ##java [01:42]
jesmon books [01:47]
jesmon Some good java books are listed at Also see ~general books [01:47]
Cmaj6 [Cmaj6!] has joined ##java [01:55]
exonity01 [exonity01!uid364582@gateway/web/] has joined ##java [02:05]
Intelo [Intelo!~ubuntu@unaffiliated/intelo] has joined ##java [02:08]
Intelo Hi [02:08]
Intelo What are good methods of authentication now days? [02:08]
Intelo user logins [02:08]
Intelo on a web [02:08]
Epesh um [02:09]
Epesh Oauth works [02:09]
Epesh see shiro, spring security, probably a host of others [02:09]
freeone3000 shiro's nice. integrates well with non-spring "dumb" projects. [02:09]
mkchan federated login [02:19]
mkchan via saml [02:19]
Epesh refuse the existence of users, that's a good option too [02:19]
sonOfRa federated login via anything but saml (the only other option is oauth/oidc) [02:20]
Alina-malina [Alina-malina!~Alina-mal@unaffiliated/alina-malina] has joined ##java [02:24]
mkchan what's the difference between oidc and saml? afaik oidc is restful and saml is soapy [02:26]
mzajc [mzajc!~marko@unaffiliated/mzajc] has joined ##java [02:27]
nathanj [nathanj!~nathanj@] has joined ##java [02:27]
Intelo Epesh: whats better and more secure? oauth1, oauth2, redis+cookies for user authentication? [02:28]
Intelo freeone3000: ^ [02:29]
Intelo freeone3000: Hi there btw [02:29]
mkchan oauth is for authorization [02:29]
dmlloyd wait, this is my favorite maven version comparison: -1 == 1 [02:30]
hypc [hypc!~Thunderbi@] has joined ##java [02:31]
Intelo mkchan: yes it is but whats better and more secure? [02:32]
Intelo oauth1, oauth2, redis+cookies for user authentication? [02:33]
freeone3000 sonOfRa, Hey, AAD uses OAuth2 via SAML, and it works fine! [02:34]
Intelo snores [02:34]
sonOfRa Intelo: definitely not oauth 1. Cookies if you're doing a classical website and serving HTML. Not cookies if you're doing SPA+REST API [02:36]
dmlloyd certificate auth :) [02:37]
mkchan "Please enter your private key so we can verify you" [02:37]
freeone3000 cert auth sucks. don't do it. it's not worth it. [02:38]
freeone3000 if you think you want cert auth you actually want FIDO2 [02:38]
Intelo sonOfRa: why not oauth1? any alternative to session+cookies? [02:39]
freeone3000 oauth1 has an unuseful separation between the authenticator and the authorizor, which increased complexity for no good reason [02:39]
dmlloyd what does fido2 give you over tls auth? [02:39]
freeone3000 dmlloyd, Decent browser integration. [02:40]
freeone3000 The cert picker dialog *sucks* in chrome, and the CN for client certs tend to be nonhelpful from a user perspective, and they're sticky, so it's hard to retry. [02:40]
dmlloyd does fido2 work on mobile? [02:41]
sonOfRa Intelo: there's simply no reason to use oauth1 over oauth2. [02:41]
freeone3000 dmlloyd, yep! yubikey sells both usb-c and nfc dongles, and feiten sells one for bluetooth (for iphone). I think yubikey also has a bt one now as well. [02:41]
freeone3000 dmlloyd, and no mdm rootkit needed like there is for tls on mobile [02:42]
dmlloyd on iphone at least you can make and install profiles relatively easily iirc [02:44]
dmlloyd in the base OS [02:44]
Intelo sonOfRa: why not? [02:44]
dmlloyd for TLS auth I mean [02:44]
sonOfRa Because OAuth2 was designed to replace it, and is specified more completely. [02:45]
freeone3000 on android, this isn't user-exposed functionality, and for an app to expose this, it requires Device Administrator permissions. [02:45]
Sgeo [Sgeo!] has joined ##java [02:46]
freeone3000 Intelo, You end up doing a three-way exchange four-stage exchange instead of a two-way one-stage exchange. OAuth2. [02:47]
Intelo freeone3000: whats better? oauth1 /2? [02:49]
sonOfRa Intelo: are you actually *reading* what people are telling you? [02:49]
mkchan Intelo: practically speaking, if it's about getting stuff done, i recommend offload your identity provider functionality to google/okta/github/other and just implement oauth2 authorization using their services [02:49]
Intelo hm.. [02:50]
Intelo mkchan: problem with conservative apps but good idea maybe [02:50]
Intelo sonOfRa: of course [02:50]
Intelo sonOfRa: just don't know it all [02:50]
Intelo yet [02:50]
mkchan - here's a spring project for example that does that [02:50]
sonOfRa Ah but we already told you to definitely use oauth2 because oauth1 is deprecated, and then you asked twice more if you're supposed to use oauth1 or oauth2 [02:51]
Epesh so the answer is "basic html auth" [02:51]
Epesh it's so good you don't even need https [02:51]
mkchan the good answer is: don't do auth [02:51]
mkchan let someone do it for you [02:51]
mkchan the low level answer is: read some papers [02:52]
jamezp [jamezp!~jamezp@redhat/jboss/jamezp] has joined ##java [02:53]
Intelo freeone3000: mkchan what about openid instead? [02:54]
freeone3000 that's oauth2 [02:54]
mkchan basically what i described [02:54]
mkchan except not-centralized (i think) [02:55]
freeone3000 nobody quite agrees on how oauth2 should be implemented, so every vendor's is slightly different. openid is a collection of oauth2 implementations for the most common providers. [02:55]
Intelo mkchan: oh thats openid? I didn't knew [02:55]
Intelo freeone3000: ^ [02:55]
Intelo oh. better use oauth1 then [02:55]
freeone3000 nope. [02:56]
freeone3000 oauth2. [02:56]
sonOfRa Despite being a bit wonky, oauth2 is definitely the better choice. Most "flows" you do will work just fine across providers [02:56]
freeone3000 if for no other reason than there's no current identity provider that offers oauth1. [02:56]
freeone3000 except... twitter? though I think it's deprecated. [02:57]
ron if you want everyone to hate you please use oauth1. [02:57]
Intelo ron: I wonder why. May advocate 1 is better than 2 [03:01]
eckman I doubt that the trespassers will be evicted. [03:01]
eckman OOPS! wrong tab. [03:01]
eckman Sorry. [03:01]
Intelo ron: [03:01]
ron Intelo: dude, do whatever you want. [03:02]
Intelo ron: just discussing man.. :) [03:03]
ron k [03:03]
mkchan read the responses before asking new questions [03:03]
mizi [mizi!] has joined ##java [03:03]
Intelo mkchan: yes sir. [03:04]
Intelo saluts [03:04]
llorllale [llorllale!] has joined ##java [03:10]
viruscthulhu [viruscthulhu!~viruscthu@] has joined ##java [03:16]
Markow [Markow!~ejm@] has joined ##java [03:32]
mzajc [mzajc!~marko@unaffiliated/mzajc] has joined ##java [03:32]
nikkal [nikkal!] has joined ##java [03:35]
g00s [g00s!~g00s@unaffiliated/g00s] has joined ##java [03:36]
SwiftMatt [SwiftMatt!~Objective@2601:282:4300:3e:51a9:5e30:7257:7820] has joined ##java [03:41]
banisterfiend [banisterfiend!~textual@ruby/staff/banisterfiend] has joined ##java [03:44]
squirrel Epesh: mhm? [04:08]
mzajc [mzajc!~marko@unaffiliated/mzajc] has joined ##java [04:18]
conan_ [conan_!~conan@] has joined ##java [04:21]
Epesh squirrel: bwahahaha [04:24]
ener2 [ener2!] has joined ##java [04:25]
vveer [vveer!~veer@unaffiliated/bhlh] has joined ##java [04:26]
csd_ [csd_!] has joined ##java [04:33]
csd_ Hi, is there any way to rewrite this code snippet so that the exception bubbles out to main() instead of the lambda needing to catch it? [04:34]
csd_ [04:34]
Maldivia use a runtime exception instead of a checked exception? [04:35]
ernimril or let call take a Callable [04:35]
ricky_clarkson Right, doesn't declare checked exceptions, but nothing stops you from using a more exception-friendly interface. [04:36]
cheeser files a JEP to remove checked exceptions [04:37]
Maldivia cheeser: I see you saying that a lot, but have yet to see a single JEP filed? [04:38]
cheeser it's an arduous task. [04:38]
cheeser files a JEP to make filing JEPs easier. [04:38]
sa02irc [sa02irc!] has joined ##java [04:38]
Epesh files a JEP to stop allowing JEPs [04:38]
Epesh stasis forever! [04:38]
asymptotically [asymptotically!~asymptoti@gateway/tor-sasl/asymptotically] has joined ##java [04:41]
ricky_clarkson Relevant (but not a JEP): [04:42]
ricky_clarkson ricky_clarkson's title: "Neal Gafter's blog: Removing Language Features?" [04:42]
dmlloyd neal gafter, there's a blast from the past [04:43]
ricky_clarkson I've found checked exceptions painful to work with combined with Java streams or our async libs. [04:43]
cheeser they're only checked by the compiler anyway [04:44]
ricky_clarkson I'd rather have a decent Result type with compiler checking to make sure we don't ignore it, a la Rust. [04:44]
dmlloyd true, it's all a bit illusory [04:44]
ricky_clarkson Or custom result types being used more often for more interesting cases [04:45]
ricky_clarkson Looks like Gafter is still at Microsoft working on the C# compiler. [04:47]
dmlloyd jumped ship, I can see it [04:47]
ricky_clarkson He once forwarded me a quote for replacement windows for his house by accident, turns out his wife is Ricki Gafter.. [04:47]
dmlloyd heh [04:48]
ricky_clarkson He wasn't having much fun at Google, that was when Bloch was there and Bloch basically prevented him from doing Java lambdas as a 20% project [04:49]
ricky_clarkson because Bloch thought we were 'blowing the complexity budget' [04:49]
Epesh he probably wasn't far wrong [04:49]
ricky_clarkson We were lucky to get Java Puzzlers out of them before that happened [04:49]
Epesh it's just a budget that needed to be invested in that area [04:49]
dmlloyd I don't know that present lambdas offer a substantial technical benefit compared to syntactic sugar over anonymous classes [04:50]
ricky_clarkson Gafter's lambda design may have gone too far, I think that's ok and it could have been reduced before implementation, but I think it was good research. [04:50]
dmlloyd in terms of memory, class loading performance, or execution speed [04:50]
ricky_clarkson Gafter's solution did work transparently for checked exceptions, which would have been nice today [04:51]
ricky_clarkson dmlloyd: Lambdas and anonymous classes would both work with either execution model [04:51]
ricky_clarkson we could have gotten VM method references etc without any new syntax [04:52]
dmlloyd well, there are a lot of things we could have had from a lot of design decisions [04:52]
dmlloyd decisions which make little sense IMO [04:52]
Epesh they should have just branded kotlin as! [04:52]
dmlloyd like, I can read a volatile field, but if I want to read a volatile field using a plain read I have to bootstrap a dozen classes no matter which approach I take [04:53]
dmlloyd why not put a flag on the readfield opcodes [04:53]
Maldivia dmlloyd: so instead of having the field be volatile, have the access-opcode be ? [04:54]
dmlloyd you could, but I was imagining more having the default mode be "detect" and otherwise be able to specify plain, volatile, or acq/rel [04:55]
dmlloyd CAS and atomic increment wouldn't go amiss either... [05:01]
shicks2525 [shicks2525!] has joined ##java [05:04]
ricky_clarkson dmlloyd: Do you have any views on LLVM IR? [05:06]
llorllale [llorllale!~llorllale@2607:9880:1078:ce:f4c6:251:6d0a:2747] has joined ##java [05:06]
dmlloyd it has a lot of flaws but I like it overall [05:07]
wymillerlinux [wymillerlinux!] has joined ##java [05:07]
ricky_clarkson I just started looking at it and found it surprisingly readable, but I'm not looking at any CAS, etc., features [05:07]
dmlloyd metadata is a mess though [05:07]
dmlloyd once you understand basic blocks, it's all quite straightforward [05:07]
dmlloyd and SSA in general... [05:08]
dmlloyd a linear IR is inherently misleading though (and that applies to bytecode as well) [05:09]
dmlloyd ultimately it always is transformed into a graph of control and data dependencies [05:09]
Hanii [Hanii!~Hanii@2a00:23c5:c587:6d00:718f:2670:9c47:dbd8] has joined ##java [05:14]
ricky_clarkson Interesting (possibly ~interesting too, so keeping it brief). To learn more about low level stuff I was starting to do some Rust embedded to run on my RPi but after seeing how readable LLVM IR is I might go down to that level [05:17]
ricky_clarkson until it gets tedious rather than mysterious [05:17]
g00s [g00s!~g00s@unaffiliated/g00s] has joined ##java [05:20]
dmlloyd great thing about llvm ir is that you can use clang to print out the LLVM IR equivalent of any C program, and you can use llc to print out the asm for any LLVM IR program [05:20]
murd0c [murd0c!~murd0c@2800:810:492:ee:e0cd:e90e:33a0:7a59] has joined ##java [05:41]
Alina-malina [Alina-malina!~Alina-mal@unaffiliated/alina-malina] has joined ##java [05:52]
SwiftMatt [SwiftMatt!~Objective@2601:282:4300:3e:64da:8c32:deb9:b7e] has joined ##java [05:53]
Tabmow [Tabmow!~tabmow@freenode/staff-emeritus/tabmow] has joined ##java [05:59]
cliluw [cliluw!~cliluw@unaffiliated/cliluw] has joined ##java [06:03]
Ingvix [Ingvix!~Ingvix@2001:999:41:75f5:baae:edff:fe7f:87a9] has joined ##java [06:08]
jesmon [jesmon!~user@] has joined ##java [06:22]
dodobrain [dodobrain!~dodobrain@unaffiliated/freakabcd] has joined ##java [06:23]
banisterfiend [banisterfiend!~textual@ruby/staff/banisterfiend] has joined ##java [06:32]
markong [markong!~mark2@] has joined ##java [06:33]
chilversc [chilversc!~chilversc@about/csharp/regular/KeeperOfTheSoul] has joined ##java [06:42]
Arimil [Arimil!] has joined ##java [06:42]
Nitrousoxide [Nitrousoxide!~quassel@unaffiliated/nitrousoxide] has joined ##java [06:48]
SwiftMatt [SwiftMatt!~Objective@2601:282:4300:3e:64da:8c32:deb9:b7e] has joined ##java [06:58]
beatbrot5 [beatbrot5!] has joined ##java [07:02]
flex14 [flex14!~flex14@2601:280:c780:7ea0:6198:aed6:a074:32ee] has joined ##java [07:07]
galex-713 [galex-713!] has joined ##java [07:21]
SwiftMatt [SwiftMatt!~Objective@2601:282:4300:3e:64da:8c32:deb9:b7e] has joined ##java [07:23]
SwiftMatt [SwiftMatt!~Objective@2601:282:4300:3e:64da:8c32:deb9:b7e] has joined ##java [07:39]
chilvers1 [chilvers1!~chilversc@about/csharp/regular/KeeperOfTheSoul] has joined ##java [07:42]
banisterfiend [banisterfiend!~textual@ruby/staff/banisterfiend] has joined ##java [07:43]
NorthwestVegan [NorthwestVegan!~Northwest@gateway/tor-sasl/northwestvegan] has joined ##java [07:45]
czhou [czhou!~czhou@unaffiliated/czhou] has joined ##java [07:54]
SwiftMatt [SwiftMatt!~Objective@2601:282:4300:3e:64da:8c32:deb9:b7e] has joined ##java [07:55]
beatbrot4 [beatbrot4!] has joined ##java [07:59]
upgrdman [upgrdman!~upgrdman@blender/artist/upgrdman] has joined ##java [08:05]
deavmi [deavmi!~tbk@] has joined ##java [08:10]
viruscthulhu [viruscthulhu!] has joined ##java [08:11]
nikkal [nikkal!] has joined ##java [08:15]
Kol [Kol!] has joined ##java [08:16]
nikka [nikka!] has joined ##java [08:20]
AMcBain [AMcBain!] has joined ##java [08:36]
g00s_ [g00s_!~g00s@unaffiliated/g00s] has joined ##java [08:45]
Harlin [Harlin!] has joined ##java [09:00]
immibis_ [immibis_!] has joined ##java [09:06]
viruscthulhu [viruscthulhu!] has joined ##java [09:08]
immibis_ [immibis_!] has joined ##java [09:09]
black_ant [black_ant!~antilope@unaffiliated/black-ant/x-1505394] has joined ##java [09:13]
Goplat [Goplat!~Goplat@reactos/developer/Goplat] has joined ##java [09:23]
danrik [danrik!~danrik@unaffiliated/ddsss] has joined ##java [09:33]
danrik [danrik!~danrik@unaffiliated/ddsss] has joined ##java [09:37]
immibis [immibis!] has joined ##java [09:41]
danrik [danrik!~danrik@unaffiliated/ddsss] has joined ##java [09:41]
matsurago [matsurago!~matsurago@240b:10:b3a1:1700:5051:77d8:7ebc:26df] has joined ##java [10:23]
oxum [oxum!~oxum@] has joined ##java [10:30]
Onionnion [Onionnion!uid114144@gateway/web/] has joined ##java [10:37]
orbyt_ [orbyt_!~orbyt@] has joined ##java [10:40]