[00:18:51] *** fredreichbier has quit IRC [00:50:36] *** Jetbeard has quit IRC [02:18:56] *** shahri has quit IRC [03:25:34] *** boredomist has joined #ooc-lang [03:29:51] *** boredomist has quit IRC [04:23:18] *** curtism has joined #ooc-lang [05:30:16] *** Oddity007 has quit IRC [05:45:41] *** mickael9 has quit IRC [05:53:51] *** aanderse has quit IRC [05:55:08] *** aanderse has joined #ooc-lang [06:00:51] *** aanderse has quit IRC [06:07:12] *** aanderse has joined #ooc-lang [08:18:37] *** joshthecoder has quit IRC [11:49:54] *** Nilium_ has joined #ooc-lang [11:49:54] *** ChanServ sets mode: +v Nilium_ [11:51:38] *** keeto has quit IRC [11:51:47] *** keeto has joined #ooc-lang [11:51:48] *** lijat has quit IRC [11:52:16] *** lijat has joined #ooc-lang [11:52:53] *** curtism has quit IRC [11:53:10] *** Nilium has quit IRC [11:53:10] *** Nilium_ is now known as Nilium [11:53:42] *** curtism has joined #ooc-lang [12:29:11] *** MayDaniel has joined #ooc-lang [12:29:19] *** MayDaniel has quit IRC [12:29:19] *** MayDaniel has joined #ooc-lang [12:32:08] *** keeto has quit IRC [12:32:10] *** curtism has quit IRC [12:32:12] *** keeto has joined #ooc-lang [12:39:53] *** curtism has joined #ooc-lang [12:51:59] *** Jetbeard has joined #ooc-lang [14:24:53] *** kraft has quit IRC [15:06:57] *** fredreichbier has joined #ooc-lang [15:06:57] *** ChanServ sets mode: +v fredreichbier [15:09:30] *** mickael9 has joined #ooc-lang [15:38:51] *** mickael9` has joined #ooc-lang [15:39:34] *** mickael9 has quit IRC [16:05:55] *** tushar has joined #ooc-lang [16:07:45] *** tushar has quit IRC [16:10:54] *** goldencage has joined #ooc-lang [16:33:16] *** MayDaniel has quit IRC [16:38:15] *** kraft has joined #ooc-lang [18:35:22] *** Oddity007 has joined #ooc-lang [18:42:58] *** wandernauta has joined #ooc-lang [18:45:48] *** joshthecoder has joined #ooc-lang [18:45:48] *** ChanServ sets mode: +v joshthecoder [19:05:22] *** shahri has joined #ooc-lang [19:29:08] *** bdmst has joined #ooc-lang [19:35:32] *** Oddity007 has quit IRC [19:58:07] *** curtism has quit IRC [19:58:11] *** bdmst has quit IRC [20:17:27] *** wandernauta has quit IRC [20:21:12] <CIA-126> rock: Friedrich Weber master * rabaf8d3 / sdk/lang/Format.ooc : lang/Format: Fixed %f format specifier; if no precision was specified, -1 was assumed, leading to an invalid format string. - http://bit.ly/oilIrL [20:25:24] *** Oddity007 has joined #ooc-lang [20:25:26] <duckinator> hi fredreichbier [20:25:35] <fredreichbier> yo ducki! [20:25:57] <duckinator> i love 1-char fixes [20:26:57] <fredreichbier> the best fixes out there. :D [20:27:08] <fredreichbier> also funny that our format code was failing [20:27:35] <duckinator> would you like to attempt to help with a socket-related bug in a bit? :) [20:27:44] <duckinator> so my socket stuff can finally be useful [20:28:26] <fredreichbier> sure! [20:28:57] <fredreichbier> not sure how mcuh longer i'll be available now though, but i'll get back on it in a few hours if i have to go :) [20:29:52] <duckinator> alright :D [20:36:48] <fredreichbier> okay, so ... now i have to go. :D [20:36:56] <duckinator> D: alright [20:36:56] <fredreichbier> if you like to, write me a mail! [20:36:59] <duckinator> alright o/ [20:37:04] <fredreichbier> i'll even read it \o/ [20:37:12] <fredreichbier> see you laters! [20:37:16] <duckinator> bai o/ [20:37:21] *** fredreichbier has quit IRC [22:24:24] *** goldencage has quit IRC [22:41:12] *** joshthecoder has quit IRC [22:45:25] *** fredreichbier has joined #ooc-lang [22:45:25] *** ChanServ sets mode: +v fredreichbier [23:02:40] <fredreichbier> duckinator, what was your socket problem? =D [23:03:08] <duckinator> fredreichbier: hang on, going to feed the furry monster (aka dog) o/ [23:03:19] <duckinator> well...actually...she's pretty much going bald [23:03:32] <duckinator> anyway, she's staring a hole through me because she's hungry :D brb [23:03:43] <fredreichbier> aww :( [23:03:49] <fredreichbier> poor thing! [23:07:54] <duckinator> back [23:11:37] <fredreichbier> yo! [23:15:00] <duckinator> fredreichbier: so about that bug [23:15:08] <duckinator> in https://github.com/duckinator/ooch/blob/master/ooch.ooc [23:15:23] <duckinator> line 6 always prints a few newlines, nothing else [23:16:11] <duckinator> `conn` is a ReaderWriterPair (defined in my ServerSocket.ooc), so `conn in` is a TCPSocketReader instance [23:16:53] <fredreichbier> ./ooch.ooc:5:1 ERROR No such function accept(Func (<?>)) for `ServerSocket` [23:16:54] <fredreichbier> oh kay [23:17:10] <duckinator> you have to use my fork, duckinator/rock. sorry :P [23:17:16] *** joshthecoder has joined #ooc-lang [23:17:17] *** ChanServ sets mode: +v joshthecoder [23:19:17] <duckinator> fredreichbier: but yea, this bug is older than my fork i'm pretty sure :S [23:19:28] <fredreichbier> duckinator, mhmm [23:19:36] <fredreichbier> duckinator, but your `accept` doesn't take a func? [23:19:47] <duckinator> hm? [23:20:00] <duckinator> ServerSocket accept~withClosure(f) [23:22:31] <duckinator> ah, i still love this little bit of code: [23:22:34] <duckinator> loop(|| [23:22:43] <duckinator> / crap to define `conn` and `ret` [23:22:48] <duckinator> (conn && ret) as Bool [23:22:49] <duckinator> ) [23:23:06] <duckinator> so if either of conn or ret are false/0/null it breaks the loop :D [23:23:19] <fredreichbier> oh nice. :D [23:23:28] <fredreichbier> but where is accept~withClosure? :D [23:24:51] <duckinator> https://github.com/duckinator/rock/blob/sockets/sdk/net/ServerSocket.ooc#L108 [23:25:24] <duckinator> fredreichbier: ^^ [23:25:28] <fredreichbier> ah. :D [23:25:34] <duckinator> i also forgot to mention it was in the socket branch. woops ^^ [23:27:02] <Oddity007> coding in ooc cures cancer [23:27:12] <Oddity007> jk [23:27:23] <duckinator> it cures many things, but cancer isn't one :P [23:27:56] <fredreichbier> hmmm :D [23:28:02] <fredreichbier> duckinator, but the socket address is correct? [23:28:07] <fredreichbier> ie. the host and the port [23:28:17] <duckinator> fredreichbier: yea, it works, it just won't print anything. also note it's a /server/ socket [23:28:21] <Oddity007> I joke to my friends that C++ gives people brain tumors [23:28:42] <duckinator> fredreichbier: i believe this is uncharted waters in ooc territory :> [23:28:55] <fredreichbier> hmmm. :D [23:29:07] <Oddity007> lots of hmmm. :) s [23:29:24] <fredreichbier> hehe [23:29:35] [23:29:46] <duckinator> hmm? [23:30:15] <fredreichbier> in `accept`, can't we print all attributes of `addr` to see what's ahppening? [23:30:40] <duckinator> fredreichbier: that's not the issue [23:30:50] <duckinator> everything connects, all the data is sent, etc [23:30:55] <duckinator> the page loads [23:31:11] <duckinator> the TCPSocketReader just seems to return nothing [23:32:31] <fredreichbier> oh, the page even loads? oookay [23:32:50] <duckinator> fredreichbier: http://home.duckinator.net [23:32:57] <duckinator> that is ooch [23:33:36] <duckinator> it seems to print two newlines and nothing else to the console (from `conn in`, aka TCPSocketReader) [23:34:05] <fredreichbier> wtf [23:34:09] <duckinator> my thoughts exactly [23:34:12] <fredreichbier> https://github.com/duckinator/rock/blob/sockets/sdk/net/TCPSocket.ooc#L173 [23:34:16] <fredreichbier> expects Buffer [23:34:24] <fredreichbier> https://github.com/duckinator/rock/blob/sockets/sdk/net/TCPSocket.ooc#L211 [23:34:25] <fredreichbier> sends Char* [23:34:36] <duckinator> O.o [23:34:43] <duckinator> THAT MIGHT BE RELATED :P [23:34:48] <fredreichbier> probably! :D [23:35:20] <duckinator> no it's not [23:35:22] <fredreichbier> hmmm yeah [23:35:25] <duckinator> it's calling the one a line up from that [23:35:26] <fredreichbier> because it's not called [23:35:28] <duckinator> which expects a Char* [23:35:33] <duckinator> receive: func ~withFlags(chars: Char*, length: SizeT, flags: Int) -> Int [23:35:34] <fredreichbier> aw :( [23:35:34] <duckinator> it's calling that one [23:35:37] <fredreichbier> i felt cool for a second! [23:35:45] <duckinator> haha :D [23:35:56] <fredreichbier> receive() isn't called anyway because readUntil (which is used by readLine) reads one byte at a time [23:36:02] <duckinator> hm [23:36:15] <duckinator> readLine also isn't even specific to socket stuff i don't think [23:36:33] <fredreichbier> yep [23:36:39] <fredreichbier> it's just a shortcut for readUntil [23:36:45] <fredreichbier> which reads until it finds a newline [23:36:51] <fredreichbier> *readUntil('\n') [23:36:56] <duckinator> by using receiveByte()? [23:37:02] <fredreichbier> it calls read() [23:37:15] <fredreichbier> in which TCPSocketReader calls receiveByte() [23:37:19] <fredreichbier> i think so, at least :D [23:37:24] <duckinator> ah [23:37:33] <fredreichbier> could you try to add a print() to receiveByte() and see what's happening? [23:37:38] <duckinator> read() uses `TCPSocket receiveByte()` [23:38:19] <duckinator> which calls receive... :P [23:38:52] <duckinator> woah [23:39:04] <fredreichbier> huh? :D [23:39:15] <duckinator> there's a noticeable delay between the two newlines if i do that [23:39:53] <duckinator> brb [23:42:43] <duckinator> back [23:43:04] <duckinator> woah wut [23:43:11] <duckinator> fredreichbier: seems receiveByte() is never ran o.o [23:43:16] <duckinator> or wait [23:43:30] <fredreichbier> huh? [23:43:32] * duckinator rm -rf .lib'd [23:43:38] <duckinator> still nothing O.o [23:45:04] <duckinator> this is bizarre [23:46:24] <duckinator> ok that's better [23:47:33] <fredreichbier> hmm? :D [23:48:31] <duckinator> i got some level of debug info out of it [23:48:48] <duckinator> by that i mean it IS running the expected readUntil() :P [23:49:07] <duckinator> although for some reason, it never knows it has input [23:49:29] <duckinator> this means something in read() is misbehaving [23:49:43] <duckinator> or wait [23:49:45] <duckinator> hasNext? [23:50:47] <duckinator> fredreichbier: apparently hasNext? isn't working as expected [23:50:50] <duckinator> yup [23:50:54] <duckinator> hasNext? is always false [23:51:08] <fredreichbier> sounds unfortunate [23:51:14] <fredreichbier> it's `source connected?` oO [23:51:21] <duckinator> yes [23:51:29] <duckinator> means connected? isn't set, apparently [23:51:29] <fredreichbier> if(bytesRecv == 0) { [23:51:29] <fredreichbier> connected? = false // disconnected! [23:51:29] <fredreichbier> } [23:51:33] <fredreichbier> i don't think one can say that [23:51:41] <duckinator> zomg what [23:51:48] <fredreichbier> or, is recv called blocking or nonblocking? [23:51:55] <duckinator> idk [23:52:04] <duckinator> although [23:52:11] <duckinator> if i hardcode hasNext? to true [23:52:14] <duckinator> printing works, but i get no output [23:52:23] <duckinator> that's an issue for later, let's focus on hasNext? :P [23:54:29] <duckinator> now..wtf... [23:56:07] <fredreichbier> wellll [23:56:16] <fredreichbier> if you hardcode hasNext? to true [23:56:25] <fredreichbier> is it waiting for input forever? [23:56:49] <duckinator> oooh, probably! [23:57:19] <duckinator> then the question is how do you /really/ check if there's anything waiting [23:58:16] <fredreichbier> not sure if you can :D [23:58:27] <fredreichbier> hmm [23:58:40] <fredreichbier> you can, if you try to get data, and return false if you got no data [23:59:06] <duckinator> ah ha [23:59:21] <duckinator> recv(sock, buf, 1, MSG_PEEK) :)