--- Log opened Thu May 15 00:00:19 2008 |
00:09 | <@MyCatVerbs> | Oh, genius. |
00:09 | <@MyCatVerbs> | I love how people write these things and don't test them. |
00:10 | <@McMartin> | Anyway. Time to upgrade my other machine. |
00:11 | <@McMartin> | And the best part? |
00:11 | <@McMartin> | The interactive bits were merely hitting "OK". |
00:11 | <@McMartin> | There wasn't even a Cancel option! |
00:11 | <@McMartin> | LOG MSGS, KITTEH |
00:11 | <@McMartin> | CAN U HAZ THEM? |
00:34 | | You're now known as TheWatcher[t-2] |
00:37 | | You're now known as TheWatcher[zZzZ] |
01:36 | | McMartin [~mcmartin@Nightstar-7072.dsl.pltn13.sbcglobal.net] has quit [Quit: Shutting down] |
02:54 | | McMartin [~mcmartin@Nightstar-24118.googlewifi.com] has joined #code |
02:54 | | mode/#code [+o McMartin] by ChanServ |
04:18 | | McMartin [~mcmartin@Nightstar-24118.googlewifi.com] has quit [Quit: Leaving] |
04:20 | | Serah^WR0K [~Z@Nightstar-5401.atm2-0-1041217.0xc329e232.boanxx12.customer.tele.dk] has quit [Ping Timeout] |
06:27 | | McMartin [~mcmartin@Nightstar-7072.dsl.pltn13.sbcglobal.net] has joined #code |
06:27 | | mode/#code [+o McMartin] by ChanServ |
06:28 | | Reiv [~82d94c4d@Nightstar-29731.dsl.in-addr.zen.co.uk] has joined #Code |
06:29 | | Thaqui [~Thaqui@Nightstar-711.jetstream.xtra.co.nz] has joined #code |
06:29 | | mode/#code [+o Thaqui] by ChanServ |
06:35 | | AnnoDomini [AnnoDomini@Nightstar-29046.neoplus.adsl.tpnet.pl] has joined #Code |
06:35 | | mode/#code [+o AnnoDomini] by ChanServ |
07:09 | | C_tiger [~c_wyz@Nightstar-16806.nycmny.east.verizon.net] has quit [Ping Timeout] |
08:12 | | Reiv [~82d94c4d@Nightstar-29731.dsl.in-addr.zen.co.uk] has quit [Quit: CGI:IRC (EOF)] |
08:17 | | C_tiger [~c_wyz@Nightstar-16806.nycmny.east.verizon.net] has joined #code |
08:17 | | mode/#code [+o C_tiger] by ChanServ |
08:43 | | You're now known as TheWatcher |
09:12 | | Thaqui [~Thaqui@Nightstar-711.jetstream.xtra.co.nz] has left #code [Leaving] |
09:49 | | McMartin [~mcmartin@Nightstar-7072.dsl.pltn13.sbcglobal.net] has quit [Quit: Leaving] |
09:50 | | McMartin [~mcmartin@Nightstar-7072.dsl.pltn13.sbcglobal.net] has joined #code |
09:50 | | mode/#code [+o McMartin] by ChanServ |
12:13 | | gnolam [lenin@Nightstar-10613.8.5.253.static.se.wasadata.net] has joined #Code |
12:13 | | mode/#code [+o gnolam] by ChanServ |
13:18 | | You're now known as TheWatcher[afk] |
13:20 | | GeekSoldier [~Rob@Nightstar-8409.dip.t-dialin.net] has quit [Ping Timeout] |
13:58 | | You're now known as TheWatcher |
15:27 | | GeekSoldier [~Rob@Nightstar-8249.dip.t-dialin.net] has joined #code |
15:27 | | mode/#code [+o GeekSoldier] by ChanServ |
15:56 | | * ToxicFrog tries to figure out how communication with exiting threads should be handled |
15:56 | <@ToxicFrog> | Trying to talk to a dead thread, in keeping with the coroutine library, raises an error. |
15:56 | <@ToxicFrog> | But what happens to the threads that are send or reply blocked on it when it exits? |
16:02 | <@ToxicFrog> | At the moment, I'm leaning towards "this is always programmer error, and should thus raise an error" |
16:03 | <@ToxicFrog> | But not very strongly. It might be better to just have send() return false + a string describing the error ("thread exited normally with code 2", "thread received error: foo", etc) |
16:13 | | ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Operation timed out] |
16:15 | | ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code |
16:15 | | mode/#code [+o ToxicFrog] by ChanServ |
18:55 | <@jerith> | ToxicFrog: That last would be my choice. |
18:55 | <@jerith> | Alternatively, make all communication asynchronous. :-) |
19:01 | <@ToxicFrog> | No. |
19:03 | <@ToxicFrog> | The reason I'm leaning towards raising errors is that generally, in a lua program, you want an uncaught error to stop the program (or drop into the debugger) |
19:03 | <@ToxicFrog> | Perhaps I'll have errors propagate, and normal exits return error codes... |
19:41 | <@jerith> | All-asynchronous works for Erlang. Then again, so do write-only variables. |
19:42 | <@ToxicFrog> | All-async makes the message transfer code either much less powerful, or much more complicated and memory-hungry. |
19:43 | <@ToxicFrog> | There's stuff I can do when both threads are synchronized that I can't otherwise. |
19:43 | <@ToxicFrog> | There *is* an asynchronous send, but it |
19:43 | <@ToxicFrog> | s weaker than the real version because of this. |
19:44 | <@jerith> | Ah. |
19:44 | <@ToxicFrog> | Anyways, what I've decided on, for now |
19:44 | <@ToxicFrog> | If the thread errors, this is unambiguously a programmer error. Any threads blocked on it will propagate the error. |
19:45 | | * jerith nods. |
19:46 | <@ToxicFrog> | If the thread exits normally while other threads are blocked on it, this is bad practice but is not unambiguously an error. the other threads will return nil,errmsg |
19:46 | <@ToxicFrog> | And if you want this treated like an error, you can replace thread.send with an assert()ing version. |
19:47 | <@ToxicFrog> | I may also add an API by which you can add an error handler to a thread, so that you can handle errors by logging them or calling os.exit() or the like |
19:59 | <@GeekSoldier> | wait.... "write-only variables"? is this like Write Only Memory? |
20:02 | <@jerith> | Umm, write-once. |
20:02 | <@jerith> | You can only assign them once. Thereafter, they're constant. |
20:03 | <@GeekSoldier> | oh yeah. that I knew. still like the concept of a write only variable... sounds so INTERCALish. |
20:03 | | * jerith nods. |
20:04 | <@jerith> | You could consider stdout to be a write-only variable... |
20:04 | <@jerith> | Sort of. |
20:05 | | * ToxicFrog ponders his design. |
20:05 | <@GeekSoldier> | but that would take all the fun out of it. I'm thinking like a required nameable bitbucket. |
20:05 | <@ToxicFrog> | I think the SRR stuff needs of a bit of tweaking. |
20:06 | <@jerith> | EBITBUCKET: Bit bucket full, please empty it. |
20:07 | <@ToxicFrog> | Either I need to split "validate message" and "copy message" into distinct steps, or I need to modify the synchronization so that the active thread is always the sender. |
20:09 | <@ToxicFrog> | ...except, actually, I already need some kind of error flag mechanism to handle error propagation |
20:09 | <@ToxicFrog> | So I can use that. |
21:33 | <@ToxicFrog> | Gnaaaaar |
21:34 | <@ToxicFrog> | I've realized that my code is seperated enough that I should, in theory, be able to split it completely into two seperate libraries - one that implements SRR threading for C, and one that binds it to Lua |
21:34 | <@ToxicFrog> | But I can't come up with a good way of actually doing this. |
21:47 | | Doctor_Nick [~nick@Nightstar-25013.hsd1.fl.comcast.net] has joined #code |
22:10 | < Doctor_Nick> | to whoever recommended me screen: thanks, this is a huge productivity booster/waster :) |
22:12 | < Doctor_Nick> | (waster in the sense that it makes ircing so much easier ;)) |
22:13 | <@jerith> | screen is awesome. |
22:13 | < Doctor_Nick> | yep |
22:13 | <@jerith> | One of the very best pieces of software ever written. |
22:18 | < Doctor_Nick> | anyway |
22:19 | < Doctor_Nick> | I'm starting a kernel device driver project |
22:19 | < Doctor_Nick> | what I'm going to do is be implementing logging for all I/O requests across the kernel |
22:20 | < Doctor_Nick> | what I want to know is if anyone has done anything similar to this so that i'm not redoing anyone elses work |
22:20 | < Doctor_Nick> | anyone know of anything like this? |
22:59 | | AnnoDomini [AnnoDomini@Nightstar-29046.neoplus.adsl.tpnet.pl] has quit [Quit: I like my random encounters like I like my tea and my women - deadly.] |
23:18 | < Doctor_Nick> | did I scare everyone away or is everyone out having a life? :p |
23:27 | | * jerith is long overdue for sleep. |
23:27 | <@jerith> | Which shall now take place. |
23:28 | < Doctor_Nick> | good night goon |
23:47 | | * gnolam stabs ToxicFrog with a "separate". |
23:53 | <@gnolam> | (Pet peeve) |
23:54 | < Doctor_Nick> | when was this? :p |
23:58 | <@gnolam> | About 2 hours ago. |
23:58 | < Doctor_Nick> | k |
23:58 | < Doctor_Nick> | have any idea about what I said a while back? |
--- Log closed Fri May 16 00:00:25 2008 |