code logs -> 2007 -> Tue, 19 Jun 2007< code.20070618.log - code.20070620.log >
--- Log opened Tue Jun 19 00:00:21 2007
00:02 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Client exited]
00:03 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code
00:03 mode/#code [+o ToxicFrog] by ChanServ
00:13 Derakon[AFK] is now known as Derakon
00:18
<@ToxicFrog>
I present for your entertainment the following regex: ^%[(%d%d)%:(%d%d)%'\''(%d%d)%"%]%s+([^%s]+)%s+([^%s]+)(.*)$
00:19
<@Derakon>
As for your entertainment, good sir, it likens me to nothing less than the scattershot noise of the line.
00:22
<@ToxicFrog>
I note that all % should be \
01:05 GeekSoldier_ [~Rob@Nightstar-4864.pools.arcor-ip.net] has joined #code
01:06 GeekSoldier|Sleep [~Rob@Nightstar-2686.pools.arcor-ip.net] has quit [Ping Timeout]
04:24 * Derakon looks eight hours into the past. "I did know. He pulls town and character names from just about everywhere. Krizsan province is named after his wife, for example."
04:30 GeekSoldier_ is now known as GeekSoldier
04:39 GeekSoldier is now known as GeekSoldier|Work
05:08 ChAfk is now known as Chalain
05:10 Reiver is now known as ReivOut
05:40 Chalcedon [~Chalcedon@Nightstar-15747.ue.woosh.co.nz] has joined #code
05:40 mode/#code [+o Chalcedon] by ChanServ
05:43 Vornicus-Latens is now known as Vornicus
05:44 Chalcedon is now known as ChalcyAFK
06:04 ReivOut is now known as Reiver
06:19 ChalcyAFK is now known as Chalcedon
06:47 Chalain is now known as ChAfk
06:47 Derakon is now known as Derakon[AFK]
06:48 GeekSoldier|Work is now known as GeekSoldier
07:05 Derakon[AFK] [~Derakon@Nightstar-12922.sea2.cablespeed.com] has quit [Ping Timeout]
07:06 Thaqui [~Thaqui@Nightstar-8027.adsl.xtra.co.nz] has joined #code
07:06 mode/#code [+o Thaqui] by ChanServ
07:35 gnolam [lenin@Nightstar-13557.8.5.253.se.wasadata.net] has joined #Code
07:36 mode/#code [+o gnolam] by ChanServ
08:04 You're now known as TheWatcher
08:43 Thaqui [~Thaqui@Nightstar-8027.adsl.xtra.co.nz] has quit [Ping Timeout]
08:59 KBot [~karma.bot@Nightstar-29672.neoplus.adsl.tpnet.pl] has joined #Code
09:01 KarmaBot [~karma.bot@Nightstar-29667.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
09:01 UndeadAnno [~farkoff@Nightstar-29667.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
09:01 KBot is now known as KarmaBot
09:07 AnnoDomini [~farkoff@Nightstar-29672.neoplus.adsl.tpnet.pl] has joined #Code
09:41 Chalcedon [~Chalcedon@Nightstar-15747.ue.woosh.co.nz] has quit [Quit: Gone]
10:28 Reiver is now known as ReivOut
10:42 Thaqui [~Thaqui@Nightstar-11535.jetstream.xtra.co.nz] has joined #code
10:42 mode/#code [+o Thaqui] by ChanServ
11:03 ReivOut is now known as Reiver
12:14 Serah [~Z@87.72.35.ns-26506] has quit [Ping Timeout]
12:20 mode/#code [+o AnnoDomini] by ChanServ
13:35 Thaqui [~Thaqui@Nightstar-11535.jetstream.xtra.co.nz] has left #code [Leaving]
14:01 Vornicus [~vorn@Admin.Nightstar.Net] has quit [Quit: Leaving]
15:04 GeekSoldier_ [~Rob@Nightstar-3103.pools.arcor-ip.net] has joined #code
15:05 GeekSoldier [~Rob@Nightstar-4864.pools.arcor-ip.net] has quit [Ping Timeout]
15:10 Serah [~Z@87.72.35.ns-26506] has joined #Code
15:10 mode/#code [+o Serah] by ChanServ
15:13 GeekSoldier_ is now known as GeekSoldier
15:29 Vornicus [~vorn@67.50.40.ns-3674] has joined #code
15:29 mode/#code [+o Vornicus] by ChanServ
15:31
<@ToxicFrog>
Argh. My brain doesn't want to bend this way.
15:31
<@Vornicus>
??
15:31
<@ToxicFrog>
I'm fiddling with my OO library.
15:32
<@ToxicFrog>
Class is an instance of itself.
15:33 * Pi points and laughs at ToxicFrog
15:33
<@Vornicus>
ah, well
15:36
<@Pi>
I suppose it depends on the language, but the only class I can imagine would meet that criterion would be Type.
15:36
<@ToxicFrog>
Smalltalk does that as well, I believe.
15:36
<@ToxicFrog>
In any case, this is Lua.
15:36
<@Pi>
Why do you hate yourself?
15:36
<@Vornicus>
Java's Class class does that.
15:37
<@ToxicFrog>
If I hated myself I would be doing this in Perl~
15:37
<@Vornicus>
Usually you get this kind of wackiness in the foundational classes, in particular Class and Object.
15:37
<@ToxicFrog>
I haven't even looked at implementing Object yet.
15:38
<@ToxicFrog>
But I should, actually.
15:38
<@ToxicFrog>
Since in theory it should go Object->Class
15:38
<@Vornicus>
(Class is an instance of itself, and inherits from Object; Object is an instance of Class.)
15:38
<@ToxicFrog>
(which would also solve my issues with instanceof)
15:38
<@Pi>
With Object, the class is actually an instance of a derived class.
15:38
<@ToxicFrog>
The problem here is that Object is also an instance of Class, which is a subclass of Object
15:38 * ToxicFrog wraps his head with duct tape to keep it from exploding
15:41
<@Vornicus>
Then there's the madness with thenumeric class hierarchy - though most languages don't touch that.
15:42
<@ToxicFrog>
"numeric class heirarchy"?
15:42
<@Vornicus>
Integer extends Rational extends Real extends Complex.
15:42
<@ToxicFrog>
Aah.
15:43
<@ToxicFrog>
Yeah, not going there. If someone wants complex numbers they can write their own classes for same~
15:50 * TheWatcher eyes his assert replacement, stabs it
15:51
<@TheWatcher>
Why doth thou not work, thee accursed pile of misbegotten code?
15:51
< GeekSoldier>
it's not assertive enough?
15:52 ToxicFrog is now known as ToxicFrog|W`rkn
15:53 * TheWatcher bleghs, breaks out gdb
15:55
<@ToxicFrog|W`rkn>
...hmm. I have a bad feeling about this.
15:56
<@ToxicFrog|W`rkn>
Oh, awesome.
15:56
<@ToxicFrog|W`rkn>
Lua will detect loops in __index.
16:08
<@Vornicus>
loops?
16:09
<@Vornicus>
What specific kind of loop is this?
16:10
<@ToxicFrog|W`rkn>
If, say, a's __index refers to b, b's __index refers to c, and c's __index refers to a.
16:10
<@ToxicFrog|W`rkn>
Without loop detection, asking for a field in any of those tables that exists in none of them would livelock the program.
16:10
<@Vornicus>
what's __index do? Obviously I missed that bit.
16:10
<@Vornicus>
aha
16:11
<@ToxicFrog|W`rkn>
The fallback for the table index operator []. If you ask for a field that doesn't exist and the table has an __index metamethod, it uses that instead.
16:11
<@Vornicus>
aha
16:11
<@ToxicFrog|W`rkn>
> o = {}; c = {}
16:11
<@ToxicFrog|W`rkn>
> setmetatable(o, { __index = c }); setmetatable(c, { __index = o })
16:11
<@ToxicFrog|W`rkn>
> print(o.foo)
16:11
<@ToxicFrog|W`rkn>
stdin:1: loop in gettable
16:11
<@Vornicus>
/win/
16:12
<@ToxicFrog|W`rkn>
Still, this is not helping with the head-explodey ;.;
16:13 * TheWatcher eyes gdb, eyes the mistake he had made, headdesks repeatedly
16:14 Non[S]top [~Desert@196.204.153.ns-22651] has joined #Code
16:15 Non[S]top [~Desert@196.204.153.ns-22651] has left #Code []
17:16 You're now known as TheWatcher[afk]
17:49 Reiver is now known as ReivSLEP
18:18 You're now known as TheWatcher
18:42 AnnoDomini is now known as UndeadAnno
18:56 UndeadAnno [~farkoff@Nightstar-29672.neoplus.adsl.tpnet.pl] has quit [Quit: What can change the nature of a man?]
18:59 AnnoDomini [~farkoff@Nightstar-29672.neoplus.adsl.tpnet.pl] has joined #Code
18:59 mode/#code [+o AnnoDomini] by ChanServ
19:06 AnnoDomini is now known as UnaliveAnno
19:45
<@Vornicus>
<Vorn> (insert rant on music player interfaces)
19:45
<@Vornicus>
<Champ> well, I don't know what to tell you
19:45
<@Vornicus>
<Vorn> I know what to tell me.
19:45
<@Vornicus>
<Vorn> "Vorn, you're a fucking interface nazi."
19:51 * gnolam curb stomps PHP.
20:03 GeekSoldier is now known as GeekSoldier|Bed
20:07 UnaliveAnno is now known as C`raksh`su
20:40 * gnolam curb stomps PHP /again/.
20:47 * ToxicFrog|W`rkn kills #lua with fire.
20:51
<@Vornicus>
what's wrong with it?
20:53
<@ToxicFrog|W`rkn>
It's full of morons.
20:55
<@ToxicFrog|W`rkn>
I would love to have someone come in and ask a question that doesn't boil down to "please teach me how to use the Lua<->C API, because I'm too lazy to read chapter 3 myself"
21:10
<@Vornicus>
ah
21:10
<@Vornicus>
Remind me, I need to learn the Lua<->C API at some point.
21:10
<@Vornicus>
But for some reason last time I couldn't wrap my head around Lua at all.
21:18
<@ToxicFrog|W`rkn>
o.O
21:18
<@ToxicFrog|W`rkn>
It's such a small language, though!
21:19
<@ToxicFrog|W`rkn>
And the API is fairly large, but most of that is type bloat; conceptually it's very simple.
21:20
<@Vornicus>
The manual was totally opaque, is the problem I had.
21:21
<@ToxicFrog|W`rkn>
This statement fills me with confusion.
21:21
<@ToxicFrog|W`rkn>
I think we've had this conversation before, and it filled me with confusion then too.
21:23
<@Vornicus>
Then there's the whole "globals by default" thing, which is quite frankly the stupidest of all possible language design decisions ever.
21:24
<@ToxicFrog|W`rkn>
I disagree, but it is slightly annoying.
21:25
<@Vornicus>
well, okay, systems-hungarian warts in a scripting language is pretty bad too.
21:25
<@ToxicFrog|W`rkn>
1-indexed arrays are vastly worse than globals by default, but still not the worst design decision ever,.
21:26
<@Vornicus>
I don't see too much problem with 1-indexed arrays, personally.
21:30
<@Vornicus>
Though this is probably my math bias talking, where 1-indexing is approximately as common as 0-indexing, and the choice is made for readability.
21:30
<@ToxicFrog|W`rkn>
Zero-indexing makes a bunch of stuff easier, none of which I can think of at the moment~
21:31
<@Vornicus>
index <-> pointer conversion
21:31
<@ToxicFrog|W`rkn>
Other than that.
21:31
<@ToxicFrog|W`rkn>
Which is irrelevant in Lua,.
21:32 * ToxicFrog|W`rkn wraps his head in more duct tape
21:32
<@Vornicus>
(which I once brought down a professor on. Fucker was incompetent, and it was my first chance to prove that he didn't know what he was talking about)
21:37 * Vornicus tries some things.
21:39
<@Vornicus>
Heap invariant... 0: heap[n] < {heap[2n+1], heap[2n+2]}; 1: heap[n] < {heap[2n], heap[2n+1]}... nothing particularly useful there...
21:41
<@Vornicus>
iteration: for (k = 0; k < len; k++); for (k = 1; k <= len; k++)... nope.
21:42
<@Vornicus>
null-termination strlen(): 0: while(str[k]) k++; return k .... 1: while(str[k]) k++; return k - 1 .... okay that's a little bit more elegant with 0 indexing...
21:44
<@ToxicFrog|W`rkn>
Argh. There was something just this weekend where I was thinking "goddamnit, this would be easier with 0-indexing", but now I can't remember what it was.
21:46 * ToxicFrog|W`rkn flails at this OO library
21:49 gnolam is now known as his_inflatable_sheep
21:49 his_inflatable_sheep is now known as gnolam
21:58
<@Vornicus>
Idunno. I can't really think of any.
21:59
<@ToxicFrog|W`rkn>
THERE'S FOAM IN MY BRAIN
22:00 * Vornicus gets the shop vac.
22:00 * C`raksh`su sets fire to the foam.
22:00 * jerith throws a foam party.
22:11
<@jerith>
ls | tail -n $(($RANDOM % `ls | wc -l`)) | head -n 1
22:12
<@jerith>
How to choose a random file. :-)
22:12
<@Vornicus>
silliness
22:12
<@jerith>
Useful, though.
22:13
<@jerith>
Well, useful if you have a dir full of files and want to choose a random one.
22:13
<@Vornicus>
...now this indexing thing is gonna gnaw at me.
22:14 * jerith gnaws on Vorn as well.
22:15
<@Vornicus>
gah
22:15 * Vornicus throws jerith off the earth
22:16
<@jerith>
Ooh, can you do that with commercial payloads as well?
22:17 * Vornicus throws jerith's mining drone off the earth.
22:18 * jerith starts "jerith Orbital Insertion, plc" and employs Vorn.
22:19 * Vornicus flargs
22:21 * gnolam invests in jerith Orbital Insertion PLC thinking it's a Space Porn company.
22:21 * jerith diversifies.
22:22
<@jerith>
Now, where to find German midget astronauts...
22:24
<@gnolam>
That's easy. Getting the donkey up there, now /that's/ the tough part.
22:24
<@jerith>
As long as it's a small donkey.
22:24
<@jerith>
We know Vorn can already lauch a 108kg payload.
22:25
<@jerith>
I suppose we could lauch the donkey in parts and have the midgets put it together in orbit...
22:28 * gnolam laughs out loud.
22:47 Chalcedon [~Chalcedon@Nightstar-15747.ue.woosh.co.nz] has joined #code
22:47 mode/#code [+o Chalcedon] by ChanServ
23:11 * ToxicFrog|W`rkn submits a 650-file, 40MB changelist.
23:14
<@Vornicus>
This is your Mass Insanity Linux Porting Thingy?
23:14
<@ToxicFrog|W`rkn>
No, that's the 1,300 file one.
23:14
<@ToxicFrog|W`rkn>
This one is just adding gcc-4.2 to the toolchain and Makefiles.
23:14
<@ToxicFrog|W`rkn>
And thus most of those are adds.
23:17
<@ToxicFrog|W`rkn>
Aah, it's even bigger than I thought!
23:17
<@Vornicus>
heh
23:17
<@ToxicFrog|W`rkn>
2,045 files, of which 1,406 are edits.
23:17
<@ToxicFrog|W`rkn>
(the remainder are mostly renames)
23:18
<@ToxicFrog|W`rkn>
I love bash.
23:19 * Vornicus prefers gratuitously insult.
23:20
<@ToxicFrog|W`rkn>
Can you fix #include case mismatches across a 600MB source tree in 55 lines of gratuitously insult?
23:21
<@Vornicus>
No, but I can sure gratuitously insult it. :)
23:21
<@ToxicFrog|W`rkn>
Heh.
23:21
<@Vornicus>
okay, I'm getting THE SLEEP MADNESS
23:22
<@ToxicFrog|W`rkn>
...the mental image that evokes is of Descent, wtf
23:22
<@ToxicFrog|W`rkn>
"I think you have something of a demon fixation." "I do not have a demon fixation!" "Ok, what do you think of when I say bagels?" "Demons. ...oh. Huh. I see what you mean."
23:23 You're now known as TheWatcher[T-2]
23:23
<@Vornicus>
I must agree, that is of wtf.
23:25
<@ToxicFrog|W`rkn>
Yeah, normally I can get a stack trace on things like that, but as far as I can tell there are no intervening stack frames here.
23:25 You're now known as TheWatcher[zZzZ]
23:45 Vornicus is now known as Vornicus-Latens
--- Log closed Wed Jun 20 00:00:28 2007
code logs -> 2007 -> Tue, 19 Jun 2007< code.20070618.log - code.20070620.log >