--- Log opened Thu Dec 06 00:00:09 2012 |
00:15 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
00:23 | | himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code |
00:23 | | mode/#code [+o himi] by ChanServ |
00:38 | | * Vornicus has forgotten how spectacular he is at falling in pits in this game. |
00:38 | < celticminstrel> | Hehe |
00:38 | < celticminstrel> | Which game? |
00:41 | <~Vornicus> | WaDF |
00:45 | < celticminstrel> | ? |
00:45 | <&McMartin> | Within a Deep Forest |
00:45 | < celticminstrel> | Oh that. |
00:46 | <&McMartin> | Also: https://hkn.eecs.berkeley.edu/~mcmartin/games/DD/delver_spritesheet.png |
00:46 | < celticminstrel> | ...it's... some guy in a top hat... |
00:46 | <~Vornicus> | Hooray, Mr. Dapper! |
00:47 | <&McMartin> | This fellow is why my 2D game engine project is named "Project Monocle" |
00:47 | < auREAX> | today I spent generating light novel book covers |
00:47 | <&McMartin> | Vornicus: Anyway, regarding WaDF, one thing I noticed is that the walls tend to be very solid and the backgrounds are the parts that are more patterned |
00:47 | < auREAX> | I wrote a 3500-line PHP script for it |
00:47 | < celticminstrel> | Generating? That seems something rather complex to generate... |
00:48 | < auREAX> | https://salty-salty-studios.com/shiz/covers/5098f27bd5e2eaa85ed6fceca4dc71175111 67e6.jpg |
00:48 | <&McMartin> | The early DD work has been doing the opposite and I'm wondering if that's a mistake |
00:48 | < auREAX> | this is the result |
00:48 | <~Vornicus> | McM: I know that |
00:48 | | jerith [jerith@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
00:48 | < celticminstrel> | DD? |
00:48 | <&McMartin> | Delete the filename from my URL and you can see the pitch document and the current state of the prototype |
00:48 | | jerith [jerith@Nightstar-bf52129d.slipgate.za.net] has joined #code |
00:48 | | mode/#code [+ao jerith jerith] by ChanServ |
00:48 | < celticminstrel> | Oh. |
00:49 | <~Vornicus> | But it took me like 30 tries to climb the steps to That Hover Thing, and then here in Utopica there's little tiny pits between big platforms and I hit them nine times out of ten. |
00:57 | | You're now known as TheWatcher[T-2 |
00:59 | <~Vornicus> | Seeing it isn't the problem. It's that apparently I aim right for them! |
00:59 | | You're now known as TheWatcher[zZzZ] |
01:04 | <&Derakon> | Vorn: try aiming for them, then~ |
01:04 | <&Derakon> | With your luck, you'll miss! |
01:04 | <~Vornicus> | har |
01:05 | | * Vornicus tries to remember where to get the useless ball |
01:05 | <&McMartin> | Pathetic Ball! |
01:05 | <&McMartin> | Pathetic Ball is wind-blocked |
01:06 | <~Vornicus> | I got the yoga ball by defeating the squirrel and going through the lava zone with the iron ball. |
01:06 | <&McMartin> | Yup |
01:06 | <&McMartin> | That's enough to get you *to* Pathetic Ball's level, but not enough to get you through it. |
01:07 | <&McMartin> | Yoga Ball resists wind as well. |
01:07 | <~Vornicus> | Oh Does It |
01:07 | <~Vornicus> | Okay I know where to go now. |
01:08 | <&McMartin> | Oh I see |
01:08 | <&McMartin> | Had you always used the final ball to get in there? |
01:08 | <&McMartin> | Because it also resists wind |
01:08 | <&McMartin> | That would explain why you weren't sure about getting them in order. |
01:08 | <~Vornicus> | Yes. |
01:08 | <~Vornicus> | Okay, now at Crystal Path. |
01:09 | < celticminstrel> | I forget why the pathetic ball is needed... |
01:10 | <&McMartin> | There are two gearchecks in the endgame that will not let you pass without it. |
01:11 | <&Derakon> | There's the giant cat that will eat any ball except the Pathetic Ball. |
01:11 | <&Derakon> | What's the other one? |
01:11 | <&McMartin> | It's one of the four balls that unlocks the final zone. |
01:12 | <&Derakon> | Ah. |
01:22 | | Attilla [Obsolete@Nightstar-963a32bf.as43234.net] has quit [[NS] Quit: ] |
02:56 | | * simon` dislikes SLR parse tables now. |
02:56 | | * simon` wrote a 6-page guide to constructing them. apparently the examples in the book fill out the entire table in one drawing and people don't really get the numbered list of things to do. |
03:19 | | Zemyla [zemyla@Nightstar-8fbb7981.compute-1.amazonaws.com] has quit [Ping timeout: 121 seconds] |
03:19 | | Kindamoody[zZz] is now known as Kindamoody |
03:20 | <&McMartin> | LL I recall, and LR, and LALR |
03:20 | <&McMartin> | SLR is a new one on me |
03:21 | <&McMartin> | (LALR I don't understand, but I have the relevant texts; as near as I can tell it is 'apply this unsafe optimization and call whatever still works that class') |
03:21 | <&McMartin> | Ah, I see, SLR is another set of simplifications |
03:24 | <&McMartin> | Apparently we skimmed over that part back in 164 |
03:24 | | Zemyla [zemyla@Nightstar-8fbb7981.compute-1.amazonaws.com] has joined #code |
03:28 | | syksleep is now known as Syk |
03:45 | < auREAX> | http://salty-salty-studios.com/shiz/lncovers.php |
03:46 | < auREAX> | I made a thing today. |
03:46 | < auREAX> | Check it out. |
03:54 | < simon`> | McMartin, SLR is "simplified LR" |
03:54 | <&McMartin> | simon`: Yeah, I dug out my Dragon book and found it >_> |
03:54 | < froztbyte> | for a short moment I first thought McMartin was talking about optics |
03:55 | < simon`> | I should've just said so. it's a rather simple model. I don't know how LALR works either. |
03:55 | < simon`> | I think I knew once... |
03:55 | | * simon` found his first non-ambiguous grammar that still produces (S)LR ambiguities. |
03:56 | < simon`> | err... (S)LR conflicts, I mean. |
03:56 | < simon`> | X -> aXa | epsilon |
03:57 | < froztbyte> | isn't that supposed to not happen, though? |
03:57 | < simon`> | froztbyte, yes, it should be possible to find non-ambiguous grammars that still produce (S)LR conflicts. I think the trick with more advanced LR parsing strategies (LR(k), LALR(k)) is to eliminate some of those. |
03:58 | < froztbyte> | or is the advantage of an (S)LR just in that it's efficient at finding a correct parse? |
03:58 | < froztbyte> | simon`: yar, fair enough |
03:58 | < simon`> | the advantage of SLR over LR(k) is that it's easy to explain to 2nd year students :-P |
03:58 | < froztbyte> | my parsing knowledge is kinda weird |
03:58 | < froztbyte> | I've had the basics explained to me once when walking through it, and then went directly on to reading about stuff like OMeta |
03:59 | < simon`> | I don't know OMeta. |
04:00 | < simon`> | ohh... it is based on PEGs. |
04:00 | < froztbyte> | http://tinlizzie.org/ometa/ometa2.html |
04:00 | < froztbyte> | yeah |
04:00 | < froztbyte> | dash wrote pymeta linked to/building on ometa |
04:00 | < froztbyte> | and then pymeta2 |
04:00 | < froztbyte> | latest thing he's working on for that is parsely, which I think supports one other grammar/expression type as well |
04:00 | < simon`> | I never used PEGs, but I was impressed at how small the grammar specifications are. |
04:00 | < froztbyte> | cognitively I find them quite nice |
04:01 | < simon`> | oh. |
04:01 | < froztbyte> | not *that* experienced at writing them, though |
04:01 | < froztbyte> | got a thing I want to write sometime when I've got a few days free of intrusions, once upon a rainbow |
04:01 | < simon`> | I seem to recall that I liked reading them, but having more experience with CFGs, I'd probably want to use them even if they are disadvantageous. |
04:02 | < simon`> | s/use them/use CFGs/ |
04:03 | < simon`> | reading the wikipedia page on PEGs, they are apparently like CFGs where you always choose the first production that matches. |
04:12 | < froztbyte> | I should read more about parsers sometime |
04:12 | < froztbyte> | even if just to fill my brain with some more terrible knowledge |
04:26 | <&ToxicFrog> | PEGs are pretty nice right up until you bump against one of the places where a parser/lexer split is handy, like automatically eliding whitespace and comments. |
04:26 | <&ToxicFrog> | Then they can get kind of hinky. |
04:28 | < froztbyte> | I must admit that I did not know that work |
04:28 | | * froztbyte adds it to the belt |
04:34 | < simon`> | ToxicFrog, oh. |
04:35 | < simon`> | also, the ordered choice operator of PEG parsers must affect running time drastically in some cases. |
04:36 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
04:36 | < froztbyte> | jerith can possibly tell you some more about that |
04:36 | < froztbyte> | he's been doing various bits of hacking with PEGs in parsely lately |
04:38 | < simon`> | well, it's nothing worse than you get with the choice operator in combinator parsers. I just like the idea of predictive parsing. |
04:42 | | * simon` wrote his bachelor's project language in Happy and later found out that the language was essentially LR(2) while Happy supports LR(1). |
04:43 | | * simon` wants to write an improved version of mllex/mlyac. particularly, mosmllex/mosmlyac. |
04:44 | < simon`> | their libraries are horrible. smlnj's lex/parse libraries are better, but they're a bit complicated for 2nd year students to tinker with. |
05:13 | | Vornicus [Vorn@Nightstar-35eb62f8.sd.cox.net] has quit [[NS] Quit: Leaving] |
05:14 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
05:14 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
06:05 | | * jerith <3 parsley. |
06:06 | <&jerith> | (Except it's a bit slow at the moment.) |
06:26 | | himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Ping timeout: 121 seconds] |
06:39 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
06:42 | | Derakon is now known as Derakon[AFK] |
07:02 | <~Vornicus> | I can't even test the save/load code until I have a way of triggering it from the game. |
07:22 | < Tarinaky> | http://sphotos-e.ak.fbcdn.net/hphotos-ak-ash4/481547_10200092574947728_123161943 5_n.jpg |
07:32 | < simon`> | I didn't know Java was a verb. |
07:38 | | thalass [thalass@Nightstar-a93a3641.bigpond.net.au] has joined #code |
07:44 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
08:06 | <&McMartin> | Oh man |
08:06 | | * McMartin Clojures the *hell* out of that problem |
08:06 | <&McMartin> | This feels like playing with forbidden magics. |
08:07 | <&McMartin> | That's bad, because usually one gets that feeling when doing something unduly clever with Perl. |
08:22 | < Tarinaky> | I hate Aberystwyth :/ |
08:22 | | thalass [thalass@Nightstar-a93a3641.bigpond.net.au] has quit [Ping timeout: 121 seconds] |
08:22 | < Tarinaky> | But I've still got 3 semesters to go before I can leave :/ |
08:34 | | Attilla [Obsolete@Nightstar-6968d56c.as43234.net] has joined #code |
08:36 | | Attilla [Obsolete@Nightstar-6968d56c.as43234.net] has quit [[NS] Quit: ] |
08:38 | | Attilla [Obsolete@Nightstar-6968d56c.as43234.net] has joined #code |
08:58 | | thalass [thalass@Nightstar-a93a3641.bigpond.net.au] has joined #code |
09:47 | | You're now known as TheWatcher |
09:55 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
09:55 | | mode/#code [+o himi] by ChanServ |
10:12 | < froztbyte> | https://github.com/jkbr/httpie |
10:28 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has joined #code |
12:30 | | Kindamoody is now known as Kindamoody|afk |
12:40 | | Iuvtaom [Y@Nightstar-41fd391a.attik.ru] has joined #code |
12:44 | | Iuvtaom [Y@Nightstar-41fd391a.attik.ru] has quit [Ping timeout: 121 seconds] |
12:44 | | thalass [thalass@Nightstar-a93a3641.bigpond.net.au] has quit [[NS] Quit: Leaving] |
13:52 | <&ToxicFrog> | simon`: packrat-parser implementations of PEGs run in linear time but have high (albeit still linear) memory requirements. |
13:52 | < simon`> | ToxicFrog, oh! |
13:53 | < simon`> | ToxicFrog, ah, memoization. neat. |
13:53 | <&ToxicFrog> | Yeah |
13:54 | <&ToxicFrog> | Depending on the implementation and the grammar they can have high constant factors but they won't degrade to exponential time the way some parsing algorithms do. |
13:57 | < Syk> | i hate the following things |
13:57 | < Syk> | proprietary archive formats |
13:58 | < Syk> | 2. proprietary archive formats used by installshield |
13:58 | <&ToxicFrog> | - installshield |
13:58 | < Syk> | fuck installshield |
13:58 | < Syk> | in 19 ways |
13:58 | < Syk> | i am trying to get a single file out of an is cab |
13:58 | < Syk> | NOPE |
13:58 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code |
13:59 | < Syk> | also, it is my birthday in two hours |
14:01 | <&ToxicFrog> | Happy birthday |
14:02 | <&ToxicFrog> | Although I must say, working with InstallShield is pretty much the worst birthday present ever |
14:02 | < Azash> | Which day is that, Syk? Sixth? |
14:02 | < Syk> | 7th |
14:02 | < Syk> | tomorrow i am going and looking at a place to rent |
14:02 | < Syk> | $310 for a showroomy thing and a housey bit |
14:02 | < Syk> | for my business |
14:02 | < Syk> | (per week) |
14:03 | < Syk> | which isn't bad, as 1-bedroom apartments are $400 here |
14:03 | < Syk> | and I can claim half of it as a business expense |
14:03 | < gnolam> | http://duckduckgo.com/tty/ |
14:04 | < Azash> | Nice |
14:04 | < Azash> | Good luck Syk |
14:05 | < Azash> | 09:06 <&McMartin> This feels like playing with forbidden magics. |
14:05 | < Azash> | For me, that usually leads to rollbacks about two hours later |
14:05 | | froztbyte [froztbyte@Nightstar-dc394964.za.net] has quit [Operation timed out] |
14:11 | < gnolam> | For me, that usually leads to a "Eureka!" moment some time later. |
14:13 | < Pandemic> | grate, just when I didn't need more toys to play with some one had to show me duckduckgo |
14:13 | | * Pandemic eyes gnolam |
14:15 | < Azash> | If DDG is a toy then don't mind me calling child protection services |
14:16 | | froztbyte [froztbyte@Nightstar-dc394964.za.net] has joined #code |
14:16 | < Pandemic> | lol |
14:16 | < Pandemic> | I'm not a child |
14:16 | < celticminstrel> | What is it? |
14:16 | < Pandemic> | to me a cisco router is a "toy" |
14:16 | | * Pandemic has a very broiad deffinition |
14:16 | < Pandemic> | broad* |
14:16 | < Azash> | celticminstrel: It's an alternative search engine |
14:17 | < celticminstrel> | Oh. |
14:17 | < Azash> | Respects you but the results.. well |
14:17 | < celticminstrel> | Respects you? :P |
14:17 | < Azash> | Insert GNU moment |
14:17 | < Azash> | :p |
14:17 | < Pandemic> | lets just say not all of the restults would get past HR.... |
14:17 | < celticminstrel> | No SafeSearch equivalent? |
14:18 | | * celticminstrel is restarting now, back soon. |
14:18 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has quit [Client exited] |
14:28 | | Syk [the@Nightstar-7d752098.lnk.telstra.net] has quit [Ping timeout: 121 seconds] |
14:37 | | Syka [the@Nightstar-7d752098.lnk.telstra.net] has joined #code |
14:37 | < Syka> | ok so |
14:38 | < Syka> | Australia just dropped off the internet there for a few minutes |
14:41 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code |
14:43 | < gnolam> | Azash: that particular link of DDG's is indeed a toy. :P |
14:48 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has quit [Client exited] |
14:52 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code |
15:00 | | Kindamoody|afk is now known as Kindamoody |
15:41 | < gnolam> | WTH |
15:41 | < gnolam> | Bullet 2.81 suddenly started cooperating. |
15:41 | < Syka> | wat |
15:41 | < Syka> | it's possessed |
16:00 | < iospace> | oh god i'm such a cheater |
16:00 | < Syka> | whoo birthday! |
16:00 | < iospace> | i'm going to give a report on BIOS next semester |
16:00 | | * Syka levels up |
16:00 | | * Syka gains +1 cynicism |
16:00 | < iospace> | Syka: gains +1 derp |
16:00 | < iospace> | :P |
16:01 | < iospace> | happy birthday |
16:01 | < gnolam> | ... of course, "cooperating" means "crashes and burns in release mode". |
16:01 | < iospace> | what do i do for a job? Work on BIOS (namely UEFI) |
16:02 | | Attilla [Obsolete@Nightstar-6968d56c.as43234.net] has quit [Ping timeout: 121 seconds] |
16:03 | < Syka> | iospace: danke |
16:03 | < Syka> | iospace: also that's just insight :P |
16:03 | | Attilla [Obsolete@Nightstar-6968d56c.as43234.net] has joined #code |
16:03 | < Syka> | just make sure your assignment doesn't violate every BIOS patent known to man |
16:04 | < Azash> | Syka: I shall congratulate you in six hours |
16:06 | < iospace> | Syka: it's a presentation on it, i'm not going to write any code :P |
16:06 | < Syka> | :p |
16:14 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has left #code [] |
16:14 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code |
16:55 | | Pandemic [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Connection reset by peer] |
16:56 | | Pandemic [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
17:09 | | Attilla_ [Obsolete@Nightstar-6968d56c.as43234.net] has joined #code |
17:09 | | Attilla_ [Obsolete@Nightstar-6968d56c.as43234.net] has quit [[NS] Quit: ] |
17:10 | | Attilla [Obsolete@Nightstar-6968d56c.as43234.net] has quit [Ping timeout: 121 seconds] |
17:15 | | mac [mac@Nightstar-cb5f6d54.cc.il.us] has joined #code |
17:30 | | Attilla [Obsolete@Nightstar-48049dbb.as43234.net] has joined #code |
18:06 | | Syka is now known as syksleep |
18:36 | <&ToxicFrog> | what |
18:36 | <&ToxicFrog> | Q: "My subway shoots rockets at me!" |
18:36 | <&ToxicFrog> | A: If a subway's floor is parallaxed, it will fire rockets at the player. |
18:36 | < iospace> | excuse me for a moment |
18:36 | <&ToxicFrog> | (from the eduke32 map editing FAQ) |
18:36 | < iospace> | FUCK YOU TCL |
18:37 | < iospace> | FUCK YOU EXPECT |
18:37 | < Moltare> | ... |
18:37 | < iospace> | FUCK YOU |
18:37 | < iospace> | that is all |
18:37 | < Moltare> | While we're flailing, I note that it's ridiculous that, when one of our arrays chokes on something, the other four all go on strike too. |
18:38 | <@TheWatcher> | ... what |
18:38 | < Moltare> | also that our sprite cache debugs lie, but that's a different woe |
18:38 | < Moltare> | TW: If someone uses an array in a piece of code, and gets it sufficiently wrong as to generate a compile-time error, all five arrays will cease to function |
18:39 | < Moltare> | until that one is fixed |
18:39 | <&ToxicFrog> | all...five arrays? |
18:39 | <&ToxicFrog> | What? |
18:39 | < Moltare> | We only have five |
18:39 | <@TheWatcher> | ... |
18:39 | < mac> | >debug cache lying? > probably not |
18:39 | <&ToxicFrog> | Also, if it's a compile time error, surely everything ceases to work because the code cannot be compiled? |
18:39 | <@TheWatcher> | The more I hear about the environment you have to work within, Mol, the more O.o I get. |
18:39 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has quit [[NS] Quit: Leaving] |
18:40 | < Moltare> | No, TF, only that piece of script and any that call it/are called by it |
18:40 | < mac> | toxicFrog what are you working on that has 5 arryas? |
18:40 | < mac> | arrays* |
18:40 | < Moltare> | Triggers that don't involve it are fine |
18:40 | < Moltare> | mac: The output counts the size of all sprites, while the actual cache doesn't take up more space for duplicate sprites :P |
18:40 | < Moltare> | hence lies |
18:40 | <&ToxicFrog> | mac: I'm not, Mol is |
18:40 | < mac> | o |
18:41 | < Moltare> | And I work on RuneScape, the engine for which has precisely five arrays available for all content being run on any given game server |
18:41 | < Moltare> | Hence no array may persist outside its proc or label. |
18:41 | <&ToxicFrog> | Moltare: I'm now completely lost. You edit a script that uses an array and introduce a compile time error. You rebuild. This means that now any code that references arrays is broken in that build, even if it compiled successfully, until the error is fixed? |
18:41 | < syksleep> | oh god you work on RS |
18:42 | < syksleep> | you poor bastard |
18:42 | < Moltare> | Yes, TF. |
18:42 | < mac> | lol |
18:42 | < syksleep> | now i want to play rs again |
18:43 | < syksleep> | i spent literal days making thousands upon thousands of arrows |
18:43 | < Moltare> | The good news is, in two weeks' time I'm a designer not a developer, so our WONDERFUL LOVELY scripting environment is no longer my problem except as a rant-at-Engine thing |
18:43 | < syksleep> | my fletching and mining was like 99, shit was great |
18:43 | <&ToxicFrog> | Moltare: please tell me that it's only broken in the test build and doesn't somehow break production as well |
18:43 | <&ToxicFrog> | please |
18:44 | < Moltare> | It'll break your entire development stream, but it won't break Live |
18:44 | <&ToxicFrog> | also please tell me that there are long-term plans to replace RS with an actual programming language |
18:44 | < syksleep> | iirc rs is always broken in production |
18:44 | < Moltare> | There are plans to replace Clientscript with Javascript. |
18:44 | <@TheWatcher> | ... |
18:44 | < Moltare> | ...>_> |
18:44 | < syksleep> | ever played RS with 5 to 10 seconds of lag? |
18:44 | < Moltare> | syk: LEss horrendous as of six months ago, when we got version control |
18:44 | < syksleep> | shit is FUN |
18:44 | <@TheWatcher> | Not, I dunno, Lua? |
18:45 | < Moltare> | Sadly that version control a) is Perforce |
18:45 | < Moltare> | b) has only one commit stream, which we share with Transformers Universe who are currently in crunch and |
18:45 | < syksleep> | Moltare: i was surprised that jagex still existed |
18:45 | < Moltare> | c) is tied so tight to our tools that they hang when Perforce is waiting. |
18:46 | < syksleep> | i must remember to check on that RS clone |
18:46 | < Moltare> | re lag, I've only ever played WoW with that much lag |
18:46 | < Moltare> | which as a mage is an excellent way to train your precognitive abilities. |
18:46 | < syksleep> | some guys were making a clone of like 06 RS or some shit |
18:46 | < Moltare> | hahaha, yes |
18:46 | < Moltare> | 2006scape |
18:46 | < syksleep> | those were the days |
18:46 | < Moltare> | It'll be hilarious to watch the rose-tinted specs shatter |
18:47 | < syksleep> | tbh |
18:47 | < Moltare> | The game's objectively better in every single way, apart from its community |
18:47 | < syksleep> | i miss ancient RS and ancient Minecraft |
18:47 | < syksleep> | when shit was basic |
18:47 | | harlow [mac@Nightstar-cb5f6d54.cc.il.us] has joined #code |
18:47 | < syksleep> | I miss MP breaking randomly, and monsters being invulnerable |
18:48 | < Moltare> | Go and play RS now, then come and rage at me about the combat system >_> I'll laugh at you, it'll be great |
18:48 | < syksleep> | has it changed |
18:48 | < harlow> | how much faster/better would runescape be if it were written in java? |
18:48 | < Moltare> | Yes, there /is/ one now, as of a fortnight ago |
18:48 | < syksleep> | does it still freeze up like a whore |
18:48 | <&ToxicFrog> | I thought the client was written in Java |
18:48 | <&ToxicFrog> | And RS is used for server-side scripting |
18:48 | < Moltare> | I'm not familiar with the Freeze Up Like A Whore issue |
18:49 | < Moltare> | The engine and client are both JAva-based |
18:49 | < syksleep> | Moltare: i played RS on dialup |
18:49 | < syksleep> | so uh |
18:49 | <&ToxicFrog> | wait |
18:49 | <&ToxicFrog> | you only got version control six months ago |
18:49 | < Moltare> | client content and game script are proprietary javescript-esque evolution monstrosities. |
18:49 | < syksleep> | and then 128kb/s broadband |
18:49 | < Moltare> | TF: :D |
18:49 | <&ToxicFrog> | you share a repository - not a server, a repository - with a completely unrelated project? |
18:49 | <&ToxicFrog> | what the fuck |
18:49 | | mac [mac@Nightstar-cb5f6d54.cc.il.us] has quit [Ping timeout: 121 seconds] |
18:49 | <&ToxicFrog> | abort abort |
18:49 | < Moltare> | :D |
18:49 | < Moltare> | :D |
18:49 | | harlow is now known as mac |
18:50 | < syksleep> | Moltare: i will literally buy your CEO a book about git |
18:50 | <&ToxicFrog> | command we are experiencing controlled flight into terrain |
18:50 | < syksleep> | :| |
18:50 | <&ToxicFrog> | jettison all of the object files |
18:50 | <&ToxicFrog> | there are spiders crawling out of my nose |
18:50 | < Moltare> | FROG BLAST THE VENT CORE |
18:50 | < syksleep> | or at least send them the excellent free one |
18:50 | <&ToxicFrog> | frog blasted |
18:51 | < syksleep> | i was actually an active member of a big-ish RS community many years ago |
18:51 | < Moltare> | syk: Oh, the Engine team use git |
18:51 | <&ToxicFrog> | I mean, there are worse options than P4, but that kind of assumes you're using it properly |
18:51 | < syksleep> | i was on dialup |
18:51 | < Moltare> | It's just Content who use Perforce |
18:51 | < syksleep> | also, i was 13 |
18:51 | < Moltare> | >_> |
18:51 | < syksleep> | so uh |
18:51 | <&ToxicFrog> | and not just "lol lets just put all the projects in the company in the same repo" |
18:51 | < mac> | moltare : why is it that there are only 2000 people aloud on a server? i mean is it hardware or software that is not fast enough for more players ? |
18:51 | <&ToxicFrog> | "brb eating my own skull" |
18:51 | < syksleep> | mac have you ever seen the trading area |
18:52 | < mac> | yes i have |
18:52 | < syksleep> | fucking ever |
18:52 | <&ToxicFrog> | "yummy" |
18:52 | < syksleep> | world 1 was a nightmare |
18:52 | < mac> | > have you seen the hardware advancements from 2000 |
18:52 | < syksleep> | have you seen the chat box in fally |
18:52 | < Moltare> | mac, most of our player base haven't |
18:52 | < syksleep> | with waving fucking text n shit |
18:52 | < Moltare> | syk, you're behind the times, it's all moved to the GE now :P |
18:52 | < mac> | so its the player base hardware |
18:52 | < syksleep> | Moltare: the wat |
18:53 | < Moltare> | Our minspec machine runs Win98, mac |
18:53 | < Moltare> | The Grand Exchange, the cross-world auction house. |
18:53 | < syksleep> | oh |
18:53 | < syksleep> | okay uh |
18:53 | < Moltare> | West of Varrock? Oh deary me, you have been gone a long time... |
18:53 | < mac> | the programming on that. |
18:53 | <&ToxicFrog> | Moltare: so, wait, there's RuneScript on the server, ClientScript on the clients, both of which are almost but not quite entirely unlike a programming language and use a hand-rolled interpreter? |
18:53 | < mac> | it's got to be crazy |
18:53 | < Moltare> | TF: I haven't got a sarky :D big enough, sorry. |
18:53 | <&ToxicFrog> | And there are plans to replace CS with JavaScript and an off-the-shelf JS VM, and RS with...? |
18:53 | < syksleep> | remember when there was houses |
18:53 | < Moltare> | RS will remain. |
18:54 | <&ToxicFrog> | why |
18:54 | <&ToxicFrog> | why |
18:54 | < syksleep> | i stopped playing about a yeae after houses |
18:54 | < Moltare> | ?\O_?/? |
18:54 | <&ToxicFrog> | why are there developers not digging a grave for it right now |
18:54 | < syksleep> | year* |
18:54 | <&ToxicFrog> | and drinking heavily |
18:54 | < Moltare> | There are, they're called "The Transformers Team" |
18:54 | <&ToxicFrog> | but what |
18:54 | < syksleep> | i remember farming |
18:54 | <&ToxicFrog> | that |
18:54 | <&ToxicFrog> | i don't |
18:54 | <&ToxicFrog> | there |
18:54 | < syksleep> | that was so fun |
18:54 | < syksleep> | for some reason |
18:54 | <&ToxicFrog> | how are they when it's a different game aaaaaaaa |
18:55 | < syksleep> | molt are 3rd party wrappers still b&d |
18:55 | < Moltare> | eyup, we've our own toolbar now >_> |
18:55 | < syksleep> | great |
18:55 | < Moltare> | no |
18:56 | < syksleep> | will it shit itself if i try and play it on linux |
18:56 | < Moltare> | The game or the toolbar? |
18:56 | < Moltare> | The game shouldn't. |
18:56 | | * TheWatcher suggests TF stops trying to understand now, before he starts to hear the distant beating of vile drums, and the thin whine of accursed flutes |
18:56 | < syksleep> | i need to sleep :( |
18:57 | <&ToxicFrog> | too late |
18:57 | < syksleep> | tomorrow i go see my potential new shop/house |
18:57 | < syksleep> | in the industrial arew |
18:57 | < syksleep> | area* |
18:57 | < syksleep> | i will have a literal shop |
18:57 | < syksleep> | it will be soo friggin awesome |
18:58 | < Moltare> | You'll sell literals? |
18:58 | < syksleep> | string literals |
18:58 | < syksleep> | no UTF-8 here |
18:58 | < syksleep> | only SYCII |
18:59 | | * Moltare hisses at strings |
18:59 | < syksleep> | SYKCII? i forget |
18:59 | < syksleep> | tamber what is it |
18:59 | < Moltare> | Damn things need their own client variable format in CS, separate from the other client variable format which doesn't talk to the server variable format |
18:59 | < Moltare> | (are you dead yet, tf) |
18:59 | < syksleep> | lols |
18:59 | < syksleep> | anyway |
19:00 | < syksleep> | sleep. for srs |
19:00 | < syksleep> | nini peoples |
19:14 | | * Tamber mrphblzsnrk? =.o |
19:37 | | mac [mac@Nightstar-cb5f6d54.cc.il.us] has quit [[NS] Quit: This computer has gone to sleep] |
19:52 | | Kindamoody is now known as Kindamoody[zZz] |
19:59 | | Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
19:59 | | mode/#code [+ao Derakon Derakon] by ChanServ |
19:59 | | * Derakon mutters at Python and threads. |
19:59 | <&Derakon> | Had a problem yesterday where the program didn't shut down cleanly; all the windows were gone, but it was still holding onto network resources so the next run of the program didn't work properly. |
20:00 | <&Derakon> | Had to pull up the task manager to kill it properly. |
20:00 | < celticminstrel> | Fun. |
20:00 | <&Derakon> | My guess is that somehow non-daemon threads are getting created; these don't exit when the main thread does. |
20:01 | <&Derakon> | Conveniently, there's a standard Python library function to get all the threads. Unconveniently, you're not allowed to modify the daemon-nature of a thread once it's been started. |
20:01 | <&Derakon> | And AFAICT there's no way to say "kill this thread" except for rejiggering every thread you make to check some kind of exit condition. |
20:02 | < celticminstrel> | Well, that's kinda silly... |
20:02 | < celticminstrel> | Threads don't have a kill method? |
20:02 | <&Derakon> | Nope. |
20:04 | < celticminstrel> | Why not! |
20:04 | | * ToxicFrog successfully mods War of Attrition to combine the two original campaigns! |
20:05 | < celticminstrel> | ? |
20:05 | <&Derakon> | CM: no idea. |
20:08 | <&ToxicFrog> | Because you really shouldn't ever need to. |
20:08 | <&ToxicFrog> | If you're exiting the entire program, call exit() or equivalent. |
20:08 | <&ToxicFrog> | If you're not, tell the threads to shut down in good order. |
20:09 | < celticminstrel> | exit always shuts down all threads? |
20:09 | <&ToxicFrog> | It does on windows and linux, at least. |
20:09 | < celticminstrel> | So all Derakon needs is a sys.exit(0) somewhere? |
20:10 | <&Derakon> | As a matter of fact, that doesn't work. |
20:10 | < celticminstrel> | Well yay. |
20:10 | <&ToxicFrog> | (linux does not support per-thread kills. Windows does via TerminateThread but also tells you to never use it.) |
20:10 | <&Derakon> | Check this: http://pastebin.com/Sd1nRrEx |
20:10 | <&Derakon> | The OnInit function, for some reason, runs in a non-daemon thread. |
20:11 | <&Derakon> | So foo inherits that. |
20:11 | <&Derakon> | And when you close the app, it hangs. |
20:11 | <&Derakon> | The sys.exit() call is reached. |
20:11 | <&Derakon> | It just doesn't do anything. |
20:11 | <&Derakon> | You have to go to the console and Ctrl+C it, which only works if there is a console. |
20:12 | <&ToxicFrog> | You're sure it's reached? Some GUI libraries - I can't remember if wx is one of them - don't automatically bind a mainloop-exit to closing the main window |
20:12 | <&Derakon> | I put a print statement immediately before sys.exit(). It's reached. |
20:13 | | * ToxicFrog does some reasearch |
20:14 | <&ToxicFrog> | What happens if you call os._exit()? |
20:14 | <&ToxicFrog> | It looks like sys.exit() just raises an exception which behaves more like pthread_exit() than like exit(2) |
20:15 | <&Derakon> | Hm, that seems to work. |
20:17 | <&ToxicFrog> | Also |
20:17 | < celticminstrel> | Also also! |
20:18 | <&ToxicFrog> | <Derakon> The OnInit function, for some reason, runs in a non-daemon thread. -- aren't all threads, including the main thread, non-daemonized by default? |
20:18 | <&Derakon> | ...hm, it would seem you are correct. |
20:19 | <&ToxicFrog> | I'm honestly not really understanding the complaint; you seem to be saying "if I start infinitely-running non-daemonized threads, they won't exit on their own" which is, um, yes? |
20:19 | <&Derakon> | I guess I disagree with the default behavior then. |
20:19 | <&Derakon> | IMO when a parent thread exits, its child threads should also exit unless otherwise specified. |
20:20 | <&Derakon> | Particularly I see no reason why WX should be creating non-daemon threads, ever. |
20:20 | <&ToxicFrog> | This is inconsistent with how both linux and windows handle threads, so this is really an OS complaint, not a python or wx complaint. |
20:21 | <&ToxicFrog> | And I don't think it is. Certainly there's nothing in the documentation to suggest that it does. |
20:21 | <&Derakon> | I'm having a pronoun/parse error in your second sentence. |
20:21 | <&ToxicFrog> | Indeed, it's written to freak out if called from multiple threads because the underlying wx library isn't threadsafe. |
20:21 | <&ToxicFrog> | it == WX |
20:21 | <&ToxicFrog> | Are you printing the set of threads during OnInit() and seeing two threads or something? |
20:22 | <&Derakon> | No, I'm printing the daemon status of a newly-created thread, which is inheriting its parent's thread status. |
20:22 | <&ToxicFrog> | Ok, but that is a thread you created |
20:22 | <&Derakon> | The same logic applies to e.g. event handlers. |
20:22 | <&ToxicFrog> | I don't see where you get the conclusion that WX is creating threads at all, daemonized or not |
20:23 | <&Derakon> | Hm, that is a point. |
20:23 | <&Derakon> | I'd assumed that it was for event handlers. |
20:23 | <&ToxicFrog> | And "threads default to non-daemonized", "threads inherit the daemonization status of their creator" and "exiting a thread does not force its child threads to exit" are all places where Python is mirroring the underlying behaviour of the OS threading API. |
20:24 | <&Derakon> | I get that. |
20:24 | <&Derakon> | I don't like the default-non-daemonized but there's presumably some good reason for it that I'm not aware of. |
20:25 | <&Derakon> | I just find it to be extremely irritating that I have to manually set the daemon status on any thread I casually spin up lest it hang around after it becomes completely unable to do anything useful. |
20:25 | <&ToxicFrog> | Why would it be hanging around in the first place? |
20:25 | <&ToxicFrog> | When a thread is no longer useful, it should exit. |
20:25 | < celticminstrel> | What TF said... |
20:26 | <&Derakon> | I don't know which threads are failing, is part of the problem. |
20:26 | <&Derakon> | Because 99% of the time everything works properly. |
20:26 | <&Derakon> | (i.e. all threads exit) |
20:26 | <&Derakon> | (Also irritating: you can't even set the daemon flag as a parameter to the Thread constructor; you have to set it afterwards) |
20:27 | <&Derakon> | (And that is Python's fault) |
20:30 | <&ToxicFrog> | So...you're having trouble debugging a deadlock? |
20:31 | <&Derakon> | Deadlock, errant infinite loop, or something, the fact that it's a heisenbug that only expresses it after all my ability to examine the program state is the main problem. |
20:31 | <&Derakon> | Er, expresses itself. |
20:31 | <&Derakon> | ...the program state is gone is the main problem. |
20:31 | <&Derakon> | Man, I can't type today. |
20:31 | <&ToxicFrog> | (upon reflection, I suspect that most threads are non-daemonized by default because otherwise (map threads #(broadcast % :shutdown)) (pthread_exit) is a race condition0 |
20:32 | <&ToxicFrog> | you can't run it in a debugger and, when everything goes wrong, see what's blocked on what? |
20:32 | < celticminstrel> | ...is that Lisp? |
20:32 | <&ToxicFrog> | celticminstrel: yes |
20:32 | < celticminstrel> | But we're talking Python! :P |
20:33 | <&Derakon> | TF: I could probably but it's been ages since I used a debugger and then only on singlethreaded applications...and, again, I can't provoke it into happening at all reliably. |
20:33 | <&Derakon> | That 99% success rate is actually about accurate. |
20:34 | <&ToxicFrog> | joy |
20:34 | <&ToxicFrog> | I have no experience interactively debugging python, so I can't help there |
20:34 | <&ToxicFrog> | FWIW it's pretty straightforward in gdb |
20:35 | <&Derakon> | In any event, that os_exit(os.EX_OK) jobby should serve as an adequate failsafe. |
20:35 | <&Derakon> | Since this is the kind of bug that can crop up again if you aren't careful, I see no harm in leaving that in even as I try to ensure that all of my threads cleanly exit when they're supposed to. |
20:36 | | * ToxicFrog nods |
20:37 | <&Derakon> | (Especially since the side effects of the bug involve me getting a phonecall from a biologist who can't run the scope because it can't seize necessary network resources) |
20:50 | | Attilla [Obsolete@Nightstar-48049dbb.as43234.net] has quit [Ping timeout: 121 seconds] |
20:54 | | Attilla [Obsolete@Nightstar-48049dbb.as43234.net] has joined #code |
21:15 | | Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [[NS] Quit: leaving] |
22:00 | < Azash> | Happy birthday, Syk |
23:09 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
--- Log closed Fri Dec 07 00:00:25 2012 |