←2008-06-29 2008-06-30 2008-07-01→ ↑2008 ↑all
00:02:35 <AnMaster> where was ais?
00:02:36 <AnMaster> :)
00:02:37 <AnMaster> :(*
00:02:40 <AnMaster> I meant :(
00:04:32 <tusho> AnMaster: it's sunday
00:04:46 <tusho> ais isn't always here on sunday
00:04:47 <AnMaster> tusho, and?
00:04:51 <AnMaster> ah
00:04:52 <tusho> and when he is he leaves at 7pm gmt
00:04:52 <AnMaster> is never
00:04:53 <AnMaster> you mean
00:04:54 -!- timotiis has quit (Read error: 110 (Connection timed out)).
00:04:59 <AnMaster> or?
00:05:07 <tusho> isn't always
00:05:14 <AnMaster> ah right
00:05:23 * AnMaster is half asleep
00:13:44 <oklopol> o
00:16:23 <tusho> oko
00:28:30 <oklopol> oko
00:42:01 <tusho> oko
00:51:56 <augur> la :D
01:12:56 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
01:24:36 -!- Slereah has joined.
01:35:09 -!- tusho has quit.
02:55:40 -!- Corun has quit ("This computer has gone to sleep").
04:01:00 -!- Slereah_ has joined.
04:01:20 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
04:06:08 -!- Slereah has joined.
04:06:08 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
04:55:57 -!- pikhq has quit ("leaving").
07:29:17 -!- oklopol has quit (Read error: 110 (Connection timed out)).
07:48:40 -!- oklofok has joined.
07:54:34 -!- cherez has quit (Read error: 110 (Connection timed out)).
07:55:34 -!- oklofok has quit (Connection reset by peer).
07:55:54 -!- cherez has joined.
07:56:14 -!- dbc has joined.
07:56:52 -!- cherez has quit (Client Quit).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:38:49 -!- cherez has joined.
08:41:25 -!- GreaseMonkey has joined.
09:53:03 -!- KingOfKarlsruhe has joined.
11:08:03 -!- GreaseMonkey has quit ("Remote closed the previous member app").
11:33:24 -!- eduardopl has quit (Remote closed the connection).
11:34:08 <AnMaster> Deewiant, there?
11:34:21 <AnMaster> from CCBI:MAX = 16383_9999 - PADDING
11:34:25 <AnMaster> what does the _ do?
11:46:24 <AnMaster> Deewiant, also line 98 of turt.d contains an error, it should say "p.y" not "p.x"
11:55:40 -!- olsner has joined.
12:00:20 -!- oklopol has joined.
12:07:36 <olsner> I believe I've added myself to the esolang frappr map now
12:19:56 <Slereah> Believe?
12:20:09 <Slereah> Is it an article of faith?
12:23:06 -!- oklopol has left (?).
12:23:06 -!- oklopol has joined.
12:24:36 <oklopol> olsner: WHO ARE YOU?
12:27:08 <olsner> oklopol: WHAT DO YOU WANT?
12:27:08 <cctoide> Sler, when does your bam run out
12:49:25 <Slereah> It lasts ten days and a third.
12:49:37 <Slereah> And I think it was made on the 24th.
13:25:56 -!- RedDak has joined.
13:28:19 <AnMaster> yay my TURT seems to work
13:34:39 <Slereah> I LIKE TURTLES
13:56:34 -!- Corun has joined.
13:59:06 <cctoide> so i herd u like logo
14:01:29 -!- pikhq has joined.
14:05:19 <AnMaster> TURT is implemented
14:05:29 <AnMaster> cctoide, no Befunge TURT
14:05:38 <AnMaster> http://catseye.tc/projects/funge98/library/TURT.html
14:17:41 -!- olsner has quit ("Leaving").
14:34:45 <AnMaster> Deewiant, ccbi and cfunge both fails on the TURT quine
14:35:00 <AnMaster> ccbi:
14:35:01 <AnMaster> <svg version="1.1" baseProfile="tiny" xmlns="http://www.w3.org/2000/svg" viewBox="-163839.0999 -163839.0999 327679.0998 327679.0998">
14:35:03 <Deewiant> and is it because the quine is wrong or because the implementation is wrong :-)
14:35:07 <AnMaster> cfunge:
14:35:09 <AnMaster> <svg version="1.1" baseProfile="tiny" xmlns="http://www.w3.org/2000/svg" viewBox="-0.0011 -0.0251 0.0022 0.0502">
14:35:17 <AnMaster> Deewiant, don't know yet
14:35:24 <Deewiant> _ does nothing
14:35:31 <AnMaster> Deewiant, however I do know there is a bug in ccbi's TURT
14:35:34 <Deewiant> it's just so you can write 1000000 as 10_000_000
14:35:38 <AnMaster> <AnMaster> Deewiant, also line 98 of turt.d contains an error, it should say "p.y" not "p.x"
14:35:40 <Deewiant> and thanks for line 98
14:36:13 <AnMaster> Deewiant, for mycology the generated file looks exactly the same for ccbi and cfunge
14:36:26 <AnMaster> as I just converted your code to C
14:39:31 <AnMaster> Deewiant, do you feel like debugging ccbi for that line?
14:39:33 <AnMaster> err
14:39:37 <AnMaster> for that program
14:39:44 <Deewiant> not really
14:39:46 <Deewiant> :-P
14:39:47 <AnMaster> ouch
14:39:50 <AnMaster> :P
14:40:16 <AnMaster> also mine is a direct translation of your program to C so why differen't result
14:40:44 <Deewiant> obvious, your translation is wrong :-P
14:40:57 <AnMaster> yes
14:40:59 <AnMaster> :/
14:42:18 -!- Corun has quit ("This computer has gone to sleep").
14:43:21 <Deewiant> but hmm, that's a pretty weird viewbox
14:44:48 <Deewiant> well, whatever, just figure it out and tell me later :-P
14:45:02 <AnMaster> Deewiant, I don't think I want to
14:45:13 <Deewiant> that's fine too
14:45:29 <AnMaster> I mean it is unreadable, *invents doxygen for befunge*
14:46:05 <Deewiant> Befunge unreadable? Oh noes!
14:46:11 <AnMaster> best done in befunge converted to trefunge, simply place comments as going outwards from the instruction in question!
14:46:33 <Deewiant> yes, and have fun reading it with a text editor :-)
14:47:29 <AnMaster> haha true
14:51:48 <AnMaster> Deewiant, line 352 of turt.d must be wrong
14:52:00 <AnMaster> it should be file.output.write(NewlineString~\t);
14:52:01 <AnMaster> I bet
14:52:11 <AnMaster> that is removing the last "~NewlineString"
14:52:36 <Deewiant> why
14:52:48 <AnMaster> check your output file
14:53:01 <Deewiant> looks good to me?
14:53:04 <AnMaster> the tab should it seems be indention of next line
14:53:20 <AnMaster> or should there be lines with just a tab on it?
14:53:38 <AnMaster> http://rafb.net/p/NI1hWs64.html
14:53:43 <AnMaster> doesn't that seem strange?
14:54:07 <Deewiant> I don't have any input program with that big output :-)
14:54:39 <AnMaster> Deewiant, well a sec
14:54:51 <AnMaster> Deewiant, http://www.quote-egnufeb-quote-greaterthan-colon-hash-comma-underscore-at.info/befunge/tquine.bf
14:54:59 <AnMaster> Deewiant, and agree the output is wrong there?
14:55:51 <Deewiant> BTW, unrelated: if these are befunge-93 as they likely are, that may be a reason why it doesn't work
14:56:01 <AnMaster> hum?
14:56:08 <Deewiant> that program
14:56:12 <AnMaster> befunge-93 didn't have that fingerprint
14:56:20 <Deewiant> d'oh, silly me
14:56:21 <Deewiant> good point :-P
14:56:34 <AnMaster> befunge93 didn't have fingerprints even
14:56:41 <Deewiant> yep
14:57:17 <AnMaster> also it seems to be 30 lines long and 105 columns wide
14:57:29 <pikhq> http://wiki.osdev.org/DegenerateOS
14:57:36 <Deewiant> I was just looking at the file extension
14:57:39 * pikhq wants to hand-toggle a bootup sequence now
14:57:52 -!- Iskr has joined.
14:58:05 -!- ais523 has joined.
14:58:43 <AnMaster> pikhq, haha
15:05:44 <Deewiant> hmm, I edited the .svg file a bit and opened it in firefox and now I think it's looping infinitely :-/
15:06:02 <ais523> Deewiant: are you trying to demonstrate SVG is Turing-complete?
15:06:20 <Deewiant> no, I just wanted to see the output of the TURT quine
15:06:35 <ais523> ah, ok
15:06:36 <AnMaster> Deewiant, did you fix your indention bug
15:06:44 <Deewiant> yeah, right you were
15:06:47 <ais523> I think SVG is Turing-complete, but possibly you need to embed JS in it to manage that
15:07:03 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
15:07:08 <Deewiant> it's infinite-loop-complete apparently
15:07:45 <AnMaster> Deewiant, well the cfunge one simply crashes inkscape, while the ccbi ones locks it up
15:07:49 <ais523> possibly ODF is too, I managed to create a .odf file once that crashed both OpenOffice.org and AbiWord
15:07:57 <ais523> as in, both of them hung and wouldn't respond
15:07:59 <Deewiant> removing the <path> I get a lot of circles
15:08:07 <AnMaster> ais523, reported a bug?
15:08:17 <ais523> AnMaster: no, because I have no clue what's going on
15:08:32 <AnMaster> ais523, send the file and say "this locks it up"?
15:08:33 <ais523> probably it specified a computation which was far to complex for anything to manage in a reasonable length of time
15:08:37 <ais523> so they weren't hung, just computing
15:08:48 <ais523> and I'll have to find the file
15:08:48 <ais523> I can't remember what's in it
15:08:50 <ais523> or how I made it in the first place
15:08:58 <Deewiant> so either these programs can't handle those huge paths (most likely) or there's something weird there
15:09:01 <ais523> ah, I think it may have been the C-INTERCAL manual, automatically translated from DocBook
15:09:04 <Deewiant> because it shouldn't loop infinitely
15:09:34 <AnMaster> Deewiant, yeah
15:09:56 <Deewiant> I think the path is just too long
15:10:03 <AnMaster> Deewiant, does the dots correspond to http://www.quote-egnufeb-quote-greaterthan-colon-hash-comma-underscore-at.info/befunge/tqout.gif in any way?
15:10:19 <Deewiant> no
15:10:24 <AnMaster> hrrm
15:10:37 <Deewiant> looked like diagonal lines going from top left to bottom right
15:10:41 <Deewiant> with varying spacing between the dots
15:10:44 <Deewiant> but even spacing between the lines
15:11:01 <AnMaster> interesting
15:11:18 <ais523> does Mycology test TURT?
15:11:26 <Deewiant> very little
15:11:29 <ais523> and, for that matter, are you going to add a test for IFFI?
15:11:41 <Deewiant> not enough to see if it actually works in any real-life situation
15:11:43 <Deewiant> and what's IFFI
15:11:44 <AnMaster> ais523, you could write it
15:11:50 <Deewiant> (for Fungey values of "real-life")
15:11:55 <ais523> AnMaster: yes, I suppose so
15:12:03 <AnMaster> Deewiant, FFI to INTERCAL :P
15:12:05 <ais523> but it would rely on having a particular INTERCAL program to cooperate with
15:12:09 <AnMaster> yes
15:12:11 <Deewiant> eugh >_<
15:12:21 <AnMaster> ais523, so you got to write that
15:12:34 <AnMaster> ais523, I can say I'm not going to :P
15:12:46 <Deewiant> nor am I o/
15:12:52 <ais523> AnMaster: I suppose it could mess around with o to create the INTERCAL program, then = to run ick and recompile the FFI, then finally run the result with =
15:13:04 <AnMaster> ugh
15:13:06 <Deewiant> I don't use =, it's not portable
15:13:11 <AnMaster> ais523, you could just create a test suite
15:13:16 <AnMaster> with a make file
15:13:19 <AnMaster> or a shell script
15:13:19 <ais523> yes, I suppose that would make more sense
15:13:26 <Deewiant> given that it's valid for = to run its input as perl, for instance
15:14:08 <AnMaster> Deewiant, anyway I only expect one interpreter will implement IFFI ever: ais523
15:14:16 <AnMaster> ais523's* cfunge variant
15:14:42 <Deewiant> :-)
15:15:19 <AnMaster> ais523, anyway I got good news: the fingerprint TURT kind of works
15:15:22 <AnMaster> it works for mycology
15:15:26 <AnMaster> no idea if it works for anything else
15:16:15 -!- ais523_ has joined.
15:16:21 <AnMaster> ais523, check log
15:16:45 <ais523_> [Mon Jun 30 2008] [15:14:29] <ais523> incidentally, I have made some progress
15:16:47 <ais523_> [Mon Jun 30 2008] [15:15:12] <ais523> so far, I've got enough of an FFI to run a Befunge program, then an INTERCAL program when IFFI's loaded, in that order
15:16:50 <ais523_> except it doesn't work
15:16:57 <ais523_> at least I've written enough to test it...
15:17:01 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
15:17:15 -!- ais523_ has changed nick to ais523.
15:17:48 <AnMaster> ais523, very nice
15:18:11 <ais523> well, IFFI's there simply to add the combination instructions in a way Funge programs will understand
15:18:12 <AnMaster> damn segfault
15:18:26 <ais523> although it's generic, so presumably it would be possible to, say, link to CLC-INTERCAL instead
15:18:29 <ais523> but I'm unlikely to code that
15:18:38 <ais523> a C-INTERCAL/CLC-INTERCAL ffi would be more likely
15:18:46 <AnMaster> ais523, hehe?
15:18:47 <ais523> but I have no idea how Perl responds to stupid stack tricks...
15:18:59 <AnMaster> you would have to find out
15:19:00 <ais523> probably badly
15:19:13 <ais523> either that, or it could just be done over TCP/IP
15:19:20 <AnMaster> or unix socket
15:19:24 <ais523> I have to get round to writing a theft client for C-INTERCAL at some point
15:19:26 <AnMaster> or pipes
15:19:33 <AnMaster> ais523, a what?
15:19:42 <ais523> AnMaster: it's the CLC-INTERCAL networking extension
15:19:48 <ais523> basically you can steal variables from other programs
15:19:51 <ais523> to transmit information
15:19:55 <ais523> it's a pull model rather than a push model
15:20:00 <ais523> and it works over TCP/IP
15:20:24 <ais523> you can even do things like steal filehandles to do a networked version of cat
15:20:36 <ais523> steal the other process's stdout, then write to it
15:22:28 <AnMaster> ais523, huh I see
15:22:39 <AnMaster> how can you send filehandles over tcp?
15:22:51 <ais523> AnMaster: well, you don't, there's a protocol that manages it all transparently
15:23:00 <ais523> setting up daemons at each end to forward information
15:23:03 <ais523> it's really quite impressive
15:23:07 <AnMaster> well urgh
15:23:13 <AnMaster> intercally
15:23:19 -!- oerjan has joined.
15:23:22 <ais523> but from the user's point of view, it's all seamless
15:23:57 <AnMaster> ais523, odd macros redefining fputs?
15:23:59 <AnMaster> or what?
15:24:05 <AnMaster> oh wait... perl
15:24:14 <ais523> AnMaster: the Perl program uses a completely abstracted I/O system
15:24:33 <AnMaster> I see
15:24:41 <ais523> for C-INTERCAL, I'd probably just redefine WRITE IN and READ OUT and all that to work correctly in the abstracted version
15:24:49 <ais523> so filehandle theft wouldn't extend to C or Befunge programs
15:25:00 <ais523> in fact, I'd probably write it in C as an expansion library
15:25:15 <AnMaster> better than writing it in intercal
15:25:19 <ais523> well, yes
15:25:32 <AnMaster> does C-INTERCAL have network support?
15:25:37 <ais523> not yet
15:25:49 <ais523> CLC-INTERCAL does, so I was just going to copy it as usual
15:25:51 <AnMaster> well cfunge will have in future with SOCK fingerprint
15:26:08 <AnMaster> but TURT will take some time to get correct
15:26:23 <ais523> there's been huge amounts of feature smugglign between the two leading implementations of INTERCAL
15:26:31 <ais523> but IMO that isn't a problem as it makes them more compatible with each other
15:29:30 <AnMaster> ais523, oh, so CLC also steal from C-INTERCAL?
15:29:45 <ais523> well, for some things
15:29:51 <ais523> like the non-English character setes
15:29:55 <ais523> s/setes/sets/
15:30:00 <ais523> its signature features are mostly new
15:30:07 <ais523> oh, it stole TriINTERCAL too
15:30:08 <oerjan> once there are enough features in both, you can start aiming for an ISO standard
15:30:54 <AnMaster> haha
15:31:08 * oerjan wonders if ISO does April Fool jokes like RFCs do
15:31:21 -!- Iskr_ has joined.
15:33:26 <oerjan> are the C- and CLC- implementations very similar under the hood?
15:33:40 <ais523> no, they're more or less as different as possible
15:39:46 -!- Iskr has quit (Read error: 110 (Connection timed out)).
15:42:57 -!- Corun has joined.
15:57:59 -!- ais523 has quit (Read error: 113 (No route to host)).
16:00:52 -!- ais523 has joined.
16:05:52 <AnMaster> ais523, wb
16:06:02 <ais523> ah, I was having some issues with setting up Evolution
16:06:06 <ais523> and ended up rebooting
16:06:11 <ais523> because I was confused and everything kept crashing
16:06:15 <ais523> it's OK now, though, I hope
16:08:04 <AnMaster> Deewiant, does valgrind work on D?
16:08:18 <Deewiant> possibly
16:08:32 <AnMaster> Deewiant, I suspect your program may have some issues, at least your loop over the paths caused a valgrind error when translated
16:08:33 <Deewiant> not sure if it agrees with DMD
16:08:39 <AnMaster> needed a slight change
16:08:50 * AnMaster made it into a while loop
16:08:58 <AnMaster> the way I would loop over a linked link
16:10:21 <Deewiant> how could it possibly not work :-)
16:10:32 <ais523> a linked link?
16:10:40 <pikhq> ...
16:10:46 <AnMaster> ais523, yes why?
16:10:58 <ais523> it's just an interesting concept
16:11:00 <pikhq> Deewiant: If it doesn't agree with DMD, it *should* agree with GDC.
16:11:00 <Deewiant> and when it comes to valgrind errors I'm sceptical... D initializes everything by default so hitting uninitialized memory is something one has to do manually :-P
16:11:08 <pikhq> (no guarantees)
16:11:09 <Deewiant> pikhq: yes, and that it might.
16:11:13 <Deewiant> exactly, no guarantees. :-)
16:11:17 <Deewiant> haven't tried it myself.
16:11:19 <AnMaster> Deewiant, seems like gcc generates code that try to access some memory at the 0x0 at the end of the list
16:11:44 <Deewiant> might be that your translation was mucked up again
16:12:01 <AnMaster> maybe, I guess for() have different syntax in D?
16:12:03 <Deewiant> for (stuff; p; stuff) -> p is not null in the loop.
16:12:08 <Deewiant> no, same syntax.
16:12:12 <Deewiant> but possibly ./-> confusion or something.
16:12:14 <AnMaster> well then very strange
16:12:47 <AnMaster> blergh updating imagemagick means rebuilding a lot of stuff
16:12:56 <AnMaster> broken /usr/lib/xine/plugins/1.20/xineplug_decode_image.so (requires libMagick.so.10 libWand.so.10)
16:12:56 <AnMaster> broken /usr/lib64/kde3/karbon.so (requires libMagick.so.10 libWand.so.10)
16:12:57 <Deewiant> s/linked link/linked list/ btw
16:12:58 <AnMaster> a LOT
16:13:04 <AnMaster> Deewiant, oh haha
16:13:06 <AnMaster> typo
16:13:16 <AnMaster> ais523, haha
16:13:22 -!- tusho has joined.
16:13:29 <ais523> hi tusho
16:13:49 <tusho> hi ais523
16:13:52 <AnMaster> hahah
16:13:54 <AnMaster> ais523, won
16:13:57 <AnMaster> by 20 seconds!
16:13:59 <tusho> MWAHAHAHHA
16:13:59 <AnMaster> \o/
16:14:07 <tusho> what
16:14:08 <AnMaster> tusho, you LOST
16:14:09 <tusho> no
16:14:11 <tusho> i did
16:14:13 <tusho> ...
16:14:15 <tusho> no, I certainly didn't
16:14:17 <tusho> I said hi to ais523
16:14:21 <tusho> 2 seconds later he said hi back
16:14:23 <tusho> then I said mwahahahha
16:14:32 <AnMaster> 17:13:29 <ais523> hi tusho
16:14:38 <tusho> AnMaster: you're wrong.
16:14:40 <AnMaster> 17:13:49 <tusho> hi ais523
16:14:43 <Deewiant> 2008-06-30 18:13:29 ( ais523) hi tusho
16:14:43 <tusho> not even network lag could delay it that much
16:14:43 <Deewiant> 2008-06-30 18:13:49 ( tusho) hi ais523
16:14:45 <AnMaster> tusho, your irc client lag
16:14:51 <tusho> lag for 20 seconds?
16:14:52 <AnMaster> see you are wrong
16:14:53 <tusho> i find that hard to believe
16:14:58 <AnMaster> tusho, on connect lag
16:15:00 <Deewiant> it can happen
16:15:01 <AnMaster> it sends slowly
16:15:02 <tusho> no
16:15:04 <ais523> tusho: I won at my end
16:15:05 <tusho> it said it had joined #esoteric
16:15:13 <Deewiant> 2008-06-30 18:13:22 --> tusho (n=tusho@91.105.117.61) has joined #esoteric
16:15:17 <ais523> and others here seem to agree with me
16:15:18 <ais523> check logs?
16:15:19 <AnMaster> tusho, yes then it sends WHO and such
16:15:22 <AnMaster> ais523, yes
16:15:26 <AnMaster> check clog log tusho
16:15:33 <tusho> yes, I believe that it's like that on the network
16:15:34 <tusho> however
16:15:37 <tusho> it's about personal reflex time
16:15:39 <tusho> not the whims of our clients
16:15:48 <tusho> the logs have been wrong before, e.g. last time
16:15:48 <AnMaster> tusho, well you lost anyway
16:16:01 <tusho> AnMaster: winning/losing is not determined by client lag
16:16:05 <tusho> it's determined by who hits enter first
16:16:11 <ais523> 08:13:29 <ais523> hi tusho
16:16:11 <ais523> 08:13:49 <tusho> hi ais523
16:16:13 <AnMaster> tusho, well you could be lying for all we know
16:16:19 <ais523> that's from clog
16:16:21 <AnMaster> ais523, yes same here
16:16:24 <tusho> AnMaster: thankfully the two people playing the game prefer to win honestly
16:16:36 <tusho> i am pretty sure I won this one I had the line ready and as soon as it lighted up I hit enter
16:16:56 <tusho> much quicker than ais523's reflexes could make him type 'hi tusho', I'd bet, but it's possible
16:17:06 <AnMaster> tusho, well sorry but check clog
16:17:19 <tusho> AnMaster: I did. What the server sees is irrelevant.
16:17:26 <tusho> Whoever hits enter first on their respective clients wins.
16:17:30 <AnMaster> well everyone else saw this too
16:17:40 <tusho> AnMaster: IT DOES NOT MATTER WHEN IT WENT OVER THE NETWORK
16:17:47 <tusho> It only matters when here, I, physically, hit enter.
16:17:49 <AnMaster> ais523, do you agree with tusho+
16:17:52 <AnMaster> or not?
16:17:56 <tusho> It is a game of reflexes
16:17:59 <tusho> not our client's on-connect whims
16:18:37 <ais523> well, quite possibly I won on enter too
16:18:48 <ais523> what timestamp does tusho's client show tusho as having submitted?
16:19:22 <tusho> dunno if it logs seconds
16:19:24 <tusho> I'll check in the xml logs
16:19:26 <tusho> instead of the client display
16:19:35 <tusho> W
16:19:35 <tusho> T
16:19:36 <tusho> F
16:19:38 <tusho> it doesn't log by default
16:19:44 <tusho> :-|
16:19:50 <tusho> i just reinstalled colloquy recently you see
16:19:54 <tusho> however
16:19:57 <AnMaster> consider yourself looser then?
16:20:07 <tusho> i can assert that it was about 0.1 seconds, max, after my client reported me as having joined, that I hit enter
16:20:21 <tusho> i am guessing that ais523 can't focus the input, type 'hi tusho' and hit enter quicker than that
16:20:42 <ais523> tusho: well, it's quite possible that my client told me you'd joined before yours did
16:20:47 <ais523> and I already had the input focused
16:21:16 <tusho> i don't think colloquy is that broken
16:21:24 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
16:21:27 <ais523> maybe it doesn't tell you you've joined until the WHO response comes back
16:21:31 <tusho> no, it does
16:21:38 <tusho> otherwise how can we explain the 20 second lag
16:21:38 <AnMaster> ais523, that would indeed make sense
16:21:41 <ais523> so you end up in a channel, but there isn't a list of who's in it?
16:21:45 <tusho> also, my connects would be a lot slower
16:21:47 <tusho> and I know this
16:21:48 <tusho> because
16:21:52 <tusho> it gradually marks users as away
16:21:55 <tusho> if you watch the user list on join
16:22:02 <ais523> tusho: WHO doesn't list away
16:22:16 <AnMaster> yes it does
16:22:21 <AnMaster> G/H
16:22:26 <AnMaster> in the /who output
16:22:28 -!- bsmntbombdood has joined.
16:22:31 <AnMaster> forgot what column
16:22:41 <ais523> ah, yes, it does list away
16:22:41 <AnMaster> ais523, so wrong there
16:23:04 <ais523> so where does the client get the name list from before it gradually marks away?
16:23:15 <ais523> ah, there's an abbreviated name list on-join, isn't there
16:23:17 <AnMaster> ais523, server sends NAME on join iirc
16:23:25 <AnMaster> err NAMES
16:23:28 <tusho> yes
16:23:39 <AnMaster> which may or may not also contain hostmask
16:24:01 <AnMaster> depending on if both client and server suppors UHNAMES
16:24:20 <AnMaster> and client enabled it using PROTOCTL or CAP
16:25:18 <AnMaster> Deewiant, going to update mycology results page?
16:25:24 <AnMaster> Deewiant, I want you to add cfunge there :P
16:29:00 <Deewiant> yes yes, I know I know >_<
16:36:37 <AnMaster> Deewiant, for cfunge this needs to be done on a POSIX platform
16:36:45 <AnMaster> cygwin is not supported
16:36:56 <Deewiant> I'll run it under cygwin and if it doesn't work that's your problem ;-P
16:37:11 <AnMaster> Deewiant, well it will run on real POSIX
16:37:25 <AnMaster> but last version will refuse to compile if __WIN32__ is defined
16:37:27 <Deewiant> I'll get Interix then :-P
16:37:44 <AnMaster> Deewiant, you have linux too iirc?
16:37:57 <tusho> AnMaster: not making your program work on the OS the tester uses or the posix emulation layer of the OS he uses is a great way to convince him to test it
16:38:05 <Deewiant> sure, but I can't be bothered to boot my laptop ;-)
16:38:05 <tusho> if you won't get it working why should he?
16:38:16 <AnMaster> tusho, I got no idea if it will work under cygwin
16:38:18 <AnMaster> I can't support it
16:38:22 <AnMaster> it may work
16:38:29 <AnMaster> it doesn't work in native win32 mode
16:38:37 <AnMaster> it does pass on true linux and true freebsd I know
16:38:53 <Deewiant> if your code is full of _posix_standard2008_special_function_for_superfast_io calls then it might not work :-P
16:39:02 <AnMaster> Deewiant, they are in #ifdef
16:39:30 <AnMaster> and POSIX.1-2001
16:39:32 <tusho> Deewiant: __posix_standard_2074->(*ctx)->_(ptr+4,*(ptr/7), fd, NULL, NULL, NULL, NULL, 1);
16:39:32 <AnMaster> not 2008
16:39:45 <Deewiant> tusho: exactly :-)
16:40:01 <Deewiant> AnMaster: why #ifdef the POSIX bits if the rest of the code isn't standard C anyway?
16:40:01 <AnMaster> #if defined(_POSIX_ADVISORY_INFO) && (_POSIX_ADVISORY_INFO > 0)
16:40:12 <AnMaster> Deewiant, because FreeBSD doesn't have them all
16:40:16 <AnMaster> they are optional in POSIX
16:40:18 <AnMaster> that is why
16:40:28 <AnMaster> THEY are optional parts of POSIX
16:40:33 <AnMaster> err They*
16:40:41 <Deewiant> what required parts of POSIX do you then use?
16:41:00 <AnMaster> Deewiant, well environ, fork(), exec()
16:41:04 <AnMaster> and some stuff like that
16:41:29 <Deewiant> sounds like cygwin would work
16:41:29 <AnMaster> that should work under cygwin if cmake does
16:41:32 <Deewiant> that's pretty basic stuff
16:41:41 <Deewiant> cmake doesn't have to work
16:41:51 <Deewiant> building stuff isn't hard
16:41:51 <AnMaster> um want to build it by hand?
16:41:54 <AnMaster> heh
16:42:01 <Deewiant> but it probably does work
16:42:07 <Deewiant> I'd be very surprised to find it doesn't
16:42:10 <AnMaster> Deewiant, it will need some defines as -D to build it
16:42:53 <AnMaster> Deewiant, you probably want -DUSE32 -DCONCURRENT_FUNGE -DNDEBUG
16:43:04 <AnMaster> Deewiant, on last bzr
16:43:11 <AnMaster> I'm about to do another pre-release
16:43:12 <Deewiant> oh, and bzr
16:43:14 <Deewiant> make a real release
16:43:23 <AnMaster> Deewiant, was just about to make a pre-release
16:44:00 <Deewiant> but anyhoo, I'll do the updating "soon"
16:52:27 <tusho> 03:34:21 <AnMaster> from CCBI:MAX = 16383_9999 - PADDING
16:52:27 <tusho> 03:34:25 <AnMaster> what does the _ do?
16:52:28 <tusho> it's ignored
16:52:32 <tusho> it's just a way to seperate long numbers
16:52:32 <tusho> like
16:52:34 <tusho> 1_000_000
16:52:36 <tusho> readability
16:52:47 <AnMaster> tusho, Deewiant already answered
16:52:53 <AnMaster> anyway C doesn't have it
16:52:54 <AnMaster> :)
16:53:00 <AnMaster> Deewiant, writing changelog atm
16:53:17 <tusho> AnMaster: readable numbers is not masochistic enough for c
16:53:18 <tusho> :)
16:53:22 <tusho> *are
16:53:24 <AnMaster> haha
16:53:43 <ais523> #define NUMBERSPLICE(a,b) a##b
16:53:46 <ais523> NUMBERSLICE(100,000)
16:53:56 <ais523> s/L/PL/
16:54:02 * ais523 wonders if that works, or if ## doesn't work like that
16:54:14 <tusho> it does work
16:54:18 <Deewiant> I think they have to be identifiers
16:54:20 <Deewiant> but maybe not then
16:55:46 <AnMaster> time to upload to sf.net
16:58:04 -!- ais523 has quit (Remote closed the connection).
16:58:32 -!- ais523 has joined.
17:01:15 -!- oklopol has quit (clarke.freenode.net irc.freenode.net).
17:01:16 -!- lament has quit (clarke.freenode.net irc.freenode.net).
17:01:16 -!- AAA_AAA has quit (clarke.freenode.net irc.freenode.net).
17:02:37 -!- cmeme has joined.
17:03:16 <AnMaster> Deewiant,
17:03:18 <AnMaster> https://sourceforge.net/project/showfiles.php?group_id=221310&package_id=267309&release_id=610369
17:03:23 <ais523> hi cmeme
17:05:02 -!- oklopol has joined.
17:05:02 -!- lament has joined.
17:05:02 -!- AAA_AAA has joined.
17:07:34 <tusho> cmeme
17:07:36 <tusho> fuck you
17:07:38 <tusho> we don't want your kind in here
17:07:40 <tusho> :-P
17:11:46 <AnMaster> yay
17:11:52 <AnMaster> release announcements done
17:12:01 <tusho> ais523: think you're the only person I haven't asked.
17:12:02 <tusho> http://xs128.xs.to/xs128/08266/picture5214.png
17:12:05 <tusho> nice design?
17:12:11 <tusho> ignore the strange filler text.
17:12:34 <tusho> better than loremipsum
17:12:42 <AnMaster> lorem ipsum is better
17:12:53 <tusho> lorem ipsum doesn't follow the structure of english text AnMaster
17:12:54 <ais523> tusho: that timed out when I tried to load it
17:13:04 <AnMaster> tusho, hm maybe
17:13:05 <tusho> it's not a good way to test the flow of a design
17:13:08 <tusho> ais523: weird, try again
17:13:50 <ais523> that's pretty good
17:14:03 <ais523> the one thing that concerns me is that I find it slightly hard to see the boundary between posts
17:14:12 <ais523> maybe it should have more whitespace, or an <hr>, or something
17:14:49 <tusho> ais523: i'm deliberately avoiding <hr>-style markers, I'm trying to do it via typography and whitespace
17:14:52 <tusho> a bit more whitespace maybe
17:14:55 <tusho> but you won't actually read a post there
17:14:58 -!- Sgeo has joined.
17:15:00 <tusho> it's just a preview, as the 'read more' shows
17:15:05 <ais523> yes, I know
17:15:05 <tusho> and surely the big title seperates it?
17:15:07 <ais523> hi Sgeo
17:15:12 <Sgeo> hi
17:15:16 <tusho> i mean, it's going to be packing 5-10 posts on that page
17:15:24 * Sgeo can't seem to properly post to the a-b
17:15:37 <ais523> tusho: hmm... it's probably just me
17:15:53 <tusho> ais523: really, I expect traffic to go one of two ways:
17:16:18 <tusho> reddit/similar -> post -> clicks link to homepage because they're interested -> maybe sees an interesting post -> clicks read more, reads it
17:16:19 <tusho> or
17:16:30 <tusho> homepage -> newest post -> read (for people who follow it)
17:16:43 <tusho> but if you think it needs more space I can do that
17:16:50 <ais523> nah, leave it as it is
17:17:01 <tusho> OK
17:17:09 <tusho> i also removed the subtitles
17:17:15 <tusho> in the current revision
17:17:37 <tusho> oh, and it's valid HTML5 (yes, 5. early adopter FTW) with no <div>,<span>,id="",class=""
17:17:55 <tusho> (because they're unneeded - <article>, <header> etc. replace them and have real semantic meaning to boot)
17:18:14 <Deewiant> if only HTML5 had the href on every element like XHTML2 is to have
17:18:32 <tusho> Deewiant: no
17:18:39 <tusho> they said why they don't do it
17:18:40 <tusho> basically
17:18:55 <Deewiant> oh, I didn't hear of this
17:19:12 <tusho> it doesn't make sense for every element (form inputs etc), it's redundant to an inner <a> (and isn't worth the few less keystrokes), and browser makers said it'd be _really, really damn hard_ to do with their current code
17:19:17 <tusho> all in all not worth it
17:19:47 <tusho> (ais523: also, the css is 11 lines when compacted a little.)
17:19:49 <Deewiant> it's not always redundant to an inner <a>, you also need some CSS in some cases
17:20:06 <Deewiant> e.g. <li><a href="foo">bar</a></li>
17:20:08 <tusho> (though I don't style lists, blockquotes etc yet, I'll do that when I need them)
17:20:15 <Deewiant> the a encompasses only the text, not the whole list element
17:20:21 <tusho> Deewiant: even so, it overwhelmingly commonly is redundant
17:20:23 <tusho> so.
17:20:29 <Deewiant> true
17:20:35 <Deewiant> I just think it's more semantic to not have an <a>
17:21:20 <ais523> oh, happy Windows XP end-of-line day, everyone!
17:22:06 <Deewiant> it is still possible to obtain Windows XP by purchasing Vista Ultimate or Vista Business and then downgrading to Windows XP.
17:22:09 <Deewiant> :-P
17:22:11 <AnMaster> ais523, eh?
17:22:17 <Deewiant> Sales of Windows XP ceased on June 30, 2008
17:22:32 <AnMaster> no not EOL+
17:22:35 <AnMaster> er
17:22:37 <AnMaster> EOL*
17:22:43 <Deewiant> end of production line
17:22:46 <Deewiant> I suppose
17:22:51 <tusho> ais523: lolololololol
17:22:53 <AnMaster> ah
17:22:56 <tusho> microsoft just killed itself a bit more
17:23:01 <Deewiant> yep
17:23:03 <AnMaster> ais523, and it is sad
17:23:05 <Deewiant> sad, seally
17:23:09 <tusho> yes, it is
17:23:12 <Deewiant> s/se/re/
17:23:16 <tusho> they were so close to actually getting better
17:23:16 <AnMaster> because xp was good compared to vista
17:23:18 <tusho> and they nose-dived instead
17:23:25 <Deewiant> yep
17:23:41 <tusho> developers developers developers developers.
17:23:46 <Deewiant> >_<
17:23:49 <AnMaster> haha
17:23:49 <tusho> it sounds almost like an obituary now
17:28:13 -!- oklopol has quit (No route to host).
17:35:43 -!- KingOfKarlsruhe has quit (Remote closed the connection).
17:48:37 -!- timotiis has joined.
17:54:34 -!- oklopol has joined.
18:00:11 -!- ais523_ has joined.
18:00:13 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
18:00:44 -!- ais523_ has changed nick to ais523.
18:04:47 -!- Judofyr has joined.
18:33:19 -!- Slereah_ has joined.
18:33:20 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
18:35:01 -!- Slereah has joined.
18:35:01 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
18:36:30 -!- Corun has quit ("This computer has gone to sleep").
18:40:08 -!- oerjan has quit ("Good night").
18:44:36 <tusho> ah I found my compacted css
18:44:38 <tusho> ais523: http://pastebin.ca/raw/1058380
19:01:56 <ais523> ah, I found one bug that was causing IFFI to not work
19:02:00 <ais523> although there may be others
19:02:11 <ais523> it was a weird interaction of recursion and global variables
19:02:20 <ais523> when I wrote that bit of code, I didn't expect it to be used recursively
19:07:58 -!- Corun has joined.
19:16:20 <ais523> AnMaster: how do I turn trace-mode on in cfunge, internally?
19:16:25 <ais523> as in, by manipulating the values of variables
19:16:28 <ais523> rather than with command line args
19:16:37 <AnMaster> ais523, check settings.h
19:16:53 <ais523> ok
19:18:49 <AnMaster> ais523, which is the same way that main.c do it when it parses command line arguments ;P
19:19:20 <ais523> /// Out of order to make default initialise to 0.
19:19:20 <ais523> /// (A few bytes smaller binary that way, The standard one should always be 0)
19:19:32 <AnMaster> ais523, yes hehe :P
19:19:35 <ais523> sorry, I can understand you optimising for speed, but binary size?
19:19:38 <Deewiant> >_<
19:19:41 <Deewiant> he's insane
19:19:46 <AnMaster> ais523, yes that too, just to irritate everyone
19:19:47 <AnMaster> :P
19:19:55 * AnMaster is laughing now
19:20:05 <ais523> there is such an incongruity when C-INTERCAL and cfunge are linked together...
19:20:10 <ais523> at least they both share the same naming scheme
19:20:13 <AnMaster> ais523, a what?
19:20:17 <AnMaster> "incongruity"?
19:20:31 <tusho> AnMaster: you know, I think doing so many things just to irritate people is slightly disturbed
19:20:35 <AnMaster> also what do you mean with same naming scheme?
19:20:40 <ais523> AnMaster: ridiculously optimised on one hand vs. inherently slow on the other
19:20:43 <AnMaster> tusho, thanks!
19:20:52 <AnMaster> ais523, yes :P
19:20:55 <AnMaster> thanks ais523
19:20:58 <ais523> I mean, C-INTERCAL is optimised too, to some extent, but INTERCAL suffers from computational class problems
19:21:05 <ais523> e.g. computed COME FROM
19:21:10 <AnMaster> haha
19:21:12 <ais523> s/class/order/
19:21:43 <ais523> incidentally, I'm pretty proud of the C-INTERCAL optimiser; me and one other person are working on it, and it can often optimise INTERCAL expressions into the C they were generated from in the first place
19:21:52 <AnMaster> haha
19:21:54 <AnMaster> :)
19:22:01 <AnMaster> ais523, anyway yes cfunge is insane in parts
19:22:05 <ais523> the debugger even has an explain-this-expression tool
19:22:32 <ais523> what should I set the trace level to, by the way?
19:22:36 <AnMaster> ais523, consider I spent about half a day reorganizing structs to avoid holes on 64-bit and 32-bit as much as possible :P
19:22:48 <AnMaster> ais523, well depends on how much you want
19:22:49 <ais523> the situation I have is that the main loop is looping, but the program isn't doing anything and it ought to and I don't know wh
19:22:51 <AnMaster> 3 or 9
19:22:52 <ais523> s/$/y/
19:22:53 <AnMaster> try either
19:23:04 <AnMaster> ais523, higher level = more tracing
19:23:11 <ais523> is 9 the highest level?
19:23:19 <AnMaster> ais523, well currently yes
19:23:23 <AnMaster> maybe not in the future
19:23:30 <tusho> <AnMaster> ais523, anyway yes cfunge is insane in parts
19:23:31 <tusho> in parts.
19:23:33 <tusho> IN PARTS?
19:23:36 <ais523> and what level should I use to see commands and stack as they execute
19:23:45 <ais523> tusho: cfunge is saner than glue.c99
19:23:51 <tusho> glue.c99?
19:23:52 <AnMaster> ais523, hm trace print each instruction as it is executed
19:23:55 <AnMaster> for stack: gdb
19:23:55 <ais523> the file I'm writing which is half cfunge and half C-INTERCAL
19:23:57 <AnMaster> sorry
19:24:00 <AnMaster> ais523, :/
19:24:16 <ais523> ok, but I thought that if trace levels went up to 9 displaying stack was quite likely
19:24:16 <tusho> ais523: well, that's because you have to work around AnMaster's mental disorder of optimization :-P
19:24:22 <tusho> (joking, joking)
19:24:31 <ais523> here, I'll paste glue.c99 as it is at the moment
19:24:36 <ais523> so you can see it in all its glory
19:24:44 <AnMaster> does not compute, debug info missing due to optimizing
19:24:49 <AnMaster> ais523, I'd love to see
19:25:06 <jamesstanley> Can anyone explain how I would implement something like pointers in Brainfuck? For example, say a cell holds the value 10. How would I make the pointer move 10 places?
19:25:12 <AnMaster> ais523, I don't have tracing of current stack atm, should be simple to implement
19:25:13 <tusho> jamesstanley: i don't think you can
19:25:16 <tusho> 'cause you have to move back
19:25:18 <tusho> so you need infinite counters
19:25:21 <tusho> and even then I doubt it'd work
19:25:22 <AnMaster> I can do that if you want
19:25:27 <tusho> jamesstanley: however
19:25:30 <tusho> you can do it
19:25:33 <jamesstanley> oh?
19:25:36 <tusho> but you have to modify the space you move over
19:25:43 <ais523> http://pastebin.ca/1059256
19:25:46 <tusho> ENTRY 1 ENTRY 1 ENTRY 1 ... LASTENTRY 0
19:25:47 <jamesstanley> Yeah, I'd already though of that way
19:25:56 <tusho> then you use a quick loop over going two elements at a time
19:26:07 <jamesstanley> I need to keep the data intact though
19:26:10 <ais523> generally speaking you make every second (or third, or whatever) cell hold a 0
19:26:14 <ais523> then you know you can clobber it safely
19:26:17 <ais523> as temporaries
19:26:24 <tusho> ais523: #
19:26:24 <tusho> #ifdef CONCURRENT_FUNGE
19:26:24 <tusho> #
19:26:24 <tusho> #error The C-INTERCAL/cfunge external calls interface cannot be used concurrently
19:26:24 <tusho> #
19:26:25 <tusho> #endif
19:26:26 <tusho> that would be UFN
19:26:27 <ais523> it's quite hard to do things efficiently without temporaries
19:26:28 <tusho> *FUN
19:26:33 <jamesstanley> OK
19:26:37 <ais523> AnMaster: copyright notice OK, by the way
19:26:44 <tusho> i like iffi
19:26:49 <AnMaster> ais523, sure
19:26:49 <tusho> ick, iffi...
19:26:50 <ais523> jamesstanley: oh, if you only have one array there's a trick you can use where you put a couple of zeros before it
19:26:52 <tusho> yuk...
19:27:01 <AnMaster> ais523, I thought they were a bit longer, with info how to contact GNU and such?
19:27:18 <ais523> and then move elements to the left as you scan through them and use the gaps for temporaries
19:27:22 <ais523> AnMaster: whoops, yes, I'll add that
19:27:29 <jamesstanley> OK. Thanks
19:27:32 <AnMaster> ais523, I don't like your indention style but ;P
19:27:49 <ais523> oh, and someone who knows Befunge, verify that I got that hello, world right please
19:27:58 <AnMaster> ais523, didn't you say that ick already did the srandom stuff?
19:28:11 <ais523> AnMaster: I checked, sometimes it uses random and sometimes it uses rand
19:28:21 <AnMaster> ais523, it looks correct
19:28:22 <ais523> anyway, this time it seeds exactly twice at the start of the program
19:28:25 <ais523> which isn't a problem
19:28:43 <AnMaster> true
19:29:21 <AnMaster> ais523, the tracing is done in the main loop, which could be a problem for you I guess
19:29:42 <Deewiant> the hello world is correct
19:29:48 <ais523> AnMaster: ugh, yes
19:29:52 <ais523> because I'm replacing it
19:29:56 <ais523> it had to be in an ICK_EC_FUNC really
19:30:04 <ais523> which is like an ordinary function just more interesting
19:30:06 <AnMaster> ais523, well copy and paste some code then :7
19:30:08 <AnMaster> :/*
19:30:36 <ais523> I really ought to merge the Befunge tracing with INTERCAL tracing, really
19:30:44 <ais523> I have +printflow as a trace option in INTERCAL programs already
19:30:45 <tusho> 'Interesting functions' sounds like a haskell thing
19:30:48 <ais523> I just need to make cfunge use it
19:30:52 <tusho> there should be a formal definition for what makes a function interesting
19:30:56 <tusho> (well, just mathematics when I think about it)
19:32:07 <ais523> tusho: well, from a programmer's point of view the definition of an ICK_EC_FUNC is "one where people can goto() into anywhere in the function from outside
19:32:10 <ais523> s/$/"?
19:32:15 <ais523> s/?/\//
19:32:18 <tusho> ais523: how does a macro do that?
19:32:28 <tusho> oh, does it require yield statements?
19:32:32 <tusho> lol@finite state machines
19:32:35 <ais523> tusho: basically there's a global which switches the function between two modes of operation
19:32:43 <ais523> one which acts as the target for gotos, with a protocol involved
19:32:48 <ais523> and the other which just runs the function
19:33:10 <tusho> ais523: can I see an expansion of an ICK_EC_FUNC?
19:33:15 <ais523> the entire body of the function is wrapped in an if()
19:33:16 <tusho> and the original source
19:33:26 <ais523> and sure, I'll paste glue.cio for you
19:33:33 <ais523> which is the expanded version
19:33:38 <ais523> but minus all the blank lines at the start
19:33:39 <tusho> glue.cio max.imus
19:33:44 <ais523> and the preprocessor stuff
19:34:36 <ais523> tusho: actually, do you mind if I run it through indent first?
19:34:39 <ais523> it all comes out on the same line
19:34:40 <tusho> nope
19:35:40 <AnMaster> ais523, I'm adding that tracing now
19:35:49 <ais523> http://pastebin.ca/1059264
19:35:57 <ais523> that's the ICK_EC_FUNC at the end, in the .cio
19:36:08 <ais523> that is, once it's been preprocessed twice, once by gcc -E, once by ick itself
19:36:44 <ais523> oh, and the goto labels there are generated, not hardcoded
19:38:41 <tusho> ais523: ah, so ick does the transformation itself
19:38:41 <tusho> not the cpp
19:38:41 <tusho> OK
19:38:49 <ais523> tusho: they both do
19:38:53 <tusho> well, yes
19:38:58 <tusho> but ick actually mangles the function body
19:39:00 <tusho> OK, i understand now
19:39:01 <ais523> the cpp substitutes in most of the code
19:39:06 <ais523> including the bits in the body
19:39:10 <ais523> and ick does fixup
19:39:22 <ais523> making all the gotos point to the right place and all the labels have unique names
19:42:12 <ais523> but yes, ick does mess with the C source quite a bit
19:45:06 <AnMaster> ais523, well it is done except it cases valgrind error
19:45:09 <AnMaster> errors*
19:45:12 * AnMaster debugs
19:47:03 <AnMaster> ah off by one error
19:47:13 <augur> hiya! :D
19:47:25 <ais523> hi augur
19:47:33 <augur> hows it goin
19:47:42 <ais523> augur: well, fffungi is making progress
19:47:44 <ais523> slowly
19:47:48 <augur> fffungi?
19:47:57 <AnMaster> ais523, pull
19:47:57 <ais523> augur: Funge/INTERCAL ffi
19:48:04 <augur> oh boy
19:48:07 <AnMaster> ais523, err wait
19:48:11 <AnMaster> it is still pushing
19:49:01 <AnMaster> ais523, the new main loop will now print the 5 top elements on the stack when trace level is 8 or higher
19:49:07 <ais523> ok
19:49:07 <AnMaster> you could copy that to your code?
19:49:19 <AnMaster> oops
19:49:19 <ais523> yes, I could, probably
19:49:21 <AnMaster> sorry issue
19:49:29 <AnMaster> ais523, I only did change for concurrent *fixes*
19:50:26 <AnMaster> ais523, pushing again now
19:50:29 <AnMaster> pushed
19:50:31 <AnMaster> so pull
20:00:01 -!- Corun has quit ("This computer has gone to sleep").
20:01:06 <AnMaster> ais523, was it useful?
20:01:14 <ais523> I'm pulling right now
20:01:24 <ais523> I was reading something else before that
20:01:35 -!- Corun has joined.
20:05:57 <ais523> AnMaster: you probably want >=8 rather than >8 in your tracelevel setting
20:06:19 <AnMaster> ais523, ah I meant at 9 or above
20:06:21 <AnMaster> :P
20:06:31 <AnMaster> (actually I didn't
20:07:12 <ais523> glue.c99:106: warning: implicit declaration of function ‘PrintStackTop’
20:07:21 <ais523> have you changed the list of include files for interpreter.c?
20:07:33 <AnMaster> ais523, include stack.h
20:07:34 <ais523> hmm, no, it doesn't link
20:07:41 <ais523> is PrintStackTop a macro?
20:07:47 <AnMaster> ais523, no a function
20:07:57 <ais523> I wonder why the link failed, then
20:08:10 <ais523> and stack.h is already included
20:08:11 <AnMaster> ais523, well does your stack.h have it?
20:08:18 <ais523> ah, that could be the issue
20:08:22 <AnMaster> maybe you did something with the update
20:08:27 <AnMaster> so you didn't include it
20:08:33 <AnMaster> ais523, as I just added that function
20:08:38 <AnMaster> it's new
20:08:53 <ais523> ick -begOUY stub.i *.c99 */*.c99 */*/*.c99 ../lib/*/*.c99
20:09:03 <ais523> just so I remember the command line
20:09:04 <AnMaster> ais523, well that could be the issue
20:09:06 <ais523> which is nontrivial at current
20:09:09 <ais523> and yes, I think it was
20:09:16 <AnMaster> it would be *.c vs *.c99
20:09:31 <AnMaster> ais523, set up a system of symlinks?
20:09:37 <AnMaster> would work better
20:09:50 <ais523> AnMaster: actually, I'm keeping separate modified and unmodified source trees and copying the changes over
20:10:09 <AnMaster> ais523, you could use bzr to keep track of your own branch ;P
20:10:26 <AnMaster> this is distributed version control after all
20:10:34 <ais523> yes, I suppose so
20:10:37 <ais523> but I don't know bzr
20:10:55 <ais523> and renaming all the files in a repo is not a common thing to do anyway
20:11:11 <AnMaster> ais523, anyway if you build a debug build you get some more debugging from inside gdb: StackDump(stack *) and FungeSpaceDump()
20:11:24 <AnMaster> that you can use with call
20:11:26 <AnMaster> in gdb
20:11:34 <AnMaster> ais523, that was how I did debugging mostly
20:11:59 <ais523> ah, the error seems to be that the IP never moves for some reason
20:12:03 <AnMaster> ais523, also see etc/example.gdbinit in cfunge top dir
20:12:28 <AnMaster> ais523, care to pastebin the current code and I will try to read it
20:12:46 <ais523> it's the same as what I've already pastebinned apart from turning on tracing
20:13:17 <ais523> do I need to paste again, or will the previous paste do?
20:13:32 <AnMaster> the old will do
20:13:57 <AnMaster> ais523, hrrm
20:14:37 <AnMaster> ais523, can you use gdb or something, there are some stuff I want you to run in it just *after* ExecuteInstruction()
20:14:42 <AnMaster> but before the next statement
20:14:49 <AnMaster> print IP->needMove
20:15:20 <ais523> AnMaster: I'll try to load it in gdb, luckily it reaches that point before it gets confused
20:15:20 <AnMaster> print IP->delta
20:15:31 <AnMaster> those two I need to know
20:16:10 <ais523> ok, stepping to the right point now
20:16:22 <AnMaster> I guess breakpoint doesn't work heh
20:16:26 <ais523> p IP->needMove
20:16:26 <ais523> $1 = true
20:16:32 <AnMaster> and the the other one?
20:16:43 <ais523> p IP->delta
20:16:43 <ais523> $2 = {x = 1, y = 0}
20:16:46 <AnMaster> ok
20:16:57 <ais523> let me step past the ipForward and see if its location changes
20:17:10 <AnMaster> print IP->position
20:17:10 <AnMaster> s
20:17:11 <AnMaster> u
20:17:12 <AnMaster> print IP->position
20:17:14 <AnMaster> will do that
20:17:14 <ais523> p IP->position
20:17:32 <AnMaster> wait it won't
20:17:34 <AnMaster> sorry:
20:17:39 <AnMaster> not u but full until
20:17:52 <AnMaster> or maybe not
20:18:06 <ais523> $3 = {x = 0, y = 0}
20:18:06 <ais523> apparently not, that's strange
20:18:11 <AnMaster> ais523, anyway yes what is it after and before ipForward
20:18:32 <AnMaster> 0,0 is normal start value
20:18:50 <ais523> 1: IP->position = {x = 0, y = 0}
20:18:54 <ais523> (gdb) n
20:18:54 <ais523> 115 ipForward(IP, 1);
20:18:54 <ais523> 1: IP->position = {x = 0, y = 0}
20:18:54 <ais523> (gdb) n
20:18:54 <ais523> 98 while(!ick_iffi_breakloop)
20:18:55 <ais523> 1: IP->position = {x = 0, y = 0}
20:18:56 <AnMaster> ok
20:18:59 <AnMaster> that is wrong
20:19:03 <ais523> yes
20:19:10 <ais523> presumably the error's in ipForward somehow
20:19:21 <AnMaster> ip->position.x += ip->delta.x * steps;
20:19:21 <ais523> I'll try stepping into it
20:19:21 <AnMaster> ip->position.y += ip->delta.y * steps;
20:19:26 <AnMaster> really can't see how that can go wrong
20:19:28 <AnMaster> oh wait
20:19:31 <AnMaster> I think I see
20:19:41 <AnMaster> ais523, a sec *need to figure out how to correctly do this call*
20:20:06 <AnMaster> ais523, step into some function that fetches instruction from funge space
20:20:10 <AnMaster> then do:
20:20:11 <ais523> AnMaster: ah, I see what's happening
20:20:15 <ais523> it does move inside ipForward
20:20:23 <AnMaster> print fspace->bottomRightCorner
20:20:32 <ais523> but then fungeSpaceWrap screws up
20:20:33 <AnMaster> I suspect the wrapping is messed up by something
20:20:45 <AnMaster> ais523, yes exactly
20:20:46 <ais523> print fspace->bottomRightCorner
20:20:46 <ais523> $6 = {x = 0, y = 1}
20:20:49 <ais523> ugh, that's wrong
20:20:49 <AnMaster> um
20:20:53 <AnMaster> yes it is
20:21:00 <AnMaster> now to find out why
20:21:08 <ais523> presumably your load-from-string gets it wrong
20:21:17 <ais523> after all, you said it was untested
20:21:22 <AnMaster> yes
20:21:51 * AnMaster scratches head while reading it
20:22:28 <AnMaster> ais523, the cheap way around would be to change FungeSpaceSetNoBoundUpdate to FungeSpaceSet but that would be less performant when loading the program ;P
20:22:47 * ais523 laughs
20:22:59 <AnMaster> ais523, but I think that is what I will do anyway
20:25:30 <AnMaster> ais523, pushing a new revision that uses FungeSpaceSet() instead of trying to do itself
20:25:33 <AnMaster> pushed
20:25:40 <AnMaster> updates funge-space.c
20:26:04 <AnMaster> ais523, NOT TESTED except that it compiles
20:27:44 <ais523> ok, let me try it
20:31:37 <AnMaster> ais523, any luck?
20:35:52 <ais523> AnMaster: just about to test now
20:38:25 <jamesstanley> In brainloller/copter does execution start at pixel 0,0?
20:38:47 <ais523> AnMaster: also works
20:38:50 <ais523> jamesstanley: yes, I think
20:38:55 <jamesstanley> OK, Thanks
20:38:55 <ais523> AnMaster: s/also/almost/
20:38:59 <ais523> it's clipping off the last character
20:39:07 <ais523> at least, that's how it's acting
20:39:13 <ais523> I get an infinite loop of "Hello, world!2
20:39:15 <ais523> s/2/"/
20:39:16 <jamesstanley> And also, when execution reaches the edge of the image, what happens?
20:39:27 <jamesstanley> Or is this undefined and I should explicitly specify an IP rotate?
20:39:30 <jamesstanley> *rotater
20:39:41 <ais523> let me read the spec
20:39:44 <jamesstanley> OK
20:39:50 <jamesstanley> Where is the spec? The wiki page?
20:39:59 <AnMaster> ais523, wtf
20:40:03 <ais523> generally if the spec isn't the wiki page it's linked from it
20:40:07 <jamesstanley> OK
20:40:09 <AnMaster> ais523, that shouldn't happen
20:40:20 <AnMaster> ais523, and I can't explain it
20:40:30 <ais523> jamesstanley: ah, it's defined by a reference interp
20:40:30 * AnMaster writes some custom code to debug this
20:40:37 <ais523> let me try to figure out what it's doing at that point
20:40:46 <ais523> AnMaster: let me just check to make sure I didn't forget the @
20:40:50 <jamesstanley> You needn't bother if you don't want to ais523
20:40:57 <jamesstanley> I can read it myself now I know where to look. Thanks!
20:41:11 <ais523> -When the IP reaches the edge of the PNG image and goes outside, the program will stop (END).
20:41:15 <AnMaster> jamesstanley, there are specs for funge
20:41:17 <ais523> it's in a comment in the reference INTERP
20:41:18 <jamesstanley> OK
20:41:24 <AnMaster> funge93 and funge98
20:41:26 <ais523> AnMaster: he's referring to brainloller
20:41:30 <AnMaster> see the esolang wiki
20:41:31 <AnMaster> oh ok
20:41:37 <ais523> and why did I write INTERP in allcaps?
20:41:51 <jamesstanley> I am going to add these two points to the wiki page. Thanks for your help.
20:42:44 <AnMaster> well I get it too
20:43:23 <AnMaster> ais523, I get this bug too and can't explain it *debugs*
20:44:40 <oklopol> ais523: H(intercal,interp) = 5
20:44:59 <ais523> oklopol: an interesting but slightly pointless observation
20:45:17 <oklopol> ais523: and why did I write INTERP in allcaps? <<<
20:45:38 <ais523> ah, yes, that's probably why
20:45:50 <oklopol> i thought that'd be a fun way to say it with only you getting it
20:46:08 <AnMaster> heh?
20:46:25 <AnMaster> oklopol, I don't get it
20:46:31 <oklopol> oh, still not? good
20:47:21 <tusho> oklopol: wot
20:47:43 <oklopol> wot wot?
20:47:52 <oklopol> o
20:47:56 <ais523> oko
20:49:00 <oklopol> code
20:49:02 <oklopol> need to
20:49:41 <oklopol> i don't get topic, is it an ingenious joke?
20:49:48 <ais523> probably not
20:49:58 <ais523> this topic needs history, really, so I can roll it back to the main one easily
20:50:03 <ais523> I like the international hub topic
20:50:16 <oklopol> i like it too
20:50:21 <ais523> either that, or we should change the topic to reflect what's currently being dicussed
20:50:27 <oklopol> so
20:50:30 <oklopol> about overflows
20:50:32 <oklopol> i don't like them
20:51:05 <oklopol> or do i.... i like the idea of overflowing through infinity
20:51:05 -!- ais523 has set topic: #esoteric - the international hub for esoteric language design, development and deployment | logs: http://tunes.org/~nef/logs/esoteric/.
20:51:22 <ais523> oklopol: Funge with bignum cells can overflow past infinity
20:51:33 <oklopol> ais523: i know
20:51:39 <ais523> Deewiant: AnMaster: what should y return for the cell size in a Funge interpreter with bignum cells?
20:51:48 <oklopol> oh
20:51:50 <AnMaster> ais523, undefined in befunge98
20:51:54 <Deewiant> ais523: unspecced
20:51:56 <AnMaster> defined in 108
20:51:56 <augur> oklopol :O
20:51:58 <oklopol> the *values* can overflow past infinity?
20:52:06 <ais523> AnMaster: what as?
20:52:07 <ais523> 0?
20:52:09 <Deewiant> we talked about that with AnMaster, can't remember if we agreed on something other than that the spec sucks
20:52:12 <AnMaster> ais523, -1 iirc
20:52:38 <AnMaster> ais523, however still debugging this
20:52:42 <ais523> ok
20:52:50 <oklopol> (i demand answer!)
20:53:16 <ais523> oklopol: no, the fungespace
20:53:23 <ais523> if you go too far in one direction you come back from the other
20:53:33 <ais523> despite fungespace being infinite if you use bignum cells
20:54:01 <oklopol> yeah, it's just that i know, but didn't you mean bignum *values* @ "what should y return for the cell size in a Funge interpreter with bignum cells"
20:54:07 <oklopol> errr
20:54:12 <oklopol> *-it's just
20:54:48 <ais523> oklopol: that doesn't really make sense, hence the little discussion above
20:55:01 <AnMaster> ais523, also I solved it, not sure why
20:55:02 <augur> ::bites oklopol
20:55:10 <AnMaster> the reason makes no sense to me
20:55:38 <ais523> can you try to explain?
20:56:49 <AnMaster> ais523, for loop as now but: +1 after strlen(program)
20:57:14 <AnMaster> however this explains nothing
20:57:37 * ais523 looks at the relevant part of the source code
20:57:38 <AnMaster> because it didn't work without that even if I added a newline
20:58:45 <ais523> AnMaster: you're checking for end-of-string redundantly
20:58:51 <ais523> you're checking both the strlen and the \0
20:59:00 <ais523> the loop will be a lot faster if you don't call strlen in every iteration
20:59:04 <ais523> and I thought you liked speed...
20:59:14 <AnMaster> ah true
20:59:20 <AnMaster> yes it was a misstake
20:59:43 <AnMaster> ais523, anyway last version is way closer
20:59:54 <AnMaster> also no it isn't redundant in original
21:00:04 <AnMaster> oh wait maybe it is there
21:00:22 <AnMaster> ais523, hrrm
21:00:36 <AnMaster> ais523, no it isn't redundant I think
21:00:55 <AnMaster> it is bad code yes and needs to be fixed but not redundant it seems
21:01:47 <AnMaster> ais523, not redundant in original FungeSpaceLoad()
21:01:54 <AnMaster> I get valgrind errors otherwise
21:02:01 <AnMaster> and I need to do some checks on the \0
21:02:13 <AnMaster> I will fix it though
21:02:14 <ais523> well, can you put literal NULs in a Funge program?
21:02:19 <ais523> if so, it's not redundant in the original
21:02:19 <Deewiant> sure
21:02:28 <AnMaster> ais523, yes you can indeed
21:02:33 <ais523> but it is in the string version due to the way C strings are represented
21:02:35 <Deewiant> they'll reflect, being not bound to any instruction
21:02:38 <ais523> they can't have literal NULs
21:02:43 <AnMaster> ais523, indeed
21:03:01 <Deewiant> ah, that's an interesting mycology test actually
21:03:12 <AnMaster> Deewiant, you test it?
21:03:24 <Deewiant> "foo<embedded zero>bar", print it, see what happens
21:03:31 <Deewiant> no, I don't, but I think I'll add that
21:03:33 <Deewiant> "soon" :-P
21:03:36 <AnMaster> haha
21:03:36 <tusho> DEEWIANT
21:03:37 <tusho> DOING THINGS
21:03:38 <tusho> HOLY SHIT
21:03:40 <tusho> :O
21:03:46 <AnMaster> well I think my code may do the wrong thing still
21:03:48 <Deewiant> I'm not doing anything
21:03:54 <Deewiant> I will soon, though. ;-)
21:03:58 <augur> ::bites tusho's face off::
21:04:03 <augur> >B
21:04:05 <tusho> stop it, augur
21:04:12 <augur> so im watching oldschool doctor who from the 60s
21:04:17 <augur> THE 60S
21:04:24 <augur> its so cheesy XD
21:05:02 <oklopol> so augur, got new teeth?
21:05:12 <augur> no
21:05:15 <augur> ::bites oklopol::
21:09:59 * ais523 wonders how to deal with literal NULs in fffungi
21:10:21 <ais523> I suppose I'll have to put some other character in the string, and then change those chars to NULs in generated code in the .cio file
21:10:28 <AnMaster> not a common issue at loading time
21:11:04 <AnMaster> Deewiant, well that was broken, fixing it now
21:14:33 <ais523> tusho: can you help to debug AnMaster's mysteriously broken code?
21:14:36 <ais523> it looks right to me too
21:14:41 <ais523> but can't be because it isn't working
21:14:46 <tusho> ais523: remove all the posix optimizations
21:14:50 <tusho> that won't fix your problem
21:14:52 <ais523> it doesn't have any
21:14:52 <tusho> but i'll sleep at night
21:14:53 <tusho> :-P
21:15:07 <ais523> well, apart from FUNGE_ATTR_FAST which is presumably inline
21:15:13 <ais523> but that's a C99 optimisation
21:15:24 <ais523> oh, and restrict on the program
21:15:30 <ais523> but it is validly a restrict
21:15:49 <AnMaster> ais523, yes and I'm debugging it too
21:15:58 <AnMaster> something is wrong in my logic I think
21:15:58 <ais523> many eyes make all bugs shallow...
21:16:03 <ais523> this bug is pretty deep, though, probably
21:16:10 <ais523> either that or it's a ninja typo
21:16:18 <ais523> that hides in shadows so you can't see it
21:16:47 <AnMaster> I get random garbage on dumping funge space after loading mycology, well not random... it is mycology with *no* newlines whatsowever
21:16:56 <AnMaster> and lines shifted around
21:17:00 -!- pikhq has left (?).
21:17:07 <AnMaster> ugh wtf
21:17:08 <oklopol> how long is this broken piece of code?
21:17:24 <AnMaster> n}: [ [] ]
21:17:24 <AnMaster> [offsetx, offsety] ] <- if the stack top contains zero, quit: our storage offset is unknown and incorrect
21:17:30 <oklopol> i usually see all bugs instantly, in case i manage to read a code
21:17:33 <AnMaster> Deewiant, is that from mycology!?
21:18:03 <oklopol> (i usually can't read code unless written by me)
21:18:17 <oklopol> (unless short)
21:18:24 <oklopol> (so back to the original question, is it?)
21:18:32 <AnMaster> over 20 lines
21:18:39 <oklopol> :P
21:18:56 <ais523> AnMaster: really? I count 19
21:18:56 <oklopol> what code? i wanna have a look
21:18:59 <AnMaster> http://rafb.net/p/5xUya715.html
21:19:01 <AnMaster> oklopol, ^
21:19:05 <oklopol> what's it supposed to do, what does it do?
21:19:06 <ais523> but presumably you have debug stuff in your version
21:19:10 <AnMaster> ais523, well the main one is broken now
21:19:23 <AnMaster> when I try to make loading \0 work
21:19:25 <oklopol> what's it supposed to do?
21:19:43 <AnMaster> oklopol, load a funge source file into to the fspace
21:19:56 <AnMaster> /**
21:19:56 <AnMaster> * Load a file into funge-space at 0,0. Optimised compared to
21:19:56 <AnMaster> * FungeSpaceLoadAtOffset(). Only used for loading initial file.
21:19:56 <AnMaster> * @param filename Filename to load.
21:19:56 <AnMaster> * @return True if successful, otherwise false.
21:19:57 <AnMaster> */
21:20:15 <AnMaster> not that loading at offset seems to work either atm
21:21:17 <oklopol> many functions i've never heard about or written by you somewhere else in source
21:21:34 <AnMaster> oklopol, FungeSpaceOpenFile() is basically fopen()
21:21:47 <oklopol> cf_getline
21:21:51 <AnMaster> oklopol, cf_getline() is getline() from gnulib
21:21:53 <AnMaster> so same as glibc
21:22:09 <AnMaster> it is just so I don't have to depend onglibc
21:22:11 <oklopol> i don't know basic c io.
21:22:14 <augur> guise guise guise
21:22:15 <augur> http://www.chainsawsuit.com/20080507.shtml
21:22:24 <ais523> getline() isn't basic C io
21:22:34 <ais523> it's GNU, rather than in the C standards, I think
21:22:37 <ais523> or at least posix
21:22:38 <AnMaster> ais523, indeed
21:22:38 <oklopol> i don't know even basic c io.
21:23:37 <AnMaster> well then you can't really help
21:23:39 <AnMaster> :/
21:23:57 <AnMaster> ais523, with the checking for \0 it *works*
21:23:58 <oklopol> i think i know everything necessary now
21:23:59 <ais523> AnMaster: well, I was staring at the LoadString bit trying to figure out what was wrong
21:24:10 <AnMaster> ais523, I got NO clue
21:24:29 <AnMaster> ais523, also taking out check for \0 breaks it again it seems
21:24:40 <ais523> well, getline and \0 will always interact badly, I think
21:24:49 <AnMaster> ais523, oh?
21:24:59 <AnMaster> fread then I gues
21:25:01 <AnMaster> guess*
21:25:02 <ais523> because it gets a line, and presumably returns it as a string
21:25:19 <ais523> which means that as it's treating it as a string, everything after the first \0 is undefined
21:25:21 <AnMaster> ais523, it should break directly after \n iirc
21:25:24 <ais523> and therefore it itself might not handle it
21:25:55 <AnMaster> ais523, take a look at cf_getline and cf_getdelim in support.c will you?
21:26:51 <oklopol> why doesn't the else if have a i++?
21:27:02 <AnMaster> oklopol, to handle \r\n
21:27:04 <ais523> AnMaster: what in cf_getdelim should I look at in particular? It's a bit long
21:27:06 <AnMaster> that is windows line breaks
21:27:09 <oklopol> ah
21:27:19 <AnMaster> ais523, no clue really, it is from gnulib :/
21:27:26 <AnMaster> but I'm changing to fread() now
21:30:36 <ais523> AnMaster: do Funge files have to be newline-terminated?
21:30:36 <ais523> cf_getdelim appears to error if it hits EOF rather than the delimiter
21:30:36 -!- ais523 has quit (Remote closed the connection).
21:30:50 <AnMaster> <ais523> AnMaster: do Funge files have to be newline-terminated?
21:30:50 <AnMaster> <ais523> cf_getdelim appears to error if it hits EOF rather than the delimiter
21:30:51 <AnMaster> no
21:31:29 -!- ais523 has joined.
21:31:34 <AnMaster> no they don't have to
21:31:57 <ais523> sorry...
21:31:58 <AnMaster> but that doesn't seem to be the issue here hrrm
21:32:02 <AnMaster> ais523, sorry what?
21:32:05 <ais523> well, cf_getdelim appears to error if it hits EOF before a newline
21:32:07 <ais523> rather than returning
21:32:14 <AnMaster> ais523, hrrm
21:32:15 <ais523> and sorry for my connection
21:33:07 -!- ais523 has quit (Remote closed the connection).
21:33:23 -!- ais523 has joined.
21:35:34 <ais523> AnMaster: how goes the loading code, then?
21:35:38 <AnMaster> ok something is very wtf now
21:35:48 <AnMaster> x=180 y=763: v (118)
21:35:48 <AnMaster> x=180 y=764: (32)
21:35:48 <AnMaster> x=180 y=18: ^ (94)
21:35:54 <AnMaster> that trace for mycology makes no sense!
21:36:00 <ais523> AnMaster: sounds like memory corruption
21:36:09 <ais523> either that, or a wrapping problem
21:36:19 <AnMaster> ==32534== Conditional jump or move depends on uninitialised value(s)
21:36:27 <ais523> so memory corruption
21:39:32 <AnMaster> well no
21:39:37 <AnMaster> it was indexing error
21:39:52 <ais523> so accessing uninitialised, and therefore effectively corrupted, memory
21:40:43 <AnMaster> yes
21:40:47 <AnMaster> however now that works
21:40:53 <AnMaster> That the greatest point, relative to that point, is ( 180 769 )
21:40:53 <AnMaster> BAD: should have been ( 180 768 )
21:40:55 * AnMaster blerghs
21:41:15 <tusho> I support that blergh,.
21:41:33 <ais523> I also support that blergh
21:41:46 <ais523> On behalf of AnMaster, with 2 support, I cause AnMaster to blergh
21:41:58 <AnMaster> ..
21:42:03 <ais523> sorry, inside joke
21:42:35 <tusho> SELL TICKET. Price: 2VP. Action: Blergh.
21:42:47 <ais523> no way I'm buying that
21:42:56 <AnMaster> if (line[i] == '\r' && i < (sizeof(line) - 1) && line[i+1] == '\n')
21:43:08 <AnMaster> line is char line[1024] now
21:43:21 <ais523> AnMaster: what about long lines in the input?
21:43:27 <ais523> are you deliberately not supporting them?
21:43:29 <AnMaster> ais523, well line is wrong word
21:43:38 <AnMaster> this should be "buffer"
21:43:40 <ais523> oh, line's a block of chars read from the input?
21:43:42 <AnMaster> it may be more than one line
21:43:43 <AnMaster> yes
21:44:24 <AnMaster> it is called buf now
21:46:31 <AnMaster> well I know the cause of that
21:46:39 <AnMaster> a \r\n got split across reads
21:46:54 <ais523> Mycology uses \r\n?
21:46:54 * AnMaster rewrites
21:47:00 <ais523> actually, knowing Deewiant, it probably uses all 3
21:47:01 <AnMaster> ais523, yes in order to test that
21:47:21 <AnMaster> time to write a stateful parser
21:50:56 <AnMaster> yay
21:54:22 <AnMaster> ok it works now
21:54:35 <ais523> AnMaster: the file-load, or the string-load?
21:54:40 <AnMaster> file load
21:54:45 <AnMaster> one thing at a time
21:54:54 <AnMaster> ais523, I will fix the other load next
21:55:01 <ais523> ok
21:55:05 <AnMaster> ais523, still pull to see the file load
21:55:51 <ais523> I'll wait until you have the bit I need and then pull both at once, I think, atm I'm only using cfunge as a library not as an executable
21:58:22 <AnMaster> pushed fix of that too
21:58:34 <AnMaster> ais523, I'm still not sure what the original bug was howevere
21:58:37 <AnMaster> however*
21:58:50 <AnMaster> but now it works and quite different code
21:58:57 <AnMaster> will fix load at offset next
22:08:29 -!- RedDak has joined.
22:16:36 <AnMaster> ais523, fixed that one too
22:16:43 <ais523> ah, good
22:16:44 <ais523> can I pull?
22:16:50 <AnMaster> yes
22:19:20 <tusho> "NO. YOU MAY NOT."
22:19:47 <AnMaster> well it wouldn't cause any problems to pull while I push
22:19:59 <ais523> but I might get the wrong version
22:20:06 <AnMaster> you just wouldn't get the revision I'm currently pushing
22:20:16 <ais523> yay, what I've done so far works
22:20:52 <ais523> I know have cfunge working correctly as a library
22:21:00 <AnMaster> know have?
22:21:02 <AnMaster> now have?
22:21:07 <ais523> s/k//
22:21:18 <AnMaster> ais523, very nice
22:21:21 <ais523> I can compile cfunge + glue.c99 + a stub INTERCAL file
22:21:26 <ais523> and it runs a Befunge program and exits
22:21:35 <ais523> although at the moment the string containing the Befunge program is hardcoded
22:21:40 <AnMaster> well the .c99 extension needs to be changed later on
22:21:45 <ais523> well, yes
22:21:59 <ais523> by compiling cfunge and the glue separately rather than putting it on the command line
22:22:08 <AnMaster> yep
22:22:17 <AnMaster> libickcf.a?
22:22:24 <ais523> yes, I think so
22:22:31 <ais523> also that'll prevent having to compile everything as C99
22:22:34 <AnMaster> what was that ickec thing?
22:22:44 <ais523> it's the ffi library between INTERCAL and C
22:22:53 <AnMaster> $ ls /usr/lib/libick*
22:22:53 <AnMaster> /usr/lib/libick.a /usr/lib/libickec.a /usr/lib/libickmt.a
22:22:54 <ais523> plus the INTERCAL runtime modified to use it
22:22:57 <AnMaster> and mt?
22:22:59 <AnMaster> threads?
22:23:05 <ais523> yes
22:23:12 <ais523> each is a different version of the runtime
22:23:24 <ais523> for the no option, -e and -m options respectively
22:24:02 <AnMaster> ah
22:24:07 <ais523> presumably libickcf.a would be in addition to libickec.a
22:24:12 <ais523> rather than instead of it, though
22:24:18 <AnMaster> I see
22:24:27 <ais523> because nothing in libickec needs to change for adding cfunge
22:24:27 <AnMaster> maybe ickecf then?
22:24:45 <ais523> well, that would imply ec+cf to me
22:24:55 <ais523> personally, I don't care too much about library naming consistency
22:24:58 <AnMaster> hm wasn't that what you said
22:25:14 <ais523> because I don't think anything but C-INTERCAL uses its libaries
22:25:25 <AnMaster> haha
22:25:30 <ais523> maybe it should be libfffungi.a
22:25:46 <ais523> because like libyuk.a, it's in addition to the runtimes rather than a different sort of runtime
22:25:50 <AnMaster> ais523, well so will you be able to link intercal, befunge and C all at once then?
22:26:05 <ais523> yes
22:26:09 <AnMaster> cool
22:26:22 <ais523> even better, you can do COME FROMs between the Befunge and the C if you like
22:26:36 <ais523> even computed COME FROMs
22:26:46 <AnMaster> "if you like", right
22:27:37 <AnMaster> ais523, also you can do threads in C
22:27:42 <AnMaster> but would that break anything?
22:27:48 <AnMaster> if you in the C code used pthreads
22:28:21 <ais523> AnMaster: quite probably it would break something
22:28:24 <ais523> that isn't supported
22:28:29 <AnMaster> ais523, got a stub so I can test?
22:28:38 <ais523> AnMaster: a stub external-calls thing?
22:28:43 <ais523> yep, let me paste it
22:28:53 <AnMaster> yes
22:30:40 <AnMaster> ais523, well?
22:31:05 -!- ais523 has quit (Remote closed the connection).
22:31:22 -!- ais523 has joined.
22:31:44 <AnMaster> ais523, well?
22:31:58 <ais523> http://rafb.net/p/eF6d8778.html
22:32:04 <ais523> sorry, connection trouble...
22:32:13 <ais523> there's an example INTERCAL and C file
22:32:20 <ais523> note you have to give them different basenames
22:32:31 <ais523> because C-INTERCAL compiles into C and therefore uses .c as an extension for its output
22:33:31 <AnMaster> hm ok
22:33:46 <AnMaster> ais523, it could put it in /tmp or something
22:34:07 <AnMaster> ais523, also what part jumps to the C code?
22:34:13 <ais523> AnMaster: well, I use /tmp too, but quite a lot of options leave the .c behind
22:34:21 <AnMaster> right
22:34:37 <ais523> AnMaster: the DO (9876) NEXT is a procedure call to line 9876 in the C code
22:34:46 <ais523> and the C code has ick_nextfrom(3);
22:34:53 <AnMaster> um
22:34:58 <ais523> which is a reverse procedure call from the INTERCAL code
22:34:59 <AnMaster> line 9876?
22:35:09 <ais523> ick_linelabel(9876);
22:35:11 <AnMaster> I say
22:35:40 <ais523> the next from basically makes all lines numbered 3 into a NEXT to that line
22:35:45 <ais523> like a comefrom, but you can return from it
22:36:22 <ais523> well, (1) DO WRITE OUT #1 DO (2) NEXT PLEASE GIVE UP (2) DO RESUME #1
22:36:39 <ais523> is equivalent to (1) DO WRITE OUT #1 PLEASE GIVE UP (2) DO NEXT FROM #1 DO RESUME #1
22:36:57 <ais523> that should explain the equivalence, the first uses NEXT while the second uses NEXT FROM
22:37:28 <AnMaster> *head spinning*
22:37:43 <ais523> it's not that hard to follow, really, once you have the concept of a COME FROM
22:37:48 <ais523> but just use NEXT if NEXT FROM confuses you
22:37:57 <AnMaster> well....
22:38:00 <ais523> NEXT and RESUME #1 can be used as a procedure call
22:38:06 <AnMaster> all I need is to test some C :P
22:38:36 <ais523> I can give you an even simpler example if you like
22:38:43 <AnMaster> ais523, hurm, how do I link a library?
22:38:51 <ais523> you can't at present
22:39:01 <AnMaster> oh yes, if I can just make it generate the C code
22:39:07 <AnMaster> then I can link the result myself
22:39:11 <AnMaster> with needed libraries
22:39:16 <AnMaster> ais523, right?
22:39:24 <ais523> yes
22:39:31 <ais523> use -egY as your command line options
22:39:35 <ais523> that prints out the commands it uses
22:39:40 <AnMaster> ah
22:39:42 <ais523> then just run a modified version of the final command it gives
22:39:46 <ais523> -g tells it to keep its temporaries
22:39:53 <ais523> and -Y to print out command-line args
22:40:04 <ais523> hmm... unless it deletes the tempfile it creates anyway, I'll have to check
22:40:14 <AnMaster> why would it?
22:40:47 <ais523> anyway, http://rafb.net/p/jezQ9j47.html is a really minimal test for the C vs. INTERCAL ffi
22:40:56 <AnMaster> ais523, I need to do -pthreads to check this
22:41:00 <ais523> and why would it? because I made a mistake, that's why
22:41:06 <ais523> I'm not sure if it does
22:41:07 <ais523> let me check
22:41:48 <ais523> ugh, yes it does delete the temporary
22:41:59 <ais523> even worse, it deletes its temporaries inconsistently
22:42:04 <ais523> even with -g
22:42:11 <AnMaster> I see
22:42:15 <ais523> for the time being I suggest you just edit the source to add -pthreads manually
22:42:21 <ais523> I'm planning to implement general library support
22:42:22 <AnMaster> ais523, well I need to test with -lphreads to be exact
22:42:24 <ais523> but I haven't, yet
22:42:35 <AnMaster> ais523, where in c-intercal source to edit?
22:42:50 <ais523> umm... in the multi-line trainwreck near the end
22:42:54 <ais523> it's in src/perpet.c
22:42:56 <AnMaster> aha
22:43:06 <ais523> look for #if 0
22:43:08 <AnMaster> <ais523> umm... in the multi-line trainwreck near the end
22:43:08 <AnMaster> <ais523> it's in src/perpet.c
22:43:08 <AnMaster> haha
22:43:10 <ais523> that's in the right area, I think
22:43:24 <ais523> where I put in an extra closing bracket to help Emacs indent properly
22:43:26 <AnMaster> "multi-line trainwreck"
22:43:42 <ais523> search for the character string -Wl
22:43:55 <ais523> I think the multi-line trainwreck is the only part of the code that uses that
22:44:11 <ais523> and you'll see why I call it that when you find the relevant part of the code
22:44:27 <ais523> it's a long sprintf/snprintf, with #ifdefs and suchlike in the middle of it
22:44:54 <AnMaster> #ifdef HAVE_SNPRINTF
22:44:57 <AnMaster> there?
22:45:10 <ais523> yes, probably, there are several occurences of that throughout the code
22:45:15 <ais523> but the place I'm thinking of is one of them
22:45:31 <AnMaster> idea: just use a sprintf/snprintf wrapper macro
22:45:36 <AnMaster> much easier
22:45:48 <AnMaster> line 1639?
22:46:44 -!- Iskr_ has quit ("Leaving").
22:46:49 <ais523> and I had thought of that
22:46:55 -!- ais523 has quit (Remote closed the connection).
22:47:10 <AnMaster> also mixed tabs/spaces indenting you use there suck
22:47:13 -!- ais523 has joined.
22:47:16 <AnMaster> if(remspace <= 0)
22:47:16 <AnMaster> ick_lose(IE666, -1, (char*)NULL);
22:47:19 <AnMaster> a few lines below
22:47:25 <AnMaster> <AnMaster> also mixed tabs/spaces indenting you use there suck
22:47:32 <AnMaster> that is mixed
22:47:41 <ais523> yes, that's it
22:48:05 <AnMaster> IE666
22:48:08 <AnMaster> what is that one?
22:48:22 <ais523> I think it's a you-specified-too-much-on-the-command-line error
22:48:24 <ais523> let me check
22:48:39 <ais523> COMPILER HAS INDIGESTION
22:48:56 <ais523> it's for input line too long, input file too long, or too many input files
22:49:12 <AnMaster> interesting
22:49:16 <AnMaster> why that limit?
22:49:31 <ais523> because I'm lazy and use a static buffer for command lines
22:49:44 <ais523> it's not as if the command line is anything that should run out of space anyway
22:49:55 <ais523> after all, cfunge with all its files fits onto the command line
22:51:01 <AnMaster> ais523, I added a fingerprint today btw, not sure if you noticed
22:51:06 <AnMaster> TURT
22:51:08 <ais523> no, I didn't notice
22:51:28 <AnMaster> ais523, you need to pull in the updated fingerprints.h to get a linking error for it then :P
22:52:40 <ais523> well, I'll go without the linking error, then
22:52:43 <ais523> does TURT use pthreads?
22:53:03 <AnMaster> no
22:53:08 <AnMaster> ais523, nothing will use it
22:53:12 <ais523> why the link error, then?
22:53:12 <AnMaster> as far as I know
22:53:26 <AnMaster> ais523, because you would need to include an extra file
22:53:30 <AnMaster> renamed to .c99
22:53:32 <AnMaster> right?
22:53:38 <ais523> AnMaster: I'm using wildcards on the command line
22:53:40 <ais523> I pasted it a while back
22:53:41 <AnMaster> ah
22:53:45 <AnMaster> for *.c?
22:53:47 <AnMaster> too?
22:53:54 <ais523> no, but I'm using wildcard renames
22:53:56 <AnMaster> aha
22:54:38 <AnMaster> linking errors aren't likely to happen for some time
22:54:47 <ais523> ok
22:55:03 <AnMaster> some future fingerprints could need libpng or some socket related library I guess
22:55:48 -!- Corun has quit ("This computer has gone to sleep").
22:57:21 <AnMaster> ais523, will try pthreads tomorrow
22:57:34 * AnMaster is coding on some other parts atm
22:58:23 <AnMaster> tools/fuzz-test.sh TURT
22:58:26 <AnMaster> to be exact
22:59:28 <AnMaster> ais523, you may want to take a look at tools/fuzz-test.sh
22:59:31 <AnMaster> it is quite fun
23:01:13 <AnMaster> cfunge: /home/arvid/src/cfunge/trunk/src/stack.c:115: StackPushNoCheck: Assertion `stack->top < stack->size' failed.
23:01:14 <AnMaster> yay
23:04:32 -!- Corun has joined.
23:23:46 <ais523> AnMaster: how did an assertion in a NoCheck procedure fail?
23:23:50 <ais523> I thought they did no checks
23:24:10 <tusho> ais523: no, that means they have no _posix_check functions in
23:24:11 -!- Sgeo has quit (Connection timed out).
23:24:12 <AnMaster> // This should only be used if that is true...
23:24:12 <AnMaster> assert(stack->top < stack->size);
23:24:14 <AnMaster> that is how
23:24:22 <tusho> (which checks an internal field with fuzzy logic)
23:24:28 <tusho> (in less than -1ms)
23:24:45 <AnMaster> ais523, to do a assert in case it is compiled with debug info
23:24:57 <AnMaster> it won't do any check in release build
23:25:05 <ais523> tusho: it took me a moment to realise you were joking
23:25:15 <tusho> ais523: ... I was joking?
23:25:15 <ais523> partly because I thought AnMaster had said it, rather than you, to start with
23:25:23 <ais523> you both come out green in my nickname coloriser
23:25:23 <AnMaster> -_-
23:25:26 <AnMaster> hahaa
23:25:41 <AnMaster> well I'm not sure of the cause
23:26:06 <AnMaster> ais523, it happens when stack size reach astonomical sizes
23:26:28 <AnMaster> + certain alignment
23:26:48 <ais523> AnMaster: integer wraparound?
23:26:55 <AnMaster> ais523, no...
23:27:07 <AnMaster> I use 64-bit size_t all the time too
23:27:22 <AnMaster> ais523, and astromical is closer to 64-mb here
23:27:25 <AnMaster> rather than 4 gb
23:27:36 <ais523> so astromical < astronomical?
23:27:43 <AnMaster> haha
23:27:47 * AnMaster is trired
23:28:27 <AnMaster> ais523, can you see anything wrong in StackPreallocSpace() in stack.c that could make it *underestimate* the needed space
23:28:55 <AnMaster> #4 0x00000000004041b3 in StackPushString (stack=0x694620,
23:28:56 <AnMaster> str=0x7fff8754570f "PATH=/usr/kde/3.5/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2:/opt/ghc/bin:/opt/blackdown-jdk-1.4.2.03/bin:/opt/blackdown-jdk-1.4.2.03/jre/bin:/usr/qt/3/bin:/usr/g"..., len=18) at /home/arvid/src/cfunge/trunk/src/stack.c:216
23:28:56 <AnMaster> 216 StackPushNoCheck(stack, str[len]);
23:28:56 <AnMaster> (gdb) print len
23:28:56 <AnMaster> $1 = 18
23:29:12 -!- ais523 has quit (Remote closed the connection).
23:29:29 -!- ais523 has joined.
23:29:37 <AnMaster> ais523, read log!
23:29:59 <AnMaster> (gdb) call strlen(str)
23:29:59 <AnMaster> $1 = 316
23:30:04 <AnMaster> <AnMaster> ais523, can you see anything wrong in StackPreallocSpace() in stack.c that could make it *underestimate* the needed space
23:30:11 <AnMaster> ais523, because that seems to be the error
23:30:26 <AnMaster> (gdb) print stack->size
23:30:26 <AnMaster> $2 = 10824
23:30:40 <ais523> ugh, it's sufficiently late that I'm not really capable of debugging code any more
23:30:42 <ais523> I have to go soon as is
23:30:56 <ais523> tomorrow afternoon I'll have a better chance of figuring what's going on
23:31:20 <AnMaster> tusho, http://rafb.net/p/4MlAuO29.html
23:31:31 <tusho> AnMaster: ?
23:31:33 <AnMaster> any idea why that underestimates in some rare cases
23:31:34 <AnMaster> ?
23:31:41 <tusho> no
23:31:49 <AnMaster> did you even look at it...
23:31:57 <tusho> briefly
23:32:00 <tusho> i'm not your tech support
23:32:06 <tusho> newsize += (minfree % ALLOCCHUNKSIZE + 1) * ALLOCCHUNKSIZE;
23:32:07 <tusho> that, maybe
23:32:11 <tusho> stack->size += minfree;
23:32:12 <tusho> or that
23:32:14 <AnMaster> yes
23:32:16 <AnMaster> hm
23:32:17 <ais523> cf_realloc?
23:32:24 <ais523> why have you reimplemented realloc?
23:32:26 <tusho> ais523: it reallocs without doing anything
23:32:33 <AnMaster> ais523, just a macro for bohem-gc
23:32:34 <AnMaster> ...
23:32:34 <tusho> specifically, it rewinds the clock with a reallocated version
23:32:44 <ais523> tusho: heh, you could do that in Feather
23:32:50 <AnMaster> to call bohem-gc or native
23:32:50 <tusho> cf means Cold Fire, which is what AnMaster redefined really gnarly posix functions with
23:32:56 <ais523> but it would be even less efficient then the typical C version
23:32:56 <AnMaster> ...
23:33:01 <AnMaster> cf = cfunge
23:33:02 <tusho> (it is really called __posix_realloc_timewind_xsf)
23:33:04 <AnMaster> in this case
23:33:27 <AnMaster> # define cf_malloc(x) GC_MALLOC(x)
23:33:27 <AnMaster> or
23:33:31 <AnMaster> # define cf_malloc(x) malloc(x)
23:33:37 <AnMaster> depending on if we build with GC
23:33:40 <AnMaster> or not
23:33:45 <AnMaster> what is wrong with that
23:33:51 <AnMaster> ais523, ?
23:33:59 <AnMaster> same for realloc
23:34:00 <ais523> nothing, really, I was just surprised, that's all
23:35:48 <ais523> AnMaster: why not stack->size=newsize?
23:36:00 <AnMaster> ais523, "// Round to whole ALLOCCHUNKSIZE upwards."
23:36:02 <ais523> you're increasing stack->size and the actual allocated memory at different rates
23:36:15 <AnMaster> oh am I?
23:36:18 * AnMaster looks
23:36:20 <ais523> what's stack->size meant to represent, if not the allocated memory
23:36:33 <AnMaster> that is allocated memory
23:36:44 <AnMaster> that was indeed a typo
23:36:56 <ais523> does that fix your bug?
23:36:58 <AnMaster> yes
23:37:00 <AnMaster> thanks
23:37:03 <AnMaster> silly typos
23:37:16 <ais523> if only you hadn't done it in the very last line, I would have found it faster
23:37:29 <ais523> try typoing earlier next time, it makes it faster to debug when checking from top to bottom
23:37:51 <AnMaster> true
23:39:11 <AnMaster> ais523, pushed this fix
23:40:16 <AnMaster> ais523, and I tend to spread assert() around the code to help debug it
23:40:47 <ais523> pulled
23:41:01 <AnMaster> stack.h contains the actual change
23:41:13 <AnMaster> some other files had some typo fixes in comments
23:44:31 <ais523> one other file
23:52:47 <AnMaster> ais523, yes
23:52:51 <AnMaster> maybe it was that only
23:53:09 -!- ais523 has quit ("(1) DO COME FROM ".2~.2"~#1 WHILE :1 <- "'?.1$.2'~'"':1/.1$.2'~#0"$#65535'"$"'"'&.1$.2'~'#0$#65535'"$#0'~#32767$#1"").
←2008-06-29 2008-06-30 2008-07-01→ ↑2008 ↑all