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

« 2019-08-14


2019-08-16 »

Nick Message Date
Janhouse [Janhouse!] has joined ##java [12:06]
learningc [learningc!] has joined ##java [12:11]
keepLearning512 [keepLearning512!~keepLearn@] has joined ##java [12:12]
NorthwestVegan [NorthwestVegan!~Northwest@gateway/tor-sasl/northwestvegan] has joined ##java [12:17]
nivag [nivag!~gavin@] has joined ##java [12:28]
ertiportline [ertiportline!~ertiportl@unaffiliated/ertiportline] has joined ##java [12:29]
azuline_ [azuline_!~azuline@unaffiliated/azuline] has joined ##java [12:39]
djhworld [djhworld!~djhworld@] has joined ##java [12:40]
g00s [g00s!~g00s@unaffiliated/g00s] has joined ##java [12:50]
hypc [hypc!~Thunderbi@] has joined ##java [01:13]
led_dark_1 [led_dark_1!~Thunderbi@] has joined ##java [01:14]
ron [ron!~ron@unaffiliated/ron] has joined ##java [01:16]
Diablo-D3 [Diablo-D3!] has joined ##java [01:18]
Diablo-D3 [Diablo-D3!] has joined ##java [01:29]
Sauvin [Sauvin!sauvin@about/linux/staff/sauvin] has joined ##java [01:31]
acidjnk [acidjnk!] has joined ##java [01:34]
led_dark_1 [led_dark_1!~Thunderbi@] has joined ##java [01:38]
Diablo-D3 [Diablo-D3!] has joined ##java [01:39]
Jantz [Jantz!~IceChat9@2407:7000:8d04:100:bc63:b6b1:fc8a:1f56] has joined ##java [01:59]
puppy_za [puppy_za!uid277586@gateway/web/] has joined ##java [02:03]
led_dark_1 [led_dark_1!~Thunderbi@] has joined ##java [02:10]
ottoshmidt [ottoshmidt!] has joined ##java [02:16]
immibis [immibis!] has joined ##java [02:16]
dez [dez!uid92154@fedora/deSouza] has joined ##java [02:18]
slosh [slosh!~slosh@] has joined ##java [02:21]
ogradyd [ogradyd!~Thunderbi@2a02:8070:88bf:9df0::941] has joined ##java [02:21]
Tichodroma [Tichodroma!~lutz@fsf/member/Tichodroma] has joined ##java [02:30]
led_dark_1 [led_dark_1!~Thunderbi@] has joined ##java [02:32]
exonity01 [exonity01!uid364582@gateway/web/] has joined ##java [02:33]
bnyio [bnyio!] has joined ##java [02:35]
ravenous_ [ravenous_!] has joined ##java [02:36]
intellect [intellect!uid258908@gateway/web/] has joined ##java [02:38]
g00s [g00s!~g00s@unaffiliated/g00s] has joined ##java [02:39]
Matthijs [Matthijs!~quassel@unaffiliated/matthijs] has joined ##java [02:51]
led_dark_1 [led_dark_1!~Thunderbi@] has joined ##java [02:57]
Proximyst [Proximyst!~Proximyst@] has joined ##java [03:07]
Chuguniy [Chuguniy!~Chuguniy@] has joined ##java [03:21]
ravenous_ [ravenous_!] has joined ##java [03:21]
palasso [palasso!~palasso@unaffiliated/palasso] has joined ##java [03:22]
ravenous_ [ravenous_!] has joined ##java [03:56]
learningc [learningc!] has joined ##java [04:03]
Guest76056 [Guest76056!~Jigsy@unaffiliated/jigsy] has joined ##java [04:11]
sdu [sdu!~doo@] has joined ##java [04:12]
gareppa [gareppa!~gareppa@unaffiliated/gareppa] has joined ##java [04:17]
Nicmavr [Nicmavr!~Nicmavr@unaffiliated/nicmavr] has joined ##java [04:18]
Diablo-D3 [Diablo-D3!] has joined ##java [04:19]
hypc [hypc!~Thunderbi@] has joined ##java [04:26]
bolovanos [bolovanos!] has joined ##java [04:31]
progart [progart!~kamee@] has joined ##java [04:37]
xeno [xeno!~xeno@unaffiliated/xeno] has joined ##java [04:41]
yuljk [yuljk!~yuljk@unaffiliated/yuljk] has joined ##java [04:41]
Maldivia oh, so experience is timeWorkedInJava * 4... damn, I have a lot of experience then [04:42]
progart [progart!~kamee@] has joined ##java [05:01]
magz [magz!] has joined ##java [05:02]
Gazooo [Gazooo!~Gazooo@] has joined ##java [05:07]
mevodad [mevodad!~jottinger@unaffiliated/dreamreal] has joined ##java [05:11]
progart [progart!~kamee@] has joined ##java [05:13]
viju [viju!~viju@] has joined ##java [05:16]
[twisti] Maldivia: not to defend dumbdumbdumb, but 1.5 years hobby + 0.5 years working in it, im guessing [05:28]
Me4502 [Me4502!~quassel@unaffiliated/me4502] has joined ##java [05:30]
esro [esro!] has joined ##java [05:31]
zulutango [zulutango!] has joined ##java [05:33]
GLinBoy [GLinBoy!~yaaic@] has joined ##java [05:38]
TomyWork [TomyWork!~TomyLobo@] has joined ##java [05:52]
noodlepie [noodlepie!~phillip@] has joined ##java [05:59]
Phizzy [Phizzy!~phillip@] has joined ##java [05:59]
TomyWork We have historically had an application with webstart-based deployment and we now have a problem switching to java 11. The application will be replaced by web application over the course of the next 2-3 years, but we're not there yet. [06:02]
TomyWork What complicates the issue is that one requirement is to be able to run multiple versions of the software on the same client machine. [06:02]
visualshock [visualshock!9b374237@gateway/web/cgi-irc/] has joined ##java [06:02]
ron [ron!~ron@unaffiliated/ron] has joined ##java [06:04]
learningc [learningc!~learningc@] has joined ##java [06:06]
mbooth TomyWork: Did you have a question, or...? [06:17]
progart [progart!~kamee@] has joined ##java [06:20]
visualshock Hi! I have configured my fedora server to use a static ip, and it seems to work when I look at ip addr show and do the port opening in the router. The strange thing is that when I see the list of connected devices in my routers GUI I see the old ip, and not the new static ip. [06:22]
mevodad visualshock: is there a java question there? [06:22]
Tichodroma techsupport [06:26]
Tichodroma visualshock, 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. [06:26]
conan [conan!] has joined ##java [06:28]
LordDrako [LordDrako!] has joined ##java [06:29]
ravenous_ [ravenous_!] has joined ##java [06:32]
Jigsy [Jigsy!~Jigsy@unaffiliated/jigsy] has joined ##java [06:36]
visualshock mevodad, my mistake, wrong channel [06:39]
mevodad no worries [06:40]
nokdoot [nokdoot!~nokdoot@] has joined ##java [06:44]
Lengsdorfer [Lengsdorfer!~Lengsdorf@unaffiliated/lengsdorfer] has joined ##java [06:52]
Anthaas [Anthaas!~Anthaas@unaffiliated/anthaas] has joined ##java [06:52]
Xatenev [Xatenev!~I@] has joined ##java [06:55]
AndyHD [AndyHD!] has joined ##java [06:58]
AndyHD how can I build openjdk from source? I always get the same error "[make/Main.gmk:253: hotspot-server-libs] Error 2" [07:01]
mevodad openjdk [07:01]
mevodad mevodad, openjdk is two things: It's the name of the GPL (open source) source code, maintained by oracle, from which builds are made (these are the things you download and use to program and/or run java code), found at - it's also the name of the GPLled build produced by oracle, free for use, but not supported for long. Download at - ~jdk builds for alternatives. [07:01]
mevodad why do you want to? [07:01]
mevodad hmm, there used to be a reference to the openjdk irc channel on oftc [07:01]
Maldivia AndyHD: which JDK version? the newer ones have slightly different approaches [07:02]
Maldivia AndyHD: assuming JDK11 or newer: [07:03]
AndyHD Maldivia: yes, the newest from github [07:03]
AndyHD yes, make images is crashing [07:03]
Maldivia AndyHD: probably not have the right versions of the tools needed etc -- verify with the docs [07:04]
CookieM [CookieM!] has joined ##java [07:19]
Cahaan [Cahaan!~Cahaan@] has joined ##java [07:19]
TomyWork mbooth, sorry, i got interrupted by a colleague while writing stuff :) [07:20]
TomyWork my question was whether any of you have suggestions on what to use as a webstart replacement [07:20]
Maldivia TomyWork: iced-tea [07:20]
Maldivia icedtea [07:20]
Maldivia Maldivia, icedtea is an attempt to provide a totally free (unencumbered by proprietary pieces) and compatible version of the OpenJDK. It also includes a web browser plugin. See, and [07:20]
TomyWork that works with java 11 now? [07:20]
TomyWork the javaws of that, that is [07:20]
TomyWork last info i have is that their webstart only works with 8 [07:21]
mevodad I thought webstart was deprecated now [07:22]
mevodad webstart [07:22]
mevodad JNLP is the "Java Network Launching Protocol", a web-based java app deployment mechanism that is better than applets because it's still supported by browsers, Oracle, and sane people. It allows apps to run with a normal entry point (i.e., "main()"). See for an overview. [07:22]
TomyWork mevodad, oracle's jdk no longer ships with it, yes [07:23]
mevodad java 11 web start support [07:23]
mevodad [07:23]
mevodad mevodad's title: "What to do when Java SE 11 removes JNLP |" [07:23]
mevodad sorry, wrong paste [07:23]
intellect [intellect!uid258908@gateway/web/] has joined ##java [07:23]
mevodad jlink might be your answer :/ [07:24]
Maldivia I think the adoptopenjdk installers ship with iced-tea web now [07:24]
Maldivia but yeah [07:24]
Maldivia [07:26]
Maldivia Maldivia's title: "IcedTea-Web | AdoptOpenJDK - Open source, prebuilt OpenJDK binaries" [07:26]
TomyWork as mentioned, we're moving away from this application entirely over the next 2-3 years, so i'm looking for an interim solution only. [07:26]
mevodad Sure [07:26]
mevodad ny thought is that jlink might be the interim solution [07:26]
mevodad s/ny/my/ [07:27]
led_dark_1 [led_dark_1!~Thunderbi@] has joined ##java [07:27]
TomyWork i'm not too familiar with it (I read the article you posted earlier, along with the linked jlink manpage. there are a lot of terms i haven't heard of and i'm not sure if i need to modify the application for that to work [07:28]
mevodad TomyWork: I don't think it's a massive migration, but the key words there are "I don't think..." because I don't know [07:29]
Maldivia TomyWork: basically, jlink creates a minimum JRE with the neccesary modules for your app [07:29]
TomyWork oh, it bundles the necessary parts of the jre too? [07:29]
mevodad yeah [07:29]
TomyWork that definitely makes it worth considering [07:29]
Maldivia but it probably requires a bit of fiddling to figure out what those modules are since I assume you don't have a module-info file :D [07:29]
TomyWork what's that? the thing jdeps creates? [07:30]
Maldivia jdeps is a good start yes [07:30]
Diablo-D3 [Diablo-D3!] has joined ##java [07:30]
mevodad I'm still waiting for good tool support for modules :/ everything I've seen looks like it can be made to work but lacks the low barrier I want to see [07:30]
Maldivia also remember you need to created a jlinked version for each OS you want to support [07:31]
TomyWork hmm, i'll probably need a windows build slave for this, right? [07:32]
mevodad to deploy on windows, yeah [07:32]
TomyWork at least that's how they do it in that link [07:32]
[twisti] i seem to recall being able to run jlink on linux [07:33]
TomyWork to produce windows applications? [07:33]
ron [ron!~ron@unaffiliated/ron] has joined ##java [07:34]
[twisti] nm, im thinking of launch4j, not jlink, my bad [07:34]
TomyWork oh and jlink *only* creates the stripped-down jre, it doesn't combine everything [07:35]
TomyWork too bad, i thought i'd get a .exe in the end or something [07:35]
mevodad I'm not sure you don't [07:37]
TomyWork at least the manpage makes no mention of it [07:37]
TomyWork [07:38]
mevodad from oracle docs: You can use the jlink tool to assemble and optimize a set of modules and their dependencies into a custom runtime image. [07:38]
mevodad ^^^ your modules would be part of that [07:38]
TomyWork jre modules [07:38]
mevodad the docs show "com.greetings" as an example module, which isn't a JRE module [07:38]
TomyWork true [07:38]
TomyWork but that doesn't imply there would be an exe in the end [07:39]
Maldivia TomyWork: there is a batch script file to launch the java.exe with the right command [07:39]
Maldivia (or .sh file on Linux etc) [07:39]
Diablo-D3 [Diablo-D3!] has joined ##java [07:40]
TomyWork too much risk of not selecting enough modules. I think I'd rather get use the full jre [07:41]
TomyWork -get [07:42]
Maldivia TomyWork: well, that why you try it out, and test it before shipping to customers! [07:43]
TomyWork i mean the risk is there whether the result is a single file or not [07:43]
TomyWork but without that, there is nothing to gain, really [07:43]
TomyWork just some file size benefits [07:43]
Maldivia yeah [07:43]
TomyWork they should have called it jshrink, not jlink :D [07:44]
Maldivia TomyWork: you can for instance download the JRE from Adopt, and bundle your app with that -- the JRE is about 40mb zipped [07:44]
Maldivia TomyWork: -- example JDK8 for Win-64 [07:45]
Maldivia Maldivia's title: "Latest release | AdoptOpenJDK - Open source, prebuilt OpenJDK binaries" [07:45]
TomyWork adopt bundles icedtea-web, you say? [07:45]
Maldivia I don't remember if they bundle it yet, or they just provide downloads for it [07:46]
TomyWork what's OpenJ9? [07:46]
TomyWork better question: is it better than hotspot? [07:47]
Maldivia openj9 [07:47]
Maldivia OpenJ9 is IBM's open source JVM implementation, now under the Eclipse umbrella. For more information see . For builds, check out [07:47]
mevodad hmm, well, the jlink command definitely makes running the app fairly easy [07:47]
mevodad it's not a single .exe file, but a JRE, and it IS stripped down [07:48]
mevodad still a 24MB modules file, too, with a simple hello world [07:51]
ron [ron!~ron@unaffiliated/ron] has joined ##java [07:51]
mevodad still might be the right solution, TomyWork [07:51]
Maldivia don't know how well jlink works on a non-JPMS project though [07:55]
mevodad yeah [07:57]
mevodad no idea here, still trying to figure out when to dive in to JPMS :/ [07:57]
Diablo-D3 [Diablo-D3!] has joined ##java [08:01]
adadelta Anyone here had this problem? Have a pojo using lombok to generate g/s. Added @NotBlank to one of the fields (javax.validation.constraints.NotBlank), now lombok does not seem to generate the g/s's anymore [08:04]
adadelta I want to use @Valid in the controller and make sure this field is not empty [08:05]
it_ [it_!c105d852@] has joined ##java [08:05]
it_ Hi. At work we're using gradle to build a project. Being new to it, is there some plugin I can add which will tell me how many % of the code is documented? e.g. how many methods, fields, classes etc. have some sort of comment in front of them [08:06]
xeno_ [xeno_!~xeno@unaffiliated/xeno] has joined ##java [08:07]
ron [ron!~ron@unaffiliated/ron] has joined ##java [08:08]
TomyWork i don't think we're gonna go for JPMS [08:11]
Diablo-D3 [Diablo-D3!] has joined ##java [08:11]
TomyWork we have existing solutions for the relevant problems it solves [08:11]
TomyWork jdk size is just not a relevant problem :) [08:11]
mevodad I was thinking of it mostly in terms of the artifact deliverable, not executable size [08:14]
mevodad but the deliverables don't seem as convenient as I'd thought [08:16]
Anticom [Anticom!] has joined ##java [08:19]
matsurago [matsurago!~matsurago@240b:10:b3a1:1700:227c:8fff:fe9b:7ad6] has joined ##java [08:24]
rruizt [rruizt!] has joined ##java [08:29]
dez [dez!uid92154@fedora/deSouza] has joined ##java [08:30]
viju [viju!~viju@] has joined ##java [08:31]
Jigsy [Jigsy!~Jigsy@unaffiliated/jigsy] has joined ##java [08:32]
DiabloD3 [DiabloD3!] has joined ##java [08:33]
viju [viju!~viju@] has joined ##java [08:35]
tom_mai78101 [tom_mai78101!90792eca@gateway/web/cgi-irc/] has joined ##java [08:37]
noodlepie [noodlepie!~phillip@] has joined ##java [08:38]
spuz [spuz!6dee4b8e@gateway/web/cgi-irc/] has joined ##java [08:39]
Diablo-D3 [Diablo-D3!] has joined ##java [08:42]
Anticom [Anticom!~Anticom@] has joined ##java [08:51]
Diablo-D3 [Diablo-D3!] has joined ##java [08:53]
Kundry_Wag [Kundry_Wag!~Kundry_Wa@] has joined ##java [08:54]
Nicmavr [Nicmavr!~Nicmavr@unaffiliated/nicmavr] has joined ##java [08:55]
idavidasilva [idavidasilva!~Davi@] has joined ##java [08:57]
therue [therue!] has joined ##java [09:01]
Rapture [Rapture!~textual@2601:1c2:5102:6d00:e9f5:bcd0:c0b7:ce70] has joined ##java [09:01]
Kundry_Wag [Kundry_Wag!~Kundry_Wa@] has joined ##java [09:02]
runlevel7 [runlevel7!~runlevel7@unaffiliated/runlevel7] has joined ##java [09:06]
HumanG33k [HumanG33k!~HumanG33k@] has joined ##java [09:16]
HumanG33k [HumanG33k!~HumanG33k@] has joined ##java [09:18]
ron [ron!~ron@unaffiliated/ron] has joined ##java [09:20]
azuline [azuline!~azuline@unaffiliated/azuline] has joined ##java [09:22]
mindCrime__ [mindCrime__!~mindCrime@] has joined ##java [09:25]
plarsen [plarsen!~plarsen@redhat/jboss/pdpc.professional.plarsen] has joined ##java [09:26]
viju [viju!~viju@] has joined ##java [09:30]
crashev [crashev!] has joined ##java [09:39]
viju_ [viju_!~viju@] has joined ##java [09:40]
Maldivia mevodad: I was actually trying to do a spring boot JPMS the other day... wasn't that successful; don't know if it actually supports it [09:42]
donofrio [donofrio!] has joined ##java [09:44]
treefrob [treefrob!] has joined ##java [09:45]
wedr anyone knows how to fix Maven 3.6.0 and JUnit 5 throwing error messages saying WARNING: Could not read unique ID for Description;? [09:52]
wedr I thought this issue was fixed in Maven 3.X [09:52]
mevodad Maldivia: I should probably try that, as I have three active boot projects at the moment [09:54]
Maldivia mevodad: well, you can do it at compile time, and then it repackages everything and removes the module-info :D [10:07]
Maldivia mevodad: right now trying to get it to work running as an actual modular app, that seems a bit harder [10:07]
Diablo-D3 [Diablo-D3!] has joined ##java [10:13]
Maldivia mevodad: well, you gave me inspiration to continue my quests, and I've gotten a bit further :D [10:17]
greggerz [greggerz!~greggerz@unaffiliated/greggerz] has joined ##java [10:18]
mevodad preens [10:19]
Maldivia well, petclinic starts up now... but that's about it :D [10:19]
Maldivia next problem: resources [10:21]
Buliarous [Buliarous!~gypsydang@unaffiliated/buliarous] has joined ##java [10:22]
Diablo-D3 [Diablo-D3!] has joined ##java [10:23]
ron [ron!~ron@unaffiliated/ron] has joined ##java [10:28]
t2mkn [t2mkn!~t2mkn@] has joined ##java [10:29]
taxon [taxon!] has joined ##java [10:30]
Korbenik [Korbenik!~Korbenik@] has joined ##java [10:31]
Diablo-D3 [Diablo-D3!] has joined ##java [10:34]
Devastator you guys gave me inspiration to get back to learning [10:34]
jamezp [jamezp!~jamezp@redhat/jboss/jamezp] has joined ##java [10:36]
cheeser w00t [10:38]
SuperTyp [SuperTyp!] has joined ##java [10:39]
polyrob [polyrob!~rob@unaffiliated/mickn] has joined ##java [10:41]
maxel [maxel!] has joined ##java [10:43]
karoshii [karoshii!] has joined ##java [10:46]
Sheilong [Sheilong!uid293653@gateway/web/] has joined ##java [10:54]
sunri5e [sunri5e!~sunri5e@unaffiliated/sunri5e] has joined ##java [10:56]
MarkyC [MarkyC!] has joined ##java [11:04]
bluezone [bluezone!uid104970@gateway/web/] has joined ##java [11:04]
RedSoxFan07 [RedSoxFan07!] has joined ##java [11:05]
Diablo-D3 [Diablo-D3!] has joined ##java [11:14]
gko [gko!~gko@2400:8902::f03c:91ff:fe70:e605] has joined ##java [11:14]
Diablo-D3 [Diablo-D3!] has joined ##java [11:24]
progart [progart!~kamee@] has joined ##java [11:24]
progart [progart!~kamee@] has joined ##java [11:26]
intellect [intellect!uid258908@gateway/web/] has joined ##java [11:30]
lilalinux [lilalinux!znc@] has joined ##java [11:31]
lilalinuxHamburg [lilalinuxHamburg!znc@] has joined ##java [11:33]
matsurago [matsurago!~matsurago@240b:10:b3a1:1700:227c:8fff:fe9b:7ad6] has joined ##java [11:33]
LSCody [LSCody!] has joined ##java [11:49]
esro [esro!] has joined ##java [11:50]
Korbenik [Korbenik!~Korbenik@] has joined ##java [11:52]
ravenous_ [ravenous_!] has joined ##java [11:57]
Eduard_Munteanu [Eduard_Munteanu!] has joined ##java [12:00]
templark [templark!~quassel@] has joined ##java [12:03]
Xiti [Xiti!~Xiti-@unaffiliated/xiti] has joined ##java [12:05]
lilalinux [lilalinux!znc@] has joined ##java [12:12]
lilalinuxHamburg [lilalinuxHamburg!znc@] has joined ##java [12:14]
funeral [funeral!~Funeral@2a01:79d:3e82:4b8c:a393:7879:435f:9c81] has joined ##java [12:24]
ravenou__ [ravenou__!] has joined ##java [12:33]
whaley [whaley!~whaley@] has joined ##java [12:39]
ravenous_ [ravenous_!] has joined ##java [12:40]
ertiportline [ertiportline!~ertiportl@unaffiliated/ertiportline] has joined ##java [12:41]
LunarJetman [LunarJetman!LunarJetma@] has joined ##java [12:46]
manualcrank [manualcrank!] has joined ##java [12:48]
gareppa [gareppa!~gareppa@unaffiliated/gareppa] has joined ##java [12:50]
DiabloD3 [DiabloD3!] has joined ##java [12:54]
User_ [User_!~learningc@] has joined ##java [01:00]
ertiportline [ertiportline!~ertiportl@unaffiliated/ertiportline] has joined ##java [01:02]
Diablo-D3 [Diablo-D3!] has joined ##java [01:05]
Brainium [Brainium!~brainium@unaffiliated/brainium] has joined ##java [01:06]
white_shadow [white_shadow!9d245836@unaffiliated/whiteshadow/x-9072] has joined ##java [01:12]
white_shadow Hello Ladiez! [01:12]
Diablo-D3 [Diablo-D3!] has joined ##java [01:15]
viju [viju!~viju@] has joined ##java [01:27]
Jigsy [Jigsy!~Jigsy@unaffiliated/jigsy] has joined ##java [01:31]
progart [progart!~kamee@] has joined ##java [01:49]
t2mkn [t2mkn!~t2mkn@] has joined ##java [01:49]
gelignite [gelignite!] has joined ##java [01:59]
plarsen [plarsen!~plarsen@redhat/jboss/pdpc.professional.plarsen] has joined ##java [02:11]
dez [dez!uid92154@fedora/deSouza] has joined ##java [02:21]
Sasazuka [Sasazuka!~Sasazuka@unaffiliated/sasazuka] has joined ##java [02:22]
keepLearning512 [keepLearning512!~keepLearn@] has joined ##java [02:23]
AcTiVaTe [AcTiVaTe!] has joined ##java [02:29]
SuperTyp [SuperTyp!] has joined ##java [02:31]
pnp [pnp!557327b4@unaffiliated/pnpuff] has joined ##java [02:31]
p[a]ddy [p[a]ddy!~paddyez@wikipedia/paddyez] has joined ##java [02:33]
gareppa [gareppa!~gareppa@unaffiliated/gareppa] has joined ##java [02:38]
Proximyst [Proximyst!~Proximyst@] has joined ##java [02:50]
acidjnk [acidjnk!] has joined ##java [03:04]
Markow [Markow!~ejm@] has joined ##java [03:15]
sdu [sdu!~doo@] has joined ##java [03:18]
Jigsy [Jigsy!~Jigsy@unaffiliated/jigsy] has joined ##java [03:19]
Jigsy [Jigsy!~Jigsy@unaffiliated/jigsy] has joined ##java [03:19]
acidjnk [acidjnk!] has joined ##java [03:27]
learningc [learningc!~learningc@] has joined ##java [03:45]
EgonX [EgonX!~Egon@2601:2c6:47f:98f4:9563:8cc5:1789:17dc] has joined ##java [03:47]
ron [ron!~ron@unaffiliated/ron] has joined ##java [03:55]
quadsar [quadsar!~quadsar@unaffiliated/quadsar] has joined ##java [03:59]
sosheskaz [sosheskaz!] has joined ##java [04:14]
whaley [whaley!] has joined ##java [04:16]
upd [upd!~upd@unaffiliated/upd] has joined ##java [04:19]
Albright [Albright!~Albright@2001:19f0:6001:1b15:628e:816e:1328:3c33] has joined ##java [04:30]
ron [ron!~ron@unaffiliated/ron] has joined ##java [04:32]
Albright So I'm taking an online class, and seeing that it usually instantiates ArrayLists like this: [04:33]
Albright List<Animal> animals = new ArrayList<Animal>(); [04:33]
Albright Why is the left side of that using `List<Animal>` instead of `ArrayList<Animal>` ? If this course ever explained that, I missed it. [04:33]
ernimril Albright, you typically want the interface on the left. It makes it possible to change the actual list implementation [04:34]
mevodad Albright: because the specific concrete type isn't important [04:34]
mevodad you only care that it acts like a List - the actual implementation is irrelevant to the declaration [04:34]
ernimril Albright, also, please use diamond now: List<Foo> ls = new ArrayList<>(); [04:34]
mevodad (this is completely compatible with what ernimril is saying, BTW) [04:34]
Albright ernimril: Just copy-pasted what was on the course, but I'll keep that in mind. [04:34]
ernimril Albright, what version of java are you using for the course? [04:35]
mevodad Albright: if the course isn't using the diamond operator soon, find a better course [04:35]
Alchemical [Alchemical!~al@unaffiliated/alchemical] has joined ##java [04:35]
mevodad later versions of java are changing this idiom, though: var animals = new ArrayList<Animal>(); [04:35]
Albright "Appendix A: How to Install JDK 8 (on Windows & Ubuntu)" So version 8 I suppose. [04:35]
mevodad Albright: note that version 8 is end-of-lifed, but still fairly popular [04:36]
ernimril Albright, "java -version" will tell you what you use. But ok, java 8 is old, but somewhat usable [04:36]
cheeser "somewhat" :) [04:36]
Albright Oh I installed the latest version available. 12.0.2 [04:36]
cheeser it's entirely usable [04:37]
ernimril Albright, if the course is for java 8 then you can use diamond [04:37]
mevodad and you have var available! [04:37]
mevodad var [04:39]
mevodad Since java 10, the Java compiler can infer that in "var foos = new ArrayList<Foo>();", "foos" is in fact a "List<Foo>". See [04:39]
mevodad Does it infer List<Foo> or ArrayList<Foo>? [04:39]
ernimril guess I ought to try using var for some things. For now I think it makes things harder to read [04:40]
cheeser mevodad: yes it does [04:40]
Albright Yeah, I think I prefer having the type explicitly spelled out too. [04:40]
mevodad cheeser: errrrrrrrrr [04:40]
ernimril mevodad, it will probably infer something like "List & Serializable" or similar... [04:40]
mevodad cheeser: which one? [04:40]
cheeser one of those two [04:41]
mevodad hrmph [04:41]
ernimril since it only works for method local variables it does not matter much [04:41]
surial Random company that has fuck all to do with IT I like shows up on /r/java with a JOOQ preloader.. as shared by lucas eder. Small world. [04:41]
mevodad IDEA says it infers ArrayList<E> [04:42]
mevodad we probably need to fix the factoid [04:42]
surial also, they put a throwaway line in this thing 'as we move more and more projects from mongo to postgres', but that's neither here nor there. anyway, if you're looking for a way to make JOOQ act a lot like JPA.. - not sure if this is quite the right general idea, but, hey. [04:43]
surial ernimril: no, var foos = new ArrayList<Foo>(); infers ArrayList<Foo>. it's not voodoo magic. [04:43]
mevodad yeah, I think the factoid's misleading [04:44]
surial ernimril: where it gets fucking nuts if you do something like var foo = someBool ? new ArrayList<Foo>() : new HashSet<Bar>(); and then it infers Serializable & Collection<? extends CommonSharedTypeOfFooAndBar> or whatnot. [04:44]
ernimril surial, yeah. I guess I will have to look at the rules a bit more later on when I work more on my compiler. :-) [04:44]
surial ernimril: here's an easy way to think about the readability argument: Nobody gives a shit (presumably) if you write foo.getBar().getBaz(), and yet, you have no idea what the type of 'getBar()' is and thus you have no clue what type getBaz() is being called on. [04:45]
surial If you agree and it doesn't matter, well, then.. why would var matter? [04:45]
ernimril I am pretty happy with how the lexer/parser works now after the rework so I ought to bring in the rest of the stuff from the old project [04:45]
surial Similarly, if you think: Well hold on there buddy ? maybe perhaps it'd be more readable if you write that as Floobargle bar = foo.getBar(); bar.getBaz(). Ookay, well, then.. don't use var for that. For example, had it been: "Bar bar = foo.getBar()", presumably the 'clarity' of being explicit about that type is just not worth the line of code. [04:46]
ernimril surial, as I said, I ought to really try to use "var" and see how it actually works for me. Right now I think it looks worse, but I have not tried it so not convinced either way [04:46]
surial I find that an enlightening way to think about whether 'var' is warranted. And *grabs own horn*, maybe use val and you get a free final, solving a few hairy issues with 'oof maybe this makes for unreadable code'. *toot*. [04:46]
Albright Oh, look at that, later in the same chapter [04:49]
Albright List<String> bunnies = new ArrayList<>(); [04:49]
Albright P [04:49]
mevodad Albright: yep, seems like they were letting you learn slowly, not a bad idea [04:50]
mevodad I really like having var and val available with type inference, but I really haven't gotten used to var being part of java yet [04:50]
rruizt [rruizt!] has joined ##java [05:05]
djhworld [djhworld!~djhworld@] has joined ##java [05:09]
Perge1984 [Perge1984!~Perge_84@] has joined ##java [05:25]
Maldivia no, var is <reply>Since java 10, the Java compiler can infer that in "var foos = new ArrayList<Foo>();", "foos" is in fact an "ArrayList<Foo>". See [05:29]
Maldivia OK, Maldivia. [05:29]
Frobozz [Frobozz!~Frobozz@unaffiliated/frobozz] has joined ##java [05:29]
Frobozz [Frobozz!~Frobozz@unaffiliated/frobozz] has joined ##java [05:30]
Perge1984 Good day, everyone. I'm trying to develop an app which I want it to get some data from other running applications on Windows (focused). Does Java have any class I can use?. I need to locate the window and draw over it. Thank you all. [05:32]
mevodad Robot? [05:33]
surial Perge1984: there's not a heck of lot for that available in java. There's java.awt.Robot which lets you press buttons elsewhere. Presumably swt has a whole bunch of stuff though, you may want to look into that. Java doesn't feel like the tool for this job. [05:34]
LunarJetman [LunarJetman!LunarJetma@] has joined ##java [05:34]
Perge1984 Can I ask what language would you recommend? [05:35]
surial probably C++/MFC; you know, what microsoft would write it in. [05:37]
LunarJetman anyone who recommends MFC is either a) living in the past of b) clueless. [05:37]
LunarJetman s/of/or/ [05:38]
ernimril Perge1984, you have given us way too little information to recommend anything [05:38]
Perge1984 Sorry [05:38]
Perge1984 I want to draw rectangles over a windows running app. I want the user to select areas over a focused window. [05:39]
ernimril Maldivia, I know we talked parsing a long time ago, if you want to look at what I have now then check this: clone the git repo and check it out. Pretty fast parsing now :-) [05:39]
LunarJetman Perge1984: for Windows GUI use Qt until neoGFX is available. [05:39]
Perge1984 Would C# do the job? [05:40]
LunarJetman I cannot answer that question as I am biased [05:40]
mevodad possibly, probably. .NET is likely to be your best bet... but I wouldn't know where to point you [05:40]
Maldivia ernimril: nice :D [05:42]
Maldivia ernimril: do you actually generate .class files also [05:42]
ernimril Maldivia, not yet on this. I have the old parjac code that does, but I have to bring in the syntax tree building and syntax testing + code generation [05:43]
ernimril Maldivia, not that hard but will take some time. The parser rewrite was a big job to get right. Well worth it though. Now parsing 11k source files in 5 seconds on my commputer [05:44]
Maldivia not bad, not bad at all [05:44]
ernimril Maldivia, previously that took about 60 seconds on my older computer, I would guess 30 on this one [05:44]
Perge1984 You gave me some ideas already. Thank you all. [05:44]
ernimril Maldivia, 11k source files, 1.4 million loc (according to wc) [05:45]
ernimril all in less than 3k lines + 915lines of grammar [05:46]
Maldivia ernimril: and how extendable is it? say I want to repurpose the const keyword, so that it would be parsed for T var = const(Supplier<T>); [05:49]
ernimril Maldivia, I would say it is pretty easy to work with. The base is generic lexer + parser that does not care about java. For java I have a specific lexer and the grammar. Chaning the grammar is easy. If you want new keywords you will also have to change the lexer, adding one extra keyword is trivial I would say [05:50]
Maldivia well, const is already a keyword :D [05:51]
ernimril sure so it is already in [05:51]
Maldivia but like goto, it's unused [05:52]
Maldivia ernimril: and how much trouble did the context-aware "keywords" give you? [05:52]
ernimril surprisingly little, after a long thinking session :-)( [05:53]
ernimril the lexer gets a set of wanted tokens and it uses that to guide it [05:53]
Maldivia ernimril: return switch (foo) { case 0: yield "Zero"; case 1: yield "One"; default: yield "Other"; } [05:54]
ernimril basically this means that the parser can say "we are in this context where these keywords are allowed" and that makes it easy to check the correct keyword list [05:54]
Maldivia ernimril: like that for instance :D [05:54]
Maldivia ernimril: you have support for language levels? [05:55]
ernimril not now, no. java 11 strict at the moment [05:55]
Maldivia I would like to have a compiler where source != target :D [05:55]
ernimril too many other things to take care of first :-) [05:55]
ernimril adding a few different grammar files is trivial though [05:56]
g00s [g00s!~g00s@unaffiliated/g00s] has joined ##java [06:01]