--- Log opened Mon Jul 11 00:00:16 2011 |
00:15 | | You're now known as TheWatcher[T-2] |
00:19 | | You're now known as TheWatcher[zZzZ] |
01:27 | | Kindamoody is now known as Kindamoody[zZz] |
01:37 | | Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has quit [Client closed the connection] |
01:51 | | Finerty is now known as Vornicus |
01:56 | | Attilla [Some.Dude@Nightstar-f29f718d.cable.virginmedia.com] has quit [Ping timeout: 121 seconds] |
02:57 | | McMartin [mcmartin@Nightstar-11664913.pltn13.sbcglobal.net] has quit [[NS] Quit: upgrades] |
03:20 | | cpux is now known as shade_of_cpux |
03:21 | | McMartin [mcmartin@Nightstar-11664913.pltn13.sbcglobal.net] has joined #code |
03:25 | | AnnoDomini [annodomini@Nightstar-3a5a2fc4.adsl.tpnet.pl] has quit [[NS] Quit: leaving] |
03:56 | | Taki^ [Taki@Nightstar-0d4dd6d5.consolidated.net] has quit [Ping timeout: 121 seconds] |
04:07 | | gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has quit [[NS] Quit: Z?] |
04:13 | | * kwsn doesn't want to go to work tomorrow D: |
04:26 | | Vash [Vash@Nightstar-f03c5637.sd.cox.net] has joined #code |
05:03 | | kwsn is now known as kw\t-2 |
05:06 | | kw\t-2 [t1gg@Nightstar-5a8951e9.res.rr.com] has quit [[NS] Quit: moooooooooooooo] |
05:42 | | Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has joined #code |
06:00 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [Ping timeout: 121 seconds] |
06:03 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
06:19 | | Stalker [Z@2C3C9C.B2A300.F245DE.859909] has quit [[NS] Quit: If the world didn't suck, we'd all fall off.] |
06:23 | | * Vornicus gnarps, designdesigndesigns. |
06:39 | | Derakon is now known as Derakon[AFK] |
07:04 | | You're now known as TheWatcher |
07:06 | | Kindamoody[zZz] is now known as Kindamoody |
07:08 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [Client closed the connection] |
07:10 | | celticminstrel [celticminstre@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
07:38 | | celticminstrel [celticminstre@Nightstar-5d22ab1d.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
07:41 | | Vornicus is now known as Vornicus-Latens |
07:41 | | Vash [Vash@Nightstar-f03c5637.sd.cox.net] has quit [[NS] Quit: Spaaaaaaaaaaaaaaaaace sleeeeeeeeeeeeeeeep!] |
07:56 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code |
08:08 | | You're now known as TheWatcher[afk[ |
08:09 | | You're now known as TheWatcher[afk] |
08:52 | | Attilla [Some.Dude@Nightstar-f29f718d.cable.virginmedia.com] has joined #code |
09:12 | | Kindamoody is now known as Kindamoody|out |
09:37 | | Derakon[AFK] [Derakon@Nightstar-c826c088.ca.comcast.net] has quit [Ping timeout: 121 seconds] |
10:05 | | Derakon [Derakon@Nightstar-c826c088.ca.comcast.net] has joined #code |
10:51 | | You're now known as TheWatcher |
10:52 | | Derakon [Derakon@Nightstar-c826c088.ca.comcast.net] has quit [Operation timed out] |
11:10 | | AnnoDomini [annodomini@Nightstar-c04a5b58.adsl.tpnet.pl] has joined #code |
11:19 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
11:34 | | Derakon [Derakon@Nightstar-c826c088.ca.comcast.net] has joined #code |
13:09 | | gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has joined #code |
13:16 | | Rhamphoryncus [rhamph@C06FE3.F5723C.BE3FEB.9D4666] has joined #code |
13:42 | | Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has quit [[NS] Quit: This computer has gone to sleep] |
14:28 | | * TheWatcher stabs idiot module writers |
14:30 | < TheWatcher> | You do not make your fucking .t files access a website that has anything like 'dyndns.org' in the sodding hostname |
14:30 | < AnnoDomini> | Is the module just a railroad where the characters don't really have anything to say about the plot? |
14:41 | | You're now known as TheWatcher[afk] |
14:48 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
15:24 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [Client closed the connection] |
15:24 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
15:40 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [Client closed the connection] |
15:41 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
15:44 | < gnolam> | Ok, the first testing version of the editor has been put into the hands of its end user... wish me luck. |
15:44 | <@froztbyte> | I'd rather wish that your user doesn't have bullets |
15:45 | <@froztbyte> | luck doesn't help much with dodging them if the user's a good shot with an itchy trigger finger |
15:49 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [Client closed the connection] |
15:49 | | celticminstrel [celticminstre@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
15:51 | | celticminstrel [celticminstre@Nightstar-5d22ab1d.cable.rogers.com] has quit [Connection reset by peer] |
15:51 | | celticminstrel [celticminstre@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
16:00 | < gnolam> | :) |
16:01 | < gnolam> | But they have a very high percentage of pacifists, for some reason. |
16:17 | < gnolam> | I'm pretty sure I'm better armed, if it should come to that. |
16:17 | < gnolam> | On the other hand, I might have to start checking my tea for polonium... |
16:17 | | AnnoDomini [annodomini@Nightstar-c04a5b58.adsl.tpnet.pl] has quit [Ping timeout: 121 seconds] |
16:19 | | AnnoDomini [annodomini@Nightstar-3b08438a.adsl.tpnet.pl] has joined #code |
16:31 | | AnnoDomini [annodomini@Nightstar-3b08438a.adsl.tpnet.pl] has quit [Ping timeout: 121 seconds] |
16:33 | | AnnoDomini [annodomini@Nightstar-84178795.adsl.tpnet.pl] has joined #code |
16:52 | | AnnoDomini [annodomini@Nightstar-84178795.adsl.tpnet.pl] has quit [Ping timeout: 121 seconds] |
16:54 | | AnnoDomini [annodomini@Nightstar-707f80fe.adsl.tpnet.pl] has joined #code |
17:05 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code |
17:19 | | Reiver [orthianz@9C034E.E649EA.3194C7.8381A3] has quit [Connection reset by peer] |
17:20 | | Reiver [orthianz@9C034E.E649EA.3194C7.8381A3] has joined #code |
17:21 | | celticminstrel [celticminstre@Nightstar-5d22ab1d.cable.rogers.com] has quit [Connection reset by peer] |
17:22 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
17:26 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [Client closed the connection] |
17:26 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
17:46 | | Reiver [orthianz@9C034E.E649EA.3194C7.8381A3] has quit [Client closed the connection] |
17:46 | | Reiver [orthianz@9C034E.E649EA.3194C7.8381A3] has joined #code |
18:10 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [Client closed the connection] |
18:11 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
18:12 | | Vornicus-Latens is now known as Vornicus |
18:17 | | Reiver [orthianz@9C034E.E649EA.3194C7.8381A3] has quit [Client closed the connection] |
18:17 | | Reiver [orthianz@9C034E.E649EA.3194C7.8381A3] has joined #code |
18:19 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
18:46 | | Reiver [orthianz@9C034E.E649EA.3194C7.8381A3] has quit [Client closed the connection] |
18:46 | | Reiver [orthianz@9C034E.E649EA.3194C7.8381A3] has joined #code |
18:47 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [Ping timeout: 121 seconds] |
19:51 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
19:57 | | Reiver [orthianz@9C034E.E649EA.3194C7.8381A3] has quit [Connection reset by peer] |
19:57 | | Reiver [orthianz@9C034E.E649EA.3194C7.8381A3] has joined #code |
20:24 | | You're now known as TheWatcher |
20:27 | | * TheWatcher drops a mass of documentation on an Enemy. |
20:27 | < TheWatcher> | Ah, that's why I write this stuff~ |
20:27 | < Tamber> | See, there is some use for the stuff! |
20:28 | | * jerith has been fiddling with a project that has /two/ sets of documentation, both of which are incomplete and misleading. |
20:28 | < TheWatcher> | You've been using PHP? |
20:28 | < jerith> | No, graphite.wikidot.com |
20:28 | < jerith> | (That's one set.) |
20:30 | | * TheWatcher fingertappity, decides it is time for graphics |
20:30 | < TheWatcher> | Or maybe database, hm |
21:12 | | Kindamoody|out is now known as Kindamoody |
21:15 | < McMartin> | Speaking of database, I need to get up to speed with SQLite. |
21:16 | < jerith> | It's... suboptimal. |
21:16 | < McMartin> | I'm not learning it because it's the best database solution. |
22:11 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [Client closed the connection] |
22:12 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
23:00 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
23:18 | < McMartin> | Oh, SQLite. We get to have the Apollo 13 conversation. |
23:18 | < Vornicus> | the what |
23:19 | < McMartin> | #xkcd chat log about how Internet tech support goes, with the Apollo 13 response being "why are you even in space, you shouldn't be in space there's nothing there" |
23:19 | < McMartin> | (To wit, the official answer to "Is SQLite3 thread-safe" is "Threads are evil, you shouldn't be using them") |
23:19 | < TheWatcher> | ... what |
23:20 | < McMartin> | I associate this attitude with UNIX jerks |
23:20 | < McMartin> | I initially wrote "UNIX twats" but they, as the saying goes, lack both the depth and the warmth. |
23:20 | < McMartin> | It is not uncommon amongst UNIX partisans, though, presumably because they also hate GUIs and anything that touches them. |
23:21 | < McMartin> | GUI being one of the few problem domains where OO is actually useful, and one of only two cases I can think of where threading is for all practical purposes mandatory |
23:21 | < McMartin> | (Hosting server-side web applications being the other, though you can fake it with a kajillion processes there) |
23:26 | < ToxicFrog> | (asynchronous IO + coroutines~) |
23:27 | < McMartin> | (Coroutines are in fact threading.) |
23:28 | < McMartin> | (And poll/select for GUIs works right up until you need to actually do something that takes more the 50ms) |
23:29 | < ToxicFrog> | (generally by "threading" people mean "concurrency", which coroutines are not) |
23:36 | < McMartin> | ("When you block on disk I/O, does your entire computation screech to a halt") |
23:36 | < ToxicFrog> | (what) |
23:37 | < McMartin> | (This is the problem with most user replacements for threads; blocking I/O blocks the whole process because as far as the OS is concerned that's what's happening) |
23:37 | < McMartin> | (Also, if you have a GUI "worker thread" implemented as a coroutine, either you're hanging the GUI or you're reimplementing co-op threading, probably poorly.) |
23:37 | < ToxicFrog> | (right, that's where the "asynchronous IO" part comes in; it lets you write code that looks threaded and does not block on IO but is also not concurrent) |
23:38 | < ToxicFrog> | (granted, this only works if you spend most of your time IO-blocked or input-blocked, rather than performing computation) |
23:39 | < McMartin> | (The GUI problem is "input is a continuous stream and as a rule your computations Do Not Give A Shit About It, but there are real-time requirements on responses to the events) |
23:40 | < McMartin> | (Your options are to have the computation time itself out to poll the event stream or thread it like you should have in the first place. "The mouse moved, have an interrupt" is not an acceptable solution) |
23:40 | | * Vornicus should really get a server up and running so he can write web code with serverness. |
23:40 | < McMartin> | (But yes, this is also why I wound up basically implementing continuations in Game Maker 8) |
23:41 | < McMartin> | (Which is not threaded) |
23:41 | < celticminstrel> | Why are you all in parentheses? |
23:41 | < Vornicus> | because they haven't popped yet. |
23:41 | < ToxicFrog> | Because we forked and then the parent process died~ |
23:41 | < celticminstrel> | XD |
23:42 | < ToxicFrog> | McMartin: I'm coming at this from the perspective of writing code that doesn't actually do much computation; the only real concern with the UI is that you don't want it to sieze up when the program is performing network or disk IO. |
23:42 | < ToxicFrog> | Since most of the software I write either has no UI, or behaves as above. |
23:43 | < McMartin> | Yeah, and if you write your GUI code such that the work happens in UI event handlers, even if you're getting away with it now, the standard response is that you're doing it wrong. |
23:44 | | You're now known as TheWatcher[T-2] |
23:44 | < ToxicFrog> | Well, the "work" here is "add a message to a queue", and then there's a different coroutine that reads from the queue and talks to the server accordingly. |
23:44 | < McMartin> | Both because Magic Button architecture is intrinsically wrong, and because if you're architecting it like this you are 99.9998% likely to be violating model/view separation. |
23:45 | < McMartin> | Right. That's fundamentally equivalent to a producer/consumer threading model. |
23:45 | | * Alek grars at xp home and OEM |
23:45 | < ToxicFrog> | Yes. But I would not consider it "threading" in the sense discussed earlier; there's no preemption and, more importantly, no concurrency. |
23:46 | < McMartin> | There's no reason to believe that processing the message from the queue won't be pre-empted. |
23:46 | < McMartin> | By paint() if nothing else |
23:48 | < ToxicFrog> | Um |
23:48 | | You're now known as TheWatcher[zZzZ] |
23:48 | < ToxicFrog> | These are coroutines; preemption is, by definition, not possible |
23:48 | < McMartin> | s/won't/shouldn't/ |
23:48 | < McMartin> | Right. |
23:48 | < McMartin> | What I'm saying is, if you're writing, oh, I don't know, a board game. |
23:48 | < ToxicFrog> | >.> |
23:48 | < McMartin> | And you'd like to AI to be able to take its own turn in its own time. |
23:49 | < McMartin> | You really probably should let the AI not have to give a shit about the paint queue or reacting to "the window has been moved/obscured" events. |
23:49 | < McMartin> | GUI events have real-time requirements on them, albeit not terribly onerous ones by the standards of realtime |
23:50 | < ToxicFrog> | Right. But now we're back to "doing computation in the same process as the UI", which - as mentioned earlier - is not a concern for me. |
23:50 | < McMartin> | But 100ms can go pretty fast, and the system will obviously seize up. |
23:50 | < McMartin> | Right |
23:50 | < McMartin> | The UNIX approach is to say that GUIs should never do anything and subprocesses should do all the work. |
23:50 | < McMartin> | I'm pretty comfortable saying that they have mistaken their preferred problem space for the entire universe. |
23:52 | | * ToxicFrog nods |
23:52 | < celticminstrel> | I see you escaped the suffocating regime of the parentheses. :P |
23:52 | < McMartin> | And any time your reaction to a question about anything outside your preferred problem space is "your problem is that you are not in my preferred problem space" you get hit with large sticks. |
23:53 | < McMartin> | And SQLite puts this in their FAQ, which means they are now #2 against the wall after whoever wrote the GIMP line tutorial. |
23:54 | < Vornicus> | I should really put my settlers stuff on github. |
23:55 | < Vornicus> | ...and find a replacement for ruby/rake, because while it did make my life pretty easy, I'm not writing anything else in the entire thing in ruby. |
23:57 | < Vornicus> | Well. Github or something. |
23:58 | < celticminstrel> | Settlers stuff? |
23:59 | < Vornicus> | My on-again off-again project to build a persistent, web-based Settlers of Catan. |
--- Log closed Tue Jul 12 00:00:02 2011 |