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

« 2020-06-29


2020-07-01 »

Nick Message Date
CombatVet [CombatVet!~c4@gateway/tor-sasl/combatvet] has joined ##java [12:00]
b0nn [b0nn!~shane@] has joined ##java [12:12]
b0nn I am looking at schedulers of user space threads, I know that java *used* to have Green threads, but dropped tham, but there is a proposal for user space threads to come back in the form of fibres (and futures?). I am wanting to know how to find how the scheduler on the JVM decides which user thread to run next [12:14]
cheeser loom [12:15]
cheeser coroutines are a nice way of building state machines in code. They can be used for various things such as generators and async/await. Kotlin includes language support for coroutines out-of-the-box. For java, there is , if you are into bytecode weaving. There's also an openjdk effort (project loom) for coroutine support in the runtime. [12:15]
b0nn thanks, can someone tell them they have a broken link ( [12:16]
freeone3000 looks broken as of jdk11 in any case... [12:17]
freeone3000 Kotlin's support for coroutines is... I would best describe it as asynchronicity without concurrency. You still only have one thread of execution, it just jumps around sometimes. [12:18]
cheeser that link seems to work [12:18]
cheeser freeone3000: well, you have a pool of threads [12:18]
freeone3000 right, but the programming model is more completion-port-based than what I'd think of as actual concurrency. it's nice, don't get me wrong, but.. the actual implementation tends to color all of your functions. [12:19]
freeone3000 Also: That link gives me a 404 Bad Bucket, straight up. [12:20]
cheeser indeed. but less so than reactive APIs which seems to double down on the shitshow that is Optional and crank it up to 11. [12:20]
cheeser freeone3000: the paralleluniverse link? [12:20]
freeone3000 cheeser, Yes. [12:20]
cheeser i just used it [12:20]
b0nn I get a 404 [12:21]
dfee [dfee!] has joined ##java [12:21]
b0nn Message: The specified bucket does not exist [12:21]
cheeser works for me [12:21]
cheeser oh, the blog post on that page? [12:22]
cheeser \_(?)_/ [12:22]
b0nn With Go.. the coroutines are put onto queues (one for each logical processor) [12:24]
b0nn A processor with no work can steal coroutines from other runqueues, but I cannot find a way to up the priority for a given coroutine) [12:25]
b0nn (This may be by design) [12:25]
b0nn I know that semaphores in Java can be 'barged' but they cannot in Go [12:25]
cheeser in ... go? [12:25]
cheeser how things work or don't in go aren't really on topic here. [12:26]
RcHaCk hey [12:26]
b0nn Sorry, I know Go better than Java, and am looking how Java does what I am looking at in Go [12:26]
RcHaCk sorry iam new to java i have sockets code but not sure where iam suppost to run it it give me errors everywhere i try to run it ... i even made a new class and new method ,etc... [12:27]
RcHaCk basically i want to click a button and send a piece of data [12:28]
RcHaCk via sockets [12:28]
nikkal [nikkal!] has joined ##java [12:29]
oxum [oxum!~oxum@] has joined ##java [12:29]
freeone3000 b0nn, What is *currently* implemented in the JDK, as of JDK14 GA, is a one-to-one OS thread mapping. Loom is available as a beta on an EA version of JDK16. [12:32]
b0nn freeone3000: Yeah, I think I need to find the expected behaviour of the scheduler in loom [12:33]
freeone3000 RcHaCk, What's your code? What's your error? [12:33]
RcHaCk [12:34]
RcHaCk here is my code [12:34]
freeone3000 b0nn, might be useful. [12:35]
RcHaCk i keep getting a error: cannot find symbol [12:35]
freeone3000 RcHaCk, Android has a separate programming model and different recommendations. You want #android-dev . [12:36]
RcHaCk ? isnt it java [12:36]
freeone3000 RcHaCk, No. [12:36]
RcHaCk then what is it ? [12:37]
cheeser android [12:37]
cheeser 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. [12:37]
RcHaCk because android studio only lets me use java or koltin [12:37]
tasse [tasse!] has joined ##java [12:37]
RcHaCk no wonder why its driving me nut [12:37]
b0nn freeone3000: that was a very good read, thanks [12:39]
oxum [oxum!~oxum@] has joined ##java [12:40]
b0nn that [12:40]
devish [devish!345f4b07@unaffiliated/devish] has joined ##java [12:40]
b0nn that's actually answered some of the questions I had on Go's ideas [12:41]
b0nn thanks again [12:41]
devish how important it is to close [12:42]
freeone3000 devish, What sort of question is that? Try-with-resources and you're done. [12:42]
devish Actually, I understand why to close a stream and so on [12:43]
devish but what resources would response have that should be closed [12:44]
freeone3000 javadoc Response.close() [12:45]
freeone3000 freeone3000: [JakartaEE8:] [12:45]
SerialSmile [SerialSmile!~SerialSmi@] has joined ##java [12:46]
maryo_t [maryo_t!~Maryo@unaffiliated/maryo] has joined ##java [12:49]
devish Input stream :) [12:50]
devish freeone3000: Response does not implement Closeable [12:55]
freeone3000 You'll have to do try/finally then. [12:56]
devish yep [12:56]
Nightwing53 [Nightwing53!~Thunderbi@] has joined ##java [01:02]
led_dark_1 [led_dark_1!~Thunderbi@] has joined ##java [01:13]
SJr I need to compile a set of resources in a JAR that is essentially a bunch of text files with a huge amount of duplication. Essentially each folder is a checked out git repo on a specific tag, and I'm creating one folder for each tag. Git is storing the delta between versions and there is only a handful of versions. I'm trying to find a simple way of storing this data that is programmatically easy to generate and process, without relying on external tools [01:15]
SJr (i.e., I can't call patch or diff). I'm still generating the data, but my guess is that it will be about 1 GB raw, zip at highest compression is about 125 MB. 7z would be about 10 MB. [01:15]
freeone3000 uh, so it's gonna be 125MB as you ship it, then? [01:23]
SJr Hrm, that seems suboptimal :( [01:23]
cheeser sounds like a database to me [01:24]
SJr hrm? [01:24]
Jantz [Jantz!] has joined ##java [01:25]
Gazooo [Gazooo!] has joined ##java [01:39]
bocaneri [bocaneri!sauvin@about/linux/staff/sauvin] has joined ##java [01:48]
hypc [hypc!~Thunderbi@] has joined ##java [01:48]
dfee [dfee!] has joined ##java [01:57]
macgirl [macgirl!~macgirl@] has joined ##java [02:07]
macgirl parted the channel: [02:10]
eckman parted the channel: [02:16]
macgirl [macgirl!~macgirl@] has joined ##java [02:20]
macgirl parted the channel: [02:20]
palasso [palasso!~palasso@unaffiliated/palasso] has joined ##java [02:37]
exonity01 [exonity01!uid364582@gateway/web/] has joined ##java [02:46]
CombatVet [CombatVet!~c4@gateway/tor-sasl/combatvet] has joined ##java [02:49]
Jonopoly [Jonopoly!~Jonopoly@unaffiliated/jonopoly] has joined ##java [03:22]
edd_lc [edd_lc!] has joined ##java [03:32]
sbeex [sbeex!] has joined ##java [03:33]
sbeex morning, I try to enforce a bit some design with java code in a project. It has some classes which implements RequestEvent and some Responses which implements ResponseEvent. Now I try to enforce that if you implement a RequestEvent it has to declare the ResponseEvent associated to it. Any idea ? [03:35]
sbeex (something compile time would be great) I dont know if an interface RequestEvent<T extends ResponseEvent> or something like that you see what I mean ? [03:35]
sbeex I'm sure it's doable but can't find how :/ (thank you in advance) [03:36]
Jonopoly [Jonopoly!~Jonopoly@unaffiliated/jonopoly] has joined ##java [03:40]
nfd [nfd!] has joined ##java [03:44]
baiguai [baiguai!] has joined ##java [03:57]
Cahaan [Cahaan!] has joined ##java [03:58]
IoannisJVM [IoannisJVM!] has joined ##java [03:58]
Zee- [Zee-!~Zee-@] has joined ##java [04:01]
Ingvix [Ingvix!~Ingvix@] has joined ##java [04:06]
KidBeta [KidBeta!~Kidbeta@hpavc/kidbeta] has joined ##java [04:09]
oxum [oxum!~oxum@] has joined ##java [04:20]
Ingvix [Ingvix!~Ingvix@] has joined ##java [04:20]
asymptotically [asymptotically!~asymptoti@gateway/tor-sasl/asymptotically] has joined ##java [04:20]
sizeof_void34 [sizeof_void34!] has joined ##java [04:34]
[twisti] sbeex: there is a java library that supports constraints like that, but i dont remember the name [04:35]
[twisti] but maybe you have more luck than me on google [04:35]
fizzie We use Error Prone for checks like that, though it's more general-purpose and can be a bit peculiar. [04:39]
fizzie Well, maybe not checks *exactly* like that, but similar. [04:40]
fizzie (After rereading that, it sounds a little like maybe you'd want to programmatically make use of the relationship between RequestEvent and its corresponding ResponseEvent, not just enforce a design rule, which might be a little different from an Error Prone check.) [04:43]
bolovanos [bolovanos!] has joined ##java [05:00]
hypc [hypc!~Thunderbi@] has joined ##java [05:02]
Gazooo [Gazooo!] has joined ##java [05:16]
IoannisJVM [IoannisJVM!] has joined ##java [05:18]
erwyn [erwyn!] has joined ##java [05:27]
taylan [taylan!] has joined ##java [05:39]
taylan is there a problem with this code? sometimes the data is cut in half when the client reads it; dunno if the problem is with the server or the client. [05:41]
taylan "gson" is an instance of Gson, in case it's not obvious [05:41]
mbooth taylan: I feel like the important part is the implementation of handleRequest() which we cannot see :-) [05:42]
taylan mbooth: well, the client doesn't get a full JSON object. so even if handleRequest() returned a faulty object, it wouldn't explain this issue I believe. Gson wouldn't just stop serializing the JSON object... unless... maybe it throws an exception, lemme check ^^ [05:44]
taylan why didn't I think of that [05:44]
taylan or rather, why didn't I just check the logs of my server *facepalm* the combination of writer.close() and socket.shutdownOutput() seems to cause a double-close. [05:46]
mbooth rubber ducking [05:46]
mbooth "Rubber ducking" is a colloquial process of thoroughly explaining your problem to someone else - who may or may not be a rubber duck - which often has the benefit of helping you work out a solution as you explain. See for more. [05:46]
taylan yes, typical :D [05:46]
taylan ok, fixing that didn't fix the actual issue [05:49]
dreamreal morning [05:51]
zeeba [zeeba!~zeeba@] has joined ##java [05:52]
taylan ok nevermind, I tested with netcat and the server always sends the full response. problem must be with client. [05:56]
Lengsdorfer [Lengsdorfer!~Lengsdorf@unaffiliated/lengsdorfer] has joined ##java [06:01]
xeno_ [xeno_!~xeno@unaffiliated/xeno] has joined ##java [06:04]
llorllale [llorllale!~llorllale@2607:9880:1078:ce:f18f:459e:be0b:f24f] has joined ##java [06:13]
albethere` [albethere`!] has joined ##java [06:18]
llorllale [llorllale!] has joined ##java [06:27]
conan [conan!] has joined ##java [06:39]
tomboy65 [tomboy65!~tomboy64@gateway/tor-sasl/tomboy64] has joined ##java [06:43]
upgrdman [upgrdman!~upgrdman@blender/artist/upgrdman] has joined ##java [06:46]
sbeex twitsti thank you yes I could find a library that will check it but... I would like more the way that fizzie explain later: have a getter method that will give me the class of the response for exemple so something that I have to implement that will garantee that we dont forget [06:47]
sbeex but we cant pass generic to interfaces or we can ? [06:47]
sbeex hmm of course we can... but not the way I would like I believe [06:47]
tomboy65 [tomboy65!~tomboy64@gateway/tor-sasl/tomboy64] has joined ##java [06:51]
xeno_ [xeno_!~xeno@unaffiliated/xeno] has joined ##java [06:54]
dodobrain [dodobrain!~dodobrain@unaffiliated/freakabcd] has joined ##java [06:55]
llorllale [llorllale!] has joined ##java [06:56]
maryo_s [maryo_s!~Maryo@unaffiliated/maryo] has joined ##java [07:02]
CookieM [CookieM!] has joined ##java [07:05]
chris64 [chris64!~chris@unaffiliated/chris64] has joined ##java [07:06]
code_zombie [code_zombie!~code_zomb@2605:a601:af8c:5000:5dbb:f5a2:bbd6:849] has joined ##java [07:06]
TimeTrap [TimeTrap!~TimeTrap@2601:44:c280:def:1c54:d6f3:26ca:ddf1] has joined ##java [07:11]
enoq [enoq!~enoq@2a02:8388:6a87:b080:649f:9456:c1b1:28e4] has joined ##java [07:19]
enoq hi, how do you handle your ci builds with regards to containers? run the test suite during container build and pass in an env variable that skip the tests? [07:21]
enoq because I don't think it's really possible when you depend on external stuff like databases [07:21]
enoq thinking about using different entrypoints but then I'd have to keep the non production source code around since the production build strips tests and junit jars [07:23]
[twisti] enoq: you can use containers at various points so your question is a bit ambiguous [07:23]
deebo testcontainers [07:23]
deebo deebo, what does that even *mean*? [07:23]
enoq basically we run our ci suites in a container and deploy our production container inside a container [07:23]
[twisti] generally, one builds in one container or on the host or whereever and then copies the produced artefact to another container [07:23]
deebo we use these for databases, elasticsearch etc, and just write normal junit tests that run in gradle test step [07:23]
[twisti] you dont ship the container you build in [07:24]
enoq deebo: right, that's different from my use case [07:24]
deebo yeah we don't run tests in the container, we test, and then build teh container and publish the image [07:24]
deebo admittedly we've wanted to "test" the container itself too [07:25]
enoq our issue is jenkins which would need different jdk versions etc [07:25]
enoq so we also need to run the test suite inside a container [07:25]
enoq I don't want to create 2 dockerfiles since that would make it easier to introduce errors [07:25]
deebo we use jenkins dsl and just do `env.JAVA_HOME=$(tool 'openjdk11')`, default is openjdk8 [07:25]
[twisti] so what is your actual question now, enoq ? [07:25]
dashdanw [dashdanw!dashdanw@gateway/shell/insomnia247/x-olkzvxljtzavptvl] has joined ##java [07:25]
algun [algun!~algun@unaffiliated/algun] has joined ##java [07:26]
dashdanw hey all [07:26]
enoq [twisti]: how do you organize your test suite and production build when both have to be run in a container [07:26]
dashdanw i was wondering if anyone knew the best way to serialize a directory and its contents into a byte array? [07:27]
[twisti] enoq: use one container to build and test, then build a new container and just copy in the resulting artefact [07:27]
dreamreal uhhh... why wouldn't you use a zip file or something [07:27]
[twisti] dashdanw: zip ... damn dreamreal [07:27]
[twisti] also tar [07:27]
dashdanw can i serialize the DirectoryStream object from java.nio? or would that baiscally just be a representation of the class itself? [07:28]
enoq [twisti]: so that would be a separate build script obviously that copies artefacts from inside containers and not a multi stage docker build [07:28]
dreamreal dashdanw: what are you trying to accomplish [07:28]
dashdanw its annoying because it doesn't seem that I can use a stream buffer with the lib i'm using [07:29]
[twisti] enoq: you can make it a multi stage docker build if you want to [07:30]
[twisti] enoq: it doesnt seem like building/testing and prod have a lot to do with each other, so personally, i would separate the steps [07:30]
enoq so without containers you would generate the jars/wars as well after your test suite finished and push those to your server if needed [07:31]
[twisti] right [07:33]
enoq I see, thank you! [07:34]
TimeTrap [TimeTrap!~TimeTrap@2601:44:c280:def:1c54:d6f3:26ca:ddf1] has joined ##java [07:36]
vveer [vveer!~veer@unaffiliated/bhlh] has joined ##java [07:48]
galex-713 [galex-713!] has joined ##java [07:55]
OliverMT parted the channel: [07:59]
Peste_Bubonica [Peste_Bubonica!~Peste_Bub@unaffiliated/peste-bubonica/x-4612396] has joined ##java [08:06]
devish [devish!345f4b17@unaffiliated/devish] has joined ##java [08:10]
devish what will be the predicate for a blank response. I need to put one in Guava's retryIfResult(Predicate) [08:13]
IoannisJVM parted the channel: [08:13]
vveer [vveer!~veer@unaffiliated/bhlh] has joined ##java [08:20]
[twisti] devish: define "blank response" [08:22]
[twisti] thats not a java term (im familiar with) [08:22]
[twisti] null ? [08:22]
devish It's empty string [08:22]
devish Predicate<String> empty = String::isEmpty; [08:23]
devish how about this one [08:23]
sbeex [sbeex!] has joined ##java [08:23]
[twisti] sure, sounds good [08:24]
[twisti] you may also want to conside some of the StrungUtil things like isBlankOrEmpty for " " variations [08:25]
devish Predicate<String> empty = StringUtils::isBlank; [08:25]
devish this is much better, thanks [08:25]
devish isBlank cover for null and empty and " " [08:26]
conan [conan!] has joined ##java [08:33]
sbeex [sbeex!~sbeex@] has joined ##java [08:36]
matsurago [matsurago!~matsurago@240b:10:b3a1:1700:227c:8fff:fe9b:7ad6] has joined ##java [08:49]
vveer [vveer!~veer@unaffiliated/bhlh] has joined ##java [08:51]
forgottenone [forgottenone!~forgotten@] has joined ##java [08:55]
conan [conan!] has joined ##java [09:01]
vveer [vveer!~veer@unaffiliated/bhlh] has joined ##java [09:02]
Cmaj6 [Cmaj6!] has joined ##java [09:04]
banisterfiend [banisterfiend!~textual@ruby/staff/banisterfiend] has joined ##java [09:04]
wedr [wedr!] has joined ##java [09:06]
junktext [junktext!junktext@fsf/member/junktext] has joined ##java [09:22]
plutes [plutes!~plutes@unaffiliated/plutes] has joined ##java [09:24]
freeone3000 [freeone3000!~freeone30@Syncleus/dev/freeone3000] has joined ##java [09:25]
amgs [amgs!amgs@gateway/vpn/privateinternetaccess/amgs] has joined ##java [09:28]
dreamreal RIP carl reiner :( [09:29]
orbyt_ [orbyt_!~orbyt@] has joined ##java [09:34]
acidjnk_new [acidjnk_new!] has joined ##java [09:36]
LKoen [LKoen!~LKoen@] has joined ##java [09:37]
vveer [vveer!~veer@unaffiliated/bhlh] has joined ##java [09:45]
amgs__ [amgs__!] has joined ##java [09:45]
yottabyte [yottabyte!uid195082@gateway/web/] has joined ##java [09:46]
yottabyte hi all, I asked a similar question before but I just want to clarify. with jdbi, if I have jdbi.withHandle(handle -> ... ); and I have two sql statements executed in there, are they their own transactions or do they share one because they're in the same scope/lambda function? [09:48]
donofrio [donofrio!] has joined ##java [09:51]
donofrio [donofrio!] has joined ##java [09:52]
dreamreal I'd hope they were in the same TX [09:52]
dreamreal but it'd be easy to test [09:52]
dreamreal have the second one fail [09:52]
vveer [vveer!~veer@unaffiliated/bhlh] has joined ##java [09:54]
knited [knited!~knited@unaffiliated/knited] has joined ##java [09:56]
yawkat just use inTransaction [10:04]
yawkat then it's in a transaction [10:04]
yawkat withHandle behavior depends on your autocommit config [10:04]
dreamreal yawkat: no fair, you sound like you're familiar with JDBI [10:04]
yottabyte so I'm just using whatever the defaults are. how do I get the second one to fail? [10:10]
eckman [eckman!~eckman@] has joined ##java [10:17]
viraltaco_ [viraltaco_!~taco@unaffiliated/d-b/x-8688605] has joined ##java [10:30]
baiguai [baiguai!] has joined ##java [10:31]
conan [conan!] has joined ##java [10:31]
vveer [vveer!~veer@unaffiliated/bhlh] has joined ##java [10:32]
paws_ [paws_!uid89121@gateway/web/] has joined ##java [10:33]
wymillerlinux [wymillerlinux!] has joined ##java [10:51]
MrHall [MrHall!b52c7446@] has joined ##java [10:58]
MrHall Hi question about dates, what do you use java.util.Date or joda-time? [10:59]
freeone3000 java.time [11:01]
dreamreal don't use java.util.Date [11:02]
MrHall Does it support timezone easily? [11:03]
ChaiTRex [ChaiTRex!~ChaiTRex@gateway/tor-sasl/chaitrex] has joined ##java [11:03]
dreamreal java.time does [11:03]
mbooth MrHall: joda-time is the ancestor of the "java.time" package in the JDK [11:03]
mbooth So use java.time ;-) [11:03]
MrHall Thank you so much! [11:04]
vveer [vveer!~veer@unaffiliated/bhlh] has joined ##java [11:04]
SwiftMatt [SwiftMatt!~Objective@2601:282:4300:3e:514e:5450:9ecd:d21a] has joined ##java [11:07]
dob1 [dob1!~dob1@unaffiliated/dob1] has joined ##java [11:14]
MrHall Other question, im using io.jsonwebtoken for jwt but it does not support java.time, i cant transform dates but do you know if its a good librery now? [11:14]
llorllale [llorllale!~llorllale@2607:9880:1078:ce:bc56:5a89:88da:43a4] has joined ##java [11:17]
forester [forester!~forester@] has joined ##java [11:19]
nagoya [nagoya!] has joined ##java [11:19]
hussam [hussam!uid193284@gateway/web/] has joined ##java [11:19]
nagoya Dear All, I am a beginner in java and I need an IDE to develop application. First I would like to make desktop application, then transfer it to Android. Is that such IDE that support both platform? [11:19]
cheeser newbie ide [11:20]
cheeser Newbies shouldn't start with IDEs. It's important to learn the environment and fundamentals of a language before offloading those to an IDE. Learn about packages and imports and classpaths. Learn how to compile and use the JDK tools. Get some basic grasp of the API layout. Learn how to do things then switch to an IDE to do them faster. See [11:20]
cheeser ide [11:20]
cheeser cheeser, ide is short for Integrated Development Environment. You don't *need* one to write java code but it's strongly recommended. The big two (and you should pick one of these two; try them out and decide for yourself which one you like more) are: Eclipse ( and IntelliJ IDEA (; they have their own freenode channels at #idea-users and #eclipse [11:20]
rajrajraj [rajrajraj!uid72176@gateway/web/] has joined ##java [11:20]
dreamreal nagoya: learn the basics of java, then you're probably looking at Android Studio as a path forward [11:22]
forester Hullo. I read a textbook "ThinkJava2". There is an exercise 7.7. And I don't understand what shoud a method letterHist () RETURN ..... Write a method called letterHist that takes a string as a parameter and returns a histogram of the letters in the string. The zeroth element of the histogram should contain the number of a?s in the string (upper and lowercase); the 25th element should contain the number of z?s. [11:24]
nagoya dreamreal: I am not so beginer in java, but not writing code everyday. I need the IDE for a project development, first test it in desktop environment then integrate it to an application. From the information provided by the bot it seems IntelliJ could be a good choice. [11:24]
conan [conan!] has joined ##java [11:25]
forester nagoya: I am a newbie. But I think, that all nowdays IDE has what you do need. And that (for myself) the better is to choose IDE that you like. [11:26]
dreamreal nagoya: android studio is IntelliJ [11:26]
dreamreal okay, so either a map or an array [11:27]
dreamreal forester: ^^^ [11:27]
mbooth nagoya: Both Eclipse and IntelliJ have android plugins. IIRC IntelliJ Android Studio is one the "blessed" by Google. Consider asking around in the android channel [11:27]
cheeser an array would be ideal [11:27]
forester dreamreal: This chapter is about arrays. So the answer is an array. [11:27]
devish paste [11:27]
devish Please paste your code and any errors online. For runnable classes, try . For general code and errors, use or [11:27]
nagoya dreamreal: wowww. I did not know. [11:28]
dreamreal forester: then why ask? [11:28]
dreamreal forester: I mean... okay, if a is the zero'th element: int[26] [11:29]
forester dreamreal: You said It could be a map, so why should not I think so! [11:30]
dreamreal forester: because you had information I didn't; you added "the chapter's about arrays" afterward, or I didn't see it until afterward [11:31]
forester dreamreal: It is said about histogram as return value. But the parameter is a string. So why should I think about an array, but a string? [11:32]
devish can anyone tell what's wrong with this guava retry . It is not retrying. [11:32]
forester Therefore a String is an array of char indeed. [11:32]
dreamreal forester: ... what? [11:34]
karab44 [karab44!~karab44@unaffiliated/karab44] has joined ##java [11:34]
cheeser it is incorrect to think of a String as an array of characters. yes, it's backed by an array but it's far more complicated and nuanced than that. [11:36]
fahadash [fahadash!uid44972@gateway/web/] has joined ##java [11:36]
forester dreamreal: And how to print a result of that method? Then with Arrays.toString(letterHist("Hullo World"); it would be like [ 0, 2 , 0,0,.... 1, 0, ... 1]. My English is not good enough to explain it for you. [11:36]
forester In C language String is an array of chars char [] str; [11:37]
dreamreal forester: an input doesn't have to map directly to an output. int[] letterHist(String source) [11:37]
Sheilong [Sheilong!uid293653@gateway/web/] has joined ##java [11:38]
mbooth forester: Java is not C ;-) [11:42]
dreamreal in fact, that method would be trivial to write: int[] letterHist(String source) { int[] histogram=new int[26]; for(char c:source.toLowercase().toCharArray()) { if(Character.isLetter(c)) { histogram[c-65]++; } } return histogram; } [11:43]
Diablo-D3 that... [11:43]
Diablo-D3 dreamreal: for some reason that seems like a bad idea [11:43]
dreamreal Diablo-D3: what does? [11:44]
Diablo-D3 writing java outloud in ##java [11:44]
Diablo-D3 runs [11:44]
mbooth Diablo-D3: I dunno, IOOBE will be a "teachable moment" ;-) [11:44]
dreamreal Diablo-D3: eh. It's a one-liner. It's not perfect at all, but... [11:44]
dreamreal mbooth: hrm. Let's see, it normalizes to lowercase, it makes sure it's a letter, assumes ascii... [11:45]
dreamreal snrks [11:45]
mbooth dreamreal: Pfft, well I guess I'll read what you write next time :-p [11:46]
dreamreal forester: printing it: Arrays.toString(histogram) :) [11:46]
cheeser histogram[c-'a'] :) [11:47]
dreamreal cheeser: yeah, yeah, yeah [11:47]
dreamreal I'm averse to that kind of conversion these days, been living in node.js and mein Gott [11:47]
cheeser we can all be code golf wizards [11:47]
cheeser you're already doing "that kind of conversion with c [11:48]
bn_work [bn_work!uid268505@gateway/web/] has joined ##java [11:48]
Diablo-D3 dreamreal: oh shit, you picked up node? my condolances [11:48]
howdoi [howdoi!uid224@gateway/web/] has joined ##java [11:48]
cheeser let's just not [11:49]
dreamreal cheeser: I was talking about the implicit 'a' == 65 [11:49]
dreamreal I'd probably RATHER use 'a' than 65, for a few different reasons [11:49]
cheeser rather than the implicit 'c is a number?' [11:49]
Diablo-D3 it ignores numerics [11:49]
dreamreal cheeser: shush! [11:49]
cheeser P [11:49]
Diablo-D3 0-9A-za-z is written for a reson [11:49]
cheeser Diablo-D3: wtf are you nattering on about? [11:50]
Diablo-D3 oh christ dont tell me my laptop keyboard is dying [11:50]
cheeser omg [11:50]
cheeser dreamreal: 65 is a magic number [11:50]
Diablo-D3 I didnt read the whole problem, what is the histogram for? [11:50]
devish Okay, In Guava retrying Exponential strategy with multiplier doesn't work :) [11:51]
devish,%20long,%20java.util.concurrent.TimeUnit) [11:51]
devish devish's title: "WaitStrategies (guava-retrying 2.0.0 API)" [11:51]
dreamreal cheeser: no doubt [11:51]
dreamreal Diablo-D3: forester is trying to figure out an exercise in thinking in java, I think [11:57]
Diablo-D3 ahh [11:59]
cheeser 5 minute rule [12:00]
cheeser The 5 minute rule states that you can not contribute to a conversation until you have listened to it for 5 minutes to gain context and understanding of where the conversation stands. [12:00]
dreamreal in Diablo-D3's case should be a five second rule, like for food that's on the floor. [12:00]
dreamreal Diablo-D3: BTW, the rule for food that touches the floor is five MINUTES for you [12:01]
forester Thank you. [12:01]
dfee [dfee!] has joined ##java [12:02]
Diablo-D3 dreamreal: Im going to be honest, I dont know where the 5 second rule came from [12:03]
Diablo-D3 in my house, thats disgusting [12:03]
dreamreal hungry people [12:03]
cheeser interesting [12:04]
cheeser this is all very interesting (not really) but please take it somewhere else. [12:04]
Diablo-D3 I grew up poor, that was still something that you didnt do here. [12:04]
devish 5 minute rule would be issue for people like Elon Musk, who divide their time of task by 5 min [12:07]
Diablo-D3 dude, elon musk isnt even human [12:07]
edd_lc [edd_lc!] has joined ##java [12:07]
cheeser dude. elsewhere. [12:07]
Diablo-D3 I bet Im going to find out hes actually a collective of clones that share a hivemind [12:07]
kicked Diablo-D3 (Diablo-D3) [12:08]
Diablo-D3 [Diablo-D3!] has joined ##java [12:08]
Diablo-D3 cheeser: its not like anyone goes to #java-talk [12:08]
dreamreal doesn't matter [12:08]
dreamreal it's not java, can it [12:08]
cheeser i don't give a shit, Diablo-D3 [12:08]
conan [conan!] has joined ##java [12:11]
edd_lc [edd_lc!] has joined ##java [12:13]
Ingvix [Ingvix!~Ingvix@] has joined ##java [12:21]
Cahaan_ [Cahaan_!] has joined ##java [12:23]
waz I'm in #java-talk! [12:29]
dreamreal points at the moron [12:29]
waz looks at ron too [12:30]
Diablo-D3 poor ron [12:30]
CookieM [12:31]
zalt [zalt!~devp@unaffiliated/lambda443] has joined ##java [12:35]
jesmon [jesmon!~user@] has joined ##java [12:37]
sbalmos [sbalmos!] has joined ##java [12:38]
V-Vega [V-Vega!] has joined ##java [12:38]
LiftLeft [LiftLeft!~LiftLeft@2001:19f0:5c01:755:5400:2ff:fe62:b1d9] has joined ##java [12:48]
jontxu Hi, what would you say is the best approach to testing Servlet classes? I've tried with embedded Tomcat but had issues with JNDI [01:05]
wildlander [wildlander!~wildlande@unaffiliated/wildlander] has joined ##java [01:05]
dreamreal what issues did you have with JNDI, first approximation would be to fix how you're using JNDI if that was the problem [01:05]
jontxu The global JNDI (i.e., Tomcat's server.xml) works, but when I try to define it programatically using ContextResource and adding the webapp, it fails [01:11]
dreamreal I've heard tomcat kinda sucks for that sort of thing. Looked at arquillian? [01:12]
jontxu Nope. Other option was Jetty. Will look into it, thanks [01:12]
jesmon jontxu: do you have to use JNDI? [01:17]
sl33k [sl33k!] has joined ##java [01:17]
llorllale [llorllale!] has joined ##java [01:19]
gelignite [gelignite!] has joined ##java [01:24]
Devastator giving the hard time Jackson gave me to serialize/deserialize the jsons I was dealing with, I thought about writing an article on how json is represented in Java etc etc, but I don't know.. Jackson already offers several detailed tutorials [01:27]
tang^ [tang^!~tang^] has joined ##java [01:27]
dreamreal it really does [01:27]
jontxu jesmon, I'm working with different machines so it's preferable. I'm open to suggestions and recommendations, though. [01:27]
dreamreal but don't let that stop you: you never know if your unique perspective will help someone else [01:28]
jesmon jontxu: it depends on what you need, but a decent DI framework might suffice, such as Spring or Guice (guice-servlets) [01:31]
rippa [rippa!] has joined ##java [01:34]
sl33k [sl33k!] has joined ##java [01:41]
Feuermagier_ [Feuermagier_!~Feuermagi@] has joined ##java [01:45]
sl33k [sl33k!] has joined ##java [01:47]
sizeof_void34 [sizeof_void34!] has joined ##java [01:47]
jontxu jesmon, I will look into it [01:48]
jontxu thanks! [01:48]
acidjnk_new [acidjnk_new!] has joined ##java [01:53]
jafarlihi [jafarlihi!~user@] has joined ##java [01:53]
jafarlihi Check out tiny event emitter library I have written for Java: [01:53]
jafarlihi jafarlihi's title: "GitHub - jafarlihi/eemit: Tiny event emitter library for Java" [01:53]
sl33k [sl33k!] has joined ##java [02:00]
orbyt_ [orbyt_!~orbyt@] has joined ##java [02:00]
dreamreal driveby promo! [02:00]
waz makes me want to use it! [02:07]
TViernion [TViernion!] has joined ##java [02:08]
sonOfRa private HashMap<String, LinkedList<Pair<String, Callback<T>>>> callbacks = new HashMap<>(); [02:13]
sonOfRa I mean that just really makes you want me to use it [02:13]
dreamreal Maybe they were asking for criticism [02:14]
ron congratulations, you just gave a free code review [02:14]
sonOfRa Wooo! [02:14]
tang^ wasn't doing anything else right now [02:14]
sonOfRa They're not even here to be read it [02:14]
sonOfRa God my english today is something else. [02:14]
dreamreal file an issue for every criticism [02:14]
dreamreal who's gonna file an issue for using tabs? Anyone up for complaining about indentation not being [2,3,4,5] spaces? [02:16]
dreamreal Next we need to bitch about how english is used [02:16]
dreamreal "don't be racist, is this a racist project, why are you so racist" [02:16]
dreamreal then when and if they change to some other language, we accuse them of cultural appropriation [02:17]
conan [conan!] has joined ##java [02:18]
tang^ it seems neat enough. I just don't know what you'd use that for. [02:18]
dreamreal an event-driven library? [02:18]
dreamreal or that one, specifically? [02:18]
tang^ event driven, I guess [02:18]
dreamreal reactive programming's on the rise; I don't know if it's near its ceiling or not, but it's a thing [02:19]
dreamreal rxjava [02:19]
dreamreal , an event-based system for managing Java component interactions. See also ~akka. [02:19]
dreamreal akka [02:19]
dreamreal Akka is a library meant to help you write reactive applications based on the actor paradigm: objects send and receive messages, by and large. It's highly scalable and takes some getting used to; applications can use Java or Scala (or, of course, both.) See for more. See also ~rxjava. [02:19]
tang^ ah, ok [02:19]
led1 [led1!~Thunderbi@] has joined ##java [02:20]
ron AKKA AKKA! [02:21]
asymptotically [asymptotically!~asymptoti@gateway/tor-sasl/asymptotically] has joined ##java [02:21]
EgonX [EgonX!~Egon@2601:2c6:47f:98f4:8dc7:4581:2e11:7647] has joined ##java [02:26]
mizi [mizi!~mizi@2003:ec:f708:3900:2c38:cca6:8b3a:1c74] has joined ##java [02:27]
TViernion [TViernion!] has joined ##java [02:27]
Sasazuka [Sasazuka!~Sasazuka@unaffiliated/sasazuka] has joined ##java [02:29]
dfee [dfee!] has joined ##java [02:30]
conan [conan!] has joined ##java [02:30]
mizi [mizi!~mizi@2003:ec:f708:3900:2c38:cca6:8b3a:1c74] has joined ##java [02:30]
sa02irc [sa02irc!] has joined ##java [02:32]
justache [justache!~justache@unaffiliated/justache] has joined ##java [02:32]
ricky_clarkson sonOfRa: Yeah, it should be List or ImmutableList there, not LinkedList. [02:35]
conan [conan!] has joined ##java [02:36]
pr3d4t0r [pr3d4t0r!] has joined ##java [02:48]
ChaiTRex [ChaiTRex!~ChaiTRex@gateway/tor-sasl/chaitrex] has joined ##java [02:52]
tomboy65 [tomboy65!~tomboy64@gateway/tor-sasl/tomboy64] has joined ##java [02:52]
earthy ftang zoom boing? nih! [03:03]
paws_ [paws_!uid89121@gateway/web/] has joined ##java [03:13]
bolovanos [bolovanos!] has joined ##java [03:17]
black_ant [black_ant!~antilope@unaffiliated/black-ant/x-1505394] has joined ##java [03:39]
RazielZ [RazielZ!~Raziel@unaffiliated/raziel] has joined ##java [03:42]
i-make-robots [i-make-robots!~dan@] has joined ##java [03:46]
i-make-robots JFormattedTextField: is there a method to check that the text in the field is valid? I know getValue() and getText() can differ... I'm wanting a simple way to query "did the user get it right or not" [03:47]
i-make-robots I don't see anything in the formatter or the NumberFormat. [03:48]
Intrepd [Intrepd!] has joined ##java [03:49]
freeone3000 i-make-robots, it's checked on blur, and if the input is invalid, it's reverted. [03:51]
SwiftMatt [SwiftMatt!~Objective@2601:282:4300:3e:514e:5450:9ecd:d21a] has joined ##java [03:53]
freeone3000 i-make-robots, This is a bit awful. Standard alternative approach is to attach a DocumentListener to a JTextField and handle validation yourself. [03:53]
i-make-robots ok... I'm trying to do something more interactive. as the user types if the input is valid, use default color. if the input is invalid, color it errorColor. I put in a documentListener and field.setForeground(). My problem comes when I field.getFormatter().stringToValue(field.getText()). sometimes the Object returned parses but is of the wrong type - Long instead of Double. then I get a [03:54]
i-make-robots class cast exception because I don't know how to cast gud? [03:54]
Feuermagier[PC] [Feuermagier[PC]!~Feuermagi@] has joined ##java [03:54]
nickel8448 [nickel8448!~nickel844@] has joined ##java [03:54]
freeone3000 NumberFormat returns a Number - you should be calling the primitive conversion methods instead of casting the result. [03:56]
freeone3000 Also, you can and should do all of this to a JTextField instead of a JFormattedTextField. [03:56]
i-make-robots ...then I'd still need a formatter to check validity, right? [03:56]
freeone3000 Yes, but you wouldn't attach it to the field. [03:57]
freeone3000 This means that when a user tabs out of the field, they no longer lose their work. [03:57]
i-make-robots You've convinced me. I'll do it. [03:58]
i-make-robots I didn't like calling getFormatter() anyhow. [03:58]
i-make-robots seemed wasteful. [03:58]
i-make-robots thank you! [03:58]
NewToThisV21 [NewToThisV21!~NewToThis@2600:6c56:6e00:5b4:508f:2241:188b:f963] has joined ##java [04:00]
paddyez [paddyez!~Patrick-E@wikipedia/paddyez] has joined ##java [04:00]
NewToThisV21 Quick question, if I am setting file permissions for a file that is created using Posix, where are those users assigned? OWNER/GROUP/OTHERS, where in the system are those users assigned exactly? These files live in a Amazon S3 bucket. [04:01]
algun [algun!~algun@unaffiliated/algun] has joined ##java [04:01]
fstd_ [fstd_!~fstd@unaffiliated/fisted] has joined ##java [04:03]
rasay [rasay!] has joined ##java [04:08]
Feuermagier_ [Feuermagier_!~Feuermagi@] has joined ##java [04:13]
rasay [rasay!] has joined ##java [04:17]
black_ant [black_ant!~antilope@unaffiliated/black-ant/x-1505394] has joined ##java [04:23]
rasay [rasay!] has joined ##java [04:26]
rasay__ [rasay__!] has joined ##java [04:28]
rasay [rasay!] has joined ##java [04:29]
dfee [dfee!] has joined ##java [04:32]
rasay [rasay!] has joined ##java [04:33]
rasay [rasay!] has joined ##java [04:35]
orbyt_ [orbyt_!~orbyt@] has joined ##java [04:45]
g00s [g00s!~g00s@unaffiliated/g00s] has joined ##java [04:47]
averell [averell!~averell@unaffiliated/averell] has joined ##java [04:52]
hbnrf [hbnrf!~hbnrf@gateway/tor-sasl/hbnrf] has joined ##java [04:59]
dfee [dfee!] has joined ##java [05:04]
freeone3000 The owner and group-owner of a file are filesystem attributes of the file, just like the permissions are. [05:09]
NewToThisV21 I keep having issues with this, let me post a small code snippet [05:10]
NewToThisV21 paste [05:10]
NewToThisV21 Please paste your code and any errors online. For runnable classes, try . For general code and errors, use or [05:10]
NewToThisV21 Here is the snippet, , it keeps causing build issues with one of my JUnit tests. When I remove the "Files.setPoxisFilePermissions(path, perms);" it builds fine, but when I add that line it fails the test, "CreateFileConfigurationTest" [05:14]
Maldivia cheeser, you have an error in your bytecode :) [05:14]
Maldivia NewToThisV21: hint; file.toPath() [05:15]
NewToThisV21 When I use file.toPath() I get, "cannot resolve method 'get(java.nio.file.Path)' [05:16]
NewToThisV21 Ohhh [05:16]
NewToThisV21 toPath() returns a java.nio.path [05:17]
NewToThisV21 Path path = file.toPath(); [05:17]
NewToThisV21 Let me try this out [05:17]
NewToThisV21 What is the difference between Path path = file.toPath() and Path path = Paths.get(file.getAbsolutePath()); wouldn't they both create a path to the file? [05:18]
dfee [dfee!] has joined ##java [05:18]
NewToThisV21 Seems, Path path = file.toPath(); has the same error, argh [05:19]
Maldivia and that error is? [05:20]
NewToThisV21 Well it's failing the JUnit test, the JUnit test tries to write to a list "compositeItemWriter.write(new ArrayList<CompositeSaleFile>());" [05:21]
Maldivia but what's tge fucking exception that it throws? [05:22]
NewToThisV21 BeanCreation is all I can see [05:22]
NewToThisV21 I am looking through the dump file and it isn't saying much [05:23]
Maldivia well, add a try/catch around the set permissions call see if/what it throws -- or add a break point [05:24]
Maldivia and check the "caused by" in your stack trace [05:24]
NewToThisV21 I see, let me check! [05:25]
cheeser Maldivia: several as it turned out :) [05:27]
cheeser Maldivia: but i'm making a nibblebuddy! ;) [05:27]
cheeser enter [05:28]
cheeser NewToThisV21, Enter is not punctuation. Please don't press your Enter or Return key until you're finished typing your question, sentence, or idea. It is annoying to see that and hard to follow. [05:28]
Maldivia cheeser: well,for one, dont use lreturn for returning a boolean :) [05:28]
NewToThisV21 My bad cheeser! [05:28]
cheeser i'm fixing return types now. ;) [05:28]
Maldivia cheeser: hint, asm has a helper method for it :) [05:29]
cheeser Type.getReturnType(String) ? [05:29]
NewToThisV21 Maldivia, Okay, looks like Error creating bean with name is the first part. The caused by section is, "Failure to instantiate"; and "Could not convert resource to file:", "NoSuchFileException" [05:29]
Maldivia cheeser: yes [05:30]
cheeser yeah. i just have to map that return type to correct XRETURN bytecode. [05:30]
Maldivia NewToThisV21: so your file doesn't exist, so you cannot set the permissions on it... sounds reasonable [05:30]
Maldivia cheeser: that's what that method does [05:30]
cheeser sadly, asm has jack shit for such determinations. [05:30]
Maldivia cheeser: ah no, it has that as well [05:31]
cheeser Maldivia: no, it returns the type of the method return. not the bytecode to do the return. [05:31]
NewToThisV21 Maldivia, that makes sense, and I guess that is why it builds fine without the permissions because the file not existing doesn't matter in the build process. Hmmmmmm [05:31]
cheeser i haven't found any such helpers just yet. [05:31]
cheeser i had to do something similar to find the XLOAD bytecode, too. [05:31]
Maldivia cheeser: returnType.getOpcode(IRETURN) [05:32]
Maldivia cheeser: where returnType is the Type for your return type -- replace as needed with ILOAD, ISTORE etc [05:32]
cheeser motherfucker. [05:34]
cheeser ) [05:34]
cheeser it *says* it takes a number of opcodes but only checks against 4 [05:35]
Maldivia cheeser: everything else is "else" :D [05:35]
Maldivia cheeser: it just assumes you use proper opcodes :D [05:35]
cheeser that's fucked up. [05:36]
Maldivia cheeser: that's ASM for you [05:36]
cheeser indeed. [05:36]
Maldivia cheeser: ah ok, in ASM 8, they updated the methods -- before it was just opcode + X :D [05:38]
cheeser it makes less sense now [05:38]
i-make-robots is here appropriate for questions about java + github actions, or should I goto github? [05:39]
cheeser github actions aren't java so ask github [05:39]
cheeser tech support [05:39]
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. [05:39]
Maldivia cheeser: would make sense for ASM to support METHOD sort for xRETURN for getOpcode though :D [05:41]
cheeser type.getReturnOpcode(), type.getLoadOpcode(). it's not hard. :D [05:42]
Maldivia cheeser: methodType.getReturnTyoe().getOpcode(IRETURN) -- yeah, yours is nicer :D [05:43]
cheeser this is how bytebuddy started :D [05:44]
Maldivia and that has grown into a completely different beast... [05:44]
cheeser indeed [05:44]
sbalmos Uh, this is odd... Has anyone ever seen Jackson ObjectMapper, on writeValueAsString(), put out JSON that does not have commas separating the fields? [05:48]
nikkal [nikkal!] has joined ##java [05:51]
cheeser *fistpump* [05:53]
bionade24 [bionade24!] has joined ##java [06:04]
sbalmos bleh, POS. The logging system of this damn server is stripping commas [06:08]
[twisti] nice [06:08]
cheeser as all loggers should. [06:08]
Peste_Bubonica [Peste_Bubonica!~Peste_Bub@unaffiliated/peste-bubonica/x-4612396] has joined ##java [06:18]
deavmi [deavmi!~tbk@] has joined ##java [06:25]
code_zombie [code_zombie!~code_zomb@2605:a601:af8c:5000:1154:44b8:d569:21e8] has joined ##java [06:30]
rasay [rasay!] has joined ##java [06:33]
LiftLeft [LiftLeft!~LiftLeft@2001:19f0:5c01:755:5400:2ff:fe62:b1d9] has joined ##java [06:34]
maryo_t [maryo_t!~Maryo@unaffiliated/maryo] has joined ##java [07:02]
beatbrot0 [beatbrot0!] has joined ##java [07:11]
Peste_Bubonica [Peste_Bubonica!~Peste_Bub@unaffiliated/peste-bubonica/x-4612396] has joined ##java [07:13]
dodobrain [dodobrain!~dodobrain@unaffiliated/freakabcd] has joined ##java [07:28]
amgs__ [amgs__!amgs@gateway/vpn/privateinternetaccess/amgs] has joined ##java [07:32]
ttytwister [ttytwister!~javango@] has joined ##java [07:43]
acidjnk_new [acidjnk_new!] has joined ##java [07:44]
EgonX [EgonX!~Egon@2601:2c6:47f:98f4:e446:77d1:7a7a:1410] has joined ##java [07:52]
Feuermagier_ [Feuermagier_!~Feuermagi@] has joined ##java [08:13]
TimeTrap [TimeTrap!~TimeTrap@2601:44:c280:def:1c54:d6f3:26ca:ddf1] has joined ##java [08:17]
fstd_ [fstd_!~fstd@unaffiliated/fisted] has joined ##java [08:20]
Inu [Inu!~Inu@unaffiliated/inu] has joined ##java [08:27]
p[a]ddy [p[a]ddy!~Patrick-E@wikipedia/paddyez] has joined ##java [08:29]
conan [conan!] has joined ##java [08:33]
viraltaco_ [viraltaco_!~taco@unaffiliated/d-b/x-8688605] has joined ##java [08:35]
albethere` [albethere`!] has joined ##java [08:36]
maxel [maxel!] has joined ##java [08:36]
n35xdxb0 [n35xdxb0!] has joined ##java [08:43]
db [db!uid18678@gateway/web/] has joined ##java [08:54]
phaeton [phaeton!] has joined ##java [08:56]
phaeton Hello. Core Java series is named in the channel book list. Is that recommended for learning the language, or just as a reference? [08:59]
SJr What is the best data structure to use if I want to implement something like String.intern() for a custom class, it seems I want WeakHashMap<K, WeakReference<K>> , which seems kind of weird. [09:02]
SJr A set, or Map by themselves don't give me a way of getting access to the original instance. [09:02]
conan [conan!] has joined ##java [09:09]
n35xdxb0 [n35xdxb0!] has joined ##java [09:11]
paddyez [paddyez!~Patrick-E@wikipedia/paddyez] has joined ##java [09:19]
Ingvix [Ingvix!] has joined ##java [09:21]
Goplat [Goplat!~Goplat@reactos/developer/Goplat] has joined ##java [09:24]
Jantz [Jantz!] has joined ##java [09:25]
g00s [g00s!~g00s@unaffiliated/g00s] has joined ##java [09:32]
devish [devish!345f4b0e@unaffiliated/devish] has joined ##java [09:40]
devish parted the channel: [09:46]
devish [devish!345f4b0e@unaffiliated/devish] has joined ##java [09:47]
matsurago [matsurago!~matsurago@240b:10:b3a1:1700:b208:b72c:53fc:819f] has joined ##java [09:48]
Peste_Bubonica [Peste_Bubonica!~Peste_Bub@unaffiliated/peste-bubonica/x-4612396] has joined ##java [10:01]
n35xdxb0 [n35xdxb0!] has joined ##java [10:01]
hbnrf [hbnrf!~hbnrf@gateway/tor-sasl/hbnrf] has joined ##java [10:16]
hbnrf [hbnrf!~hbnrf@gateway/tor-sasl/hbnrf] has joined ##java [10:27]
conan [conan!] has joined ##java [10:54]
dfee [dfee!] has joined ##java [11:11]
KidBeta [KidBeta!~Kidbeta@hpavc/kidbeta] has joined ##java [11:15]
sbeex [sbeex!~sbeex@] has joined ##java [11:28]
hbnrf [hbnrf!~hbnrf@gateway/tor-sasl/hbnrf] has joined ##java [11:30]
immibis_ [immibis_!] has joined ##java [11:31]
dengbojing [dengbojing!~dengbojin@] has joined ##java [11:31]
dfee [dfee!] has joined ##java [11:38]
sbeex morning [11:45]
iminheaven [iminheaven!] has joined ##java [11:53]