code logs -> 2012 -> Thu, 06 Dec 2012< code.20121205.log - code.20121207.log >
--- 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
code logs -> 2012 -> Thu, 06 Dec 2012< code.20121205.log - code.20121207.log >

[ Latest log file ]