00:03:14 -!- timotiis has quit (Read error: 110 (Connection timed out)).
00:24:25 -!- RedDak has quit (Remote closed the connection).
00:33:47 -!- tusho has left (?).
00:33:50 -!- tusho has joined.
00:33:50 -!- tusho has left (?).
00:34:01 -!- tusho has joined.
00:34:12 -!- tusho has left (?).
00:34:16 -!- tusho has joined.
01:13:16 <augur> its not july first yet here!
01:14:07 -!- tusho has quit.
01:59:49 -!- Judofyr has quit.
03:48:10 <Slereah> http://www.amazon.com/Million-Random-Digits-Normal-Deviates/dp/0833030477/
05:21:20 -!- Corun has quit ("This computer has gone to sleep").
06:59:20 -!- cc_toide has joined.
07:17:11 -!- cctoide has quit (Read error: 110 (Connection timed out)).
07:22:08 -!- Slereah has quit (Read error: 110 (Connection timed out)).
07:35:36 <augur> i leave or europe at 11
07:43:46 <Deewiant> AnMaster: see, good thing that I don't update the Mycology comparison, what with all these bugs still in your interpreter ;-)
07:44:04 <AnMaster> Deewiant, none of them affected current mycology
07:44:30 <AnMaster> Deewiant, anyway last was a pre-release so heh
07:44:33 <Deewiant> ah, but I'd do some extra bug hunting just to spite you, and then add anything I find to Mycology ;-)
07:44:58 <AnMaster> before next release I plan to create a test program for TURT on my own
07:47:37 <AnMaster> Deewiant, well I will be happy to accept any bug reports
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:40 -!- augur has quit (Read error: 110 (Connection timed out)).
08:10:11 -!- oklofok has joined.
08:14:31 -!- oklopol has quit (Read error: 110 (Connection timed out)).
08:38:01 -!- lament has quit (clarke.freenode.net irc.freenode.net).
08:38:01 -!- AAA_AAA has quit (clarke.freenode.net irc.freenode.net).
08:38:02 -!- bsmntbombdood has quit (clarke.freenode.net irc.freenode.net).
08:38:03 -!- atsampson has quit (clarke.freenode.net irc.freenode.net).
08:38:04 -!- mtve has quit (clarke.freenode.net irc.freenode.net).
08:38:05 -!- cherez has quit (clarke.freenode.net irc.freenode.net).
08:38:05 -!- GregorR has quit (clarke.freenode.net irc.freenode.net).
08:38:05 -!- AnMaster has quit (clarke.freenode.net irc.freenode.net).
08:38:05 -!- Ilari has quit (clarke.freenode.net irc.freenode.net).
08:38:05 -!- cc_toide has quit (clarke.freenode.net irc.freenode.net).
08:38:06 -!- sebbu has quit (clarke.freenode.net irc.freenode.net).
08:38:07 -!- cmeme has quit (clarke.freenode.net irc.freenode.net).
08:38:08 -!- Polar has quit (clarke.freenode.net irc.freenode.net).
08:38:08 -!- dbc has quit (clarke.freenode.net irc.freenode.net).
08:38:08 -!- SimonRC has quit (clarke.freenode.net irc.freenode.net).
08:38:09 -!- fizzie has quit (clarke.freenode.net irc.freenode.net).
08:38:09 -!- shachaf has quit (clarke.freenode.net irc.freenode.net).
08:38:09 -!- lifthras1ir has quit (clarke.freenode.net irc.freenode.net).
08:38:10 -!- Deewiant has quit (clarke.freenode.net irc.freenode.net).
08:38:11 -!- jamesstanley has quit (clarke.freenode.net irc.freenode.net).
08:38:11 -!- Dewi has quit (clarke.freenode.net irc.freenode.net).
08:38:12 -!- puzzlet has quit (clarke.freenode.net irc.freenode.net).
08:39:08 -!- cc_toide has joined.
08:39:08 -!- AAA_AAA has joined.
08:39:08 -!- lament has joined.
08:39:08 -!- cmeme has joined.
08:39:08 -!- bsmntbombdood has joined.
08:39:08 -!- cherez has joined.
08:39:08 -!- dbc has joined.
08:39:08 -!- GregorR has joined.
08:39:08 -!- sebbu has joined.
08:39:08 -!- Dewi has joined.
08:39:08 -!- Polar has joined.
08:39:08 -!- AnMaster has joined.
08:39:08 -!- mtve has joined.
08:39:08 -!- shachaf has joined.
08:39:08 -!- jamesstanley has joined.
08:39:08 -!- atsampson has joined.
08:39:08 -!- Deewiant has joined.
08:39:08 -!- puzzlet has joined.
08:39:08 -!- fizzie has joined.
08:39:08 -!- lifthras1ir has joined.
08:39:08 -!- Ilari has joined.
08:39:08 -!- SimonRC has joined.
08:57:14 -!- Slereah_ has joined.
09:52:07 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
10:22:52 -!- Judofyr has joined.
10:50:03 <AnMaster> Deewiant, there is some kind of error in ccbi TURT as well as cfunge TURT
10:50:24 <AnMaster> but putting down pen and going forward by 10 pixels shouldn't result in a viewbox like this:
10:50:31 <AnMaster> viewBox="-163839.0999 -0.0010 327679.0998 0.0020"
11:00:35 <AnMaster> Deewiant, also I get a closed path not an open one it seems
11:32:01 <AnMaster> Deewiant, further: the instruction to clear the paper with some color doesn't work correctly
11:39:57 -!- Slereah_ has joined.
12:07:09 -!- cc_toide has changed nick to cctoide.
12:27:06 -!- ais523 has joined.
12:27:21 <AnMaster> well I found quite a few bugs in TURT, both CCBI's and mine
12:27:25 <AnMaster> mine is more or less fixed now
12:27:35 <AnMaster> still the margins in the generated file are quite weird
12:28:01 <AnMaster> what to learn from this: fixed point sucks
12:30:13 <AnMaster> Deewiant, why do you use fixed point in TURT btw?
12:30:42 <AnMaster> (p.d.p.x < 0) ? "-" : "", getInt(p.d.p.x), getDec(p.d.p.x) <-- seems quite messy to me
12:30:50 <AnMaster> just to print a fixed point number
12:31:18 * AnMaster added code to convert to a double
12:44:27 <ais523> floating-point suffers from rounding errors when large and small numbers are combined
12:44:59 <ais523> I've had that problem before; I was trying to cause something to change every second, but the time was in epoch-seconds and stored in a floating-point number
12:45:07 <ais523> it worked fine when I changed it to fixed-point
12:54:44 <AnMaster> I think Deewiant confused turn right and turn left
12:54:51 <AnMaster> I can't explain it in any other way
12:55:04 <ais523> I'm pretty sure Deewiant wouldn't confuse [ and ]
12:55:21 <AnMaster> void turnLeft() { turt.heading += toRad(ip.stack.pop); turt.normalize(); }
12:55:21 <AnMaster> void turnRight() { turt.heading -= toRad(ip.stack.pop); turt.normalize(); }
12:55:33 <ais523> is heading clockwise or anticlockwise?
12:55:38 <AnMaster> ais523, trying to figure out that
12:56:03 <AnMaster> ais523, problem it does it totally wrong anyway
12:57:21 <ais523> when people set 0=east, then they tend to use anticlockwise angles
12:57:30 <ais523> that's mathematician angle measurement
12:57:41 <ais523> 0=east, pi/2=north, pi=west, 3*pi/2=south
12:57:41 <AnMaster> ais523, so 90 should be straight up?
12:57:54 <ais523> well, there's a toRad in that code
12:58:01 <ais523> so Deewiant's storing it in radians internally
12:58:06 <ais523> but 90 would be straight up in degrees, yes
12:58:16 <AnMaster> ais523, the code treats that as downwards
12:58:37 <ais523> I suppose you have to look at the original code for TURT
12:58:41 <AnMaster> anyway 0 in his code is equal to going diagonally down
12:58:48 <AnMaster> ais523, there is nothing but the specs
12:58:58 <AnMaster> http://catseye.tc/projects/funge98/library/TURT.html
12:59:04 <ais523> in that case, how did J^4 do the turt-quine?
12:59:11 <AnMaster> "H 'Set Heading' (angle in degrees, relative to 0deg, east)"
12:59:28 <AnMaster> ais523, well he implemented TURT in *his* way in *his own* interpreter
12:59:46 <AnMaster> problem is that no implementations agree on this simple test:
12:59:54 <AnMaster> "TRUT"4( 29*N 0H 1P 55*F 9a*H 5F 9a*L 5F 0P 5B 0a*R aB 1P I @
13:00:10 <AnMaster> 9a*L should turn 90 degrees to the left
13:00:14 * ais523 wonders what a non-esoprogrammer would think of your definition of a "simple test"
13:00:45 <AnMaster> ais523, if 90 is straight down then it should draw as the ascii art:
13:01:06 <AnMaster> and a dot a bit above the vertical line
13:01:29 <AnMaster> except no interpreter agrees about this
13:02:21 <AnMaster> ais523, the last direction change there, is 90 degrees to the left right?
13:02:54 <AnMaster> H 'Set Heading' (angle in degrees, relative to 0deg, east)
13:03:01 <AnMaster> F 'Forward' (distance in pixels)
13:03:09 <AnMaster> L 'Turn Left' (angle in degrees)
13:03:09 <AnMaster> R 'Turn Right' (angle in degrees)
13:03:22 <AnMaster> P 'Pen Position' (0 = up, 1 = down)
13:03:40 <AnMaster> N 'Clear Paper with Colour' (24-bit RGB)
13:03:43 <AnMaster> * I 'Print current Drawing' (if possible)
13:04:03 <AnMaster> anyway N is currently broken in both cfunge and ccbi
13:04:15 <AnMaster> it clears but doesn't set bg color at all
13:04:54 <ais523> 0a*R is a NOP, surely?
13:05:07 <Deewiant> AnMaster: I think SVG is the reason for fixed point, I might misremember though
13:05:39 <AnMaster> well I think ccbi is quite broken on "TRUT"4( 29*N 0H 1P 55*F 9a*H 5F 9a*L 5F 0P 5B 9a*R aB 1P I @
13:05:53 <ais523> I think 90's more likely to be straight up
13:06:01 <AnMaster> cfunge is slightly broken but not as broken
13:06:01 <ais523> but then, Befunge uses mathematical notation with up and down exchanges
13:06:11 <ais523> so maybe TURT does the same?
13:06:20 <AnMaster> Deewiant, should 90 degrees in TURT be up or down?
13:06:31 <AnMaster> I'm happy to use either but I need to know
13:08:27 <AnMaster> well now cfunge does the right if 90 is down
13:08:35 <AnMaster> still my margins are all messed up
13:10:35 <AnMaster> Deewiant, it is clear you haven't tested your TURT ;P
13:10:57 <AnMaster> as the generated paths are filled and closed and so on
13:11:01 <ais523> we need a Turt version of Acid2
13:11:20 <AnMaster> ais523, haha well mine test some stuff
13:11:36 <ais523> as for your statement about it working differently on every interpreter
13:11:48 <ais523> there's a bit of INTERCAL-72 that the original spec didn't define
13:12:09 <ais523> and it turned out that J-INTERCAL, C-INTERCAL, and CLC-INTERCAL (the three INTERCAL interps I could get hold of) all implement it differently
13:19:58 <ais523> so it's sort of a handprint for INTERCAL interps
13:20:16 <ais523> I've publically stated that I'd prefer it if all future INTERCAL interps do something different yet again upon encountering it
13:20:56 <ais523> basically when you STASH a variable, IGNORE it, then RETRIEVE that variable
13:21:02 <ais523> it's the interaction of read-only-ness and scoping
13:24:05 -!- oklofok has changed nick to oklopol.
13:25:30 <AnMaster> how can you figure out how to get a large number in befunge?
13:25:44 <AnMaster> how do you write that out in Befunge...
13:25:53 <ais523> generally speaking, I factorise and multiply
13:25:58 <ais523> but there may be better ways
13:26:12 <AnMaster> 16711680: 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 5 17
13:26:34 <ais523> also 2s can be bunched into 8s
13:29:24 <AnMaster> Deewiant, your colors are broken
13:29:37 <AnMaster> 0xff0000 gets output as "#0000ff"
13:32:18 <ais523> <tusho> I support that blergh
13:42:19 <AnMaster> need to close a path correctly
13:51:57 <Slereah_> I found an old marble of mine :D
13:54:34 <Slereah_> I didn't even know I still had one.
13:55:38 <cctoide> that's because you don't keep them in your head, remember
13:57:51 <Slereah_> "Remember Adolf Hitler, the most famous Black Magick wizard in modern history?"
14:00:20 -!- Corun has joined.
14:00:44 <AnMaster> Deewiant, ais523: well cfunge is more conforming to TURT specs than ccbi now :P
14:01:59 <AnMaster> 1) margins totally messed up, 2) it sometimes misses to add path segments when outputting (but not as much as ccbi does) 3) adding dots after lines are even more random operation it seems
14:07:25 <AnMaster> well my test program works in cfunge now
14:07:45 <AnMaster> not saying that other programs will work
14:08:56 <ais523> did you update only TURT?
14:09:18 <AnMaster> well TODO and CMakeList.txt too
14:16:43 -!- Corun has quit ("This computer has gone to sleep").
14:18:00 -!- pikhq has joined.
14:32:35 -!- atsampson has quit ("back in a minute").
14:36:03 -!- atsampson has joined.
14:51:19 <AnMaster> I got ccbi to generate an invalid svg file
14:51:23 <AnMaster> at least according to inkscape
14:51:39 <AnMaster> <path stroke="#000000" stroke-linecap="round" d=""
14:51:52 <ais523> no, the quotes aren't matched properly
14:52:22 <AnMaster> Deewiant, http://rafb.net/p/tZQ61687.html <-- ccbi generates invalid code on that
14:53:24 <AnMaster> actually take http://rafb.net/p/o2X0l033.html, the ASCII art had an error
14:53:38 <ais523> it would be nice to get the v> trick working in a vertical column rather than drifting to the left
14:53:43 <ais523> I think it might be possible with flying IPs
14:54:01 <ais523> instead of v, set the IP going diagonally down and to the right
14:54:02 <AnMaster> ais523, well yes it would work in a jump table
14:54:22 <AnMaster> something like 11x instead of x
14:54:47 <ais523> yep, 11x> at the end of each line should work
14:54:57 <ais523> to make Befunge work more-or-less like 1D programming languages
14:55:59 <AnMaster> well flying ip is slower I think because it needs complex checks for wrapping
14:56:17 <ais523> AnMaster: most people writing Befunge programs don't optimise for speed
14:56:19 <AnMaster> actually shouldn't matter as long as it doesn't actually wrap while flying
14:56:43 <AnMaster> ais523, well removing white spaces would help with that
14:59:23 <pikhq> All in favor of me writing a Brainfuck interpreter that runs on raw hardware?
14:59:37 <ais523> pikhq: you mean, creating hardware that runs BF natively?
14:59:41 <ais523> I think that's been done before
14:59:49 <pikhq> ais523: No, just a kernel that runs Brainfuck.
15:00:06 <ais523> oh, in that case you'd just write a BF interp that was also an OS
15:00:09 <ais523> that isn't all that difficult
15:00:18 <ais523> I/O would probably be the hardest part
15:00:19 <pikhq> ais523: You're right.
15:00:29 <pikhq> Especially since I already have half of a kernel written. ;)
15:04:11 <AnMaster> Deewiant, ais523: http://rafb.net/p/wPQrY673.html
15:04:22 <AnMaster> ais523, you will love that one ;P
15:05:18 <ais523> the 11x> looks so much neater than the v> IMO
15:05:43 <AnMaster> well since it stays in the same column it is useful indeed
15:05:56 <AnMaster> and for a test suite I don't have time write compact code
15:06:17 <AnMaster> ais523, http://rafb.net/p/t5usdB97.html
15:06:53 <AnMaster> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
15:09:18 <AnMaster> http://rafb.net/p/rCRPk325.html
15:10:18 <ais523> stroke-width:0.00005px
15:10:24 <ais523> that seems a bit small
15:10:34 <ais523> I would have expected 1px
15:11:39 <ais523> does TURT have a fill, by the way?
15:11:44 <ais523> and does the TURT quine work in cfunge yet?
15:17:01 <AnMaster> http://rafb.net/p/Haj5AB54.html <-- more extended
15:17:17 <AnMaster> ais523, as for stroke, it is correct because everything is too small scale
15:17:25 <AnMaster> I plan to rescale everything btw
15:17:38 <AnMaster> ais523, as for turt quine I think it maybe be !Befunge specific
15:17:54 <AnMaster> iirc !Befunge's TURT isn't completely correct
15:17:59 <ais523> I don't think it uses any !Befunge-specific features except TURT
15:18:14 -!- Corun has joined.
15:18:15 <AnMaster> ais523, it depends on differing implementation of TURT
15:18:31 <AnMaster> also debugging that quine is not something I plan to do
15:18:47 <AnMaster> I make a test program, reason about it, then run it check if result is same
15:19:29 <AnMaster> (that happened just now, what if you change pen color when it is down and then use T to teleport to another location, logically you got to lift the pen
15:20:03 <AnMaster> anyway when Deewiant gets back I hope he can fix ccbi :)
15:20:55 <AnMaster> ais523, also my turt is likely to still have bugs apart from very bad margins and stupid scale
15:21:18 <ais523> well, most esocode has bugs
15:21:29 <ais523> even something as simple as the original Malbolge interp had lots of vunerabilities
15:24:14 <AnMaster> at least my margins doesn't cut off the image like ccbi does :P
15:28:40 <AnMaster> ais523, btw you asked for function to execute on a fingerprint being unloaded?
15:28:47 <ais523> I don't plan to use it
15:28:55 <AnMaster> you can unload a fingerprint that isn't loaded
15:29:24 <AnMaster> consider A-Z as a set of stacks of function pointers
15:29:30 <ais523> oh, does that rollback all the fingerprint commands it would define if it were loaded?
15:29:41 <ais523> I think I get how fingerprints work
15:29:44 <AnMaster> now load: push on the relevant stacks
15:29:47 <ais523> the commands work the same way as variables in INTERCAL
15:29:58 <ais523> a different stack for each command
15:30:01 <AnMaster> but unload: pop *top item* if possible from the relevant stacks
15:30:18 <AnMaster> so there is no way to know if it is the same fingerprint in fact that is unloaded
15:30:26 <AnMaster> consider the NULL fingerprint for example
15:30:40 <AnMaster> you can unload that a few time to clear anything loaded
15:31:01 <AnMaster> so in effect "function on unload" is pointless
15:31:50 <ais523> unless you're using it as a 27th command rather than an unload hook
15:32:31 <ais523> well, the unload would do something, as would all the commands in the fingerprint
15:32:51 <AnMaster> a fingerprint trying to unload itself in cfunge would cause havoc I bet
15:33:09 <AnMaster> it couldn't even be sure it unloaded itself
15:33:52 <AnMaster> the opcode stacks are quite simple: struct with size, top used item, pointer to memory block
15:34:56 -!- tusho has joined.
15:35:11 <tusho> I won that one any way you look at it
15:35:22 <tusho> ais523: i noticed you were in #canada when connecting
15:35:24 <Slereah_> Was Brainfuck developed independently of P''?
15:35:25 <ais523> I was actually about to type hi to Slereah_ when you joined
15:35:33 <tusho> but I couldn't greet you until #esoteric was here, of course.
15:35:36 <ais523> it was a bit offputting
15:35:41 <tusho> Slereah_: i doubt it
15:35:48 <tusho> he probably knew of it
15:35:49 <Slereah_> With P'', BF and Spoon, it would have been invented three times D:
15:35:51 <tusho> and thought it could be a could basis
15:36:08 <tusho> spoon was based on BF
15:36:19 <AnMaster> Slereah_, iirc BF was based on P''
15:36:22 <Slereah_> I seem to recall the guy saying that he did it independantly
15:36:53 <Slereah_> "To be correct, I *re*discovered BrainF*** (known henceforth as simply 'Brain'). I thought wow! I thought oh! I thought damn - somebody's beaten me to it."
15:39:09 <AnMaster> ais523, btw I wrote a few other tests for things that ccbi doesn't test. they are in tests/ in cfunge repo
15:39:33 <AnMaster> some are cfunge specifc, like concurrent-issues.b98 iirc
15:39:57 <AnMaster> (specifc as no other interpreter is likely to ever have the same issue)
15:55:35 -!- Sgeo has joined.
15:55:53 <tusho> zzo invented another language
15:57:07 <tusho> a guy on the esolang wiki talked about a language on the Inflection page
15:57:07 -!- ais523 has quit (Remote closed the connection).
15:57:13 -!- Corun has quit ("This computer has gone to sleep").
15:57:15 <tusho> without disclosing that it was his
15:57:17 <tusho> and he linked to a wikipedia page
15:57:20 <tusho> to add credibility I guess
15:57:24 -!- ais523 has joined.
15:57:30 <tusho> well, you missed all of that
15:58:04 <tusho> tusho: a guy on the esolang wiki talked about a language on the Inflection page
15:58:08 <tusho> tusho: without disclosing that it was his
15:58:08 <tusho> [15:58] tusho: and he linked to a wikipedia page
15:58:08 <tusho> [15:58] tusho: to add credibility I guess
15:58:08 <tusho> [15:58] tusho: it's been deleted
15:58:26 <AnMaster> <tusho> zzo invented another language
15:58:36 <tusho> AnMaster: see recent changes
15:58:57 <tusho> the deletion debate is gold
15:58:59 <tusho> "The fact it exists makes it notable."
15:59:08 <tusho> my right nostril's hairs are notable
15:59:14 * tusho creates seventy articles about them posthaste
15:59:25 <ais523> tusho: don't, that's probably speediable
15:59:33 <tusho> ais523: duh, really?? i would never have guessed
15:59:34 <ais523> under the "stop vandalising" criterion
15:59:37 <Slereah_> I wish we were paid per pound of language.
15:59:50 <AnMaster> tusho, where on the esolang wiki?
15:59:59 <ais523> http://esolangs.org/wiki/varsig
16:00:03 <ais523> although I'm not tusho
16:00:16 <tusho> because he's not me
16:00:20 <tusho> AnMaster: http://esolangs.org/wiki/varsig
16:00:24 <tusho> there, I properly answered your question
16:00:35 <tusho> Slereah_: yes but you're the only one who's me
16:00:46 <tusho> if he was then we wouldn't argue so much
16:00:55 <tusho> unless i have multiple personality disorder
16:01:01 <ais523> I like the way varsig defines a convoluted way to do variables, but none of the examples use them, probably because they're not very easy to use
16:01:03 <tusho> but that would be multi-threaded multiple personality disorder
16:01:10 <tusho> which I don't think exists
16:01:17 <AnMaster> seems like a rather crazy language
16:01:28 <AnMaster> however what has this got to do with wikipedia I don't get
16:01:39 <ais523> oh, and is it just me and tusho, or is ESME just random ramblings of nonsense?
16:01:51 <tusho> that's why I put it in the shame category
16:02:05 <tusho> Slereah_ suggested putting it in that category
16:02:11 <ais523> http://esolangs.org/wiki/ESME
16:02:12 <tusho> ais523: oh, and also
16:02:18 <tusho> he made a link like
16:02:24 <AnMaster> "There is currently no text in this page, you can search for this page title in other pages or edit this page."
16:02:26 -!- Corun has joined.
16:02:33 <tusho> i reverted, saying he was right the first time
16:02:38 <tusho> he re-reverted, saying "I prefer it this way"
16:02:43 <ais523> maybe it's http://esolangs.org/wiki/Esme
16:02:46 <tusho> That's Like The People Who Type Like This
16:02:49 <tusho> And If You Complain
16:02:50 <ais523> I'm not sure, HTTP just stopped working for me
16:02:54 <tusho> They Tell You To Stop Insulting Their Style
16:02:57 <ais523> for no apparent reason
16:03:21 * ais523 resets eir Internet connection
16:03:26 -!- ais523 has quit ("resetting my Internet connection").
16:03:43 <tusho> http://esolangs.org/wiki/Esme
16:03:45 <tusho> i vandalised it a bit
16:03:48 <tusho> since it'll probably be deleted soon
16:04:45 <tusho> your eye is keen, AnMaster.
16:04:55 <AnMaster> well wtf is it doing on the wiki without specs or link to specs?
16:05:07 <tusho> AnMaster: Someone added it.
16:05:20 <AnMaster> well seems to be way below quality standard
16:05:22 <tusho> http://esolangs.org/wiki/Category:Shameful :D
16:05:24 <Slereah_> I think that he figured that, because it was a "joke language", it didn't need anything.
16:05:35 <tusho> AnMaster: So is FURscript, but we keep it because it's funny.
16:05:36 <Slereah_> "Boy I will be so random, and it will be amusing!"
16:05:37 <AnMaster> Slereah_, even they need specs
16:05:52 <AnMaster> "The structure is based off a mix of html, turbo pascal, and BASIC. "
16:05:55 -!- ais523 has joined.
16:06:00 <tusho> AnMaster: furscript is totally serious
16:06:04 <tusho> read the talk page
16:06:15 <tusho> a guy transferred it to esolang because someone put it on their wiki
16:06:22 <tusho> but it was too bad to stay there.
16:06:27 <tusho> oh and none of the lesser known programming languages have specs
16:06:29 <tusho> they still have articles
16:06:33 <tusho> ais523: http://esolangs.org/wiki/Category:Shameful
16:06:46 <Slereah_> Well, the lesser known programming languages are somehow fun.
16:06:52 <ais523> tusho: VALGOL and SARTRE both have specs
16:06:54 <Slereah_> And they got sources, I think.
16:07:02 <tusho> ais523: after the fact
16:07:23 <ais523> btw last time someone tried to create categories on Esolang they got blocked for it, by Graue
16:07:27 <AnMaster> <tusho> oh and none of the lesser known programming languages have specs
16:07:27 <AnMaster> <tusho> they still have articles
16:07:39 <ais523> so we codified it into policy "don't create categories without discussion"
16:07:42 <AnMaster> either implementation, specs or link(s) to spec
16:07:48 <tusho> ais523: i didn't create a category
16:07:51 <ais523> just a warning, I won't block you for it
16:07:51 <tusho> i never touched a category page
16:07:54 <tusho> I just added category links
16:07:55 <Slereah_> ais523 : Well, we discussed it here!
16:07:57 <ais523> tusho: well, adding a redlinked category
16:08:16 <tusho> i'll revert "Esme is a shameful esoteric programming language created by User:Dagoth Ur, Mad God because he has no language creation talent." though
16:08:20 <tusho> because shame should be untarnished
16:08:35 -!- Slereah_ has set topic: Esme is a shameful esoteric programming language created by User:Dagoth Ur, Mad God because he has no language creation talent. | #esoteric - the international hub for esoteric language design, development and deployment | logs: http://tunes.org/~nef/logs/esoteric/.
16:08:44 <tusho> yes, it can stay there
16:10:45 <AnMaster> tusho, IMO every language on the esoteric wiki should have specs, links reference implementation(s) or links to specs to be useful
16:10:58 <tusho> AnMaster: uh what about unimplemented languages
16:10:59 <AnMaster> even HQ8++ or whatever they are called got that
16:11:05 <AnMaster> tusho, well then there are specs
16:11:08 <tusho> under-construction ones, underspecified ones that are still interesting,...
16:11:20 <tusho> it's pointless to specify such rigorous standards for bloomin' esoteric languages
16:11:34 <tusho> AnMaster: yes, but it's rather amusing
16:11:41 <tusho> it _should_ be deleted, but it's like a work of modern art
16:11:46 <tusho> you can sit there and admire it
16:11:55 <tusho> and try to take in the mental damage used to create it
16:11:56 <AnMaster> well how does the example work?
16:11:58 <tusho> but you can never envelop it all
16:12:03 <tusho> AnMaster: that's the zen part of it
16:12:13 <tusho> you don't know until you forget
16:12:21 <ais523> I think it's a language with a concept but no spec
16:12:27 <Slereah_> And it should have the tag "NEVER FORGET"
16:12:33 <ais523> basically the author things that the example should be what an Esme program should look like
16:12:38 <tusho> ais523: not much of a concept
16:12:47 <tusho> i think we should protect it so he can't flesh it out
16:12:51 <Slereah_> Like a reminder for future generations.
16:12:51 <ais523> well, it's an idea for an art-language
16:12:56 <tusho> AnMaster: it would lose its appeal
16:12:58 <ais523> and tusho, that's against the idea of a wiki
16:13:21 <tusho> AnMaster: well, maybe he'd make it less shameful
16:13:24 <tusho> which would be a shame [ha]
16:13:51 <tusho> yeah but then Category:Shameful would only include furscript
16:14:05 <AnMaster> well furscript should be deleted
16:14:17 <AnMaster> it isn't esoteric at all, it is just a bad failure
16:14:18 <tusho> it actually has a spec
16:14:24 <tusho> and it certainly is esoteric
16:14:28 <tusho> just not in a good way
16:14:35 <AnMaster> tusho, well less esoteric than the Perl entry
16:14:36 <tusho> ais523: http://esolangs.org/wiki/User:Dagoth_Ur%2C_Mad_God/monobook.js wtf? what does that do?
16:14:40 <tusho> change 'special page' to 'special'?
16:14:45 <tusho> perl is just concise
16:14:52 <tusho> furscript is esoteric because it can't do anything useful
16:14:56 <tusho> but it can do really weird things
16:15:01 <AnMaster> tusho, http://esolangs.org/wiki/Perl
16:15:01 <tusho> and it does them in a strange, awkward, and crazy way
16:15:21 <tusho> AnMaster: no it's not
16:15:28 <tusho> the Interpretation is funny
16:15:34 <tusho> but the program isn't funny
16:15:38 <tusho> and the implication isn't true
16:16:03 <ais523> tusho: the interpretation is correct, you just don't understand the language it's written in
16:16:14 <ais523> it's a SARTRE-like language
16:16:20 <AnMaster> and yes I know it counts lines in files and subtract files or something like that
16:16:23 <tusho> AnMaster: not intentionally obfuscated
16:16:26 <tusho> it looks pretty basic
16:16:32 <tusho> ais523: http://esolangs.org/wiki/Talk:Esme look, he actually tried to explain it
16:17:10 <ais523> tusho: that explanation strikes me as being a joke, more or less, like the language
16:17:16 <ais523> it's clear to me he's describing a paradigm
16:17:22 <ais523> rather than an actual specced-out language
16:17:35 <AnMaster> so you can only type "esme" + some !
16:17:36 <tusho> ais523: the paradigm of 'lol, the name "esme" is funny and ESME!!esmeMEMEESMESMSME is funnier'
16:17:46 <tusho> 'esme esme' is the program
16:17:59 <tusho> it's on one line in the source
16:18:03 <AnMaster> tusho, I *think* it may be like this:
16:18:12 <ais523> tusho: I didn't say it was a good paradigm
16:18:14 <tusho> AnMaster: what does 'HE output' mean
16:18:19 <Slereah_> Stop pondering, and let it remains in its category of SHAME
16:18:45 <Slereah_> It's also the same "paradigm" as ook, cow or AAAAAAH
16:18:51 <AnMaster> <ais523> it's a SARTRE-like language <-- wtf is that?
16:19:08 <ais523> AnMaster: SARTRE was one of the lesser-known langs, but Chris Pressey specced it
16:19:13 <ais523> it's on catseye somewhere
16:19:47 <AnMaster> http://catseye.tc/projects/sartre/doc/sartre.html
16:20:55 <ais523> that's the first lang I've seen that mandates that comments must not be misspelled and allows compilers to spellcheck them
16:20:56 <tusho> ais523: you know wikipedia, can you tell me why tony sidaway never stops changing his name
16:21:04 <tusho> and why is it always something strange
16:21:22 <tusho> it's very confusing
16:22:37 <ais523> "A special command which, due to the resignation of the programmer, is permitted to perform a wide variety of tasks, among them, alter the direction of program flow, execute a random function, terminate the program, or positionally invert the bits in the data region."
16:23:00 <ais523> that reminds me so much of the low-quality esolangs that some people turn out
16:23:06 <ais523> have a command that can do more or less anything at random
16:23:52 <AnMaster> has sartre ever been implemented?
16:24:41 <ais523> normally there's an impl on catseye if it's been implemented and there's a spec
16:24:54 <ais523> however, looking at that lang, it looks like it might potentially be TC
16:25:08 <ais523> I wanted a lang where every possible program was a NOP
16:25:19 <ais523> that would be much more interesting IMO
16:25:56 <ais523> oh, it wasn't Chris Pressey, apparently, even though it's on their website, it's John Colagioia
16:26:48 <ais523> I'm not sure of Chris Pressey's gender
16:26:57 <tusho> ais523: i'm pretty sure he's a he.
16:26:57 <ais523> the name doesn't give a clue eitehr
16:27:03 <ais523> tusho: well, it would seem likely
16:27:40 <tusho> ais523: i mean, it's an unfortunate but true fact that the number of females doing esolangs is quite a bit less than males
16:27:45 <tusho> and I'm sure he might refer to himself as male somewhere on his site
16:27:49 <tusho> either way, it seems very likely
16:27:54 <ais523> s/esolangs/programming/, probably, I suspect that's the reason
16:28:04 <tusho> ais523: but esolangs even more, I'd say
16:28:13 <ais523> but esolangs are an art form
16:28:24 <tusho> most of the female programmers i've heard of generally program to get things done
16:28:29 <tusho> instead of messing around with esolangs and similar
16:28:39 <tusho> there's always nerds :p
16:28:42 <pikhq> ais523: Programming is an art form, IMO.
16:29:03 <pikhq> Of course, it's an art form filled with people who don't know a damned thing about artistry.
16:29:16 <ais523> have you never seen a Perl koan?
16:29:36 <tusho> ais523: heh, pressey dislikes wolfram
16:29:36 <tusho> '# pedlars of profundity (Penrose, Wolfram, Hofstadter...)'
16:29:44 <tusho> (under Things I Could Do WIthout on his personal page)
16:29:53 <pikhq> I've seen quite a few gorgeous Perl hacks. . .
16:30:01 <pikhq> But not any haiku that I can think of.
16:30:25 <ais523> http://aspn.activestate.com/ASPN/Perl/Haiku/InPerl
16:30:33 <Slereah_> His tensorial notation makes me smile
16:30:37 <ais523> that seems to have been a challenge to write haiku that was also legal Perl
16:31:26 <tusho> ' no less can I say;
16:31:26 <tusho> require strict, close attention
16:31:26 <tusho> while you ... write haiku'
16:31:30 <tusho> can you get that to run?
16:31:53 <ais523> the first line unloads a library called "less", with three string arguments
16:32:02 <ais523> then require strict verifies that use strict is possible
16:32:05 <tusho> require strict loads strict.pm?
16:32:10 <tusho> close attention...
16:32:12 <tusho> we need an attention file
16:32:15 <tusho> but that should work
16:32:21 <tusho> and it requires strict and closes attention
16:32:25 <tusho> while you ... write haiku
16:32:31 <tusho> you and write haiku must evaluate to something rangable
16:32:32 <ais523> wait, that's all one command
16:32:36 <ais523> it repeatedly closes attention
16:32:38 <tusho> 'no less I can say;'
16:32:41 <pikhq> $my_args = shift;system("gcc $my_args");print "I prefer C\n";
16:32:43 <ais523> that's what the while is doing
16:33:02 <AnMaster> "The Sartre scoping rules are somewhat complex in that it may only utilize data which has been accessed previously or any data which it makes up itself. Data which has not yet been accessed is unknown to the Sartre nihilist, however."
16:33:14 <AnMaster> that means it is a NOP I think?
16:33:18 <ais523> and you ... write is rangable, presumably, because you can range two strings
16:33:30 <ais523> AnMaster: no, it can create variables and then access them
16:33:45 <ais523> ah, presumably write haiku has a return value?
16:33:49 <ais523> that would be rangeable
16:35:14 <ais523> presumably, programming language haiku only works properly in langs which allow lots of barewords
16:35:58 <tusho> ais523: ruby poems are nice
16:36:07 <ais523> does ruby have barewords too?
16:37:01 -!- timotiis has joined.
16:38:19 -!- augur has joined.
16:38:49 <pikhq> You know a package's build system is bad when you have to write a patch just to make the build system cross-compile. . .
16:38:56 <pikhq> Or use a different C compiler, for that matter.
16:39:07 <pikhq> ... Or use different *arguments* for said C compiler. . .
16:39:20 <ais523> pikhq: I wonder if C-INTERCAL cross-compiles, I've never tried
16:39:27 <pikhq> ais523: Do you use autotools?
16:39:35 <ais523> it would probably need different arguments for config.sh
16:39:37 <AnMaster> pikhq, autoconf but not automake iir
16:39:41 <ais523> pikhq: autoconf but not the others
16:39:49 <pikhq> That ought to suffice.
16:39:55 * tusho needs to get on his autotools-replacement thing sometime
16:40:10 <pikhq> Though using the rest of autotools would make it much easier.
16:40:10 <AnMaster> pikhq, well you need some other stuff in config.sh too
16:40:11 <ais523> tusho: what would you do differently from autotools?
16:40:19 <tusho> ais523: Not be insane? :p
16:40:27 <AnMaster> GET_CANNONICAL_TARGET or whatever it was
16:40:33 <pikhq> Just ./configure --target=some-other-target would work perfectly.
16:40:40 <ais523> I don't find autotools that insane, it appears insane because it's trying to do something insane
16:40:50 <AnMaster> pikhq, well you need that macro in configure.ac then
16:40:57 <tusho> ais523: what it's doing isn't as insane as how insane it is, though
16:41:13 <ais523> hmm... I have a cross-compiler to ARM here, maybe I can try seeing if C-INTERCAL works with that
16:41:15 <pikhq> AnMaster: Fine, so I assume that you have used Autotools *right*.
16:41:30 <pikhq> Like, say, up to GNU's packaging standards. ;)
16:41:34 <ais523> one problem is that it isn't in my path
16:41:52 <AnMaster> pikhq, I used it but not "up to gnu's packaging standards" whatever they are
16:41:53 <ais523> pikhq: well, C-INTERCAL had a configure script when I came to it but mostly ignored its output
16:42:06 <ais523> I've redone the build system at least twice since then
16:43:51 <AnMaster> ah wasn't it AC_CANONICAL_TARGET that was needed?
16:44:04 <pikhq> I'm not an Autotools expert.
16:44:09 <pikhq> (I should learn it this summer)
16:44:47 <ais523> I don't have AC_CANONICAL_TARGET in my config.ac for C-INTERCAL
16:44:52 <pikhq> But Autotools is fairly ubiquitous.
16:45:50 <pikhq> Though Cmake is probably going to become much more so, now that KDE uses it.
16:46:40 <ais523> AnMaster: well, I haven't tried at all
16:46:45 <ais523> maybe I should persuade pikhq to try
16:46:56 <ais523> e'd get a top-tier modern INTERCAL compiler too
16:46:59 <AnMaster> <ais523> hmm... I have a cross-compiler to ARM here, maybe I can try seeing if C-INTERCAL works with that <-- good idea
16:47:09 <ais523> AnMaster: yes, but it was set up weirdly
16:47:27 <pikhq> Lemme learn Autotools, and then I'll go ahead and try Autotoolising C-INTERCAL. :p
16:47:32 <ais523> I got it by building gcc from source in a subdir deep in my home dir
16:47:46 <ais523> pikhq: that could be fun, given the way the build system currently works
16:47:55 <ais523> AnMaster: no, only autoconf
16:48:02 <AnMaster> I could probably change a sane build system to use automake
16:48:08 <AnMaster> I have a lot of experience with it
16:48:28 <AnMaster> ais523, however I'm not sure if c-intercal's build system qualify as sane
16:48:33 <ais523> AnMaster: well, does it deal with having to compile your own compilers to compile the source into C, then compile the C into the finished version?
16:48:51 <AnMaster> ais523, it can be done but not fun
16:49:07 <AnMaster> you can add custom targets easily enough
16:49:20 <ais523> also there's a point where one .oil file splits into lots of .c files
16:49:28 <ais523> all of which have to be compiled and linked back into one executable
16:49:44 <ais523> AnMaster: they follow a pattern, oilout00.c, oilout01.c, oilout02.c and so on
16:50:39 <ais523> oh, I imagine it's all doable
16:50:43 <AnMaster> ais523, however I would begin with converting other directories
16:50:56 <ais523> what do you mean by that?
16:51:17 <AnMaster> ais523, you can use automake in one dir and just autoconf in another
16:51:31 <AnMaster> so you don't need to convert all at once
16:51:43 <ais523> well, all the source is in the same directory, /src
16:51:51 <ais523> it compiles into things in /tmp
16:52:02 <ais523> and the output goes in /bin and /lib
16:52:08 <ais523> AnMaster: it doesn't do out of tree at present
16:52:23 <AnMaster> ais523, why the compile into tmp?
16:52:24 <ais523> for much the same reason cfunge doesn't build if you lose the tree structure in its sources
16:52:33 <ais523> AnMaster: because there are lots of temporary files that need to be created
16:52:39 <ais523> all the .o files are kept out of src
16:52:43 <AnMaster> ais523, cfunge builds out of tree however
16:52:45 <ais523> also there are .c files to be generated, and .h files
16:53:24 <ais523> well, arguably C-INTERCAL always builds out of tree because the src directory is untouched
16:53:39 <ais523> but it's always in the same out-of-tree place
16:53:44 <AnMaster> well I mean: mkdir build; cd build; cmake ..; make
16:53:49 <ais523> mixing the results of compilation up with the sources is ugly IMO
16:55:21 -!- sebbu2 has joined.
16:57:25 -!- augur has quit (Read error: 113 (No route to host)).
17:03:15 <AnMaster> ais523, well just do a true out of tree build IMO
17:03:47 <ais523> well, you can simply duplicate the tree, that's easy enough, right?
17:04:23 * ais523 wonders if there's a way to do a recursive ln
17:04:29 <ais523> AnMaster: I'm talking about how to do the same thing
17:04:45 <AnMaster> make will overlay the build dir and the real dir
17:04:57 <AnMaster> and you don't need to create any subdirs
17:05:04 <AnMaster> just an empty dir and run like:
17:05:09 <ais523> I'm trying to think of a simple way to do out-of-tree builds when the source wasn't set up for them
17:05:24 <ais523> and I know how out-of-tree builds work normally
17:05:26 <AnMaster> ais523, well imo it should support it :)
17:05:51 -!- augur has joined.
17:05:56 <AnMaster> ais523, where is the makefile.in in subdirs!?
17:06:05 <AnMaster> oh you only use one single top makefile?
17:06:12 <ais523> if it isn't in the top
17:06:16 <ais523> yes, there's only one single makefile
17:06:20 <ais523> what subdirs are you thinking of?
17:06:30 <ais523> oh, there's a makefile in doc, but it's independent
17:06:33 * AnMaster is used to autotools + recursive make
17:06:44 <AnMaster> not autotools + one top makefile
17:07:02 -!- sebbu has quit (No route to host).
17:07:02 -!- sebbu2 has changed nick to sebbu.
17:08:25 <AnMaster> ais523, oh btw I can convert ick to use automake yes, however no idea about your @OBJEXT@ mess
17:08:36 -!- Corun has quit ("This computer has gone to sleep").
17:08:37 <AnMaster> doesn't automake handle that itself? I'm unsure
17:08:37 <ais523> AnMaster: that's simple enough
17:08:52 <ais523> object files end .o on Linux and .obj on DOS
17:09:00 <ais523> likewise for @EXEEXT@ which puts on the .exe extensions if needed
17:09:09 <ais523> it's a feature built into autoconf
17:09:11 <Deewiant> AnMaster: your TURT working yet?
17:09:30 <ais523> AnMaster: gcc doesn't generate .com files
17:09:35 <ais523> and C-INTERCAL doesn't use them
17:09:48 <AnMaster> Deewiant, yes it does in trunk
17:09:56 <AnMaster> Deewiant, better than yours at least :P
17:10:09 <Deewiant> like said, it was hardly tested at all :-)
17:10:13 <AnMaster> Deewiant, mine doesn't handle bg colors yet but nor does your
17:10:29 <AnMaster> Deewiant, see the link I gave earlier
17:11:08 <Deewiant> I'll fix it on the weekend the latest
17:11:46 <AnMaster> ais523, would this be correct for ick:
17:11:49 <AnMaster> bin_PROGRAMS = ick convickt ial
17:11:49 <AnMaster> lib_LIBRARIES = libick.a libickmt.a libyuk.a libickec.a
17:12:21 <ais523> that handles the includes and libraries
17:12:24 <ais523> it isn't an executable
17:12:28 <ais523> apart from that it's right
17:12:44 <AnMaster> then apart from oil it should be pretty simple
17:13:16 <AnMaster> ais523, does SOURCES contain files for ick or for all?
17:13:29 <AnMaster> I need variables with source files for each target basically
17:13:38 <ais523> AnMaster: for everything
17:13:43 <ais523> some sources go in multiple targets
17:13:53 <ais523> look at the link lines for each library and executable
17:13:58 <ais523> that'll explain what goes where
17:14:08 <AnMaster> temp/parser.o temp/lexer.o temp/feh2.o temp/dekludge.o temp/oilout-m.o temp/ick_lose.o temp/fiddle.o temp/perpet.o temp/uncommon.o
17:14:27 <ais523> oh wait, there's another noinst_PROGRAM
17:14:31 <ais523> that generates oilout-m.c
17:14:41 <ais523> I think I called it bin2c
17:14:53 <ais523> it just takes a binary file and converts it into a C file defining one variable
17:15:48 <ais523> AnMaster: it's a dummy target that causes all the includes and libraries to be copied into appropriate locations in the tree
17:16:04 <ais523> ick runs straight from the tree, checking ../lib and so on if it can't find things in the PREFIX
17:16:31 <ais523> basically, there are three forms of the distribution
17:16:37 <ais523> before it's compiled, everything's in src
17:16:56 <ais523> once it's compiled, it builds in /lib and /include and /bin
17:17:00 <ais523> including copying things over if needed
17:17:03 <ais523> and it can run from those
17:17:07 <ais523> so that's a binary version in-tree
17:17:13 <ais523> then make install copies the files from there into the PREFIX
17:17:25 <ais523> basically it can run off a make with no make install
17:17:31 <AnMaster> hrrm does the top oil.c include all the other parts or?
17:17:32 <ais523> and there are cases in the code to check if that's happened
17:17:36 <AnMaster> temp/oil.c: src/oil.y temp/config.h
17:17:40 <ais523> AnMaster: oil.c is output from oil.y
17:18:31 <ais523> yep, just a straightforward yacc parser that defines OIL, the translation, etc., is in the same source file
17:19:05 <AnMaster> how do you generate the header?
17:19:20 <ais523> AnMaster: yacc does it automatically when compiling
17:19:24 <ais523> it outputs both a .h and a .c
17:19:33 <ais523> with silly filenames IIRC but I mv them into the correct place
17:20:01 <ais523> AnMaster: that isn't even my silliness
17:20:05 <ais523> that's what yacc/bison do by default
17:20:15 <ais523> and autoconf has checks to find out what filename it uses for its output
17:20:27 <ais523> AnMaster: not if you have two files to build, both using yacc
17:20:34 <ais523> moving it is not silly because it avoids name collisions
17:21:08 <AnMaster> well automake will keep track of how the files depend on each other for you
17:21:29 <ais523> even when the headers depend on other headers?
17:21:34 -!- sebbu2 has joined.
17:21:38 <ais523> and when the headers depend on config.h too?
17:21:51 <ais523> and which headers are included depends on config.h
17:21:53 <AnMaster> it uses the compiler to extract the info
17:22:04 <ais523> although admittedly that's system headers, not my headers
17:22:07 <AnMaster> on first time the file is built
17:22:24 <ais523> also, I think some of the headers include different files based on which file they're included into
17:22:55 <AnMaster> ais523, this will happen on a C file by C file basis
17:23:18 <AnMaster> what can cause trouble is the oil splitting thing
17:23:40 <ais523> I did that because not doing it was causing Debian trouble
17:23:47 <ais523> the files were getting to large to reliably compile
17:24:02 <ais523> that's not with /g so it only affects the first to
17:24:52 <AnMaster> ais523, I'm not sure how to express that a unknown set of files is generated from one file
17:25:15 <ais523> besides, Info does that too
17:25:17 <AnMaster> not sure if they work at the time it is expanded
17:25:38 <ais523> AnMaster: it basically built the lexer with a main(), it's not used nowadays
17:25:43 <ais523> it was used early on to test the lexer
17:25:48 <ais523> INTERCAL is not trivial to lex...
17:26:28 <ais523> that calls all the other oilout files
17:26:37 <ais523> each other file contains a function
17:26:44 <ais523> and oilout-m just calls all the functions in order
17:26:51 <ais523> to effectively make one big function
17:28:10 <AnMaster> lib/syslibc.c:pit/explib/syslibc.c
17:28:11 <AnMaster> -cp pit/explib/syslibc.c lib/syslibc.c
17:28:32 <ais523> AnMaster: basically, syslibc.c and some other files (like syslib.i) are used by the compiler
17:28:46 <ais523> but are also example INTERCAL programs, or examples of the syscall thing, or whatever
17:28:51 <ais523> basically, /src holds files for the compiler
17:29:00 <ais523> /pit holds example programs
17:29:06 <AnMaster> but why not just use it directly, why copy it around?
17:29:08 <ais523> but some of those programs, like the system library, are needed for compilation
17:29:21 <ais523> AnMaster: because eventually it has to be installed into /usr/share
17:29:42 <ais523> and because the /bin /lib /include form a working binary distribution
17:30:04 <ais523> basically, it's source distribution -make-> binary distribution -make install-> binary distribution in the correct place
17:30:13 <ais523> the binary distribution runs from /bin /lib and /include
17:30:14 <AnMaster> ah, you could just copy it directly, would be easier even with automake
17:30:19 <ais523> which means all the files have to be there
17:30:33 <ais523> and not requiring a make install is very useful for people just trying out INTERCAL
17:30:38 <ais523> saves having to use prefixes and all that
17:30:44 <ais523> besides, they used not to work
17:40:44 -!- sebbu has quit (No route to host).
17:41:00 -!- sebbu2 has changed nick to sebbu.
17:41:03 -!- tusho_ has joined.
17:47:53 -!- augur has quit (Read error: 113 (No route to host)).
17:51:45 <AnMaster> ais523, I can figure out how to express a fixed set of files for oil
17:52:00 <AnMaster> but not a variable set, wildcard doesn't work before the file is generated
17:52:06 <AnMaster> we got a bootstrap issue in fact
17:52:07 <ais523> AnMaster: well, the number of files used will increase over time as more idioms are added
17:52:32 <AnMaster> ais523, apart from that I almost finished converting it
17:53:56 -!- timotiis has quit (Read error: 110 (Connection timed out)).
17:54:12 <AnMaster> ais523, I think this would work apart from install and from the oil thing: http://rafb.net/p/z5P3TG52.html
17:54:19 <AnMaster> maybe a few more variables but almost only that
17:55:09 <AnMaster> ais523, much shorter as you can see
17:55:26 <AnMaster> *.y -> *.c is handled automatically
17:55:28 <ais523> that doesn't handle the install of things like coopt.sh and syslib.i
17:55:40 <AnMaster> I said apart from install and oil
17:55:40 <ais523> does it handle *.y -> *.h too?
17:56:09 <ais523> what about all the command-line args needed
17:56:20 <ais523> there are quite a few -Ds involved
17:56:23 -!- tusho has quit (Read error: 110 (Connection timed out)).
17:56:42 <AnMaster> ais523, aren't they defined CFLAGS?
17:57:24 <ais523> AnMaster: I use CFLAGS as well
17:57:24 -!- tusho_ has changed nick to tusho.
17:57:37 <AnMaster> AM_CFLAGS = -O2 -W -Wall -DICKINCLUDEDIR=\"$(incdir)\" -DICKDATADIR=\"$(datadir)\" -DICKBINDIR=\"$(bindir)\" -DICKLIBDIR=\"$(libdir)\" -DYYDEBUG -DICK_HAVE_STDINT_H=@HAVE_STDINT_H@ -I./src -I./temp
17:57:56 <AnMaster> as CPPFLAGS = for precompiler and CFLAGS for compiler
17:57:56 <ais523> AnMaster: but things like $(incdir) rely on things higher up the makefile
17:58:00 <ais523> which are set by autoconf
17:58:04 <ais523> how does automake handle those
17:58:19 <AnMaster> well as autoconf is still used that will be set above
17:58:50 <AnMaster> ais523, automake doesn't replace the syntax of autoconf, it simply extends it quite a bit
17:59:06 <ais523> AnMaster: things like datadir are set in Makefile.in
17:59:09 <ais523> from autoconf variables
17:59:19 <ais523> I'm not sure if automake would have variables with the same name
17:59:20 <AnMaster> ais523, yes that will still work
17:59:28 <ais523> I could have called it pinkfluffyponies and it would still work
17:59:45 <AnMaster> well if you had a line like: pinkfluffyponies = @pinkfluffyponies@
18:00:47 <AnMaster> ais523, automake will lump together lots of variables at the start (all those you don't explicitly define) and then put your defines and finally the targets
18:01:23 <AnMaster> ais523, anyway installing would take some time to convert
18:01:44 <ais523> well, it isn't that hard, just making dirs and copying files
18:01:53 <ais523> although I am disappointed that your way requires an install
18:02:01 <AnMaster> ais523, well that could be changed
18:02:19 <AnMaster> ais523, however it wouldn't be as trivial
18:02:24 <AnMaster> I'm not sure *I* could pull it off
18:02:27 <ais523> also, where does automake put the obj files?
18:02:31 <ais523> in the same place as the sources?
18:02:35 <ais523> that strikes me as a bad idea
18:02:39 <AnMaster> ais523, well I assume you will do a true out of tree build
18:02:46 <ais523> what if I have a .o in the sources with the same name as the .c
18:03:09 <AnMaster> ais523, why would you have that? and as I said: I assume true out of tree builds will be done
18:03:15 <AnMaster> or even enforced like gcc enforces it
18:03:47 <ais523> AnMaster: it's not beyond the realms of possibility that I might want a .c and a .i with the same name
18:03:51 <ais523> currently C-INTERCAL doesn't allow that
18:04:42 <AnMaster> ais523, I have autotools on massive but *sane* projects, nothing like ick's all build system quirks
18:06:50 <AnMaster> well blergh make that not work
18:07:14 <ais523> AnMaster: I have to specify the names of the character sets somehow
18:07:21 <ais523> as it happens, they're specified in the makefile
18:07:54 <AnMaster> xpm makes the name of the variable in the file dependant on the file name iirc
18:08:03 <AnMaster> something like that could make sense I guess
18:08:22 <ais523> yep, I do that somewhere too
18:08:33 <ais523> the .bin files are used for two things
18:08:41 <ais523> they're installed, and used as .bin files, by convickt
18:08:55 <ais523> but they're also converted into .c then .o and linked to the runtime libraries, for use by the I/O code
18:09:29 <ais523> that's been there forever, more or less, probably something to do with the last-but-one build system
18:09:44 <AnMaster> ais523, well, it doesn't seem to be used at all?
18:10:11 <ais523> well, quite possibly it isn't at present
18:10:23 <ais523> I think it was probably used by an old install system, or something like that
18:10:39 <AnMaster> ais523, anyway I fail at expressing the mutli-unknown-file dependency on the generated oil files in a way that can be resolved in advance (which is needed)
18:11:12 <AnMaster> apart from that and some painful with with install my conversion probably works
18:13:00 <ais523> well, I'm not sure how much of an advantage automake would have over the current build system anyway
18:13:08 <ais523> the current system is at least nice and expressive of what it does
18:13:13 <ais523> showing all the steps explicitly
18:13:41 <AnMaster> ais523, it would be considerably shorter and take care of tracking dependency on headers automatically, also it would be easier to maintain
18:14:21 <AnMaster> ais523, most of the time you can shrink numbers of lines/chars/whatever considerably by using automake
18:14:34 <ais523> it needs automake, though. Does it run on DOS? (Last I tried, configure scripts had to be built seperately for DOS.) Does it run on systems which don't have automake?
18:14:52 <AnMaster> ais523, the files can be generated in advance
18:14:57 <ais523> what about systems where the default shell isn't sh-compatible? (I have sh -c at various points for that reason.)
18:14:58 <AnMaster> automake will generate autoconf files
18:15:06 <AnMaster> which then will be processed by configure
18:15:38 <AnMaster> ais523, also it should be as compatible as the generated configure
18:16:24 <AnMaster> ais523, it does work on mingw+msys on windows too
18:16:31 <AnMaster> I used projects which had to do that
18:16:52 <AnMaster> ais523, as for DOS: no clue and I don't think anyone else knows either :P
18:17:19 <ais523> AnMaster: well, there's evidence in the autoconf changelog that they tried to fix it to run on DOS
18:17:25 <ais523> also in comments in the source code
18:17:31 <AnMaster> ais523, I assume you will put cfunge in some separate source directory?
18:17:32 <ais523> so I'm hopeful that it'll work next time I tried
18:17:41 <ais523> AnMaster: I haven't thought about how to distribute cfunge yet
18:17:53 <ais523> I'm thinking about distributing fffungi separately from ick
18:18:03 <ais523> after all, different licences, different packaging, and so on
18:18:11 <AnMaster> if you distribute it separately you should probably use cmake
18:18:36 <AnMaster> ais523, I don't think cmake works on DOS, but it does for about everything else :P
18:19:14 <AnMaster> but cfunge won't compile under MSVC as it lacks C99 and you would also need to remove some fingerprints that depend on fork() and such
18:19:26 <AnMaster> ais523, I guess ick has no problem with vfork() btw?
18:19:37 <ais523> AnMaster: if followed by an exec, no
18:19:49 <AnMaster> it is indeed followed by an exec
18:20:11 <AnMaster> ais523, well a few pipe operations + an exec
18:20:23 <AnMaster> things like that in the forked side
18:20:35 <AnMaster> ais523, oh a strdup to build arguments array too it seems
18:20:37 <ais523> as long as the forked side never returns
18:21:46 <ais523> I thought it was _exit
18:21:57 <AnMaster> The function _exit() terminates the calling process "immediately". Any open file descriptors belonging to the process are closed; any children of the
18:21:57 <AnMaster> process are inherited by process 1, init, and the process's parent is sent a SIGCHLD signal.
18:22:15 <ais523> what's the difference?
18:22:18 <AnMaster> Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
18:22:18 <AnMaster> _Exit(): _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE; or cc -std=c99
18:23:12 <AnMaster> and that one is C standard while the other is POSIX standard
18:23:28 <AnMaster> "The function _Exit() is equivalent to _exit()."
18:23:28 <ais523> well, you need both, right?
18:23:53 <AnMaster> and POSIX.1-2001 defines _Exit() too
18:23:54 <ais523> you use srandom() IIRC?
18:23:59 <ais523> I thought that was POSIX
18:24:02 <AnMaster> ais523, yes I do. I need both yes
18:24:12 <AnMaster> I don't need both _exit() and _Exit()
18:24:17 <AnMaster> I thought that was what you said :P
18:25:14 <AnMaster> there are a few more things like fork() and such
18:25:31 <tusho> ais523: you know, integrating ccbi would probably have been less crazy..
18:25:42 <ais523> tusho: ccbi's written in D
18:25:47 <AnMaster> that would be painful and hard to compile
18:25:56 <ais523> also, I think cfunge works really well with this
18:26:07 <ais523> it's pretty well-behaved from ick's point of view
18:26:09 <AnMaster> tusho, to integrate into a C program? yes
18:26:09 <tusho> dunno how it interfaces with c, though
18:26:18 <tusho> ok then, someone needs to write a sane funge interp in c
18:26:37 <AnMaster> ais523, and yes cfunge is quite well behaved compared to ick
18:26:42 <AnMaster> tusho, look it is saner than ick
18:27:12 <ais523> AnMaster: well, longjmp() in C mirrors INTERCAL's FORGET perfectly
18:27:12 <tusho> longjmp() is pretty sane
18:27:15 <ais523> so how could I not use it?
18:27:25 <tusho> __posix_tell_fuzzy_logic_cpu_central_board ... not so much
18:27:47 <AnMaster> "longjmp() and siglongjmp() make programs hard to understand and maintain. If possible an alternative should be used."
18:27:57 * ais523 begins to wonder if C-INTERCAL could do with a few _posix_fadvises just to annoy tusho
18:28:07 <ais523> AnMaster: yes, I know that line's in the man page
18:28:34 <ais523> otherwise I got the right name
18:28:34 <AnMaster> ais523, just check the #ifdef and such to see if it is supported, for example FreeBSD 6.2 doesn't support it
18:28:49 <ais523> AnMaster: I'd use autoconf to check if it's supported, it's simpler that way
18:28:59 <AnMaster> ais523, that isn't what the standard says
18:29:04 <ais523> you try to link it, and if it fails, it isn't supported
18:29:04 <AnMaster> #if defined(_POSIX_ADVISORY_INFO) && (_POSIX_ADVISORY_INFO > 0)
18:29:22 <AnMaster> would be the correct way according to man posixoptions
18:29:23 <ais523> and the reason autoconf's useful is that it works even on things that don't obey the standards
18:29:43 <AnMaster> ais523, well 1) only POSIX systems will ever define these
18:29:49 <tusho> AnMaster: what will you be optimizing for next? cpu cache?
18:29:59 <ais523> tusho: I thought you liked J
18:30:00 <AnMaster> tusho, ooh cachegrind from valgrind?
18:30:10 <tusho> ais523: yes I do and?
18:30:17 <ais523> well it's optimised for CPU cache
18:30:28 <tusho> that's not why I like it, though
18:30:34 <tusho> i like it for its paradigm & conciseness
18:31:03 <AnMaster> ais523, 2) then check using the way I suggested, as that is the correct way according to man page and a freebsd developer I asked
18:31:27 <ais523> IIRC some systems don't define those even though they have them
18:31:51 <AnMaster> why support broken systems though?
18:31:55 <ais523> not really, it's because they have to have C99-compatible headers too
18:32:09 <ais523> I've done that by mistake simply by using -ansi in a file which was actually POSIX
18:32:27 <ais523> it went and turned off support for all the POSIX functions whose protos were in, say, string.h
18:32:32 <ais523> or other headers that exist in non-POSIX C
18:32:42 <AnMaster> ais523, if you write out a binary file and know how long it will be try posix_fallocate()
18:32:53 <AnMaster> that does actually have a use: helps against fragmentation
18:32:54 <ais523> AnMaster: I only write out text files of unknown length
18:32:59 <AnMaster> again see _POSIX_ADVISORY_INFO
18:32:59 <ais523> so not particularly helpful
18:33:02 <tusho> <AnMaster> why support broken systems though?
18:33:07 <tusho> why support any systems?
18:33:22 <ais523> tusho: well, CLC-INTERCAL and C-INTERCAL both still support EBCDIC
18:33:39 <tusho> ais523: I was telling AnMaster that all systems are broken
18:33:40 <ais523> although for C-INTERCAL you need to use a conversion program
18:33:51 <AnMaster> ais523, how would the code for C-INTERCAL be compiled on that? you would need to convert to tri-graphs right?
18:34:03 <ais523> AnMaster: the C source code's ASCII
18:34:12 <ais523> it's INTERCAL source it accepts in EBCDIC
18:34:14 <AnMaster> yes but could it be converted?
18:34:17 <ais523> but yes, converting to trigraphs is trivial
18:34:27 <ais523> and any EBCDIC system should be capable of it nowadays
18:34:52 <ais523> int main(void)??<return 0;??>
18:34:57 <tusho> "and any EBCDIC system should be capable of it nowadays"
18:35:11 <ais523> tusho: really, or they wouldn't be able to run most C
18:36:59 <ais523> AnMaster: probably not, but just in case...
18:37:15 <ais523> dd still handles EBCDIC IIRC
18:37:38 <ais523> Each CONV symbol may be:
18:37:38 <ais523> ascii from EBCDIC to ASCII
18:37:38 <ais523> ebcdic from ASCII to EBCDIC
18:37:51 <ais523> but also supports ascii/ebcdic conversion
18:37:58 <ais523> which is binary, I suppose
18:38:06 <ais523> because it isn't textmode from either system's point of view
18:38:09 <ais523> at least, not at both ends
18:38:39 <tusho> ais523: dd should not be doing that...
18:38:44 <tusho> it should be a seperate program..
18:39:14 <AnMaster> tusho, yes like recode or such
18:39:56 <tusho> AnMaster: dd itself isn't unix
18:40:01 <tusho> 'dd - convert and copy a file'
18:40:06 <tusho> it has 'and' in the description of what it does
18:40:46 <AnMaster> funtoken - execute commands of the funge
18:41:06 <AnMaster> so just one program calling one other program for each opcode!
18:41:20 <AnMaster> to handle changes to stack and such
18:41:27 -!- atsampson has quit (clarke.freenode.net irc.freenode.net).
18:41:27 -!- cmeme has quit (clarke.freenode.net irc.freenode.net).
18:41:30 <AnMaster> because main program would need to keep track of that
18:41:49 <AnMaster> a separate daemon for funge space and one for stack
18:42:30 <tusho> you said that yesterday
18:42:45 -!- atsampson has joined.
18:42:45 <ais523> AnMaster: no, the netsplit caused it to leave
18:42:52 <ais523> which is when I noticed that it was here in the first place
18:42:54 <ais523> it was missing for weeks
18:43:02 <ais523> but must have come back or the netsplit wouldn't have made it leave
18:44:40 -!- 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"").
18:44:40 -!- cmeme has joined.
18:45:09 -!- Judofyr has left (?).
18:45:19 -!- Polar has quit (Read error: 104 (Connection reset by peer)).
18:48:38 -!- Polar has joined.
18:48:54 <tusho> who wants to hear about my evil project
18:49:08 <tusho> AnMaster: dude, the guy is at uni and has to go to cafes and stuff regularly to get to computers and stuff.
18:49:16 <tusho> why does it matter?
18:49:26 <AnMaster> what is your evil project then
18:49:32 <tusho> i think you've heard it
18:49:57 <AnMaster> you have so many evil projects
18:50:35 <AnMaster> well yes I heard about that one
18:56:13 -!- sebbu2 has joined.
19:11:53 -!- sebbu has quit (Connection timed out).
19:57:23 -!- RedDak has joined.
20:32:29 -!- Sgeo has quit (Remote closed the connection).
20:41:28 -!- timotiis has joined.
21:14:06 -!- puzzlet has quit (clarke.freenode.net irc.freenode.net).
21:14:06 -!- Dewi has quit (clarke.freenode.net irc.freenode.net).
21:15:34 -!- Dewi has joined.
21:15:34 -!- puzzlet has joined.
21:19:03 -!- pikhq has left (?).
22:06:13 -!- sebbu2 has changed nick to sebbu.
22:26:43 -!- cctoide has quit (clarke.freenode.net irc.freenode.net).
22:27:03 -!- cctoide has joined.
22:36:45 -!- sebbu2 has joined.
22:39:28 -!- sebbu2 has changed nick to sebbu3.
22:40:46 -!- sebbu has quit (Nick collision from services.).
22:43:27 -!- sebbu3 has changed nick to sebbu.
22:48:29 <jamesstanley> Is there anything you can do to force a brainfuck program to halt, apart from letting it run to the end of it's code?
22:49:01 <tusho> learn to use it :-P
22:49:17 <jamesstanley> I was wondering if you can do anything with those that causes an undefined state which would cause it to halt.
22:49:26 <Ilari> jamesstanley: Nope.
22:50:05 <tusho> jamesstanley: Can I perhaps define each one for you? :P
22:50:42 <tusho> jamesstanley: Then you'd know that the commands have nothing about halting..
22:50:42 <jamesstanley> I was just wondering if there was any way to make execution halt without letting it run to the end. Seems not.
22:51:02 <jamesstanley> Well, decrementing the memory pointer past 0 might make it stop
22:51:18 <jamesstanley> There are ways to terminate a C program without calling exit. ;)
22:51:44 <tusho> jamesstanley: generally that wraps it to 255
22:51:47 <tusho> or whatever the max is
22:51:51 <tusho> but it's exactly that undefined
22:54:26 -!- sebbu2 has joined.
23:18:31 -!- olsner has joined.
23:18:45 <olsner> anyone know french? "Madame Camille obtient la crampe de chatte si vous ne mangez pas de tout son fromage."
23:19:20 <olsner> she contracted a cramp because someone didn't eat all the cheese?
23:21:17 -!- sebbu has quit (Connection timed out).
23:21:40 <tusho> olsner: hahahahahah
23:23:14 <olsner> or she *will* get a cramp *unless* you eat all the cheese?
23:26:18 <oklopol> jamesstanley: well, you can do beginning_of_code maybe_halt_code end_of_code ==> beginning_of_code {not halting_cond}[ end_of_code ]
23:27:23 <oklopol> and if you make an interp consider the end of the program an infinite supply of ]'s, you can have a "context-free" way to halt
23:27:44 <oklopol> actually not that simple in case you're inside a loop when you wanna halt.
23:27:56 <oklopol> sorry, i didn't think that through
23:28:43 <tusho> jamesstanley: oklopol always talks like this
23:54:13 -!- timotiis has quit (Read error: 110 (Connection timed out)).
23:58:21 <GregorR> http://www.www.extra-www.org/
23:58:57 <tusho> GregorR: is this your response to no-www
23:59:04 <tusho> (that's my pre-click prediction)
23:59:42 <tusho> GregorR: you need a compliance checker
23:59:57 <tusho> a four grade system:
00:00:05 <tusho> err, four + a special one
00:00:12 <tusho> BUNK - website won't load at all!
00:00:23 <tusho> FAIL - www.www doesn't work
00:00:31 <tusho> GOOD - www. redirects to www.www
00:00:41 <tusho> BEST - no prefix and www. redirects to www.www
00:01:24 <GregorR> EVEN BESTERER - no prefix and www. redirect to www.www.extra-www.org, www.www works as expected
00:02:00 <GregorR> How does no-www.org's checker work? Just looks at the HTTP headers, right, doesn't expect HTML-redirect or whatnot?
00:02:32 <tusho> GregorR: headers, right
00:02:43 <tusho> instead of EVEN BESTERER
00:02:53 <tusho> HARDCORE - www. and no prefix don't work at all, but www.www. does
00:03:03 <tusho> (no-www's Class C)
00:03:21 <tusho> i mean who wants to show an information page GregorR?
00:03:23 <tusho> when you can just fail
00:04:16 <GregorR> I should make www. and no-prefix fail for www.www.extra-www.org .
00:04:37 <tusho> because how will people know when they find it
00:04:42 <GregorR> But it would be HARD-EFFING-CORE!!!
00:05:01 <tusho> GregorR: will codu.org adopt extra-www standards?
00:05:12 <tusho> http://www.www.codu.org/
00:05:16 <tusho> not much of a Great Success !
00:05:31 <GregorR> It could POSSIBLY be that extra-www is a joke X-P
00:05:38 <tusho> GregorR: Yes but adopting jokes is fun
00:05:56 <GregorR> Testing extra-www.org for HTTP access
00:05:56 <GregorR> Domain does not qualify. Error code: NA
00:06:18 <tusho> GregorR: Wait, are you writing the qualifiers?
00:06:38 <GregorR> That was the result from no-www.org on extra-www.org .
00:06:48 <tusho> GregorR: 24 hour lag stuffs
00:06:52 <tusho> you buy so many domains
00:06:55 <tusho> buy tusho.org next time
00:06:58 <tusho> i'll luff you forever
00:07:11 <GregorR> Is it not already owned by softcore porn?
00:12:59 -!- Corun has joined.
00:15:27 * GregorR forgot how awful PHP is :P
00:18:44 <AnMaster> <tusho> GregorR: will codu.org adopt extra-www standards?
00:18:44 <AnMaster> <tusho> http://www.www.codu.org/
00:18:46 <tusho> GregorR: Ooh... a D web library...
00:18:49 <tusho> Now that sounds appealing.
00:18:55 <tusho> AnMaster: http://www.www.extra-www.org/
00:19:02 <tusho> GregorR: Does it now?
00:19:07 <oklopol> AnMaster: the answer is like 5 lines back
00:19:36 <tusho> AnMaster: GregorR just made it
00:19:38 <tusho> it's a parody of no-www
00:20:09 <AnMaster> "envbot.org previously reported as Class B. <a href='http://click-here-to-retest.co.uk'> "
00:20:22 <GregorR> tusho: No, it is not (yet?) extra-www compliant.
00:20:32 <AnMaster> www.envbot.org redirects to non-www version
00:20:35 <tusho> I didn't repeat that, GregorR
00:20:39 <AnMaster> if just the damn dns wasn't broken
00:20:43 <tusho> GregorR: I was saying how a D web library sounded
00:21:00 <GregorR> <tusho> Now that sounds appealing. <tusho> GregorR: Does it now // /me didn't get this :P
00:21:01 <tusho> because you complained about php
00:21:04 <GregorR> Idonno, I haven't really looked into one.
00:21:12 <tusho> GregorR: Well I didn't mean using an existing one
00:21:16 <tusho> That would be LAYM
00:21:32 <tusho> Unless I wrote it - which I'm now toying with...
00:24:04 <tusho> GregorR: Hmm. A D templating language just seems WRONG
00:24:16 <tusho> Test <%= new Foo() %>
00:26:03 -!- olsner has quit.
00:27:19 <tusho> GregorR: wtf is the tango logo
00:27:58 <tusho> http://www.dsource.org/projects/tango/chrome/theme/images/Logo5.png
00:28:22 <tusho> http://www.dsource.org/projects/tango/chrome/theme/images/Head-NewTango3.png
00:28:22 <GregorR> tusho: How should I know? :P
00:28:31 <tusho> GregorR: You do tango stuff!
00:29:13 <tusho> AnMaster: he likes it?
00:29:43 <GregorR> AnMaster: You don't like it?
00:29:52 <tusho> what's wrong with D apart from you not liking it?
00:29:54 <AnMaster> GregorR, I know it is a hell to get working
00:30:01 <tusho> AnMaster: no it's not
00:30:01 <GregorR> This is an unfortunate truth.
00:30:05 <AnMaster> I couldn't get tango to compile on gdc even
00:30:14 <tusho> i mean, it was a little of fuss the first time
00:30:16 <tusho> but not really that much
00:30:34 <AnMaster> I expect it to work out of box with gdc
00:30:50 <AnMaster> because at syntax level D looks really nice
00:30:52 <tusho> GregorR: say, what's the inline delegate syntax?
00:30:54 <tusho> for passing to a function
00:31:02 <AnMaster> for non performance critical applications
00:31:04 <GregorR> { /* place content here */ }
00:31:15 <tusho> AnMaster: I take it cfunge is an enterprise performance critical application?
00:31:34 <tusho> GregorR: maybe a plof web lib would be better
00:31:34 <AnMaster> tusho, that is beside the point
00:31:47 <tusho> (o, and how does it take arguments like that)
00:32:17 <AnMaster> anyway I would just continue to use C idioms I bet :P
00:33:49 <GregorR> You could have a whole HTML-compatible syntax built into Plof, so you just need to toss a HTML file through the interpreter.
00:34:20 <tusho> GregorR: That would be the Plof Templating Language, I guess. But it'd be nice to write the backend in Real User Plof. :P
00:34:25 <tusho> Now how do I take arguments to a delegate...?
00:35:42 <GregorR> (int foo, int bar) { ... }
00:36:40 <AnMaster> gcc (GCC) 4.1.2 20070214 ( (gdc 0.24, using dmd 1.020)) (Gentoo 4.1.2 p1.0.2)
00:36:44 <tusho> GregorR: what does plof look like these days
00:36:48 <AnMaster> can't compile any tango version
00:37:01 <GregorR> tusho: Like that, sort of ;)
00:37:14 <AnMaster> GregorR, another thing: tango can't install into a prefix it seems
00:37:30 <AnMaster> which means I can't use it on systems with phobos where I don't have root
00:37:33 <GregorR> AnMaster: Tango needs to install over the Phobos GDC comes with: it is a replacement core library.
00:37:42 <AnMaster> GregorR, I can't depend on that
00:37:56 <GregorR> And yet you CAN depend on having a D installation in the first place? That's weird.
00:38:00 <tusho> I love AnMaster's enterprisey concerns
00:38:05 <AnMaster> GregorR, the day it can be installed into a prefix, or is default maybe
00:38:09 <tusho> "But ... something might break! Conceivably! So it's best I just don't use D."
00:38:12 <AnMaster> GregorR, well let me tell you why
00:38:19 <AnMaster> GregorR, 1) tango is hard to install correctly
00:38:26 <AnMaster> 2) gdc is also hard, but less hard
00:38:33 <GregorR> Tango can be installed to a prefix by nature of the fact that GDC can be installed to a prefix, btw.
00:38:44 <AnMaster> GregorR, well not a different prefix
00:38:58 <tusho> AnMaster: dude, tango more than just a libc replacement
00:39:02 -!- RedDak has quit (Remote closed the connection).
00:39:06 <tusho> it literally rips out everything that d does
00:39:08 <tusho> and adds its new stuff
00:39:13 <tusho> it HAS to replace the other stuff
00:39:22 <tusho> it's not an opt-in thing, because of its very nature
00:39:25 <AnMaster> GregorR, I don't know if this depends on me using x86_64 or not but it doesn't work for me (TM)
00:39:45 <AnMaster> also it prevents using programs that wants phobos instead of tango
00:39:49 <GregorR> x86_64 has been historically more difficult than x86, but when I switched to x86_64 I didn't notice any difference.
00:39:57 <GregorR> That's what tangobos is for.
00:40:02 <AnMaster> GregorR, why can't D just decide on *ONE* standard library
00:40:06 <tusho> AnMaster: they have
00:40:08 <tusho> nobody uses phobos
00:40:16 <GregorR> <AnMaster> like C does // Hahaha
00:40:19 <AnMaster> tusho, why is it default then?
00:40:22 <tusho> GregorR: yeah I lol'd at that
00:40:24 <AnMaster> GregorR, it is defined in specs
00:40:30 <tusho> AnMaster: because walter bright uses phobos
00:40:47 <AnMaster> GregorR, even if they are not the same software they conform to the same specs
00:41:03 <tusho> libc is very broken in a lot of places
00:41:07 <AnMaster> I can take a program developed for glibc and drop it on freebsd and so on
00:41:08 <tusho> and too minimalistic for any usage to boot
00:41:11 <tusho> i'd much rather have tango
00:41:16 <tusho> AnMaster: no you can't
00:41:28 <AnMaster> tusho, as long as it only uses what is in the C specs
00:41:31 <tusho> you have to think about it in advance
00:41:41 <tusho> AnMaster: ... thus making glibc's improvements worthless!
00:41:53 <AnMaster> tusho, they are vendor specific functions, all got that
00:42:22 * GregorR chooses to completely ignore and not respond to this argument.
00:42:44 <AnMaster> but the standard is rich enough for C (IMO, I know you will disagree) that apart from networking (which POSIX specs) the common "subset" works well
00:42:59 <AnMaster> GregorR, anyway problem is it is hard to get D working
00:43:11 <tusho> show me a plof program
00:43:14 <AnMaster> the language itself is beautiful IMO
00:43:23 <GregorR> AnMaster: I admit that, but have neither the manpower nor skills to change that.
00:43:33 <tusho> GregorR: Scratch that
00:43:33 <GregorR> tusho: Idonno, what do you want?
00:43:36 <tusho> GregorR: Write a plof program
00:43:40 <tusho> (Since there are none.)
00:43:47 <tusho> And I just want a basic syntax, stdlib using program.
00:43:50 <GregorR> I can show you a chunk of the core library *shrugs*
00:43:58 <tusho> GregorR: Yeah but the core library isn't what user code wil lbe
00:44:07 <GregorR> Not the corest part of the core library.
00:44:26 <AnMaster> GregorR, also it isn't as mature yet. How much will future D specs differ. Both C and C++ are quite mature by now (well FORTRAN beats them of course)
00:44:48 <tusho> AnMaster: d 2.0 is pretty stable
00:44:50 <GregorR> AnMaster: I'm not even arguing for D here, tusho was :P
00:44:57 <tusho> and you don't have to use the newer features if you don't want
00:45:06 <AnMaster> tusho, and that is what gdc implements?
00:45:07 <tusho> i don't think many backwards-incompatible changes have been made
00:45:13 <tusho> AnMaster: it implements a lot of 2.0
00:45:18 <tusho> gdc is pretty stable
00:45:21 <AnMaster> is gdc the only open source interpreter?
00:45:22 <tusho> your code won't break overnight
00:45:31 <tusho> and gdc just hooks in dmd into gcc
00:45:34 <tusho> dmd's frontend is open source
00:45:40 <tusho> just it's backend isn't because of other people's code
00:45:54 <AnMaster> tusho, well there are no independent frontends are there?
00:46:03 <GregorR> tusho: http://www.codu.org/cgi-bin/hg/hgwebdir.cgi/plof/file/512a473fb11b/core/pul/collection.plof // this has a few psl{} bits, but, err, ignore those :P
00:46:05 <tusho> AnMaster: no, so what? it's open source and alright
00:46:10 <tusho> GregorR: "$DPLOF $FLAGS $INFILES -c $OUTFILE"
00:46:13 <tusho> GregorR: WHAT ABOUT SPACES
00:46:17 <AnMaster> tusho, for C there are quite a few implementations, both closed and open source
00:46:20 <tusho> "QUOTE" "YOUR" "VARIABLES"
00:46:25 <tusho> AnMaster: yeah, and it's the exception mostly
00:46:31 <GregorR> tusho: I know, I cringed when I wrote that, but the nested quoting was getting way complicated :P
00:46:58 <AnMaster> C++ got quite a few implementations too
00:47:00 <tusho> clean is not interpreted
00:47:02 <GregorR> AnMaster: Very, very few languages have multiple frontends. C++ has two, most of the commercial ones license the frontend from a single company.
00:47:14 <AnMaster> tusho, oh I didn't see clean until I pressed enter
00:47:20 <GregorR> (There have been others for C++ in the past, but most are dead)
00:47:32 <AnMaster> GregorR, hm? C++ got more, MSVC, g++ and icc iirc
00:48:02 <AnMaster> oh doesn't Borland have one too?
00:48:12 <GregorR> They all license the EDG frontend.
00:48:17 <tusho> AnMaster: http://www.edg.com/
00:48:44 <AnMaster> C got gcc, icc, MSVC (that one sucks), Borland's, pcc, and some more
00:48:54 <tusho> MSVC = Borland = ICC
00:49:24 <GregorR> AnMaster, tusho: I'm not sure about C, I just know they share the C++ frontend.
00:49:36 <GregorR> AnMaster, tusho: In fact, they probably all have their own C frontend (if they don't just reuse the C++ one)
00:49:52 <GregorR> Except of course GCC which has all its own frontends.
00:49:52 <tusho> I imagine there's a lot of reuse
00:50:03 <AnMaster> GregorR, pcc got it's own I'm sure
00:50:11 <tusho> GregorR: plof looks nice
00:50:14 <tusho> one suggestion though, GregorR
00:50:21 <tusho> make (binop) be the same as (x, y)(x binop y)
00:50:24 <GregorR> tusho: We're agreeing with you that C compilers usually have their own frontends.
00:50:28 <tusho> product = { fold(0, (*)) }
00:50:41 <tusho> (stolen from haskell, but very very nice)
00:50:49 <GregorR> tusho: I want to, but that's a bit obnoxious from how I've designed the parsing framework >_>
00:50:59 <AnMaster> GregorR, anyway gdc is not a part of the official GCC tree is it?
00:51:09 <tusho> GregorR: Well, if you do get it working - add (.meth) -> (o, ...){ o.meth(...) }
00:51:12 <tusho> GregorR: That's also useful
00:51:22 <tusho> [1,2,3].map(.succ)
00:51:25 <GregorR> AnMaster: Not so long as Walter retains copyright over the frontend.
00:51:29 <AnMaster> otherwise support can just drop in the future
00:51:35 <GregorR> tusho: That would be useful 8-D
00:51:38 <AnMaster> GregorR, eh, I thought you said it was open source?
00:51:45 <tusho> GregorR: Stole that from a common ruby extension-idiom :P
00:51:50 <tusho> AnMaster: fsf requires copyright assignment
00:51:52 <GregorR> AnMaster: It is, but GCC only incorporates things which are both GPL and owned by the FSF.
00:51:53 <AnMaster> GregorR, open source as defined by OSI?
00:52:29 <tusho> GregorR: [1,2,3].map(.succ).fold(0, (*))
00:52:31 <AnMaster> well once tango is default and it is easy to set up I may consider D
00:52:34 <tusho> you could probably drop the parens
00:52:36 <tusho> I doubt it's ambigious
00:52:42 <tusho> GregorR: [1,2,3].map(.succ).fold(0, *)
00:52:48 <AnMaster> D looks like a good language compared to C++
00:53:16 <AnMaster> maybe a bit *too* much to easily learn but nicer syntax than C++
00:53:30 <tusho> GregorR: Does plof have varargs? What's the syntax?
00:53:31 <AnMaster> GregorR, is it possible to skip the garbage collector in D?
00:53:37 <AnMaster> GregorR, avoiding the runtime library at all?
00:53:50 <tusho> AnMaster: if you avoid the runtime lib you have to fill out a lot of functions for it to run
00:53:55 <tusho> that's only done for OS dev though
00:53:57 <GregorR> tusho: Sort of, but it's gross right now, haven't thought of a clean way to do it: Basically, every function has an args[] array *shrugs*
00:53:59 <tusho> you CAN disable the gc though
00:54:02 <AnMaster> tusho, exactly what my point was
00:54:12 <AnMaster> but who would write a kernel in D...
00:54:12 <tusho> AnMaster: you can disable the gc
00:54:13 <GregorR> AnMaster: Erm, you can do it even without tearing out the runtime library
00:54:27 <tusho> GregorR: well, how about this: (a, b, c...) { /* c is the rest of the args */ }
00:54:31 <GregorR> AnMaster: Like tusho is saying, you can disable the GC - also, you can just never incur it by never using 'new' :P
00:54:32 <tusho> GregorR: fairly simple syntax extension
00:54:36 <tusho> AnMaster: xana has a d kernel
00:55:02 <GregorR> tusho: That's the ultimate plan (that's what Plof2 did), but I don't have .slice working, so it's not in yet ;)
00:55:12 <tusho> AnMaster: http://code.google.com/p/projectxana/
00:56:12 <tusho> AnMaster: like xanadu
00:56:16 <tusho> (the original hypertext system)
00:56:48 <tusho> AnMaster: complicated to explain, that's what
00:58:17 <tusho> GregorR: Will Plof make me toast?
00:58:36 <tusho> Has anyone ... written any programs in Plof yet?
00:58:45 <tusho> Aside from, um, test.plof
00:58:52 <GregorR> tusho: No, I keep on pulling the language out from under them ;)
00:59:09 <tusho> GregorR: You forgot curry.plof!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
00:59:25 <tusho> Also, GregorR, #plof time
01:00:15 <AnMaster> GregorR, tusho: is plof esoteric?
01:22:50 -!- tusho has quit.
01:43:00 <GregorR> http://www.www.extra-www.org/validator.php
01:46:04 -!- kwertii has joined.
03:34:23 -!- pikhq has joined.
04:01:29 <GregorR> Checking www.www.google.com ... failed to connect
04:01:29 <GregorR> Checking www.google.com ... does not redirect
04:01:29 <GregorR> Checking google.com ... does not redirect
04:08:26 -!- Corun has quit ("This computer has gone to sleep").
04:10:43 <GregorR> I think I'm going to contact no-www.org now.
04:25:42 -!- pikhq has quit ("leaving").
04:36:13 -!- oklofok has joined.
04:39:42 <lament> GregorR: i would like it more if it had fewer exclamation marks
04:39:53 <lament> (www.www.extra-www.org)
04:40:56 <lament> and the color scheme sucks but of course that's not your fault :D
04:41:11 <lament> (what were they thinking? it's genuinely hard to read)
04:45:01 <GregorR> Just added a link to no-www.org
04:45:05 <GregorR> Actually, to www.www.no-www.org , which works, awesomely enough.
04:47:11 <lament> not only it works, but it -does not redirect-
04:47:21 <lament> that is indeed awesome
04:47:43 <lament> they might fix that, though ;)
04:53:30 -!- oklopol has quit (Connection timed out).
05:27:36 -!- kwertii has quit ("bye").
07:30:30 <Slereah_> Although I'll have to read up on Befunge first
07:32:38 <Slereah_> A bully automaton based on Portal.
07:34:36 <Slereah_> It has plenty of crates, doors and buttons.
07:34:45 <Slereah_> Maybe something could be done out of this.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:10:05 <Slereah_> The hard part is to think up of a way to link the portals to each other and the doors to the buttons.
09:03:06 <oklofok> portal has two portals, the part where you shoot them is quite crucial
09:36:17 -!- sebbu2 has changed nick to sebbu.
09:37:44 <Slereah_> Actually, the first levels are full of already there portals
09:37:54 <Slereah_> And shooting the portals would be quite a pain in the ass.
09:44:55 <oklofok> also, i doubt even sex with a man is as homoerotic as trying to open a bottle full of frozen energy drink.
09:45:40 <oklofok> it's like giving a blow job to a mechanical elephant
09:48:41 <oklofok> first of all, you have to jam it in real good and twist it all around... and then it starts spraying fucking brown goo all around.
09:48:59 -!- oklofok has changed nick to oklopol.
09:51:28 <oklopol> the brown part yeah (unless you bit it too hard or something)
09:54:40 <oklopol> this esme language seems very, very cool
11:18:15 -!- olsner has joined.
11:28:49 -!- olsner has quit.
11:51:47 <oklopol> i've been trying to forget...
12:48:23 -!- timotiis has joined.
13:01:43 -!- Corun has joined.
13:02:35 -!- Sgeo has joined.
13:03:00 -!- Judofyr has joined.
13:20:54 -!- Corun has quit ("This computer has gone to sleep").
13:55:55 -!- Corun has joined.
13:56:02 -!- pikhq has joined.
13:57:21 -!- atsampson has quit (Read error: 104 (Connection reset by peer)).
14:00:45 -!- atsampson has joined.
14:06:18 -!- oklopol has quit (Read error: 110 (Connection timed out)).
14:09:07 -!- oklopol has joined.
14:13:42 <Sgeo> Will there EVER be specs for esme?
14:13:57 <Sgeo> MKBL is better off than esme at this time'
14:16:20 <pikhq> http://www.viruscomix.com/page446.html
14:19:46 <oklopol> it would be so great working in a cubicle
14:25:43 <Sgeo> Well, not this latest one
14:26:40 <Sgeo> http://cectic.com/163.html
14:28:38 -!- Corun has quit (Read error: 110 (Connection timed out)).
14:55:43 -!- Corun has joined.
15:24:20 <oklopol> yeah, right after the implementation
15:30:57 -!- timotiis has quit (Read error: 110 (Connection timed out)).
15:36:55 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
15:37:19 -!- Slereah_ has joined.
15:45:05 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
15:45:37 -!- Slereah_ has joined.
16:10:22 -!- tusho has joined.
16:11:22 <oklopol> ais523 isn't here, you filthy noob!
16:11:24 <Slereah_> [16:39:24] <AnMaster> where is tusho and ais?
16:11:31 <Slereah_> It seems you're right on time!
16:11:46 <tusho> AnMaster, I usually get here around this time :p
16:11:51 <tusho> but ais is probably, you know. Doing non-computer things
16:12:09 <tusho> oklopol: yes but if I check he could say hi first
16:16:20 <tusho> yes i know AnMaster
16:16:23 <tusho> but it's the competition
16:16:26 <tusho> if I check, he'd count "hi ais523"
16:16:32 <tusho> AnMaster: sorry, no
16:16:34 <tusho> there's only one rule
16:16:53 <tusho> 1. If ais523 and tusho are present whoever presses enter on "hi <other person>" wins
16:16:57 <tusho> 1. If ais523 and tusho are present whoever presses enter on "hi <other person>" first wins
16:19:23 <tusho> but yes, ais, if you're logreading, do come
16:20:09 <Slereah_> You know ais. When he's not here, he's just reading the logs all day
16:22:15 <tusho> Slereah_: Pretty much.
16:41:32 <AnMaster> tusho, your client took over half a minute from you joined to send
16:41:40 <AnMaster> tusho, you want to fix your client
16:41:57 <tusho> oklopol responded a few seconds after I hit enter
16:42:03 <tusho> like 20 seconds after
16:42:10 <AnMaster> * tusho (n=tusho@91.105.109.15) has joined #esoteric
16:42:21 <AnMaster> err: 17:10:22 * tusho (n=tusho@91.105.109.15) has joined #esoteric
16:42:37 <AnMaster> 17:11:22 <oklopol> ais523 isn't here, you filthy noob!
16:42:41 <tusho> whatever, AnMaster
16:42:46 <tusho> why do I care how long my client takes to join
16:42:54 <AnMaster> tusho, it does matter as you will loose
16:43:00 <tusho> AnMaster: i won yesterday
16:44:05 <Dewi> pfft, who cares about that now?
16:44:10 <Dewi> I know I don't
16:44:29 <Dewi> I care about who wins now
16:44:36 <Dewi> for at least another 10 seconds or so
16:45:00 <Dewi> this is the breakneck pace of the modern internets
16:47:29 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
16:47:39 -!- oklopol has joined.
16:49:33 -!- olsner has joined.
16:50:12 <tusho> Dewi: but ais isn't here
16:59:08 <tusho> GregorR: GRUGUR AR
17:27:21 <Sgeo> Hate the new dilbert site design? http://www.dilbert.com/fast
17:29:06 -!- tusho has quit (Remote closed the connection).
17:29:23 -!- tusho has joined.
17:31:38 <Slereah_> For that, I'd have to know the old design
17:33:14 <Sgeo> It didn't use flash for everything
17:33:47 <Slereah_> Flash is the great scourge of the new internet.
17:34:02 <Slereah_> Flash should only be used to put together hilarious animations.
17:34:11 <Slereah_> Web design using Flash makes me a sad panda.
17:35:11 <tusho> Slereah_: Congrats, you're sane.
17:36:28 <Sgeo> One thing I like about the new design is the ability to read many on one page. The flash pain offsets that, though
17:36:35 <Sgeo> Maybe I should make a dilbert.com scraper
17:36:56 <tusho> it's hard to scrape flash, Sgeo ...
17:37:44 <Sgeo> tusho, http://www.dilbert.com/fast
17:37:56 <tusho> I might scrape that
17:37:59 <tusho> It'd give me something to do
17:38:09 <tusho> apart from all the other things I'm doing, that is
17:39:00 <Sgeo> http://www.dilbert.com/fast/2008-06-15/
17:43:11 <Sgeo> http://www.dilbert.com/fast/2008-06-21/
17:51:00 <Slereah_> But then again, they'd better be since they're annoying as fuck.
17:54:00 -!- olsner has quit (Read error: 104 (Connection reset by peer)).
17:54:28 -!- olsner has joined.
18:03:10 -!- timotiis has joined.
18:03:21 <cctoide> no they're not you steam hater
18:03:37 <cctoide> anyway they're content servers of course they have the bandwidth of mr. hands
18:06:29 <Slereah_> cctoide : Well, you know what would be better than the Steam system?
18:06:43 <Slereah_> Not having to have internet when I want to play a fucking not online game.
18:07:47 <AnMaster> Slereah_, wtf is steam in this context?
18:08:26 <Slereah_> Steam is the system to activate Valve games.
18:08:48 <tusho> GregorR: I just reddited extra-www.
18:09:03 <tusho> someone already did
18:09:08 <Slereah_> There's plenty of nice features in it
18:09:23 <Slereah_> But it doesn't change the fact that it's annoying when you've got connection trouble.
18:11:36 <cctoide> well go into offline mode then
18:12:46 <AnMaster> <Slereah_> Not having to have internet when I want to play a fucking not online game.
18:13:01 <AnMaster> record the traffic and write a fake server
18:13:13 <tusho> AnMaster: 'simple'
18:13:16 <tusho> REWRITE VALVE'S SERVER
18:13:23 <tusho> WHICH PROBABLY USES CRAZY AUTHENTICATION AND ENCRYPTION
18:13:27 <tusho> YEAH THAT'S TRIVIAL
18:13:31 <Slereah_> Why didn't I think of that before!
18:13:43 <tusho> Especially since Slereah_ is such a self-admitted EXPERT PROGRAMMER
18:13:51 <AnMaster> tusho, I know someone who did it for some professional 3D software
18:14:00 <AnMaster> otherwise I wouldn't have suggested it
18:18:28 <Slereah_> http://www.viruscomix.com/reducks.gif
18:18:35 <Slereah_> Incest is the source of much comedy.
18:41:53 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
18:48:04 -!- Corun has quit ("This computer has gone to sleep").
18:51:07 -!- oklopol has quit (Read error: 113 (No route to host)).
18:52:28 <lament> "Brainfuck interpretter written in LolCode" is #1 on pr.reddit
18:55:12 <tusho> lolcode is so unique
18:55:28 <tusho> at least my comment got 33 points, right?
18:56:02 <tusho> {Words cannot express the depth of my love for ridiculous esoteric programming languages being interpreted by other ridiculous esoteric programming languages.}
18:56:05 <tusho> LOLCODE IS NOT FUCKING ESOTERIC
18:56:17 -!- cherez has quit (Read error: 110 (Connection timed out)).
18:56:20 -!- tusho has set topic: LOLCode is NOT AN ESOLANG | #esoteric - the international hub for esoteric language design, development and deployment | logs: http://tunes.org/~nef/logs/esoteric/.
18:58:05 -!- cherez has joined.
19:04:03 <pikhq> cherez: Care to get on IM?
19:07:05 <tusho> pikhq: By the way, I have a Plof 3 resyntaxing proposal whirring around my head. Be prepared to hate me viciously when I show it.
19:07:34 <pikhq> However, if you keep the same bytecode-level ABI, then it won't even matter.
19:07:59 <tusho> pikhq: No, but I'll rewrite the stdlib in it and try and convince GregorR it's the most awesomest thing ever. :P
19:08:19 <pikhq> If it's non-Plofy, then Gregor is liable to hate it.
19:08:25 <pikhq> Care to give some examples?
19:08:34 <tusho> pikhq: Not non-Plofy, no.
19:08:41 <tusho> Just cleaner. Less syntactic noise. More sugar, but not too much.
19:08:49 <tusho> Simple rules, but a little bit more complex for a great gain.
19:08:55 <pikhq> Well, then, he'll probably encourage it.
19:08:56 <tusho> It's not THAT drastic.
19:09:14 <tusho> pikhq: It borrows one or two things from Ruby, though, so I imagine you might dislike it :P
19:09:17 <tusho> Though, it resembles Tcl too.
19:09:25 <tusho> But the bits it borrows do.
19:09:26 <pikhq> After all, he's made Plof 3's syntax runtime-definable just so that he can mess with things.
19:10:02 <tusho> pikhq: I'll show you an initial prototype if you don't ask too many questions - I haven't worked out the formality yet :P
19:10:16 <tusho> (Two elements of it GregorR has already yes'd yesterday, so.)
19:10:39 <tusho> Sheesh. The trac browser is slow.
19:14:40 <tusho> pikhq: JESUS, codu.org is slow
19:14:45 <tusho> How can I rewrite a file if I can't get it?
19:14:49 <pikhq> That's not normal.
19:19:16 <tusho> pikhq: codu.org=down
19:19:42 <pikhq> That would explain it.
19:20:36 <tusho> pikhq: I can has collection.plof?
19:20:58 <pikhq> Don't have a local copy; sorry.
19:22:33 <tusho> Wonder if it's in my cache
19:23:11 <tusho> It has line numbers.
19:23:31 <tusho> pikhq: Ok. Now I do it :P
19:23:53 <GregorR> I wonder if reddit'ing www.www.extra-www.org smashed my server :P
19:26:00 <tusho> GregorR: Someone had submitted it before
19:26:06 <tusho> Cause their title sucked
19:26:16 <GregorR> I didn't submit it, I just noticed that somebody else did.
19:26:26 <tusho> reddit.com/user/ehird
19:26:42 <tusho> http://pastebin.ca/raw/1060676 <-- Prototype initial Plof3-resyntaxing proposal.
19:26:47 <tusho> Nothing is set in stone, but I think it looks a lot nicer.
19:26:56 <tusho> (FYI, there's no extra special cases)
19:27:08 <tusho> (And the fold(0, +) was already GregorR-approved yesterday)
19:27:17 <lament> it's not on the front page :(
19:27:20 <tusho> Apart from that, it just looks way cleaner, i think
19:27:30 <tusho> the semicolon can be removed
19:27:31 <GregorR> http://www.www.reddit.com/info/6pyxu/comments/c04k3wy
19:28:21 <tusho> GregorR: hahahahahahah
19:28:26 <pikhq> Getting rid of semicolons just doesn't look right in a C-esque syntax.
19:28:40 <tusho> pikhq: Not with my revisions
19:28:47 <pikhq> Not that I'm going to be ubercritical of that. ;)
19:28:47 <tusho> (Note how nicer 'each' calls look)
19:28:56 <tusho> pikhq: specifically, parens are now optional in some cases
19:29:05 <tusho> to keep functions as pass-aroundable, you have to do f() for zeroadic ones
19:29:11 <tusho> works, because it's not ambiguous
19:29:14 <tusho> and for things like if, for, each
19:29:19 <pikhq> That's actually handy.
19:29:19 <tusho> you really notice it, a lot less clutter
19:29:33 <pikhq> It's now less C-esque.
19:29:41 <pikhq> That *is* fairly Ruby-esque, though.
19:29:47 <pikhq> And, IIRC, Perl-esque, as well.
19:29:55 <tusho> However, in ruby, 'f' calls f()
19:30:02 <tusho> so you have to reify functions into Proc objects with a .call method
19:30:05 <tusho> This sidesteps all that nonsense
19:30:24 <tusho> Of course, there'll be cases where you want to leave the parens in
19:30:32 <tusho> But I can't see why you'd want return(ret) when you can do return ret :P
19:30:56 <tusho> pikhq: Not without the commas.
19:31:05 <tusho> Then it'd be ambiguous where arguments start and end.
19:31:10 <tusho> However, 'fold 0, +' would probably work.
19:31:21 <tusho> would probably be fold 0, +2
19:31:27 <tusho> So it'd be ambiguous in some cases.
19:31:35 <tusho> but this wouldn't:
19:32:05 <tusho> Oh, and (o,...){ o.foo(...) } is such a common case that I think (.foo) should be that
19:32:10 <tusho> (Gregor said that was good yesterday too, so.)
19:32:50 * GregorR 'll just continue to wait to see what the result is:P
19:33:04 <tusho> GregorR: Did you look at my pastebin post? :P
19:33:53 <tusho> http://pastebin.ca/raw/1060676
19:34:35 <GregorR> Semicolons are an operator, using line-based syntax turns this into a true imperative language, which it is not (unless newline is an operator, which is a gross thought)
19:35:05 <tusho> GregorR: Newlines just add implicit semicolon tokens when it's not ambiguous.
19:35:22 <tusho> What about my other change, though?
19:35:32 <tusho> is a lot better than what it was before, IMO
19:36:13 <GregorR> It's ambiguous in nearly every case you put there, as semicolons differentiate from functional-style expression-is-the-function and imperative-style I-expect-a-return-somewhere.
19:36:21 <GregorR> Well, those parens don't match :P
19:36:29 <tusho> Those parens ... do match.
19:36:38 <tusho> Your eyes are borken :P
19:36:48 <tusho> And, it's not ambiguous actually...
19:36:51 <pikhq> That looks like you're calling each(y), and then for god knows what reason, trying to create a function without arguments.
19:36:55 <tusho> Because you can unify those two seperate styles, which aren't seperate.
19:37:08 <tusho> pikhq: Yes, just like:
19:37:19 <tusho> reads as calling if(y) GNU-style
19:37:25 <tusho> then doing some stuff in a block
19:37:33 <pikhq> Except that in C, if isn't a function.
19:37:52 <tusho> pikhq: And in plof, it is. :P
19:38:02 <lament> it's kinda really strange that if in C requires parens
19:38:07 <tusho> Still, I think my style has less clutter; it's ambiguous in a few cases
19:38:14 <tusho> but not many enough to outweigh the advantages
19:38:16 <pikhq> In Plof, reading if(foo) {bar} as calling if(foo) is a valid parse.
19:38:34 <tusho> GregorR: Swarm of parentheses and semicolons coming to rip your face out = LOVELY
19:38:37 <pikhq> In C, since if isn't a function, there's no fucking way that'll parse right.
19:38:46 <GregorR> tusho: Clearly you don't like LISP :P
19:38:53 <tusho> GregorR: I do, but it's not elegant in this case
19:39:33 <GregorR> tusho: Inelegance vs ambiguity? I'll take inelegance every time.
19:39:46 <tusho> GregorR: The ambiguity isn't great.
19:39:51 <lament> who actually likes LISP?
19:39:53 <GregorR> tusho: Your ambiguities need to be resolved.
19:39:54 <tusho> And, uhh, I'd totally take the ambiguity.
19:39:59 <tusho> GregorR: There aren't many.
19:40:10 <GregorR> Exactly, so the very few there are NEED TO BE RESOLVED
19:40:10 <tusho> The ones you can see don't have to exist, as far as I can tell
19:40:14 <cctoide> Slereah: File>Go Offline..., you'll be able to play without an internet connection for a few weeks before it needs to reauthenticate
19:40:35 <tusho> GregorR: I imagine they'll only come up when you're deliberately trying to make code that doesn't look like what it'll do... :P
19:40:49 <GregorR> That's what I spend all my days doing!
19:41:00 <tusho> GregorR: Yes, and in that case, ambiguity is useful!
19:42:15 <GregorR> Oh, btw, why is it that you've removed the parens from function calls but not the commas?
19:42:24 <tusho> GregorR: Because the commas are nice.
19:42:32 <tusho> And removing the commas WOULD make it ambiguous.
19:42:39 <GregorR> (Which, btw, are ambiguous because commas act like semicolons, but that requirement is removable)
19:43:02 -!- Sgeo has quit (Connection timed out).
19:43:03 <tusho> f(ret, x) or f(ret(x))
19:43:18 <GregorR> No, that's f ret(x), why else would you use the parens?
19:43:35 <GregorR> Do you want both func arg, arg and func(arg, arg) to work?
19:43:37 <tusho> GregorR: Sometimes parens are nice, you know. :P
19:43:48 <tusho> The parens are just implicit when it's not ambiguous.
19:43:54 <tusho> (And you should always add them if it's confusing...)
19:44:21 <GregorR> If you want functional-language style application, you should disambiguate like so: (func arg, arg)
19:44:33 <tusho> GregorR: But I don't want functional-language style application.
19:44:42 <tusho> Precedent in imperative languages: Perl, Ruby, probably a lot more
19:45:11 <GregorR> Ohyeah, Perl has that ugly function application form, I forgot about that >_>
19:45:29 <tusho> GregorR: Technically I stole it from Ruby, which does it _unambigiously_
19:45:33 <tusho> Though Ruby has some flaws related to it
19:45:39 <tusho> (Which I'll skim over because my version doesn't)
19:45:49 <GregorR> But anyway, saying that something is good or OK because it's in Perl and/or Ruby is like saying that murder is OK because Americans do it.
19:46:22 <tusho> GregorR: Well, I like Perl and Ruby so I'll disagree :P But yes, they have crazy things.
19:46:36 <tusho> using 'each' was a nightmare of ()()(){}{}) without my change.
19:46:47 <tusho> as for 'for', well let me just say that
19:46:47 <tusho> for var i = 0, i < size(), i = i + 1, (
19:46:48 <tusho> this[i] = x this[i]
19:46:51 <tusho> is a lot better IMO
19:47:56 * GregorR still finds that form kind of gross, but he'll have to mull it over.
19:48:09 <GregorR> (That is, no-parens, with-comma)
19:48:13 <tusho> GregorR: It'll probably require a lot of thinking, but I'm pretty sure it can be parsed quite easily
19:48:25 <GregorR> (That being said, you're right that it helps with intrinsic-imitators)
19:48:32 <tusho> Oh, and it helps when you're writing a DSL (although that kind of stuff is more liked by the Ruby people...)
19:49:40 <tusho> GregorR: Oh, and one more thing to mull over about it -
19:49:50 <tusho> I'm pretty sure you can do it almost entirely in the lexer.
19:50:07 <tusho> Which is nicer than polluting the parser.
19:54:03 <GregorR> There is no distinction between the lexer and parser in the runtime parser.
19:55:08 <tusho> GregorR: Yes, well. :-P
19:55:14 <tusho> It's nice IN THEORY
19:57:28 -!- snova has joined.
19:58:16 -!- snova has left (?).
20:10:30 <Judofyr> what happened with EsoAPI?
20:11:35 <tusho> it's not an interesting idea
20:11:43 <tusho> (obligatory meme: PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX)
20:24:10 <pikhq> tusho: Any idea what the status is on PSOX?
20:24:53 <tusho> pikhq: Dead dead dead dead dead dead dead!
20:24:58 <tusho> Even Sgeo has started to admit it.
20:26:48 <tusho> Last commit 4 months ago.
20:26:58 <pikhq> Sounds like PEBBLE.
20:26:58 <tusho> He hasn't committed since the day I was added.
20:27:07 <pikhq> Well, except that PEBBLE is still fairly useful.
20:27:21 <tusho> a few days after I was added
20:27:23 <tusho> was his last commi
20:27:37 <tusho> pikhq: Oh, and one of his last commits was adding an easter egg.
20:27:42 <tusho> http://trac2.assembla.com/psox/changeset/95
20:28:26 <pikhq> BTW, anyone wanting to develop on PEBBLE: lemme know what you're doing with it. I like hearing that my toys are being used by others. :p
20:29:18 <pikhq> The Practical Esoteric Brainfuck-Based Language, Eh?
20:29:23 <pikhq> http://pikhq.nonlogic.org/pebble.php
20:34:46 -!- cherez1 has joined.
20:35:49 -!- cherez has quit (Read error: 110 (Connection timed out)).
20:36:33 -!- oklopol has joined.
20:36:43 -!- cherez1 has quit (Client Quit).
20:36:54 -!- cherez has joined.
21:00:18 -!- pikhq has left (?).
21:01:44 -!- olsner has quit (Read error: 104 (Connection reset by peer)).
21:06:16 <AnMaster> does anyone know how you set a background color in a svg image?
21:25:10 -!- RedDak has joined.
21:56:33 -!- AnMaster has quit (clarke.freenode.net irc.freenode.net).
21:56:33 -!- Ilari has quit (clarke.freenode.net irc.freenode.net).
21:56:33 -!- GregorR has quit (clarke.freenode.net irc.freenode.net).
21:56:50 -!- GregorR has joined.
21:56:50 -!- AnMaster has joined.
21:56:50 -!- Ilari has joined.
22:08:49 -!- cherez1 has joined.
22:09:46 -!- cherez has quit (Read error: 110 (Connection timed out)).
22:30:48 -!- moozilla has joined.
22:36:23 -!- jamesstanley has changed nick to Rory_the_poop.
22:40:03 <moozilla> anyone want to check out my esolang?
22:40:05 <moozilla> http://www.fileden.com/files/2006/11/27/428255/esoteric.txt
22:41:11 -!- Rory_the_poop has changed nick to jamesstanley.
22:52:00 <tusho> and yeah, lament++
22:52:19 <tusho> jamesstanley: fuck man i'm haf?
22:53:01 <tusho> jamesstanley: look at the bottom of your spec
22:53:49 <tusho> you're not moozilla
22:54:01 <tusho> moozilla: fuck man i'm haf?
22:54:09 <tusho> that's AnMaster's domain
22:54:17 <tusho> jamesstanley: no! get back here!
22:55:11 <AnMaster> tusho, yes kuonet is an irc server too why?
22:55:19 <tusho> AnMaster: just odd
22:55:28 <tusho> moozilla: what is fuck man i'm haf.
22:55:38 <moozilla> i wrote that when i was on drugs
22:55:48 <AnMaster> tusho, a bit odd I agree to have it as realname
22:55:59 -!- tusho has set topic: fuck man i'm haf | http://tunes.org/~nef/logs/esoteric/.
22:56:00 <moozilla> i don't even know how that got there
22:56:04 <tusho> now we can all be haf
22:56:15 <moozilla> so what do you think of the language
22:56:38 <tusho> did you write the rest of the spec on drugs too
22:56:41 <AnMaster> moozilla, remove that thing indeed
22:56:43 <tusho> because it's very hard to read
22:57:00 <tusho> i can't find the intelligable half
22:57:15 <tusho> paragraphs, man :p
22:57:29 <tusho> it kind of makes sense though
22:57:35 <AnMaster> tusho, anyway he mentioned this language there and I recommended him to visit this channel
22:57:56 <AnMaster> but seemed "not too stupid" to me
22:58:10 <AnMaster> yes after reading it more I agree
22:58:27 <jamesstanley> in response to your comment in #maximilian, i like brainloller because of the pretty pictures ;)
22:58:34 <moozilla> AnMaster im planning on rewritting the interpreter tonight
22:58:38 <tusho> don't develop it more on drugs, though, i don't think that would improve the language
22:58:48 <moozilla> tusho i own at coding on drugs
22:58:48 <tusho> you'd probably replace the spec with 'fuck man i'm haf'
22:58:55 <tusho> moozilla: ... but not speccing, perhaps
23:00:00 <moozilla> i'd be pissed if notepad had a spell checker
23:00:23 <tusho> ED IS THE STANDARD EDITOR!
23:00:35 <tusho> VITOR OR EMACSTOR? THOSE AREN'T EVEN WORDS!
23:00:36 <AnMaster> tusho, you are talking to a windows user
23:00:42 <tusho> ED IS AN EDITOR! ED IS THE STANDARD TEXT EDITOR!
23:01:09 <AnMaster> moozilla, ed is one of the oldest and smallest editors on *nix
23:01:15 <tusho> EDLIN IS THE STANDARD EDLINITOR!
23:01:20 <tusho> VITOR OR EMACSTOR? THOSE AREN'T EVEN WORDS!
23:01:20 <moozilla> it sounds like my kind of editor
23:01:26 <moozilla> when i switch to linux i will check it out
23:01:28 <tusho> EDLIN IS AN EDLINITOR! EDLIN IS THE STANDARD TEXT EDITOR!
23:01:41 <tusho> moozilla: it's line-based
23:01:48 <tusho> and you type commands in it to editor
23:01:57 <tusho> and its only error reporting is: ?
23:02:09 <tusho> lament: 'fuck man i'm haf' is the result of drugs, apparently
23:02:18 -!- pikhq has joined.
23:02:25 <tusho> hello pikhq! we're talking about drugs
23:02:42 <moozilla> tusho, AnMaster if you're interested in the current interpretter i'll upload it
23:02:59 <lament> C#, the language of the future
23:03:08 <lament> if C# improves long enough, it will become D
23:03:37 <tusho> lament: and then die like D?
23:03:41 <tusho> pikhq: Hey, it has functional programming shizz.
23:03:57 <pikhq> tusho: D is not dead.
23:04:02 <lament> C# probably has the highest quality*popularity coefficient
23:04:14 <tusho> pikhq: But it's not exactly getting more popular :P
23:04:20 <AnMaster> lament, what does that mean exactly for C?
23:04:27 <AnMaster> C got a high in quality at least
23:04:30 <pikhq> And just because something has functional programming does not make it *good*.
23:04:41 <lament> for most things, C# is much better
23:04:43 <tusho> pikhq: No, but their integration of it is nice.
23:05:04 <lament> C is very verbose for some very basic tasks
23:05:08 <AnMaster> D would be better than C for most things except where you need high performance or low level
23:05:09 <lament> C doesn't even have foreach loops
23:05:20 <AnMaster> lament, C is the language of choice for stuff like kernels
23:05:22 <tusho> lament: note - anmaster refused to use python because you can't write a kernel in it
23:05:31 <AnMaster> sure you can do kernels in C++ or D
23:05:31 <tusho> before you start trying to argue your point..
23:05:33 <moozilla> C# is great for rapid prototyping
23:05:35 <lament> but like i said, for most things, C# is much better
23:05:41 <moozilla> thats why i made my interpreter in it
23:05:42 -!- jix has joined.
23:05:43 <lament> that's because most things aren't kernels
23:06:01 <pikhq> moozilla: For rapid prototyping, use a scripting language. ;)
23:06:01 <AnMaster> lament, I would prefer D really, except it is a pain to install and then install tango correclty
23:06:13 <moozilla> pikhq: i use javascript usually :P
23:06:20 <pikhq> I don't want to have to install Mono to use a program; that's just a ridiculously large runtime.
23:06:29 <AnMaster> well python should be great for that
23:06:31 <tusho> pikhq: That's why you have Mono installed anyway...
23:06:34 <moozilla> im porting it to haskell tonight
23:06:38 <AnMaster> and yes I think python is great once you add braces
23:06:47 <tusho> I can't stand simple syntax
23:06:49 <AnMaster> tusho, iirc I saw some m4 script that allowed braces in python :P
23:06:51 <tusho> I neeeeeeeeeeeeeeeeeeed my delimiting braces
23:06:54 <lament> yeah, i hate python, its' too readable
23:06:54 <pikhq> I feel dirty just for installing Boost.
23:07:11 <lament> python makes me feel like being a programmer is too easy
23:07:15 <lament> it should be HARD! dammit, HARD!
23:07:31 <AnMaster> lament, yes that is called job security
23:07:49 <tusho> lament: python is used by homosexual masochists, obviously!
23:07:53 <tusho> OH, MAKE ME INDENT THAT CODE, GUDIO
23:08:01 <pikhq> AnMaster: I have the same thoughts on Mono.
23:08:04 <lament> that's really the spirit of the language
23:08:08 <moozilla> lol its other things about python that turned me off
23:08:16 <AnMaster> pikhq, however I do have both :(
23:08:35 <lament> the spirit of python is: there's one way to do it - guido's way, and if you don't like it, on your knees bitch
23:09:01 <AnMaster> perl then, that is the freedom of the heavens?
23:09:03 <tusho> lament: and guido's way will involve going on your knees anyway, because it's for masochists
23:09:11 <lament> hence the lack of braces
23:09:18 <tusho> AnMaster: perl is for anarchists who are just generally in an orgy with everyone all the time
23:09:18 <moozilla> well from now on im coding only in brainfuck
23:09:22 <lament> and the lack of explicit references
23:09:27 <pikhq> I'm a Tcler, myself. The spirit of Tcl is: yes, Tcl supports that feature, though you may have to do some radical language modification at runtime. ;p
23:09:31 <moozilla> im gonna code my interpreter in brainfuck :P
23:09:32 <AnMaster> *I saw an m4 script that added braces to python*
23:09:47 <pikhq> AnMaster: I've heard of an M4 script that added objects to C.
23:09:49 <lament> AnMaster: anybody who wants to add braces to python is a complete idiot
23:09:56 <pikhq> Ask Gregor for the link; he wrote it.
23:09:59 <AnMaster> pikhq, yes didn't GregorR make that one?
23:10:00 <tusho> lament: there's a python _encoding_ that makes it do braces
23:10:05 <tusho> that hijacks the # encoding: foo line
23:10:09 <tusho> (yes, it's a joke)
23:10:11 <pikhq> AnMaster: I said as much.
23:10:26 <tusho> AnMaster: you'd actually use it, though
23:10:28 <AnMaster> pikhq, objects in c would be fun with m4
23:10:29 <tusho> see, python users go, 'hahaha, nice one'
23:10:31 <lament> tusho: there's also a python extension called iirc 'shootfoot' that gives you direct memory access
23:10:42 <tusho> AnMaster: case in point:
23:10:45 <tusho> >>> from __future__ import braces
23:10:45 <tusho> File "<stdin>", line 1
23:10:45 <tusho> SyntaxError: not a chance
23:10:56 <AnMaster> tusho, I know about that easter egg
23:11:27 <lament> braces are a historical accident. If you get too attached to historical accidents, that means You're Old.
23:11:38 <AnMaster> lament, now just make a compiler for python :D
23:11:44 <lament> "ah, braces, just like in the good old days"
23:11:46 <pikhq> moozilla: When coding in C#, just keep in mind: in the esolang community, C# *is* an esolang. And not one of the ones we're fond of.
23:12:03 <pikhq> (I, at least, hold C# in the same regard as LOLCODE)
23:12:04 <tusho> at least two people here like bracse
23:12:14 <tusho> damn multithreaded convos
23:12:16 <AnMaster> lament, to write a kernel in python *ducks*
23:12:21 <lament> pikhq: C# is really quite wonderful
23:12:25 <tusho> but yeah, I think, pikhq, you mean 'in the pikhq community'
23:12:36 <tusho> because I respect C# and think it's quite a good language, and lament does too
23:12:42 <tusho> AnMaster isn't _too_ against it :P
23:12:43 <lament> pikhq: they got lambdas and map/filter and some type inference
23:12:44 <pikhq> lament: Sure, if you like a standard library larger than you can hold in your head.
23:12:52 <AnMaster> yes the syntax of C# is quite nice
23:12:56 <AnMaster> however the runtime is horrible
23:13:00 <lament> pikhq: yes, of course i like it
23:13:07 <lament> pikhq: i don't want to reinvent any wheels
23:13:09 <pikhq> (not that, say, C++ is much better about that)
23:13:27 <lament> pikhq: i don't need to hold it in my hand, there's MSDN for that
23:13:30 <tusho> GregorR: And C#? :P
23:13:34 <AnMaster> GregorR, link to m4 macro for object orientated C?
23:13:42 <GregorR> AnMaster: Yeahyeahyeah, gimme a sec.
23:13:43 <lament> pikhq: head. I don't need that either.
23:13:46 <tusho> lament: However. Obj-C > C#. Agreed?
23:13:53 <AnMaster> GregorR, should I use it, or was it a joke?
23:13:58 <tusho> lament: Well, if it had a standard library/
23:13:59 <lament> ObjC is kind of a joke
23:14:04 <GregorR> AnMaster: It was somewhere in between serious and a joke ...
23:14:08 <lament> it does have a standard library, it's called cocoa
23:14:12 <GregorR> AnMaster: If you want to use it, I would recommend improving it a bit first.
23:14:19 <tusho> Obj-C isn't a joke :'(
23:14:36 <AnMaster> moozilla, well the link? did I miss it?
23:14:42 <lament> tusho: C# is an actual programming language. ObjC is a completely alien object system tacked onto C in a fairly ugly fashion.
23:14:53 <pikhq> For all those backing C#: I also hate Java.
23:15:05 <pikhq> So, anything C# has in common with Java, I despise.
23:15:23 <pikhq> Meaning: I just fucking hate C#.
23:15:26 <lament> tusho: even Java has generics nowadays
23:15:32 <lament> tusho: ObjC, not a chance
23:15:40 <tusho> lament: Obj-C is a dynamic language.
23:15:50 <lament> if i want a dynamic language
23:15:56 <lament> i'll pick python over objc every time
23:16:10 <lament> objc is incredibly verbose and stupid
23:16:20 <lament> python is amazingly concise and powerful
23:16:50 <lament> writing in objc involves a lot of writing stuff twice or even more
23:17:54 <GregorR> AnMaster: http://codu.org/m4c-2008-07-02.tar.bz2
23:18:01 <lament> consider: this is how you do string concatenation in objc/cocoa
23:18:09 <lament> [fooString stringByAppendingString: barString]
23:18:26 <tusho> lament: yes, that's cocoa
23:18:34 <lament> cocoa/nextstep/gnustep
23:18:34 <tusho> cocoa is fairly retarded in its verbosity.
23:18:44 <lament> there's no alternative
23:18:46 <tusho> with a nice standard library...
23:18:50 <tusho> lament: i know there isn't
23:18:55 <tusho> then it'd be very nice
23:18:58 <lament> python would still win
23:19:03 <lament> because in python it's fooString + barString
23:19:08 <lament> and in objc you can't have that
23:19:20 <tusho> lament: [fooString concat: barString]
23:19:50 <GregorR> Yay, www.www.extra-www.org is mentioned on no-www.org 8-D
23:20:00 <tusho> GregorR: wot, really?
23:20:04 <tusho> GregorR: that site hasn't been updated for like years
23:20:05 <lament> how do you access the last element of an array in cocoa?
23:20:26 <lament> [foo objectAtIndex:[foo length] - 1]
23:20:30 <tusho> AnMaster: the news section
23:20:32 <GregorR> AnMaster: ... the very topmost post ...
23:20:39 <lament> conclusion: objc just fucking sucks
23:21:04 <pikhq> In C: foo[sizeof(foo) - 1] or foo[size_t_of_foo_here - 1]. ;)
23:21:09 <tusho> GregorR: where have you spreaded this thing :P
23:21:12 <pikhq> Conclusion: I <3 C.
23:21:17 <lament> actually, in cocoa, it's [foo lastObject]
23:21:33 <lament> which is even more retarded
23:21:48 <lament> because you need to memorize an extra method where in python there is no need for one
23:22:00 <pikhq> In Tcl? Good luck; arrays are associative arrays.
23:23:00 <AnMaster> that would be another object in C
23:23:09 <tusho> GregorR: where did you post this :P
23:23:13 <lament> AnMaster: C is not Python
23:23:28 <lament> tusho: basically almost all i like about objective C is that it's C :)
23:23:33 <pikhq> AnMaster: No, it wouldn't. It would be undefined behavior. ;)
23:24:20 <AnMaster> GregorR, btw I'm in no-www's B class iird
23:24:33 <AnMaster> my www redirects to non-www one
23:26:26 <AnMaster> GregorR, and your validator is slow
23:26:30 <lament> GregorR: i love it how they link to you as http://extra-www.org
23:27:30 <GregorR> lament: Note that I link them as www.www.no-www.org :)
23:27:31 <tusho> GregorR: dude, I can't access http://www.www.www.extra-www.org/ without a redirect
23:27:38 <tusho> why can't we use grossly excessive amounts of wwww.
23:27:58 <GregorR> tusho: Honestly, it's because I don't have direct access to the host system, so I can't set up arbitrary vhosts.
23:28:18 <tusho> http://www.www.www.www.www.www.www.www.www.www.www.www.www.extra-www.org.ogr.org.org.org.org.org.org/
23:28:28 <tusho> it's spellign crocecitng
23:28:38 <GregorR> tusho: Once you own org.org, you may as well put ogr.org... under it :P
23:29:03 <lament> i'm all for deprecating www
23:29:15 <tusho> omg, someone owns org.org
23:29:19 <lament> but a far more useful thing would be to eliminate TLDs
23:29:27 <tusho> lament: well, they effectively did
23:29:31 <tusho> now that you can buy tlds...
23:29:40 <lament> you can? That went through?
23:30:01 <tusho> it costs a couple hundred thousand
23:30:05 <tusho> but yay, now icann fucked up the internet
23:30:12 <tusho> i just love corporate branding tlds
23:30:22 <lament> i guess it's not that bad
23:30:22 <pikhq> I'm on an alternate DNS root. Glee.
23:30:25 <lament> because nobody will buy those domains
23:30:28 <tusho> lament: i want http://fuck.icann/
23:30:31 <lament> so it's as if they never existed
23:30:32 <tusho> and apparently ebay etc are considering it
23:31:04 <tusho> anyway, GregorR wants libc6.so when somalia gets itself a government
23:32:03 <tusho> oh, and the wordpress guy has ma.tt
23:32:07 <tusho> how did he get that?
23:32:13 <AnMaster> <tusho> anyway, GregorR wants libc6.so when somalia gets itself a government
23:32:40 <AnMaster> tusho, in Sweden .nu is popular
23:32:47 <tusho> it means 'new' right?
23:33:19 <tusho> you know, my world was shattered when i found out you couldn't get second-level .uk domains
23:33:28 <tusho> I wanted xx.uk where xx is two letters
23:33:32 <tusho> so i could have all the domains I ever wanted..
23:33:42 <tusho> "you know, my world was shattered when i found out you couldn't get second-level .uk domains"
23:33:57 <tusho> AnMaster: YES THAT'S WHY I SAID IT
23:33:59 <AnMaster> I think you need some such for private persons too
23:34:08 <AnMaster> tusho, yes but I like the UK systems
23:34:09 <GregorR> tusho, AnMaster: Yes, I've stated that before, except libc.so, not libc6.so
23:34:23 <tusho> AnMaster: no, because everyone just uses .co.uk or .com
23:34:35 <AnMaster> tusho, what does private persons use?
23:34:49 <tusho> there is .me.uk but about 3 people use it
23:34:51 <tusho> (kind of like .name)
23:35:01 <tusho> AnMaster: and .com is for commercial stuff
23:35:05 <tusho> does anyone respect that?
23:35:11 <tusho> and .info is just a spam trap
23:35:15 <GregorR> choosemyhat.com is totally a commercial entity.
23:35:18 <tusho> every website on .info ought to move
23:35:31 <tusho> AnMaster: it's filled with viagra and google adspam
23:35:34 <tusho> loads of people won't click .info
23:35:36 * pikhq needs to get a site on .geek
23:35:38 <tusho> and quite a few sites block .info referers
23:35:52 <tusho> pikhq: I prefer domains people can reach
23:36:22 <moozilla> .info domains cost like 3$ less
23:36:25 <pikhq> The normal DNS root pisses me off these days.
23:36:57 <AnMaster> pikhq, it is what the majority of the world's population use
23:37:08 <tusho> moozilla: because they're unvaluable because of the spam
23:37:12 <moozilla> here's the interpreter: http://www.fileden.com/files/2006/11/27/428255/interpreter.rar
23:37:48 <pikhq> AnMaster: And it's getting fairly terrible.
23:37:59 <AnMaster> moozilla, I could use unrar I guess
23:38:24 <moozilla> http://www.fileden.com/files/2006/11/27/428255/interpreter.zip
23:38:28 <AnMaster> moozilla, in the future know that I prefer .tar.bz2
23:38:39 <lament> rar compresses better, though
23:39:01 <AnMaster> lament, well there is .tar.lzma too
23:39:03 <pikhq> AnMaster: BTW, OpenNIC also mirrors the standard ICANN TLDs.
23:39:10 <GregorR> rar = giant PITA on everything that isn't Windows.
23:39:25 <AnMaster> pikhq, also why don't you like the normal dns root
23:39:31 <lament> GregorR: unrar works just fine for me.
23:39:46 <pikhq> Not been paying attention in recent years?
23:39:54 <AnMaster> pikhq, well I know about this new tld crap
23:40:26 <pikhq> They've also jiggered the domain registration regulations specifically to allow domain camping.
23:40:40 <AnMaster> pikhq, what is domain camping?
23:40:41 <tusho> pikhq: lol, AnMaster trusts icann more than a non-profit
23:40:46 <tusho> *lol* *lol* *lol* *lol*
23:41:05 <pikhq> Buying a domain and just sitting on it, waiting for the highest bidder.
23:41:32 <moozilla> sounds like an easy way to make money
23:41:52 <pikhq> Among other things, domain campers can do a 'taste testing' of a domain, picking it up, waiting a week, and then asking for a refund now.
23:41:55 <lament> it is, that's why all the good ones are already bought
23:42:01 <pikhq> (and do that forever, actually)
23:42:23 <tusho> when I was young and naive I thought i'd be able to get syntax-error.com
23:42:48 <pikhq> And, of course, they keep on creating pointless TLDs.
23:45:01 <lament> can't write .orgasm without. org
23:45:18 <moozilla> with org sites im like "fuck was it .org or .net"
23:45:33 <AnMaster> .net is for network related stuff
23:45:56 <tusho> you know the best bit?
23:46:00 <tusho> if asm.org releases a java lib
23:46:05 <tusho> they'll have to call it org.asm.stuff
23:46:12 <tusho> by the java package naming standards
23:46:16 <GregorR> GREGOR HATE SHOE SHOPPING ARGH
23:46:34 <GregorR> I've narrowed down the shoes I can wear to: non-leather, non-synthetic-leather, non-green (in the literal sense) shoes.
23:47:04 <tusho> GregorR: choosemyshoes.com
23:47:35 <GregorR> I'm allergic to chromium, which is used to tan virtually all leather.
23:47:43 <GregorR> And, as I learned quite painfully, used to tan synthetic leather too.
23:47:53 <AnMaster> GregorR, what about trainers or whatever they are called in English?
23:47:57 <tusho> GregorR: choosemyshoes.com
23:48:02 <GregorR> AnMaster: Uh, canvas shoes?
23:48:17 <GregorR> AnMaster: They usually have some supporting leather or stylistic leather in them.
23:48:32 <GregorR> AnMaster: (In my experience)
23:48:36 <AnMaster> GregorR, what did you have before then?
23:48:39 -!- jix has quit ("CommandQ").
23:49:02 <GregorR> AnMaster: I lucked out on a pair of totally-synthetic-leather-free vegan shoes, and before that there was one company that sold non-chromium-tanned leather shoes.
23:49:14 <GregorR> AnMaster: And before that I had severe dermatitis of the foot for ten years.
23:49:19 <tusho> GregorR: Are you a vegan? :-P
23:49:38 <AnMaster> GregorR, well contact a foot doctor and ask if they know of some good place to buy
23:49:39 <GregorR> tusho: No, and I try to make sure I eat a ham sandwich while I buy vegan shoes so that nobody thinks otherwise.
23:49:46 <tusho> GregorR: Hahahahaha.
23:49:49 <GregorR> AnMaster: Where do you think I learned of my allergy in the first place?
23:50:02 <GregorR> AnMaster: My dermatologist's response was, paraphrasing, "you're screwed"
23:50:31 <GregorR> Believe me, I've had this for years, it's just that there's nowhere I can /consistently/ find chromium-free shoes.
23:50:34 <GregorR> AnMaster: Wooden would work :P
23:50:41 <GregorR> AnMaster: Tough to find wooden shoes in Portland, OR though :P
23:51:39 <AnMaster> GregorR, go on using old pair?
23:51:53 <AnMaster> GregorR, and if you find any: buy a stock
23:52:02 -!- timotiis has quit (Connection timed out).
23:52:12 -!- AAA_AAA has changed nick to Quendus.
23:52:13 <AnMaster> GregorR, also what country is that?
23:52:29 <GregorR> AnMaster: 1) My shoes have holes in them :P, 2) I really should've thought to buy a stock in the first place, 3) US.
23:53:34 <GregorR> The English word is "we don't repair our shoes" :P
23:53:45 <GregorR> But in reality, they're not very good shoes, I'd love to replace them.
00:13:18 -!- Corun has joined.
00:26:45 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
01:17:17 -!- tusho has quit.
02:08:12 -!- cherez1 has quit (Read error: 110 (Connection timed out)).
02:12:20 -!- cherez has joined.
02:26:14 -!- Corun has quit ("This computer has gone to sleep").
02:48:21 -!- djgera has joined.
02:50:06 -!- RodgerTheGreat has joined.
02:58:27 <RodgerTheGreat> Ah, sitting around waiting for something interesting to happen. Me too.
02:59:29 <pikhq> I've been busy muttering about how MST's "intro to" courses suck.
02:59:36 <pikhq> No, not at all; it's a fairly grokkable spec.
03:19:37 -!- Slereah_ has joined.
03:47:27 <RodgerTheGreat> I was bored, so I wrote a test program in high-level def-bf: http://www.nonlogic.org/dump/text/1215053139.html
03:47:57 <RodgerTheGreat> foreach/while loops ended up being very nice and clean looking
03:50:13 <RodgerTheGreat> ah christ, I forgot colons after my define statements: http://www.nonlogic.org/dump/text/1215053310.html
03:50:16 <pikhq> The whole thing is ridiculously simple to understand.
03:50:41 <RodgerTheGreat> yeah, I'm just insanely pleased with how nicely it comes together
03:51:52 <RodgerTheGreat> what's interesting is that <> seem to become largely relegated to array manipulation
03:52:14 <pikhq> Insanely, if I write that so that it uses the C calling interface, then the C interface will be trivial.
03:53:12 <pikhq> var: string "Hello, world!\n\0"
03:53:52 <pikhq> Wait, that's already null terminated, isn't it?
03:54:11 <pikhq> Anyways, that's really fucking cool.
03:54:17 <pikhq> define: print[a][ a [.>];// display a null-terminated string
03:54:27 <pikhq> ]That seems to imply that it's null terminated already.
03:54:44 <RodgerTheGreat> there are a few things that might be inefficient without post-optimization, but it shouldn't be too much worse speed-wise than regular compiled BF
03:54:57 <pikhq> No; it seems like C gets along just fine without.
03:55:25 <RodgerTheGreat> Hm. what do you think would be more useful in general?
03:57:30 <RodgerTheGreat> seems like almost every time someone wants to iterate over array elements or characters in a string they'd want a null to easily break out of the loop anyway, so null-terminated seems good
03:57:44 <RodgerTheGreat> it's not like we're shooting for mega space-efficiency, anyway
03:57:57 <pikhq> It's much, much nicer in Brainfuck than even in C. . .
03:58:12 <pikhq> And even in C, null termination is fairly handy for a few algorithms.
03:58:40 <pikhq> Though it'd be nice if C strings were size-encoded, hell: making a really simple C calling interface is a good idea in my book.
03:59:44 <RodgerTheGreat> do you think there's a need for more than numbers->numbers quoted strings->null-terminated character sequence as far as ? is concerned?
04:01:40 <RodgerTheGreat> I think you can make custom control structures for this language ridiculously cleanly- I haven't even touched the code pointers yet.
04:03:39 <RodgerTheGreat> and it now occurs to me that there's a need for a convenient way to specify said pointers. I think it should be done as "label: name", and then the name can be used as a variable.
04:08:18 <RodgerTheGreat> here's a trivial example: http://www.nonlogic.org/dump/text/1215054391.html
04:08:39 <RodgerTheGreat> you can extend this to something like a "while a>x" loop pretty easily
04:09:43 <pikhq> I think the "label: name" part is handy.
04:10:13 <RodgerTheGreat> yeah, otherwise %/: are really crippled in high-level mode
04:10:27 <pikhq> Especially since this language seems to be, as far as hardware interfacing goes, somewhere between C and assembly.
04:11:03 <RodgerTheGreat> and it achieves a weird kind of LISP-esque elegance somehow
04:12:08 <pikhq> By just being so damned simple.
04:12:36 <RodgerTheGreat> I should also note that it makes a lot of sense to make it possible to have literals in function calls and return statements, as this is not explicitly said in the spec
04:12:40 <pikhq> My favorite part is that, if you *really* wanted to, you could have this thing write arbitrary pre-assembled code into memory. :p
04:13:01 -!- djgera has quit.
04:13:09 <RodgerTheGreat> and you might even be able to use label: to then call it trivially depending on how the semantics work
04:13:11 <pikhq> And thereby forgo all actual assembly files.
04:13:33 <pikhq> Though I, personally, wouldn't use it.
04:14:03 <pikhq> Instead, I'd just do foreign_assembly_call%.
04:14:31 <pikhq> And let the linker handle the details of figuring out where the fuck that foreign assembly call is supposed to come from.
04:14:52 <pikhq> Indeed, this is a *perfect* esoteric systems programming language.
04:14:56 -!- cherez has quit (Read error: 110 (Connection timed out)).
04:15:49 <RodgerTheGreat> perhaps having a working compiler and some basic libraries will encourage yet another attempt at creating an esoteric OS from scratch?
04:16:39 -!- cherez has joined.
04:16:39 <pikhq> I plan on making said esoteric OS.
04:16:52 <pikhq> I'll get on the compiler this weekend.
04:16:56 <pikhq> (and possibly finish)
04:17:07 <pikhq> I need to finish my Autotools kick, though. ;)
04:17:16 <RodgerTheGreat> I'll write some bits and pieces for the std libs when I have free time
04:17:40 <RodgerTheGreat> I'm thinking stdio, stdmath and stdctrl are the main ones to shoot for
04:17:55 <RodgerTheGreat> maybe stdstring and stdarray as well for more complex stuff
04:18:07 <pikhq> I do have to wonder, however. . .
04:18:14 <pikhq> How am I going to implement '.'?
04:18:46 <pikhq> But what if we go into 32-bit mode?
04:19:52 <RodgerTheGreat> Are you shooting for making this self-hosting eventually?
04:19:57 <pikhq> I'll have '.' call a single function, which shall be my support library for the language. ;)
04:20:28 <pikhq> Said single function could equally well be written in Def-BF as in assembly. . .
04:20:47 <RodgerTheGreat> yeah, with %/: and #/; it'll be a LOT easier than trying to make PEBBLE self-hosting
04:21:00 <pikhq> PEBBLE is simple not meant to self-host.
04:21:04 <RodgerTheGreat> PEBBLE is quite powerful but data structures are still a bitch
04:21:28 <RodgerTheGreat> I'm just saying that because we've discussed it passingly in the past
04:21:28 <pikhq> Whereas, in Def-BF, it's no harder than writing this in assembly.
04:21:48 <pikhq> Except that it's mildly quirky assembly, of course.
04:22:23 <RodgerTheGreat> I like to think of it as a very clean RISC that pretends registers don't exist
04:22:33 <pikhq> Sounds about right.
04:25:06 <RodgerTheGreat> oh, found another minor typo- there is no ; necessary after the "return a" in the while loop example. My curly-bracket reflexes are biting me. The program ought to compile right anyway, though.
04:28:03 <pikhq> After all, the ; won't ever be executed.
04:33:09 -!- cherez has quit (Read error: 110 (Connection timed out)).
04:34:57 -!- pikhq has quit ("leaving").
04:35:26 -!- cherez has joined.
04:44:46 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
04:44:51 -!- Slereah_ has joined.
05:16:11 -!- jamesstanley has quit (clarke.freenode.net irc.freenode.net).
05:16:12 -!- Deewiant has quit (clarke.freenode.net irc.freenode.net).
05:17:31 -!- jamesstanley has joined.
05:17:31 -!- Deewiant has joined.
05:17:42 -!- Deewiant has quit (Read error: 104 (Connection reset by peer)).
05:17:55 -!- Deewiant has joined.
05:21:46 -!- jamesstanley has quit (clarke.freenode.net irc.freenode.net).
05:24:51 -!- GreaseMonkey has joined.
05:28:59 -!- jamesstanley has joined.
05:30:44 -!- GreaseMonkey has changed nick to DarkPants.
06:04:41 -!- cherez has left (?).
06:07:15 <Slereah_> Zipped files inside zipped files make me a sad panda.
06:23:15 <Slereah_> I'd much rather have text files!
07:14:54 -!- DarkPants has quit (Remote closed the connection).
07:18:29 -!- GreaseMonkey has joined.
07:18:48 -!- GreaseMonkey has changed nick to DarkPants.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:05:13 <oklopol> printn[val] <<< i don't get this in the Def-BF
08:05:28 <oklopol> unless it should be printn[tmp] or something
08:16:07 <oklopol> add1[val2,tmp] // tmp = val1+val2
08:17:34 <oklopol> add1's params are copies, not the original var?
08:18:27 <oklopol> seems like it would be a bit of a space/efficiency to do that for all calls
08:20:03 <oklopol> well, i'll wait for rodgie
08:20:40 <oklopol> also i'll highlight him in case he's already awake, already slept like 3 hours: RodgerTheGreat
08:22:39 <AnMaster> <Slereah_> Adobe Reader is 190 Mo?
08:22:46 <oklopol> add2[a,b,c]// make two copies
08:22:55 <oklopol> so add is clearly destructive
08:23:04 <oklopol> RodgerTheGreat: i do believe you have two errors
08:23:12 <AnMaster> $ du -sh /usr/kde/3.5/bin/kpdf
08:23:25 <oklopol> but probably none, i'm a failer
08:25:52 <oklopol> is it related to megabytor
08:33:28 <AnMaster> oklopol, s/megabytor/moozilla/
08:34:23 <oklopol> oklopol: talkin' bout mo here
08:34:27 <AnMaster> oklopol, he wrote it in some esoteric specs when he was high (the result of the specs were also written then it seems)
08:34:55 <moozilla> http://www.fileden.com/files/2006/11/27/428255/esoteric.txt
08:35:18 <oklopol> hmm i missed the spec conversation, nnscript decided it doesn't show but about one page of logs now, and i have to use a fucking logviewer to read the rest
08:43:01 <oklopol> using ascii without the high byte?
08:45:22 <oklopol> second row designated for that? :\
08:47:24 <oklopol> ah and you don't actually output, just make the second row contain hello world
08:52:54 <oklopol> moozilla: i think your example either fails miserably quite near the beginning, or then i misunderstood the language
08:53:29 <oklopol> but if i understood it correctly, i absolutely love the way you do args
08:56:09 <oklopol> as for tcness, you could set up an initial state and run a line of 110
08:56:55 <oklopol> so my suggestion is you infinitely execute the program for the first line, then move to the next, execute the program infinitely for it, and so on
08:57:03 <oklopol> this way you could easily write ca
08:57:14 <oklopol> moozilla: goddammit you were here 10 minutes ago :P
08:57:56 <oklopol> i'll write an interp for the current one as i understood it
09:01:57 <oklopol> it seems i managed to read only half of it, and thought it ended there :D
09:02:43 <oklopol> okay if second row indeed is output, as your hello world suggested, it might work
09:02:58 <oklopol> probably works, that is, at least the beginning does
09:05:04 <oklopol> replace(/[^+-*/%|&~#$?<>^v]*/g,''); //remove comments (javascript example) <<< this line is incomplete
09:09:00 <oklopol> hmm. actually i'm not sure how the looping shit works
09:10:02 <oklopol> you say something about looping grids letting you do flow control... not sure what you mean, but in case you either get flow control *or* an infinite grid, it's not tc
09:10:23 <oklopol> but you probably know that, now appear, o sweet moozilla.
09:12:21 <oklopol> heh, didn't even realize "cool" means cold :D
09:12:28 <oklopol> i meant in the other sense
09:13:52 <oklopol> i love python's "unstable" and/or driven flow control
09:14:02 <oklopol> should esolangify some of that
09:41:43 -!- DarkPants has quit (Remote closed the connection).
09:42:32 <oklopol> perhaps i should make a small befunge interpreter in C
09:42:49 <oklopol> need more languages on my page
09:43:22 <oklopol> http://www.vjn.fi/oklopol/python.txt updated this, it used to be a fucking cartesian product i made in about 30 seconds :P
09:45:59 * AnMaster ponders writing a very slow interpreter
09:46:07 <AnMaster> for some simple C-like language
09:47:01 <oklopol> it's just you first start making the string on the second line
09:47:08 <oklopol> but @ l, you stack two in the same spot
09:47:28 <oklopol> moozilla: how does flow control work?
09:47:36 <oklopol> what order do you run the code in
09:47:51 <AnMaster> oklopol, check his interpreter
09:48:10 <AnMaster> however I got other stuff to do toda
09:48:32 <oklopol> moozilla: i mean, how do you jump?
09:48:36 <AnMaster> <oklopol> http://www.vjn.fi/oklopol/python.txt updated this, it used to be a fucking cartesian product i made in about 30 seconds :P <-- not readable!
09:48:42 <oklopol> AnMaster: why would i read it when i can just ask?
09:48:56 <oklopol> AnMaster: it's a one-expression bf interp
09:48:56 <AnMaster> oklopol, oh you follow the lazy programmer paradigm?
09:49:11 <AnMaster> oklopol, "ask instead of read"
09:50:27 <oklopol> also, i have no idea where the interp is
09:50:53 <oklopol> AnMaster: i can't read code
09:51:47 <oklopol> if there's a function the meaning of which i don't know, i will just try to read it over and over
09:52:02 <oklopol> often takes 5 minutes to realize i don't know what it is
09:52:14 <oklopol> it's not like that, i don't actually realize i don't know the function.
09:52:48 <oklopol> anyway, i have a lot of problems like that, when reading
09:53:34 <oklopol> i could probably read a small interp, tho
09:54:13 <oklopol> also i read code like a machine, the names of variables tell me absolutely nothing
09:55:05 -!- GreaseMonkey has joined.
10:18:49 -!- RedDak has joined.
10:39:38 -!- GreaseMonkey_ has joined.
10:48:32 -!- GreaseMonkey_ has quit ("Remote closed the previous member app").
10:54:10 -!- GreaseMonkey has quit (Read error: 110 (Connection timed out)).
12:04:21 -!- RedDak has quit (Remote closed the connection).
12:26:16 -!- jix has joined.
12:38:01 -!- RedDak has joined.
12:42:09 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
13:03:10 -!- olsner has joined.
13:09:31 -!- puzzlet has quit (Read error: 54 (Connection reset by peer)).
13:38:40 <jamesstanley> The wiki page about Brainloller says 'Infinite loops due to the IP rotators can never happen because they're reversible and the IP starts at the top left.' Surely if execution encounters a square of 4 Rotate-Right instructions, there will be an infinite loop...?
13:43:44 <jamesstanley> It is impossible to enter such a construction.
13:43:58 <jamesstanley> The rotations would prevent execution from getting to the right place to start the loop.
13:48:09 <jamesstanley> I can see that I'm going to waste a lot of time trying to come up with a shape that will cause an infinite loop because of IP rotators.
13:48:13 -!- Corun has joined.
14:14:48 -!- pikhq has joined.
14:16:03 -!- Corun has quit ("This computer has gone to sleep").
14:34:32 -!- ais523 has joined.
14:37:25 -!- Corun has joined.
14:39:14 <Slereah_> "Silly deontologist, cocoa crispies are for consequentialists!"
14:39:20 <Slereah_> "I hold you morally responsible!"
14:57:13 -!- RedDak has joined.
15:00:42 <cctoide> "This means, if Azeroth really is a spherical planetoid with a diameter of 12 kms, that the planet must have an average density of roughly 5850 grammes per cubic centimetre. That makes its average density more than 500 times greater than lead. The extreme density of Azeroth would explain why it is impossible to pick up many objects from the ground, including ones that you have just dropped."
15:03:16 -!- olsner has quit.
15:15:06 -!- Slereah_ has quit ("kthxbai").
15:15:23 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
15:16:36 -!- Slereah_ has joined.
15:17:55 -!- zolletta has joined.
15:18:37 -!- zolletta has left (?).
15:30:24 <ais523> cctoide: how did you determine its mass?
15:31:53 <cctoide> it's from here: http://www.spaaace.com/cope/?p=111
15:45:30 -!- olsner has joined.
15:48:19 -!- Corun has quit ("This computer has gone to sleep").
15:49:16 -!- Corun has joined.
15:49:30 -!- jix has quit (Nick collision from services.).
15:49:38 -!- jix has joined.
15:55:14 <ais523> I got COME FROM INTERCAL to Befunge working
15:55:26 <ais523> and I've written much of the rest of the code but not tested it
15:55:34 <AnMaster> ais523, oh in other news: envbot 0.1-beta1 was released today
15:55:35 <ais523> all I need to do now is handle line labels in the Befunge
15:56:20 <AnMaster> ais523, oh befunge has goto using a fingerprint
15:58:13 <AnMaster> ais523, will it be possible to come from befunge to befunge?
15:58:27 <ais523> it's possible to do all the combinations
15:58:32 <ais523> even COME FROM C to Befunge if you like
15:58:36 <AnMaster> you mean that some place in funge space will act as a teleporter to another place?
15:58:48 <ais523> well, you can put in a line label like M5L
15:58:52 <ais523> and a COME FROM like M5C
15:59:00 <ais523> then if the M5L is evaluated, it teleports to the M5C
15:59:13 <AnMaster> ais523, what is there are 2 places in funge space with same line label?
15:59:15 <ais523> or errors if another COME FROM aims there
15:59:31 <ais523> AnMaster: then it's unspecified which one is NEXTed to, and either can be COME FROM
15:59:40 <ais523> the same behaviour as if you have two of the same line label in C
15:59:46 <ais523> (duplicate labels are illegal in INTERCAL)
15:59:56 <AnMaster> well that would cause an error if they are in same function right?
16:00:27 <ais523> oh, yes if you were using C labels
16:00:33 <ais523> I mean if you wrote ick_linelabel(5); for instance
16:00:37 <ais523> you can do that twice in the same function
16:00:43 <AnMaster> ais523, well what will c-intercal do on that
16:00:59 <ais523> COME FROMs target both of them, NEXTs switch to an unspecified one
16:01:10 <AnMaster> and what one will happen in practise?
16:01:11 <ais523> (that is, the compiler can choose either for any or no reason, but must choose exactly one)
16:01:13 -!- Corun has quit ("This computer has gone to sleep").
16:01:18 <ais523> AnMaster: I think it switches to the first one
16:01:29 <ais523> with a reasonably sensible definition of 'first'
16:01:47 -!- Corun has joined.
16:02:00 <AnMaster> ais523, one intersting thing with your FFIs are that they are not really FFIs. They do far more
16:02:05 <AnMaster> a FFI would just do function calls
16:02:19 <ais523> they merge all the control structures of INTERCAL into the target language
16:02:29 <ais523> except ABSTAIN/REINSTATE, but that would be even more feral than COME FROM
16:02:31 <AnMaster> ais523, idea: inline C in intercal and vice versa
16:02:49 <ais523> AnMaster: ugh, both would be pretty difficult
16:03:08 <ais523> actually, inline C in INTERCAL would be pretty easy with C-INTERCAL
16:03:12 <ais523> I could just copy it verbatim to the output
16:03:22 <ais523> what that actually did, though, would require a good knowlegde of the compiler's internals
16:03:56 <AnMaster> well the good thing is if you had that working and you used gcc you could then do inline asm inside that!
16:04:28 <olsner> or inline c in inline intercal in inline c in inline intercal in inline c in intercal etc?
16:04:44 <ais523> olsner: don't start on that, it would require writing a recursive compiler
16:05:40 <AnMaster> ais523, does svg support background color?
16:05:50 <olsner> extra evil points for requiring escapes for the inline code
16:06:01 <ais523> olsner: INTERCAL has no escape characters
16:06:03 <ais523> because it has no strings
16:06:07 -!- Corun has quit (Client Quit).
16:06:16 <ais523> also, no particularly easy way to represent strings either
16:06:24 <olsner> ais523: I'm not specifically talking about strings..
16:06:25 <ais523> string handling's a pain in INTERCAL
16:06:29 <AnMaster> ais523, yet it can be done as it is turing complete I guess
16:06:34 <ais523> AnMaster: yes, of course
16:06:57 <AnMaster> ais523, what about generating intercal code from some readable language?
16:06:58 <olsner> just code in general - like have the end-of-inline-c character/syntax conflict with normal C syntax
16:07:11 <ais523> AnMaster: I've been thinking about that
16:07:22 <AnMaster> ais523, object orientated intercal maybe?
16:07:28 <ais523> I think a C to INTERCAL compiler would be easier than compiling C into most other langs
16:07:34 <ais523> and CLC-INTERCAL is optionally object-oriented
16:07:44 <olsner> btw, do we still not have any programming language with time travel? if so, I'm building it
16:08:02 <ais523> olsner: TwoDucks (uncomputable), Feather (not properly specced and unimplemented)
16:08:05 <AnMaster> olsner, well yes, TRDS in befunge
16:08:52 <AnMaster> ccbi is a pain to compile, so just get binary downloads
16:09:00 <ais523> AnMaster: I compiled it
16:09:30 <olsner> AnMaster: TRDS? google comes up almost empty-handed
16:09:38 <ais523> olsner: see the CCBI docs
16:12:21 <ais523> Deewiant: [[FBBI’s help text describes a flag -fast with the words “more speed, at the cost of locking up in infinite loops”. Interestingly, all it does is that it prevents the output of the string " \b" whenever the IP moves. I wonder: how exactly does outputting a character and then backspacing over it prevent infinite loops?]]
16:12:45 <ais523> it's because in DOS, Control-C doesn't work until the next I/O operation by the running program
16:12:59 <ais523> so it makes it possible to break an infinite loop with Control-C if you do useless IO
16:13:47 <olsner> hmm, I found ccbi, but not the docs
16:14:37 <ais523> I can't find its docs either
16:14:41 <ais523> I found the source for TRDS, though
16:15:56 <ais523> inside the CCBI source package
16:16:12 <ais523> there's a lengthy comment explaining how Deewiant managed to get bits of it working
16:17:55 <Deewiant> there are two, actually, IIRC :-)
16:18:10 <ais523> Deewiant: do you know where the TRDS specs are?
16:18:24 <olsner> ah, fingerprints/rcfunge98/trds.d seems to contain the meat of the time-travel extension
16:18:36 <ais523> olsner: yes, that's what I found
16:18:47 <Deewiant> ais523: in the readme of RC/funce-98
16:18:53 -!- tusho has joined.
16:18:59 <AnMaster> <ais523> it's because in DOS, Control-C doesn't work until the next I/O operation by the running program
16:18:59 <AnMaster> <ais523> so it makes it possible to break an infinite loop with Control-C if you do useless IO
16:19:32 <tusho> i hit enter first, probably
16:19:39 <tusho> as i said, networking is irrelevant
16:19:41 <ais523> AnMaster: another weird DOS problem is with NTVDM (Windows emulation of DOS)
16:19:46 <tusho> or in this case, my irc client being a retard
16:19:55 <ais523> where it slows down to a crawl after a while if you don't give a program any input
16:20:01 <tusho> ais523: that's odd
16:20:06 <ais523> you can see individual characters being printed on the screen one at a time
16:20:14 <AnMaster> 08:18:53 --- join: tusho (n=tusho@91.105.109.15) joined #esoteric
16:20:18 <Deewiant> ais523: http://web.archive.org/web/20020816190021/http://homer.span.ch/~spaw1088/funge.html for instance
16:20:19 <AnMaster> 08:18:59 <AnMaster> <ais523> it's because in DOS, Control-C doesn't work until the next I/O operation by the running program
16:20:19 <AnMaster> 08:18:59 <AnMaster> <ais523> so it makes it possible to break an infinite loop with Control-C if you do useless IO
16:20:19 <AnMaster> 08:19:14 <AnMaster> very interesting
16:20:20 <ais523> pressing control, though, or any other modifier key, puts it back to full speed again
16:20:23 <AnMaster> http://tunes.org/~nef/logs/esoteric/08.07.03
16:20:29 <tusho> AnMaster: do you have to do that every day? I think I've made the game pretty clear
16:20:34 <ais523> [16:18] <ais523> hi tusho [16:19] <tusho> hi ais523
16:20:38 <tusho> _network_ _and_ _client_ _lag_ _are_ _irrelevant_
16:20:40 <tusho> it's about reflexes
16:20:44 <ais523> tusho: well, I'm playing to different rules than you
16:20:47 <Deewiant> ais523: the other long TRDS comment is in the main function or thereabouts
16:21:00 <AnMaster> Deewiant, there is one in ip too
16:21:01 <tusho> ais523: in that case, I'll DDoS freenode before connecting
16:21:25 <Deewiant> TRDS is pervasive, you'll find bits of it everywhere :-P
16:21:27 <ais523> tusho: well, do your logs say when you sent the message?
16:21:27 <tusho> hah, AnMaster is doing TRDS
16:22:23 <tusho> ais523: one sec, finding the logs
16:22:32 <AnMaster> ais523, why is that slow down?
16:22:43 <ais523> probably the Windows scheduler being stupid
16:22:59 <AnMaster> ais523, does it only affect ntvdm?
16:23:06 <ais523> AnMaster: as far as I know
16:23:12 <tusho> uh, what's the date today ais523
16:23:22 <Deewiant> 2008-07-03 18:23:12 ( tusho) uh, what's the date today ais523
16:23:28 <ais523> tusho: thurs July 3 108
16:23:40 <ais523> that's in Unix years, of course
16:23:52 <Deewiant> unix years? wouldn't that be 38
16:24:00 <ais523> Deewiant: well, C measures from 1900
16:24:08 <ais523> and so does POSIX, I think
16:24:14 <ais523> even though 1970 is the epoch when counting in seconds
16:24:25 <tusho> my client isn't logging right now
16:24:28 <tusho> it's logging to the july 2 file
16:25:07 <ais523> AnMaster: tusho is, I suspect, in GMT+1 right now
16:25:12 <tusho> as is ais523 , yes
16:25:44 <AnMaster> ais523, how does UTC and GMT differ?
16:25:54 <ais523> AnMaster: the handling of leap seconds, I think
16:25:57 <ais523> otherwise they're identical
16:26:00 <tusho> but for all practical purposes
16:26:33 <tusho> ais523: <envelope><sender self="yes" hostmask="tusho@91.105.109.15">tusho</sender><message id="UREPLEDBTT1" received="2008-07-03 16:20:02 +0100">hi <span class="member">ais523</span></message></envelope>
16:26:42 <tusho> when did you send yours?
16:27:07 <ais523> tusho: that can't be right, your message arrived for me a little after 16:19
16:27:18 <tusho> ais523: yes, our clocks are different
16:27:20 <ais523> and I sent mine in the last few seconds of 16:18
16:27:22 <tusho> AnMaster: my clock is automatically sync'd
16:27:27 <tusho> it's ais523's that's wrong
16:28:06 <tusho> ais523: your clock is wrong, I believe
16:28:20 <ais523> tusho: I just checked, it's NTP'd
16:28:31 <tusho> ais523: so is mine, to time.euro.apple.com
16:28:47 <tusho> I am going to write the time as I see it when I start typing the next line:
16:28:56 <AnMaster> I use pool.ntp.org which is geodns iirc so it points to Swedish time servers
16:29:00 <olsner> darn it, TRDS has almost entirely satisfied my thirt for implementing time travel
16:29:16 <tusho> ais523: > Also, the HTML version of the Notary's report omits the AAA.
16:29:16 <tusho> Really? I'll have to look into how that happened.
16:29:17 <ais523> mine's synced to JANET
16:29:18 <tusho> i think your input has a bug
16:29:30 <AnMaster> ais523, what about pool.ntp.org?
16:29:33 <olsner> enough to make me not want to spend the time, but not enough to not bother me anymore
16:29:55 <AnMaster> olsner, what time? you won't spend it, you will gain it!
16:30:30 <AnMaster> ais523, what is janet's ntp server?
16:30:32 <ais523> AnMaster: I've added that one too
16:30:42 <ais523> just because you suggested it
16:30:53 <AnMaster> tell me the hostname for JANET?
16:31:09 <AnMaster> 3 Jul 17:31:05 ntpdate[13404]: can't find host ja.net
16:31:38 <AnMaster> 3 Jul 17:31:32 ntpdate[13412]: adjust time server 193.62.22.98 offset 0.002959 sec
16:32:11 <tusho> AnMaster: I don't think janet want you using their servers...
16:32:24 <AnMaster> tusho, I just checked their time server to see if it was off or not
16:32:32 <ais523> 3 Jul 16:32:17 ntpdate[12689]: adjust time server 130.226.232.145 offset 0.013661 sec
16:32:35 <tusho> well, apple's is highly likely to be correct :-)
16:32:41 <tusho> them being a big corp and it being default-sync'd for all macs
16:32:48 <AnMaster> 3 Jul 17:29:05 ntpdate[13376]: adjust time server 17.72.255.11 offset 0.002143 sec
16:33:07 <AnMaster> and my clock is synced to pool.ntp.org
16:33:21 <tusho> anyway, I'm fairly certain as for hitting-enter-time I won as I did it immediately after it joined
16:33:27 <tusho> vs typing hi t<tab>
16:33:36 <tusho> ais523 won and always will
16:34:27 <tusho> AnMaster: i don't care that much
16:34:38 <tusho> I guess you always start hacking on code that doesn't behave exactly as you want, too?
16:34:56 <ais523> tusho: maybe not always, but I did in the case of Nibbles
16:35:02 <ais523> and sent off the patches to Gnome
16:35:03 <AnMaster> I have fixed some issues in my irc client
16:35:07 <ais523> so this sort of thing is not unknown
16:35:12 <tusho> ais523: of course, but 'So fix it!' does not really work for software.
16:35:24 <AnMaster> and same I sent patches upstream to gentoo
16:35:41 <AnMaster> for valgrind errors in the q tool suite
16:35:59 <tusho> AnMaster: so YOU removed that MD_update call as an attempt to sabotage debian!
16:36:09 <AnMaster> tusho, I fixed it the right way
16:36:59 <AnMaster> which was to check return value of readlink()
16:37:09 <AnMaster> as it doesn't null-terminate the string
16:37:30 <ais523> AnMaster: s/string/array of characters/
16:37:41 <ais523> in C, it isn't a string if it isn't null-terminated
16:38:14 <AnMaster> ais523, well you could implement your own string
16:38:41 <AnMaster> that would be C99, but similar can be done otherwise too
16:38:45 <ais523> AnMaster: yes, but it wouldn't be a C string
16:39:05 <ais523> and yes, that works in practice but not in theory in C89 as long as you put something inside the square brackets
16:39:25 <AnMaster> ais523, you could put it as a pointer
16:39:34 <AnMaster> more or less same functionality
16:40:40 <AnMaster> or could probably be done with some macros
16:41:53 <AnMaster> (char*)(mysafestrpointer + sizeof(size_t))
16:42:16 <AnMaster> malloc would be painful though
16:47:13 <AnMaster> ais523, can you paste current ffungi stuff somewhere?
16:47:19 <AnMaster> I'm eager to see your fingerprint
16:47:24 <ais523> AnMaster: doing something else right now, but I will soon
16:53:49 <AnMaster> ais523, do you understand http://en.wikipedia.org/wiki/Image:INTERCAL_Circuitous_Diagram.svg
16:54:12 <tusho> it re-calculates the B/7 at each step, though
16:54:23 <ais523> note that the bit at the end is defined so vaguely it could mean anything
16:54:26 <ais523> also, there's an error in it
16:54:27 <tusho> and it could get a Mornington Crescent in 3
16:54:33 <ais523> one of the boxes has the wrong number of inputs
16:54:40 <AnMaster> tusho, hey that is another game
16:55:15 <ais523> AnMaster: I can't remember
16:55:19 <ais523> it wasn't me who found the error
16:55:27 <ais523> although it sparked a bit of discussion on Usenet a while back IIRC
16:55:37 <AnMaster> ais523, anyway what does it mean exactly?
16:55:50 <ais523> AnMaster: the select operator
16:55:54 <ais523> however, I think it's a joke
16:56:03 <AnMaster> ais523, can you tell me what the select operator does then
16:56:03 <ais523> because a circuit diagram for select wouldn't look like that
16:56:18 <tusho> ais523: also, it's captioned Bus Line 8 and has place names along the side...
16:56:33 <ais523> AnMaster: http://rafb.net/p/2BWylE78.html <--- IFFI so far
16:56:53 <ais523> AnMaster: OK, select's a binary operator (i.e. it has two operands)
16:57:03 <ais523> and it's bitwise, in that it operates on the binary representations of its operands
16:57:41 <ais523> suppose you write both operands in binary; then the least significant bit of the output is the bit of the left operand corresponding to the least significant set bit of the right operand
16:57:49 <ais523> same for the second-least, third-least, and so on
16:57:55 <ais523> that's a bit confusing, so an example will probably help
16:58:40 <ais523> basically, for 00101 ~ 00011
16:58:56 <ais523> yes, imagine a right-justified bitwise and
16:59:10 <ais523> so 00101 ~ 00110 is 00010
16:59:22 <AnMaster> oh btw: char * ick_iffi_befungeString <-- one issue. try to compile that with -Wwrite-strings
16:59:40 <AnMaster> because literal strings in C are really const char *
16:59:48 <ais523> it shouldn't be a problem because I only ever use it as const char *
16:59:53 <AnMaster> however char * is supported for compatiblity
17:00:01 <AnMaster> ais523, well it makes me feel ill :P
17:00:03 <ais523> AnMaster: yes, and I declare strings as char * for compatibility
17:00:45 <tusho> AnMaster: could you try and explain your philosophy to me? C is the most ugly, hackish, awkward, low-level language that twiddles bits ever, and yet you try and encapsulate it and have 'clean', well-guarded code
17:00:47 <AnMaster> ais523, there is no need to declare it like that for compatibility really (unless your function prototypes are wrong) however compilers need to support it for compatiblity
17:01:06 <ais523> AnMaster: lots of library functions take char * arguments
17:01:12 <tusho> AnMaster: no, i'm pretty sure C being a low-level, hacky bit-twiddling language is fact
17:01:14 <ais523> and so give warnings if you try to pass const char * to them
17:01:24 <ais523> even though they don't modify their argument
17:01:34 <ais523> AnMaster: in POSIX/C99 they fixed it, I think
17:01:37 <ais523> I'm not sure about C89, though
17:01:50 <ais523> it's definitely fixed for C++
17:01:54 <ais523> but C has a lot of inertia
17:02:18 <AnMaster> static void ick_InterpreterRun()
17:02:23 <AnMaster> static void ick_InterpreterRun(void)
17:02:42 <ais523> not that it makes any difference in this case
17:03:04 <Deewiant> does it actually matter for anything in practice
17:03:15 <AnMaster> Deewiant, if a header contains:
17:03:30 <AnMaster> then a compiler will accept passing anything to it
17:03:35 <Deewiant> I sometimes write K&R: it's much nicer to write void foo(x, y, z, w) const double x, y, z, w; than writing const double 4 times
17:03:36 <AnMaster> without giving a warning or error
17:03:38 <ais523> Deewiant: if you put void in the parens, a compiler will error if you try to pass the function arguments, if you leave it out, the compiler has to accept it but produces UB instead
17:03:52 <Deewiant> my question was does it matter in practice
17:03:59 <ais523> there's one point in C-INTERCAL where I deliberately leave the parens empty
17:04:01 <AnMaster> Deewiant, as for double, well you got the horrible "expanding" type issue then
17:04:03 <Deewiant> it protects from an error of accidentally passing an argument
17:04:07 <AnMaster> you can't pass a float that way
17:04:08 <ais523> after having been told to do so by comp.lang.c
17:04:17 <Deewiant> but does it actually generate different code or anything like that
17:04:18 <ais523> originally I had stuff there
17:04:24 <ais523> but it required ugly casts
17:04:33 <AnMaster> hm well I know one such case too
17:04:39 <ais523> (Situation: I needed to write a function which was capable of taking a pointer to itself as an argument)
17:04:49 <Deewiant> AnMaster: huh? the point was that K&R is sometimes more succint
17:04:52 <AnMaster> the best would be to use a union of different function pointers
17:05:07 <AnMaster> Deewiant, maybe, but I prefer ANSI C
17:05:20 <AnMaster> <ais523> (Situation: I needed to write a function which was capable of taking a pointer to itself as an argument) <-- ok, and?
17:05:21 <ais523> AnMaster: K&R is legal in ANSI C
17:05:21 <tusho> Ruby has an awful lot of K&R C code
17:05:29 <tusho> there are a few files entirely or almost entirely using K&R C
17:05:29 <ais523> AnMaster: try to figure out what type the function is
17:05:41 <Deewiant> ais523: GCC at least accepts it in C99 mode as well
17:05:51 <Deewiant> haven't checked the standard to see if that's correct but I suspect it is
17:05:51 <AnMaster> Deewiant, it is legal in C99 too yes
17:06:11 <AnMaster> however I find I prefer compiler to be able to check arguments
17:06:52 <ais523> anyway, the simple way to do that is to have an unprototyped function pointer, making the function void(*)(void(*)())
17:07:04 <AnMaster> more verified at compile time = less bugs at runtime
17:07:14 <ais523> you can call prototyped functions through them, apparently, as long as you aren't using types that autopromote
17:08:07 <ais523> AnMaster: I only had one sort of function pointer
17:08:12 <AnMaster> some ; and a lot more like names missing there
17:08:24 <ais523> but it's impossible to write
17:08:24 <ais523> void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void
17:08:24 <ais523> (*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(
17:08:27 <ais523> void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(
17:08:36 <tusho> ais523: awesome prototype
17:08:38 <ais523> so the infinite regress has to stop somewhere
17:08:51 <AnMaster> ais523, yes then it makes sense to have it empty
17:08:55 <tusho> taking the func ptr as (void *) ... wait, no, that's not valid
17:09:13 <tusho> (can't cast data ptr to func ptr)
17:09:27 <AnMaster> tusho, well you have to, see dlsym
17:09:30 <ais523> tusho: you can use void(*)() as a func ptr equivalent of void*
17:09:40 <ais523> because function pointers can be freely casted back and forth
17:09:43 <tusho> AnMaster: dlsym requires you to break the standard
17:10:08 <ais523> besides, I've personally worked on systems where functions and data were in different memory
17:10:17 <ais523> and function pointers and data pointers were different lengths
17:10:26 <ais523> thus making intercasting kind-of difficult
17:10:28 <AnMaster> ais523, they couldn't use shared libraries then?
17:10:42 <ais523> AnMaster: well, seeing as they only had a few KB of RAM, the situation never came up
17:13:11 <AnMaster> ais523, why is ick_iffi_resuming an int?
17:13:31 <ais523> I'm writing C89 there, more or less
17:13:31 <AnMaster> you are C99 anyway as you use uint32_t
17:13:35 <ais523> so there isn't a bool type
17:13:39 <ais523> and I know I use uint32_t
17:13:54 <ais523> but that's actually typedeffed in ick_ec.h if it doesn't exist already
17:14:11 <ais523> so it works for me even in C89
17:14:33 <ais523> besides, it's possible that some day I may want the rest of C-INTERCAL to look at those flags for some reason
17:14:43 <AnMaster> %url:http://example.com <-- well I hope you fix that at some point, in the funge-108 specs, some form of URIs will be used to load fingerprints
17:14:53 <ais523> AnMaster: I will fix that eventually
17:15:00 <ais523> but I don't have an URL for it yet
17:15:14 <AnMaster> anyway it is likely to change to java style
17:15:26 <AnMaster> because some issues I found with current
17:15:39 <AnMaster> ais523, I have to see how to solve it
17:15:46 <AnMaster> tusho, two fingerprints on one page
17:15:53 <AnMaster> that is why a straight url won't work
17:15:55 <tusho> AnMaster: that's not what a URI is
17:16:02 <tusho> a URI doesn't have to resolve
17:16:08 <tusho> a URI is just a universal locator
17:16:16 <tusho> http://mypage.com/befunge#myext1
17:16:17 <tusho> http://mypage.com/befunge#myext2
17:16:26 <tusho> so, keep them as just regular URIs
17:16:42 <AnMaster> tusho, there were no anchors on that page
17:16:56 <ais523> tusho: can you make a place on eso-std.org to act as somewhere to store databases required by esolangs
17:16:57 <AnMaster> also it is gone, should I do way back machine link or what?!
17:17:02 <ais523> such as for Funge-108 and for PSOX?
17:17:09 <tusho> ais523: funge-108 will be distributed...
17:17:11 <tusho> they'll just be uris...
17:17:25 <ais523> but somewhere where people can create pages to describe fingerprints
17:17:31 <tusho> ais523: uris don't have to _exist_
17:17:39 <AnMaster> ais523, well I assume they will use their own websites
17:17:42 <ais523> tusho: no, but it would be helpful if they did
17:17:46 <ais523> not everyone has their own website
17:17:51 <tusho> http://funge.eso-std.org/author/ext
17:18:04 <tusho> http://funge.eso-std.org/tusho/replace_cfunge_with_sane_interp
17:18:17 <AnMaster> anyway it could be: org.eso-std.funge.whatever
17:18:29 <ais523> tusho: anyway, I think it fits ESO's mission to attempt to document all the fingerprints even if they're documented elsewhere
17:18:31 <tusho> that's horrible and pointless
17:18:33 <tusho> and not a real URI :)
17:18:42 <tusho> so you can't use ftp:// or gopher://
17:18:52 -!- olsner has quit.
17:18:54 <AnMaster> gopher://inspircd.dyndns.org :D
17:18:57 <tusho> gopher:// would be fucking evil, though
17:19:13 <AnMaster> tusho, does eso-std have gopher?
17:19:31 <tusho> we only have 256mb of ram
17:19:32 <tusho> and apache is a hog
17:19:47 <tusho> i've told you why we don't use lighttpd, AnMaster
17:19:59 <AnMaster> ais523, why extern int in the source file
17:20:06 <AnMaster> ais523, it should be in a header file IMO, but ok
17:20:20 <ais523> AnMaster: which occurence of extern int?
17:20:26 <AnMaster> thought you used nested extern
17:21:55 <AnMaster> ais523, for FingerIFFIload() the first load stuff seems odd?
17:22:11 <AnMaster> oh wait I see what you do I think
17:22:12 <ais523> AnMaster: basically loading IFFI for the first time signifies the end of the initialisation
17:22:22 <ais523> reloading it in future has no effect because you aren't in initialisation
17:27:35 <tusho> ais523: "CFJ 2028 assigned to <s>root</s> ais523"
17:27:39 <tusho> er, move to ##nomic
17:28:10 <AnMaster> ais523, well IFFI looks quite nice
17:28:22 <ais523> yes, the fingerprint itself is sane
17:28:24 <tusho> AnMaster: it's not iffy enough then
17:28:28 <ais523> glue.c99 is the silly part
17:28:33 <AnMaster> ais523, well I don't fully agree with the brace style but heh
17:28:39 <ais523> after all, I'm even using magic internal identifiers in it
17:28:46 <AnMaster> I do separate for functions and same line for other stuff
17:28:56 <ais523> AnMaster: oh, I didn't realise, I'll try to fix taht
17:29:03 <ais523> also IFFI.h has the wrong copyright information, but I'll fix that too
17:29:11 <ais523> I forgot to credit me, and the GPL says I have to
17:31:18 <AnMaster> ais523, you should document each extern in the fingerprint header with doxygen to follow the style of cfunge ;P
17:31:36 <ais523> AnMaster: maybe, but half of them don't make sense outside the concept of IFFI
17:31:48 <AnMaster> well true, but I don't understand half of them either
17:31:49 <ais523> as they're all flags to communicate with the main loop
17:32:24 <AnMaster> ais523, what the heck is ick_iffi_sucking?
17:32:37 <ais523> AnMaster: checking for suckpoints
17:32:51 <ais523> AnMaster: COME FROMs and NEXT FROMs
17:33:01 <ais523> referred to as suckpoints because they can suck in control from elsewhere in the code
17:33:36 <AnMaster> ais523, also why mixed spaces and tabs in the main file?
17:33:55 <AnMaster> the mix doesn't seem sane to me, sure I accept you use your own coding style
17:34:04 <ais523> AnMaster: it's the usual way to indent that most people use, 2 spaces = 1 indent, 1 tab = 4 indents
17:34:14 <ais523> basically lots of spaces at the start of a line are turned into tabs by most editors
17:34:28 <AnMaster> well... mixed is the worst variant IMO
17:34:47 <AnMaster> -*- mode: C; coding: utf-8; tab-width: 2; indent-tabs-mode: t; c-basic-offset: 2 -*-
17:34:54 <AnMaster> ais523, that should work for your style?
17:35:17 <ais523> AnMaster: not really, because I always have tab-width set to 8 so I can read everyone else's files
17:35:26 <tusho> ais523: mixed spaces and tabs make me want to kill people
17:35:29 <ais523> as it upsets you, I might set it to spaces only
17:35:30 <tusho> stupid fucking emacs defaults
17:35:41 <tusho> ais523: SELL TICKET
17:35:45 <AnMaster> ais523, well I'm happy with spaces only
17:35:48 <tusho> Action: switch to tabs only
17:35:53 <tusho> (i think that's a sell ticket)
17:36:01 <ais523> tusho: yes, it would be, but wrong channel
17:36:07 <tusho> ais523: no, note the action
17:36:18 <ais523> tusho: it could be either
17:36:21 <ais523> depending on who filed the ticket
17:36:27 <tusho> ais523: I will pay you 5VP to switch to tabs only
17:36:36 <ais523> then it's a Buy ticket with me as target
17:36:47 <AnMaster> ais523, where is the middot? can't find it
17:37:06 <ais523> but there isn't one in the code at the moment
17:37:10 <AnMaster> ais523, I mean in your ick_iffi_befungeString
17:37:19 <ais523> because that would be handled by a bit of ick I haven't written yet
17:37:33 <ais523> what you see there is after that bit's been done
17:37:41 <ais523> although I got it wrong and will need to fix that
17:38:02 <AnMaster> ais523, any cfunge questions btw?
17:38:32 <ais523> AnMaster: for a while I was thinking that an easy way to duplicate IPs would have been helpful, but after a while I realised it wouldn't be and in fact if it was there I wouldn't be using it
17:38:33 <AnMaster> ais523, oh also you can remove the line "// TODO: Add code to template functions" from your fingerprint as you have done it
17:39:02 <AnMaster> ais523, there is an easy way if you compile with concurrency, so you could resuse that code I guess
17:39:10 <ais523> AnMaster: yes, I noticed
17:39:13 <ais523> but I don't need that any more
17:41:02 <AnMaster> your fingerprint isn't safe? interesting, well I guess that is correct as you can't sandbox intercal?
17:41:21 <ais523> AnMaster: INTERCAL's safe atm, but it's possible to link to C via that FFI too
17:41:24 <ais523> and that can't be sandboxed
17:41:35 <AnMaster> ais523, well it can technically
17:41:58 <ais523> besides CLC-INTERCAL has file I/O so I may end up implementing that at some point
17:42:07 <AnMaster> ais523, LD_PRELOAD trick maybe
17:42:08 <ais523> 0-bit variables and all
17:42:25 <ais523> AnMaster: even then, the C could have inline asm and make syscalls directly
17:42:35 <ais523> AnMaster: they have no value, but can have metadata
17:42:42 <ais523> variables tend to gather a lot of metadata in CLC-INTERCAL
17:42:56 <ais523> sort of like a 0-length file can have a filename
17:42:59 <ais523> which holds information
17:43:34 <AnMaster> oh and attributes if the file system supports it
17:43:47 -!- cherez1 has joined.
17:44:30 -!- Sgeo has joined.
17:48:49 -!- cherez1 has left (?).
17:50:46 -!- timotiis has joined.
17:54:07 -!- cherez1 has joined.
17:57:23 <AnMaster> "SVG does not support specifying an image background color"
17:57:55 <ais523> presumably you just have to draw a large filled rectangle, then, and put everything on top of it
18:00:55 -!- cherez1 has changed nick to cherez.
18:12:36 -!- Dewi has quit ("leaving").
18:12:52 -!- Dewi has joined.
18:19:57 <pikhq> RodgerTheGreat: "functions leave a 'return value' by storing a pointer to their result in the memory location the main pointer was at when the function was called."
18:20:07 <pikhq> How would that work with the C calling interface?
18:20:41 <pikhq> (either the return value or the pointer to the return value is in eax, IIRC)
18:21:18 <RodgerTheGreat> so far all the examples we've worked with do great with just pass-by-reference for everything
18:21:33 <RodgerTheGreat> hm. although I imagine it would impair using some existing C libs
18:22:22 <pikhq> Just make the Brainfuck calling interface store the return value in eax, and then the calling function does 'mov eax, pointer'.
18:23:37 <RodgerTheGreat> do we want a sort of dual nature to functions, so they can return a pointer or a value?
18:24:08 <RodgerTheGreat> the method you described ought to work for either, the coder just has to remember which is which
18:24:32 <RodgerTheGreat> and it might call for having two different kinds of return statements
18:24:56 <pikhq> Doesn't make sense to have two different kinds of return statements.
18:25:08 <pikhq> The coder just needs to know if the value in question is a pointer or a value.
18:25:20 <AnMaster> RodgerTheGreat, that totally breaks amd64 calling convention
18:25:29 <tusho> AnMaster: it's his own cpu
18:25:35 <pikhq> AnMaster: we're discussing an x86-specific calling convention.
18:25:37 <ais523> but the PPC doesn't have an eax I don't think
18:25:56 <AnMaster> but the result will be portable I assume?
18:26:00 <pikhq> In fact, trying to make Def-BF's calling convention compatible with the standard C calling convention.
18:26:10 <pikhq> We're compiling to assembly, for crisssake.
18:26:24 <pikhq> http://www.nonlogic.org/dump/text/1215028173.html
18:26:35 <pikhq> What about that reads 'portable code' to you? :p
18:27:06 <AnMaster> RodgerTheGreat, will it be portable to other platforms than x86 or not?
18:27:12 <RodgerTheGreat> we also have this example of high-level code, which oklopol pointed out some issues with: http://www.nonlogic.org/dump/text/1215053310.html
18:27:34 <pikhq> Sure, but the actual *code* will probably be only as portable as C code doing the same thing.
18:28:23 <ais523> I haven't started work on it yet today
18:28:32 <ais523> but as you've seen, it went quite a way while I wasn't online
18:28:48 <pikhq> I, personally, plan to use Def-BF to write the holy grail of esolang coding.
18:28:49 <AnMaster> ais523, maybe that was the cause of it getting that far? ;P
18:29:08 <tusho> Brainfuck OS isn't very unique.
18:29:15 <tusho> BF is a pretty typical low-level lang.
18:29:19 <tusho> Things like Underload are interesting for OS
18:29:40 <AnMaster> ais523, could you make it possible to write an OS in intercal?
18:29:43 <pikhq> tusho: BF doesn't actually suffice for writing an OS, though.
18:29:49 <ais523> AnMaster: what I have to do next is to figure out the other place I have to use ick_l1_ICK_EC_PP_1
18:29:50 <AnMaster> well I guess it would be using the ec stuff
18:29:57 <ais523> and those magic identifiers are a pain to think about
18:30:02 <pikhq> And I don't think anyone has really done it.
18:30:17 <ais523> basically it's the internals of the external calls code
18:30:23 <ais523> it gets replaced by a goto label
18:30:25 <pikhq> The closest someone's gotten involves a very low-level Brainfuck interpreter.
18:30:34 <ais523> and each occurence of it can get replaced by a different goto label
18:30:42 <ais523> ick is responsible for pointing them all at the right target
18:30:49 <AnMaster> ais523, you mean you need to code intercal side?
18:31:05 <ais523> AnMaster: no, the remaining stuff is on the glue.c99 side
18:31:15 <ais523> where I have to use magic identifiers to hook into the NEXT targetting code
18:31:55 <AnMaster> RodgerTheGreat, is there any implementation?
18:32:12 <pikhq> No; I plan to write one this weekend.
18:32:22 <pikhq> Should be *ridiculously* simple to compile to assembly.
18:32:23 <RodgerTheGreat> I wrote the original spec, and the two of us are refining it
18:32:49 <AnMaster> RodgerTheGreat, they are coded in the language itself I assume?
18:33:01 <pikhq> Sure, but they don't need to be.
18:33:25 <pikhq> Def-BF on Linux should, in theory, be able to use libc.
18:33:36 <AnMaster> pikhq, well if you will write an OS in it you need raw access to stuff like interrupts
18:33:44 <RodgerTheGreat> and we already have some weak capabilities for doing inline assembly
18:33:52 <AnMaster> you will need inline asm as far as I can see
18:34:05 <pikhq> C doesn't need to be able to do that; it can call external asm functions. ;)
18:34:24 <pikhq> And Def-BF can do likewise.
18:34:30 <RodgerTheGreat> C wrappers are a much cleaner way to do the assembly, but it's still possible without them
18:34:58 <AnMaster> RodgerTheGreat, what about a C -> Def-BF compiler?
18:35:00 <RodgerTheGreat> Def-BF's support is more like "inline machinecode" than inline assembly, really
18:35:16 <RodgerTheGreat> AnMaster: I don't think that'd be terribly easy, but it should be possible
18:35:27 <pikhq> C -> Def-BF would look something like Gregor's CBF.
18:35:33 <AnMaster> RodgerTheGreat, then you could compile linux to it?
18:35:38 <AnMaster> and then compile linux to native
18:35:56 <AnMaster> linux pretty much depends on gcc though
18:36:28 <RodgerTheGreat> I doubt enough of linux is written in portable ANSI-C to count on being able to convert it
18:36:36 <pikhq> I'd be more likely to write a Def-BF backend for GCC.
18:36:52 <RodgerTheGreat> and it'd probably run like molasses without proper optimization
18:37:24 <tusho> RodgerTheGreat: if jsmips can run at acceptable speed...
18:42:27 -!- 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"").
18:43:31 <tusho> RodgerTheGreat: jsmips is totally unoptimised
18:43:55 <RodgerTheGreat> there's a difference between running a shell and running the linux kernel, dude.
18:44:08 <tusho> RodgerTheGreat: Nonsense
18:46:02 <pikhq> And there's a huge difference when the Linux kernel is running a shell. ;)
18:46:25 <AnMaster> I got a question: is "real" in D a double or a float?
18:46:47 <Deewiant> or I guess that's the closest equivalent in C, anyway
18:46:51 <AnMaster> Deewiant, well that is x86 specific iirc?
18:47:04 <Deewiant> it's the biggest natively supported floating point type
18:47:05 <Sgeo> iiuc, Def-BF solves the problem that's been bugging me that motivated me to start PSOX
18:47:18 <Deewiant> largest hardware implemented floating point size (Implementation Note: 80 bits for Intel CPUs)
18:47:51 <AnMaster> Deewiant, for x86_64 it would be a double as x86_64 use SSE instead of the "so called legacy" x87
18:48:19 <Deewiant> AnMaster: surely x86-64 supports x87 as well
18:48:25 <Deewiant> but in any case, I don't really care
18:48:27 <AnMaster> Deewiant, it does, but it is marked as legacy
18:48:33 <Deewiant> if you do, run GDC on something and see what comes out
18:48:41 <Sgeo> The reason I started PSOX is because I noticed that "A BF program can do anything another computer program can do" was incorrect
18:48:48 <AnMaster> Deewiant, anyway that isn't the issue here
18:48:51 <tusho> Sgeo: Stunning observation there.
18:48:52 <pikhq> AnMaster: I'd suspect that on SSE-supporting CPUs, GDC and DMD make real SSE-sized.
18:49:07 <AnMaster> Deewiant, can you build ccbi will full debug info?
18:49:22 <pikhq> Sgeo: With Def-BF implemented, that will be true.
18:49:27 <Deewiant> DMD doesn't generate code for MMX or SSE etc. extensions
18:49:27 <AnMaster> I want to figure out something I don't get
18:49:55 <pikhq> Deewiant: Apparently, DMD sucks.
18:49:57 <Deewiant> it'd be a fair bit of trouble for me to build a linux binary now so I'd rather not bother
18:50:02 <AnMaster> Deewiant, I want to trace your and mine TURT to see why mine get margins/scale all fucked up (your get the other stuff fucked up)
18:50:04 <RodgerTheGreat> if nothing else, Def-BF gives BF programmers the ability to modularize and re-use code. When that's combined with interfacing to C, you have a tremendous amount of power, and it becomes quite feasible for systems programming (by esolang standards, anyway)
18:50:11 <AnMaster> Deewiant, and that part of the code shouldn't differ
18:50:19 <AnMaster> and I can't figure out from my code
18:50:19 <pikhq> RodgerTheGreat: It becomes quite feasible by any standards.
18:50:47 <AnMaster> Deewiant, I have and well the logic seems correct but why does it come up at different answer than your?
18:50:57 <RodgerTheGreat> it's a little more obscure than most high-level languages, but pikhq is right- it's astonishingly readable and clear
18:50:59 <Deewiant> well that's what printf is for :-P
18:51:12 <Sgeo> Link to Def-BF?
18:51:15 <pikhq> The big things you need for systems programming is being able to run without an interpreter, the ability to write directly to memory, and the ability to call arbitrary assembly.
18:51:19 <pikhq> http://www.nonlogic.org/dump/text/1215028173.html
18:51:34 <AnMaster> Deewiant, I tried it, and I really want to trace your code, to check whenever the in memory path differ or if it is just the printing stuff that is broken
18:51:51 <RodgerTheGreat> and once again, the example program: http://www.nonlogic.org/dump/text/1215106118.html
18:52:07 <AnMaster> Deewiant, so please make a debug build -O0 -ggdb3 style (well I don't know what your compiler call it)
18:52:20 <pikhq> Just being able to have functions makes the whole thing much, much easier to write in.
18:52:24 <AnMaster> Deewiant, if gdb doesn't work on dmd binaries? maybe gdc?
18:52:40 <pikhq> (kinda like having macros makes PEBBLE much easier to write in than straight Brainfuck)
18:53:10 <AnMaster> pikhq, how does unbalanced [] work?
18:53:19 <AnMaster> does it keep track of where it was?
18:53:24 <Deewiant> AnMaster: try iki.fi/deewiant/ccbi
18:53:37 <Deewiant> no idea what version of the source that is but at least it built :-P
18:53:42 <tusho> AnMaster: dude, do it yourself
18:53:42 <pikhq> in my mind? Unbalanced [] works just the same as it does in Brainfuck.
18:53:45 <RodgerTheGreat> I basically tried to design a minimal extension to BF that made it possible to cleanly provide functions and other abstractions (code reuse, for example), and the side effect of that is that interfacing with other languages starts to become possible
18:53:46 <pikhq> Namely: it doesn't.
18:53:54 <tusho> saying "Hey, you, recompile" isn't very nice
18:54:02 <RodgerTheGreat> AnMaster: you can effectively make GOSUB/RETURN calls now
18:54:19 <Deewiant> I wouldn't have done it but it turns out the machine I'm running irssi on has a copy of the source in a buildable state
18:54:24 <Deewiant> so it wasn't as much work as I thought
18:55:33 <pikhq> RodgerTheGreat: You know, it might be nice to be able to do both pass by value and pass by reference.
18:55:37 <AnMaster> Single stepping until exit from function main,
18:55:38 <AnMaster> which has no line number information.
18:56:12 <Deewiant> maybe I should actually build the object files too and not just link with -g :-P
18:56:14 <pikhq> It'd make calling out to C easier.
18:56:37 <pikhq> printf("%i", foo); wouldn't need a wrapper.
18:57:01 <AnMaster> Deewiant, still no line number info
18:57:11 <pikhq> (as it is, doing var: formatstring "%i", followed by printf[formatstring, foo] would print the pointer to foo)
18:58:00 <pikhq> RodgerTheGreat: I propose just using a $ to indicate that you're passing a value, not a pointer, to the function. . .
18:58:14 <pikhq> So, one could do printf[formatstring, $foo], and voila.
18:58:23 <tusho> pikhq: Why can't you just make it implicit like how C does it?
18:58:30 <pikhq> (or, if you insist on making it C-esque, make that & instead of $)
18:58:48 <tusho> pikhq: That would be better.
18:58:58 <pikhq> tusho: In C, one needs to do & to pass by reference. ;)
18:59:04 <tusho> pikhq: Sounds good to me.
18:59:12 <tusho> I don't like things messing wit mah variblz.
18:59:15 <Deewiant> AnMaster: that one's is the best I can do: "add symbolic debug info, pretend to be C"
18:59:28 <AnMaster> Deewiant, yay it works kind of
18:59:34 <pikhq> Hrm. Now that makes me want to add string literals. :p
18:59:48 <pikhq> But, that's not going to be that easy to add to the language, and it honestly isn't needed.
19:00:20 <tusho> pikhq: But it'd be really convenient
19:00:33 <pikhq> I'm willing to do without.
19:00:52 <pikhq> Much, much easier to implement, after all. ;)
19:00:56 <tusho> pikhq: It'll bite you...
19:01:01 <tusho> It won't be fun :P
19:01:16 <pikhq> It'll be no worse than coding in assembly.
19:01:23 <AnMaster> _D4ccbi12fingerprints8cats_eye4turt12printDrawingFZv
19:01:34 <Deewiant> D has a module system, unlike C. :-P
19:01:36 <tusho> AnMaster: Eagerly awaiting your suggestions on how else to compile an OO languge.
19:01:52 <tusho> pikhq: Assembly has string literals.
19:02:02 <AnMaster> tusho, storing it as meta data in some other way?
19:02:05 <tusho> And what about when you've wrote the base and you're writing some slightly higher stuff?
19:02:11 <tusho> AnMaster: But you need _multiple things_ with the _same name_.
19:02:19 <tusho> AnMaster: And it has to be _fast_ - no performance penalty.
19:02:30 <pikhq> No it doesn't. foo: .asciiz "String here.\n" doesn't count in my mind.
19:02:36 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
19:02:43 <tusho> When you're writing slightly higher-level stuff...
19:02:44 -!- Slereah_ has joined.
19:02:45 <pikhq> And that much, Def-BF supports.
19:03:46 <AnMaster> Deewiant, any idea how to access the pic static variable?
19:04:05 <AnMaster> 183 if (turt.movedWithoutDraw && turt.penDown)
19:04:07 <AnMaster> No symbol "turt" in current context.
19:04:37 <Deewiant> print _D4ccbi12fingerprints8cats_eye4turt4turt <the mangled type>
19:04:53 <AnMaster> (gdb) print _D4ccbi12fingerprints8cats_eye4turt4turtS4ccbi12fingerprints8cats_eye4turt6Turtle
19:05:33 <AnMaster> Deewiant, it is the pic variable I want though
19:05:57 <AnMaster> (gdb) print _D4ccbi12fingerprints8cats_eye4turt3picS4ccbi12fingerprints8cats_eye4turt7Drawing
19:06:24 <tusho> AnMaster: It's not C
19:06:36 <AnMaster> tusho, how do I get data from that variable then?
19:06:50 <tusho> AnMaster: Manually look at the memory.
19:07:04 <AnMaster> tusho, well I don't know what internal structure it use
19:07:06 <Deewiant> you might want to look at http://www.dsource.org/projects/gdb-patches
19:07:29 <Deewiant> or use http://www.zero-bugs.com/ instead
19:07:30 <tusho> AnMaster: you're using a C debugger on a non-C prorgam
19:07:34 <tusho> it doesn't wurk!!1
19:07:50 <Deewiant> can't you get a list of variables in scope or something
19:07:59 <AnMaster> tusho, gdb works for C++ so well it was a faulty but reasonable assumption
19:08:09 <Deewiant> ah, but I guess you did anyway
19:08:10 <tusho> AnMaster: c++'s object layout is esoteric, I believe
19:08:24 <Deewiant> C++'s object layout is impl-defined
19:08:41 <Deewiant> http://www.digitalmars.com/d/1.0/abi.html
19:09:05 <tusho> AnMaster: print *dot
19:09:22 <AnMaster> Attempt to dereference a generic pointer.
19:10:05 <Deewiant> so you see more data at once :-P
19:10:16 <AnMaster> Deewiant, still doesn't make sense
19:11:07 <tusho> who's in the mood of being really generous and giving me a domain
19:11:25 <AnMaster> Deewiant, it doesn't match what should be there logically, so I guess metadata
19:11:29 <AnMaster> Error accessing memory address 0x1: Input/output error.
19:11:38 <Deewiant> what should be where logically
19:11:50 <AnMaster> Program received signal SIGSEGV, Segmentation fault.
19:11:51 <AnMaster> 0x080936ef in _D9invariant12_d_invariantFC6ObjectZv ()
19:12:13 <Deewiant> your debugger doesn't support the language being debugged
19:12:14 <AnMaster> Deewiant, what D debugger is there then?
19:12:22 <Deewiant> 2008-07-03 21:07:06 ( Deewiant) you might want to look at http://www.dsource.org/projects/gdb-patches
19:12:25 <Deewiant> 2008-07-03 21:07:29 ( Deewiant) or use http://www.zero-bugs.com/ instead
19:12:38 <AnMaster> Deewiant, that means compiling gdb again which I know is hard
19:12:39 <Deewiant> for windows there's ddbg which is really great
19:13:18 <AnMaster> oh cost money, well gdb patches it is then
19:13:34 <Deewiant> which I suppose you can violate
19:13:45 <AnMaster> Deewiant, what exactly does that do?
19:14:01 <tusho> AnMaster: just use the 15 day trial :-P
19:14:08 <tusho> put your ideology aside for tools which actually work//
19:14:25 <Deewiant> you can look up C# formatting, probably has the best docs on the subject
19:14:35 <Deewiant> unless tango has improved in this area lately
19:15:20 <Deewiant> evidently the API still only offers "
19:15:20 <Deewiant> evidently the API still only offers "The format notation is influenced by that used by the .NET and ICU frameworks, rather than C-style printf or D-style writef notation.
19:15:29 <pikhq> AnMaster: Compiling GDB is hard?!?
19:15:42 <pikhq> What's so hard about ./configure&&make&&make install?
19:16:10 <pikhq> Prefix all those commands with linux32, and you're set.
19:16:16 <Deewiant> http://www.dsource.org/projects/tango/wiki/ChapterConversions#Layoutsformatstring
19:16:21 <pikhq> Or just do linux32 bash, and then compile it.
19:16:26 <AnMaster> Deewiant, is your getDec correct?
19:16:48 <AnMaster> int getInt(tc c) { return (c < 0 ? -c : c) / 1000; }
19:16:49 <AnMaster> uint getDec(tc c) { return abs(cast(int)c) % 1000; }
19:17:22 <AnMaster> Deewiant, well that explains some part
19:17:51 <Deewiant> I was thinking about the padding but no
19:18:13 <AnMaster> well that explains *one* part of my problem
19:18:31 <AnMaster> Deewiant, also you use a turt.min but no turt.max?
19:18:53 <AnMaster> I must have misunderstood it's meaning if there should only be the turt.min
19:19:14 <Deewiant> it looks like Turtle only contains a min
19:19:21 <AnMaster> Deewiant, yes and I wonder why
19:20:37 <pikhq> RodgerTheGreat: I don't think the import: feature is strictly needed.
19:20:51 <pikhq> I'm imagining this thing just calling out to the linker, you see. . .
19:21:36 <pikhq> And it's not like you really have prototypes in Def-BF. . .
19:21:41 <AnMaster> Deewiant, look at lines 299-307 in turt.d
19:22:02 <Deewiant> or wait, where does min come from
19:22:12 <AnMaster> Deewiant, min is set in newDraw()
19:22:15 <Deewiant> whenever something is drawn, yes
19:22:20 <Deewiant> so it really is the minimum point
19:22:37 <AnMaster> Deewiant, you can have negative coordinates after all
19:22:56 <AnMaster> should min be smallest not largest?
19:24:21 <AnMaster> I can draw something non-symetrical
19:24:26 <Deewiant> so that we center in the middle
19:25:22 <Deewiant> that comes out to (-20,-20) and (40,40), hmm
19:27:00 <Deewiant> needs a partial or complete rewrite
19:27:09 <Deewiant> which I'll try and do on the weekend
19:29:04 <Deewiant> but yeah, min = -max doesn't work because as you said if somebody draws only from 0 to -20 then the image should be (-20,-20) to (0,0) not (-20,-20) (20,20), the centre is wrong
19:29:15 <Deewiant> and I can't see what the * 2 is about
19:34:12 <AnMaster> so you need 2xmargins for width and such
19:34:18 <Deewiant> I thought it was minx, miny, maxx, maxy
19:34:26 <AnMaster> Deewiant, anyway your margins were still messed up
19:34:35 <Deewiant> and yeah, like said above it's not smart
19:34:52 <AnMaster> Deewiant, I do it with min/max now
19:35:24 <AnMaster> Deewiant, try this: http://rafb.net/p/OFwhCX47.html
19:35:32 <AnMaster> unlike some of ccbi's it won't crash your browser
19:35:49 <AnMaster> (well rather ccbi locked up both firefox and konqueror)
19:35:59 <Deewiant> so how does yours do on the quine now
19:36:41 <AnMaster> there are still some other issues to fix
19:38:22 <Deewiant> stroke-width:0.00005px; --> I can't see any of what those paths draw as my monitor only supports 1-pixel pixels :-P
19:38:35 <tusho> Deewiant: hahahahahahah
19:38:45 <tusho> dude we've all moved onto fractional pixels
19:38:52 <tusho> (what about my behind?)
19:39:14 <AnMaster> Deewiant, it is to prevent filling and such
19:39:26 <Deewiant> fill:none;fill-opacity:0.75;fill-rule:evenodd;
19:39:29 <AnMaster> Deewiant, ccbi's path are filled by default
19:39:36 <Deewiant> it seems to me that the latter two are pointless
19:39:36 <AnMaster> Deewiant, that was copied from inkscape
19:39:51 <Deewiant> don't copy from inkscape, read the standard
19:40:05 <AnMaster> Deewiant, well that didn't do you any good
19:40:22 <AnMaster> Deewiant, I can get ccbi to generate invalid xml
19:40:24 <Deewiant> it doesn't do me any good any more, though
19:40:39 <Deewiant> since I can't remember what I read and what I read of course influenced the code :-)
19:41:05 <tusho> Deewiant: surely you used a proper xml production library
19:41:41 <tusho> AnMaster: do NOT produce xml that way
19:41:53 <tusho> just truthfully, honestly, don't
19:41:59 <AnMaster> Deewiant, http://rafb.net/p/uavl3h33.html
19:42:26 <Deewiant> tusho: if you're doing something that simple you can
19:42:34 <tusho> Deewiant: genx is trivial
19:42:39 <tusho> AnMaster: because you ARE getting it wrong
19:42:42 <tusho> it's not even conditional
19:42:53 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
19:42:58 <tusho> AnMaster: no, but it is almost certainly trivial to make it produce an invalid file
19:43:03 -!- Slereah_ has joined.
19:43:05 <tusho> AnMaster: no, but it is almost certainly trivial to make it produce an invalid file
19:43:18 <AnMaster> tusho, yes maybe for <path>, that needs more debugging
19:43:31 <tusho> AnMaster: http://www.tbray.org/ongoing/genx/docs/Guide.html
19:43:32 <AnMaster> however <circle> is written atomically
19:43:38 <Deewiant> if you can make it produce an invalid file, chances are that if you were using an XML library you can make it produce a valid file with incorrect contents
19:43:48 <Deewiant> so an invalid file may even be better
19:43:49 <tusho> AnMaster: i believe so
19:43:56 <tusho> http://www.tbray.org/ongoing/genx/
19:44:08 <tusho> one lib and one auxillary lib that it uses
19:44:19 <tusho> and quite a lot of software uses it
19:44:27 <tusho> AnMaster: http://www.tbray.org/ongoing/genx/COPYING
19:44:29 <AnMaster> so I can just drop the source file into cfunge
19:44:35 <AnMaster> I'm NOT going to depend on it being installed
19:44:39 <Deewiant> tusho: and I suppose if you don't call genxEndDocument() then it can catch the error and complain loudly?
19:44:53 <tusho> Deewiant: if you don't call endDocument it won't output anything
19:45:12 <Deewiant> so it buffers everything in-memory until the whole thing is done?
19:45:14 <AnMaster> tusho, is it debugged with valgrind?
19:45:17 <Deewiant> AnMaster's going to love this ;-)
19:45:19 <AnMaster> Deewiant, yes that seems horrible
19:45:27 <tusho> that's what every DOM lib does
19:45:30 <tusho> your browser does it, for instance
19:45:42 <tusho> and I imagine it'll work fine with valgrind, AnMaster
19:45:47 <Deewiant> so, we do not want a DOM lib. :-)
19:46:01 <tusho> i'm not sure if it stores it in memory
19:46:04 <tusho> still, just use it
19:46:09 <tusho> it's trivial, fast, and memory-efficient
19:46:11 <tusho> and tons of stuff uses it
19:46:19 <tusho> and Tim Bray made it, I'm pretty sure he knows xml pretty well
19:46:23 <AnMaster> tusho, it is not even in portage or freebsd ports
19:46:34 <tusho> AnMaster: because you should just drop it in to your app
19:46:54 <AnMaster> <tusho> AnMaster: http://www.tbray.org/ongoing/genx/COPYING <-- is that GPL compatible or not?
19:47:01 <tusho> AnMaster: it's the MIT license
19:47:23 <tusho> it was explicitly designed so you could just drop a few files into your app and use it, AnMaster
19:47:27 <AnMaster> "Writing XML or <!DOCTYPE> declarations. Of course, you could squeeze these into the output stream yourself before any Genx calls that generate output."
19:47:29 <tusho> thus the license & 3-fileness, etc
19:47:33 <AnMaster> well I guess I have to do that then
19:47:40 <tusho> AnMaster: well yes, that's just:
19:47:46 <tusho> <?xml version="1.0" encoding="UTF-8"?>
19:47:48 <AnMaster> tusho, BUT CAN I BE TRUSTED WITH THAT!?
19:47:53 <tusho> AnMaster: yes. yes you can.
19:48:02 <tusho> it's when variable data comes in that the problem arouses
19:48:20 <AnMaster> tusho, so can I print fixed point numbers with it?
19:48:27 <AnMaster> I don't feel like creating buffers for them
19:48:34 <tusho> AnMaster: i haven't used genx that extensively.
19:48:41 <tusho> but I have seen many uses of it
19:49:00 <AnMaster> viewbox=\"%s%d.%04u %s%d.%04u %s%d.%04u %s%d.%04u\"
19:51:18 -!- pikhq has left (?).
20:01:14 <AnMaster> I will be away to Norway for parts of next week
20:12:24 -!- RedDak has joined.
20:26:11 <tusho> the place he was at closed
20:26:43 <lament> how would you store the notes for a homophonic tune?
20:26:51 <AnMaster> tusho, I thought it was open until midnight?
20:26:57 <tusho> not that place, evidently
20:27:10 <oklopol> lament: a list of (len,pitch) tuples?
20:27:11 <tusho> lament: homophonic? sounds suited to #esoteric
20:27:48 <AnMaster> I would store normal tunes as (len,pitch,data for how hard the string was hit)
20:28:07 <lament> what if there's a pause
20:28:27 <lament> and it makes it difficult to calculate the absolute position of notes
20:28:31 <AnMaster> time,len,pitch,data for how the instrument was played)
20:28:40 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
20:28:49 <AnMaster> lament, I would simply use midi
20:28:54 -!- Slereah_ has joined.
20:28:56 <AnMaster> instead of reinventing the wheel
20:29:04 <AnMaster> lament, doesn't that seem saner?
20:29:18 <lament> isn't midi overcomplicated and a bitch to parse
20:29:42 <tusho> are there good midi libs?
20:29:45 <tusho> if not I might write one in C
20:29:48 <tusho> and bind it to stuff
20:29:48 <lament> thankfully midi doesn't do what i need, anyway
20:30:04 <AnMaster> tusho, I never tried to use midi that way
20:30:07 <lament> AnMaster: it doesn't store anything about ties, slurs, stem direction, etc.
20:30:36 <tusho> xml might actually be sane for this...
20:30:49 <lament> i'm not asking how to serialize stuff
20:30:56 <lament> i'm asking how to represent it
20:31:02 <tusho> lament: a C structure?
20:31:05 <lament> serialization isn't important
20:31:39 <AnMaster> lament, well you need absolute point in time of note,length + data for how hard the person hit the key on he piano or whatever
20:32:18 <AnMaster> just notes? then store it as (type of entry,position in current clef,other data)
20:33:39 -!- Deformalite has joined.
20:36:18 <AnMaster> Deformalite, running out of memory?
20:37:16 <AnMaster> Deformalite, well with ackermann's function that is easy to do
20:37:20 <Deformalite> But I do sortof wish I would have compiled to some sort of intermediate code instead of interpreting.
20:37:59 <AnMaster> Deformalite, well compile it to C
20:40:44 <Deformalite> It would be much easier to compile to assembly.
20:42:48 -!- pikhq has joined.
20:43:58 <AnMaster> Deformalite, I'm not on x86 so I hate x86 asm
20:44:29 -!- sebbu2 has joined.
20:44:32 <AnMaster> Deformalite, well x86_64 here mostly
20:44:46 <pikhq> AnMaster: Even on x86, most people hate x86 assembly.
20:45:03 <pikhq> My opinion is "It gets the job *done*, sure, but it's fairly kludgy."
20:45:15 <tusho> My opinion is "KITTENS"
20:45:27 <pikhq> tusho: Good opinion, if you like lolcats.
20:45:37 <tusho> With the quotes and uppercase.
20:46:39 * pikhq huggles self-modifying code, as well
20:47:15 <Deformalite> Self modifying code is terribly interesting, and very esoteric. :)
20:47:38 <pikhq> You want interesting, though?
20:47:42 <pikhq> Self-modifying C code.
20:48:58 <Deformalite> You can make a function for each instruction or procedure, then just utilize higher order functions.
20:49:11 <Deformalite> It is essentially just making a cheap interpreter.
20:51:21 <pikhq> I didn't say it was impossible. Merely that it is ridiculously diabolical.
20:51:40 <pikhq> Some IOCCC entries use it; what does that tell you? :p
20:52:17 <tusho> pikhq: And all IOCCC entries use C.
20:52:24 <tusho> C is esoteric and obfuscated!
20:52:28 <tusho> ... wait, yeah, it is
20:52:47 <pikhq> I, of course, meant the 'self-modifying code' bit.
20:52:53 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
20:52:56 <pikhq> C actually isn't terribly obfuscated.
20:53:04 -!- Slereah_ has joined.
20:53:13 <pikhq> It's not the *greatest* language, but it's got a few things in its favor.
20:53:20 <pikhq> First, it's a fairly simple language.
20:53:37 <pikhq> Second, it's good for systems programming.
20:53:43 <pikhq> Third, it is ubiquitous.
20:54:15 <pikhq> It's that bit about being ubiquitous that makes it handy.
20:54:41 <pikhq> Well, makes it insanely handy.
20:57:02 -!- sebbu has quit (No route to host).
20:57:03 -!- sebbu2 has changed nick to sebbu.
20:58:22 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
20:58:31 -!- Slereah_ has joined.
21:00:25 <AnMaster> * Deformalite huggles self modifying code.
21:02:40 <AnMaster> but you don't consider it a clean language?
21:03:54 <AnMaster> tusho, also you can write obfuscated python
21:03:56 <tusho> i know very clean obfuscated languages
21:04:09 <tusho> oklopol's python code is lovely
21:04:13 <AnMaster> Deewiant, D is a pain to get working (compiler and such)
21:04:26 <pikhq> dsss makes it a bit easier.
21:04:40 <tusho> oklopol doesn't piss around for days indenting crap and making it all go fast and modularized and stuff
21:04:42 <Deewiant> suggestion: go to tango's web site and get the package they offer
21:04:42 <AnMaster> Deformalite, I couldn't get tango to compile
21:04:44 <tusho> he just writes something really awful
21:04:47 <tusho> but it's fun and works
21:05:00 <pikhq> AnMaster: x86_64 is a bitch with D.
21:05:01 <AnMaster> Deformalite, well the app I needed to use used it
21:05:03 <Deewiant> he needs tango because I use it. :-)
21:05:06 <pikhq> Tango just doesn't build there.
21:05:16 <tusho> Deformalite: phobos is a bug
21:05:36 <AnMaster> pikhq, well I'm anti tango if it doesn't build on x86_64
21:05:45 <tusho> Deformalite: Who gives a shit about a standard that 3 people use?
21:05:48 <AnMaster> pikhq, once it works properly I may be interested
21:05:54 <tusho> It's more trivial.
21:05:58 <tusho> And less well-designed.
21:06:09 <Deewiant> AnMaster: can't you just build it as 32-bit code
21:06:16 <tusho> Deformalite: Very javaish?
21:06:20 <tusho> We're using a different Tango here...
21:06:24 <AnMaster> Deewiant, then I need a 32-bit chroot to get that working for gdc
21:06:57 <oklopol> Deformalite: are you Deformative?
21:07:03 <AnMaster> once it works on x86_64 and is in portage I may be interested
21:07:07 <oklopol> all these d guys are scary
21:07:35 <Deformalite> AnMaster: You do not need chroot to get gdc working...
21:07:35 <tusho> yeah, i doubt that
21:07:47 * tusho plays with the idea of writing a RubyCocoa gmail client
21:07:48 <AnMaster> Deformalite, I need it working with tango in x86_64
21:08:02 <AnMaster> until that is possible out of box I consider D non-mature
21:08:08 <Deewiant> AnMaster: your fault for running a 64-bit OS without support for 32-bit ;-)
21:08:25 <tusho> Tango works fine on 64-bit afaik
21:08:44 <Deformalite> Yeah, I have never heard of such problems.
21:08:48 <Deewiant> http://www.dsource.org/projects/tango/ticket/1097
21:08:50 <Deewiant> http://www.dsource.org/projects/tango/ticket/865
21:08:56 <Deewiant> http://www.dsource.org/projects/tango/ticket/1082
21:09:00 <Deewiant> http://www.dsource.org/projects/tango/ticket/1071
21:09:07 <tusho> Never said without issues, Deewiant
21:09:13 <tusho> But I'm pretty sure, with dsss, you can 'net install
21:09:16 <tusho> ' tango pretty easily
21:09:21 <Deewiant> "works fine" means "without issues" to me :-)
21:09:38 <tusho> Then no software works fine my dear Deewiant.
21:09:49 * Deformalite is tired of tango discussion. Back to my work. :P
21:10:16 <Deewiant> but yeah, depends on your definition of 'issue'
21:10:21 <Deewiant> I consider segfaults an issue :-P
21:10:22 <Deformalite> oklopol: Before I leave, yeah, I am Deformative, not Deewiant.
21:10:31 <tusho> Deewiant: I bet gnu 'true' has bugs - have you ever read it?
21:10:33 <tusho> It's crazily bloated
21:10:47 <Deewiant> but it hasn't segfaulted on me yet
21:11:00 <Deewiant> and it works upwards of 99% of the time
21:11:07 <oklopol> Deformalite: no one sane thought you might be Deewiant, i was just afraid you might be another De... guy
21:11:25 <Deewiant> who's that one guy that's here sometimes, Dewi or something?
21:11:28 <tusho> 'D' at the start of the name signifies a D user.
21:11:32 <oklopol> Deformative and Deformalite in the same room would probably collapse into singularity
21:11:40 <tusho> 'De' means 'Deewiformative clan'
21:11:45 <tusho> Dewi is not Deewiant
21:11:52 <tusho> Dewi is so Deewiant
21:11:58 <AnMaster> Deewiant, dewi is in this channel
21:12:00 <Deformalite> Eh, if De is grouped together, I need to change my nick.
21:12:02 <oklopol> Dewi is a whole another guy
21:12:30 <tusho> Austarlia is right next to Canadia
21:12:31 <Deewiant> this is the part where I go to bed. :-P
21:12:46 <Deewiant> but first I'll leave some reading with you.
21:12:46 <Deewiant> http://www.math.sfu.ca/~cbm/errh/101_analysis_bedtime_stories_(epsilon_red_riding_hood).pdf
21:12:50 <tusho> I wanna be called tasho so I can have t@sho.org
21:13:36 <tusho> timezones make me go :/
21:14:27 <tusho> timezones make me go ':/'
21:14:30 <tusho> you went 'not yet :/'
21:14:40 <tusho> obviously it was night where Deewiant is
21:15:32 <tusho> 22:15 is totally night, AnMaster
21:15:57 <AnMaster> tusho, anyway it would be 23:* for him
21:18:26 <Deformalite> What other helloworldies are there? Hello world, factorial, ackermann, and what else? I am going to do a turing machine soon, but if there are any others it would be nice to test before I go on to the turing machine.
21:19:56 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
21:20:20 <tusho> Deformalite: open a terminal
21:21:02 <Deformalite> All that does is prove use of streams and file io.
21:21:19 <AnMaster> <Deewiant> http://www.math.sfu.ca/~cbm/errh/101_analysis_bedtime_stories_(epsilon_red_riding_hood).pdf <-- that was fun
21:21:23 <Deformalite> I need something that tests language features a bit more, recursion/iteration and stuff.
21:22:22 <AnMaster> Deewiant, write a brainfuck interpreter in it?
21:22:47 <AnMaster> of course that is the turing test
21:23:30 <tusho> Deformalite: Y combinator
21:26:32 <tusho> does anyone have a transparent-background version of the gmail envelope?
21:37:09 <tusho> AnMaster: tried that
21:38:29 <tusho> they're a bigcorp and it's copyrighted
21:39:06 <tusho> it's for my personal use
21:39:09 <tusho> but think about it
21:39:14 <tusho> most of their emails probably go straight to /dev/null
21:39:20 <tusho> they'll get 1k+ emails every day
21:39:27 <tusho> and here I am, asking them for a high-res version of their logo, just like that?
21:39:49 <AnMaster> tusho, say you are from new york times or something :P
21:55:26 <tusho> anyone in a domain-buying mood? <.<
22:53:28 -!- olsner has joined.
23:03:19 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
23:09:05 -!- Deformalite has quit (Remote closed the connection).
23:16:23 -!- timotiis has quit (Read error: 110 (Connection timed out)).
23:30:46 <pikhq> RodgerTheGreat: God, Def-BF will kick ass.
23:38:30 <GregorR> Enter the Hymen Store, two men are scorched and burned, kite me a sign.
23:39:02 <GregorR> Don't worry Bill is dead, there lies the toy opened, Indians are high.
23:41:17 <GregorR> http://www.youtube.com/watch?v=jH8gtrD4_C4
23:44:46 <GregorR> tusho: If you want your domain so badly, why don't you buy it?
23:45:48 <tusho> GregorR: I already own ONE domain :'(
23:46:23 <GregorR> I own five, cry me a river.
23:46:34 <tusho> :'''''''''''''''''(
23:46:37 <tusho> :'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(
23:46:39 <tusho> :''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(
23:46:44 <tusho> :''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(
23:46:46 <tusho> :'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
23:46:48 <tusho> :'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
23:46:54 <tusho> :'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
23:47:00 <tusho> :'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
23:48:11 <tusho> GregorR: Buy me a domain and I shall help!
23:49:16 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
23:51:53 <GregorR> tusho: If you already own ONE domain, what's one more? :P
23:52:34 -!- olsner has quit.
23:53:29 <tusho> GregorR: How about. You buy a domain and I'll give you an account on rutian (the machine running eso-std.org) :-P
23:53:32 <tusho> It is completely useless but fun!
23:53:41 <tusho> You shall be dictated to by the two sudoers, me and ais523!
23:54:57 <tusho> GregorR: AWSUM DEAL RITE
00:01:56 -!- revcompgeek has joined.
00:02:11 -!- revcompgeek has left (?).
00:08:34 -!- pikhq has quit ("leaving").
00:11:40 <tusho> http://www.reddit.com/info/6q5cc/comments/c04kmyx grrr
01:01:09 -!- Sgeo has quit (Connection timed out).
01:01:55 -!- Deformalite has joined.
01:12:46 -!- Sgeo has joined.
01:24:26 <tusho> RodgerTheGreat: The sky; as always
01:43:23 -!- tusho has quit.
02:30:11 -!- revcompgeek has joined.
02:30:21 -!- revcompgeek has left (?).
02:30:59 -!- revcompgeek has joined.
02:31:05 -!- revcompgeek has left (?).
02:59:43 -!- pikhq has joined.
03:00:28 * pikhq mutters about how Def-BF will kick ass
03:02:57 <RodgerTheGreat> nobody paid much attention when I originally created the spec, so I thought it would languish in dusty folders forever
03:04:11 <pikhq> Actually, I thought it would kick ass, but that I didn't have the knowledge to actually implement it back then. . .
03:04:18 <pikhq> Well. . . Now I do.
03:04:31 <pikhq> Hooray, knowledge!
03:14:49 -!- jix has quit ("CommandQ").
03:44:24 -!- ihope has joined.
03:45:23 <ihope> Sugar Cane Nomic is invading. >:-)
03:45:29 <Dewi> yeah, I'm not Deewiant or Dewin or any of the other names that trigger my highlight all the time
03:45:32 <ihope> I propose that players be able to give points to each other.
03:46:15 <Dewi> oh, Deewiant only triggers the highlight when Deewiant is asking who I am
03:50:32 <Sgeo> ihope, how is sugar cane nomic invading?
03:50:58 <ihope> It's invading by being in this channel rather than ##nomic. :-P
04:29:41 -!- Parma-Quendion has joined.
04:34:47 -!- Quendus has quit (Read error: 110 (Connection timed out)).
04:50:35 <lament> how come ##nomic only has two #s?
04:51:41 <lament> rules are meant to be broken!
05:00:39 -!- ihope has quit (Read error: 110 (Connection timed out)).
05:02:37 * Sgeo files a criminal CFJ against lament for that statement.
05:03:23 <RodgerTheGreat> I know postscript. Does anyone have any interesting project ideas for me to try to tackle?
05:03:51 <RodgerTheGreat> in the past, I've made a handful of things like my self-randomizing bingo card: http://rodger.nonlogic.org/games/bingo.ps
05:06:52 -!- pikhq has quit ("leaving").
05:55:25 <GregorR> Tell me, is it normal for you feet to itch the first day you wear new shoes?
06:06:52 <Sgeo> GregorR, were your feet itching the last time you wore new shoes? /me thinks it's normal for feet to feel strange, but not to itch..
06:07:55 <GregorR> Sgeo: I can't give a normal experience with shoes, I have a severe allergy.
06:11:01 <GregorR> I just thought I might not be allergic to these shoes.
06:11:12 <GregorR> But I'm getting preliminary symptoms that suggest I could be.
06:12:49 <Sgeo> New shoes usually feel weird, but not itchy
06:12:57 <Sgeo> Also, why don't socks protect you?
06:13:40 <GregorR> I'm allergic to chromium, and a layer of non-chromium-tanned leather isn't sufficient to protect me, so socks are worthless.
06:14:24 <GregorR> I guess I can add microfibers to the list of materials I can't wear. So, I'm looking for those elusive non-leather, non-synthetic-leather, non-microfiber shoes. That leaves, what, moccasins and clogs.
06:15:06 <Sgeo> Can that allergy actually hurt you? Or is it merely uncomfortable?
06:15:31 <GregorR> Suffice to say that I've had to throw out a lot of socks because I couldn't clean the blood out of them.
06:15:53 <lament> well, we have a clog in the channel, but only one...
06:16:34 * Sgeo winces for GregorR
06:17:06 <Sgeo> How many people have this allergy? Not enough for shoemakers to care?
06:20:58 <GregorR> I've only found statistics within certain populations that have a high exposure to chrome, and even in those fields it's less than 1%.
06:22:33 <GregorR> Ah, here we go: "he prevalence of Cr(VI) sensitivity among the general U.S. population is estimated to be 0.08%."
06:23:25 <GregorR> That's specifically hexavalent chromium (the toxic variety), and I'm allergic to all forms of chromium (including the non-toxic kind that's used for tanning)
06:23:41 <GregorR> SO, suffice to say I won the really-effing-annoying-allergy lottery.
06:38:07 <Sgeo> Better than being allergic to nothing because you have no immune system..
06:47:43 <Sgeo> bsmntbombdood, have a healthy immune system?
06:52:22 -!- Sgeo has changed nick to PaulKarason.
06:53:42 -!- PaulKarason has changed nick to Sgeo.
07:01:37 -!- cc_toide has joined.
07:16:51 -!- cctoide has quit (Read error: 110 (Connection timed out)).
07:18:35 -!- GreaseMonkey has joined.
07:48:14 -!- GreaseMonkey has quit ("Remote closed the previous member app").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:08:28 -!- Slereah_ has joined.
08:14:22 -!- timmytron has joined.
08:16:14 -!- timmytron has left (?).
08:16:14 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
08:16:17 -!- Slereah_ has joined.
08:25:20 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
08:25:31 -!- Slereah_ has joined.
08:34:52 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
08:35:11 -!- Slereah_ has joined.
08:44:36 -!- Sgeo has quit (Connection timed out).
08:50:42 <oklopol> lament: i dreamt about you
08:52:04 <oklopol> 23:12… Deewiant: http://www.math.sfu.ca/~cbm/errh/101_analysis_bedtime_stories_(epsilon_red_riding_hood).pdf <<< ha! i knew someone would link this sooner or later
08:58:14 <lament> awesome, what happened?
09:01:24 <oklopol> lament: i was here, talking to you about your new conlang.
09:01:44 <oklopol> for some reason, all its ideas were from lalna, my own conlang...
09:02:08 <oklopol> 07:55… GregorR: Tell me, is it normal for you feet to itch the first day you wear new shoes? <<< no, you freak!!
09:02:52 <lament> oklopol: does that mean you identify me with that part of yourself that creates conlangs?
09:05:47 <oklopol> well there's this guy on #c++.fi that was talking about how he loves watching scat porn in another dream of mine...
09:06:23 <oklopol> perhaps i identify him with the part of me that loves watching scat porn
09:07:34 <oklopol> i'm having more and more irc dreams lately
09:08:12 <oklopol> the nice part is i can now say for sure it's bullshit you can't read stuff multiple times in your dreams without it changing
09:10:08 <oklopol> Deewiant: where did you see the link btw? the guy who linked to me was finnish too, and it was not that long ago, perhaps there's a simple chain
09:10:26 <oklopol> i love chains, i want to be an irc god
09:25:45 <oklopol> can't imagine why you wouldn't
09:37:54 -!- RedDak has joined.
10:08:25 -!- oklopol has quit (Read error: 110 (Connection timed out)).
10:13:59 -!- Deformalite has quit (Read error: 110 (Connection timed out)).
10:32:47 <AnMaster> <oklopol> i'm having more and more irc dreams lately
10:33:17 <AnMaster> <oklopol> Deewiant: where did you see the link btw? the guy who linked to me was finnish too, and it was not that long ago, perhaps there's a simple chain
10:33:23 <AnMaster> well now I linked that to a few other places
10:42:26 <Slereah_> I think I found an error in one of Gdel's paper
10:53:19 -!- olsner has joined.
11:26:36 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
11:39:17 -!- pgimeno has joined.
11:42:52 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
11:43:08 -!- Slereah_ has joined.
11:49:10 -!- jix has joined.
12:11:16 -!- RedDak has joined.
12:21:37 -!- cc_toide has changed nick to cctoide.
12:37:03 -!- ihope has joined.
12:46:50 <Slereah_> Email him, FROM BEYOND THE GRAVE
12:47:42 <Slereah_> "b(0,x)=b(x,0)=0 and b(x,y)=1 when x,y>0"
12:47:51 <Slereah_> And then goes on to say that b is the or function
12:52:23 -!- Corun has joined.
13:04:43 <AnMaster> Slereah_, sounds more like "and" to me?
13:08:20 <Deewiant> oklopol: I could answer you but you're not here, dammit!
13:09:21 <Slereah_> But well, it isn't very important, as one can just as easily build logical operator with not and and
13:09:31 <Deewiant> 2008-07-04 12:33:17 ( AnMaster) <oklopol> Deewiant: where did you see the link btw? the guy who linked to me was finnish too, and it was not that long ago, perhaps there's a simple chain
13:11:13 <Slereah_> Have you blew up stuff, like the Founding Fathers want you to?
13:11:39 <AnMaster> Slereah_, we are not from America
13:11:48 <AnMaster> I'm from Sweden and Slereah_ is from Finland
13:12:19 <Slereah_> But I am partial to blowing stuff up.
13:17:27 -!- Corun_ has joined.
13:22:26 -!- olsner has quit.
13:36:43 -!- Corun has quit (Read error: 110 (Connection timed out)).
13:48:23 <Slereah_> Wikipedia has no article with a list of people that have the nickname "Butcher".
13:48:38 <Slereah_> As in "The Butcher of [place]"
13:55:30 -!- Corun__ has joined.
14:04:57 -!- oklopol has joined.
14:09:30 -!- Corun__ has changed nick to Corun.
14:12:08 -!- Corun_ has quit (Read error: 110 (Connection timed out)).
14:46:04 -!- pikhq has joined.
14:50:43 -!- ihope has quit (Read error: 110 (Connection timed out)).
14:53:27 <Deewiant> oklopol: ah, excellent, you're here.
14:53:41 <Deewiant> oklopol: so, in response to your question, I saw it on reddit and posted it to two IRC channels I'm on.
14:54:19 <oklopol> are these channels the two channels whois shows you're one?
14:56:07 <oklopol> Slereah_: clever answer, i didn't actually remember skin color existed
14:56:23 <oklopol> thought someone might cheat by using whatever color they see my nick as
14:56:39 <oklopol> but that was even cheatier
14:59:37 <Deewiant> oklopol: on IRCnet, they are, so probably not
15:00:23 <oklopol> so esoteric wasn't one of those two?
15:01:03 <oklopol> (also you're only on one channel there, publicly)
15:01:13 <oklopol> (so # prolly was the other one)
15:02:19 -!- ais523 has joined.
15:07:29 <oklopol> on quakenet, you're on no public channel
15:09:44 * oklopol takes his magnifying glass and starts snooping
15:11:03 <Deewiant> if you can tell me the nick of the guy you heard it from I can tell you whether he's in either of the channels where I announced the PDF
15:12:28 <oklopol> well he linked it ages before you, now i'm just being curious.
15:12:48 <Deewiant> so, probably, he saw it on reddit as well. :-)
15:13:01 <Deewiant> it was at the top of the math subreddit.
15:15:33 <oklopol> i would have preferred it with a bit more math, now it was more about just knowing what theorems have to do with what, and what names form punny funs.
15:16:13 <Deewiant> well, it's a bedtime story after all, so it can't be too complex. :-)
15:18:06 <oklopol> only little imaginary stuff
15:18:20 <oklopol> i guess real stuff will always be complex stuff, tho.
15:18:38 <oklopol> i should really get to work
15:18:52 <oklopol> keep up the good work and shit ------>
15:25:53 -!- tusho has joined.
15:26:31 <ais523> only by a few fractions of a second at my end, though
15:26:42 <tusho> by about 20 seconds at mine
15:28:37 <Deewiant> but the message only arrived 25 seconds after you joined
15:28:47 <tusho> my client seems to WHO everyone
15:28:59 <tusho> still, each of our clients log to the second when we hit enter
15:29:01 <tusho> which is the measure
15:39:52 <tusho> http://www.reddit.com/r/programming/info/6pxzk/comments/c04k6o5 makes me sad
15:49:43 -!- jix has quit (Nick collision from services.).
15:49:53 -!- jix has joined.
15:50:06 <tusho> {It's not available for download yet. Which makes me suspect that this year's challenge will be writing "Hello World" on a system that has been so insidiously corrupted that it would make Ken Thompson faint.}
15:50:08 -!- Corun_ has joined.
15:50:10 <tusho> that sounds like something you'd do
15:50:44 <ais523> tusho: where's that from?
15:51:06 <tusho> it was a response to:
15:51:07 <tusho> {I'm going to grab this CD just to see what a proper Linux development setup looks like! :)}
15:51:15 <tusho> the submission was
15:51:15 <tusho> http://www.icfpcontest.org/rules.html
15:51:43 <ais523> I think it might be interesting to put a team together for that
15:51:59 -!- Corun_ has quit (Client Quit).
15:52:03 <tusho> ais523: not really
15:52:11 <tusho> i'd be in on it so we'd spend the whole time arguing
15:52:19 <tusho> also, they have restrictions on what language you can use
15:52:27 <tusho> I guess that means you can't choose C and write an interp in it and use that?
15:52:48 <ais523> it's been done in the past
15:52:58 <ais523> although I'm going to request INTERCAL as a matter of course...
15:53:32 <ais523> hey, shinh's in #icfp-contest
15:56:09 -!- tusho has quit (Remote closed the connection).
15:56:29 -!- tusho has joined.
15:56:40 <tusho> a better question -
15:56:42 <tusho> where ISN'T shinh?
15:59:51 -!- timotiis has joined.
16:04:28 <pikhq> RodgerTheGreat: Whee.
16:05:07 <pikhq> Concerning the idea of adding label:. . .
16:05:22 <pikhq> Could we say that a function may also be used as a label?
16:06:03 <pikhq> (like in assembly, how it honestly doesn't *care* whether the address being jumped to is a function or not)
16:06:35 <RodgerTheGreat> Hm. well, functions have header code related to calling the function
16:07:05 <pikhq> I never said that I'd recommend using one as the other is *sane*.
16:07:06 <RodgerTheGreat> so maybe the function should be usable as a label immediately after the header?
16:07:32 <pikhq> I'm just saying that this makes it easier, I think, to compile to assembly.
16:07:46 <RodgerTheGreat> seems like a decent idea, we just need to come up with at least one case where it would be useful, and then design around that
16:08:13 <pikhq> It's not actually useful, it's just easier to compile. Infinitely. :p
16:08:15 <RodgerTheGreat> if we can't come up with any cases where it's useful, it's added complexity that we want to avoid
16:08:22 <tusho> pikhq: Self-modifying code, dude.
16:08:23 <pikhq> Well, actually, there is one case.
16:08:25 <tusho> And code hidden in data.
16:08:36 <tusho> Modifying data to modify code.
16:09:05 <ais523> does anyone here apart from tusho fancy entering the ICFP in a #esoteric team?
16:09:15 -!- Corun has quit (Read error: 110 (Connection timed out)).
16:09:39 <ais523> I know how badly that would go too, so that's why I said "apart from tusho"
16:09:46 <tusho> regardless of anything, I just don't think our way of coding overlaps at all
16:09:48 <tusho> for all of #esoteric
16:10:11 <tusho> I mean, for a start, language.
16:10:21 <tusho> For every language someone uses in here, another person vehemently hates it.
16:10:26 <ais523> I think it would be great to actually win with an INTERCAL program
16:10:35 <ais523> that would never happen
16:10:39 <ais523> but just entering one would be fun
16:10:39 <tusho> Yes, but nobody here can code INTERCAL but you, ais523. :p
16:10:47 <ais523> tusho: it's not that hard to learn
16:11:53 <ais523> I'm willing to teach it over IRC to anyone who's willing to learn
16:11:53 -!- ais523 has quit (Remote closed the connection).
16:11:57 <pikhq> Care to link to Def-BF again?
16:12:10 -!- ais523 has joined.
16:12:38 <ais523> [Fri Jul 4 2008] [16:10:47] <ais523> tusho: it's not that hard to learn
16:12:40 <ais523> [Fri Jul 4 2008] [16:11:16] <ais523> I'm willing to teach it over IRC to anyone who's willing to learn
16:12:58 <ais523> I wasn't sure, because my connection was playing up about then
16:13:04 <tusho> an irc channel by nature is almost entirely too eclectic to manage anything like this
16:13:07 <tusho> unless it's tight-knit
16:13:11 <ais523> I'm willing to teach it to anyone who's willing to learn anyway
16:13:11 <tusho> and when you consider this is #esoteric...
16:13:26 <ais523> well, it would be possible to get a 24-hour coding effort going
16:13:36 <RodgerTheGreat> pikhq: you should really save these to your computer or something: http://www.nonlogic.org/dump/text/1215028173.html
16:14:42 <RodgerTheGreat> at this point, the fibonacci sequence generator is becoming a more accurate and complete reference to the high-level language, so I suspect I'll need to revise the spec soon
16:15:10 <oklopol> ais523: will you teach face-to-face?
16:15:33 <ais523> oklopol: only if someone happens to be in the same place in RL at the time
16:16:20 <ais523> over IRC's just as easy, though
16:16:29 <ais523> especially as it means that you don't have to crowd on computers
16:16:38 * tusho imagines #esoteric denizens meeting each other and shudders
16:16:50 <ais523> yes, that would be bad, probably
16:18:02 <tusho> ais523: 'Well, I think this pizza should have X topping, because it's tastier.' / 'But Y is faster to eat!' / 'Let's roll a dice.' / 'OK, can I borrow your laptop?' *tap tap tap tap random.org*
16:18:23 <oklopol> i often randomize my choices
16:18:24 -!- puzzlet has joined.
16:18:35 <ais523> oklopol: I even have a set of polyhedral dice on me right now
16:18:44 <ais523> not because I need them, but because I forgot to remove them from my laptop case
16:18:50 <tusho> er, the joke was that you would use random.org and not a real ie.
16:19:05 <oklopol> hmph, you know your life isn't perfect when you can't just decide to go to birmingham at a whim.
16:19:21 <tusho> i could probably just go to birmingham at a whim
16:19:54 <oklopol> tusho: i use python for randomization
16:20:03 <oklopol> i call it a die occasionally.
16:20:05 <tusho> oklopol: that's a PSRNG
16:20:14 <tusho> random.org is a real RNG
16:20:19 <ais523> maybe I should alter nomicdice_ to enter #esoteric, but it's a PRNG too
16:20:31 <tusho> it could use hotbits
16:20:51 <oklopol> tusho: there's no difference
16:20:58 <tusho> oklopol: yes there is
16:21:12 <tusho> hotbits' atomic decay is pretty much fundamental randomness.
16:21:19 <tusho> a computer just does some arithmetic based on the time.
16:21:27 <oklopol> all randomness is fundamental until proven otherwise
16:21:35 <ais523> one cheap way to get a true-random number is through the sound input when there's no soundcard connected
16:21:43 <ais523> you just pick up thermal drift, that way
16:21:52 <oklopol> pseudorandom works just as well
16:25:03 <ais523> AnMaster: I haven't updated it recently
16:25:09 <ais523> mostly due to having nowhere to easily code
16:25:12 <ais523> I'm on a sofa at the moment
16:25:15 <ais523> which is not ideal for coding on
16:25:38 <ais523> so instead I ran through the C-INTERCAL manual and corrected lots of typos
16:25:46 <ais523> including a couple which were pretty nasty
16:26:02 <ais523> like accidentally comparing select to OR rather than AND
16:26:08 <ais523> and saying all variables were read-only by default
16:26:22 <ais523> the second is exactly wrong, btw, all variables are read-write by default
16:26:48 <AnMaster> well TURT works apart from bg color now
16:26:55 <AnMaster> which I can't easily find how to fix
16:27:02 <tusho> ais523: not exactly wrong
16:27:07 <tusho> exactly wrong would be all variables are write-only
16:27:24 <ais523> read-only and read-write are the only possibilities in INTERCAL at the moment
16:27:45 <AnMaster> ais523, is the intercal code self modifiable?
16:28:00 <ais523> C-INTERCAL isn't self-modifying
16:28:15 <ais523> but you can turn bits of syntax on and off at will
16:28:35 <ais523> basically, all syntax is compiled whether it has a meaning or not
16:28:52 <ais523> it syntax-errors at runtime unless that syntax has been given a meaning (at runtime) before it's encountered
16:30:57 <Slereah_> Should I buy a book just because it has a section "Care of Your Pet Combinator"?
16:31:20 <Slereah_> I mean, children are starving in Africa and everything.
16:31:21 <ais523> although if it has a section like that, it may have other things you want too
16:31:29 <pikhq> RodgerTheGreat: http://pastebin.ca/1062312
16:31:42 <pikhq> Gets a function from stdin, executes it.
16:31:49 <ais523> hey, a #esoteric first, at least one person agrees with me
16:31:58 <ais523> hmm... maybe that's because I normally talk to tusho
16:32:02 <pikhq> Erm. s/variable/var/
16:32:12 <tusho> ais523: Fuck you. :P
16:33:01 <Slereah_> Abebooks has it for $79, but some website for 35
16:33:33 <ais523> definitely don't buy it, then
16:33:35 <ais523> what's it about, anyway?
16:34:18 <Slereah_> Unlike religion, where you can find books for free, Science has value D:
16:34:33 <pikhq> Perhaps it'd be easier to make that loop just:
16:35:16 <tusho> Slereah_: Turn into a fundie. You only need one book and it has everything!
16:35:37 <Slereah_> http://macrochan.org/source/S/B/SBR5MBJZNWY4CSNASFFYCFGV4PZ4HUVX.jpeg
16:35:49 <Slereah_> Well, I already have 30% of the bible.
16:36:05 <Slereah_> (Most free bibles peddlers only give out the new testament)
16:37:00 <Slereah_> "Carol Hindley (1986) has given some marvellous drawings of the outsides of several well known combinators in her hilarious note "Care of Your Pet Combinator". Here we find that they bear somewhat more resemblance to insects and reptiles than to conventional birds."
16:37:07 <Slereah_> How hilarious do you think this is?
16:37:22 <ais523> Slereah_: probably not
16:37:32 <ais523> I advise you to find it in a library or bookshop instead
16:37:39 <ais523> that way you can look at it without having to pay for it
16:37:53 <Slereah_> You want me to find an English book on lambda calculus here?
16:38:14 <Slereah_> http://www.amazon.co.uk/Lambda-Calculus-Combinators-Introduction-Roger-Hindley/dp/toc/0521898854
16:38:17 <ais523> I'm in a library, there's always a chance it's here...
16:38:22 <AnMaster> <Slereah_> http://macrochan.org/source/S/B/SBR5MBJZNWY4CSNASFFYCFGV4PZ4HUVX.jpeg <-- hilarious
16:39:12 <Slereah_> As for here, I already have a hard time finding any book at all on lambda calculus
16:39:20 <Slereah_> Much less some obscure English one.
16:40:23 <Slereah_> Also, why does that review call the author Carol?
16:41:17 <ais523> beh, it doesn't have Lambda-Calculus and Combinators: An Introduction but it does have Introduction to combinators and (the lambda)-calculus by the same authors
16:41:24 <ais523> and now I'm puzzled as to whether it's the same book
16:41:49 <ais523> I'm not sure how to find it at the Amazon end
16:42:32 <ais523> but it starts with the same few digits
16:42:37 <ais523> at least, the library gives two different ISBNs
16:42:41 <ais523> but it doesn't match either
16:42:48 <ais523> maybe it's a different edition of the same book?
16:42:57 <tusho> or an american version
16:43:04 <tusho> vs some other country
16:43:08 <Slereah_> It's the ISBN of the same version
16:43:12 <ais523> Slereah_: not sure, probably yes if the contents change
16:43:23 <ais523> anyway, the easy way for me to settle this is to log out and then go hunting around the shelves
16:43:35 -!- ais523 has quit ("looking for a book in RL").
16:45:27 <Slereah_> Also, is it dangerous to use both bird combinators and insect combinators?
16:45:40 <Slereah_> I fear they might try to consume them.
16:51:06 -!- ais523 has joined.
16:51:37 <ais523> Slereah_: I found the book
16:51:52 <ais523> the pet combinator stuff is just one page, not particularly interesting, and out of character with the rest of the book
16:51:58 <ais523> which is just full of dry mathematical stuff
16:52:21 <tusho> ais523: you just, because of someone on irc, went and found a book and made a micro-review which you carried in your head back to irc
16:52:27 <tusho> you are a hero among us all
16:52:44 <ais523> well, I checked the Internet catalogue first to see if it was here
16:52:54 <ais523> and it was about 20m away from where I was sitting
16:52:59 <ais523> so I thought it was worth having a look
16:54:10 <ais523> Slereah_: line drawings
16:54:15 <ais523> which were basically just letters
16:54:44 <ais523> no, the S was drawn as a snake
16:54:50 <ais523> but it was only one page of pics, in an appendix
16:54:59 <ais523> and the pics weren't as good as it sounds over IRC
16:55:14 <Slereah_> Too bad I can't find it online
16:55:17 <ais523> and it isn't really worth the 300+ pages of typewritten text with no illustrations that come with it
16:55:27 <tusho> ais523: you could have stolen it and uploaded it then put it back
16:55:35 <Slereah_> Well, lambda calculus is always interesting
16:55:38 <ais523> tusho: no, where would I find a scanner?
16:55:45 <Slereah_> But there's free ressources for that
16:55:55 <ais523> besides, I didn't need to steal it
16:56:01 <ais523> it is, as I said, in a library
16:56:06 <tusho> that's a good point
16:56:09 <ais523> and therefore I could take it out legally
16:56:11 <tusho> and, um, you could mail it to me
16:56:16 <Slereah_> But scanning it would be STEALING ITS COPYRIGHT D:
16:56:19 <tusho> take it out -> mail to me -> I scan -> mail it back -> back in library
16:56:53 <Slereah_> Or you could reproduce the entire page using MS Paint
16:57:12 <ais523> Slereah_: I don't even have that here without changing computer, I'd have to try to do it in the GIMP
16:57:30 <ais523> or in KolourPaint, I suppose, which I downloaded specifically for doing the sort of thing that Paint is actually useful for
16:57:55 <ais523> AnMaster: KDE naming, you have to love it
16:58:03 <tusho> AnMaster: lol, kde starts every name with a k
16:58:06 <tusho> it's funny because it is
16:58:17 <AnMaster> ais523, kyes kI kdo kas kI'm ka KKDE kuser
16:58:20 <ais523> not quite, the RSS reader is kalled Akregator
16:58:25 <tusho> gnome names an awful lot of things starting with 'G'
16:58:28 <ais523> oh, that kalled was a typo but I decided to leave it like that
16:58:29 <tusho> though they're actually removing that
16:58:51 <ais523> it's easy to thinko like that when thinking about KDE
17:00:00 <RodgerTheGreat> I can definitely see how that would be useful- loading kernel modules, for example?
17:00:32 <Slereah_> You know, with David Hasslehoff?
17:00:56 <tusho> Slereah_: he's a filthy swede
17:00:58 <RodgerTheGreat> ^ I re-pastebinned it because the original is slow as fuck
17:00:58 <tusho> and therefore knows nothing
17:01:03 <tusho> (My logic is impeccable, shut up)
17:01:05 <AnMaster> Slereah_, I haven't watched TV except for news for the past 2 years
17:01:17 <Slereah_> Knight Rider isn't recent at all, AnMaster
17:01:22 <Slereah_> Come on, even in France it aired!
17:01:23 <AnMaster> Slereah_, and I haven't been at a cinema for several years
17:01:39 <Slereah_> "Knight Rider is an American television series that ran from September 26, 1982, to August 8, 1986."
17:01:42 <AnMaster> Slereah_, I got no clue, anyway remember that I'm 18, so it may be too old
17:01:58 <RodgerTheGreat> probably want a ; in there somewhere for good coding practice
17:02:02 <AnMaster> RodgerTheGreat, oh that, saw it before, loaded very quickly
17:02:10 <Slereah_> Well, it was about a talking car, and a special agent, solving crimes.
17:02:28 <tusho> <AnMaster> Slereah_, I got no clue, anyway remember that I'm 18, so it may be too old
17:02:35 <tusho> i'm 12 and I know about knight rider
17:02:51 <tusho> AnMaster: oh, did you miss that?
17:03:03 <Slereah_> Send nude pictures of yourself to prove it.
17:03:12 <Slereah_> While wearing a cockring, if available.
17:03:18 <tusho> Slereah_: A++ AWESOME IDEA
17:03:27 <RodgerTheGreat> looks like he uses foo as a temporary variable, and as long as he's reading things into input he copies foo into bar...
17:03:33 <tusho> AnMaster: thanks I guess
17:04:09 <AnMaster> tusho, I don't believe that I said
17:04:27 <tusho> i know, everyone here totally says they're like 10 years younger than they really are right
17:04:36 <tusho> well, apart from Slereah_ and oklopol
17:04:41 <tusho> because they'd probably do that
17:04:52 <AnMaster> tusho, well I wasn't lying about being 18...
17:05:10 <ais523> well, WIkipedia says I'm 21
17:05:17 <ais523> and everyone knows it's right, right?
17:05:48 <ais523> as it is with a lot of other things
17:05:51 <ais523> however it does make mistakes occasionally
17:06:00 <ais523> Slereah_: I don't know, I haven't read that article recently
17:06:05 <Slereah_> Is it true that you molested six children in the early 90's?
17:06:09 <ais523> I looked at the age, and then closed it without reading the rest
17:06:16 <ais523> but I know it hasn't been edited recently
17:06:18 <ais523> and so it doesn't say that
17:06:32 <tusho> joking, before ais523 says anything
17:06:45 <tusho> no, what I'm REALLY adding is a link to your wikipedia user page
17:06:51 <ais523> tusho: no, that could get you banned
17:06:57 <Slereah_> "Alex Smith grew up in Birmingham, attending King Edward VI Five Ways, and was an alternate for the UK International Mathematical Olympiad team. His parents are both teachers at University of Birmingham."
17:07:00 <ais523> whereas the first will merely get you blocked
17:07:02 <tusho> ais523: i could like slap a joke in your face until you died
17:07:07 <tusho> and you wouldn't notice
17:07:17 <ais523> tusho: and I could deliberately miss the joke because i think it's funnier that way
17:07:20 <ais523> and you still wouldn't notice
17:07:27 <tusho> ais523: and I could deliberately respond to that seriously
17:07:31 <tusho> because it's funnier that way
17:07:35 <tusho> and you'd respond probably joking again
17:07:38 <tusho> and I would do the same
17:07:43 <tusho> and I have finally closed off the loop
17:07:59 <ais523> tusho: now make it into an esolang!
17:08:26 <tusho> Levels of Sarcasm/Jokes
17:08:35 <Slereah_> I remember a page where the theme song of Knight Rider was beat boxed
17:08:39 <tusho> you write a program by building up levels of sarcasm or jokes in intricite layers
17:08:43 <tusho> the program terminates when it goes back to 0
17:09:15 <Slereah_> Also, what level of irony would be Knight Rider in that language?
17:09:29 <tusho> Slereah_: 7.3/x^(y/pi+e)
17:10:00 <Slereah_> Knight Rider aired in Sweden, sez Wikpedia
17:10:01 <Slereah_> (Knight of the Night) Subtitled The show has three names, "Nattens riddare", "Riddaren i natten" and "Knightrider".
17:10:23 <tusho> swedish is such a silly language
17:10:26 <tusho> it makes everything sound ridiculous
17:11:38 <RodgerTheGreat> pikhq: http://www.nonlogic.org/dump/text/1215187799.html
17:11:48 <tusho> AnMaster: RIDDAREN I NATTEN
17:12:15 <AnMaster> tusho, try to pronouce it in Swedish for gods sake
17:12:49 <Slereah_> The Swedes are just making stuff up.
17:13:05 <Slereah_> they actually use their skin patterns to communicate.
17:13:25 <Slereah_> Yes, Swedes have a bright skin pattern that can be consciously modified3
17:15:41 -!- Judofyr has joined.
17:17:42 -!- Judofyr has quit (Client Quit).
17:22:06 <pikhq> RodgerTheGreat: Thanks for the commenting.
17:22:14 <pikhq> I wasn't exactly thinking it through all that well. . .
17:23:22 <RodgerTheGreat> I have a way to allow pointer manipulation to a fair degree without making the language more complicated!
17:24:03 <RodgerTheGreat> make it so you can do something like "varname?" to store the address representing the pointer to a cell, rather than it's dereferenced value
17:25:00 <RodgerTheGreat> but with this facility, it'd be pretty trivial to create a function called "dereference"... gimme a sec
17:25:52 <pikhq> And thereby get the 'pass by value' feature that I proposed. . .
17:25:54 <tusho> RodgerTheGreat: why not provide a function called dereference[]
17:25:58 <tusho> and just have it primitive :P
17:26:30 <tusho> RodgerTheGreat: that's nice of you
17:26:39 <tusho> instead of, you know, just blankly asserting that
17:26:40 <pikhq> tusho: We have no primitive functions.
17:26:49 <tusho> pikhq: why not? It'd make a lot of things simpler.
17:26:53 <tusho> Than just piling on syntax...
17:27:02 <RodgerTheGreat> pikhq: I didn't say it wouldn't be useful, I just said we needed a way of doing it that didn't make the language nasty
17:27:02 <pikhq> It's meant as a systems programming language.
17:27:30 <pikhq> We can't assume that there is *anything* supporting the code at all.
17:27:36 <tusho> pikhq: Doesn't have to be.
17:27:40 <tusho> Just make dereference[x] compile specially.
17:28:27 <pikhq> The road to hell is paved with special cases.
17:28:40 <tusho> pikhq: Yes, like extra syntax
17:29:37 <pikhq> "Let's make the semantics funkier so the syntax is more sparse!"
17:29:45 <RodgerTheGreat> http://www.nonlogic.org/dump/text/1215188885.html <- how about this?
17:30:46 <RodgerTheGreat> the limitation is that you can only get a pointer's address when you create a new variable, but this doesn't actually restrict what you can do
17:39:03 <oklopol> it's always fun to realize your language is cleverer than you
17:41:11 <RodgerTheGreat> what do you say to this? http://www.nonlogic.org/dump/text/1215189574.html
17:42:13 <RodgerTheGreat> a little nastier than some of the previous code examples, visually, but you can completely hide this shit in functions like I just did
17:49:00 <Slereah_> Is there a unicode char for - with a dot over it I wonder?
17:49:17 <ais523> Slereah_: you could do it with combining chars
17:49:20 <ais523> why do you want one, though
17:49:21 <Slereah_> It's the symbol used for positive integer substraction apparently
17:49:40 <ais523> positive integer subtraction?
17:50:05 <Slereah_> You know, x-.y = x-y if x>y, and x-.y = 0 else
17:50:20 <RodgerTheGreat> the only trick with the current schema is that everything is effectively already a pointer. By allowing variable initialization as a pointer's address, you can "back off" a step and gain access to the address, to manipulate. Then, naturally, you have to doubly dereference to get the final pointed value, so an extra #/; does the trick
17:50:52 <Slereah_> Since recursive functions only use positive integer, it's used in many proofs.
17:51:06 <Slereah_> Plus you need it to define equality recursively
17:57:20 -!- pikhq has quit (Read error: 113 (No route to host)).
17:58:46 <AnMaster> RodgerTheGreat, where can I get the implementation for your language?
17:59:02 <RodgerTheGreat> AnMaster: pikhq is working on the first implementation
17:59:13 <AnMaster> RodgerTheGreat, open development I assume
17:59:32 <tusho> AnMaster: RodgerTheGreat doesn't believe in version control systems, dunno about pikhq
17:59:45 <AnMaster> cvs, svn, bzr, mercurial, darcs (and even git if I have to)
18:00:04 <AnMaster> RodgerTheGreat, what will it compile to?
18:00:33 <AnMaster> RodgerTheGreat, llvm would be nice
18:01:00 <RodgerTheGreat> if the project becomes popular, I'm sure we'll support more architectures/intermediary forms
18:01:40 <AnMaster> RodgerTheGreat, do you support custom calling conventions?
18:01:50 <ais523> hmm... I knew for a while that one of the cocreators of INTERCAL now works for Microsoft, but I just found out that the other now works for Google
18:01:54 <ais523> this puts a whole new spin on things
18:02:07 <RodgerTheGreat> AnMaster: the main goal for now is to support C calling conventions
18:02:19 <AnMaster> RodgerTheGreat, there are several
18:02:31 <AnMaster> RodgerTheGreat, on x86 that is
18:02:55 <AnMaster> on x86_64 there is one basically
18:03:20 <AnMaster> RodgerTheGreat, anyway win32 api make the callee clean up the stack in non-varargs function
18:03:31 <AnMaster> while on *nix it is always the caller that does it
18:04:12 <AnMaster> RodgerTheGreat, cdecl vs. stdcall
18:04:20 <AnMaster> stdcall is the one windows use
18:05:00 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
18:05:53 <ais523> incidentally, source: http://www.techworld.com.au/article/251892/-z_programming_languages_intercal?pp=1&fp=2&fpid=-1
18:07:11 <tusho> ais523: ”the most widely-used programming languages"
18:07:13 <tusho> someone's on drugs
18:07:26 <ais523> they did a lot of widely-used languages
18:07:33 <ais523> and then decided it would be fun to do INTERCAL too
18:08:18 <tusho> Our compiler converted the INTERCAL program to SNOBOL (actually SPITBOL, which is a compilable version of SNOBOL) and represented INTERCAL datatypes using character strings in which all the characters were "0"s and "1"s.
18:08:22 <tusho> a true hero among men
18:08:32 <ais523> tusho: that's actually a sane representation of data in INTERCAL
18:08:36 <ais523> although not the one that C-INTERCAL uses
18:08:41 <tusho> {Do you use either C-INTERCAL or CLC-INTERCAL currently? }
18:08:47 <ais523> because there are so many bit-wise operations
18:08:57 <tusho> ais523: i think that's the fanciest-deisgned page that mentions C-INTERCAL
18:09:07 <ais523> I'm glad they noticed CLC-INTERCAL too
18:09:13 <ais523> someone's keeping up with the world of INTERCAL
18:09:20 <ais523> most INTERCAL websites are stuck in the past
18:10:07 <tusho> ais523: c-intercal.eso-std.org, if it ever comes to pass, should utilize ajax and have web 2.0 stylings
18:10:11 <tusho> just for the sheer cognitive dissonance
18:10:18 <ais523> it should also be itself written in INTERCAL
18:10:28 <tusho> ais523: that's a bit harder.
18:10:35 <tusho> i'll write it in something, you translate it. :P
18:10:43 <ais523> probably in CLC-INTERCAL
18:10:53 <ais523> partly because it's the wrong one
18:11:02 <ais523> and partly because it's slightly better at outputting constant strings
18:11:20 <tusho> ais523: and to run it, i'll translate clc-intercal to ruby
18:11:26 <tusho> so that it can run on Passenger
18:11:34 <tusho> (I may just make it shell out to perl; dunno)
18:11:35 <ais523> tusho: it compiles into Perl, so you may have problems doing that
18:11:39 <AnMaster> ais523, I'm reading that link now
18:11:41 <tusho> ais523: then I'll just interface with perl
18:11:47 <AnMaster> "adding a style guide for INTERCAL to go alongside Google's guides for C++, Java and other languages" XD
18:11:49 <tusho> wrap it in a Rack interface
18:12:01 <tusho> a Ruby app running CLC-INTERCAL running the C-INTERCAL site
18:13:54 -!- Judofyr has joined.
18:14:21 <ais523> tusho: it's probably a bad thing that I have a shell-script which reads strings from a file, each of which has ID numbers, and outputs CLC-INTERCAL code designed to output each of those strings
18:14:56 <ais523> actually, not a shell-script
18:15:08 <ais523> but convickt does most of the work
18:15:28 <AnMaster> ais523, ""the division routine of the standard INTERCAL library has a really cool hack that I hadn't seen before"" <-- what is that hack I wonder?
18:15:45 <ais523> AnMaster: it's how to do a greater-than in INTERCAL
18:16:03 <ais523> basically, you look for the most significant bit that differs between the two numbers
18:16:09 <ais523> the greater number will have a 1 in that bit
18:16:28 <ais523> well, it isn't really sane
18:16:34 <AnMaster> I assume that is what a computer does internally?
18:16:35 <ais523> that's the easiest way to do greater-than in INTERCAL
18:16:41 -!- oklopol has quit (Read error: 110 (Connection timed out)).
18:16:47 <ais523> AnMaster: no, computers subtract and see if the answer is negative
18:16:54 <ais523> that doesn't require doing bit-searches
18:17:25 <ais523> s/negative/overflows/ if you're using unsigned numbers
18:28:16 -!- pikhq has joined.
18:33:23 -!- ais523 has quit (Remote closed the connection).
18:33:40 -!- ais523 has joined.
18:34:28 <RodgerTheGreat> http://www.nonlogic.org/dump/text/1215189574.html <- have a look at this and read the logs- I think I have a solution to the pointer issue
18:38:10 -!- ais523 has quit (Remote closed the connection).
18:38:27 -!- ais523 has joined.
18:45:38 -!- 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"").
18:52:27 <Slereah_> The Inspector Gadget theme is way better in French
18:54:04 <tusho> Slereah_: dunanunanun INSPECTOR GADGET
19:04:02 <Slereah_> You don't know Inspector Gadget either?
19:04:17 <Slereah_> What did you do with your childhood, being a productive member of society?
19:04:36 <Slereah_> What do they show you for cartoons in Sweden?
19:05:07 <Slereah_> http://youtube.com/watch?v=IOOPsMNiiIM
19:05:13 <Slereah_> Come on, there even was a movie of it!
19:05:33 <Slereah_> The plot is that it's a dude with a robotic body fighting crime.
19:05:43 <GregorR> Even given the subject that movie was pretty terrible :P
19:05:51 <Slereah_> But he's retarded, so it's actually his niece and the dog of the niece doing the actual crime fighting.
19:06:29 <tusho> i loved inspector gadget so much
19:06:48 <tusho> that intro is crazy though
19:06:50 <tusho> the guy sounds mentally ill
19:07:07 <Slereah_> Well, at least there's lyrics :o
19:07:38 <Slereah_> I want to sing it without looking too retarded.
19:07:43 <tusho> it totally blew my mind at the edit of the credits sequence when it said '1984'
19:07:49 <Slereah_> I can't just sing "INSPECTOR GADGET WOO HOO3
19:07:50 <tusho> HOLY SHIT THERE WERE PEOPLE IN 1984??????????????
19:08:01 <tusho> TELEVISIONS???????
19:08:07 <tusho> THE WORLD WAS IN _COLOUR_?????????
19:08:29 -!- oklopol has joined.
19:09:44 <Slereah_> What the hell did you watch during your childhood.
19:09:46 <tusho> yeah, what did you do
19:09:52 <tusho> maybe he is like actually 3
19:09:55 <tusho> and he's some kind of supercoder
19:09:56 <AnMaster> Slereah_, watch? I didn't have TV
19:10:12 <tusho> maybe he's like 104
19:10:17 <tusho> that would work too
19:10:33 <Slereah_> I mean, not knowing Inspector Gadget or Knight Rider?
19:10:43 <AnMaster> tusho, nah just high hills and around where I lived so no TV was possible
19:10:44 <Slereah_> That takes some hermit powers.
19:10:55 <tusho> Slereah_: i'm a hermit and I know about them
19:11:16 <AnMaster> I live in a town these days though
19:11:33 <Slereah_> AnMaster : Go on the pirate bay
19:11:42 <Slereah_> And download every Inspector Gadget cartoons.
19:11:46 <AnMaster> Slereah_, no time, reading some interesting coding standard documents atm
19:11:47 <tusho> Slereah_: SOUND ADVICE.
19:12:03 <tusho> AnMaster: I'm sure they're like 100x more fun than inspector gadget
19:12:06 <AnMaster> Slereah_, also that would be illegal
19:12:11 <tusho> They're thrilling and exciting!
19:12:14 <AnMaster> tusho, what? US military C++ specs
19:12:24 <Slereah_> What will you do if a guy asks you about Inspector Gadget at gunpoint, AnMaster?
19:12:39 <tusho> Yeah anyone got a gun to lend me?
19:13:03 <tusho> AnMaster: FYI, martial arts aren't very useful when you've just been shot
19:13:09 <Slereah_> He uses some form of Marxist martial art.
19:13:11 <tusho> Unless you're in a kung-fu movie.
19:13:17 <tusho> THE MORE YOU KNOW!
19:14:02 <Slereah_> Fun fact : One of the top dude for "Hand to hand combat killing in a situation of actual war" didn't use martial arts at all.
19:14:52 <tusho> Slereah_: I should try that with ais523
19:15:09 <Slereah_> Well, you could also use a gun
19:15:22 <tusho> Yeah more effective I guess
19:15:33 <tusho> do you think he knows intricate details of each episode of inspector gadget?
19:15:46 <tusho> he'd better unless he's like some kind of extreme masochist who loves being shot
19:16:22 <Slereah_> Well, he seems like a smart lad, solving incredible problems of the 2,3 machine and all
19:16:32 <Slereah_> He's probably wise on the whole Inspector Gadget thing.
19:21:26 <cctoide> hey it's #friendsofcctoide
19:22:28 -!- Hiato has joined.
19:23:21 -!- Hiato has quit (Client Quit).
19:37:34 <tusho> p->mem_func(*p++, i = v[++i] + 1)
19:37:44 <tusho> I HAVE CREATED A MONSTER
19:37:54 <tusho> AnMaster: it is coming to defeat us all
19:37:56 <tusho> ..p->mem_func(*p++, i = v[++i] + 1)
19:37:57 <tusho> ....p->mem_func(*p++, i = v[++i] + 1)
19:37:59 <tusho> ......p->mem_func(*p++, i = v[++i] + 1)
19:38:03 <tusho> (it's walking oh god)
19:38:04 <tusho> ........p->mem_func(*p++, i = v[++i] + 1)
19:38:05 <tusho> ..........p->mem_func(*p++, i = v[++i] + 1)
19:38:06 <tusho> ............p->mem_func(*p++, i = v[++i] + 1)
19:38:13 <tusho> ............p->mem_func(*p++, i = v[++i] + 1) <( ROAR )
19:38:18 <tusho> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH IT'S ROARING
19:38:24 <tusho> ............p->mem_func(*p++, i = v[++i] + 1) <( ROAR )|X
19:38:29 <tusho> (that's your slaying being deflected)
19:38:32 <tusho> ............p->mem_func(*p++, i = v[++i] + 1) <( ROAR ).............|X
19:38:33 <tusho> ............p->mem_func(*p++, i = v[++i] + 1) <( ROAR )......................|X
19:38:36 <tusho> ............p->mem_func(*p++, i = v[++i] + 1) <( ROAR )
19:38:40 <tusho> ..............p->mem_func(*p++, i = v[++i] + 1)
19:38:41 <tusho> ................p->mem_func(*p++, i = v[++i] + 1)
19:38:42 * AnMaster gets out his trusty Snickersnee
19:38:42 <tusho> ..................p->mem_func(*p++, i = v[++i] + 1)
19:38:44 <tusho> ....................p->mem_func(*p++, i = v[++i] + 1)
19:38:45 <tusho> ......................p->mem_func(*p++, i = v[++i] + 1)
19:38:46 <tusho> ........................p->mem_func(*p++, i = v[++i] + 1)
19:38:48 <tusho> ..........................p->mem_func(*p++, i = v[++i] + 1)
19:38:49 <tusho> ............................p->mem_func(*p++, i = v[++i] + 1)
19:38:55 <tusho> ............................p->mem_func(*p++, i = v[++i] + 1) <( ROOOOOOOOOOOOOOOOOAAAAAAAAAAAR MOTHERFUCKER)
19:39:51 <AnMaster> "The vorpal blade went snicker-snack!"
19:40:00 <tusho> OM NOM NOM NOM NOOM
19:40:30 * tusho EATS INDIGESTION FOR BREAKFAST
19:40:43 <tusho> Slereah_: WTF ARE YOU DOING MAN
19:41:25 <Slereah_> 3 : EATIN SUM [item being eaten]
19:41:33 <tusho> Slereah_: i liek kittens
19:42:21 -!- Hiato has joined.
19:44:02 <AnMaster> tusho, what?! I didn't know that
19:44:12 <AnMaster> <tusho> kittens <tusho> fuck you <-- they do?
19:44:19 <AnMaster> well I'm glad I don't have a cat
19:44:27 <tusho> AnMaster: oh yes, yes they do
19:48:43 <Slereah_> AnMaster : Man, in what kind of hut do you live in Sweden?
19:48:57 <Slereah_> Have you never seen the rampant cat raping problem?
19:50:49 -!- puzzlet_ has joined.
19:54:23 <Slereah_> You would know if you watched Inspector Gadgety
19:54:34 <AnMaster> Slereah_, what about turtles then?
19:55:27 <AnMaster> hm I just got an idea: C with Objects
19:55:31 <AnMaster> it would be less messy than C++
19:55:51 <AnMaster> (yes I know C++ was called C with objects once)
19:59:09 <Deewiant> much smarter idea: help people make Tango work on x86-64
19:59:20 <tusho> Deewiant: no, that'd involve TOUCHING D
19:59:26 <tusho> how can AnMaster do that, with how much it is awful!
19:59:56 <Deewiant> yes, writing your own language from scratch is a much better idea... at least you won't get CONTAMINATED
20:00:22 <tusho> Deewiant: it'll be able to write kernels, too
20:00:28 <tusho> that's important when writing a befunge interpreter
20:01:23 <Deewiant> (but I note that one can write kernels in D, it's been done)
20:01:32 <tusho> Deewiant: but it's NOT EASY
20:01:40 <tusho> how will we develop kernels otherwise?
20:01:46 <tusho> are you a kernel-hating COMMUNIST?
20:02:14 <tusho> Deewiant: I bet you don't even make sure your C code runs faster than POSIX 1.0 interface test module!
20:02:24 <AnMaster> Deewiant, I think D will be nice
20:02:37 <AnMaster> however phobos already does that iirc?
20:02:51 <tusho> once it WORKS PROPERLY
20:02:55 <tusho> it is UNFIXABLY BROKEN
20:03:01 <tusho> because it doesn't work PERFECTLY on x86-64
20:03:15 <Deewiant> I suspect that the main reason phobos works in cases where tango doesn't is that phobos uses the C stdlib to implement much of its functionality
20:03:21 <Deewiant> whereas tango uses kernel calls directly
20:03:47 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
20:03:48 <AnMaster> Deewiant, so tango will be hard to port to freebsd and so on
20:04:07 <AnMaster> Deewiant, hm? doesn't both use libc routines?
20:04:17 <AnMaster> you just said tango does syscalls itself
20:04:34 <AnMaster> Deewiant, and no I don't know what you meant
20:04:51 <Deewiant> what I meant is open(2) instead of open(3)
20:07:43 <Deewiant> (and on Windows, that'd be CreateFileW)
20:08:36 * tusho wonders if it's reasonable to require people posting on his blog to have an openid
20:08:38 <tusho> (comments that is)
20:11:18 <pikhq> I think Tango only has a single line of code that doesn't build on x86_64 properly.
20:11:32 <pikhq> I would have fixed it if I knew WTF was going on in said line.
20:11:40 <Deewiant> I pasted 4 open Tango tickets regarding x86_64 yesterday
20:11:44 <tusho> pikhq: What is the line?
20:11:45 <Deewiant> don't know which ones are critical, though.
20:12:01 <tusho> And does anyone have an opinion on what I said? :P
20:12:14 <pikhq> Somewhere in the regexp functions.
20:12:17 <Deewiant> I comment on blogs only very rarely
20:12:29 <Deewiant> so my opinion is probably fairly worthless.
20:12:39 <tusho> Deewiant: It only takes a second to get one: https://www.myopenid.com/
20:12:47 <Deewiant> why get one when I don't need one
20:13:00 <tusho> True. But, like you said, you're unlikely to comment on my blog. :P
20:16:55 -!- Hiato has quit (Read error: 104 (Connection reset by peer)).
20:19:48 <AnMaster> idea for crazy versioning system for software:
20:20:42 <tusho> anyone re: the openid thing?
20:20:48 <AnMaster> instead of alpha, beta, and so on, use omega, and backwards
20:21:23 <AnMaster> so it would be: omega, psi, chi, phi, ...
20:27:23 -!- puzzlet has joined.
20:27:37 <tusho> AnMaster: yeah, I don't think I need your opinion
20:27:40 -!- puzzlet_ has quit (Remote closed the connection).
20:27:59 <Slereah_> I mean, I thought it was alpha->beta->finished
20:28:50 <AnMaster> Slereah_, gamma would be release candidate?
20:28:50 <Slereah_> Let's talk of old cartoons to confuse AnMaster.
20:48:14 <tusho> oklopol: Do you have an OpenID?
21:02:51 <tusho> cctoide: do you have an openid
21:03:27 <cctoide> probably, since I registered for an LJ account once
21:17:41 -!- RedDak has joined.
21:18:02 <pikhq> Slereah_: Some free software does alpha -> beta -> release candidate -> release.
21:30:13 <Slereah_> But there is no gamma->delta->...
22:17:42 -!- Sargun has joined.
22:19:08 -!- puzzlet_ has joined.
22:20:08 -!- djgera has joined.
22:28:11 -!- djgera has left (?).
22:32:52 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
23:04:01 -!- ihope has joined.
23:09:50 -!- Judofyr has quit (Client Quit).
23:16:00 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
23:24:06 -!- ihope_ has joined.
23:26:02 -!- ihope has quit ("ChatZilla 0.9.83 [Firefox 2.0.0.15/2008062306]").
23:35:37 <tusho> oklopol: do you have an openid
23:36:16 <oklopol> unless you can have it without knowing it.
23:36:33 <tusho> oklopol: if you read the most awesome post about oko code on my blog and you wanted to leave a comment about how much you love me
23:36:45 <tusho> would you still do it if you had to take about 2 seconds to get an openid at https://www.myopenid.com/
23:36:49 <tusho> before you could post it
23:37:40 <tusho> oklopol: hmmmmmmmmmm?
23:38:04 <oklopol> i'm really just popping by
23:38:17 <tusho> this is still super important <______________________________________________<
23:39:35 <tusho> oklopol: WELL??????????????????????????!111111111111 ;_________;
23:40:22 <tusho> oklopol: oh good. so you would take the time
23:40:25 <oklopol> didn't get the confirmation thingie yet.
23:40:37 <tusho> oklopol: o, btw. this is what you can now put into any openid enabled site
23:40:40 <tusho> oklopol.myopenid.com
23:40:43 <tusho> and use it without signing up
23:41:05 <tusho> Which basically amounts to putting oklopol.myopenid.com in the OpenID field on my blog, really. :P
23:42:06 <oklopol> i made it send the confirmation to oklopol@gmain.com :)
23:42:44 <oklopol> i typoed gmail->gmain already once today
23:42:48 <tusho> oklopol: when you get it working make sure you set your name thing to 'oklopol'
23:42:54 <tusho> otherwise on my blahhg it'll show as oklopol.myopenid.com
23:42:59 <tusho> which sux more than 'oklopol'
23:43:27 <oklopol> i don't really know how to get it working now
23:43:44 <tusho> oklopol: you could resign up as oklofok
23:44:15 <tusho> surely there's something you can do
23:44:17 <oklopol> but i'm going to sleep now, so another day.
23:44:29 <oklopol> they will hopefully drop me after a while
00:44:00 -!- jix has quit ("CommandQ").
01:26:40 -!- GreaseMonkey has joined.
01:44:23 -!- puzzlet_ has quit (Remote closed the connection).
01:44:28 -!- puzzlet has joined.
01:51:47 -!- tusho has quit.
01:54:27 -!- puzzlet has quit (Remote closed the connection).
01:54:31 -!- puzzlet has joined.
02:56:05 -!- Parma-Quendion has changed nick to Quendus.
05:07:27 -!- ihope_ has quit (Read error: 110 (Connection timed out)).
05:39:27 -!- GreaseMonkey has changed nick to DarkPants.
06:37:04 -!- DarkPants has quit ("Remote closed the previous member app").
06:40:27 -!- pikhq has quit ("leaving").
07:15:41 -!- GregorR has quit (Remote closed the connection).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:01:39 <oklopol> also, i wouldn't say it's bad to require openid, not that hard to sign up for
09:02:30 <oklopol> (especially if the alternative is to require one to register on your blog separately :P)
09:03:46 <oklopol> why didn't that bitch actually link to the blogger.
09:04:17 <oklopol> linked earlier, perhaps i need to logsearch
09:10:11 -!- sebbu has quit (Read error: 110 (Connection timed out)).
09:18:38 -!- TheBlunderbuss has joined.
09:20:20 <TheBlunderbuss> http://developers.slashdot.org/article.pl?sid=08/07/04/229213
09:20:24 <AnMaster> I don't think we can take a slashdotish storm
09:20:53 <AnMaster> TheBlunderbuss, yes I have seen the article yesterday
09:20:56 <TheBlunderbuss> Article about spoof language. Comments containing brainfsck and whitespace. ##brainfuck mentions this channel in the topic *shrug*
09:21:12 <AnMaster> TheBlunderbuss, yes this is about all esoteric languages
09:21:21 <AnMaster> from intercal to befunge and everything else too :)
09:21:57 <AnMaster> TheBlunderbuss, I myself like befunge
09:22:08 <TheBlunderbuss> I like the idea though - some with the whole sort of romantic, industrial sense of trying to keep compiler size down. 240 bytes, shit.
09:22:19 * AnMaster has coded a fast interpreter for it (don't slashdot or digg it or anything, the server can't take that!)
09:24:26 <Slereah_> I don't want to be slashdotted.
09:24:33 <Slereah_> If I get slashdotted, I'll scream.
09:24:39 <TheBlunderbuss> "Befunge ... [invented] with the goal of being as difficult to compile as possible. "
09:25:20 <AnMaster> and yes it was invented with that in mind
09:25:37 <AnMaster> I think it could be possible to JIT it though
09:25:43 <AnMaster> but I lack the knowledge to do that
09:26:22 <TheBlunderbuss> These languages are like they're lifted from science fiction. Ohh I'll have a good time telling my buddy about these :)
09:26:30 <AnMaster> like java does with it's bytecode and such
09:27:00 <Slereah_> Nah, they're lifted from incredibly stupid ideas
09:27:07 -!- deveah has joined.
09:27:28 <Slereah_> "Hey guys, let's make a language based on that obscure computing model"
09:27:43 <Slereah_> "Hey dudes, let's make a language based on a stupid theme"
09:28:03 <deveah> well it's 11:27 for me
09:28:07 <AnMaster> TheBlunderbuss, check taxi on the esolang wiki
09:28:40 <AnMaster> Slereah_, I find Taxi to be one of the best theme languages
09:28:51 <deveah> where's ma brotha when you need him?
09:28:57 <TheBlunderbuss> And also http://esolangs.org/wiki/X-D a language based on emoticons :D
09:29:26 <Slereah_> Check out Rube, too, it's quite awesome
09:29:54 <AnMaster> oh yes the "warehouse paradigm"
09:31:32 <Slereah_> Also check out NTCM and Lazy Birds, which are awesome because they're mine </totally non-biased>
09:31:44 <deveah> you know, altrough programmers are usually hardcore, i find you guys pretty "calm"
09:32:35 <AnMaster> Slereah_, ntcm does look interesting
09:32:39 <deveah> verbally violent and capable of doing programming shit noone thought it would be possible
09:32:59 <AnMaster> Slereah_, multiple memory segments basically
09:33:35 <Slereah_> Well, I actually did it because I couldn't understand parts of Turing's article
09:33:51 <Slereah_> Plus, the challenge is to not use the multiple tapes!
09:34:00 <Slereah_> Since everything can be done on one.
09:34:22 <AnMaster> Slereah_, yes but why did you make it then?
09:34:26 <Slereah_> There's actually features that aren't discussed on the page because they don't work so well or they're OS-specific.
09:34:40 <Slereah_> Well, I wanted it to be complete.
09:35:05 <AnMaster> you could just do brainfuck + 2 commands to move up/down between the tapes
09:35:13 <Slereah_> Yeah. The Love Machine 9000 (as is its real name) has a musical command.
09:35:28 <Slereah_> Brainfuck is actually not at all a Turing machine.
09:35:45 <Slereah_> You can write notes on the tape, and the interpreter would read them with the PC speaker
09:35:58 <Slereah_> But in my interpreter, it uses winsound, so it doesn't work on Linux
09:36:01 <AnMaster> Slereah_, eh read with pc speaker?
09:36:16 <AnMaster> sure they logically work the same
09:36:24 <AnMaster> but you can't listen to the pc speaker afaik
09:36:24 <Slereah_> It reads the notes on the tape
09:36:31 <Slereah_> Then plays them on the PC Speaker
09:36:48 <Slereah_> and then you enjoy the fine music
09:36:59 <AnMaster> Slereah_, so how is it a programming language?
09:37:03 <Slereah_> winsound is windows specific (It's a python library)
09:37:10 <AnMaster> you mean the notes have side effects?
09:37:33 <Slereah_> Nah. I just put them there to play the Monkey Island theme on a Turing machine
09:37:40 <Slereah_> I still have the program somewhere.
09:38:33 <Slereah_> Another feature that isn't on the wiki is the 2D option.
09:38:43 <Slereah_> I never could get it to work right.
09:39:18 <Slereah_> I do'nt even know what that is
09:39:32 <AnMaster> POSIX as in FreeBSD, Linux, Solaris and so on
09:40:19 <AnMaster> Slereah_, describes stuff like what libc functions should exist, how sockets should work, how the shell should work and so on
09:40:21 <Slereah_> Here's a picture of the 2D version : http://membres.lycos.fr/bewulf/Russell/Hello.png
09:40:40 <Slereah_> I was never able to get it to work correctly
09:40:43 <AnMaster> Slereah_, what does UPP mean there?
09:41:27 <AnMaster> Slereah_, why the extra P as I don't think that is Swedish?
09:41:30 <Slereah_> Almost every instruction is 2 letters long, AnMaster.
09:41:42 <AnMaster> Slereah_, it looks like 3 letters in that screenshot
09:42:56 <Slereah_> Here it is without spaces : http://membres.lycos.fr/bewulf/Russell/Hello2.png
09:43:55 <AnMaster> Slereah_, why is there an odd line on it?
09:44:15 <Slereah_> That's the print screen of Linux.
09:44:26 <AnMaster> TheBlunderbuss, http://esolangs.org/wiki/Perl too
09:44:34 <Slereah_> The mouse cursor leaves a trail for some reason
09:44:43 <AnMaster> Slereah_, oh, never seen that on Linux
09:45:11 <AnMaster> Slereah_, what terminal are you using?
09:45:21 <AnMaster> I don't see it in either xterm or konsole
09:45:29 <AnMaster> TheBlunderbuss, that is the joke... duh :P
09:46:19 <AnMaster> Slereah_, I asked what terminal, not what distro btw
09:46:33 <Slereah_> Well I don't know what it means
09:46:39 <AnMaster> TheBlunderbuss, well perl has in some parts an esoteric syntax
09:46:45 -!- deveah has left (?).
09:46:51 <AnMaster> Slereah_, well does it say xterm?
09:47:21 <AnMaster> ah, well I guess what TheBlunderbuss suggested
09:47:23 <Slereah_> I can't check, because I can't access it no more.
09:49:07 <Slereah_> It's not like I can go back on it!
09:51:41 <TheBlunderbuss> Yeah, because my compiz suggestion doesn't hold water if you weren't using that version, where it's on by default. It wreaks all kinds of havok on Wine
09:54:22 -!- oklopol has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )").
09:56:48 <Slereah_> I'd like to redo the dual booting thing, but my hard drive seems brokin D:
09:58:31 <Slereah_> But esolangs can also be done using computation theory!
09:59:06 <TheBlunderbuss> Kinda like a composer who doesn't know how a piano works
09:59:12 <Slereah_> As with the current project : http://esolangs.org/wiki/Limp
10:00:04 <Slereah_> Nothing in my languages use more than computational models and some sort of I/O.
10:00:21 <Slereah_> It can still be a bitch to program though.
10:02:58 <Slereah_> I only tried one themed language.It is horrible D:
10:02:59 <Slereah_> http://esolangs.org/wiki/User:Slereah/Arithmetica
10:04:36 <Slereah_> I never could find a way to express priority
10:05:00 <Slereah_> There's no grouping symbol in western mathematics until the 12th century
10:06:19 <Slereah_> It was actually a bar over the grouped symbols first.
10:06:27 <Slereah_> Parenthesis are... 15th century?
10:06:29 -!- sebbu has joined.
10:07:03 <Slereah_> "Parentheses ( ) are "found in rare instances as early as the sixteenth century" (Cajori vol. 1, page 390)."
10:08:26 <Slereah_> Before the Renaissance, western mathematics was pretty shitty on the notation side.
10:08:50 <Slereah_> And before the Arithmetica, there were pretty much no notations at all.
10:09:15 <AnMaster> Slereah_, you don't need (), you could use RPN
10:10:22 <jamesstanley> Some site said 'Brainfuck is a minimalistic but almost Turing-complete programming language'
10:10:43 <AnMaster> jamesstanley, of course no actual implementation is turing complete
10:10:51 <AnMaster> as computers doesn't have infinite memory
10:10:59 <AnMaster> you need infinite memory to be turing complete
10:11:06 <AnMaster> which the language itself allows
10:11:37 <Slereah_> It can be rough on most computers.
10:11:47 <AnMaster> jamesstanley, any implementation, like any computer, will be a bounded-storage machine
10:11:56 <AnMaster> and yes you need infinite time too
10:12:05 <jamesstanley> I thought it was reasonable to call something turing-complete without that, that's all
10:12:22 <AnMaster> jamesstanley, but yes brainfuck is Turing complete
10:12:36 <Slereah_> I once tried to make a language that had infinite memory without infinite storage.
10:12:48 <Slereah_> But this was met with failure.
10:14:06 -!- RobHu has joined.
10:14:09 <Slereah_> Really, when I read those articles on theoretical machines better than Turing machines, I can't help but think that you first need to do somethig really TC D:
10:14:39 <RobHu> What is the name of the esoteric language that consists of coming on IRC and specifying your program (in this channel I think) ?
10:16:12 <Slereah_> It used to be here, but then got annoying.
10:17:58 <Slereah_> Self interpreters are also quite easy.
10:18:06 <RobHu> This search all started when someone sent me a link to the Brainfuck interpreter someone recently released that is written in LOLcode
10:18:29 <Slereah_> There's Brainfuck interpreters in a bajillio languages
10:18:47 <Slereah_> Yeah, IRP isn't popular anymore
10:19:02 <Slereah_> Brainfuck is usually the first language implemented on a new esolang
10:19:51 <Slereah_> Then you've got nuts like Oerjan who implements Unlambda on INTERCAL D:
10:24:41 -!- RobHu has quit.
10:30:10 <Slereah_> But remember the noblest quine of all : the cheating quine.
10:30:36 <TheBlunderbuss> the one that merely prints a file containing the source?
10:30:54 <Slereah_> There are a number of ways to cheat.
10:31:09 <Slereah_> You can just use a language that can literaly prints the source code, yes
10:31:20 <Slereah_> The empty string is also a quine in many languages
10:31:43 <Slereah_> And the most cheating quine I've ever seen is the kind where you use error messages.
10:32:57 <Slereah_> You write "Command not recognized" as your program, and the interpreter outputs that.
10:33:42 <Slereah_> They have a special name, but I forgot
10:33:57 <Deewiant> AnMaster: meh, evidently rafb only holds pastes for a day... you wouldn't happen to have any CCBI-breaking TURT code still around?
10:34:51 <AnMaster> http://rafb.net/p/GxNjSm13.html
10:34:54 <Deewiant> I could use the quine but it's a bit too big :-)
10:35:09 <Deewiant> and have you gotten it to work yet?
10:35:19 <Slereah_> http://www.nyx.net/~gthompso/self_kim.txt
10:35:21 <AnMaster> Deewiant, haven't had time to test
10:37:28 <AnMaster> Deewiant, currently configuring 2.6.25 kernel
10:42:18 <AnMaster> Deewiant, note that I expect there are bugs in my TURT too
10:42:28 <AnMaster> Deewiant, however I will be away next week so
10:42:54 <AnMaster> Deewiant, please point out any bugs today :)
10:43:11 <AnMaster> Deewiant, and yes I know bg color is broken in both ccbi and cfunge
10:43:27 <Deewiant> not "broken", just "forgot to implement it" :-P
10:43:31 <TheBlunderbuss> What separates a 2 command language from just binary? Is it because the language is mathematical, and a binary is machine code?
10:43:38 <AnMaster> Deewiant, svg doesn't support it
10:43:56 <AnMaster> Deewiant, that doesn't fill it all
10:44:04 <Slereah_> TheBlunderbuss : Binary is a way to code it.
10:44:17 <Slereah_> 1 and 0 don't have any meaning by themselves
10:44:21 <AnMaster> TheBlunderbuss, why not use ternary?
10:44:42 <AnMaster> Slereah_, you could encode it as graycode too
10:45:27 <AnMaster> Deewiant, I guess the same size as the viewbox
10:45:39 <AnMaster> Deewiant, however I think having transparent image is cool
10:45:42 <Slereah_> TheBlunderbuss : In Brainfuck, + alone makes sense.
10:45:59 <Slereah_> in some binary encoding, 1 alone doesn't mean anything.
10:46:02 <AnMaster> Deewiant, actually an idea would be to make that the default I guess
10:46:19 <Slereah_> Well, the computer is just a way to implement it.
10:46:36 <AnMaster> Deewiant, and only if someone used the N instruction then draw the rectangle
10:46:52 <Deewiant> AnMaster: I already did it like that :-)
10:47:05 <TheBlunderbuss> In order to give the computer instruction, it needs binary, right?
10:47:27 <Slereah_> You can build computers without binary.
10:47:43 <Slereah_> hell, back in the days, computing models were meant to be used by people.
10:47:45 <TheBlunderbuss> How do you go from a language to something the computer can understand?
10:47:55 <Slereah_> The computer was a dude that had a pen and some paper
10:48:28 <TheBlunderbuss> A bunch of dudes, for more complex algorithms. "Jane, you take all even numbers, and subtract five. Billy you take Janes numbers and..."
10:48:53 <Slereah_> Plenty of algorithms are used by dudes!
10:49:11 <Slereah_> But computing models weren't meant to actually compute
10:49:28 <Slereah_> They were just theoretical bases to think on what it means to compute
10:49:50 <Slereah_> Also, as you might now, not all computers are binary.
10:50:00 <TheBlunderbuss> Brainfuck needs a compiler. So what does it compile to?
10:50:12 <Slereah_> Well, machine code in most cases.
10:50:30 <Slereah_> Binary. But this is implementation specific.
10:51:12 <Slereah_> You could build for instance a mechanical machine for Brainfuck.
10:51:14 <TheBlunderbuss> A single command in the language could compile into a huge block of 1's and 0's, yes?
10:51:34 <Slereah_> Depends. With BF, you can go by with 3.
10:51:44 <Slereah_> Or 2, if you use reduced versions.
10:52:00 <TheBlunderbuss> Because someone asked me "if you have a 2-command language, why not just use binary?"
10:52:24 <Slereah_> Well, you can. But 2 commands doesn't mean 2 symbols very often.
10:52:43 <Slereah_> I'm not sure there's actually any 2 commands - 2 symbols languages.
10:53:04 <Slereah_> Because there's the dreaded END OF FILE
10:53:36 <Slereah_> Even if you manage to trim it down to two nullary commands, you'll need end of file with 2 commands.
10:53:58 <Slereah_> Lazy K gets by with 3 symbols - 2 functions and no need for end of file
10:54:38 <Slereah_> Iota has 1 functions - 2 symbols and no need for EOF, but I feel it's a little cheaty.
10:57:07 <AnMaster> Deewiant, ok now cfunge got it too
10:59:19 -!- TheBlunderbuss has left (?).
11:31:21 <AnMaster> Deewiant, the turt quine almost works
11:31:36 <AnMaster> odd horizontal lines on top of everything
11:32:38 <Deewiant> I'm in the process of patching Tango so that my code compiles ^_^
11:32:54 <AnMaster> Deewiant, does the TURT quine work for you?
11:33:04 <Deewiant> given that my code doesn't compile
11:33:06 <AnMaster> http://rafb.net/p/hjXLXn25.html
11:33:17 <AnMaster> Deewiant, however that got odd horizontal lines
11:33:18 -!- jix has joined.
11:33:23 <AnMaster> I think the code doesn't end the path when it should
11:33:34 <AnMaster> have to figure out a test case for it
11:33:52 <AnMaster> Deewiant, try to watch it, though it is huge
11:34:35 <AnMaster> http://rafb.net/p/zRq0yD49.html WARNING 256 KB
11:35:02 <AnMaster> Deewiant, that is cfunge output
11:35:36 <AnMaster> Deewiant, however I got no idea if that is on fingerprint side or not
11:37:21 <AnMaster> Deewiant, current output look more like hieroglyphs heh
11:47:40 -!- oklopol has joined.
12:19:43 <Deewiant> AnMaster: okay, starting to look at your befunge finally...
12:20:08 <Deewiant> first of all, you clear the background to color = 18 and then don't set a pen colour
12:20:40 <Deewiant> so if the default pen colour is black (a reasonable assumption, though undefined) one can't really see much of anything there. :-P
12:25:10 -!- timotiis has quit (Read error: 110 (Connection timed out)).
12:44:46 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
12:45:03 -!- Slereah_ has joined.
12:59:15 <AnMaster> Deewiant, yes agree, fixed version a sec
12:59:29 <AnMaster> Deewiant, http://rafb.net/p/9bpxzO20.html
12:59:38 <AnMaster> I did that myself some hours ago
13:01:15 <AnMaster> then the line saying "green tint" should say "blue tint"
13:03:00 <AnMaster> http://rafb.net/p/Gs1Ywl27.html
13:06:42 -!- olsner has joined.
13:09:54 -!- RedDak has joined.
13:16:38 <AnMaster> hrrm how to rewrite this as non-recursive: http://rafb.net/p/G3hrFO24.html
13:19:59 -!- Corun has joined.
13:26:28 <AnMaster> Slereah_, static means local to file
13:43:30 <Slereah_> But I am utterly terrible at guessing D:
13:54:15 -!- Corun has quit ("This computer has gone to sleep").
13:54:32 -!- deveah has joined.
14:14:25 -!- deveah has left (?).
14:15:48 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
14:19:34 -!- Judofyr has joined.
14:38:09 <Deewiant> the quine does indeed seem to result in a bunch of lines
14:40:46 <AnMaster> Deewiant, nice you fixed it, now you are conforming again (more or less)
14:41:03 <Deewiant> and the output in general is incorrect, the letters don't look like in the example
14:41:04 <AnMaster> as for the lines, not sure of the cause, I guess either the quine assumes a off by one error in paths, or we do?
14:42:19 <AnMaster> Deewiant, there may be other bugs of course
14:42:34 <AnMaster> for example my test program doesn't test everything that is possible to test
14:42:46 <Deewiant> but as long as there aren't, we're good. ;-)
14:43:02 <AnMaster> Deewiant, I suspect there may be an error when doing "draw a line, pen up, *one* B or F instruction, pen down, print"
14:43:06 <oklopol> you noobs, my programs never have bugs
14:43:06 <Deewiant> of course not, SOCK for instance would run for an hour if you tried to test every combination
14:44:31 <AnMaster> it was something I noted and need to write a proper test for
14:45:16 <AnMaster> anyway I think I fixed that bug myself
14:53:48 -!- pikhq has joined.
14:58:39 <pikhq> Sweet. INTERCAL on /.
15:02:10 <pikhq> Someone new I can shove Dimensifuck on, perhaps? :p
15:02:34 <Deewiant> AnMaster: haha, fixed that bug and now the quine looks even worse
15:02:49 <AnMaster> Deewiant, what was the issue with that bug
15:03:06 <AnMaster> Deewiant, so tell me about it to save me some work :D
15:03:11 <Deewiant> if (penDown || (pic.path && pic.path.penDown)) {
15:03:19 <Deewiant> I thought that the latter part of the || was redundant
15:03:33 <Deewiant> so evidently it wasn't redundant
15:03:44 <Deewiant> "TRUT"4(n0H1Pf1+:*::**1-Naa*F0PaF1PI@
15:04:09 -!- Corun has joined.
15:04:10 <Deewiant> now I need to figure out why it isn't redundant
15:04:30 <AnMaster> Deewiant, interesting tell me when you find out, our code is quite similar
15:14:32 -!- olsner has quit.
15:14:45 <Deewiant> muah, everything works now, quine included
15:17:39 <Deewiant> although the quine is a bit buggy, as I suspected
15:17:47 <Deewiant> because !Befunge doesn't implement the dots
15:18:03 <Deewiant> so the correct result of the quine looks quite dotty
15:18:49 <Deewiant> AnMaster: but yeah, the logic regarding addPath() in move() is wrong
15:19:06 <Deewiant> the correct way to do it is to remove the latter part of the || mentioned above
15:19:20 <Deewiant> and then add the following at the beginning of move()
15:19:22 <Deewiant> a7+3*5*N 0C 11x> ; Clear with blue. Set pen to black ;
15:19:22 <Deewiant> 0H 1P 11x> ; Set direction, pen down. ;
15:19:22 <Deewiant> 52*1-F 0P 2F 1P 53*1-F 11x> ; Draw first line with a gap in it. ;
15:19:35 <Deewiant> if (penDown && movedWithoutDraw)
15:20:06 <Deewiant> that's the needed fix to make everything work
15:22:22 <Deewiant> which part did you not get :-P
15:22:34 <AnMaster> Deewiant, is this below the line:
15:22:36 <AnMaster> "// a -> ... -> z is equivalent to a -> z if not drawing"
15:23:09 <AnMaster> Deewiant, penDown == pic.penDown or turt.penDown?
15:23:29 <Deewiant> 2008-07-05 17:03:10 ( Deewiant) IIif (penDown || (pic.path && pic.path.penDown)) {
15:23:33 <Deewiant> 2008-07-05 17:19:05 ( Deewiant) the correct way to do it is to remove the latter part of the || mentioned above
15:27:18 <AnMaster> Deewiant, oh mycology got an error
15:27:23 <AnMaster> it sets background color to 0x1
15:27:38 <pikhq> kmain[flimble, booble, babble]
15:27:57 <AnMaster> Deewiant, so yes it shows two circles in mycology's test of TURT
15:28:01 <AnMaster> however.. they are not visible
15:28:16 <Deewiant> in fact, I was going to ask you
15:28:25 <Deewiant> do you feel like writing a proper mycology test for TURT
15:28:44 <Deewiant> don't worry about making it tight enough to fit where it needs to, I can do that
15:29:42 <Deewiant> since I know you're averse to writing compact Befunge ;-)
15:29:46 <AnMaster> Deewiant, yes maybe, however probably at end of next week, I'm going to Norway in a few days and no computer or internet
15:30:09 <pikhq> AnMaster, you should totally meet Oerjan while you're there.
15:30:38 <pikhq> Don't remember where he is in Norway.
15:30:52 <AnMaster> Deewiant, if (penDown && movedWithoutDraw) <-- that breaks
15:31:06 <AnMaster> Deewiant, try my test case I made before
15:31:58 <AnMaster> it goes wrong when first changing color
15:32:13 <AnMaster> Deewiant, or do you mean in addition to current test case
15:33:23 <Deewiant> for the mycology thing? I'd rather it be replaced completely
15:33:41 <Deewiant> for all the rest? CCBI now works on all inputs I've tried, including your test case, the quine, and my little one-liner
15:34:38 <AnMaster> can you just post your move function in your D code?
15:34:50 <AnMaster> because I think I misinterpreted it
15:34:53 <Deewiant> you only need to do two changes, what's so hard >_<
15:34:59 <AnMaster> Deewiant, that it doesn't work
15:35:14 <Deewiant> at the very beginning of move()
15:35:15 <pikhq> I think Oerjan is in Trondheim, actually.
15:35:19 <pikhq> (He'll have to confirm that)
15:35:25 <Deewiant> if (penDown && movedWithoutDraw)
15:35:29 <Deewiant> before everything else, that is
15:35:37 <Deewiant> then, leave everything else as is
15:35:42 <AnMaster> Deewiant, oh not to replace the similar lines just below "// a -> ... -> z is equivalent to a -> z if not drawing"?
15:35:46 <Deewiant> so that it's only if (penDown)
15:36:22 <Deewiant> AnMaster: parse failed; invalid sentence
15:38:17 <Deewiant> of course it does, I did it ;-)
15:39:49 <Deewiant> with the difference that this time I actually thought it through instead of just writing code ;-P
15:40:19 <AnMaster> Deewiant, anyway it is hard to properly test TURT
15:40:29 <Deewiant> of course one can't test all possibilities
15:40:37 <AnMaster> Deewiant, you couldn't test all the bugs of the original code in one run
15:40:39 <Deewiant> but you can do a lot better than what mycology currently does :-)
15:41:22 <Deewiant> (and if not, it doesn't necessarily matter)
15:41:23 <AnMaster> no as one of them in your original code needed to happen at the end (the missing dot) while another in my code only happened if there was no dot at the end
15:42:11 <Deewiant> yeah, one can't test every single case
15:42:26 <Deewiant> just try to be reasonably exhaustive
15:43:14 <Deewiant> draw something, then clear it, then draw some more (intersecting paths, stuff like making sure that a->b->c means that the color at b is the color of b->c), put a couple of dots
15:43:24 <Deewiant> and query the heading/position reasonably often to see if it's correct
15:43:35 <AnMaster> Deewiant, anyway you already do some tests of what the current functions return, I wouldn't replace that bit, I would just after that start with N to clear and draw some test picture
15:43:42 <AnMaster> to test that they draw correctly
15:44:06 <AnMaster> I did get a BAD for return value from querypen
15:44:14 <Deewiant> IIRC the current thing tests only how many values are popped
15:44:29 <AnMaster> Deewiant, well it tests that querypen returns what is expected
15:44:32 <Deewiant> it could even be that it depends on some defaults
15:44:39 <Deewiant> i.e. does the pen start up/down
15:44:45 <Deewiant> what's the pen colour by default
15:44:59 <Deewiant> and it probably used to start down? ;-)
15:45:10 <Deewiant> but yeah, stuff like that shouldn't be tested
15:45:15 <AnMaster> no I put a ! too much in a place
15:45:23 <AnMaster> so I think it was just pure wrong
15:45:35 <AnMaster> I returned opposite state compared to actual pen state
15:46:05 <Deewiant> but anyhoo, that's something that probably shouldn't be BAD with the current tests
15:46:07 <AnMaster> Deewiant, anyway if it is supposed to be able to drive a real turtle bot (as the specs suggests) I don't see how it can handle pen color, or even clear instruction
15:46:14 <AnMaster> also what is the display instruction supposed to do?
15:46:26 <Deewiant> just like CCBI ignores the display instruction ;-)
15:46:37 <AnMaster> well what is display *supposed* to do=
15:46:40 <Deewiant> it's supposed to display the picture
15:46:54 <Deewiant> but I'm not going to link an SVG viewer into CCBI
15:48:59 <Deewiant> of course that's not necessary
15:49:04 <Deewiant> since it's only lines and dots
15:49:14 <Deewiant> it would probably be fairly simple to draw it in OpenGL, say
15:49:22 <Deewiant> but I can't be bothered, and hence CCBI just ignores it
15:49:29 -!- jix has quit (Nick collision from services.).
15:49:39 -!- jix has joined.
15:50:29 <Deewiant> yes, it says "if possible" or something like that
15:50:48 <AnMaster> it doesn't say "if possible" for pen colour or clear iirc
15:51:01 <AnMaster> yet it says "used to drive a real turtle bot"
15:51:16 <Deewiant> it could be used to drive a real turtle bot
15:51:23 <Deewiant> just don't have the bot move until it gets I
15:51:26 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
15:51:47 <AnMaster> Deewiant, can't you clear and then run I again?
15:51:49 <Deewiant> and as for pen colour, beats me, I haven't even seen a turtle bot that can draw something :-)
15:52:03 <AnMaster> I guess it want interpreter to pause with a message like: "Please change the pen to a green one with 1% red tint in" or "Please replace paper with a slightly yellowish one"
15:53:43 <AnMaster> of course after that it would say "press any key to continue"
15:53:57 <AnMaster> "no not the any key, I mean you can choose a key on your own"
15:55:30 <AnMaster> Deewiant, anyway if you remove the dots from the quine output then the image gets a lot smaller (from 254K to 134K)
15:55:46 <AnMaster> though I would never use that font myself anywhere
15:56:23 <AnMaster> svg is really quite a space wasting format
15:56:37 <Deewiant> gzipping it probably saves much
15:56:42 <Deewiant> and really, it depends on the situation
15:56:56 <Deewiant> <rect x="0" y="0" width="12345" height="12345"/>
15:57:15 <Deewiant> put that in a bitmap and watch it grow :-)
15:57:44 <AnMaster> can browsers view gzipped ones
16:06:05 <AnMaster> Deewiant, do you dare open this http://kuonet.org/~anmaster/tmp/tquine_result.svg ?
16:06:12 <AnMaster> it is edited to remove the dots
16:06:27 <AnMaster> Deewiant, firefox fails at displaying it
16:06:29 <Deewiant> I checked it myself without the dots locally
16:06:36 <Deewiant> and firefox displayed it fine here :-)
16:06:42 <Deewiant> didn't check that one of yours though
16:06:46 <AnMaster> Deewiant, does it display my link though
16:07:43 <AnMaster> and so does konqueror if you are prepared to wait
16:07:52 <AnMaster> Deewiant, how does my image differ from yours? scale?
16:08:18 <AnMaster> Deewiant, same, and firefox only displays dots from my test code
16:08:31 <AnMaster> while inkscape displays lines too
16:08:44 <AnMaster> Deewiant, no I think firefox is
16:08:58 <AnMaster> let me save resave it in inkscape
16:09:00 <Deewiant> it's possible that the "miter-join" or whatever is messing it up
16:09:10 <AnMaster> Deewiant, that just tells corner style
16:09:13 <Deewiant> or then the "width" and "height" specifiers, what's up with those
16:09:22 <Deewiant> AnMaster: yes, but if it doesn't support it then boom, no?
16:09:45 <AnMaster> Deewiant, it handles it as inkscape does that one by default
16:10:00 <AnMaster> Deewiant, anyway the width/height were added by first resave in inkscape to remove the dots
16:10:33 <AnMaster> and it fails from a full resave in inkscape too
16:10:49 <AnMaster> Deewiant, how does the source differ from yours in the image file?
16:11:01 <AnMaster> because that is only difference I can think of
16:11:09 <Deewiant> what source differ from what in what
16:11:41 <AnMaster> Deewiant, I don't have your last version with fixed TURT after all
16:12:34 <Deewiant> stroke-linejoin is present in yours, not in mine
16:12:42 <Deewiant> I don't have id, width, height
16:13:19 <Deewiant> I don't use style="", I use attributes directly
16:13:28 <Deewiant> fill="none" instead of style="fill:none"
16:15:25 <AnMaster> Deewiant, anyway changing that didn't help either
16:15:31 <AnMaster> Deewiant, does the viewbox or the numbers differ?
16:18:05 <Deewiant> viewBox="-0.0002 -0.0002 0.0833 0.0244"
16:18:17 <Deewiant> viewBox="-.0011 -.0011 .0851 .0262"
16:18:33 <AnMaster> Deewiant, that is interesting.
16:19:11 <AnMaster> Deewiant, however the image generated is correct in inkscape and konqueror
16:19:35 <AnMaster> Deewiant, does the numbers for the path also differ btw?
16:19:49 <AnMaster> my guess why they differ, long double vs. double
16:19:50 <Deewiant> I'm not going to go through the whole path >_<
16:20:02 <AnMaster> Deewiant, ok look at the first 10 numbers or so?
16:20:11 <AnMaster> just to see if the differ in either place
16:20:18 <Deewiant> the first line looks similar to me
16:22:27 <AnMaster> Deewiant, using long double a few numbers change in the last decimal near the middle, nothing that could cause that much difference
16:22:44 <Deewiant> one thing is, do you use padding or not
16:23:02 <Deewiant> because that's a difference of 10 right there
16:23:17 <AnMaster> while you only use it if it is small iirc
16:23:22 -!- Hiato has joined.
16:23:40 <AnMaster> anyway that padding translates to 0.0010
16:23:42 <Deewiant> it only matters if the image is small
16:23:46 <AnMaster> anyway that padding translates to 0.00010
16:24:28 <AnMaster> Deewiant, and the path formatting looks the same for my program?
16:24:36 <AnMaster> I mean, M and L in the same places?
16:24:48 <Deewiant> the first and the last line looked similar to me
16:24:52 <AnMaster> because "create new path segment" was one bug I fixed
16:25:20 <AnMaster> Deewiant, right, however, not exactly the same numbers in them?
16:25:32 <Deewiant> similar == I can't tell the difference
16:25:44 <Deewiant> but looking at a line with 200 numbers doesn't mean they're the same
16:25:58 <AnMaster> Deewiant, well upload your pic then
16:26:32 <Deewiant> due to whitespace differences and such
16:26:48 -!- tusho has joined.
16:27:17 <AnMaster> Deewiant, and yes kompare can be set to ignore whitespace differences
16:27:40 <Deewiant> whatever, I'll upload it in a minute
16:27:52 -!- Corun has quit ("This computer has gone to sleep").
16:28:08 <tusho> AnMaster: yes, I noticed...
16:28:17 <tusho> but it's a safe bet just to get it typed and hit enter
16:28:20 <tusho> otherwise i'd have to check
16:28:22 <tusho> and therefore never win
16:28:24 <AnMaster> tusho, again it took about 30 seconds from when you connected :/
16:28:29 <AnMaster> Deewiant, hm how is the constant PI defined in D?
16:28:37 <tusho> AnMaster: yes, that's my client
16:28:42 <tusho> still, we have a good way of measuring it now
16:28:45 <AnMaster> I guess depending on how exact it is...
16:28:48 <tusho> our clients log, to the second, when we press enter
16:29:32 <AnMaster> Deewiant, 3.14159265358979323846 for M_PI here (defined in /usr/include/gentoo-multilib/amd64/math.h)
16:30:06 <tusho> psht, my M_PI contains every digit
16:30:21 <AnMaster> Deewiant, also does casts of floats to ints in D round or truncate?
16:31:15 <Deewiant> const real PI = 0x1.921fb54442d1846ap+1L;
16:31:20 <tusho> 01:32:39 <deveah> verbally violent and capable of doing programming shit noone thought it would be possible
16:31:24 <tusho> this is called 'elitist irc assholes'
16:31:27 <Deewiant> I'm going to upload, post a link, and then go eat
16:31:29 <tusho> and they can't program worth shit
16:31:31 <AnMaster> Deewiant, eh that one is slightly crazy
16:32:26 <tusho> Deewiant: question
16:32:30 <tusho> why do finnish people put ->
16:32:33 <tusho> after their 'bye' messages
16:32:37 <tusho> oklopol does it too
16:33:36 -!- Judofyr has joined.
16:34:43 <tusho> 01:36:44 <TheBlunderbuss> Slereah_: doesn't work on Linux !? :O
16:34:52 <tusho> i could probably guess you came from slashdot if I hadn't read it earlier
16:35:27 <AnMaster> Deewiant, I notice you do floating point now?
16:38:09 <oklopol> tusho: because it's the superior way to say you're gone
16:38:26 <tusho> oklopol: but why only fins
16:38:47 <oklopol> didn't know it was only finns
16:39:05 <oklopol> i guess we're the superior race then?
16:40:42 <Deewiant> I was going to say something like that
16:41:28 <Deewiant> but yeah, it's quick and to the point, if you put "->" somewhere it means the next thing you do after pressing enter is leave
16:42:01 <Deewiant> AnMaster: where do you see that?
16:42:19 <AnMaster> M2e-4,0 L2e-4,2e-4 M4e-4,0 L4e-4,2e-4 M.0014,1e-4 L.001,1e-4 L.0012,1e-4 L.0012,7e-4 M.0018,3e-4 L.0021,6e-4
16:42:28 <Deewiant> and where does that imply floating point
16:42:30 <AnMaster> doesn't look like fixed point at all
16:42:37 <AnMaster> Deewiant, oh so why is it formatted like that then?
16:42:49 <Deewiant> because I format it manually so that it takes minimal space
16:43:29 <Deewiant> be warned, though: firefox has an open bug that scientific notation doesn't work
16:44:28 <AnMaster> Deewiant, well I think whatever makes cfunge output fail in firefox is also a firefox bug
16:44:36 <AnMaster> same happens for the paths in my simple test case
16:44:54 <AnMaster> Deewiant, it works in konqueror, safari, opera, inkscape
16:45:12 <AnMaster> or something thing that, could be .15 I guess
16:45:29 <AnMaster> Deewiant, and still don't see it?
16:45:41 <Deewiant> well, your simple test case worked fine
16:45:46 <AnMaster> Deewiant, well ccbi tquine crashes firefox
16:45:56 <Deewiant> yes, that's because of the scientific notation
16:46:40 <Deewiant> and just turning off the scientific notation makes it work fine :-)
16:47:07 <AnMaster> Deewiant, anyway if you select to ever update the mycology results page remember that firefox should not be used to check cfunge, instead use inkscape or such
16:47:20 <AnMaster> or any of the other browsers I mentioned
16:48:48 <AnMaster> Deewiant, you said you had no doctype? in the file you uploaded there is a doctype
16:48:53 <AnMaster> "<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">"
16:49:14 <Deewiant> you really don't need to inform me about these things, I do know you know :-)
16:49:29 <AnMaster> to make the validator warning shut up?
16:49:59 <Deewiant> I just checked the SVG spec and it seemed that doctype is used
16:51:53 <AnMaster> Deewiant, what is the correct doctype for tiny then?
16:52:10 <Deewiant> http://www.w3.org/TR/2003/REC-SVGMobile-20030114/#sec-conformance
16:52:32 <AnMaster> ah wait tiny doesn't support style sheets
16:52:40 <AnMaster> oh well I will change to use full
16:53:29 <AnMaster> "Error Line 12, Column 12: there is no attribute "style".
16:53:29 <AnMaster> <path style="fill:none;stroke:#000000;stroke-width:0.00005px;stroke-linecap:roun"
16:53:59 <Deewiant> http://www.w3.org/TR/2003/REC-SVGMobile-20030114/#sec-styind
16:54:09 <Deewiant> http://www.w3.org/TR/2003/REC-SVGMobile-20030114/#sec-styling
16:54:34 <AnMaster> Deewiant, it says it isn't valid for <path>
17:01:42 <Deewiant> one could save potentially a lot of space by using a class="p" instead of repeating stroke-width &c. in every <path>
17:01:56 -!- Hiato has quit ("Leaving.").
17:02:46 <AnMaster> Deewiant, well I would need to define the class in a <style> or?
17:03:18 <Deewiant> but I'm wondering if it's worth it to move away from Tiny for that
17:03:22 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
17:03:36 <AnMaster> Deewiant, what do you gain with tiny?
17:03:44 -!- Judofyr has joined.
17:04:00 <Deewiant> the ability to display the images on cell phones :-P
17:04:19 <AnMaster> Deewiant, I doubt one could display the tquine output anyway
17:04:29 <AnMaster> konq can do it after several seconds
17:07:59 <AnMaster> <style type="text/css" media="all">
17:07:59 <AnMaster> path {fill:none;stroke-width:0.00005px;stroke-linecap:round;stroke-linejoin:miter}
17:08:28 <Deewiant> and I'm not sure about the media
17:08:48 <AnMaster> tusho, genx doesn't know how a svg is built
17:08:55 <AnMaster> tusho, so that won't help at all for this
17:09:13 <tusho> AnMaster: genx knows how xml is built
17:09:19 <Slereah_> One of the old style negation symbol looks in between ~ and the infinity symbol
17:09:53 <tusho> Deewiant: yeah, genx is basically that for c
17:14:24 <AnMaster> Deewiant, your N doesn't reset min/max does it?
17:14:50 <AnMaster> Deewiant, yes for a new drawing
17:29:38 <Slereah_> But for some reason, used in the "smallest x such that F(x) = 0"
17:30:37 <Slereah_> Maybe smallest x such that it is true!
17:31:11 -!- Corun has joined.
17:38:17 -!- olsner has joined.
17:41:17 <AnMaster> Deewiant, http://img374.imageshack.us/img374/9973/safariqi5.png
17:41:22 <AnMaster> Deewiant, from someone on another channel
17:45:04 <tusho> lol@safari on windowds
17:45:48 -!- Hiato has joined.
17:46:13 <AnMaster> point is that firefox is wrong
17:46:31 <olsner> opera seems to render it like safari
17:46:34 <tusho> apple software sucks on iwndows
17:46:35 <AnMaster> so someone should file a bug, but I don't plan to try to make a minimal test case
17:46:46 <AnMaster> olsner, reference rending at http://kuonet.org/~anmaster/tmp/tquine_result.png
17:46:48 <Deewiant> or firefox is right and all the others have better error-correcting heuristics ;-)
17:47:01 <tusho> Deewiant: that seems likely, actually
17:47:09 <AnMaster> Deewiant, well that *is* a posibility, however w3c validator likes it
17:47:11 <Deewiant> it's been known to happen (though I can't think of an example offhand)
17:47:43 <AnMaster> tusho, also opening it and then resaving it in inkscape doesn't help
17:47:56 <AnMaster> tusho, meaning inkscape also cause invalid svg image?
17:47:58 <olsner> AnMaster: what is it btw?
17:48:03 <Deewiant> the validator isn't the be-all and end-all
17:48:04 <AnMaster> http://www.quote-egnufeb-quote-greaterthan-colon-hash-comma-underscore-at.info/befunge/tquine.php
17:48:05 <tusho> olsner: befunge98 quine
17:48:34 * tusho installs opera for the sake of completenes
17:49:05 <olsner> opera is the only browser you need :D
17:49:23 <tusho> olsner: i'm quite happy with ff3 :)
17:49:30 <tusho> (on os x opera's integration kinda sucks too)
17:49:44 <tusho> e.g. like how it looks nothing like any other program
17:50:26 <tusho> its rendering is dog slow
17:53:57 -!- timotiis has joined.
17:56:14 -!- cc_toide has joined.
17:59:16 -!- olsner has quit.
18:01:41 <AnMaster> / SVGT limits all numbers to -32767.9999 - 32767.9999, not -32768 - 32767
18:01:41 <AnMaster> / that limits our width to 32767.9999, hence the min and max values
18:01:52 <AnMaster> err the irc client ate the first /
18:02:15 <AnMaster> shouldn't -32767.9999 - 32767.9999 = 2* 32767.9999
18:02:59 <Deewiant> and what range does SVGT limit all numbers to
18:03:17 <Deewiant> and is 65535.9998 in that range
18:03:43 <AnMaster> Deewiant, still that seems quite odd
18:03:51 <AnMaster> Deewiant, what about normal svg
18:04:05 -!- ihope_ has joined.
18:04:34 <AnMaster> Deewiant, well cfunge use full svg now, but 99% of the non-print logic is shared
18:07:59 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
18:08:13 -!- Slereah_ has joined.
18:12:02 -!- cctoide has quit (Read error: 110 (Connection timed out)).
18:14:59 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
18:19:35 <AnMaster> Deewiant, I wrote a bit of a test case that prints some undef then renders my test rending
18:19:58 <AnMaster> is there anything obvious missing from my test apart from some checks that pen state and such return right?
18:20:17 <AnMaster> Deewiant, http://rafb.net/p/UxjZH195.html
18:20:32 <Deewiant> a crossing line over it might be nice
18:20:56 <Deewiant> (I don't think either of ours can handle that case)
18:21:01 -!- Corun has quit ("This computer has gone to sleep").
18:21:02 <AnMaster> Deewiant, well my dot is as wide as a line so it won't be visible
18:21:21 <AnMaster> Deewiant, well in my case color overwrites, it doesn't mix
18:21:38 <Deewiant> and make sure they are different colours
18:21:44 <Deewiant> ideally have every element a different colour
18:22:36 <AnMaster> anyway it is impossible to test all cases, like "does the last drewn line show up" if you finishes with drawing a dot
18:22:58 <AnMaster> Deewiant, and ccbi had some problems with the last line segment before iirc
18:23:19 <AnMaster> and it was followed by a print command
18:23:23 <Deewiant> "before" doesn't interest me anymore
18:23:30 <Deewiant> this has been rewritten so much that it doesn't apply
18:23:47 <AnMaster> Deewiant, I'd like to see your code, have you uploaded it yet?
18:24:10 <AnMaster> cfunge uses a public repo, bazaar style rather than cathedral ;P
18:24:31 <Deewiant> and besides, I haven't checked anything into the repo
18:24:55 <AnMaster> Deewiant, hrrm about line and point
18:25:02 <AnMaster> it will end up with circle last
18:25:10 <AnMaster> as they were all drewn at the end
18:25:11 <tusho> <AnMaster> cfunge uses a public repo, bazaar style rather than cathedral ;P
18:25:14 <tusho> Eric S. Raymond detected.
18:25:17 <tusho> Please evacuate the building.
18:26:01 <tusho> I do my sarcasm without markers.
18:26:17 <AnMaster> blergh that viloates RFC sqrt(-1)
18:28:08 <AnMaster> Deewiant, do you still draw all circles last?
18:28:25 <AnMaster> well I can't see how do do it in same order at all
18:28:46 <AnMaster> well maybe keeping a chain of events and then processing them in that order
18:29:16 <tusho> AnMaster: apparently ~ is a popular sarcasm marker
18:29:23 <tusho> Marking sarcasm makes it even more funny.~
18:29:34 <tusho> AnMaster: Apparently it's called the 'snark'.
18:29:40 <tusho> What a great idea.~
18:29:54 <tusho> I'd end up having to attach it to all my messages. ~.
18:30:29 <AnMaster> well I think that using ~ for marking sarcasm is to help the dumb~
18:30:47 <AnMaster> even I could detect you were doing sarcasm above with "<tusho> Eric S. Raymond detected."
18:31:01 <AnMaster> pretending to not have noticed it
18:31:13 <tusho> AnMaster: nice try
18:31:18 <oklopol> you guys are fucking retards.~~~~~~~~~~~~~~~~~~~~~~~~
18:31:29 <tusho> oklopol: that just looks like...
18:31:39 <AnMaster> tusho, does two ~ cancel each other?
18:31:49 <tusho> AnMaster: I know everything about the snark~
18:32:07 <AnMaster> well o wise tusho, tell me then!
18:33:28 <Deewiant> whee, the quine is down to 217911 bytes
18:34:18 <AnMaster> Deewiant, you are working on the quine?
18:34:38 <Deewiant> s/quine/SVG created by running CCBI on the quine/
18:35:11 <AnMaster> Deewiant, what did you change?
18:35:41 <AnMaster> Deewiant, about svg line length, is that for svg tiny only or?
18:35:45 <Deewiant> Unless stated otherwise for a particular attribute or property, the range for a <integer> encompasses (at a minimum) -2147483648 to 2147483647.
18:36:19 <Deewiant> 2008-07-05 20:03:52 ( AnMaster) Deewiant, what about normal svg
18:36:19 <Deewiant> 2008-07-05 20:03:55 ( AnMaster) where are the limits then?
18:36:59 <Deewiant> Unless stated otherwise for a particular attribute or property, a <number> has the capacity for at least a single-precision floating point number (see [ICC32]) and has a range (at a minimum) of -3.4e+38F to +3.4e+38F.
18:42:05 <oklopol> why isn't egobot here anymore
18:48:24 <AnMaster> Deewiant, not sure if you already done this, but you can make colors shorter
18:48:33 <AnMaster> instead of #ffffff you can just do: #fff
18:48:47 <AnMaster> if both chars are the same in all groups you can do like that
18:49:04 <AnMaster> Deewiant, but not something I will waste sleep over :P
18:49:18 -!- olsner has joined.
18:50:22 * pikhq finds himself surprised. . .
18:50:32 <pikhq> I'm not used to diners having yerba mate.
18:51:10 <pikhq> It's a caffeinated beverage. . . Fairly common in South America, barely even *known* in North America.
18:52:37 <Deewiant> AnMaster: way ahead of you there :-) 217902 bytes now, I guess that's sufficient
18:52:50 <AnMaster> Deewiant, well I won't try to do that myself
18:53:05 <AnMaster> Deewiant, I have selected "full" anyway
18:53:13 <ihope_> What a wonderful invention.~
18:53:27 <AnMaster> pikhq, and not known in Sweden at all
18:53:41 <pikhq> Insanely fucking good.
18:53:57 <AnMaster> pikhq, caffeine? a drug in other words
19:00:34 -!- Corun has joined.
19:08:25 <Deewiant> man, I knew SVG was a bad idea
19:08:35 <Deewiant> inkscape is using 870 megabytes of memory :-/
19:12:10 -!- Corun has quit ("This computer has gone to sleep").
19:12:43 <AnMaster> Deewiant, hm? inkscape manages my image here, but it doesn't like it
19:13:30 <AnMaster> Deewiant, anyway you could just render it to png then ;P
19:13:59 <Deewiant> I probably will change this to use PNG if it's not too big a fuss, actually
19:14:16 <Deewiant> only reason I used SVG was because it was easy
19:14:17 <AnMaster> Deewiant, I think you should offer options then
19:14:30 <Deewiant> now that I have a working SVG impl
19:14:32 <AnMaster> and if you do png you need to compress it *well*
19:14:38 <AnMaster> Deewiant, see optipng and such
19:14:41 <Deewiant> anyhoo, try http://iki.fi/deewiant/CCBI_TURT.svg again
19:14:56 <tusho> Broked my firefox.
19:14:58 <Deewiant> AnMaster: I suspect it'd use less space than the SVG regardless. :-P
19:15:12 <Deewiant> tusho: yes, firefox crashes on that.
19:15:28 <AnMaster> Deewiant, depends, as you said yourself before, once you do a huge rect in the bg...
19:15:45 <Deewiant> yes, but that's rare in the end
19:15:52 <Deewiant> can your inkscape open that SVG?
19:15:59 <AnMaster> Deewiant, also you can scale it!
19:16:19 <Deewiant> doesn't help if you can't open it. :-P
19:17:14 <Deewiant> AnMaster: so did it crash your comp?
19:17:49 <AnMaster> Deewiant, it caused inkscape to lock up, which my image doesn't, I guess you got some error in it, because ccbi-pre-fix also cause inkscape to lock up
19:18:26 <AnMaster> Deewiant, the cfunge rendered image cause no lockups
19:18:28 <Deewiant> yeah, so how does it differ from yours
19:19:02 <AnMaster> Deewiant, well first, you do stuff like M2e-4
19:19:19 <AnMaster> I set it for all path elements
19:19:30 <AnMaster> p{fill:none;stroke-width:1e-4px;stroke-linecap:round;stroke-linejoin:round}
19:19:30 <Deewiant> do you have classes for circles
19:19:37 <AnMaster> .p{fill:none;stroke-width:1e-4px;stroke-linecap:round;stroke-linejoin:round}
19:19:41 <AnMaster> path{fill:none;stroke-width:1e-4px;stroke-linecap:round;stroke-linejoin:round}
19:19:55 <AnMaster> Deewiant, you forgot the . in front to indicate this is a class
19:20:11 <AnMaster> Deewiant, and no I don't use a class for circles
19:20:11 <Deewiant> does it make a difference regarding loading, tho
19:20:23 <AnMaster> Deewiant, no idea, why don't you try yourself?
19:20:37 <Deewiant> because you're the one with the ulimit :-P
19:20:39 <AnMaster> <title>TURT picture generated by the Conforming Concurrent Befunge-98 Interpreter</title>
19:20:55 <Deewiant> you don't have to give me the output of diff here
19:21:04 <AnMaster> Deewiant, no difference in loading though
19:21:07 <Deewiant> only mention it if you think it makes a difference
19:21:39 <AnMaster> I waited 10 seconds before closing
19:21:48 <AnMaster> Deewiant, I also removed all circles before it didn't help
19:22:04 <AnMaster> so the path alone is enough to fuck it up
19:24:18 <AnMaster> Deewiant, it does pass xmllint
19:24:22 -!- Slereah_ has joined.
19:24:32 <AnMaster> too lazy to check w3c's validator
19:25:34 <AnMaster> Deewiant, I do less indention than you
19:25:38 <AnMaster> <svg xmlns="http://www.w3.org/2000/svg" version="1.1" baseProfile="full" width="32.0000" height="12.0000" viewBox="-0.0001 -0.0006 0.0032 0.0012">
19:25:38 <AnMaster> <defs><style type="text/css"><![CDATA[path{fill:none;stroke-width:0.00005px;stroke-linecap:round;stroke-linejoin:miter}]]></style></defs>
19:25:57 <AnMaster> yes I now correctly set width and height
19:26:03 <Deewiant> like said, I use tango's XML generator
19:26:09 <AnMaster> I'm not sure why I have to multiply it by 10000
19:26:19 <AnMaster> but only when I do that do I get the correct size in inkscape
19:27:10 <Deewiant> using scientific notation -> ram usage boom
19:27:25 <Deewiant> is this a bug in every single SVG viewer out there? :-P
19:27:35 <AnMaster> Deewiant, I guess it is harder to parse?
19:27:54 <Deewiant> not so hard that it takes 100* more memory
19:28:29 <AnMaster> Deewiant, anyway you have solved your problem then
19:28:35 <AnMaster> now report this as a bug to inkscape ppl
19:28:52 <AnMaster> Deewiant, certainly konqueror doesn't like scientific notation either
19:29:15 * AnMaster watch the spinning K as it tries to preview the image
19:29:45 <AnMaster> while the cfunge one takes maybe 10 seconds to create a preview from (yes konq 3.5.9 sucks at svg, it has problems with open/closed paths too)
19:31:11 <AnMaster> Deewiant, as for the 255 line length limit , are you aware of that inkscape never puts a linebreak in a path?
19:31:43 <Deewiant> the spec says that some viewers have or may have restrictions so it's best to keep to 255 byte lines
19:31:52 <AnMaster> Deewiant, oh be sure to use LF not CRLF even on windows, that will save a few bytes
19:31:56 <Deewiant> (rather, 10-path-node lines, but it's the same thing)
19:32:07 <Deewiant> nah, I stick to my platform :-)
19:32:23 <AnMaster> Deewiant, the file I wgeted from you was LF not CRLF
19:32:45 <Deewiant> yes, I know, I figured that if you checked the filesize you'd say I was wrong
19:32:52 <Deewiant> and that would have been because the filesize I quoted was LF
19:33:08 <Deewiant> but instead you come complaining to me that it's LF not CRLF, so that didn't work out too well
19:33:16 <AnMaster> Deewiant, well if that is what you quote, then that is what you shall use too
19:33:33 <Deewiant> of course I quoted the optimal filesize :-P
19:33:42 <AnMaster> Deewiant, I'm not complaining it is LF, I like it
19:34:59 <AnMaster> Deewiant, btw you use 10 bit floats right?
19:35:04 <AnMaster> well cfunge now use 16-bit ones
19:35:14 <AnMaster> I changed to long double, on amd64 that use sse
19:35:34 <Deewiant> anyhoo, like said, real is the max the platform supports
19:35:39 <Deewiant> so it's just a compiler issue henceforth
19:35:54 <AnMaster> long double is in C99 so I can use it
19:36:05 <AnMaster> it is not part of C89 though iirc
19:43:11 -!- jamesstanley has quit ("Leaving").
19:43:26 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
19:44:06 -!- Corun has joined.
19:44:35 -!- Slereah_ has joined.
19:46:31 * ihope_ gives Slereah_ a tall sandwich
19:47:37 <Slereah_> But can you give me advices on how to recover data from a hard dive, which does notwork?
19:48:03 <ihope_> Well, now he has chewing room.
19:48:09 <AnMaster> Slereah_, I assume you got daily, or at least weekly backup?
19:48:23 <AnMaster> Slereah_, but first, is it a *hardware* error
19:48:30 <tusho> <AnMaster> Slereah_, I assume you got daily, or at least weekly backup?
19:48:49 <tusho> AnMaster: Expert tape backuper
19:48:50 <Slereah_> It says that I can't access the HD.
19:48:51 <AnMaster> Slereah_, boot from a good linux live cd
19:49:00 <tusho> FUN FACT: Most people don't do backups.
19:49:06 <AnMaster> Slereah_, checked with smart tools?
19:49:09 <Slereah_> It does not detect the HD either
19:49:24 <AnMaster> Slereah_, doesn't detect, what do you mean?
19:49:28 <tusho> AnMaster: It's hard to get the space.
19:49:29 <Slereah_> I barely know how to use Linux, I don't know what the fuck that means
19:49:47 <AnMaster> tusho, tapes got high density and aren't very expensive
19:50:08 <AnMaster> I need a total of 10 tapes that I change about once a year to new unused ones
19:50:15 <Slereah_> That's what the error message tells me when I try to open it.
19:50:16 <tusho> AnMaster: Backing up to a tape is totally trivial rite guyz
19:50:34 <Slereah_> Also some sort of message involving parameters.
19:50:36 <AnMaster> Slereah_, so ls /dev/hdb or whatever it is
19:51:07 <AnMaster> where hdx is the harddrive with issues
19:51:18 <AnMaster> boot from a livecd that has smartmontools
19:51:23 <AnMaster> Slereah_, want a link to a good one?
19:51:26 <Slereah_> Well, if your solution is Linux, we'll discuss that again on an occasion where I'm on the liveCD
19:51:46 <AnMaster> Slereah_, http://www.sysresccd.org/Main_Page
19:51:52 <AnMaster> Slereah_, and I can't give any windows help
19:52:09 -!- olsner has quit.
19:52:17 <AnMaster> Slereah_, why not boot to a livecd like that
19:52:47 <AnMaster> Slereah_, why not now, if you wanted help
19:53:03 <AnMaster> you don't care for the harddrive?
19:53:12 <AnMaster> Slereah_, until then please unplug the disk in that case
19:53:29 <AnMaster> to prevent further damage from the disk spinning if it is a hardware failure
19:54:02 <AnMaster> Slereah_, because if the disk is dying, well you don't have until "tomorrow" sometimes
19:54:12 <Slereah_> It's been down for months, AnMaster.
19:54:40 <AnMaster> Slereah_, well then it is likely too late already
19:55:27 <Slereah_> There are many Star Trek episodes at stake here, AnMaster.
19:55:58 <AnMaster> Slereah_, well I'm serious but you are not
19:57:12 <Deewiant> AnMaster: BTW, re: SVG and doctypes and doctype-based validation: http://tech.groups.yahoo.com/group/svg-developers/message/48562
19:57:35 <AnMaster> "Your browser is not accepting our cookies. To view this page, please set your browser preferences to accept cookies. (Code 0) "
19:58:29 <Slereah_> Well, I tried to save the HD many times.
19:58:39 <Slereah_> It's actually why I installed Linux in the first place.
19:58:42 <AnMaster> Slereah_, and I asked you two commands which you refused to run
19:59:12 <AnMaster> Slereah_, so reboot to a livecd if you want my help, I will not be here tomorrow mostly
19:59:26 <AnMaster> and next week I will be in Norway without computer or internet
20:01:04 <AnMaster> Deewiant, well give me xml schema then?
20:02:03 <AnMaster> Deewiant, also that was in 2005, and the w3c validator now have specific support for svg
20:02:20 <AnMaster> not saying it is perfect, but it is better than back then
20:07:19 <AnMaster> Deewiant, anyway I checked by hand that my output is as well formed as yours
20:07:28 <AnMaster> apart from not using e notation
20:09:14 <Deewiant> Deewiant: what was interesting was rather that SVG developers consider that the doctype is useless
20:09:34 <Deewiant> of course, what we generate is so simple that it hardly matters either way
20:09:47 <Deewiant> I just thought it was interesting in general, not trying to bash you or anything
20:12:18 <Deewiant> but yeah, yay, TURT is finally done for ever now
20:12:24 <Deewiant> AnMaster: what fingerprint's next for you
20:15:17 <AnMaster> Deewiant, maybe SOCK, don't know
20:15:31 <AnMaster> Deewiant, currently I'm in bug fixes only before next release
20:15:56 <AnMaster> unless I fork to a branch and trunk (have only done feature branches so far)
20:16:27 <Deewiant> one excuse that I haven't updated the mycology results page is that you still haven't released a version which is done so far as (mycology-tested) fingerprints are concerned ;-)
20:16:54 <AnMaster> Deewiant, well some I won't implement, and some I may implement later
20:17:12 <AnMaster> but yes I plan a mostly stable release in the near future
20:17:14 <Deewiant> yeah, so one excuse for me is your "may implement later" part
20:17:25 <AnMaster> Deewiant, what? you could just update it next year
20:17:37 <Deewiant> yeah, I said it's an excuse, not a good reason :-P
20:17:40 <AnMaster> Deewiant, I got other open source projects to
20:17:50 <AnMaster> like implement new socket engine for crossfire
20:17:56 <AnMaster> which is what I will do after this release
20:18:16 <AnMaster> Deewiant, the first mmorpg, first line of code written back in 1992
20:18:25 <AnMaster> I'm a developer on it since a few months
20:19:01 <Deewiant> I beg to differ on "the first"
20:19:14 <AnMaster> Deewiant, really? what one was before?
20:19:39 <Deewiant> if you count MUDs, the first were in the late 70s I think
20:19:43 <AnMaster> MMORPG, certainly not the first RPG or the first MMO game, but could you give an example of a older MMORPG
20:19:50 <AnMaster> Deewiant, a MUD isn't a MMORPG
20:20:04 <Deewiant> but like said, even if you don't think so, LORD
20:21:05 <Deewiant> if you need a modem to play it counts as online.
20:21:06 <Slereah_> I will now reboot to der Linux.
20:21:27 <AnMaster> Deewiant, well crossfire is the first graphical MMORPG then
20:21:54 <tusho> AnMaster: that's not a huge achivement
20:22:44 <Deewiant> Neverwinter Nights was earlier
20:23:07 <Deewiant> http://en.wikipedia.org/wiki/Neverwinter_Nights_(AOL_game)
20:23:29 <Deewiant> crossfire may be the first /graphical and open-source/ one though
20:23:46 <AnMaster> Deewiant, and it was certainly an early one
20:23:48 <tusho> Deewiant: ah yes neverwinter nights
20:23:59 <tusho> Deewiant: lol, though
20:24:03 <tusho> the first graphical, open-source MMORPG!
20:24:06 <tusho> what an amazing accomplishment!
20:24:13 <tusho> that's totally not highly specific!
20:24:41 <Deewiant> like cfunge, the first C99 Befunge-98 interpreter ;-)
20:24:45 <AnMaster> tusho, certainly nethack wasn't the first rouge, yet wouldn't you call it a game with a long and deep history
20:24:59 <tusho> Deewiant: AnMaster is full of new ideas
20:25:02 <AnMaster> Deewiant, according you your mycology page the first conforming befunge98 one in C
20:25:25 <AnMaster> Deewiant, or the second conforming one at all
20:25:30 <tusho> We all know compilers have impeccable C99 support
20:25:47 <AnMaster> tusho, it should be possible to convert it to c89, tell me when you are done
20:26:17 <AnMaster> Deewiant, that can be replaced with malloced buffers
20:26:38 <AnMaster> same for variable sized arrays at end of structs (which I do use)
20:26:41 <Deewiant> so you do? hmm, that's an exploit waiting to happen
20:27:04 <Deewiant> the stack only has so much size, namely
20:27:15 <AnMaster> Deewiant, indeed, which is why I no longer use it
20:27:30 <AnMaster> Deewiant, while variable sized struct is perfectly ok on the heap
20:28:30 <AnMaster> Deewiant, as for VLAs on the stack, there are certain safe contexts for it, when you know the range
20:29:02 <AnMaster> Deewiant, but no I don't use it at all I think
20:29:33 <AnMaster> Deewiant, I do use a few *static* buffers on the heap though
20:29:43 <AnMaster> where I read a file in chunks of 1024 bytes for example
20:30:35 <tusho> AnMaster: have you fuzz-tested cfunge?
20:30:54 <AnMaster> tusho, the script is in the cfunge bzr repo
20:31:14 <tusho> it's a befunge interpreter
20:31:17 <AnMaster> tusho, I found quite a few bugs that way
20:31:40 <tusho> I like how AnMaster's befunge interpreter uses more hyper-optimizing POSIX functions than extremely popular (& in need of speed) languages like Python or Ruby.
20:31:46 <tusho> It's deliciously ridiculous.
20:31:57 <Deewiant> I forget, did you only find bugs that caused segfaults or others as well
20:32:03 <AnMaster> tusho, yes you just didn't see the "~"
20:32:11 <AnMaster> I think it is in the spirit of the language
20:32:30 <Deewiant> tusho: the difference is, Guido and Matz know where the optimizations apply and where they don't, and where they're just pointless.
20:32:45 <tusho> (It's a hyper-optimized ++)
20:33:00 <tusho> Deewiant @repeat ++
20:33:08 <AnMaster> Deewiant, well segfaults and valgrind errors, and once iirc a bug happened to happen as well in the same function
20:33:19 <AnMaster> but yes in general only segfaults and valgrind errors
20:33:46 <tusho> <tusho> > var $ "Deewiant" ++ cycle "++"
20:33:46 <tusho> <lambdabot> Deewiant++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++...
20:33:48 <AnMaster> Deewiant, but of course they help other stuff too, like when 5kt caused errors, or when 2k@ did
20:34:02 <Deewiant> tusho: yes, I am on #haskell. :-)
20:34:14 <tusho> yes but I wanted AnMaster to see
20:34:50 <AnMaster> tusho, anyway I have been thinking of porting it to quantum computers for additional speed.
20:34:55 <AnMaster> tusho, what do you think of that?
20:36:26 <AnMaster> anyway a quantum fingerprint could be interesting
20:36:48 <Deewiant> use MPI so that you can run multiple threads on multiple machines
20:37:48 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
20:38:08 -!- Slereah- has joined.
20:38:30 <AnMaster> Slereah-, try the one I suggested
20:38:38 <AnMaster> Slereah-, http://www.sysresccd.org/
20:38:45 <tusho> AnMaster: Dirty as in LITERALLY DIRT.
20:39:11 <AnMaster> Slereah-, but if he is burning a new anyway
20:39:45 <tusho> Deewiant: Dude, shapr.
20:39:49 <tusho> Dude, he's addicted to dude.
20:39:51 <tusho> Dude, he hates spam.
20:40:33 <Slereah-> AnMaster : Once I boot that CD, what do I do?
20:40:41 <AnMaster> Slereah-, same commands as before
20:40:42 <tusho> Slereah-: Come here.
20:40:46 <Slereah-> Because from the look of it, I won't have the interwebs with it
20:40:55 <Slereah-> Is there interbutts on that CDN
20:40:57 <AnMaster> tusho, no idea if it got irc client
20:41:11 <AnMaster> tusho, could Slereah- manage that?
20:41:24 <tusho> Slereah-: Get a pen and paper.
20:41:34 <AnMaster> http://www.sysresccd.org/Detailed-packages-list
20:41:45 <tusho> '/server irc.freenode.net'
20:41:46 -!- oklopol has quit (No route to host).
20:42:00 -!- oklopol has joined.
20:42:06 <AnMaster> Slereah-, if you use wlan you could have issues
20:42:07 <tusho> (In a kommunistline, of course.)
20:42:32 <AnMaster> Slereah-, "better connect to ethernet" issues
20:42:43 <AnMaster> as in wlan may not work out of box
20:42:52 <AnMaster> that is way more likely to work
20:43:14 <Slereah-> I don't understand a word of it.
20:43:36 <AnMaster> Slereah-, do you use wireless network?
20:43:57 <AnMaster> Slereah-, try using cable network instead
20:44:26 <AnMaster> Slereah-, wireless network may have issues with drivers that would require some linux knowledge to solve
20:44:32 <Slereah-> What, you want me to find a giant cable and somehow plug it in the Livebox in the next room?
20:44:55 <Slereah-> It's not because I like it that I'm on wireless.
20:45:19 <AnMaster> Slereah-, well if internet doesn't work, anyway why not just boot directly to an ubuntu install or such
20:45:24 <AnMaster> then from there connect to irc
20:45:47 <tusho> Slereah-: Dude. Livebox.
20:45:49 <tusho> I have one of those.
20:45:49 <AnMaster> Slereah-, then I can tell you what packages to install and what to run and such
20:45:51 <tusho> Shittiest router ever.
20:46:19 <Slereah-> AnMaster, are you suggesting using a LiveCD or reinstalling Linux?
20:46:29 <AnMaster> Slereah-, you don't have linux any longer?
20:46:40 <AnMaster> I suggest installing ubuntu or kubuntu
20:46:40 <Slereah-> As explained before, I still have it
20:46:52 <Slereah-> But during the last windows reinstalling
20:47:00 <Slereah-> It removed the dual booting I had installed
20:47:08 <AnMaster> tusho, you help him to reinstall dual boot!
20:47:17 <AnMaster> I can only do it by hand with grub
20:47:20 <Slereah-> When I tried to put it back on, with the hard drive stuff, I had a giant ass error.
20:47:41 <Slereah-> I can't work on my partitions anymore for some reason
20:48:04 <Slereah-> Plus, it's the main hard drive.
20:48:06 <AnMaster> Slereah-, just reinstall ubuntu or something then
20:48:09 <Slereah-> So it's probably not a good sign
20:48:36 <Slereah-> (This is why I'm anxious to get that new computer)
20:48:43 <AnMaster> Slereah-, it may work with wireless
20:48:59 <Slereah-> Well, Linux does work with wireless.
20:49:01 <AnMaster> Slereah-, if it doesn,t get a long ethernet cable I guess
20:49:11 <AnMaster> Slereah-, yes it does, but it is sometimes not trivial to get working
20:49:27 <AnMaster> Slereah-, it depend on what livecd and such too
20:50:06 <AnMaster> Slereah-, systemrescuecd will need you to activate it yourself from command line I suspect
20:50:15 <AnMaster> something I don't know how, as I don't use wireless myself
20:50:40 <AnMaster> Slereah-, get kubuntu or whatever working again
20:50:55 <AnMaster> Slereah-, trying to recover from inside windows will *NOT* work
20:51:17 <Slereah-> I don't want to lose my datas on windows by reinstalling Linux.
20:51:30 <AnMaster> Slereah-, anyway if it is only star trek movies, why not just torrent them
20:52:10 <AnMaster> torrenting copyrighted material is illegal
20:54:05 <AnMaster> well I'm just a bit careful, "Note that I didn't suggest that" style
20:55:28 <tusho> AnMaster: you're liek the anti-fuck man i'm haf
20:55:53 <AnMaster> Slereah-, the 4chan Partyvan who?
20:56:06 <tusho> "yeah, I was on drugs when I wrote that" "I may or may not have been under the influence of halluciogenic effects when I wrote that message. Note that I don't support the use of drugs in any way or form"
20:56:09 -!- cherez has quit (Success).
20:56:15 <Slereah-> Don't you know the partyvan AnMaster?
20:56:31 <AnMaster> Slereah-, no but I know you ruined the "knock knock" joke
20:56:51 <AnMaster> (which IMO is a rather bad joke anyway)
20:57:24 <Slereah-> YOU SAID YOU'D NEVER FORGET D:
20:57:31 <tusho> HAHAHAHAHHAHAHAHAHAHA
20:57:31 -!- cherez has joined.
20:57:59 <tusho> AnMaster: the only funny knock knock jokes are the irregular ones
20:58:05 <AnMaster> http://en.wikipedia.org/wiki/Knock-knock_joke
20:58:13 <AnMaster> tusho, well I think this one was macabre
20:58:23 <tusho> Because people DIED.
20:58:30 <tusho> They DIED and therefore you can NEVER joke about it.
20:58:39 <tusho> It's INSULTING to the people who don't have MINDS any more.
20:58:55 <AnMaster> tusho, not saying that, but how would you feel about joking about if your father died or so?
20:59:07 <AnMaster> well you may not be 12, but you sometimes do act like it
20:59:07 <tusho> AnMaster: It was in 2-thousand-and-fucking-1.
20:59:16 <oklopol> how would that make the joke less funny?
20:59:21 <Slereah-> Actually, my dad often jokes about his cancer :o
20:59:24 <tusho> If it was September 12st, you could get away with 'TOO SOON'
20:59:37 <AnMaster> Slereah-, anyway what did you want?
20:59:50 <tusho> Anyone have a joke about hitler and jews? AnMaster will die of shock.
21:00:20 <tusho> Slereah-: I don't know how did he die.
21:00:22 <tusho> oklopol: Who's there.
21:00:25 <AnMaster> tusho, I will find it bad taste
21:00:34 <oklopol> tusho: hitler killed a lot of jews
21:00:48 <tusho> Slereah-: HAHAHAHAHAHAHA
21:00:51 <tusho> oklopol: HAHAAHAHAHAHAHA
21:01:11 <Slereah-> But I had no time to find an awesome one.
21:02:12 <tusho> oklopol: You fucking ruined my life. God, why did you cheat on me? After all I've done for you ... what did I do wrong? Why have you done this to me? My life is worthless. I spend every day crying until I can't cry any more. I am going to fucking kill myself. Then this will all be over.
21:02:17 -!- Corun has quit ("This computer has gone to sleep").
21:02:35 <oklopol> tusho: You fucking ruined my life. God, why did you cheat on me? After all I've done for you ... what did I do wrong? Why have you done this to me? My life is worthless. I spend every day crying until I can't cry any more. I am going to fucking kill myself. Then this will all be over. who?
21:02:57 <AnMaster> Slereah-, anyway what did you want really?
21:03:07 <tusho> You fucking ruined my life. God, why did you cheat on me? After all I've done for you ... what did I do wrong? Why have you done this to me? My life is worthless. I spend every day crying until I can't cry any more. I am going to fucking kill myself. Then this will all be over my shepard!
21:03:08 <Slereah-> What do you mean by this, AnMaster
21:03:45 <AnMaster> Slereah-, I assume you did the highlight above for some other reason that just a knock knock joke...
21:03:48 <tusho> oklopol: yeah I know
21:04:27 <Slereah-> Well, the partyvan means, on internet grounds, the FBI.
21:04:39 <Slereah-> It was a joke to refer to your mention of illegal download
21:04:51 <AnMaster> Slereah-, I see, well I don't go on 4chan
21:05:23 <AnMaster> Slereah-, yes, it's sad freenode doesn't offer ssl
21:06:12 <AnMaster> Slereah-, offers encrypted connection
21:06:39 <AnMaster> Slereah-, first hit is en.wikipedia.org/wiki/Secure_Sockets_Layer here
21:07:03 <Slereah-> Then again, you answered in 30 seconds.
21:07:09 <Slereah-> So it probably was quicker to ask.
21:07:21 <AnMaster> well that is the wrong attitude
21:07:51 <tusho> It's the wrong attitude, mister Slereah-!
21:07:53 <tusho> You'd better behave.
21:07:58 <Deewiant> AnMaster: and yet, you always ask me things about D that you could easily look up from the spec. :-)
21:08:04 <ihope_> You fucking ruined my life. God, why did you cheat on me? After all I'--wait, what?
21:08:17 <AnMaster> Deewiant, well nobody is perfect
21:09:40 <Slereah-> (I also by the way don't understand why you mention ssl here)
21:12:05 -!- Corun has joined.
21:26:05 -!- olsner has joined.
21:28:45 -!- pikhq has quit ("leaving").
21:29:13 -!- pikhq has joined.
21:30:54 -!- Hiato has quit ("Leaving.").
21:33:59 -!- olsner has quit.
21:35:35 <ihope_> tusho: should I refrain from mentioning rootnomic entirely, or just from pestering you about it?
21:36:03 <tusho> ihope_: Pestering.
21:36:11 <tusho> And mentioning it just to make me work on it.
21:47:35 <Slereah-> Not enough disk space to burn the CD
21:52:49 <AnMaster> Slereah-, free up some diskspace
21:54:47 -!- Corun has quit (Read error: 110 (Connection timed out)).
21:54:58 <Slereah-> I can round up enough free space, but that usually mean uninstalling adobe reader and such
22:01:51 <Slereah-> I leave you with this : http://www.explosm.net/db/files/Comics/guest5/scottmale42.png
22:47:44 -!- GregorR has joined.
22:59:03 -!- Judofyr has quit.
23:17:10 -!- Corun has joined.
23:29:01 -!- RedDak has joined.
23:56:01 -!- ihope_ has quit (Read error: 110 (Connection timed out)).
00:09:46 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
00:26:45 -!- timotiis has quit (Read error: 110 (Connection timed out)).
00:39:45 -!- immibis has joined.
00:40:06 <immibis> i don't suppose anyone happens to have a FukYorBrane binary compiled for windows?
00:40:58 <tusho> compile it yourself
00:45:26 <immibis> well then does anyone have the FukYorBrane source code that isn't bzipped?
00:49:10 <immibis> gzipped is fine though, i'm on a computer without bzip2
01:10:26 -!- tusho has quit.
01:42:46 -!- RodgerTheGreat has quit.
01:48:07 -!- Corun has quit ("This computer has gone to sleep").
02:03:49 <immibis> how would i check if a number in a cell is less than zero in brainfuck, btw?
02:13:31 * pikhq shoves Cygwin at immibis
02:31:15 -!- immibis has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. and email ths to).
03:54:10 -!- pikhq has quit ("leaving").
05:32:14 -!- selb has joined.
05:36:45 -!- calamari has joined.
07:54:22 -!- calamari has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:53:47 -!- puzzlet has quit (Read error: 113 (No route to host)).
09:08:41 -!- Slereah_ has joined.
09:09:01 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
09:18:43 -!- Slereah- has joined.
09:18:44 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
10:33:05 -!- oklopol has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )").
10:51:37 -!- Slereah_ has joined.
10:51:38 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
10:52:40 -!- Slereah- has joined.
10:52:51 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
10:55:08 -!- RedDak has joined.
11:03:25 -!- Slereah_ has joined.
11:03:25 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
11:25:48 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
11:30:26 -!- ubuntu__ has joined.
11:30:38 -!- ubuntu__ has changed nick to Slereah.
11:31:13 -!- Judofyr has joined.
11:42:06 -!- olsner has joined.
11:54:10 -!- Slereah has quit (Read error: 110 (Connection timed out)).
11:56:13 -!- kar8nga has joined.
12:03:42 -!- Slereah- has joined.
12:05:02 <Slereah-> Although Gparted does not work at all.
12:05:04 <AnMaster> Slereah-, nice you are on it now?
12:05:17 <AnMaster> Slereah- try these commands then:
12:05:43 <Slereah-> I just have to enter the WEP key in it
12:11:28 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
12:11:58 -!- ubuntu__ has joined.
12:12:11 -!- ubuntu__ has changed nick to Slereah-.
12:13:20 <AnMaster> Slereah-, first is it set to English?
12:13:49 <AnMaster> does it return an error or does the command exist?
12:13:52 <Slereah-> Which is awkward with the qwerty and all
12:14:15 <AnMaster> Slereah-, ah you can change that
12:14:26 <Slereah-> The program 'smartctl' is currently not installed. You can install it by typing:
12:14:26 <Slereah-> sudo apt-get install smartmontools
12:14:26 <Slereah-> bash: smartctl: command not found
12:14:43 <AnMaster> sudo apt-get install smartmontools
12:15:40 <AnMaster> Slereah-, are you in X? as in graphical windows
12:16:02 <Slereah-> I have a graphical interface yes
12:16:22 <AnMaster> Slereah-, ah a bit harder then a sec
12:16:47 <Slereah-> Wel I know that I can change it in the install screen.
12:17:05 <Slereah-> I could maybe launch it and then cancel after the AZERTY
12:17:18 <AnMaster> Slereah-, without a graphical interface it would be loadkeys /usr/share/keymaps/i386/azerty/fr-latin1.map.gz
12:17:41 <AnMaster> Slereah-, but yes that could work I guess
12:18:29 <Slereah-> smartctl version 5.36 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
12:18:29 <Slereah-> Home page is http://smartmontools.sourceforge.net/
12:18:29 <Slereah-> ERROR: smartctl requires a device name as the final command-line argument.
12:18:29 <Slereah-> Use smartctl -h to get a usage summary
12:18:36 <AnMaster> Slereah-, good it is installed now
12:18:41 <AnMaster> Slereah-, what is the harddrive with the issues?
12:18:49 <AnMaster> Slereah-, something like /dev/hdb likely
12:18:56 <AnMaster> /dev/hda is probaly your first
12:19:08 <Slereah-> I have five hard drives plugged in.
12:19:25 <AnMaster> Slereah-, well ok, is the bad harddrive SATA or PATA?
12:19:36 <AnMaster> Slereah-, ls /dev/hd* /dev/sd*
12:20:58 <Slereah-> I actually only have 4 now that I think of it
12:21:07 <Slereah-> Because of stuff from yesterday
12:21:15 <Slereah-> ls: /dev/hd*: No such file or directory
12:21:15 <Slereah-> /dev/sda /dev/sda3 /dev/sdb /dev/sdc1 /dev/sdd /dev/sde1
12:21:15 <Slereah-> /dev/sda1 /dev/sda4 /dev/sdb1 /dev/sdc2 /dev/sdd1
12:21:15 <Slereah-> /dev/sda2 /dev/sda5 /dev/sdc /dev/sdc5 /dev/sde
12:21:46 <AnMaster> Slereah-, now we need to figure out what one is the broken harddrive
12:22:05 <AnMaster> run that so we get a root shell
12:22:34 <Slereah-> /dev/sdb: block special (8/16)
12:22:34 <Slereah-> /dev/sdc: block special (8/32)
12:22:34 <Slereah-> /dev/sdd: block special (8/48)
12:22:34 <Slereah-> /dev/sde: block special (8/64)
12:22:52 <AnMaster> (sorry I forgot the -s first time)
12:23:25 <Slereah-> /dev/sdb: block special (8/16)
12:23:29 <Slereah-> /dev/sdc: block special (8/32)
12:23:33 <Slereah-> /dev/sdd: block special (8/48)
12:23:37 <Slereah-> /dev/sde: block special (8/64)
12:23:38 <AnMaster> Slereah-, it should say something else when you use -s
12:23:40 <Slereah-> root@ubuntu:~# file -s /dev/sd?
12:23:41 <Slereah-> /dev/sda: x86 boot sector; partition 1: ID=0x83, starthead 1, startsector 63, 26426862 sectors; partition 2: ID=0x83, starthead 0, startsector 26426925, 7181055 sectors; partition 3: ID=0x7, active, starthead 0, startsector 33607980, 120921255 sectors; partition 4: ID=0xf, starthead 0, startsector 154529235, 5526360 sectors
12:23:41 <Slereah-> /dev/sdb: x86 boot sector, Microsoft Windows XP MBR, Serial 0x6873a38c; partition 1: ID=0xb, active, starthead 1, startsector 63, 976768002 sectors
12:23:41 <Slereah-> /dev/sdc: x86 boot sector, Microsoft Windows XP MBR, Serial 0xeb9eeb9e; partition 1: ID=0x7, active, starthead 1, startsector 63, 78156162 sectors; partition 2: ID=0xf, starthead 0, startsector 78156225, 78140160 sectors
12:23:43 <Slereah-> /dev/sdd: x86 boot sector, mbr; partition 1: ID=0xc, starthead 1, startsector 63, 234436482 sectors, extended partition table (last)\011
12:23:46 <Slereah-> /dev/sde: x86 boot sector, Microsoft Windows XP MBR, Serial 0xc2514d40; partition 1: ID=0xc, starthead 1, startsector 63, 976768002 sectors, extended partition table (last)\011
12:24:15 -!- kar8nga has left (?).
12:24:15 <AnMaster> Slereah-, well ok, all of these drivers seems ok at a quick look
12:24:41 <Slereah-> Well, what I could do is, turn off most of the hard drives.
12:25:00 <Slereah-> And just leave the broken one and one with enough memory left
12:25:16 <AnMaster> Slereah-, each drive should say:
12:25:18 <AnMaster> === START OF READ SMART DATA SECTION ===
12:25:19 <AnMaster> SMART overall-health self-assessment test result: PASSED
12:25:35 <AnMaster> if it doesn't include that, we know the drive is bad
12:25:46 <Slereah-> root@ubuntu:~# smartctl -d ata -H /dev/sdb
12:25:46 <Slereah-> smartctl version 5.36 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
12:25:46 <Slereah-> Home page is http://smartmontools.sourceforge.net/
12:25:46 <Slereah-> Smartctl: Device Read Identity Failed (not an ATA/ATAPI device)
12:25:46 <Slereah-> A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.
12:26:26 <AnMaster> Slereah-, oh they don't support SMART then
12:26:53 <Slereah-> They're my partitions on my hard drive
12:27:03 <AnMaster> Slereah-, on that would be /dev/sda2
12:27:05 <Slereah-> And as you know, it has problems and such
12:27:50 <Slereah-> How come they contain exactly what the hard drive contains then?
12:27:59 <Slereah-> Three Windows installations and two linux.
12:28:10 <Slereah-> (It was a rough couple of months)
12:28:29 -!- timotiis has joined.
12:28:31 <AnMaster> Slereah-, ok lets just disconnect all drives that works
12:28:39 <AnMaster> and leave the broken disk only
12:30:35 <Slereah-> /dev/sdd: x86 boot sector, mbr; partition 1: ID=0xc, starthead 1, startsector 63, 234436482 sectors, extended partition table (last)\011
12:30:35 <Slereah-> /dev/sdd1: x86 boot sector, Microsoft Windows 98 Bootloader, code offset 0x5a, OEM-ID "MSWIN4.1", sectors/cluster 64, Media descriptor 0xf8, heads 255, hidden sectors 63, sectors 234436482 (volumes > 32 MB) , FAT (32 bit), sectors/FAT 28611, reserved3 0x800000, serial number 0x17ea3758, unlabeled
12:30:50 <Slereah-> Why the fuck does it contain windows 98.
12:31:06 <Slereah-> I mean, sure, it's the oldest one and I used 98 for quite a while.
12:31:21 <AnMaster> yes it was *made* by windows98
12:31:22 <Slereah-> Although maybe I did use it to install it on.
12:31:51 <AnMaster> Slereah-, anyway so far it doesn't seem to be a broken harddrive
12:32:23 <Slereah-> Well, is there a way to check what it contains?
12:32:37 <AnMaster> Slereah-, that will do a disk check
12:32:38 <AnMaster> including checking for bad sectors
12:33:05 <AnMaster> Slereah-, brb need to get some water
12:33:09 <Slereah-> root@ubuntu:~# fsck.vfat -t -r /dev/sdd1
12:33:09 <Slereah-> dosfsck 2.11, 12 Mar 2005, FAT32, LFN
12:33:09 <Slereah-> Got 12058624 bytes instead of 14648708 at 16384
12:34:22 <AnMaster> Slereah-, well it is some harddrive error
12:34:32 <AnMaster> Slereah-, say yes when it asks if you want to fix stuff
12:35:16 <Slereah-> But by that, do you mean that it will ask me, or that you're going to give me a command that will then ask me to do it
12:35:30 <Slereah-> Because now, it's over and I wasn't asked anything
12:35:48 <Slereah-> root@ubuntu:~# fsck.vfat -t -r /dev/sdd1
12:35:48 <Slereah-> dosfsck 2.11, 12 Mar 2005, FAT32, LFN
12:35:48 <Slereah-> Got 12058624 bytes instead of 14648708 at 16384
12:36:41 <AnMaster> fsck.vfat -t -a -v -f /dev/sdd1
12:37:45 <AnMaster> I will brb too, highlight me so I notice you are back
12:41:58 -!- Corun has joined.
12:46:14 -!- olsner_ has joined.
12:49:27 <AnMaster> Slereah-, if that last command gives the same bad result, try this:
13:02:04 <Slereah-> root@ubuntu:~# fsck.vfat -t -a -v -f /dev/sdd1
13:02:12 <Slereah-> dosfsck 2.11, 12 Mar 2005, FAT32, LFN
13:02:24 <Slereah-> Checking we can access the last sector of the filesystem
13:02:52 <Slereah-> First FAT starts at byte 16384 (sector 32)
13:03:00 <Slereah-> 14648832 bytes per FAT (= 28611 sectors)
13:03:04 <Slereah-> Root directory start at cluster 2 (arbitrary size)
13:03:08 <Slereah-> Data area starts at byte 29314048 (sector 57254)
13:03:12 <Slereah-> 3662175 data clusters (120002150400 bytes)
13:03:12 <Slereah-> Got 12058624 bytes instead of 14648708 at 16384
13:03:27 <Slereah-> And badblocks is giving me numbers. Of blocks, I assume. In a state of badness.
13:03:54 -!- olsner has quit (Read error: 110 (Connection timed out)).
13:04:23 <Slereah-> Linux just found the hard drive in question
13:04:42 <Slereah-> I recognized the name of the volume
13:04:58 <Slereah-> Although the clicking on open does not give many openings.
13:11:09 <AnMaster> <Slereah-> And badblocks is giving me numbers. Of blocks, I assume. In a state of badness.
13:11:27 <AnMaster> it is probably giving you how many blocks it checked
13:12:02 <AnMaster> Slereah-, give me an example of the badblocks output
13:12:21 <AnMaster> Slereah-, if there are a lot listed then the disk is probably not recoverable
13:12:42 <Slereah-> I certainly hope so, because there's a whole lot of numbers.
13:12:42 <Slereah-> It would probably be a bad sign if it were the bad sectors.
13:13:15 <Slereah-> root@ubuntu:~# badblocks -n /dev/sdd1
13:13:21 -!- Slereah- has quit (Excess Flood).
13:13:36 -!- Slereah- has joined.
13:13:49 <Slereah-> If those are the bad blocks, it would indeed be a bad sign
13:15:40 <Slereah-> Although so far, it's the most I've seen of this hard drive for months.
13:16:12 <Slereah-> I can see its actual volume name, the free space left on it, its size, its number of folders and files.
13:16:24 <Slereah-> The only thing it lacks is the ability to actually open it.
13:17:46 <Slereah-> Before, I would either not see it at all on Linux or see it as "Disk E" on windows.
13:17:46 <Slereah-> Where it would say that it had a size of 0B.
13:19:00 <AnMaster> Slereah-, they are broken blocks indeed
13:19:32 <AnMaster> Slereah-, that harddrive is dead in other words. rest in peace and piece
13:19:54 <AnMaster> Slereah-, in the future remember to make backups
13:21:38 -!- olsner_ has quit.
13:23:30 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
13:25:22 -!- ubuntu__ has joined.
13:27:47 <AnMaster> ubuntu__, the drive is dead I'm afraid
13:33:01 -!- jix has quit ("CommandQ").
13:33:58 -!- ubuntu__ has changed nick to Slereah_.
13:34:11 <Slereah_> Is there no way to get back some data?
13:34:54 <Slereah_> Also can I stop badblocks. It saud nothing since 26263
13:38:22 -!- SchrodingersCat has joined.
13:42:56 <Slereah_> Quick, to save that on the other hard drive!
13:44:50 <Deewiant> badblocks disables the bad blocks, right?
13:45:02 <Deewiant> yeah, http://en.wikipedia.org/wiki/Badblocks
13:45:06 <Deewiant> It marks these sectors so that they are not used in the future and thus do not cause corruption of data.
13:45:11 <Slereah_> I'm gonna download this sucker dry.
13:45:32 <Slereah_> I hope that there's not too many corrupted files.
13:47:12 <Slereah_> Of course, since there's a hundred gig of data in there, it might take a while.
13:47:32 <Slereah_> This is also why I don't do back up : I have somewhere around 500 gigs of Data.
13:47:50 <Slereah_> And I don't have a hundred DVDs.
13:48:02 -!- SchrodingersCat has left (?).
13:48:37 <Slereah_> Well, 500 gig HD don't grow on trees
13:48:39 <Deewiant> probably cheaper than the hundred DVDs, too.
13:48:58 <Deewiant> no, but somehow they wind up in shops anyway
13:49:14 <Slereah_> Yeah, but they ask for pieces of papers.
13:50:31 <Slereah_> That's the problem : I'm already buying a hard drive a year just to have free space
13:51:13 <Slereah_> So buying one for back up would start to cost a lot.
13:51:34 <Deewiant> you don't have to necessarily backup everything
13:51:40 <Slereah_> I used to do CD back up, and I still have them, but now it would just be unpractical
13:51:56 <Deewiant> but I think storage is fairly cheap these days
13:52:09 <Deewiant> a hard drive a year isn't that much, to be honest
13:52:34 <Slereah_> From where I'm standing, I get the impression that the latest hard drive storage is always around a hundred euros.
13:52:42 <Deewiant> yes, and it generally doubles your capacity each time
13:52:46 <Slereah_> Of course, 4 years ago, it was 80 Go.
13:53:03 <Slereah_> I suppose that now, the 500 would cost a hundred too.
13:53:16 <Deewiant> yes, it's a bit less than that, I think.
13:53:41 <Deewiant> an external drive that size costs around a hundred, an internal can be got cheaper.
13:53:57 <Slereah_> I don't care about external-internal.
13:54:12 <Slereah_> All my ex-internal hard drives are now external.
13:54:25 <Slereah_> The box to make them external is quite cheap.
13:54:33 <Deewiant> so even better, you can spend around 150 euros a year to get a lot more capacity + a backup for it
13:55:10 <Slereah_> It's like an external hard drive, but without the drive in it.
13:55:18 <Slereah_> So you can put in any HD you want.
13:55:33 <Deewiant> ah, so you have one of those for each ex-internal drive?
13:55:53 <Slereah_> Although I'm not sure my current hard drive will go there.
13:56:13 <Slereah_> Not only because it seems broken, but also because the plug on it is of a different shape
14:00:21 -!- ubuntu__ has joined.
14:00:21 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
14:00:34 -!- ubuntu__ has changed nick to Slereah_.
14:00:57 <Slereah_> I should sort my files one day.
14:06:52 -!- jix has joined.
14:12:42 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
14:13:10 <Slereah_> Ah balls, now I can't open it again.
14:13:24 <Slereah_> The file transfer blocked on a file, I assume it was a bad block D:
14:13:36 -!- Corun has quit ("This computer has gone to sleep").
14:14:08 <Slereah_> I'll just redo the badblocks thingy I suppose.
14:14:30 <Slereah_> "/dev/sdd1 is mounted; it's not safe to run badblocks!"
14:16:04 -!- olsner has joined.
14:17:51 <Slereah_> It just needs a unholy amount of time or something
14:18:06 <Slereah_> I'd better throw it in a well as soon as I'm done with it
14:34:44 <Slereah_> Two of the defective files are from the old DnD cartoon.
14:34:44 <Slereah_> Fuck that cartoon, breaking my hard drive.
14:37:55 <AnMaster> <Deewiant> badblocks disables the bad blocks, right?
14:38:03 <AnMaster> that is what fsck.vfat would do
14:39:00 <Slereah_> Ah fuck. Now there's a Highlander cartoon fucking it up.
14:39:15 <Slereah_> Remember kids : cartoons are bad for hard drives.
14:40:58 <AnMaster> <Slereah_> I'd better throw it in a well as soon as I'm done with it
14:41:35 <Slereah_> Like make a festive adornment out of it?
14:42:30 <Slereah_> By the way AnMaster, do you know how to access my linux partition?
14:42:57 <Slereah_> Since I can't access it from windows, I'd like to get the data out of it
14:43:05 <Slereah_> So I can nuke that disk without remorse
14:43:29 <Slereah_> mount: mount point /mnt/linux does not exist
14:43:54 <Slereah_> mount: /dev/sda4: can't read superblock
14:44:05 <AnMaster> <AnMaster> Slereah_, find what one it is
14:44:07 <AnMaster> <AnMaster> Slereah_, find what one it is
14:44:19 <AnMaster> Slereah_, check using file -s /dev/sda*
14:44:36 <AnMaster> Slereah_, to see what one say ext3 or such
14:44:56 -!- olsner has quit.
14:45:04 <Slereah_> Well, 1 and 2 are Linux rev 1.0 ext3 filesystem data (large files)
14:45:18 <Slereah_> If they're classed by dates, it should be 1
14:46:57 <Slereah_> It's a good thing too, because that's where all my eso stuff are.
14:47:20 <AnMaster> Slereah_, backup everything and just install linux on the entire disk
14:47:47 <Slereah_> Almost no software works on Linux. Or at least that I can make them work there
14:48:04 <Slereah_> As I said, the current hard drive seems fucked up.
14:48:17 <Slereah_> Neither GParted or Partition Magic seems to be able to touch it
14:48:39 <Slereah_> I tried to resize the partitions and all, but to no avail
14:48:51 <AnMaster> Slereah_, tried fdisk to remove and readd
14:48:59 <AnMaster> Slereah_, also a tip how to get dual boot to work
14:49:13 <AnMaster> assuming you have same partition for windows as before:
14:49:14 <Slereah_> Well, I'll try that as soon as my data are safe and sound
14:49:24 <AnMaster> Slereah_, did you mount it on /mnt/linux
14:49:45 <AnMaster> Slereah_, don't run that first
14:49:57 <AnMaster> mount -t proc proc /mnt/linux/proc
14:50:04 <Slereah_> Don't worry. Rioght now, I'm moving my files on the HD.
14:50:09 <AnMaster> mount --bind /dev /mnt/linux/dev
14:50:17 <AnMaster> mount --bind /sys /mnt/linux/syc
14:50:52 <AnMaster> Slereah_, if it doesn't tell me what error that command gives
14:51:20 <AnMaster> you will probably need to run *after* chroot: mount /boot
14:55:41 <Slereah_> "You need permission to copy such file"
15:01:38 <AnMaster> Slereah_, not sure how on the livecd outside shells
15:03:03 <Slereah_> Well, I'll do the Linux part afterward.
15:03:12 <Slereah_> Right now, I'll do the hard drive before it explodes.
15:15:38 -!- RodgerTheGreat has joined.
15:21:05 -!- ubuntu__ has joined.
15:21:05 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
15:23:01 -!- ubuntu__ has changed nick to Slereah_.
15:35:33 <RodgerTheGreat> "erlang: the movie" http://www.youtube.com/watch?v=uKfKtXYLG78
15:40:57 <SimonRC> it looks like it wwas made about 20 years befoer the language existed
15:49:05 <Slereah_> I suppose I'll let it cool or something.
15:49:17 <RodgerTheGreat> well, I think these guys were actually developers, rather than professional actors
15:49:35 -!- jix has quit (Nick collision from services.).
15:49:45 -!- jix has joined.
15:50:46 -!- pikhq has joined.
15:54:41 <SimonRC> doesn't HTTP have some feature to resume transferring a file partway through?
15:55:04 <SimonRC> maybe not, as I don't recall firefox ever doing it
15:55:07 <Slereah_> A hard drive that has known better days
16:03:46 <SimonRC> oh deary deary me: http://www.youtube.com/watch?v=uKfKtXYLG78
16:04:06 <SimonRC> oh deary deary me: http://www.youtube.com/watch?v=Mal6XbN5cEg&NR=1
16:10:06 -!- olsner has joined.
16:11:03 -!- olsner has quit (Client Quit).
16:14:02 -!- tusho has joined.
16:31:11 -!- oerjan has joined.
16:31:53 <RodgerTheGreat> http://www.youtube.com/watch?v=jzYoKCl883c&feature=related
16:36:38 <RodgerTheGreat> oh jesus christ: http://www.youtube.com/watch?v=UP1wPFICdUY&feature=related
16:39:02 <tusho> RodgerTheGreat: Awaiting turing machine.
16:39:34 * oerjan is awaiting the Analytic Engine :D
16:39:54 <pikhq> How's life near the artic circle?
16:40:07 <tusho> oerjan: Gah, I want an Analytical Engine.
16:40:14 <tusho> How come nobody has built one?
16:40:30 <oerjan> well, not today, but a couple days ago
16:40:57 <oerjan> tusho: a virtual one _should_ be feasible, you'd think
16:41:08 <oerjan> perhaps someone did that
16:41:09 <Slereah_> tusho: There's an interpreter for it on the internet
16:41:11 <tusho> oerjan: yes, and why not a real one?
16:41:21 <tusho> I'm not that hot with the analytical engine so I dunno if it's really hard or something
16:41:23 <oerjan> tusho: because of $$$$
16:41:26 <tusho> but it's been like 5 billion years
16:41:35 <Slereah_> Well, because a real one would be gigantic
16:41:43 <tusho> Slereah_: precisely!
16:42:21 <RodgerTheGreat> the problem with building an analytical engine comes mainly from the fact that it needs thousands and thousands of complex, precisely machined custom parts
16:42:48 * oerjan is disappointed that "fuck man i'm haf" isn't a palindrome. or is it?
16:43:12 <tusho> oerjan: it's the produce of moozilla writing a spec on drugs, according to official (moozilla-approved) reports
16:43:17 <tusho> but yes, it'd be more fun as a palindrome
16:43:22 <RodgerTheGreat> it's not all that different from why babbage failed to make one in his day
16:43:40 -!- tusho has set topic: fuck man i'm haf fah m'i nam kcuf.
16:43:42 <tusho> now it's a palindrome
16:43:51 -!- tusho has set topic: fuck man i'm haf fah m'i nam kcuf | http://tunes.org/~nef/logs/esoteric/.
16:46:27 <oerjan> tusho: do you mean there is something on the outerloom about "fuck man i'm haf"? google fails me
16:46:37 <tusho> oerjan: moozilla posted a spec here
16:46:52 <tusho> we enquired wtf that means and it turns out he wrote half of the spec on drugs
16:46:53 <oerjan> oh here in the channel?
16:47:34 <tusho> I bet 'fuck man i'm haf' actually transforms the language
16:47:39 <tusho> into a thing of beauty and amazingness
16:47:43 <tusho> but we'll never comprehend it..
16:48:40 <oerjan> well not without the right drugs anyhow
16:49:38 -!- pgimeno has left (?).
16:50:37 <tusho> oerjan: that'll be a problem if the US government selects it to replace ada
16:51:02 <oerjan> not really, since they would only do that if they were on the right drugs anyhow
16:51:36 <tusho> oerjan: no, we're assuming that 'fuck man i'm haf' actually transforms it into the perfect language
16:52:08 <oerjan> well, then do the transformation first.
16:52:33 -!- cybergirl has joined.
16:53:52 <AnMaster> <RodgerTheGreat> "erlang: the movie" http://www.youtube.com/watch?v=uKfKtXYLG78 <-- great!
16:55:34 -!- cybergirl has quit (Client Quit).
16:56:45 <AnMaster> <SimonRC> oh deary deary me: http://www.youtube.com/watch?v=Mal6XbN5cEg&NR=1 <-- ARGG!
16:58:26 <tusho> This is the first ever music video about programming that has been written and performed by an actual programmer. }
17:00:20 <tusho> you know those nabaztag bunny things
17:00:25 <tusho> that acn speak out rss feeds and email
17:00:29 -!- selb has left (?).
17:00:34 <tusho> Some idiot set up a text box that lets you make it say anything.
17:00:45 <tusho> I wonder if it's saying "FUCK FUCK FUCK FUCK FUCK FUCK FUCK" as we speak?
17:04:47 <AnMaster> <tusho> oerjan: that'll be a problem if the US government selects it to replace ada
17:05:07 <AnMaster> I'm pretty sure it is for some parts
17:05:25 <AnMaster> ADA looks like a very interesting language
17:06:43 <tusho> 'Programmers suck balls'
17:06:56 <tusho> I've replied explaining that programmers _might_ have made reddit
17:07:25 <Slereah_> Nah, they're too busy sucking balls.
17:07:52 <Slereah_> Well, it clearly was intelligent design
17:07:59 <Slereah_> So I think Jesus was involved.
17:09:03 <oerjan> rubbish, it clearly evolved, that explains why it sucks so much (balls).
17:12:38 <AnMaster> erlang looks like a very nice language, I even have it installed because wings3d use it
17:13:31 <SimonRC> (was distracted by google tech talk)
17:15:52 <AnMaster> tusho, but those actors were quite bad
17:16:03 <tusho> AnMaster: i haven't seen it, but, um, it's about programming
17:16:05 <tusho> suprise suprise, then
17:16:24 <AnMaster> tusho, well maybe they were real engineers not actors
17:18:28 <AnMaster> tusho, have you seen this: http://www.oddmusic.com/gallery/om24550.html
17:18:38 <AnMaster> not programming but quite cool IMO
17:19:19 <tusho> http://www.oddmusic.com/clips/sea_organ.mp3
17:20:28 <AnMaster> tusho, yes I was surprised that it sounded as good as it did
17:20:48 <tusho> i love non-human-made music
17:22:03 -!- olsner has joined.
17:26:55 <AnMaster> cat /dev/whateveritis > /dev/dsp
17:26:59 <tusho> cat /dev/random >/dev/audio
17:27:08 <tusho> don't think OS X has a /dev/ file for audio though, I may be wrong
17:27:14 <AnMaster> tusho, that is white noise more or less!
17:27:24 <tusho> AnMaster: yes but if you turn it down it's quite soothing
17:28:12 <AnMaster> tusho, you should not do it, don't deplete the entropy pool in /dev/random
17:28:29 <tusho> AnMaster: i hope you're joking
17:28:44 <tusho> the UNIX POLICE will come after me for REDUCING ENTROPY by LISTENING TO /DEV/RANDOM
17:28:58 <oerjan> SAVE THE UNIVERSE, PRESERVE ENTROPY
17:29:16 <pikhq> Preserve entropy: rm /dev/*random
17:30:10 <AnMaster> tusho, anyway listening to an NTFS partition is quite interesting
17:30:16 <AnMaster> tusho, it actually produces tone
17:30:24 <tusho> AnMaster: maybe that's the origin of ntfs
17:30:26 <tusho> an audio generator
17:30:31 <tusho> that would explain why it's a crappy filesystem
17:31:02 <AnMaster> some noise and after a while a series of low tones about 1/10-1/4 seconds long
17:31:54 -!- Sargun has quit (No route to host).
17:32:47 <AnMaster> tusho, it even got a nice beat, a bit noise in the sound though
17:33:05 <AnMaster> tusho, how to capture from /dev/dsp?
17:33:26 <tusho> AnMaster: don't pipe it to /dev/dsp
17:33:29 <tusho> pipe it to an ogg encoder..
17:33:36 <tusho> (and ^C after a bit)
17:33:38 <oerjan> can you make emelets by crushing oggs?
17:33:39 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
17:34:01 <tusho> AnMaster: uh, the xiph.org ogg encoder?
17:34:03 <tusho> oggenc, I believe?
17:34:05 <tusho> you know ... just do
17:34:08 <tusho> oggenc --raw /dev/fs -o foo.ogg
17:34:12 <tusho> and ^C after a bit
17:34:24 <AnMaster> tusho, well lets see what that turns out in
17:35:09 <AnMaster> tusho, doesn't sound right at all
17:35:15 <AnMaster> tusho, it get much higher freq
17:35:22 <tusho> AnMaster: you'll have to manually specify it
17:35:26 <tusho> since it's raw pcm data
17:35:33 <AnMaster> tusho, well I got no idea what to specify for it!
17:35:40 <tusho> AnMaster: play around with values
17:35:46 <tusho> oggenc --help, anything related to sample rate?
17:35:49 <AnMaster> Playing raw data '/dev/sdb1' : Unsigned 8 bit, Rate 8000 Hz, Mono
17:36:04 <tusho> AnMaster: then .. feed it 8000
17:37:31 <AnMaster> tusho, you could extract my file system info from it!
17:37:41 <tusho> AnMaster: are you being serious
17:37:43 <tusho> please don't be serious
17:38:00 <AnMaster> tusho, well this is likely just the header
17:38:09 <tusho> besides, I couldn't do anything with the data
17:38:14 <tusho> it'd depend on all the rest...
17:38:19 <tusho> and finally, the ogg encoding is lossy
17:38:23 <tusho> thus major quality lossage
17:38:27 <tusho> thus i couldn't recover it
17:38:35 <tusho> AnMaster: oh, wait
17:38:38 <tusho> redo the oggenc with
17:38:43 <tusho> (ultra-high quality)
17:38:51 <tusho> since, uh, otherwise it'll compress badly
17:38:55 <tusho> 'cause of the white noise and similar
17:39:15 <tusho> wasn't a joke, actually :\ it's likely to compress badly
17:39:19 <tusho> but whatever, just upload it
17:39:49 <tusho> yep, upload it somewhere
17:40:16 <SimonRC> maybe we need fractal compression to deal with white noise properly
17:42:25 <AnMaster> tusho, http://omploader.org/vbDV6
17:43:48 <AnMaster> the more modern ntfs disk doesn't sound as good
17:44:13 -!- cc_to_ide has joined.
17:44:25 <AnMaster> tusho, odd that NTFS should sound good eh?
17:44:32 <tusho> it's like what would happen if Autechre were tasked with making rock
17:44:52 <tusho> http://en.wikipedia.org/wiki/Autechre
17:45:07 <AnMaster> tusho, I don't like rock music myself
17:45:13 <AnMaster> but it is better than white noise
17:45:32 <tusho> i like most kinds of music
17:46:01 <tusho> most rap is terrible
17:46:16 <tusho> but some indie-label underground rap is pretty good
17:47:10 <AnMaster> tusho, but odd that ntfs sounds like that eh?
17:47:40 <tusho> AnMaster: care to release that under CC by-sa 3.0? :-P
17:47:59 <tusho> :( i wanna make something out of it
17:48:04 <AnMaster> tusho, get your own 70 GB NTFS
17:48:15 <tusho> it's just the header ... and it's too distorted to be able to recover _any_ data
17:48:49 <tusho> AnMaster: i said I wanted to make something out of it
17:48:56 <tusho> & i wouldn't use a -nc sample
17:49:05 <AnMaster> tusho, well it would be -nc then
17:49:12 <tusho> no discrimination against fields of endeavour, AnMaster
17:49:21 <tusho> thought you liked free software?
17:49:34 <AnMaster> tusho, well yes but music is different
17:49:50 <AnMaster> tusho, anyway it is likely to be copyright microsoft?
17:50:01 <tusho> AnMaster: by that logic MS own your whole disc
17:50:06 <tusho> because it's encoded with ntfs
17:50:48 <AnMaster> tusho, also I don't believe it is too distorted to recover data from unless you can prove it
17:50:53 * SimonRC wonders if there are any really good Shepard Scales out there...
17:51:12 <AnMaster> tusho, what did you plan to make with it though?
17:51:14 <tusho> AnMaster: uh, do you know anything about lossy compression?
17:51:17 <SimonRC> all the ones I can find sound like they have a distinct jump up.down in them
17:51:24 <SimonRC> http://en.wikipedia.org/wiki/Shepard_tone
17:51:25 <tusho> the information loss will be _huge_ especially at the low quality (khz etc) it's at
17:51:27 <tusho> just human ears suck
17:51:38 <SimonRC> notes that go up continuously without getting anywhere
17:51:44 <tusho> AnMaster: anyway, I'd probably just make some kind of track out of it
17:53:20 <AnMaster> SimonRC, the one on wikipedia sounds good
17:54:25 <SimonRC> It might be good to be able to tweak the volumes to fit your own ears
17:55:25 <SimonRC> the frequency response of human ears is complicated
17:56:09 <AnMaster> SimonRC, I didn't hear any gap in it
17:57:55 <SimonRC> the fade-in seems quite sudden around the 21s and 42s mark
17:59:27 -!- cc_toide has quit (Read error: 110 (Connection timed out)).
18:02:43 <SimonRC> yeah... I think there must be quite a sharp change in my frequency response at some point
18:02:55 <SimonRC> presumably software can be made to hide it
18:05:18 -!- RodgerTheGreat has quit.
18:11:00 <AnMaster> SimonRC, I see what you mean at high volumne
18:11:41 <AnMaster> SimonRC, but you mean 23 and 45
18:25:41 <SimonRC> the rhythmic equivalent: http://swiki.hfbk-hamburg.de:8888/MusicTechnology/uploads/826/Risset_accelerando_beat1.mp3
18:29:34 <SimonRC> in fact that kinda has a shepard tone in it too
18:29:47 <AnMaster> SimonRC, that got a clear "jump"
18:30:19 <SimonRC> yeah, the point at which one of the tones gains a lower component and the other doesn't
18:32:02 <SimonRC> it's all those infinitely-fast notes I expect
18:32:50 * AnMaster starts listing to what he was listing to be before (restful music, enya to be exact)
18:34:43 -!- sebbu has quit (No route to host).
18:36:04 <SimonRC> well, it is supposed to be paradoxical, not necessarily nice-sounding
18:40:21 -!- oerjan has quit ("Good night").
18:41:46 <tusho> http://swiki.hfbk-hamburg.de:8888/MusicTechnology/uploads/826/Risset_accelerando_beat1.mp3 is lovely
18:43:22 <tusho> SimonRC: no, i really like it
18:43:51 <SimonRC> well, I found an apparently improved version...
18:44:00 <SimonRC> and the software that renders it is free
18:44:19 <tusho> AnMaster: hey, it has like infinity times more structure than a lot of stuff I listen to
18:44:21 <SimonRC> ooh, sourecforge has a windows port...
18:44:41 <SimonRC> http://elists.resynthesize.com/sc-users/2006/09/1634650/Re-Risset-accelerando.html
18:44:45 <SimonRC> http://supercollider.sourceforge.net/downloads
18:46:45 <SimonRC> the mp3 I posted was a rendering of some code that is earlier in the thread that the "improved" code is in
18:51:17 * SimonRC comes up with a random filesystem idea..
18:52:05 <SimonRC> it means: if such-and-such directory is created, it should also have a certain filesystem atomically mounted there
18:52:54 <AnMaster> SimonRC, why is that interesting/good/esoteric?
18:52:59 -!- sebbu has joined.
18:59:31 <tusho> I had an idea so that you could REALLY filter /dev/random to make something.
18:59:32 -!- cc_toide has joined.
18:59:39 <tusho> Specifically a music maker which by default read from /dev/random
18:59:43 <tusho> And you'd just tweak it until it sounded good.
18:59:56 <tusho> UNIX editor wars hardcority won!
19:01:21 <SimonRC> AnMaster: I was think about windows
19:01:53 <SimonRC> if you know the director stucture that some program will create...
19:02:02 <SimonRC> and you want to split it across devices...
19:02:07 <AnMaster> tusho, /dev/urandom or /dev/random?
19:02:14 <AnMaster> you don't get a lot from /dev/random
19:02:16 <tusho> AnMaster: /dev/random
19:02:37 <SimonRC> but you can't mount the directories until the installer has created them
19:02:38 <tusho> AnMaster: yes, you'd have to leave it starting up for a while
19:03:05 <AnMaster> SimonRC, well if the installer didn't accept pre-created directories it would be crap
19:03:12 <SimonRC> and the installer puts files in the directories immediately after creating them
19:03:34 -!- Slereah- has joined.
19:05:34 <tusho> Slereah-: Read as 'black'.
19:06:04 <Slereah-> "Once you go black, we don't want you back"
19:07:22 <tusho> Slereah-: Being black is a choice! Just like being gay!
19:07:34 <tusho> (The sarcasm level in #esoteric today is more than AnMaster can handle.)
19:07:59 <Slereah-> The hard drive is almost downloaded.
19:08:17 * tusho downloads a harddrive
19:08:41 <tusho> AnMaster: /dev/sda1
19:08:50 <tusho> Oh, wait, you mean the black and gay people?
19:09:04 <tusho> AnMaster: Fine then.
19:09:06 <AnMaster> tusho, no where you can you download a 2 GB drive
19:09:18 <Slereah-> And I didn't lose too much data
19:09:18 <Slereah-> And most of it, I can probably get back.
19:09:21 <tusho> Hmm. I wonder where OS X stores its HD devices.
19:09:25 <tusho> I know the mounts are in /Volumes..
19:09:38 <AnMaster> tusho, see what mount outputs?
19:09:51 <tusho> /dev/disk0s2 on / (local, journaled)
19:09:53 <tusho> The more you know!
19:10:41 <SimonRC> ok, this is harder than I though...
19:10:45 -!- timotiis has quit (Connection timed out).
19:11:18 <SimonRC> the language appears to be smalltalk-based
19:11:28 <tusho> Whut language, SimonRC
19:12:44 -!- olsner has quit.
19:14:26 -!- cc_to_ide has quit (Read error: 110 (Connection timed out)).
19:17:13 <SimonRC> tusho: The supercollider one
19:39:47 <SimonRC> well, it turns ou that the code was corrupted by the email-address-removed in the archiving software
19:39:47 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
19:40:28 <SimonRC> I am using my amazing hacker powers to repair this and learn enough of the language to do so
19:41:29 -!- Slereah- has joined.
19:41:50 <Slereah-> The last bit of the hard drive will wait for tomorrow
19:42:25 <SimonRC> it sounds more convincing that the other rhythm
19:42:50 <SimonRC> take this code: http://elists.resynthesize.com/sc-users/2006/09/1634650/Re-Risset-accelerando.html
19:43:11 <SimonRC> repair the "[EMAIL REMOVED]" with "pulses[1] + pulses[2] + pulses[3]"
19:43:35 <tusho> how about upload it for u
19:43:54 <SimonRC> then set the Server.default to server.internal
19:44:05 <tusho> booooooooooooooooooooooooring
19:44:29 <SimonRC> suggest where to upload it to
19:54:46 <AnMaster> SimonRC, in a way that doesn't need any external program
19:55:15 <SimonRC> I fiddled the fading formula though
19:56:38 <AnMaster> SimonRC, upload sample at ompload
19:57:05 * SimonRC tries to figure out how to record
20:14:00 -!- Ilari has quit ("Won't be back here for at least some time...").
20:35:59 -!- Slereah_ has joined.
20:36:00 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
20:37:12 -!- sebbu has quit (No route to host).
20:38:14 -!- sebbu has joined.
20:45:04 -!- Slereah_ has quit (Read error: 54 (Connection reset by peer)).
20:45:10 -!- Slereah- has joined.
20:50:05 <tusho> GregorR: you'll like that
20:56:23 * SimonRC realises that a 22MB audio file is rather large
20:57:00 <tusho> SimonRC: shell files
20:58:25 <SimonRC> I thought that nic.sh was the joke itself
20:58:36 <SimonRC> but of course, it is the NIC
21:00:05 <tusho> http://nic.sh/cgi-bin/whois?query=fi.sh&search=Search
21:00:05 * SimonRC looks at the cayman islands' NIC
21:06:53 -!- olsner has joined.
21:25:07 <tusho> unfortunately, .ho isn't a domain
21:25:32 <pikhq> (TLDs are for sale)
21:25:36 <tusho> pikhq: I don't have 50k
21:26:02 <tusho> pikhq: We should get, collectively, .eso
21:26:17 <tusho> http://wiki.eso/Brainfuck
21:28:38 <tusho> GregorR: Hmm. Most awesome TLD ever: .
21:28:44 <tusho> Because .tld works.
21:28:52 <tusho> See me at http colon slash slash dot!
21:29:11 <tusho> http://www.www.www/
21:29:22 <tusho> Oh god it smells of java.
21:29:43 * SimonRC wishes that domain names were big-endian
21:30:12 <SimonRC> and not just so someone could register sh.it
21:30:32 <SimonRC> it would fit in properly with the rest of URLs
21:31:09 <GregorR> I would register com.munist
21:31:21 <SimonRC> currently the heirarchy goes: 1://4.3.2/5/6/7 which is just ridiculous
21:31:33 <SimonRC> GregorR: then sell them for 1000 times the amount?
21:31:48 <GregorR> By what stretch of the imagination is the protocol the highest precedence?
21:31:57 <tusho> We can register sh.it.
21:32:49 <GregorR> No, because the path needs the protocol to be meaningful.
21:32:56 <tusho> Then protocol is 4.
21:33:04 <SimonRC> some protocols don;t have paths
21:33:06 <tusho> That's not too illogical.
21:33:11 <tusho> It descends for a bit then rises.
21:33:15 <tusho> You want to know the site name
21:33:17 <tusho> not that it's in .com
21:33:21 <SimonRC> protocol must come first...
21:33:30 <tusho> Admittedly, you generally don't care about the protocol, but still.
21:33:32 <tusho> It's semi-logical.
21:33:44 <SimonRC> (a) it determines what code one uses to access the data
21:33:55 <SimonRC> (b) some protocols don't have servers or paths
21:34:05 <tusho> you can always attach a protocol to a server
21:34:09 <tusho> that's what dns is all about
21:34:58 <SimonRC> tusho: except some protocols don't have servers specified
21:35:08 <tusho> that's not a URI then
21:35:15 <tusho> sigh, I'm not explaining this right
21:35:47 <SimonRC> anyway, this is distracting from my main point, which is that domains are backwards
21:38:08 <SimonRC> I would prefer the endianness of domains to match the rest of the URL (disregarding the protocol for the moment)
21:43:28 -!- timotiis has joined.
21:50:47 -!- olsner has quit.
22:11:34 -!- Judofyr_ has joined.
22:24:45 -!- Judofyr__ has joined.
22:25:53 -!- Slereah- has quit (Read error: 54 (Connection reset by peer)).
22:26:58 -!- Judofyr___ has joined.
22:27:42 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
22:28:05 -!- Judofyr___ has quit (Client Quit).
22:28:32 -!- Slereah- has joined.
22:38:50 -!- Judofyr_ has quit (Read error: 110 (Connection timed out)).
22:42:37 -!- Judofyr__ has quit (Connection timed out).
22:47:18 -!- RedDak has joined.
22:57:00 -!- Corun has joined.
23:01:15 -!- Corun has quit (Client Quit).
23:24:52 -!- jix has quit ("CommandQ").
00:09:11 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
00:41:16 -!- timotiis has quit (Read error: 110 (Connection timed out)).
01:17:26 -!- cc_to_ide has joined.
01:29:33 -!- GreaseMonkey has joined.
01:36:03 -!- cc_toide has quit (Connection timed out).
01:45:36 -!- Corun has joined.
01:45:51 -!- tusho has quit.
02:35:54 -!- Corun has quit ("This computer has gone to sleep").
02:42:37 -!- cc_to_ide has changed nick to cctoide.
02:56:02 -!- cctoide has quit ("Leaving").
04:37:26 -!- Sgeo has joined.
05:06:18 -!- pikhq has quit ("leaving").
05:27:18 -!- RodgerTheGreat has joined.
05:56:49 <RodgerTheGreat> I've been working on stuff for a comic book I plan to make
06:31:51 -!- cherez has quit (Read error: 110 (Connection timed out)).
06:32:29 -!- cherez has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:04:14 -!- jix has joined.
08:19:05 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
09:49:55 -!- Hiato has joined.
10:04:58 -!- Hiato has quit ("Leaving.").
10:56:14 -!- GreaseMonkey has quit ("Remote closed the previous member app").
11:35:34 -!- Judofyr has joined.
12:03:15 -!- Slereah_ has joined.
12:03:15 -!- Slereah- has quit (Read error: 54 (Connection reset by peer)).
12:05:01 -!- Slereah- has joined.
12:05:01 -!- Slereah_ has quit (Read error: 54 (Connection reset by peer)).
12:25:50 <Slereah-> People, never go three years without sorting your files
12:30:40 -!- timotiis has joined.
12:46:10 -!- sebbu2 has joined.
12:48:16 -!- sebbu3 has joined.
12:48:46 -!- sebbu has quit (Nick collision from services.).
12:48:48 -!- sebbu2 has quit (Nick collision from services.).
12:48:54 -!- sebbu3 has changed nick to sebbu.
13:21:05 <AnMaster> (the place is boring without them)
13:22:22 -!- planofish has joined.
13:22:30 -!- planofish has left (?).
13:22:35 <AnMaster> does a D program made for phobos compile and work with tango?
13:29:15 -!- Slereah- has quit (Read error: 54 (Connection reset by peer)).
13:30:29 <Deewiant> AnMaster: you'll need tangobos and might need to make some small changes
13:31:06 <AnMaster> well that genx that tusho recommended, LOTS of compiler warnings
13:31:20 <AnMaster> mostly casting const char* to non-const ones
13:31:37 <Deewiant> so compile that file without warnings. :-P
13:32:51 <Deewiant> I generally don't bother if it's somebody else's code and known to work
13:36:00 <AnMaster> Deewiant, I have high quality standards for code I use in my own projects, way higher than if I just depend on it already being installed (and currently I only depend on libc, and optionally boehm-gc)
13:50:07 -!- pikhq has joined.
13:54:11 <AnMaster> Deewiant, down to 2 warnings now
14:37:52 <AnMaster> Deewiant, also it uses sprintf in some places instead of snprintf
14:41:51 <Deewiant> nothing wrong with that if you have a buffer of the max possible size
14:53:11 <AnMaster> Deewiant, indeed, but that wasn't the case here
14:53:23 <AnMaster> static constUtf8 storePrefix(genxWriter w, constUtf8 prefix, Boolean force)
14:53:30 <AnMaster> sprintf((char *) buf, "xmlns:%s", prefix);
14:53:40 <Deewiant> and if they're internal, they might now the size
14:53:55 <AnMaster> Deewiant, I traced the code backwards, it is not checked before it is sent to said function
15:03:13 -!- ais523 has joined.
15:04:32 <ais523> AnMaster: I finished fffungi
15:04:44 <ais523> but there are some things I'd like to discuss with you about it
15:04:59 <ais523> the main issue is distributing it
15:05:07 <ais523> at the moment I have patches + a script that applies them
15:05:27 <ais523> but the patches being GPLv3 makes it kind of tricky to distribute with C-INTERCAL
15:05:41 <AnMaster> ais523, isn't C-INTERCAL "gpl2 or later"?
15:05:49 <ais523> the distribution's fine
15:06:01 <ais523> it's just having two files that aren't normally used with a different licence is a pain to explain on the 'packaging'
15:06:24 <AnMaster> ais523, well cfunge already contains some BSD code in lib, and shortly also some MIT
15:06:29 <ais523> ofc I could just licence the patches under gpl2+ as it would come to the same thing when combined with your gpl3 code, but I'd need your permission to do that
15:06:34 <AnMaster> included and customized libraries basically
15:06:45 <ais523> oh, I found a bug in cfunge's string load
15:06:54 <ais523> Deewiant: also a bug in mycology
15:07:03 <ais523> AnMaster: off-by-one in the loop counter
15:07:14 <ais523> you basically put the trailing NUL of the string onto the end of the program
15:07:23 <ais523> so if you try to wrap round the bottom row, it hits the NUL and reflects
15:07:40 <ais523> Deewiant: if negative k reflects, then it prints 'reflects' but also another message
15:07:42 <AnMaster> ais523, got a patch for that? ;)
15:07:53 <ais523> also another patch which it would be helpful for you to apply
15:08:03 <ais523> which doesn't affect cfunge at all when not combined with C-INTERCAL
15:08:08 <AnMaster> ais523, oh btw your patch is your custom interpreter main loop file + your fingerprint right? in that case, go ahead with GPL2+
15:08:12 <ais523> Deewiant: I think you have a missing semicolon
15:08:17 <ais523> AnMaster: yes, that's all
15:08:25 <AnMaster> ais523, care to upload the patches somewhere?
15:08:26 <ais523> I've pushed fffungi to the C-INTERCAL repo
15:08:32 <ais523> so you can get it from there
15:09:21 <AnMaster> ais523, where in c-intercal repo?
15:09:34 <ais523> the patch is etc/cfunge.patch
15:09:47 <ais523> for the whole thing, the script's etc/cftoec.sh
15:09:53 <ais523> which compiles cfunge into a library
15:10:03 <Deewiant> ais523: hmm, doesn't look like that to me... what does it print?
15:10:16 <ais523> Deewiant: maybe I have an older version
15:10:42 <ais523> UNDEF: k with a negative argument executes more often than the absolute value of the argumenteflects
15:10:48 <AnMaster> ais523, the other patch hm I see yes
15:10:59 <ais523> lets me use a command-line define to change the handprint
15:11:14 <AnMaster> that sounds like an old mycology?
15:11:17 <Deewiant> ais523: looks like what it actually does is it executes more often and then prints something extra
15:11:37 <ais523> Deewiant: nah, it reflects, but after pushing the string "reflects" to the stack it ends up in a different string by mistake
15:11:47 <ais523> there's a semicolon meant to skip that bit, but it doesn't match another semicolon
15:11:49 <Deewiant> 6443244db122653f5479bd1751988175 *mycology.b98
15:12:03 <AnMaster> Deewiant, didn't you fix that bug some ages ago iirc?
15:12:07 <Deewiant> there should be a semicolon in column 110 which it skips to
15:12:30 <Deewiant> and yes, this is from the latest version of mycology which dates back to may
15:12:44 -!- Corun has joined.
15:13:24 <Deewiant> I only have a changelog up to march and I don't see me messing with that, but it could be it was earlier
15:13:24 <ais523> ah yes, I think I just have an old version
15:13:36 <ais523> 2007-12-02 16:35 mycology.b98
15:13:46 <ais523> I'm going to have to get a newer version, I think
15:15:18 <AnMaster> ais523, they are commited locally (with minor changes to add a comment explaining why I did that in global.h) but not pushed as the local code is broken (changing TURT to use the a library for xml generation, library is added under lib/genx/*.c)
15:15:45 <ais523> I'll remove the bit of my code that patches cfunge once the newer version is pushed
15:15:58 <ais523> oh, and the fingerprint still says example.com as the URL
15:16:08 <ais523> I'll fix that once I have a website up describing it
15:16:30 <ais523> there's a page in the C-INTERCAL manual describing IFFI now, so I just need to put the manual online and I can link to that
15:16:37 <ais523> incidentally, have you tried the test program?
15:16:51 <ais523> pit/tests/iffit1.i with pit/tests/iffit2.b98
15:17:57 <AnMaster> ais523, haven't tried it yet as my local cfunge source doesn't compile atm
15:18:10 <ais523> try it with an older revision
15:18:19 <AnMaster> too lazy, it will be fixed soon
15:28:15 -!- timotiis has quit (Read error: 110 (Connection timed out)).
15:45:20 -!- Hiato has joined.
15:49:28 -!- jix has quit (Nick collision from services.).
15:49:38 -!- jix has joined.
16:07:12 <AnMaster> genxStartElement(g_path) || return false;
16:07:21 <ais523> no, return isn't a function
16:07:28 <ais523> you can do || exit(EXIT_FAILURE) though
16:07:39 <ais523> except that exit returns void
16:07:56 <ais523> so I suggest you use an if
16:08:53 -!- tusho has joined.
16:10:23 <tusho> ais523: when did it arrive at your end?
16:10:35 <ais523> before I focused Konversation
16:10:51 <ais523> anyway, I finished my C-INTERCAL/cfunge FFI
16:11:00 <tusho> ais523: i meant to the second, really
16:14:32 <AnMaster> tusho, btw you said genx handled CDATA? it doesn't
16:14:37 <AnMaster> also the code is way ugglier now
16:14:41 <tusho> huh, I was pretty sure it did.
16:14:47 <AnMaster> I will mention this is thanks to you in a comment
16:14:49 <tusho> well, it may be uglier but it's more correct
16:15:09 <AnMaster> snprintf(sminx, sizeof(sminx), FIXEDFMT, PRINTFIXED(minx));
16:15:09 <AnMaster> snprintf(sminy, sizeof(sminy), FIXEDFMT, PRINTFIXED(miny));
16:15:15 <AnMaster> genxAddAttributeLiteral(gw, gns, (constUtf8)"x", (constUtf8)sminx);
16:15:15 <AnMaster> genxAddAttributeLiteral(gw, gns, (constUtf8)"y", (constUtf8)sminy);
16:15:23 <tusho> AnMaster: send patches to tim bray making it better.
16:15:26 <tusho> i'm sure he'd love them
16:15:53 <AnMaster> tusho, also it contained sprintf() for untrusted data instead of snprintf() (fixed that) and lots and lots of compiler warnings
16:16:09 <AnMaster> fixed all but two compiler warings
16:16:18 <tusho> it was developed circa 2004
16:16:22 <tusho> so gcc is probably more pedantic now
16:16:24 <AnMaster> again thanks to you cfunge will no longer compile with -Werror
16:16:29 <AnMaster> unless you plan to send me a patch
16:16:39 <tusho> AnMaster: fix the other two maybe...?
16:16:55 <AnMaster> tusho, they are quite complex cases of casting a const char * to a char *
16:17:03 <AnMaster> that will need major redesign to work
16:17:42 <tusho> this is why you don't use const :)
16:17:58 <AnMaster> also a string literal is a const char *
16:18:46 <AnMaster> tusho, also creating a path is much harder as the path goes inside an attribute
16:18:57 <AnMaster> so I need to malloc() a buffer for them and grow it as needed
16:19:06 <tusho> AnMaster: ok, are you going to complain at me for like five hours about it?
16:19:16 <AnMaster> as I can't just append like I could with fprintf() before
16:19:47 <AnMaster> tusho, I think you overcomplicate stuff though
16:19:51 <tusho> AnMaster: you've managed 5 minutes already
16:20:02 <tusho> [... and me overcomplicating stuff? Coming from you?]
16:21:18 <tusho> AnMaster: Produce s-expressions and use the scheme SXML library to turn them into XML.
16:21:26 <tusho> I think it runs on Guile so you should be able to embed it.
16:21:43 <AnMaster> that would be even more overcomplicated and bloated
16:22:24 <ais523> anyway, anyone who likes looking at Befunge-98 code with COME FROMs in: http://eso-std.org/darcs/c-intercal/pit/tests/iffit2.b98
16:22:35 <ais523> that interfaces with http://eso-std.org/darcs/c-intercal/pit/tests/iffit1.i
16:22:50 <ais523> just a test program, all they do is print out numbers in sequence as they do various tests
16:23:29 <ais523> oh, I went a bit overboard in the Befunge program
16:23:56 <ais523> it's pretty dense, with code interleaving around other code, and also self-modifying
16:24:05 <ais523> not only that, but it alters the syntax of the INTERCAL program
16:24:08 <ais523> because I wanted to test that
16:25:14 -!- Corun has quit ("This computer has gone to sleep").
16:25:15 <AnMaster> that befunge code is write only heh
16:25:27 <ais523> AnMaster: you can read individual bits
16:25:31 <ais523> by tracing them in your head
16:25:40 <ais523> start at the start, and also in each possible direction from each middot
16:26:06 <ais523> I find Befunge isn't usually as hard to read as it looks
16:26:12 -!- Hiato has quit ("Leaving.").
16:26:17 <ais523> compared to something like Unlambda, for instance, which is usually as hard to read as it looks
16:27:04 -!- Corun has joined.
16:28:37 <AnMaster> blregh I got to write a generic string builder with append or this will be painful
16:28:45 <AnMaster> actually that could be useful in other parts too
16:29:00 <AnMaster> oh wait I think I can take that from crossfire maybe, it got a stringconstructor iirc
16:33:59 <ais523> Deewiant: "BAD: O opened 'mycotemp.tmp' for reading, won't overwrite it and thus won't test fingerprint" <-- what does that mean?
16:34:13 <Deewiant> ais523: it means just what it says
16:34:19 <AnMaster> ais523, that you should do rm mycotemp.tmp
16:34:22 <Deewiant> it managed to open 'mycotemp.tmp' so it won't overwrite it
16:34:32 <Deewiant> just in case you actually put something important in a file called mycotemp.tmp :-P
16:35:02 <ais523> well, in that case ick passes mycology
16:35:18 <ais523> although it's cfunge doing all the work behind the scenes, of course
16:35:21 <ais523> so not that surprising
16:36:26 <ais523> maybe I should write a test for IFFI...
16:36:36 <ais523> that works Mycology-style
16:36:45 <ais523> rather than just writing numbers
16:36:51 <ais523> although I suppose Mycology writes numbers to start with
16:37:36 <Deewiant> it has to since it only assumes that the few instructions in sanity.bf work :-)
16:37:52 <ais523> in my case I wrote out numbers to save program size
16:38:01 <Deewiant> of course I could easily have assumed that , works and not .
16:38:05 <ais523> and also because reading out strings is a pain in INTERCAL
16:38:21 <ais523> Deewiant: not that easily, you'd be limited to control codes until you got arithmetic working
16:38:47 <Deewiant> that explains why I chose it like that ;-)
16:38:59 <ais523> incidentally, for testing =
16:39:05 <ais523> I think the echo command does the same thing on all platforms
16:39:18 <ais523> as it just happens to have the same meaning in DOS, in Windows and in UNIX
16:39:32 <ais523> that would work for C-system-style =
16:39:49 <Dewi> ais523: it's not exactly the same, as you might imagine
16:40:05 <ais523> but when given one argument consisting of nothing but letters it is
16:40:11 <ais523> if that argument isn't "on" or "off"
16:40:49 <Dewi> just pedantic enough now, I approve
16:41:07 <Deewiant> ais523: echo doesn't exist in Windows or DOS except as a builtin of the shell
16:41:22 <ais523> Deewiant: yep, but C system() always invokes the shell in DOS/Windows
16:41:51 <ais523> except under DJGPP it optimises it if it notices that the shell isn't needed, but invokes the shell if it is
16:42:01 <ais523> so it always works as if the shell was invoked
16:42:15 <Deewiant> how can it know that at compile-time? O_o
16:42:41 <ais523> Deewiant: it doesn't, there's a check in their version of libc
16:43:14 <Dewi> the shell in DOS is pretty dumb
16:43:29 <ais523> yes compared to a UNIX shell
16:43:35 <ais523> but it's still usable, just about
16:43:37 <Dewi> I mean there's the short list of builtins
16:43:45 <Dewi> but no globbing
16:43:55 <Dewi> not much interesting chaining of commands
16:43:56 <ais523> Deewiant: checks to see if it refers to an executable on the PATH that isn't a shell builtin
16:44:02 <Dewi> does the shell handle piping ?
16:44:13 <Deewiant> yeah, I just realized that being DOS-only means that you only have to worry about one shell :-)
16:44:14 <ais523> but DOS is single-threaded
16:44:25 <ais523> so it pipes through tempfiles
16:44:38 <Dewi> ais523: that sounds familiar
16:44:42 <Dewi> ais523: I wonder if I suppressed that memory
16:44:53 <Dewi> ais523: winnt cmd.exe doesn't do that does it?
16:45:04 <ais523> Dewi: not sure, cmd.exe is somewhat improved
16:45:10 <ais523> I don't have a copy here to try it on
16:45:17 <ais523> I'd have to switch to a Windows computer to test
16:45:40 <Dewi> a few years ago when I was in the transitional phase from thinking in windows to thinking in unix... I used to write a lot of batch files that invoked inline perl
16:46:02 <Dewi> and I was surprised how hard I could push windows piping
16:46:11 <tusho> Dewi: i hate you for not being Deewiant
16:46:14 <Dewi> people act like cmd.exe almost doesn't have it, but it's actually rather good
16:46:38 <tusho> Dewi: start being Deewiant
16:46:47 <ais523> A quote I remember, not sure where from: "Microsoft shoved a lot of standard UNIX shell functionality into cmd.exe while no-one was looking"
16:46:51 <Dewi> tusho: but I also reserve some hatred for Deewiant choosing such a name
16:47:01 <ais523> but cmd.exe still has insane variables
16:47:20 <Dewi> yeah the rest of it's hideous
16:47:40 <Deewiant> the quoting rules of process execution on windows are brilliant
16:47:44 <Dewi> but it's surprising how similar a batch file can be to a simple shell script if you have enough textutils installed
16:47:50 <Deewiant> let me dig them up for your viewing pleasure
16:48:02 <Dewi> Deewiant: nobody ever, EVER quotes correctly in windows batch files
16:48:08 <ais523> Deewiant: I've run into them before
16:48:16 <Dewi> Deewiant: people think it's bad in unix, but... urgh
16:48:28 <ais523> and I have managed to quote correctly before, but only in situations where all the things I was quoting were string literals
16:48:31 <ais523> even then it can be tricky
16:48:56 <Dewi> I always manage to invoke the crazy thing to do filenames correctly
16:49:03 <tusho> the fish shell never requires quoting
16:49:09 <tusho> it seems like a sane shell
16:49:10 <Dewi> but the other day I found even that got me into trouble because doing so expands the full path, and I needed a relative form
16:49:14 <ais523> Dewi: well, cmd.exe tab-completes the quoting correctly
16:49:14 <Deewiant> I thought I remembered a place where they're linked but it wasn't there after all
16:49:21 <ais523> that's a useful trick to know
16:49:29 <Dewi> ais523: I meant for variables
16:49:32 <ais523> AnMaster: not really, we were just discussing Windows shells
16:49:42 <ais523> Dewi: yep, that's harder
16:49:44 <Dewi> ais523: the big problem is this, the shell doesn't remove quotes on batch file invocations
16:50:13 <ais523> Dewi: not even if you use call?
16:50:18 <Dewi> ais523: so if your batch file needs to pass the param on again, it's going to either add another layer of quotes if the original user included them, or fail to add them and possibly break stuff
16:50:33 <Deewiant> http://msdn.microsoft.com/en-us/library/system.environment.getcommandlineargs.aspx
16:50:38 <ais523> recursive batch files were always a bad idea under DOS
16:50:46 <Deewiant> If a double quotation mark follows two or an even number of backslashes, each proceeding backslash pair is replaced with one backslash and the double quotation mark is removed. If a double quotation mark follows an odd number of backslashes, including just one, each preceding pair is replaced with one backslash and the remaining backslash is removed; however, in this case the double quotation mark is not removed.
16:50:57 <ais523> especially as they acted like UNIX exec when called by default, and you needed a special prefix to be able to return from them
16:51:29 <Dewi> ais523: so to feel a little bit safe you can go "%~1"
16:51:37 <ais523> Deewiant: that page doesn't open correctly in Konqueror at all, there are no scrollbars so I can't read more than the first few sentences
16:51:54 <Deewiant> ais523: not surprising... I pasted the relevant bit
16:52:01 <Dewi> ais523: aah see that's the correct thing, "%~1" but I sometimes forget, the other day I was using something like "%~dpnx1" which is fine but it does expand to a full absolute canonical path, which can be bad
16:52:04 -!- Sgeo has joined.
16:52:24 <ais523> Deewiant: that definition's the way C strings are quoted
16:52:33 <Dewi> ais523: but these are invocations you never see in batch files you encounter, those are just pretty much always wrong
16:52:53 <Dewi> Deewiant: ooh, that's eeevil
16:53:31 <ais523> Deewiant: except that it strips unquoted double-quotes rather than using them as string delimiters
16:54:19 <ais523> Dewi: well, utilities like find on UNIX/Linux have similar quoting problems when used on files that contain literal newlines in their names
16:54:37 <Dewi> ais523: any kind of space, I thought
16:54:51 <ais523> Dewi: it's possible to quote spaces more easily than newlines
16:54:56 <ais523> although they can also be problems
16:55:20 <Dewi> ais523: that's something I find really odd about 'find'. By default, filenames with spaces break it. You can use \0, and usually I do, but newlines feel "good enough" in a lot of cases
16:55:29 <Dewi> ais523: but only the most recent gnu finds allow you to use newline as delimeter
16:55:51 <Dewi> to the point where I usually end up doing - perl -pe 's/\n/\0/;' | xargs -0
16:56:03 <ais523> Dewi: well, I use newline-delimited find when compiling cfunge, because I know that AnMaster's unlikely to put newlines or spaces in filenames there
16:56:23 <Dewi> ais523: in my view, spaces in filenames is pretty common. Newlines is... really odd
16:56:25 <ais523> AnMaster: also, let me know if you plan to give two files the same filename in different directories, my current code will break if you do that
16:56:39 <ais523> Dewi: spaces in filenames is common on Windows but not on Unices
16:57:03 <Deewiant> http://msdn.microsoft.com/en-us/library/bb776391.aspx
16:57:13 <Deewiant> 2n backslashes followed by a quotation mark produce n backslashes followed by a quotation mark.
16:57:14 <ais523> whereas newlines in filenames is impossible on Windows before the most recent versions (and impossible through the normal interfaces) and very rare on Unices
16:57:16 <Deewiant> (2n) + 1 backslashes followed by a quotation mark again produce n backslashes followed by a quotation mark.
16:57:20 <Deewiant> n backslashes not followed by a quotation mark simply produce n backslashes.
16:57:34 <ais523> Deewiant: ugh, that is pretty different from C quoting
16:57:40 <Dewi> ais523: yeah. So I'd be pretty comfortable using newlines
16:57:52 <Deewiant> ais523: yeah, and that's what I was looking for. :-)
16:57:56 <Dewi> ais523: but xargs on lots of machines won't let me. -0 works everywhere though
16:58:25 <Dewi> * for provincial values of everywhere
16:58:29 <ais523> Dewi: well, keeping in with the normal INTERCAL method of finding an unusual way to do things, I used find -printf to print out shell commands and piped find's output to sh
16:58:45 <ais523> unfortunately that is a bit insane
16:58:54 <Dewi> ais523: actually... I invoke find like this really very often
16:59:04 <ais523> normally I try to find a way that's sane but nobody uses it for some reason
16:59:21 <Dewi> find -print0 | xargs -0r -n1 bash -c 'mv -i "$0" "$0.bak"'
16:59:27 <ais523> such as C-INTERCAL running just fine after a configure and make but no install, you simply have to give the path to the executable explicitly
16:59:30 <Dewi> ^ rename filename to filename.bak.
16:59:51 <Dewi> totally safe. *bash* making things *safe*. Hard to imagine isn't it
17:00:02 <ais523> Dewi: find -printf 'mv %f %f.bak' | sh
17:00:14 <ais523> and that method breaks if the filenames contain literal double-quotes, surely?
17:00:20 <Dewi> ais523: less safe, spaces, newlines, etc
17:00:24 <ais523> otoh my method breaks a lot more
17:00:29 <ais523> it wasn't meant to be safe
17:01:19 <Dewi> ais523: because bash gets exactly 3 parameters with that invocation, and $0 is the one that came after the command
17:01:32 <Dewi> and since I have double-quoted the $0, that's watertight, or should be
17:02:22 <Dewi> the key is avoiding talking directly about the param until the last moment. Xargs passes it through onto the end of the list without any of that troublesome parsing
17:02:51 <Dewi> it's funnny the awkward recipies I end up using on a daily basis because they seem safe
17:02:58 <Dewi> (safe like the defaults should have been, damn it!)
17:03:21 <Dewi> it's dangerously close to cargo cult programming
17:06:20 -!- Slereah- has joined.
17:06:30 <AnMaster> <ais523> AnMaster: also, let me know if you plan to give two files the same filename in different directories, my current code will break if you do that <-- hm possible that will happen, indeed
17:06:41 <ais523> AnMaster: what would you use it for?
17:06:45 <Dewi> ais523: that method shouldn't be underestimated though, just because it makes it easy to review the craziness before it runs
17:06:51 <Dewi> ais523: that can prevent a lot of grief
17:06:51 <AnMaster> ais523, when I replace the funge space with a faster version I'm likely to offer both as alternatives at compile time for a while
17:07:11 <ais523> AnMaster: ah, but it wouldn't be right to compile both in at once?
17:07:17 <AnMaster> ais523, indeed not both at once
17:07:20 <ais523> at the moment I just compile and link together all the .c files in /lib and /src
17:07:22 <AnMaster> both at once would be an error
17:07:29 <ais523> so it's right for it to break when that happens
17:07:39 <ais523> and I'll need to not compile one or the other depending on circumstances
17:07:44 <ais523> that's fine, just let me know when it happens
17:08:01 <AnMaster> ais523, do you use lib/*/*.c or lib/blah/*.c atm?
17:08:11 <AnMaster> because in the next commit two subdirs to lib will be added
17:08:24 <ais523> AnMaster: recursive find atm
17:08:37 <ais523> so effectively lib/*/*.c
17:08:41 <ais523> but with any number of */
17:09:19 <AnMaster> ais523, also in that commit cfunge will contain MIT code as well as current GPL3, LGPL and BSD (see COPYING, it contains several licenses, due to the libraries)
17:09:46 <ais523> AnMaster: that isn't an issue really
17:10:02 <ais523> I don't care all that much about the licences of things I link to as long as they're compatible
17:10:02 <AnMaster> that I would like to see in bash
17:10:15 <AnMaster> Deewiant, I think average is best
17:10:15 <ais523> and anything GPLv3-compliant can legally link to LGPL, BSD and MIT
17:10:20 <ais523> so there aren't any legal problems there
17:10:30 <AnMaster> ais523, yes I checked that before
17:10:48 <ais523> however GPLv3 is more restrictive than GPLv2 so I have to take care that I don't relicence something under GPLv3 under GPLv2 without permission
17:11:03 <AnMaster> oh and also some gpl2+, I reused some code from the MMORPG crossfire (on which I'm a developer), for string buffers (don't worry it is on the heap)
17:11:24 <AnMaster> because stringbuffer_append(sb, "foo"); is so much easier than doing realloc yourself
17:11:57 <ais523> AnMaster: don't worry about things on stack vs. heap, etc., because the way I've set it up I'm just about immune to anything but stack-smashing and your interpreter recursively calling mine, neither of which are likely
17:12:42 <AnMaster> ais523, well I can think of two things that would cause major messup (but that I don't plan to do): 1) pthreads 2) fork() which returns
17:12:53 <AnMaster> but don't worry, I don't plan to do either
17:13:11 <ais523> AnMaster: AFAICT the second would simply fork the running INTERCAL interp with no problems except confusion for the user
17:13:21 <ais523> you're right in that the first could cause interesting results, though
17:13:40 <AnMaster> that sounds like an understatment
17:14:10 <ais523> AnMaster: yes, but compared to the number of interesting interactions that there are in INTERCAL at the moment, most likely it would fit right in
17:14:45 <AnMaster> ais523, is IFFI valgrind clean btw?
17:15:02 <ais523> AnMaster: the fingerprint side has to be, it does nothing but toggle static variables
17:15:12 <ais523> in fact I don't think either side mallocs
17:15:20 <ais523> except for allocating an IP on startup
17:15:27 <ais523> which is used throughout the entire progra
17:15:34 <ais523> thus I don't see how it could fail
17:16:19 <AnMaster> ais523, well cfunge doesn't free everything at end unless it is built as DEBUG. But I mainly meant no "real" memory leaks and no invalid read/writes and such
17:16:35 <ais523> AnMaster: why do you ask? interest?
17:16:57 <ais523> AFAIK the programs that C-INTERCAL outputs, and its runtime libraries, are valgrind clean, and the compiler itself leaks like a sieve
17:17:03 <AnMaster> ais523, yes because of interest and because I like good code
17:17:52 <AnMaster> now I wonder if TURT will work, time to test with new code
17:24:16 <AnMaster> <![CDATA[path{fill:none;stroke-width:0.00005px;stroke-linecap:round;stroke-linejoin:miter}]]>
17:24:25 <AnMaster> tusho, as you suggested genx, how do I fix that?
17:24:40 <tusho> AnMaster: Well, you're doing something wrong. Dunno what.
17:24:58 <AnMaster> tusho, I just use genxAddText()
17:25:03 <AnMaster> tell me what I should use instead
17:25:09 <tusho> AnMaster: Read the docs.
17:25:24 <tusho> I told you, I haven't used genx for anything big. But I've heard of people using it to much success and I know it works well.
17:27:05 <AnMaster> tusho, also how do I get it to write this type of tags <foo /> instead of <foo></foo>
17:27:22 <tusho> You don't, AnMaster. That's not part of the Canonical XML that genx writes.
17:27:34 <tusho> It aims for the maximum compatibility and correctness.
17:28:40 <AnMaster> tusho, in fact it seems impossible to do CDATA
17:28:53 <tusho> do you even need it in this case?
17:28:55 <tusho> it's for convenience of writing
17:29:00 <tusho> you can just add the text without the cdata wrapper
17:29:04 <tusho> and genx will handle it for you
17:30:21 <AnMaster> tusho, it also fails to generate paths btw
17:30:33 <tusho> then i guess that's your fault :p
17:32:13 <AnMaster> according to Deewiant svg should have a max line length of 256 chars, however genx writes it all on one line...
17:35:08 <Deewiant> of course you need to add the newlines yourself
17:35:16 <Deewiant> generic XML has no such limitation suggestions
17:36:19 <tusho> yeah nothing will enforce that.
17:36:25 <tusho> that's just a reccomendation
17:36:27 <tusho> ignore it, it's silly
17:37:05 <AnMaster> interesting, konq can no longer view the image
17:38:34 -!- Slereah_ has joined.
17:39:17 <AnMaster> well it seems the order of width and viewBox elements matters, both for konq and inscape
17:39:29 <AnMaster> genx refuses to put width first
17:40:07 <tusho> AnMaster: nothiing can enforce that
17:40:09 <tusho> xml specifically says:
17:40:44 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
17:44:04 -!- cherez has quit (Connection timed out).
17:45:49 -!- cherez has joined.
17:48:57 <AnMaster> tusho, it added svg: to every single element, if that is done, it doesn't work for some reason
17:49:08 <tusho> you didn't set the namespace, then
17:49:15 <tusho> genx is not the problem
17:49:35 <AnMaster> if I don't, and just add xmlns by hand it works
17:57:06 <AnMaster> ais523, pushed the fixed code so that patch no longer is needed
17:58:06 <AnMaster> tusho, two things: the file is now way larger than before, it generates svg file that doesn't work in konq
17:58:21 <tusho> AnMaster: I am not your personal genx support team.
17:58:25 <tusho> Please stop bothering me about it.
18:13:08 -!- cherez has quit (Read error: 110 (Connection timed out)).
18:15:26 -!- cherez has joined.
18:19:48 <AnMaster> Deewiant, it seems I misunderstood width/height values before, they are "how wide should it show up as"
18:19:54 <AnMaster> that is why the odd *10000 worked
18:19:54 -!- Slereah_ has quit (Connection reset by peer).
18:20:07 <AnMaster> it then defaults to 100% of viewport
18:20:12 -!- Slereah- has joined.
18:22:57 <Deewiant> hmm, I thought I read somewhere in the standard that it's good form to set them
18:23:03 <Deewiant> but I can't find it any more so I guess not
18:23:49 <Deewiant> SVG content itself optionally can provide information about the appropriate viewport region for the content via the width and height XML attributes on the outermost 'svg' element.
18:23:52 <AnMaster> "absolute units identifiers are only recommended for the width and the height on outermost 'svg' elements and situations where the content contains no transformations and it is desirable to specify values relative to the device pixel grid or to a particular real world unit size.
18:24:26 <AnMaster> rather the correct way would be to do something like 800xwhatever the other unit scales to
18:30:25 -!- Corun has quit ("This computer has gone to sleep").
18:30:30 <AnMaster> for the element <svg> it just defines how large you want the entire image to be displayed as
18:41:34 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
18:45:18 -!- ais523 has quit ("brb, hopefully").
18:56:24 -!- ais523 has joined.
19:03:58 <AnMaster> ais523, just decided cfunge got large enough to need a credits/thanks to file, should I use your real name or?
19:04:05 <AnMaster> (same question for Deewiant btw)
19:04:49 <tusho> AnMaster: ais523 I think
19:04:49 <tusho> what does c-intercal's copyright file say?
19:04:57 <tusho> AnMaster: link a url too
19:05:08 <tusho> make sure to use Deewiant's permalink, too
19:05:30 <AnMaster> also ick doesn't have a COPYRIGHT one
19:05:41 <AnMaster> all it got is a "Discredits" section in README
19:06:51 <AnMaster> also I don't know url to use for ais523
19:07:03 <ais523> AnMaster: call me Alex Smith, no url
19:07:13 <tusho> ais523: yes you do
19:07:18 <tusho> http://eso-std.org/~ais523/
19:07:54 <ais523> tusho: look at what's there
19:07:58 <ais523> it's hardly a homepage right now
19:08:06 <tusho> ais523: it only takes a `vi index.html`
19:08:07 <ais523> and it would be an inappropriate URL for AnMaster's purposes
19:08:20 <tusho> really? for thanking you? Don't see why.
19:08:40 <AnMaster> for thanking ais523 for finding bugs and for writing IFFI
19:09:16 <ais523> tusho: you're suggesting he links to a directory listing that contains nothing but some Agora stuff?
19:09:25 <tusho> ais523: at the very second that's all it has
19:09:32 <tusho> but it will likely have a homepage at one point
19:09:40 <tusho> and it's a canonical unchanging URL now, so what's the problem?
19:09:49 <tusho> it's also an identifying URI
19:09:54 <tusho> to distinguish you from any other Alex Smith
19:09:54 <ais523> tusho: eventualism in changelogs is rarely a good idea...
19:10:05 <tusho> ais523: not a changelog
19:10:08 <tusho> it's a THANKS file
19:10:36 <ais523> "THANKS to some random agoran ramblings for finding out bugs and writing a fingerprint..."?
19:11:09 <tusho> ais523: Thanks to Alex Smith <http://eso-std.org/~ais523/> for being an awesome person
19:11:09 <AnMaster> tusho, could I also have a url at eso-std.org then? XD
19:11:37 <tusho> AnMaster: 3 goats. Then I'll consider it.
19:12:17 <tusho> Shut up, my religion says I can do it QED.
19:12:33 -!- Hiato has joined.
19:12:42 <ais523> tusho: presumably you'd go mad if I created an account for AnMaster, too?
19:12:48 <ais523> not that I would without your permission
19:12:52 <tusho> ais523: In the insanity sense?
19:12:57 <ais523> tusho: in the anger sense?
19:13:01 <ais523> at least, would you try to stop me?
19:13:12 <ais523> insanity isn't really that hard to come by in #esoteric
19:13:23 <tusho> I'd be too busy dancing around like a chicken and barking out the Zimbabwean anthem to be angry.
19:13:31 <tusho> And no. Not unless he joins ESO (oh god) :p
19:14:03 <ais523> AnMaster: an Esoteric Standards Organisation
19:14:07 <ais523> which is just me and tusho at the moment
19:14:13 <tusho> ais523: in the pop standards sense, actually
19:14:15 <AnMaster> I got some work which would fit in that
19:14:19 <ais523> we aren't getting any standardisation done because tusho's too busy doing other things
19:14:21 <tusho> the standards part is a subdivision
19:14:25 <ais523> like repeatedly moving everything around the website
19:14:36 <ais523> and wanting to reinvent everything from scratch
19:14:40 <tusho> AnMaster: yes, well, we'll see when it's done
19:14:45 <tusho> ais523: do you object? :)
19:14:45 <ais523> AnMaster: Funge-108 is exactly the sort of thing it ought to be for
19:14:56 <tusho> ais523: reinventing everything!
19:15:02 <ais523> tusho: not particularly
19:15:08 <ais523> but it would be nice to get some standardisation done at some point
19:16:04 <AnMaster> ais523, http://kuonet.org/~anmaster/funge-108/
19:16:15 <AnMaster> a bit old have been too busy until now
19:16:26 <Deewiant> AnMaster: btw, one thing that came to mind: if UTF isn't mandated in Funge-108, mandate it
19:16:28 <ais523> AnMaster: maybe we should just work on the standard ourselves (mostly you), and then put it up on ESO when tusho's ready
19:16:31 <AnMaster> and tomorrow I will be busy packing to go to Norway for some days
19:16:45 <AnMaster> Deewiant, oh you mean load it as utf8 file?
19:16:55 <AnMaster> it should be every char is 8 bits
19:17:01 <ais523> AnMaster: that's dated as of my birthday, thanks for the present
19:17:06 <tusho> ais523: that sounds reasonable, I don't really care about funge-108
19:17:17 <AnMaster> Deewiant, well ok "as native byte size"
19:17:19 <Deewiant> imagine "det här er iso-8859-1"
19:17:57 <AnMaster> Deewiant, issue: It would be exceedingly hard to write a funge-108 interpreter in funge then
19:18:15 <AnMaster> Deewiant, do you want to try to parse utf8 by hand?
19:18:27 <Deewiant> since you can assume that it's utf-8
19:18:36 <Deewiant> on windows, you can then convert to utf-16
19:18:40 <tusho> i vote FOR Deewiant's proposal
19:18:46 <Deewiant> everywhere else, just pass it directly to functions
19:18:51 <AnMaster> Deewiant, it is easier to just read it in to char *
19:18:58 <Deewiant> (since anybody with a locale other than utf-8 is wrong anyway ;-))
19:19:05 <Deewiant> AnMaster: no, it's not. it's not portable.
19:19:14 <Deewiant> you will still be reading it in to char*
19:19:18 <AnMaster> Deewiant, it is not easy in C without using an external library
19:19:24 <Deewiant> the difference is that if you need to convert it to a certain encoding, you can do so.
19:19:52 <AnMaster> Deewiant, like what if you fread() in chunks of 1024 and a char end up over a boundary, you need to parse utf8 and load every utf8 char into one cell
19:20:03 <AnMaster> after converting it to unicode too I assume?
19:20:17 <AnMaster> because utf8 chars can be up to 5 bytes iirc
19:20:46 <Deewiant> I've implemented UTF-8 decoders and encoders; don't bother questioning me on this. :-)
19:21:05 <Deewiant> up to 6 is theoretically allowed but if the UTF-8 is used to encode Unicode, it's 4.
19:21:31 <Deewiant> AnMaster: but yeah, you have two options there
19:21:37 <ais523> there are only 17*65536 characters in Unicode
19:21:44 <ais523> so it can't end up more than 4 bytes long
19:21:44 <Deewiant> 1) like you said, every utf-8 char in one cell
19:22:03 <Deewiant> 2) you don't have to change your program at all: multibyte chars are multiple cells.
19:22:20 <ais523> personally I'd favour combining chars loading into the same cells as the char they're combining onto if you're going down that route
19:22:20 <Deewiant> the only difference in case 2 from now being that a string can be assumed to be valid UTF-8.
19:22:23 <AnMaster> oh, and y should tell the program which is the case?
19:22:29 <ais523> Deewiant: even if read backwards?
19:22:48 <AnMaster> Deewiant, because then a program written for variant 1 and variant 2 won't work vertically in same interpreter
19:23:01 <Deewiant> ais523: if you pass it to any instruction which uses a string, yes.
19:23:15 <Deewiant> AnMaster: I meant, pick one for the standard.
19:23:25 <ais523> there are no string-based instructions in Funge-98, only in some of the fingerprints
19:23:41 <ais523> Deewiant: I thought they read onto the playfield
19:24:20 <AnMaster> idea: replace 0gnirts with gnirts<len>
19:24:32 -!- Corun has joined.
19:24:34 <Deewiant> yes, but that's another issue.
19:24:35 <AnMaster> would break existing programs though
19:25:20 <AnMaster> Deewiant, fingerprint loading will be extended to accept urls, retaining the old fingerprint system for compatibility with old fingerprints
19:25:39 <Deewiant> tusho managed to brainwash you then :-)
19:26:13 <AnMaster> Deewiant, no? I talked to Pressy about it too and he agreed assuming existing fingerprints still would work
19:26:15 <Deewiant> but still, I think it's somewhat annoying that I have to use legacy APIs just because I don't know the encoding of a given file
19:26:23 <AnMaster> tusho, yes it was a typo on irc
19:26:34 <tusho> forget about old extensions
19:26:48 <tusho> just have a funge-98 mode, AnMaster
19:26:55 <tusho> and let funge-108 be nice and URIy without kludges
19:26:58 <AnMaster> tusho, I already have different modes
19:27:10 <AnMaster> to handle space issue in strings in befunge93 programs
19:27:18 <AnMaster> and handle experimental stuff in funge108
19:27:29 <AnMaster> like extending y instruction to have more info
19:27:39 <AnMaster> also the support for trinary funges would be nice
19:28:42 <tusho> AnMaster: see, exactly, different modes
19:28:53 <tusho> so funge-108 doesn't need to keep back-compat
19:28:55 <AnMaster> also future compatibility for quantum funges I guess
19:29:38 <AnMaster> tusho, in the link I gave above to the draft read section 5.5
19:30:10 <AnMaster> tusho, oh and Chris Pressy which I talked to in email did suggest retaining some backward compatiblity
19:30:31 <tusho> AnMaster: no, 'mmph'
19:30:52 <AnMaster> many multiple miles per hour? ~~~
19:32:53 <tusho> AnMaster: about cfunge's page -
19:32:57 <tusho> the page is in english but you have Mars
19:33:00 <tusho> it should be March..
19:33:05 <tusho> unless it's not in english
19:33:11 <tusho> in which case, my eyes are deceiving me!
19:33:35 <ais523> tusho: there are several English problems in the Funge-108 standard too, mostly nonidiomatic things and using slightly the wrong word, but I should be able to fix them once I've had time to look at it properly
19:34:21 <AnMaster> ais523, please work with the lyx file when doing so to make it easier to co-operate
19:35:11 <ais523> AnMaster: one English mistake you make a lot: "The Funge-98 (Pressey, 1998) standard got several unclear corner cases and is also missing definitions for non-binary funges (like ternary ones)."
19:35:14 <ais523> "got" should be "has" there
19:35:43 <tusho> ais523: that's always bothered me when talking to anmaster
19:35:49 <tusho> but I just noticed now exactly what it is that bothered me
19:36:42 <AnMaster> ais523, according to search that was the only case of "got" in the file
19:37:00 <ais523> you do that a lot in speech, I meant
19:37:10 <ais523> I wasn't sure how much it had ended up in the standard
19:37:34 <AnMaster> ais523, a lot of it is just reformatted and clarified funge98
19:37:57 <AnMaster> because funge108 is a good language
19:38:19 <tusho> AnMaster: Of course you'd think that.
19:41:35 -!- sebbu2 has joined.
19:43:51 -!- sebbu3 has joined.
19:48:11 -!- oklopol has joined.
19:51:46 -!- tusho has quit ("And then-").
19:52:25 -!- tusho has joined.
19:59:55 -!- sebbu has quit (No route to host).
20:03:33 -!- sebbu2 has quit (Connection timed out).
20:07:19 <ais523> AnMaster: anyway, for Funge-108, something that's been bothering me a lot is what happens if a file with mixed newlines uses \r then \n to do a blank line
20:10:39 <ais523> personally I think the standard should state that
20:10:50 <Deewiant> by saying that \r\n is a line break, I think it does
20:10:59 <ais523> Deewiant: but it also says that \r and \n are line breaks
20:11:08 <ais523> it should say which takes precedence
20:11:22 <Deewiant> alternately, disallow mixed newlines
20:11:34 <Deewiant> same type throughout the file or it's invalid
20:11:38 <AnMaster> Deewiant, mixed in one file? should be allowed
20:12:30 <AnMaster> Deewiant, is there any good reason to disable it?
20:13:02 <Deewiant> another is the fact that vim doesn't like them
20:13:23 <ais523> Deewiant: nor does Emacs
20:13:28 <AnMaster> well most editors won't like it
20:13:34 <AnMaster> however I feel it should be allowed
20:13:40 <Deewiant> vim is the first editor I found that doesn't :-P
20:13:49 <Deewiant> I thought it was the only one, TBH
20:13:51 <AnMaster> Deewiant, does nano handle it?
20:14:13 <AnMaster> um nano transparently converts everything to LF iirc
20:15:29 <Deewiant> in the end it can be considered erroneous
20:16:48 <AnMaster> "A Funge source file SHOULD not mix different styles of line ending. If a file does the result is implementation defined."
20:16:56 <ais523> it's almost certainly unintentional, unless someone is writing Mycology
20:16:59 <tusho> AnMaster: just make it invalid
20:17:08 -!- ihope has joined.
20:17:17 <AnMaster> tusho, an implementation should not need to detect this condition
20:18:21 <AnMaster> implementation defined = This indicates the implementation can do whatever it wants (either from a list of alternatives or completely freely). However an interpreter MUST NOT error out or crash.
20:18:26 -!- timotiis has joined.
20:18:34 <ais523> However, a Funge-108 interpreter MAY also expose any number of proprietary instructions above
20:18:34 <ais523> ASCII 127 or below ASCII 0.
20:18:38 <Deewiant> implementation defined, in general, also means that the implementation should document it
20:18:38 <ais523> is that based on my middot
20:18:43 <ais523> or did it say that beforehand?
20:18:47 <AnMaster> ais523, no it was in funge98 too
20:19:04 <ais523> so fffungi is legal in funge98
20:19:11 <Deewiant> AnMaster: oh, and another thing I was musing
20:19:16 <tusho> <AnMaster> implementation defined = This indicates the implementation can do whatever it wants (either from a list of alternatives or completely freely). However an interpreter MUST NOT error out or crash.
20:19:27 <tusho> An interpreter SHOULD be able to error out on undefined behaviour.
20:19:29 <Deewiant> so that they don't just reflect by default
20:19:29 <tusho> Saying otherwise is madness!
20:19:41 <AnMaster> ais523, yes but not in pure funge98 of course, as in it is a proprietary extension
20:19:46 <Deewiant> tusho: implementation defined and undefined are two quite separate things
20:19:48 <ais523> AnMaster: normally "implementation defined" means "must be documented from this list of choices"
20:19:56 <AnMaster> tusho, implementation defined no
20:20:13 <Deewiant> ais523: a list? not usually in my experience
20:20:22 <ais523> whereas "unspecified" means "must be from this list of choices but need not be documented nor chosen consistently"
20:20:40 <ais523> Deewiant: maybe not a list, but a description of a set of choices is given
20:20:46 <ais523> AnMaster: "can do anything at all when this happens"
20:20:51 <Deewiant> ais523: sometimes, but not always
20:21:08 <AnMaster> ais523, even crash? I would like to define it as "error out gracefully but not crash"
20:21:13 <Deewiant> or at least, the set contains "or something else"
20:21:26 <AnMaster> Deewiant, in some cases it is a list of valid ways to do it, and in other it is just totally implementation defined
20:21:36 <AnMaster> kk <--- implementation defined from a list
20:21:52 <AnMaster> 201-% <-- implementation defined, not from a list
20:21:52 <Deewiant> I just said that usually, in my experience, one is not given a list
20:22:12 <AnMaster> Deewiant, both cases exist in funge108
20:22:27 <Deewiant> uninteresting, that wasn't the point
20:24:13 <Deewiant> AnMaster: anyhoo, I was thinking that handy stack instructions or something for A-Z would be nice
20:24:40 <Deewiant> when no fingerprints are loaded
20:24:50 <AnMaster> isn't that documented to reflect?
20:25:08 <AnMaster> Deewiant, oh you mean use it for other instructions?
20:25:09 <ais523> personally I think that such handy stack instructions should be in a fingerprint
20:25:44 <Deewiant> I just think that it's a bit of a waste to have 27 instructions all of which reflect
20:26:30 <Deewiant> a b -- a a b is one which would have eliminated a lot of uses of p and g in mycology
20:27:06 <AnMaster> Deewiant, that one is simple: \:
20:27:31 <Deewiant> note that \ after : is a no-op
20:28:04 <ais523> couldn't you do that with the stack stack?
20:28:13 <AnMaster> ais523, that would need even more code
20:28:27 <Deewiant> it needs a secondary data store
20:28:35 <AnMaster> Deewiant, you *could* have a fingerprint for it
20:28:38 <Deewiant> whether it's the stack stack or a cell in funge-space or a variable or whatever
20:28:49 <Deewiant> I could have a fingerprint for a lot of things
20:28:54 <AnMaster> but mycology couldn't depend on that of course
20:28:57 <ais523> Deewiant: or what about doing it with the y instruction with a massively high argument?
20:29:01 <Deewiant> with minifunge fingerprints are obsoleted anyway :-)
20:29:19 <AnMaster> ais523, that would need g/p to store how massively
20:29:32 <AnMaster> Deewiant, well I'm not sure cfunge will ever implement that
20:29:51 <AnMaster> + minifunge can't do anything that C/D/whatever fingerprints can do
20:29:55 <Deewiant> I still think 26 extra instructions for 'r' is kinda pointless
20:30:08 <ais523> Deewiant: the point is that they aren't for 'r'
20:30:15 <Deewiant> AnMaster: it can do everything they can without requiring an interpreter update
20:30:16 <ais523> rather they're undefined, so error until you give them a definition
20:30:26 <ais523> sort of like CREATE-able instructions in INTERCAL
20:30:27 <Deewiant> might as well define them to be useful by default
20:30:27 <AnMaster> Deewiant, really? open sockets? read files?
20:30:34 <ais523> DO T .1 is an error by default
20:30:43 <ais523> but it's in iffit1.i and it gains a meaning by the time that line runs
20:31:05 <Deewiant> AnMaster: not sure, if = is there then yes but nonportably
20:31:08 <AnMaster> Deewiant, implement TRDS in pure minifunge and I may be interested
20:31:21 <Deewiant> just writing a simple test for TRDS took weeks
20:31:32 <AnMaster> Deewiant, yes I know how mad it is
20:31:34 <Deewiant> (including implementing it in D, though)
20:31:46 <Deewiant> the point is that you can ship fingerprints with your program
20:32:03 <AnMaster> Deewiant, or the forth stack one? could that be done in minifunge?
20:32:04 <ais523> besides, you could have a fingerprint called 0
20:32:12 <ais523> so all you needed to do was ( at the start of the program to load it
20:32:17 <AnMaster> ais523, not in cfunge without a major crash atm
20:32:25 <Deewiant> many interpreters don't support 0
20:32:35 <AnMaster> Deewiant, well I could support it with some change
20:32:41 <ais523> well, technically speaking there are no limitations on fingerprint names
20:32:52 <AnMaster> just need to store the last valid fingerprint in some other way
20:33:08 <AnMaster> Deewiant, currently I know that I reached end of the fingerprint array by a 0
20:34:03 <AnMaster> however there are two things to note for funge 108
20:34:31 <AnMaster> 1) each fingerprint will be able to be loaded by URI, existing fingerprints by the "legacy fingerprint" too
20:34:51 <AnMaster> 2) how do do the "push one cell with data for unloading fingerprint"
20:34:58 <AnMaster> anyone got a good idea for the latter?
20:35:11 <Deewiant> how will you differentiate between an URI and a legacy fingerprint
20:35:31 <Deewiant> AnMaster: just say it's an implementation-defined value
20:36:14 <AnMaster> <Deewiant> how will you differentiate between an URI and a legacy fingerprint
20:36:37 <AnMaster> 1) first try to load it as a uri (it will be gnirts<len> like currently)
20:36:43 <AnMaster> 2) if none match, try to load it the old way
20:37:11 <Deewiant> do URIs have some defined syntax?
20:37:26 <tusho> http://en.wikipedia.org/wiki/Uniform_Resource_Identifier
20:37:32 <Deewiant> http://en.wikipedia.org/wiki/URI_scheme#Generic_syntax
20:37:54 <AnMaster> Deewiant, anyway the implementation can, I assume, know what fingerprints it got
20:38:01 <Deewiant> but, still, that breaks old code
20:38:15 <Deewiant> not a bother I guess since other stuff does too
20:38:15 <AnMaster> Deewiant, well "TRUT"4( will still work with that scheme
20:38:35 <AnMaster> while new fingerprints may be uri only
20:39:02 <Deewiant> yes but something sneakier like "TRUT//:ptth"a1+( won't
20:39:29 -!- RedDak has joined.
20:39:42 <AnMaster> Deewiant, also does any code do that?
20:40:19 <AnMaster> I think the majority of the code does it the normal way at least
20:40:47 <Deewiant> but I was only saying that that's not fully backwards-compatible
20:40:57 <AnMaster> Deewiant, and funge-98 broke quite some funge-93 code
20:41:02 <AnMaster> a lot of code with spaces in strings
20:41:15 <AnMaster> which wasn't that ucommon at all
20:41:29 <AnMaster> also that space thing broke for no good reason IMO
20:41:37 <AnMaster> while I got a good reason for URIs
20:41:47 <Deewiant> you can still get name clashes
20:42:12 <AnMaster> Deewiant, yes much less likely, as you should use some domain you own
20:42:18 <Deewiant> given the number of potential funge-108 users it's even less likely ;-P
20:42:32 <Deewiant> yes, you should, but you might not.
20:42:37 <AnMaster> Deewiant, well will you port mycology to it? if it becomes a standard
20:42:48 <AnMaster> Deewiant, well I'm sure eso-std.org will be happy to help then
20:42:59 <tusho> depends if it's any good
20:43:31 <AnMaster> Deewiant, and there is always stuff like free webhosting pages with lots of ads if you are really desperate
20:43:47 <Deewiant> ccbi and mycology were fun, and I can keep them up to date and free of bugs, but I won't completely rehaul them unless I get /really/ bored
20:46:14 <AnMaster> also we should try to reach the wider befunge community outside this channel, where else is there
20:46:37 <ais523> AnMaster: there's alt.lang.intercal, it's used for all esolangs but is pretty dead at the moment
20:46:44 <ais523> it still has several avid readers, just nobody writes anything there
20:46:55 <AnMaster> ais523, I don't have anywhere I can *post* on usenet afaik
20:46:59 <Deewiant> I posted CCBI only to the esolang wiki
20:47:02 <AnMaster> well maybe google groups? I don't know
20:47:05 <Deewiant> I figured it's the only place with any readers
20:47:28 <AnMaster> ais523, don't you make release announcements there?
20:51:30 <tusho> Google groups is usenet, AnMaster.
20:51:56 <AnMaster> tusho, yeah I should learn how to use that
20:52:25 <Deewiant> google groups also has its own groups which aren't usenet
20:52:45 <AnMaster> Deewiant, they use different namespaces?
20:52:53 -!- sebbu3 has changed nick to sebbu.
20:54:50 <Deewiant> I don't use google groups other than for searching
20:55:42 <AnMaster> Deewiant, one undef that I plan to change: fingerprints loaded by child ips
20:55:57 <AnMaster> I'd go for "loaded by child ips too"
20:56:25 <AnMaster> Deewiant, hm? yes I know ccbi does it the other way, but I feel keeping them loaded makes more sense
20:56:48 <tusho> they do use diferent namespaces
20:57:05 <AnMaster> what does tusho and ais523 think about this issue?
20:57:12 -!- pikhq has left (?).
20:58:01 <AnMaster> Deewiant, after all they are clones
20:58:27 <ais523> AnMaster: which issue? I'm not too good with concurrent execution
20:58:42 -!- Slereah- has joined.
20:58:59 <AnMaster> ais523, should the list of loaded fingerprints be duplicated to the child ip, or should new threads start out with no fingerprints loaded?
20:59:27 <ais523> because you have two threads the same as one old thread
20:59:46 <AnMaster> right, what I think too (but not what ccbi does)
21:02:07 <AnMaster> Deewiant, should URI matching be case insensitive or case sensitive?
21:02:17 <Deewiant> I don't know anything about URIs
21:02:31 <ais523> insensitive in the domain name, definitely
21:02:36 <ais523> the rest can be case-sensitive, though
21:02:42 <ais523> probably you should make it so it isn't
21:02:45 <tusho> dns is case insensitive
21:03:27 <AnMaster> so. "case insensitive in domain name part but implementation defined for the rest" (said clearer obviously)
21:03:50 <ais523> recommend that programs get the case right anyway
21:04:16 <tusho> not implementation defined AnMaster!
21:04:18 <tusho> then it's not a URI
21:04:21 <tusho> URIs are CASE SENSITIVE
21:04:30 <AnMaster> tusho, except for the domain name part?
21:04:40 <tusho> read http://tools.ietf.org/html/rfc3986
21:05:42 <AnMaster> "An implementation should accept uppercase letters as equivalent to lowercase in scheme names (e.g., allow "HTTP" as well as "http") for the sake of robustness but should only produce lowercase scheme names for consistency."
21:06:23 <AnMaster> tusho, best is to just refer to that RFC in other words
21:06:38 <AnMaster> tusho, what is the *authoritative* url to that rfc?
21:06:45 <tusho> AnMaster: 'RFC 3986'
21:06:49 <AnMaster> is it the html version you linked?
21:07:00 <tusho> AnMaster: http://tools.ietf.org/rfc/rfc3986.txt
21:07:02 <ais523> AnMaster: that one's on the IETF website so it's likely pretty authoritative
21:07:17 <AnMaster> ais523, yes but probably the text version is, not the html one
21:09:47 <ais523> AnMaster: in my opinion # at the edge should always jump over a space
21:09:55 <ais523> and so execute the first command at the other side, not the second
21:10:06 <ais523> the playfield should act as though it's surrounded by infinite spaces
21:10:26 <ais523> otherwise the playfield size is actually relevant to the way programs behave, and it shouldn't be IMO
21:10:53 <AnMaster> ais523, well I think Deewiant will disagree with that
21:10:59 <ais523> likewise for j off the edge of the map (does mycology test that, by the way?)
21:11:33 <Deewiant> AnMaster: and why would I disagree
21:11:43 <Deewiant> that's the smartest way of fixing it IMO
21:12:02 <Deewiant> but currently it's ambiguous with 3 or 4 different interpretations
21:12:02 <AnMaster> Deewiant, what does ccbi do for it
21:12:16 <Deewiant> void trampoline() { ip.move(); }
21:15:34 <AnMaster> Berners-Lee, T., Fielding, R., and Masinter, L. (2005). Uniform Resource Identifier (URI): Generic
21:15:34 <AnMaster> URL http://tools.ietf.org/rfc/rfc3986.txt
21:22:47 <ais523> AnMaster: as for k, it would likely be good to describe what 1k^ does; does the pointer start moving upwards from the ^ or from the cell after?
21:23:01 <AnMaster> ais523, that is in my local copy already
21:23:10 <AnMaster> I wrote it just about half an hour ago
21:23:29 <ais523> what does it do? move from the current location if the IP or delta changed, from the next location otherwise?
21:23:43 <AnMaster> // The weird stuff below, is, as described by CCBI:
21:23:43 <AnMaster> // Instruction executes *at* k
21:23:43 <AnMaster> // If the instruction k executes, changes delta or position, we are finished.
21:23:43 <AnMaster> // If it doesn't we should jump to *after* the instruction k executed.
21:23:58 <ais523> what if it changes position and then changes it back again?
21:23:59 <AnMaster> I just rewrote that for the standard to be more generic
21:25:06 <AnMaster> ais523, I think that should be treated as "If it doesn't we should jump to *after* the instruction k executed."
21:25:30 <ais523> but does it count as changing delta or position there?
21:25:40 <ais523> it did, it just changed it bacj
21:25:49 <ais523> Deewiant: what does 4k[ do?
21:25:59 <ais523> it changes the delta, but then changes it back to its original value
21:26:05 <ais523> Deewiant: what should 4k[ do?
21:26:08 <AnMaster> Deewiant, what *should* 4k[ do then?
21:26:35 <Deewiant> which you'd like to do nothing
21:26:46 <Deewiant> and yet have 4k[ also do nothing
21:26:53 <ais523> personally, I think 1k^z should be equivalent to zzz^
21:26:56 <Deewiant> you can't really have both at once
21:26:58 <ais523> it's a lot more orthogonal that way
21:27:16 <AnMaster> ais523, err, k only takes one tick
21:27:21 <ais523> AnMaster: not wrt ticks
21:27:28 <ais523> wrt where the IP ends up
21:28:52 <ais523> i.e. do ^ once, then do nothing
21:29:11 <AnMaster> Deewiant, wrt fingerprint loading and implementation defined index: should that index also be usable to load the fingerprint with?
21:29:14 <Deewiant> and if it does ^... it doesn't hit the z
21:29:18 <ais523> because, say, 1k4z pushes only one 4
21:29:24 <ais523> I mean, it should do the ^ at the z
21:29:29 <ais523> i.e. after the command finishes executing
21:30:15 <Deewiant> so it changes the delta, but still executes the z afterwards?
21:30:35 <Deewiant> because I can't see zzz^ making sense
21:30:51 <ais523> Deewiant: basically, consider what 1k4z does, it pushes 4 once, right?
21:31:01 <ais523> that's because after the 1k4, the next command to execute is the z
21:31:15 <ais523> so after doing 1k^z, the next command to execute should likewise be the z
21:31:31 <AnMaster> ais523, doesn't make sense really as it changed direction
21:32:09 <ais523> AnMaster: well, what would 1k>z do? Would it run the > twice?
21:32:25 <ais523> I think I see what you're getting at now
21:32:35 <AnMaster> ais523, um that doesn't change so that would execute z the next tick
21:32:39 <AnMaster> also there is the issue of: 2k; blah blah;4
21:32:41 <Deewiant> what's the next instruction after the k
21:32:57 <AnMaster> Deewiant, that is a good question!
21:33:00 <ais523> AnMaster: I treat that identically to 2k4, the bit in-between is invisible
21:33:15 <AnMaster> ais523, right like spaces then
21:33:22 <ais523> well, 1k#12345 should be identical to zz#12345
21:33:34 <ais523> so 2k#12345 should be identical to zzz#2345
21:33:39 <AnMaster> because in funge-108 Chris Pressy said that spaces should be skipped, I can paste the emails somewhere if you want
21:33:57 <Deewiant> so your rule of thumb is, 1kX is always zzX and 0kX is zzz (forgetting about ticks)?
21:33:58 <ais523> AnMaster: I'm not surprised, IMO that was the intention all along, it's just # that acts oddly
21:34:21 <ais523> then 1k^z is zz^z which makes sense
21:34:31 <Deewiant> and not zzz^ like you said :-)
21:34:32 <AnMaster> My feeling is that #2 is the right answer: reach past the space and
21:34:33 <AnMaster> execute the c instruction 4 times. That is, when the spec says "next"
21:34:33 <AnMaster> it means "next instruction that would be executed if the k wasn't even
21:34:33 <AnMaster> However... if you take this as a principle, it suggests that the #
21:34:36 <AnMaster> instruction should skip the next instruction that would be executed,
21:34:38 <AnMaster> in the same way, no matter how many spaces there are between the # and
21:34:40 <AnMaster> the next instruction. I don't think anybody expects # to work that
21:34:46 <AnMaster> (#2 was execute next instruction after the spaces)
21:34:53 <Deewiant> AnMaster: so he's thought about it the same way I have. :-)
21:35:04 <ais523> AnMaster: # to me seems to be 'wrong' in a sense
21:35:07 <AnMaster> Deewiant, yes but you all got be so confused now
21:35:08 <ais523> in that it's un-Fungey
21:35:10 <Deewiant> have you forwarded him my thoughts (which I forwarded to you)
21:35:16 <AnMaster> ais523, k over a lot of stuff is not well defined really
21:35:19 <Deewiant> it might save him some thinking :-P
21:35:27 <ais523> because it cares about the dimensions of the playfield, not of the current situation
21:35:45 <ais523> thinking about this INTERCAL style, k would 'supercharge' the next instruction to act multiple times
21:35:51 <AnMaster> so it should always execute first instruction then?
21:36:04 <ais523> AnMaster: examples? I'm not sure exactly what you mean
21:36:32 <AnMaster> ais523, I mean, when # wraps it is always the first instruction after wrapping that will execute next
21:36:39 <AnMaster> as in it won't skip first after wrapping
21:36:49 <ais523> yes, that makes sense too
21:37:18 <ais523> actually, what would make the most sense would be for 2k#12345 to be identical to 2k;;2345 and for # to take no ticks
21:37:21 <ais523> but that would be quite a change
21:37:27 <ais523> and yes, # f should execute f
21:38:04 <ais523> it's clear to me that space and semicolon change the shape of the playfield, rather than being commadns
21:38:11 <ais523> maybe # should do the same thing?
21:39:07 <Deewiant> AnMaster: forward Chris my stuff since he seems to be thinking about it, I've done a lot of the thinking already
21:39:07 <AnMaster> but k always take one tick ais523
21:39:24 <AnMaster> Deewiant, you want me to paste this discussion to him?
21:39:30 <Deewiant> AnMaster: no, I mean my e-mails
21:39:41 <Deewiant> which I'm fairly sure I forwarded to you many months ago
21:39:49 <AnMaster> Deewiant, you sent me emails? from what mail
21:40:01 <AnMaster> I got several thousands mails around
21:40:02 <Deewiant> probably from my iki.fi-address
21:40:09 <ais523> let's see... does it make sense for space # space to be equivalent to ; space ;
21:40:26 <ais523> i.e. # is changing the shape of the playfield rather than moving the IP
21:41:33 <tusho> AnMaster: I have Google's over-a-decade worth of work on search powering my email search.
21:41:41 <AnMaster> "No matches found" for you last name in message body
21:41:54 <ais523> well, in my view spaces are actually not commands, but instead cause the cells on either side to become adjacent
21:42:07 <ais523> likewise semicolons cause the commands either side to become adjacent over a longer distance
21:42:22 <ais523> might it make sense for # to screw around with adjacencies too, rather than being a command?
21:42:23 <Deewiant> meh, guess I just put em in a pastebin then
21:43:05 <tusho> AnMaster: I object to that insult.
21:43:13 <tusho> Ha! So much for #ESOTERICAN CONSENT
21:44:22 <AnMaster> Deewiant, one new mail "Get a bigger one with v1agra"
21:48:35 <Deewiant> forward it to Chris if there's something new there
21:48:38 <ais523> AnMaster: example: 2k#12 is equivalent to 2k;;2 or to zzz22 (not counting ticks)
21:48:50 <Deewiant> and go ahead and send snippets of this discussion too
21:50:02 <AnMaster> "The problem with that is with nested k, for instance (something I need to add to
21:50:02 <AnMaster> Mycology as soon as I can figure out what should happen): "
21:50:19 <ais523> anyway, I've been thinking about other languages to add as FFIs to INTERCAL
21:50:23 <ais523> I think I can do Brainfuck
21:50:24 <AnMaster> and that is implementation defined
21:50:27 <ais523> possibly also Unlambda
21:50:33 <ais523> although COME FROM in Unlambda will be fun
21:50:39 <AnMaster> ais523, brainfuck would be trivial
21:50:48 <ais523> AnMaster: not quite, but reasonably easy
21:51:06 <ais523> AnMaster: because of computed COME FROM, etc
21:51:20 <AnMaster> ais523, well how would that be done at all?
21:51:25 <ais523> you'd practically need to invent a new temporary tape for doing the computations in
21:51:36 <ais523> e.g. (++++++C) would be equivalent to M6C in Funge-98+IFFI
21:51:42 <ais523> the parens are like markers
21:51:51 <ais523> and the computed come from is done on a new temporary tape
21:51:57 <tusho> ais523: make . turn into 'execute FFI command' in the (tape)
21:52:11 <ais523> but gotos are non-brainfucky as it is
21:52:16 <ais523> at least, gotos with line labels
21:52:19 <ais523> and so so are come froms
21:52:45 <AnMaster> ais523, what about a CLC/C-INTERCAL FFI?
21:52:50 <AnMaster> that could be pretty interesting
21:52:55 <ais523> AnMaster: yes, also difficult
21:53:03 <ais523> given the way CLC-INTERCAL works
21:53:12 <ais523> practically it would have to be done by sending commands over a socket or something
21:53:37 <ais523> AnMaster: the way CLC-INTERCAL works is so complicated that even I have trouble describing it
21:53:46 <ais523> probably only me and Claudio have much of an idea of how it works
21:54:17 <ais523> but basically, you couldn't just call functions in CLC-INTERCAL to get things to happen
21:54:25 <ais523> because the control structures are so convoluted
21:54:28 <ais523> and they act non-locally
21:54:33 <ais523> you can even change the syntax at runtime
21:54:42 <AnMaster> ais523, pretty much like C-INTERCAL then?
21:54:44 <ais523> also, programs aren't even compiled until after they start running
21:54:48 <ais523> AnMaster: much more so than in C-INTERCAL
21:55:01 <ais523> C-INTERCAL allows you to give meaning to syntax that didn't have a meaning beforehand, within limits
21:55:01 <AnMaster> ais523, you mean they are compiled in CLC?
21:55:09 <ais523> in CLC-INTERCAL you can even change the grammar at runtime
21:55:15 -!- Corun has quit ("This computer has gone to sleep").
21:55:18 <ais523> AnMaster: worse than jitting
21:55:28 <AnMaster> wtf is worse than that in perl
21:55:44 <ais523> it actually runs the program until it errors, then goes back and compiles the bit of the program that didn't work under the current compiler
21:55:46 <tusho> ais523: i think you should abandon C-INTERCAL, 'cause CLC totally has you beat
21:55:51 <ais523> and the compiler can be changed from within the program
21:56:00 <ais523> tusho: C-INTERCAL and CLC-INTERCAL have different goals completely
21:56:16 <ais523> yes, CLC-INTERCAL has C-INTERCAL beat on sheer esotericness, and probably it will always be that way
21:56:33 <ais523> but C-INTERCAL is faster, and compiles to something relatively sane
21:56:39 <AnMaster> ais523, you need posix_fadvise(), that will beat CLC on "get tusho madiness"
21:57:25 <AnMaster> ais523, maybe even make C-INTERCAL a sleek and beautiful beast (could that be done?)
21:57:34 <ais523> AnMaster: well, it is compared to CLC-INTERCAL
21:57:41 <ais523> possibly it was always meant to be
21:57:51 <ais523> the compiler's a mess, but the result is not too bad
21:57:59 <ais523> especially when neither -e nor -m is used
21:58:05 <ais523> that way it doesn't do any stupid stack tricks
21:58:06 <AnMaster> ais523, making the compiler nicer would be cool
21:58:08 <ais523> it just becomes a C program
21:58:16 <AnMaster> I may make some patches to fix valgrind issues if I have time
21:58:21 <ais523> AnMaster: well, the problem is trying to track all the allocations and deallocations
21:58:27 <ais523> it gets confusing very quickly
21:58:50 <AnMaster> ais523, at least some should be pretty clear like "this is never visible outside this function, so add a free() at the end"?
21:59:17 <ais523> AnMaster: yes, but those aren't responsible for memory leaks
21:59:27 <ais523> the issue is that the entire program is compiled into a massive binary tree in memory
21:59:30 <AnMaster> ais523, of course is way harder to fix existing code than when you are writing it
21:59:39 <ais523> and the issue is freeing bits of it in the right order
21:59:46 <AnMaster> which is why I always debug each fingerprint in valgrind before even committing it
22:00:29 <AnMaster> <ais523> AnMaster: yes, but those aren't responsible for memory leaks <-- yes they are to a certain extent
22:01:21 <ais523> AnMaster: I mean, not in this code
22:01:30 <ais523> those are all caught by splint
22:01:36 <ais523> which I've run over the whole code
22:01:48 <ais523> I even tried to annotate, but I gave up on some bits because the referencing was so weird
22:02:13 <AnMaster> but it fails horribly on even simple C99 stuff like:
22:03:25 <ais523> well, C-INTERCAL isn't C99, so I didn't have that problem
22:03:32 <ais523> in fact, it originally wasn't even C89
22:04:14 <AnMaster> ais523, apart from mem leaks, are there any other valgrind errors?
22:05:34 <ais523> AnMaster: no, I don't think so
22:06:06 -!- Corun has joined.
22:06:39 -!- poiuy_qwert has joined.
22:06:42 -!- Judofyr has quit.
22:07:07 <ais523> AnMaster: at least all the commonly-used codepaths are fine
22:07:22 <ais523> every now and then, though, someone comes up with some strange way of using ick that malfunctions
22:07:35 <AnMaster> ais523, I pondered writing a test suite for cfunge using check but gave up on that idea
22:07:38 <ais523> maybe I should just try every single possible combination of command-line args to see which ones work
22:07:58 <AnMaster> ais523, I tried running ick on some CLC-INTERCAL code and it generated invalid C as output iirc
22:08:08 <ais523> AnMaster: that's strange, it shouldn't do that
22:08:26 <ais523> oh, btw, cfunge goes into an infinite loop if you enter input with no numeric characters when asked to input a number
22:08:39 <AnMaster> ais523, yes it will "try again" then basically
22:08:46 <AnMaster> until you enter a valid number
22:08:53 <AnMaster> if that is what you mean, it is intentional
22:09:08 <ais523> ah, I assumed it was just broken
22:09:16 <ais523> maybe it should print "Redo from start" like in BASIC
22:09:24 <AnMaster> ais523, http://intercal.freeshell.org/examples/hello.i <-- that, after fixing PLEASE ratio to conform to what ick wants
22:09:26 <ais523> what if it gets an EOF in the input when inputting a number?
22:09:30 <ais523> or a character, for that matter?
22:09:59 <AnMaster> ais523, Ctrl-D seems to be ignored
22:10:00 <ais523> AnMaster: I tested on that program too...
22:10:06 <ais523> AnMaster: redirect from /dev/null
22:10:14 <ais523> can you reproduce the problem at your end?
22:10:48 <ais523> AnMaster: what did you modify in it?
22:11:07 <AnMaster> ais523, just the PLEASE ratio to remove some please on the line that said "PLEASE PLEASE PLEASE (PRETTY PLEASE)"
22:11:26 <ais523> because to C-INTERCAL, the whole of the rest of the program is one statement
22:11:40 <ais523> each of the ERROR lines is one statement
22:12:12 <AnMaster> remove the whole "please please please pretty please" line
22:12:17 <AnMaster> /tmp/ccBpzVat.o: In function `ick_og6669c0':
22:12:17 <AnMaster> hello.c:(.text+0x1ca): undefined reference to `ick_or0'
22:12:26 <AnMaster> ais523, is that supposed to happen?
22:12:49 <ais523> it seems to have utterly confused the type-checker
22:12:53 <ais523> that's what that error always means
22:13:01 <ais523> that something wasn't given a data-type at all
22:13:03 <AnMaster> ais523, well that's a bug then I guess?
22:13:15 <ais523> I'll have to look into what it is that failed to type-check
22:14:09 <ais523> ah, I think I get what's happening
22:14:15 <ais523> let me see if I can create a minimal test case
22:14:26 <AnMaster> ais523, got that yet in your program? in the way to <real world location>?
22:14:35 <ais523> AnMaster: there's ON THE WAY TO THE NEW WORLD
22:14:36 <AnMaster> could be quite fun for something I guess
22:14:46 <ais523> also ON THE WAY TO THE CLOSET
22:14:59 <ais523> and I can't remember what error message they correspond to
22:15:04 <ais523> because that's the last line
22:15:13 <ais523> not the bit at the start, which is normally related to the error somehow
22:15:22 <ais523> the one's that aren't aren't that hard to memorise
22:16:15 <ais523> PLEASE DO .1/.?2 SYNTAX:ERROR
22:16:24 <ais523> and that's my minimal test case
22:16:27 <ais523> to reproduce the error
22:16:38 <AnMaster> ais523, and that what is that supposed to do?
22:16:44 <ais523> nothing, it's an error
22:16:52 <ais523> the point is, it gets halfway through compiling the code
22:16:54 <AnMaster> well not a linker error right?
22:17:00 <ais523> AnMaster: yes, let me explain
22:17:05 -!- pikhq has joined.
22:17:11 <ais523> the .1/.?2 is a symlink
22:17:30 <pikhq> There's far too many cool things to do.
22:17:34 <ais523> meaning that from now on, .1 should mean the value of .?2
22:17:40 <ais523> AnMaster: yep, symlinked variables
22:17:49 <ais523> you can have great fun with that
22:17:59 <pikhq> Do I want to work on Def-BF?
22:18:07 <AnMaster> ais523, well in C you could do aliased pointers
22:18:07 <ais523> now, this means I have to generate code to calculate the XOR of .2 if needed
22:18:10 <pikhq> Helping Gregor with Plof?
22:18:13 <ais523> because something might be symlinked to it
22:18:21 <ais523> however, then there's a syntax drror
22:18:23 <AnMaster> pikhq, call fork(), problem solved
22:18:28 <ais523> so that wasn't a real command after all
22:18:39 <ais523> so the typecaster is never run on it
22:19:08 <ais523> therefore, it generates code that is never used in the program, without typecasting it first
22:19:21 <ais523> so it tries to do a (undefined memory)-bit XOR rather than a 16-bit or 32-bit XOR
22:19:31 <ais523> and you get a linker error
22:19:37 <ais523> because that sort of XOR isn't in the runtime library
22:19:48 <ais523> as for hard to fix, probably not
22:19:59 <ais523> I can think of a reasonably easy way to fix it that generates a lot of dead code
22:20:07 <ais523> I'm currently wondering if there's a better way
22:20:23 <ais523> after all, that function is never actually called
22:20:28 <ais523> so the linker error doesn't matter
22:20:31 <ais523> just the linker doesn't know that
22:20:42 <ais523> if C was like INTERCAL, then the error would be just fine as long as it was never encountered
22:20:59 <AnMaster> ais523, what about "generate the unneeded code in case we get a linker error" XD
22:21:21 <ais523> no, those are both insane methods
22:21:31 <ais523> besides, the unneeded code is generated at present
22:21:33 <AnMaster> ais523, yes very intercallish though XD
22:21:37 <ais523> and the linker error is in that code
22:21:45 <ais523> so there's an error because it can't find a function it'll never use
22:22:29 <AnMaster> ais523, does intercal have floating or fixed point at all?
22:22:35 <AnMaster> could you do sin() and such in it?
22:22:55 <ais523> AnMaster: it doesn't have any sort of maths by default, but libraries are available both for integer arithmetic and for floating-point arithmetic
22:23:04 <ais523> both work by bitwise manipulation
22:23:13 <AnMaster> ais523, and for sin() and such high level stuff?
22:23:22 <ais523> yep, that's in the floating-point library too
22:23:30 <ais523> I was quite astounded that someone was actually bothered to write that
22:23:40 <ais523> but it's one of the examples bundled with the compiler
22:23:50 <ais523> let me find the list of what's supported
22:24:16 <AnMaster> ais523, cfunge supports trigonometry by 3 different fingerprints, FIXP, FPDP, FPSP
22:24:35 <ais523> ugh, tusho's doing one of their big reorganisations at the moment, so it isn't online
22:24:35 <AnMaster> (fixed point, various math functions, double floating point, single floating point)
22:24:39 <ais523> I'll find it on my own compute
22:24:44 <ais523> AnMaster: yes, but those fingerprints are written in C
22:24:50 <ais523> the floating-point library is written in INTERCAL
22:24:56 <ais523> AnMaster: yes, temporarily
22:25:24 <AnMaster> ais523, well I wouldn't know how to write it in C even
22:25:51 <AnMaster> I would use lookup tables or a calculator, I couldn't calculate it by hand
22:26:15 <AnMaster> well if I had sin() I could calculate cos() and tan()
22:26:27 <AnMaster> and possibly arcsin() and such too
22:26:40 <ais523> + - floor (both integer and real result) * / mod cast-from-integer sqrt ln exp pow sin cos tan random
22:26:44 <ais523> that's what's supported
22:27:03 <AnMaster> ais523, do you optimize those into C?
22:27:10 <AnMaster> iirc you said you did for some parts in syslib
22:27:16 <ais523> it would be easy enough to write an expansion library that does
22:27:33 <ais523> and no, what I have is a version of syslib in both C and in INTERCAL, and you can link either
22:27:45 <AnMaster> ais523, does one need ec then?
22:28:09 <ais523> you need -e to link syslibc
22:28:18 <ais523> whereas the INTERCAL version needs no command-line options
22:28:20 <AnMaster> oh so can't be done with threads then
22:28:44 <AnMaster> ais523, hm could you optimize syslib to work even with threads?
22:29:03 <ais523> AnMaster: yes, probably, but it would be quite a bit of effort
22:29:26 <AnMaster> ais523, is the C one much faster?
22:29:33 <ais523> AnMaster: I'm not sure
22:29:39 <ais523> the INTERCAL one's not all that slow, actually
22:29:44 <ais523> C-INTERCAL is pretty optimised for an INTERCAL compiler
22:29:47 -!- Slereah- has quit (Connection timed out).
22:30:44 <ais523> I'm going to time primes.i with various different command-line arguments
22:31:34 <AnMaster> ais523, what about a pure C version just to compare
22:31:58 <AnMaster> (using sieve of Atkins maybe?)
22:32:16 <ais523> a pure C version using the same algorithm as the INTERCAL would be an interesting comparison
22:32:16 <AnMaster> http://en.wikipedia.org/wiki/Sieve_of_Atkin
22:32:35 <AnMaster> ais523, ah, what algorithm does intercal use then?
22:32:49 <ais523> simple try-all-odd-factors, I think
22:33:02 <AnMaster> ais523, up to the square root I assume?
22:33:36 <ais523> AnMaster: probably, actually probably to half the number as square roots are slow to calculate
22:33:39 <ais523> I didn't write primes.i
22:33:43 <ais523> but it's a well-known benchmark
22:34:04 <AnMaster> ais523, well you could calculate square root once and then be done with it
22:34:13 <AnMaster> store it in a variable or whatever
22:34:34 <ais523> AnMaster: primes.i finds all primes from 0 to 65535
22:34:43 <ais523> and yes, obviously you'd do it like that
22:36:59 <ais523> http://pastebin.ca/1065027
22:37:25 <ais523> -beEO is slightly faster than -bfO, but not by a significant amount
22:37:49 <ais523> AnMaster: what do you think?
22:38:03 <AnMaster> what about that instruction that generates a shell script to output it?
22:38:13 <ais523> note how quick that was
22:38:50 <ais523> -f is flow optimisation
22:39:03 <ais523> and -e is the external-calls system, which is needed to link in syslibc
22:39:14 <ais523> -E disables the auto-linking of the INTERCAL version of the system library
22:39:37 <ais523> AnMaster: -f and -e contradict
22:39:52 <ais523> you can't flow-optimise the external-calls system ATM
22:40:07 <tusho> the repo will be up soon
22:40:11 <AnMaster> ais523, what about a pure C version then?
22:40:16 <ais523> I'd have to write one...
22:46:12 <AnMaster> "ge/gro.elpmaxe//:ptth"37*( ... v"tset/pf/0/ten.elpmaxe.oof//:rehpog"a7+2*( ... v>"lmth.krow/moc.elpmaxe.www//:ptth"84*( ... S v>... ) ... ) ... ) >
22:46:27 <AnMaster> "ge/gro.elpmaxe//:ptth"37*( ... v
22:46:27 <AnMaster> "tset/pf/0/ten.elpmaxe.oof//:rehpog"a7+2*( ... v>
22:46:27 <AnMaster> "lmth.krow/moc.elpmaxe.www//:ptth"84*( ... S v>
22:46:34 <ais523> did you just paste some Funge-108 into the channel?
22:46:59 <tusho> AnMaster: maybe you should make it be reversed
22:47:15 <tusho> AnMaster: so that you could write it the right way around
22:47:17 <AnMaster> tusho, the original example was:
22:47:18 <tusho> although I admit it looks pretty as is
22:47:23 <AnMaster> ".G.E"4( ... "TSET"4( ... "KROW"4( ... S ... ) ... ) ... )
22:47:37 <AnMaster> I just assigned some uris and translated the funge98 example
22:47:48 <AnMaster> in a way that would fit within the width of the pdf file
22:47:53 <tusho> AnMaster: but, try reversing those strings
22:47:56 <tusho> it'll look a lot nicer
22:48:12 <AnMaster> $ echo "ge/gro.elpmaxe//:ptth" | rev
22:48:30 <AnMaster> tusho, they should be gnirts, not strings
22:48:34 <tusho> "http://example.org/eg"37*
22:48:40 <AnMaster> as befunge does 0"gnirts" elsewhere
22:48:48 <AnMaster> tusho, like for i and o instructions
22:48:57 <AnMaster> tusho, I just try to keep it consistent
22:49:03 <ais523> AnMaster: well, personally I like writing strings with left-to-right execution
22:49:07 <ais523> so they look good in the source
22:49:12 <ais523> s/left-to-right/right-to-left/
22:50:01 <AnMaster> hsi-egnufeB yrev t'nera uoy sey ,ohsut
22:50:49 <AnMaster> ais523, is there any emacs command to reverse a selection?
22:54:14 <AnMaster> tusho, also iirc there is some fingerprint that can read strings from funge-space
22:54:21 <AnMaster> not sure if I implement that yet
22:54:34 <ais523> AnMaster: I don't know
22:54:36 <AnMaster> it is one I most likely will implement however
22:55:01 <AnMaster> I'm going to upload a new pdf and lyx file btw
22:57:10 <AnMaster> http://kuonet.org/~anmaster/funge-108/funge108.pdf and http://kuonet.org/~anmaster/funge-108/funge108-lyx.tar.bz2
22:57:18 <AnMaster> contains last updates as of today
22:58:39 <AnMaster> I wonder if we can make it as long as the C standard
22:59:56 <ais523> AnMaster: tusho has just moved the C-INTERCAL repo to http://code.eso-std.org/c-intercal/
23:00:06 <tusho> ais523: but with consent from you!
23:00:10 <AnMaster> ais523, how do I make darcs switch
23:00:11 <tusho> jeez, stop twisting words
23:00:17 <ais523> tusho: yes, but I'd still like a redirect
23:00:23 <ais523> AnMaster: specify the new URL the next time you pull
23:00:30 <ais523> in fact, try that now, I made a change
23:00:30 <tusho> ais523: i'd like to not innundate eso-std.org with cruft before it even gets started
23:00:36 <ais523> to make it compatible with your fixes to cfunge
23:00:56 <ais523> tusho: well, it'll never get started if nobody can link to it
23:01:01 <AnMaster> ais523, is there any way to auto say y when you pull?
23:01:08 <tusho> ais523: oh shush :)
23:01:08 <ais523> AnMaster: yep, a return
23:01:17 <AnMaster> ais523, I mean for all changes
23:01:29 <ais523> that says y to all changes
23:01:40 <ais523> but I think there's a command-line arg for that too if you find it easier
23:01:44 <AnMaster> "Invalid response, try again!"
23:01:58 <ais523> darcs pull -a http://code.eso-std.org/c-intercal/
23:02:20 <tusho> ais523: you might wanna tell a.l.intercal about the new url
23:02:34 <ais523> tusho: not until its stable for a while, until then, you use redirects
23:02:37 <AnMaster> ais523, cftoec.sh is no longer chmod +x?
23:02:42 <ais523> Wikipedia has redirects in that are years old in case people link to them
23:02:52 <ais523> AnMaster: darcs is really bad at versioning permissions, it's a major problem
23:03:02 <ais523> but darcs tends to forget the permissions on things
23:03:44 <AnMaster> ais523, will c-intercal modify cfunge source in place or copy it?
23:04:05 <ais523> AnMaster: it compiles it into a .cio file
23:04:07 <AnMaster> because my cfunge trunk contains lots of cruft like test files and such
23:04:10 <ais523> which is a modified version with some metadata
23:04:19 <ais523> so .cio and .c files with the same name are overwritten
23:04:43 <ais523> you probably want to do it from a clean source-tree, though
23:04:51 <ais523> because it just compiles all .c files it finds in the source tree
23:04:58 <ais523> regardless of what they're called
23:05:31 <AnMaster> ais523, fun trick with cfunge that I use myself to test speed:
23:06:04 <ais523> AnMaster: well, I don't use that when compiling the library
23:06:07 <AnMaster> that makes certain inter-file optimization possible
23:06:16 <ais523> AnMaster: well, I don't really care about speed for fffungi
23:06:18 <AnMaster> ais523, also it helps me detect certain bugs
23:06:24 <ais523> computed COME FROM is inherently slow
23:06:35 <AnMaster> like extern of variable in source file (forbidden in my coding standard)
23:06:46 <AnMaster> I used it on crossfire however to detect conflicting such extern
23:07:05 <AnMaster> ais523, well what about having non-computed ones as well?
23:07:32 <AnMaster> ais523, I could provide a place to hook in and monitor changes to funge-space so you could just update the info as you need it
23:07:49 <ais523> AnMaster: you're overthinking this, really
23:07:55 <ais523> besides, -e treats all COME FROMs as computed
23:07:59 <AnMaster> ais523, well I always tend to do that
23:08:10 <ais523> even the ones in the INTERCAL program
23:08:15 <ais523> due to dynamic line labels and such
23:08:47 <AnMaster> ais523, where was the example to try then?
23:09:04 <ais523> pit/tests/iffit1.i and pit/tests/iffit2.b98
23:09:07 <ais523> you compile them together
23:09:18 <ais523> as ick -bea iffit1.i iffit2.b98
23:09:25 <AnMaster> bin/ick -eba pit/tests/iffit2.b98 pit/tests/iffit1.i ?
23:09:32 <ais523> AnMaster: enables CREATE support
23:09:36 <ais523> otherwise the very last test fails
23:09:43 <ais523> because the thing it's testing isn't supported
23:09:52 <ais523> AnMaster: gives meaning to syntax that previously didn't have any
23:09:59 <ais523> there's a DO T .1 in the INTERCAL file
23:10:02 <ais523> that means nothing to start with
23:10:08 <AnMaster> $ bin/ick -eba pit/tests/iffit1.i pit/tests/iffit2.b98
23:10:08 <AnMaster> ICL127I SAYING 'ABRACADABRA' WITHOUT A MAGIC WAND WON'T DO YOU ANY GOOD
23:10:10 <ais523> but the Befunge file gives it a definition
23:10:17 <ais523> AnMaster: that's an installation problem
23:10:45 <ais523> AnMaster: did you reinstall C-INTERCAL after generating the library?
23:10:50 <ais523> otherwise it won't have been installed
23:11:11 <ais523> there's an option to debug that
23:11:14 <ais523> let me remember which one it is
23:11:24 <AnMaster> $ ls /home/arvid/local/ick/lib/
23:11:25 <AnMaster> libick.a libickec.a libickmt.a libyuk.a
23:11:26 <ais523> add -u to the command line
23:12:02 <ais523> is it in lib in the C-INTERCAL development sources?
23:12:09 <AnMaster> http://rafb.net/p/IusI1X29.html
23:12:24 <AnMaster> COPYING.txt compunex.c coopt.sh ick-wrap.c libick.a libick_ecto_b98.a libickec.a libickmt.a libyuk.a pickwrap.c syslibc.c
23:12:37 <ais523> AnMaster: that one's fine
23:12:44 <ais523> it's missing the other half, ecto_b98.c
23:12:45 <AnMaster> ais523, so make install is broken?
23:12:54 <ais523> AnMaster: try make lib/ecto_b98.c
23:13:03 <ais523> I may have screwed up make's dependencies somewhere
23:13:06 <AnMaster> make: *** No rule to make target `lib/ecto_b98.c'. Stop.
23:13:18 <ais523> AnMaster: ah, reconfigure
23:13:18 <AnMaster> ais523, looks like you fail at detecting when to re-generate makefile
23:13:25 <AnMaster> something automake would do for you
23:13:28 <ais523> I don't regenerate the makefile except on request
23:13:33 <AnMaster> so this would be handled automatically in automake
23:13:37 <ais523> I thought that was normal
23:13:54 <ais523> config.status will regenerate it
23:13:57 <AnMaster> ais523, well I'm used to smart build systems
23:14:07 <AnMaster> cmake is semi smart in that aspect
23:14:38 <ais523> ugh, I must have changed something relevant
23:14:47 <AnMaster> sh -c "[ `whoami` = root ] && : -q"
23:14:47 <AnMaster> make: [install] Error 1 (ignored)
23:15:08 <ais523> I should have put || : at the end of that, though
23:15:16 <ais523> because that's meant to be able to fail
23:15:17 <AnMaster> ais523, now where is the outfile
23:15:19 <ais523> and it surpresses the error
23:15:24 <ais523> AnMaster: should be iffit1
23:15:34 <ais523> and it'll be in the same dir as the sources
23:15:34 <AnMaster> $ bin/ick -eba pit/tests/iffit1.i pit/tests/iffit2.b98
23:16:13 <ais523> basically it just chops off the extension of the INTERCAL source to give the output file
23:16:19 <AnMaster> ais523, some cool things to write would be some thing to make use of fingerprints to in befunge to make it possible to do stuff you can't normally in intercal easily
23:16:38 <ais523> although that would be a good example for the C things too
23:16:48 <AnMaster> http://rafb.net/p/zIUcbS97.html
23:16:55 <ais523> run it with +wimpmode if you find Roman numerals hard to read
23:16:58 <ais523> it should just count up to 18
23:17:04 <AnMaster> ==4763== still reachable: 3,208,940 bytes in 287 blocks.
23:17:15 <ais523> AnMaster: it isn't deallocating the cfunge stuff on exit
23:17:23 <ais523> without messing with atexit
23:17:23 <AnMaster> that could be cfunge I guess in RELEASE mode
23:17:42 <ais523> I checked, it's all cfunge internals, and all still-reachable
23:17:43 <AnMaster> well if you study cfunge you will notice it only does it in DEBUG
23:17:46 <ais523> most of it's the hash thing
23:17:59 <ais523> and it's pretty hard to figure out when the deallocation's needed
23:18:05 <AnMaster> DEBUG deallocate EVERYTHING at exit
23:18:14 <AnMaster> RELEASE: assume OS can do it's job
23:18:28 <AnMaster> ais523, well it is needed in atexit() if ever
23:18:37 <AnMaster> I assume OS will do it's job unless DEBUG is set
23:18:55 <AnMaster> ais523, because the only things I deallocate in atexit() are such that need to persist to the very last moment
23:18:59 <ais523> that stuff's all being used until the last moment
23:19:04 <ais523> that is, all the Befunge stuff
23:19:17 <ais523> because everything else is freed by cfunge
23:19:24 <ais523> that's just funge-space and one IP that you're seeing there
23:19:33 <AnMaster> yes cfunge is valgrind clean apart from stuff that aren't really leaks
23:19:37 <ais523> and yes, that is expected output
23:19:52 <ais523> pit/tests/iffit.doc for the expected output with an explanation, by the way
23:20:29 <tusho> "No, it's an MS Word 2007 document."
23:20:32 <ais523> all the C-INTERCAL examples are documented like that
23:20:35 <ais523> tusho: that would be .docx
23:20:46 <tusho> That's not DOS-compatible!
23:20:48 <ais523> and I think the C-INTERCAL extension predates Word becoming popular
23:20:55 <tusho> They'd have to compromise and use .doc.
23:21:12 <ais523> tusho: .dcx with DJGPP's mangling scheme, I think, it favours removing vowels
23:21:14 <AnMaster> tusho, well they haven't done that
23:22:06 <AnMaster> I Printed at the start of the INTERCAL program; tests Y.
23:22:18 <ais523> AnMaster: I is 1 in Roman Numerals
23:22:34 <ais523> and Y is "yield", which the Funge program runs once to start the INTERCAL program running
23:22:48 <ais523> i.e. the Funge program starts first, does its initialisation, then runs Y and the INTERCAL program starts
23:22:59 <ais523> you can't use anything else in the fingerprint until you use Y
23:23:05 <AnMaster> ais523, I see, does C program also run first when doing that FFI?
23:23:15 <ais523> AnMaster: C programs can define blocks which run first
23:23:18 <AnMaster> ais523, where are the fingerprint docs btw?
23:23:20 <ais523> once they end, the program starts
23:23:26 <ais523> AnMaster: they're in the texinfo source
23:23:39 <ais523> there's a makefile there that'll compile it to a lot of formats you know
23:23:50 <AnMaster> ais523, pure text would be a good one atm
23:23:58 <ais523> but you'll have to search for it
23:24:04 <ais523> because that's one long file that documents everything
23:24:14 <ais523> the text is pregenerated for people who don't have texinfo
23:24:18 <AnMaster> arvid@tux ~/src/c-intercal/doc $ make
23:24:19 <AnMaster> make: *** No rule to make target `x.mm', needed by `x.txt'. Stop.
23:24:31 <ais523> for the new documentation
23:24:46 <ais523> actually, I've often wondered why the makefile deliberately chokes when not given a target
23:24:58 <ais523> it's done that since before I started maintaining C-INTERCAL
23:25:05 <ais523> so I assumed there was a good reason...
23:25:10 <AnMaster> ais523, may be worth fixing it then
23:25:10 <ais523> probably there isn't, though
23:25:17 <ais523> it's clearly deliberate
23:25:26 <ais523> although a bit of a strange way to do it
23:25:28 <AnMaster> ais523, well give it something like:
23:25:38 <AnMaster> echo "Please use one of these targets:"
23:25:49 <ais523> well, I have an all target that builds everything too, I think
23:26:03 <ais523> I think normally people don't want everything, though
23:26:04 <AnMaster> all is the default target isn't it?
23:26:12 <ais523> AnMaster: no, the first target is the default
23:26:16 <ais523> no matter what it's called
23:26:22 <AnMaster> ais523, well right, but make default target explain what is going on
23:26:43 <AnMaster> "This section will not make much sense to a non-Funge programmer;
23:26:43 <AnMaster> therefore, if you are not used to Funge, you probably want to skip it."
23:26:52 <AnMaster> well same for a non-intercal programmer ;/
23:27:06 <ais523> yes, but the whole manual's about INTERCAL
23:27:22 <ais523> and actually, I think it's suitable for people who don't know INTERCAL as long as you read it in order
23:27:39 <tusho> c-intercal should require clc-intercal
23:27:41 <ais523> I tried to explain everything reasonably carefully, as a reference
23:28:19 <AnMaster> ais523, has anyone coded an intercal interpreter or compiler in intercal?
23:28:19 <ais523> tusho: C-INTERCAL isn't crazy, it's the sane end of the INTERCAL implementation market
23:28:30 <ais523> AnMaster: I don't think so, INTERCAL's a pain to parse
23:28:34 <ais523> it's even kind-of tricky to lex
23:28:40 <AnMaster> ais523, so a C->INTERCAL compiler
23:28:42 <tusho> ais523: which is still pretty crazy...
23:28:46 <AnMaster> then compile C-INTERCAL using that?
23:28:53 <ais523> AnMaster: yes, that would probably be easier
23:29:14 <AnMaster> ais523, is there a limit of number of lines in INTERCAL?
23:29:19 <ais523> AnMaster: available memory
23:29:24 <ais523> there is a limit to line length, though
23:29:27 <ais523> and number of line numbers
23:29:33 <ais523> but not all lines need be numbered
23:29:39 <ais523> and it's turing complete quite easily
23:29:48 <ais523> in fact, I think it's even turing complete without variables
23:29:59 <ais523> the flow structure is rich enough
23:30:45 <ais523> I tried to prove that once but got confused
23:31:09 <ais523> anyway, I'm going home now
23:31:31 <ais523> hmm... I'd like to give INTERCAL lessons some time, but I'm not sure who'd be interested
23:31:37 <ais523> it's an interesting idea
23:31:41 <ais523> but bye for now, anyway
23:31:45 -!- 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"").
23:31:53 <tusho> Real-life ones, I assume.
23:32:07 <tusho> i could, very easily
23:32:11 <tusho> I just went to the UK
23:32:22 <tusho> didn't have to do much
23:32:27 <tusho> but it's the thought that counts
23:36:05 -!- Sgeo has quit (Connection timed out).
23:36:30 <AnMaster> ./src/fingerprints/IFFI/IFFI.c:38: warning: no previous prototype for 'ick_SaveIPPosDelta'
23:36:30 <AnMaster> ./src/fingerprints/IFFI/IFFI.c:46: warning: no previous prototype for 'ick_RestoreIPPosDelta'
23:36:30 <AnMaster> ./src/fingerprints/IFFI/IFFI.c:54: warning: no previous prototype for 'ick_InterpreterRun'
23:36:30 <AnMaster> ./src/fingerprints/IFFI/IFFI.c:79: warning: no previous prototype for 'ick_iffi_InterpreterOneIteration'
23:37:29 <AnMaster> will have to tell ais tomorrow
23:39:06 <AnMaster> tusho, but very few warnings :D
23:39:41 -!- Corun has quit ("This computer has gone to sleep").
23:44:34 <AnMaster> I want a permalink to the darcs repo for ick
23:44:42 <AnMaster> one that will work for the next few years
23:44:51 <tusho> AnMaster: And I want a pony.
23:44:59 <tusho> But http://code.eso-std.org/c-intercal/ should be stable.
23:45:02 <tusho> (With the ending slash.)
23:45:29 <tusho> AnMaster: But, you know. There's never any guarantees
23:45:37 <tusho> Who knows if ESO will exist in the next few years?
23:45:58 <tusho> I also doubt people will be desperately trying to follow links to the repository in a few years, AnMaster.
23:46:04 <tusho> Especially not so much that they're disappointed before you can fix it.
23:46:31 <AnMaster> I expect this will be stable now :)
23:46:37 <tusho> AnMaster: It'll probably be.
23:46:39 <tusho> It's a reasonable URL.
23:46:47 <AnMaster> tusho, /msg me if you change it
23:47:02 <tusho> AnMaster: I'll just tell you in here...
23:47:11 <tusho> (Actually, I was going to change it and NOT TELL ANYONE about the new URL.)
23:47:13 <AnMaster> tusho, msg is better in case I'm away
23:47:14 <tusho> (Great idea right?)
23:47:33 <AnMaster> tusho, or if I'm not here just use memoserv
23:47:41 <AnMaster> and if I'm here and marked away just use /msg
23:47:57 <tusho> I'll just highlight you.
23:49:57 <AnMaster> tusho, no thanks I don't have a long scrollback
23:50:19 <AnMaster> if I'm not here (I'm going to Norway the day after tomorrow), just use memoserv
23:50:22 <tusho> AnM*ster: if I ever highlight you again, it'll mean I moved it!
23:52:49 <AnMaster> tusho, my client won't be online when I'm in Norway
23:53:02 <tusho> AnM*ster: Grep logs!
00:00:29 -!- Hiato has quit (Read error: 104 (Connection reset by peer)).
00:17:36 -!- timotiis has quit (Read error: 110 (Connection timed out)).
00:42:25 -!- Corun has joined.
00:51:28 -!- Corun has quit ("This computer has gone to sleep").
01:14:48 -!- kwertii has joined.
01:34:08 -!- tusho has quit.
01:46:56 -!- RedDak has quit (Read error: 110 (Connection timed out)).
01:58:37 -!- kwertii has quit ("bye").
02:46:14 -!- puzzlet has joined.
03:30:52 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
03:31:56 -!- puzzlet has joined.
03:32:31 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
03:36:58 -!- puzzlet has joined.
04:56:39 -!- immibis has joined.
04:57:18 <immibis> ...what happened to the topic?
05:07:11 <immibis> and where's egobot? i was going to submit a fukyorbrane program but he's not here
05:18:35 -!- pikhq has quit ("leaving").
05:54:09 -!- poiuy_qwert has quit.
06:03:58 <immibis> also i found several bugs in fukyorbrane-a0.6
07:25:57 -!- immibis has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. and email ths to).
07:27:40 -!- ihope has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:41:51 -!- puzzlet_ has joined.
08:53:53 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
08:54:36 -!- immibis has joined.
08:54:48 -!- puzzlet_ has changed nick to puzzlet.
08:55:28 -!- immibis has changed nick to computerdude_.
08:55:47 -!- computerdude_ has changed nick to immibis.
08:56:35 -!- immibis has changed nick to Bobby.
09:06:42 -!- Bobby has changed nick to immibis.
09:06:56 <immibis> ...why was my name bobby...even my real names not bobby...
09:07:19 <AnMaster> immibis, egobot: no idea what happened to it
09:07:38 <immibis> probably nobody decided to run it
09:07:49 <immibis> topic: "fuck man i'm haf fah m'o nam kcuf"
09:07:51 <AnMaster> someone wrote "fuck man i'm haf" in a esolang spec
09:08:02 <AnMaster> turned out he was high when he did it
09:08:18 <AnMaster> somehow, not sure who did it, it ended up in topic
09:08:29 <AnMaster> immibis, ask tusho/ehird when he gets here
09:08:36 <AnMaster> he should know why it is in topic
09:20:38 -!- Slereah- has joined.
09:34:05 -!- Slereah_ has joined.
09:34:05 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
09:35:18 -!- Slereah- has joined.
09:35:19 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
09:56:06 -!- Slereah_ has joined.
09:56:06 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
10:12:25 -!- puzzlet_ has joined.
10:15:31 <oklopol> ais523: i want a lesson. would've wanted earlier, but i was seriously wondering whether i could fly to england for the lesson
10:16:01 <oklopol> but i don't think i have the balls for that.
10:16:16 * oklopol slaps oklopol with a serious trout
10:24:11 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
10:35:37 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
10:35:53 -!- Slereah- has joined.
10:39:11 -!- immibis has quit (Read error: 110 (Connection timed out)).
10:41:53 -!- Slereah_ has joined.
10:41:53 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
10:48:47 -!- Slereah- has joined.
10:49:21 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
10:50:16 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
10:50:21 -!- Slereah- has joined.
10:53:22 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
10:53:48 -!- Slereah- has joined.
10:56:06 -!- atsampson has quit (Read error: 113 (No route to host)).
10:56:36 -!- atsampson has joined.
11:01:53 -!- Slereah_ has joined.
11:01:53 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
11:06:12 -!- Slereah- has joined.
11:09:27 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
11:11:33 -!- Slereah_ has joined.
11:11:33 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
11:12:43 -!- Slereah- has joined.
11:12:43 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
11:13:43 -!- Corun has joined.
11:14:13 -!- Slereah_ has joined.
11:14:17 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
11:16:50 -!- Slereah- has joined.
11:16:50 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
11:37:59 -!- Slereah_ has joined.
11:46:32 -!- oklopol has quit (Read error: 110 (Connection timed out)).
11:53:42 <Slereah_> As soon as I'll know how to do it.
11:55:44 -!- Slereah- has quit (Read error: 110 (Connection timed out)).
11:57:11 -!- Sgeo has joined.
12:24:00 <AnMaster> Deewiant, I updated the mini-funge specs to work with Funge-108 and included it as an appendix and an optional extension "but if you do something like this, it is RECOMMENDED you select this variant"
12:25:43 <AnMaster> http://kuonet.org/~anmaster/funge-108/
12:36:22 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)).
12:37:44 -!- puzzlet has joined.
12:54:38 -!- Corun has quit ("This computer has gone to sleep").
12:58:04 -!- Slereah- has joined.
12:58:24 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
13:26:53 -!- Hiato has joined.
13:40:05 -!- sebbu2 has joined.
13:53:24 -!- sebbu has quit (Read error: 113 (No route to host)).
13:54:07 -!- sebbu2 has changed nick to sebbu.
13:57:12 -!- pikhq has joined.
14:11:02 -!- Corun has joined.
14:11:10 -!- oklopol has joined.
14:38:31 -!- puzzlet has quit (Remote closed the connection).
14:38:39 -!- puzzlet has joined.
15:08:05 <Deewiant> AnMaster: so which minifunge specs did you pick
15:09:40 <AnMaster> Deewiant, see appendix C in http://kuonet.org/~anmaster/funge-108/
15:10:16 <AnMaster> Deewiant, slightly modified to support the more modern URI fingerprints
15:10:23 <AnMaster> fingerprints should be renamed I think btw
15:10:36 <AnMaster> as fingerprint is the string like TURT
15:10:38 <Deewiant> btw, some of the D.1 interpreters can do 93 as well as 98
15:10:46 <AnMaster> otherwise we would call them URIs
15:11:37 <Deewiant> but some of them definitely can
15:12:13 <Deewiant> FBBI, !Befunge, RC/Funge-98 - maybe
15:12:20 <Deewiant> jsbef and zfunge, don't think so
15:12:59 <AnMaster> and cfunge can semi-handle b93
15:13:05 <AnMaster> it can handle all important differences
15:13:32 <AnMaster> Deewiant, but thanks I'll insert a note
15:13:41 <Deewiant> AnMaster: eh, "this system is based around the mini-funge..." you said it's !Befunge but you don't even mention it there :-)
15:14:06 <AnMaster> Deewiant, I do mention Lee (2003)
15:14:59 <Deewiant> since you say "here are the specs... see Lee (2003) for current version"
15:15:06 <Deewiant> and then you say "these specs are based on <not Lee>"
15:17:26 <Deewiant> err crap, how do I copy from foxit
15:18:04 <AnMaster> Dynamic fingerprints (Lee, 2003), also known as mini-funge, is a standard for cross-funge-implemenation fingerprint implementations. This is completely optional in Funge108 and will not be mandated in future standards either. However if a dynamic finger print system is implemented it is RECOMMENDED that the one described here is used for maximum compatiblity with other implementations. This is a revis
15:18:05 <AnMaster> ed version of the ``Dynamic fingerprints 1.2'' as implemented in !Befunge (Jeffrey Lee, 2005). The changes that have been done is to change filename and related syntax to allow Funge-108 style URIs for fingerprints.
15:18:16 <AnMaster> um should say just (Lee, 2005)
15:18:25 <Deewiant> Note that the dynamic fingerprint may inherit some of the constraints of the callee’s
15:18:28 <Deewiant> environment, such as limited fungespace/stack size or lack of file access commands. The y
15:18:32 <Deewiant> instruction should be used to query these if needed.
15:18:44 <Deewiant> y Kill haunted Causes the haunted IP (and its ghost) to be killed.
15:18:50 <AnMaster> but that is from his original specs
15:18:54 <Deewiant> so you have two conflicting meanings for y
15:19:09 <Deewiant> but y has specifically been redefined for that purpose
15:19:58 <Deewiant> but that's for the haunted and not the ghost
15:20:46 <Deewiant> AnMaster: also, eh, "finally tracked down copies of"... I have copies of everything on my mycology comparison page :-P
15:21:04 <AnMaster> Deewiant, that is copied from his version
15:21:32 <Deewiant> and btw, CCBI's system is RC/Funge-98's
15:23:08 <AnMaster> Deewiant, I checked the !befunge dynafing.c, it doesn't even mention that use for y
15:23:10 <Deewiant> enough, I think, that I won't bother to switch :-P
15:23:17 -!- Sgeo has quit (Success).
15:23:49 -!- timotiis has joined.
15:24:00 <AnMaster> so what about using X for killing?
15:24:01 <Deewiant> AnMaster: you can see it here for instance: http://www.imaginaryrobots.net/projects/funge/rcfunge.txt
15:24:58 <Deewiant> like that said, "this is going against the grain a bit" ;-)
15:25:17 <AnMaster> I think the !Befunge one is neater
15:25:38 <AnMaster> Deewiant, maybe I'll combine them
15:25:49 <Deewiant> it'd be nice if you enumerated the differences
15:26:04 <Deewiant> have a table in your PDF which compares all three
15:26:57 <Deewiant> !Befunge-type, zfunge-type, your combination
15:27:01 <AnMaster> Deewiant, anyway rcfunge one is more restricted
15:27:13 <AnMaster> as it doesn't allow stuff like loading fingerprints inside the ghost
15:27:46 <AnMaster> Deewiant, certainly, you could load FILE and use something
15:27:53 <AnMaster> Deewiant, you can't use t however
15:29:02 <AnMaster> Deewiant, another difference: g and G are reversed
15:29:21 <AnMaster> in !befunge P and G changes in the haunted ip
15:29:38 <AnMaster> while in rc-funge that is reversed
15:30:19 <AnMaster> Deewiant, apart from that !Befunge one just have more features it seems
15:31:18 <AnMaster> Deewiant, if not noted otherwise the !befunge one's instruction by default work on the fingerprint, nothing else
15:32:45 <Deewiant> and I thought it might mean a lot of changes to my current mini-funge hac^Wimpl
15:33:01 <Deewiant> might be fairly easy if I wanted to do it
15:33:18 <Deewiant> even my current mini-funge is hardly tested
15:33:25 <AnMaster> for cfunge I would just need multiple funge spaces + different main loop
15:33:31 <Deewiant> I wrote it really quickly after I thought I had everything done
15:33:49 <Deewiant> I was like "oh, crap, yeah, mini-funge"
15:34:22 <Deewiant> AnMaster: do you pass the IP to instructions?
15:34:24 <AnMaster> Deewiant, well I'm not sure cfunge will implement mini-funge
15:34:34 <Deewiant> or do you use a global or some such
15:34:35 -!- jix has quit ("This computer has gone to sleep").
15:34:50 <AnMaster> I don't pass funge space around
15:35:14 <AnMaster> well a static + interface using functions only
15:35:20 <AnMaster> so you can't just modify it directly
15:36:26 <Deewiant> in CCBI the current IP is a global but a funge-space pointer is carried around by each Ip
15:36:49 <Deewiant> I think funge-space was originally a global too
15:37:01 <Deewiant> and the main one actually still is
15:37:08 <AnMaster> Deewiant, well I don't plan to change the main funge space from a global
15:37:22 <AnMaster> it's way faster to access it in the current way
15:37:37 <Deewiant> it might even be faster when it's local, actually
15:37:51 <Deewiant> might explain the speed difference between CCBI and cfunge ;-)
15:38:06 <AnMaster> Deewiant, there are other parts too
15:38:17 <AnMaster> like using switch not function pointers
15:38:37 <Deewiant> the only significant difference that I suspect is the associative array
15:38:43 <AnMaster> Deewiant, what is the ccbi MHz / native MHz ratio?
15:39:45 -!- Corun has quit ("This computer has gone to sleep").
15:39:58 <AnMaster> cfunge can do about 15 MHz / second in mycology when no fingerprints are done and environment is small
15:40:50 <AnMaster> Deewiant, that assumes non-concurrent support too
15:40:58 <AnMaster> for concurrent support around 12 MHz
15:41:23 <Deewiant> so that's just a timing from start of main loop (after loading) to after?
15:41:55 <AnMaster> Deewiant, actually just runtime
15:42:23 <Deewiant> then you can get it from CCBI easily, since ccbi -c gives the number of instructions executed (and ticks)
15:42:46 <AnMaster> Deewiant, well that isn't fair unless you can give be a 64-bit ccbi
15:42:54 <AnMaster> amd64 got a way better calling convention
15:44:08 <AnMaster> anyway I hoped ais would show up before I went to norway tomorrow
15:44:38 <AnMaster> I renamed a #define he uses, to be able to do funge98 and funge108 handprints
15:48:43 -!- puzzlet_ has joined.
15:52:44 -!- Slereah_ has joined.
15:52:44 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
15:57:58 -!- Corun has joined.
15:59:26 <AnMaster> Deewiant, I'm adding a bulk copy instruction.
16:01:13 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
16:01:24 <AnMaster> to transfer data between haunted and ghost
16:09:59 <AnMaster> as i and o in ghost would operate on ghost funge space
16:11:34 -!- tusho has joined.
16:12:29 <tusho> AnMaster: why isn't he here?
16:13:34 <tusho> he's normally here..
16:13:42 <tusho> typical, he goes one day after rebuilding the eso machine
16:14:08 <AnMaster> tusho, I wish to join eso after I get back from Norway in two days time
16:14:18 <AnMaster> as I'm leaving tomorrow morning and then staying one night
16:14:33 <AnMaster> so the day after the day after tomorrow
16:14:55 <tusho> AnMaster: as long as you don't argue too much, me and ais fill up the argument space just fine as it is :P
16:15:10 <AnMaster> tusho, well I'll mainly work with funge108
16:15:29 <tusho> AnMaster: yes, we'll have to see about that once we figure out what format we're using for the standards
16:15:33 <tusho> it's not as simple as you think
16:15:44 <tusho> we want _semantic_ data (NOT the typesetting data that tex does)
16:15:54 <tusho> but we don't want it to be unusable for our purposes (xml2rfc),
16:16:04 <tusho> or really horrible (loads of stuff)
16:16:09 <tusho> also, we want superb HTML support
16:16:17 <tusho> which kind of excludes LyX
16:16:18 <AnMaster> tusho, ok maybe Funge108 will not be done under eso then
16:16:31 <AnMaster> even if LaTeX does support exporting to html
16:16:31 <tusho> AnMaster: it's not that hard to convert it at the end
16:16:47 <AnMaster> tusho, well the pdf one will be the official one
16:17:02 <tusho> AnMaster: A propietary format as the official version?
16:17:07 <tusho> Yeah, um, no, ESO will NOT do that.
16:17:15 <AnMaster> tusho, no right, I can export to text
16:17:26 <AnMaster> anyway LaTeX one will be official
16:18:58 <tusho> AnMaster: I thought LyX was going to be the official
16:19:15 <AnMaster> tusho, well that is a semi-proprietary compared to LaTeX
16:19:22 <tusho> lyx is open source
16:19:30 <AnMaster> tusho, yes but just one implementation
16:19:38 <AnMaster> so not as free and open as LaTeX
16:20:01 <tusho> ESO will use ruby heavily, that's a language without a spec :P
16:20:16 <tusho> AnMaster: just like python, perl, ...
16:20:34 <AnMaster> well you just gave me another reason to not use those languages
16:20:45 <tusho> AnMaster: work on a ruby spec is underway
16:20:47 <tusho> and going quite well
16:20:51 <tusho> the same cannot be said for python, perl
16:21:03 <tusho> AnMaster: does erlang have a spec?
16:21:19 <tusho> there's only one implementation that I know of, though
16:21:19 <AnMaster> tusho, and there is always ADA
16:21:40 <tusho> AnMaster: oh, and we don't actually use the official ruby interp
16:21:52 <tusho> we use a fork of it which has a copy-on-write garbage collector and uses quite a bit less memory
16:21:58 <tusho> and is faster at serving web apps
16:22:07 <tusho> the only bad bit about it is its awful awful name
16:22:10 <tusho> 'Ruby Enterprise Edition', I mean wtf
16:22:45 <tusho> which makes the name even more ridiculous
16:23:14 <tusho> it's from the same company that makes Passenger
16:23:17 <AnMaster> tusho, why is this not in official ruby?
16:23:31 <tusho> AnMaster: i'm not exactly sure _why_ they forked and didn't try and integrate
16:23:41 <tusho> but, that's how it is
16:23:55 <tusho> AnMaster: it's that apache module I talked about
16:24:11 <tusho> it also supports python's WSGI
16:24:16 <tusho> but that's just a proof of concept kinda thing
16:24:20 <tusho> and there's already mod_wsgi for that :-P
16:24:40 <tusho> (wsgi=webserver gateway interface, basically a standard for python webframeworks to use so that they can plug into any web server)
16:25:07 <AnMaster> tusho, anyway lyx's own format sometimes breaks with updates, while LaTeX won't for years and years to come
16:25:15 <AnMaster> so that is another good reason to export it to latex
16:25:40 <tusho> anyway, maybe once we've devised the format you might change your mind, it'll look just like LyX, probably :-P
16:25:46 <tusho> either way we'll provide hosting
16:26:06 <AnMaster> tusho, however I may not be a real man, if you define that as masochism
16:26:26 <tusho> AnMaster: do you code in any language other than single bits of machine code?
16:26:51 <tusho> AnMaster: REAL MAN STATUS: REVOKED
16:27:21 -!- sebbu2 has joined.
16:27:24 <tusho> AnMaster: you wouldn't know a joke if it hit you in the face until you died a bloody death after it whips away all your skin
16:27:51 <tusho> AnMaster: and I intentionally left mine off
16:28:09 -!- jix has joined.
16:28:34 <AnMaster> tusho, well maybe you reached the level of $\approxeq$ then?
16:28:55 <tusho> AnMaster: oh, and we have decided never to let PHP or MySQL hit the server
16:29:00 <tusho> I mean, one because ... no, just no
16:29:06 <tusho> and two because it doesn't support Apache's worker version
16:29:08 <tusho> you have to use prefork
16:29:12 <tusho> the last time we used prefork?
16:29:15 <tusho> we got like 16MB left
16:29:20 <tusho> AnMaster: yeah, we'll have postgre
16:30:01 <tusho> AnMaster: yes, but we use Passenger and also a variety of crazy setups so it's not really an option
16:30:08 <tusho> (e.g. no /var/www)
16:30:25 <tusho> Arc Enterprise Edition
16:30:49 <AnMaster> tusho, you want a good front page too
16:31:05 <AnMaster> tusho, something looking like IETF one
16:31:24 <tusho> AnMaster: IETF's looks like it's from 1996
16:31:30 <tusho> but yes, we'll have a nice main page
16:31:44 <tusho> right now, eso-std.org just gives you a directory listing with this: http://eso-std.org/infinite-nah.html (requires JS)
16:32:00 <tusho> though http://code.eso-std.org/ has C-INTERCAL
16:32:09 -!- RedDak has joined.
16:33:26 -!- Slereah- has joined.
16:33:27 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
16:36:53 -!- Slereah_ has joined.
16:39:59 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
16:41:28 -!- sebbu has quit (Connection timed out).
16:48:08 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
16:52:42 -!- Polar has quit (clarke.freenode.net irc.freenode.net).
16:54:26 -!- sebbu2 has changed nick to sebbu.
16:58:35 <AnMaster> tusho, will you host svn and bzr too?
16:59:03 <tusho> AnMaster: mercurial, yes
16:59:13 <tusho> bzr, yes, but I'll complain quietly :p
16:59:23 <tusho> svn ... only if absolutely, definitely, completely required
16:59:46 -!- Polar has joined.
17:00:36 -!- Polar has quit (Connection reset by peer).
17:02:05 <tusho> AnMaster: OVER MY DEAD BODY
17:02:31 <tusho> AnMaster: if an implementation of rcs in arc is provided, yes!
17:02:49 <tusho> AnMaster: it'd have to be in arc-php
17:03:00 <AnMaster> tusho, but you don't do php you said?
17:03:03 <tusho> and be controlled entirely with your mind and ajax
17:03:24 <AnMaster> tusho, so that only leaves git
17:03:45 <tusho> monotone is kinda neat
17:03:50 <tusho> tla is weiiiiiiiiird, but in a kind of cute way
17:03:53 -!- Polar has joined.
17:04:11 <tusho> AnMaster: yes, but without the craziness
17:04:26 <tusho> arch2 is fun because it is even crazier
17:04:35 <tusho> AnMaster: no bitkeeper though ;)
17:04:41 <tusho> it has filenames like {arch}/+foo
17:04:52 <tusho> and weird concepts of branches and trees and stuff
17:04:56 <tusho> that i never could really grasp
17:05:05 <tusho> steep learning curve, and I doubt it's any more useful than other VCS'
17:05:09 <tusho> but its fun for its craziness
17:05:24 <AnMaster> tusho, anyway bzr is happy with any http server, even if there is no directory listing, it only requires that 404 works correctly and doesn't do something crazy as redirecting
17:05:35 -!- Hiato has quit ("Leaving.").
17:05:59 <tusho> no pushing over http, though
17:06:01 <tusho> we'll never do that
17:06:21 <AnMaster> bzr can do smart server (bzr+ssh) or even plain sftp
17:06:30 <AnMaster> that doesn't need any server side support
17:07:35 <AnMaster> tusho, anyway does git need special server side support?
17:08:12 <tusho> AnMaster: no, you need git on the server though
17:08:16 <tusho> same for just about any vcs, really
17:08:18 <tusho> (most of them at least)
17:08:28 <AnMaster> well bzr can handle without that
17:08:46 <tusho> that's liket he least important thing ever
17:09:28 <AnMaster> tusho, anyway I host the funge108 spec in a bzr repo locally, could I get an account and push it to eso-std? XD
17:09:53 <tusho> never sudoers though
17:09:54 <AnMaster> for bzr repo browser I recommend logger head
17:10:02 <tusho> and we don't have browsers up right now
17:10:08 <tusho> me and ais are sudoers
17:10:33 <tusho> AnMaster: we are probably waiting until we find a browser that does multiple vcs' in one
17:10:35 <tusho> for consistency in the ui
17:10:48 <tusho> if there isn't, we'll write one
17:11:03 <AnMaster> tusho, you will write bzr support?
17:11:21 <tusho> i could shell out :-P
17:11:27 <tusho> I think there's a ruby-python bridge
17:12:38 <AnMaster> loggerhead runs as fcgi done the right way btw
17:13:20 <tusho> if I write it it'll predictably be in ruby+passenger
17:13:38 <tusho> and probably sinatra for the framework - http://sinatrarb.com/ - it's nice and minimal
17:13:51 * tusho stabs AnMaster repeatedly
17:14:13 <tusho> AnMaster: i'd tell you but i'm lazy :D
17:14:23 <AnMaster> well you got no reason to hate it then?
17:14:40 <tusho> I'm just too lazy to share all the reasons right now
17:15:07 -!- Corun has quit ("This computer has gone to sleep").
17:15:16 <AnMaster> yes it isn't the best bug tracker out there or the best wiki
17:15:31 <tusho> AnMaster: Buy me tusho.org and I'll post an article on it. :-P
17:18:34 <tusho> AnMaster: WELL THEN
17:27:28 <tusho> and CVSTrac certainly does
17:27:31 <tusho> (trac's inspiration)
17:27:33 <tusho> (made by sqlite author)
17:38:19 <Deewiant> it doesn't even implement all of SQL92 though :-/
17:39:05 <tusho> Deewiant: whatever
17:39:29 <Deewiant> http://www.sqlite.org/omitted.html for anybody who's a bit more interested
17:39:36 <tusho> Deewiant: yes, and?
17:40:03 <Deewiant> and? I find myself missing said omissions
17:40:16 <Deewiant> beyond that there is no "and".
17:50:01 -!- tusho_ has joined.
17:58:05 -!- tusho has quit (Read error: 110 (Connection timed out)).
18:32:39 -!- jix has quit ("This computer has gone to sleep").
18:39:06 -!- Slereah_ has joined.
18:40:33 <Slereah_> AnMaster gentlemen, are you thar?
18:41:12 <AnMaster> leaving for norway tomorrow morning
18:43:25 <AnMaster> seeing the Fram Museum, Viking ship museum, and so on
18:45:03 <Slereah_> "Fram ("Forward") is a ship that was used in expeditions in the Arctic and Antarctic regions"
18:47:11 <Slereah_> Since I can't use any partition editing on my hard drive, the "chose your partition" part of the Linux install gets awkward.
18:47:59 <Slereah_> Is a segfault or whatever that is a physical flaw?
18:48:44 <pikhq> Can't use any partition editing on your hard drive?!?
18:49:10 <pikhq> What, are those blocks read-only or something?
18:49:14 <AnMaster> pikhq, he got some weird issue with his partition table that crash all partition editor
18:49:27 <oklopol> AnMaster: i think you somewhat confused me with Slereah_ there, but err, have a nice trippie.
18:49:36 <Slereah_> I tried Gparted, the partition list never loads.
18:49:50 <pikhq> Well, then, wipe the partition table.
18:49:50 <Slereah_> I tried Partition Magic, and the reboot gives me an error.
18:50:11 <AnMaster> Slereah_, gparted can take up to 10 minutes to load
18:50:14 <Slereah_> And will it wipe out what's on it.
18:50:36 <Slereah_> I got it to work before, so I knew what to expect.
18:50:39 <AnMaster> <AnMaster> oklopol, going to oslo
18:50:43 <AnMaster> oklopol, that was what I meant
18:50:44 <Slereah_> Although I could give it another try.
18:51:14 <oklopol> AnMaster: well i just thought it was a rather weird response to my o
18:51:49 <pikhq> Slereah_: To wipe the partition table, dd if=/dev/zero of=/dev/hard_drive_here count=1
18:52:03 <Slereah_> It is 17H51, and I am launching the "How do you want to partition the disk?" part of the Linux install.
18:52:11 <pikhq> And it won't necessarily wipe what's on it, it'll just make it *insanely* hard to access it. . .
18:52:15 <Slereah_> Let's see if something happens!
18:52:28 <Slereah_> Well then I'd better save what's left on it
18:52:32 <AnMaster> oklopol, I thought the o was a rather weird response to my "leaving for norway tomorrow morning"
18:52:53 <AnMaster> Slereah_, that will wipe everything on the disk
18:52:58 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
18:53:02 <pikhq> Unless you know *exactly* what the partition table looks like (meaning: exactly how many blocks each partition is, and at which block those partitions start)
18:53:03 <oklopol> o is never a weird response
18:53:08 <AnMaster> if you plan to install windows do it first
18:53:15 <pikhq> AnMaster: The count=1 makes it only wipe the first block of the hard disk.
18:53:22 <pikhq> Which is the boot sector and the partition table.
18:53:28 <AnMaster> pikhq, yeah but do you know the details of it?
18:53:38 <Slereah_> What I actually really want to do is to save the rest of what remains on the disk (the Linux part that was admin only from yesterday)
18:53:56 <Slereah_> There's a million partition on it and it's falling apart
18:54:01 <AnMaster> Slereah_, if you plan to install windows too, install it first!
18:54:06 <pikhq> Well, then, take backups and nuke the partition table.
18:54:25 <pikhq> And AnMaster is right about that.
18:54:37 <pikhq> Windows is a bitch about installing alongside a working OS install.
18:54:43 <Slereah_> Well, for the backup, I must first access the Linux partition with admin priviledges :o
18:54:59 <pikhq> Linux is like "Oh, you've got Windows there. Care if I resize the partition to make some room?"
18:55:44 <AnMaster> gentoo is more like: well I expect you know what you are doing
18:55:54 <pikhq> AnMaster: Most distros are automated.
18:56:04 <pikhq> Gentoo, though, definitely assumes you know what you're doing.
18:56:15 <pikhq> The same applies for Slackware.
18:56:19 <fizzie> While FreeBSD is like http://isometric.sixsided.org/_/the_power_of_freebsd/
18:56:49 <Slereah_> Why don't you and freebsd geta room!
18:56:51 <pikhq> Never really seriously used any of the BSDs.
18:57:00 <AnMaster> <fizzie> While FreeBSD is like http://isometric.sixsided.org/_/the_power_of_freebsd/ <-- eh? don't get it
18:57:06 <AnMaster> freebsd even got a ncurses installer
18:57:17 <AnMaster> both assumes you know what you are doing however
18:57:34 <AnMaster> pikhq, and then what does LFS assume?
18:57:37 <pikhq> Except for using OS X as what amounts to a Darwin box with an insanely complex terminal display library.
18:58:32 <pikhq> That you a) know what you're doing b) *really* know what you're doing c) don't care about the potential for turning into an evil genius.
18:58:35 <fizzie> I had an OpenBSD router for a couple of years, back when Linux didn't have working IPv6 source-based routing. Can't remember the installer at all, though; the machine in question had only a serial terminal, so I'm guessing it must've been text-oriented.
18:58:38 <pikhq> And, yes, Cocoa is that library.
18:58:50 <AnMaster> pikhq, I have done hardened lfs a few times btw
18:59:04 <pikhq> I've only done normal LFS a few time.
18:59:23 * pikhq needs to get back on it, and try to make one insanely tiny Linux distro.
18:59:28 <AnMaster> fizzie, it is just a lot of questions
18:59:46 <AnMaster> Do you want to blah blah [Yn]?
19:00:18 <AnMaster> fizzie, oh and checkboxes for package sets
19:00:58 <AnMaster> because 2.6 or even 2.4 is too large
19:01:11 <pikhq> Are you familiar with the linux-tiny tree?
19:02:06 <pikhq> It's a set of patches to the 2.6 kernel which allow one to make 2.6 really, really small. . .
19:02:17 -!- oklopol has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )").
19:02:19 <AnMaster> what do the patches remove then?
19:03:12 <pikhq> Let's see here. . .
19:03:18 <pikhq> They allow you to remove sysfs. . .
19:03:49 <pikhq> They allow you to remove all printk calls (thereby getting rid of all the various error messages in the kernel). . .
19:04:26 <tusho_> <pikhq> Except for using OS X as what amounts to a Darwin box with an insanely complex terminal display library.
19:04:35 <pikhq> They get rid of /proc, should you wish. . .
19:04:50 <AnMaster> pikhq, that will break stuff like strace
19:05:16 <pikhq> No more than using Linux 2.2.
19:05:28 <pikhq> Busybox can handle it, BTW.
19:05:30 <tusho_> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGGGGGGGGGGGGG
19:05:40 <AnMaster> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGGGGGGGGGGGGGGGGGGGGGGGGGGGGg
19:06:06 <pikhq> Getting rid of sysfs breaks a lot of things, too. . .
19:06:33 <pikhq> You can't say root=/dev/hda1, because sysfs is what allows the kernel to map that without /dev/ up and running.
19:06:52 <AnMaster> pikhq, so what do you say then?
19:06:59 <pikhq> For /dev/hda1? 0x0301.
19:07:40 <pikhq> (major and minor of the device node in question)
19:07:52 <fizzie> Major and minor device numbers there. So 'ls -l' in a working /dev will tell you.
19:09:34 -!- tusho_ has changed nick to tusho.
19:10:43 <AnMaster> tusho, can you /msg email for ais?
19:14:36 <pikhq> The various linux-tiny patches are currently being updated so that they can be stuck into the mainline kernel.
19:16:04 <pikhq> People using these patches have gotten the kernel down to... 197K.
19:19:22 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
19:20:30 -!- bsmntbombdood has joined.
19:20:38 <pikhq> I'm definitely going to have to play around with this.
19:21:05 <pikhq> Hmm. How much space would you say uclibc+busybox would take?
19:24:10 * pikhq wants to see the OS be able to run in situations that DOS would find a bit confining. :p
19:24:39 <tusho> pikhq: I wonder how small you could get Plan 9.
19:24:45 <tusho> With rio and acme, of course.
19:24:53 <tusho> Plan 9's GUI is one of the nicest things about it.
19:25:09 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
19:26:36 -!- Slereah_ has joined.
19:37:08 -!- GregorR has quit (Read error: 110 (Connection timed out)).
19:40:26 -!- oerjan has joined.
19:42:03 * pikhq is also curious if uclinux would be even smaller
19:42:28 * pikhq will be pleased if he can get a Unix up and running on an 8086.
19:43:51 <tusho> pikhq: busybox is kinda big
19:43:55 <tusho> reimplement the stuff yourself!
19:44:17 <pikhq> If I reimplement stuff myself, then I'll end up with something that's not UNIX.
19:44:29 <pikhq> "I call it... UNIX++"
19:45:42 <tusho> pikhq: Well, okay then
19:45:46 <tusho> tiny-linux + busybox
19:45:51 <tusho> There's more minimal, I think
19:45:59 -!- GregorR has joined.
19:46:09 <tusho> How big is dietlibc?
19:46:15 <tusho> I think really small.
19:47:02 <tusho> AnMaster: That's not linux-tiny.
19:47:31 <AnMaster> tusho, also what about newlib?
19:47:41 <tusho> AnMaster: It also can't run anything made in the past ever.
19:47:43 <pikhq> It also won't run on most systems.
19:47:56 <pikhq> Among other things, Linux 0.1 has a hard-coded keyboard map. . .
19:47:57 <tusho> Pretty sure dietlibc is the smallest.
19:48:02 <pikhq> A Swedish keyboard map.
19:48:12 <pikhq> And it doesn't do this newfangled 'IDE' thing, either.
19:48:13 <AnMaster> pikhq, oh? that's very useful :)
19:48:41 <tusho> pikhq: Say, you should make the focus of your kernel the smallest POSIX system evar.
19:49:14 <tusho> AnMaster: No, he'd have to reimplement just about everything.
19:49:41 <AnMaster> I'm pretty sure it's shell isn't fully posix compatible
19:49:56 <pikhq> Well, if I try to make the smallest POSIX system ever, I'm going to have 'fun' in 8086 assembly.
19:51:02 <tusho> pikhq: Sounds good!
19:51:12 <tusho> Don't tell AnMaster though.
19:51:17 <tusho> He'll want you to make the smallest POSIX system ever PORTABLE.
19:51:47 <AnMaster> an OS can't be portable on that level
19:51:57 <tusho> AnMaster: He'll have to do just about all of it in assembly.
19:52:34 <Slereah_> Well, the linux partition is back on /mnt/linux/
19:52:41 <AnMaster> pikhq, what calling convention would be the smallest? I bet passing stuff in registers would be best
19:54:10 <pikhq> Passing stuff in registers is the standard convention on x86.
19:54:54 -!- RedDak has joined.
19:55:00 <pikhq> (the 8086 instruction set makes passing stuff in registers the easiest thing to do)
19:55:43 <AnMaster> pikhq, I'm pretty sure linux pass stuff on the stack
19:55:49 <pikhq> Sorry, I was thinking of x86_64. XD
19:55:58 <AnMaster> pikhq, and yes I know it is for x86_64
19:56:45 <pikhq> Well, at this point, it almost makes me want to say 'fuck POSIX' and just make a ridiculously small OS.
19:56:59 <pikhq> With multitasking, of course.
19:57:24 <pikhq> If I bother to port uIP.
19:57:36 <pikhq> (uIP: a TCP/IP stack in 8k or less)
19:58:01 <pikhq> IPv6? Fuck no. That's kinda hard to do with the 'ridiculously small' portion.
19:58:20 <AnMaster> pikhq, another idea: would memory footprint have to be as small?
19:58:36 <AnMaster> otherwise if it is just disk space... compressing + a loader for that
19:58:57 <pikhq> Memory footprint would have to be damned small, too.
19:58:57 <tusho> pikhq: But the POSIX is the fun.
19:59:18 <pikhq> Not necessarily the same as on-disk, but dammit, if it can't run on an 8086, I'm not happy. :p
19:59:24 <pikhq> (kidding. I think.)
20:00:00 <AnMaster> tusho, is X11 required for POSIX really!?
20:00:12 <pikhq> Hrm. Getting it to run on an 8086 means that the idea of a driver layer is not strictly required.
20:00:26 <pikhq> BIOS calls are actually useful from 16-bit code, after all.
20:01:17 <AnMaster> heck you can do that from 32-bit mode too
20:01:26 <pikhq> Nowhere near as easily.
20:02:41 <AnMaster> Poppler is worse than sendmail when it comes to security bugs...
20:02:53 <AnMaster> it is the pdf library used on linux most time
20:03:39 -!- Hiato has joined.
20:07:23 <pikhq> Good lord. Now, I'm imagining an OS which actually takes advantage of the x86's segmented architecture.
20:08:22 <AnMaster> pikhq, how would it take advantage of it?
20:09:35 <tusho> pikhq: As long as it runs x11!
20:10:00 <pikhq> Each process has 1 or more segments. The kernel stores each process's program counter every time the kernel is entered. . . To task switch, it just jumps into that segment. . .
20:10:19 <tusho> pikhq: As long as it runs x11!
20:11:44 <pikhq> Also, by doing so, it actually gets protected memory from the 286.
20:12:51 <pikhq> And I don't have to worry about malloc.
20:13:39 <pikhq> And, yes, this is ridiculously simple.
20:18:10 <pikhq> tusho: Not unless you want to write the X11 driver.
20:18:16 <tusho> pikhq: Shut up. :p
20:36:50 -!- Hiato has quit ("Leaving.").
20:39:52 -!- Hiato has joined.
20:40:57 <Hiato> Who here is using XChat and is willing to answer a quick question?
20:42:48 -!- Hiato1 has joined.
20:42:50 <Hiato> Heh, why thank you Slereah_
20:43:12 <Hiato> Naah, no worries :)
20:43:54 <Hiato> tusho: how do you set it to automatically go /msg what what password for Freenode?
20:44:12 <tusho> Hiato: check the server settings
20:44:14 <tusho> it's Server password
20:45:51 <Hiato> err... right, I can't seem to find the said setting (pardon my ignorance)
20:46:32 <tusho> Hiato: go into the connection list
20:46:38 <tusho> and fill in the password field
20:47:14 -!- Hiato1 has quit (Client Quit).
20:47:26 -!- Hiato has quit ("Hello, I must be going").
20:47:40 -!- Hiato has joined.
20:49:13 -!- Hiato has quit (Client Quit).
20:49:28 -!- Hiato has joined.
21:00:42 -!- poiuy_qwert has joined.
21:01:27 -!- pikhq has left (?).
21:15:20 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
21:15:34 <Slereah_> Well, I got my stuff out of the Linux partition.
21:15:51 <Slereah_> Now, all there is is to squeeze out the last files from the broken HD.
21:16:11 <Slereah_> Fuck you hard drive, you're going to hell.
21:17:05 <Slereah_> Against all laws of physics, not a single piece of information will remain.
21:17:35 <Slereah_> If the hard drive emitted EM waves during its life, they will disappear, just like that!
21:23:43 <AnMaster> going to norway for 2 days cya
21:24:28 <Slereah_> And remember : Get Inspector Gadget
21:24:56 -!- AnMaster has quit ("going to norway for 2 days").
21:29:50 <oerjan> inspector gadget is in norway?
21:29:59 <tusho> oerjan: anywhere but sweden, apparently
21:30:12 <Slereah_> But Anmaster never saw Inspector Gadget
21:30:13 * oerjan sidles to his underground shelter, just in case
21:30:19 <Slereah_> He doesn't even know what it is D:
21:32:00 * oerjan doesn't know what that is
21:32:21 <Slereah_> Come on, David Motherfucking Hasselhoff!
21:32:46 <Slereah_> You... you do know what Inspector Gadget is, at least, yes?
21:33:01 <oerjan> Mind you, i don't actually watch TV other than when visiting family
21:33:16 <Slereah_> What, not even in the last 20 years?
21:33:27 <oerjan> so, since i have small cousins, i do barely know Inspector Gadget
21:33:45 <Slereah_> It's not like it's a recent thing or anything
21:35:38 <Slereah_> On the matter of the getting-my-last-files-out, I'm still on the letter A.
21:35:45 <Slereah_> I'm in for the whole night it seems
21:37:42 <tusho> Slereah_: doodaloodaloo inspector gadget
21:38:07 <Slereah_> tusho: The French theme song is way awesomer
21:38:47 <oerjan> it is possible knight rider was big in norway - there appears to be no norw. wikipedia entry on it
21:41:37 <oerjan> http://www.theyfightcrime.org/
21:42:33 <Slereah_> "He's an otherworldly ninja senator from the 'hood. She's a sarcastic snooty bounty hunter from a family of eight older brothers. They fight crime!"
21:42:40 <Slereah_> I would vote for a ninja senator.
21:43:24 <tusho> He's a one-legged bohemian master criminal with nothing left to lose. She's a hard-bitten psychic schoolgirl who dreams of becoming Elvis. They fight crime!
21:44:39 * oerjan was going to link to the corresponding tv-tropes trope he recalled, but thinks this may be better
21:46:05 <oerjan> ah there i found it too: http://tvtropes.org/pmwiki/pmwiki.php/Main/TheyFightCrime
21:46:43 <oerjan> (usual warnings about tvtropes addictivity apply)
21:47:02 <Slereah_> "He's a giant robot made out of robotic lions!"
21:47:50 <tusho> He's a lonely arachnophobic senator in a wheelchair. She's a time-travelling green-skinned detective from the wrong side of the tracks. They fight crime!
21:57:34 <Slereah_> "''I Was Kidnapped By Lesbian Pirates From Outer Space'' is a complicated post-feminist statement with shifting grounds of metaphor and symbolism, aiming to deconstruct both the uber-manly hero and the Amazon Brigade. Also, there are lesbian pirates. In outer space. Sometimes they kidnap people."
21:59:25 <oerjan> how much nuns could .. erm ..
22:03:09 -!- sebbu2 has joined.
22:07:21 <Slereah_> "He's a suicidal drug-addicted vagrant on the hunt for the last specimen of a great and near-mythical creature. She's a tortured cat-loving nun with a flame-thrower. They fight crime!"
22:07:29 <Slereah_> A nun would FIGHT CRIME, oerjan
22:09:26 <oerjan> but of course. there was an example on the tvtropes page.
22:13:15 -!- Hiato has quit ("Leaving.").
22:13:41 -!- pikhq has joined.
22:19:37 -!- sebbu has quit (Connection timed out).
22:24:54 <Slereah_> A man proposed me the following command to nuke fucking everything : dd if=/dev/zero of=/dev/...
22:32:31 -!- oerjan has quit ("Nuking fucking everything is never wise").
22:35:22 <tusho> Are you sure it's all copied
22:35:46 <Slereah_> As much as I'm going to get out of this.
22:36:38 <tusho> Slereah_: OK. First make sure you have the right /dev/ entry for the HD.
22:36:45 <tusho> then $ sudo dd if=/dev/zero of=/dev/THEHD
22:36:57 <tusho> don't you want to keep it?
22:37:01 <tusho> Maybe you can leech more some other day
22:37:35 <Slereah_> I leeched everything from /home
22:37:53 <Slereah_> Which is pretty much all I want out of it
22:38:30 -!- jix has joined.
22:42:01 <Slereah_> With the five partitions, sda1 through 5.
22:42:39 <Slereah_> Do I just use sda as the HD name?
22:46:50 <tusho> Slereah_: Yes. That's right.
22:47:08 <Slereah_> Well, I'll see you as soon as I reinstall XP.
22:47:17 <tusho> you have to wipe it first
22:47:32 <tusho> Slereah_: OK. But keep us updated on the wipe
22:47:40 <tusho> Why not just install jewnix.
22:47:53 <Slereah_> Because it is fucking terrible
22:48:07 <tusho> Slereah_: No it's... not?
22:48:20 <tusho> Slereah_: It DID just save all your data.
22:48:50 <Slereah_> Yeah, and I had to ask every step of the way
22:49:09 <tusho> Slereah_: But with US you have POWER!
22:49:14 <tusho> Which lunix are you using anyway
22:49:34 <tusho> Slereah_: Ubuntu's a bit more, uhh, retarded.
22:49:42 <Slereah_> What will I get once it's done? Five empty partition?
22:49:50 <tusho> Slereah_: Who knows?!
22:50:07 <tusho> Nope. I just know that that'll trash it.
22:51:30 <tusho> Slereah_: Anyway, if you don't install Ubuntu at the end of all of this, I'll eat you. For breakfast.
22:51:35 <tusho> It shall be painful.
22:52:03 <Slereah_> tusho: I get a new computer in roughly one month.
22:52:23 <Slereah_> I'm not getting involved in all that with that shit
22:52:30 <tusho> Slereah_: And you shall never boot into its windows, ever? First thing being putting an Ubuntu CD in? IF SO, THEN I SALUTE YOU
22:52:32 <tusho> IN A SALUTATIONAL WAY
22:52:57 <Slereah_> The new computer will be DUAL BOOTIES
22:53:07 -!- jix has quit ("CommandQ").
22:53:30 <tusho> Slereah_: Who will get a larger penis^H^H^H^H^Hpartition?
22:54:07 <Slereah_> It's only fair, since it will be the one to use it
22:54:17 <Slereah_> You know, with games that don't run at all on Linux.
22:55:07 <tusho> VMWare is not a name
22:55:15 <tusho> http://www.vmware.com/
22:56:51 <tusho> Slereah_: It lets you run windows in linux. And it's not like WINE, because it actually emulates a computer. (But it's not slow.)
22:56:55 <tusho> So it works perfectly. Always.
22:57:13 <Slereah_> I don't trust "It always works perfectly"
22:57:15 <tusho> The most recent games probably won't run on it because of graphicscardy stuff but you can always boot into windows for those.
22:57:19 <tusho> Slereah_: It actually emulates a whole CPU.
22:57:22 <tusho> And all the hardware.
22:57:24 <Slereah_> I also heard "You never have to reboot Linux"
22:57:28 <tusho> There's not much place for it to go wrong.
22:57:47 <tusho> You only have to reboot linux for kernel upgrades. But it's a lot more fuss if you don't.
22:57:49 <Slereah_> I will find a way to make it go wrong.
22:58:06 <tusho> Slereah_: no, I don't think you understand
22:58:16 <tusho> it actually builds, in software, a mini-computer
22:58:18 <tusho> then installs windows on it
22:59:04 <tusho> Slereah_: However.
22:59:06 <tusho> If you do make it go wrong.
22:59:11 <tusho> They'd love to know about it - their whole business depends on it.
22:59:12 <Slereah_> Wouldn't it be less efficient than using the actual computer
22:59:17 <tusho> And indeed loads of corporations use VMWare a lot.
22:59:37 <tusho> Slereah_: Yes. But most stuff should work on it, just not the most recent intensive games.
22:59:42 <tusho> So, yes, you still need a dualboot.
22:59:49 <tusho> But windows can have a smaller pen- partition
23:00:21 <Slereah_> What would I do with a giant partition for Linux?
23:01:12 <tusho> Slereah_: What you would do with the giant partition for Windows!
23:02:10 <Slereah_> Also by the way, what would you recommand as a distro
23:02:48 <tusho> It's like Kubuntu, but easier.
23:05:05 <Slereah_> ubuntu@ubuntu:~$ sudo dd if=/dev/zero of=/dev/sda
23:05:05 <Slereah_> dd: writing to `/dev/sda': Input/output error
23:05:05 <Slereah_> 17705390080 bytes (18 GB) copied, 1014.53 seconds, 17.5 MB/s
23:05:33 <tusho> Slereah_: How big is the harddrive?
23:06:04 <tusho> Why are you wiping it, again?
23:06:37 <tusho> Slereah_: OK. Well. Odd.
23:06:41 <tusho> I don't know why that would happen.
23:08:33 <tusho> Slereah_: Godspeed.
23:08:45 <Slereah_> A thousand second isn't very speedy.
23:10:03 <tusho> Just make it go again
23:10:30 <Slereah_> If that fails too, I'll just try the tools on the XP CD to wipe it out.
23:10:38 <Slereah_> If that fails... Well, I dunno.
23:11:01 <poiuy_qwert> does anyone have an irc bot written in an esoteric programming language?
23:11:26 <tusho> sgeo has a brainfuck+psox one
23:11:31 <tusho> (Oblig.: PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX PSOX)
23:13:30 -!- immibis has joined.
23:14:36 <pikhq> I'm thinking of an 8086 exokernel.
23:15:00 <pikhq> tusho: What part of '8086 exokernel' says POSIX to you?
23:15:08 <tusho> The part saying 'AWESOME'
23:21:28 <Slereah_> Hm. Could I wipe out a hard drive with an electric toothbrush?
23:27:10 <Slereah_> ubuntu@ubuntu:~$ sudo dd if=/dev/zero of=/dev/sda
23:27:10 <Slereah_> dd: writing to `/dev/sda': Input/output error
23:27:10 <Slereah_> 17705390080 bytes (18 GB) copied, 998.844 seconds, 17.7 MB/s
23:27:23 <tusho> Slereah_: There's something bad about those 18 GB!
23:30:36 <pikhq> No, seriously, your hard drive is probably in the midst of failure.
23:47:30 -!- puzzlet has joined.
23:48:05 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
23:57:34 -!- puzzlet__ has joined.
23:58:21 -!- puzzlet has quit (Remote closed the connection).
00:00:28 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
00:01:06 -!- timotiis has quit (Read error: 110 (Connection timed out)).
00:05:09 -!- Corun has joined.
00:24:36 -!- immibis has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. and email ths to).
01:01:11 -!- tusho has quit.
01:13:04 -!- oklopol has joined.
01:13:05 <RodgerTheGreat> 10 points to anybody who can guess what this fractal is: http://www.nonlogic.org/dump/images/1215562214-fractal.png
01:15:10 <lament> i can tell how it's generated
01:15:23 <lament> i don't know what you mean by "is" otherwise
01:17:08 <pikhq> Looks vaguely like the Sierpinski Triangle.
01:17:40 <RodgerTheGreat> pikhq: yeah, the structure this represents has some similarities to the sierpinski carpet
01:18:23 <lament> (split a square into 9 sections, then continue iteratively; omit the bottom left subsquare of the main square, and in each child, omit all those squares omitted in the parents, plus the subsquare that's related spatially to the child the same way that the child is related to its parent. Alternate red and blue for division lines)
01:18:45 <lament> not a true fractal since you stop very quickly
01:19:01 <RodgerTheGreat> that's mostly accurate, but you're missing what this represents. It's a meaningful system.
01:19:29 <lament> it could represent a bunch of things...
01:19:41 <lament> tic-tac-toe game trees?
01:20:05 -!- poiuy_qwert has quit (Read error: 110 (Connection timed out)).
01:20:32 <RodgerTheGreat> here's my source, if anyone's curious: http://www.nonlogic.org/dump/text/1215562712.html
01:21:01 <lament> shame on me for not noticing right away, and shame on you for not starting one iteration above
01:22:58 -!- puzzlet has joined.
01:23:00 <lament> sure, now do the same for chess
01:24:06 <RodgerTheGreat> lament: buy me more ram and a couple of crays and I'll get right on it
01:24:28 <lament> you only need to handle as much of the game tree as the output resolution allows
01:24:32 <RodgerTheGreat> and by "more ram" I mean "enough ram to enumerate 2^54 (or whatever) states"
01:24:51 <lament> people draw mandelbrots despite them being infinite, after all
01:24:59 <lament> (s/infinite/actually fractal)
01:25:05 <RodgerTheGreat> I imagine both chess and go would look pretty boring within visible range, though
01:25:16 <lament> but if you can zoom in and out
01:25:23 <lament> like in a fractal viewer
01:25:35 <lament> ...and "bookmark" specific places
01:25:48 <lament> corresponding to specific go or chess games...
01:26:05 <lament> (nah, it'd still be pretty boring)
01:26:10 <RodgerTheGreat> this looks like a job for something vaguely resembling seadragon
01:27:16 <lament> i have worked on some seadragon stuff actually
01:28:12 <RodgerTheGreat> a lot of it is just eye-candy, but it's well-executed eye candy
01:29:16 <lament> have you seen deep zoom composer?
01:30:06 <lament> (seadragon is now called deep zoom)
01:34:28 <lament> microsoft sucks and will screw everything up
01:34:52 -!- puzzlet__ has quit (Read error: 110 (Connection timed out)).
01:52:37 -!- augur has joined.
01:54:28 <RodgerTheGreat> augur: a cool visualization of Tic-Tac-Toe: http://www.nonlogic.org/dump/images/1215562214-fractal.png
02:32:06 -!- augur has quit (Read error: 110 (Connection timed out)).
03:09:35 -!- puzzlet_ has joined.
03:18:59 -!- Corun has quit ("This computer has gone to sleep").
03:22:16 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
05:15:03 -!- cherez has quit ("Leaving.").
05:15:14 -!- cherez has joined.
05:22:10 -!- pikhq has quit ("leaving").
07:15:51 -!- Polar has quit (clarke.freenode.net irc.freenode.net).
07:16:49 -!- Polar has joined.
07:17:37 -!- Polar| has joined.
07:18:28 -!- Polar has quit (Connection reset by peer).
07:56:55 -!- nokmar has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:52:21 -!- Hiato has joined.
09:17:00 -!- Hiato has quit ("Leaving.").
09:30:34 -!- Slereah_ has joined.
09:30:51 <Slereah_> I tried to reinstall Windows XP.
09:31:00 <Slereah_> Then my DVD player fucking ATE THE CD
09:46:26 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
09:48:50 -!- Polar| has quit (clarke.freenode.net irc.freenode.net).
09:53:23 -!- Polar| has joined.
09:54:34 -!- Polar| has quit (No route to host).
09:54:59 -!- Polar has joined.
09:55:49 -!- nokmar has quit ("insert quit message here").
09:56:38 -!- Slereah_ has joined.
09:58:16 -!- GregorR has quit (Read error: 110 (Connection timed out)).
10:01:47 -!- Polar has quit (clarke.freenode.net irc.freenode.net).
10:07:30 <Slereah_> http://membres.lycos.fr/bewulf/Divers4/Om%20nom%20nom.jpg
10:07:31 <Slereah_> http://membres.lycos.fr/bewulf/Divers4/Om%20nom%20nom%20XP.jpg
10:15:54 -!- Polar has joined.
10:17:29 -!- Polar has quit (Network is unreachable).
10:19:52 -!- Polar has joined.
11:19:02 -!- Slereah__ has joined.
11:19:02 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
11:52:10 -!- puzzlet_ has quit (Remote closed the connection).
11:52:22 -!- puzzlet has joined.
11:56:59 -!- Slereah_ has joined.
11:56:59 -!- Slereah__ has quit (Read error: 104 (Connection reset by peer)).
12:03:07 -!- Corun has joined.
12:14:37 -!- augur has joined.
12:24:22 -!- Hiato has joined.
12:40:08 -!- timotiis has joined.
12:49:07 -!- sebbu has joined.
12:59:41 -!- sebbu2 has quit (No route to host).
13:07:53 -!- Hiato has quit ("Leaving.").
13:11:55 -!- Sgeo has joined.
13:12:52 -!- Corun has quit ("This computer has gone to sleep").
13:20:03 <oklopol> how is that tic tac toe visualization done actually?
13:20:18 <oklopol> what do the colors represent exactly?
13:20:38 <oklopol> how come every bottom-left one is black?
13:20:43 <oklopol> shouldn't it be symmetric?
13:21:20 <RodgerTheGreat> because this displays from the second iteration probably because I didn't unroll my recursion properly
13:22:39 <oklopol> so one move has already been made there?
13:25:02 <oklopol> didn't actually give it absolutely any thought
13:30:02 <RodgerTheGreat> I think I'm going to try rewriting it so that you can zoom through the entire fractal
13:30:20 <RodgerTheGreat> the game tree itself should only take up a few megabytes
13:30:45 -!- Hiato has joined.
13:30:58 <RodgerTheGreat> and I can precalculate it in about two seconds, so the only limiting factor is drawing speed
14:04:12 -!- Hiato has quit (Read error: 110 (Connection timed out)).
14:09:29 -!- RedDak has joined.
14:16:52 -!- pikhq has joined.
14:28:54 -!- RedDak has quit (Read error: 110 (Connection timed out)).
14:37:35 -!- Corun has joined.
15:08:09 -!- timotiis has quit (Read error: 110 (Connection timed out)).
15:09:45 -!- ais523 has joined.
15:14:42 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
15:33:37 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
15:36:23 -!- ais523 has joined.
16:13:14 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
16:19:13 -!- Slereah_ has joined.
17:00:42 -!- Slereah__ has joined.
17:01:15 -!- tusho has joined.
17:01:50 <ais523> tusho: well, if you're going to join after me and have the text on the clipboard, there's no point in playing really
17:02:01 <tusho> i'll stop clipboarding it
17:02:13 <ais523> I reckon you'll still win then, but it'll make it fairer
17:02:23 <tusho> the point is that I don't really have to react
17:03:40 <ais523> anyway, I'll only be here for another 2 hours or so
17:04:03 <tusho> you weren't here yesterday too
17:04:13 <ais523> and yesterday I didn't get to sleep until 10am
17:04:23 <ais523> not because I was doing anything, just because my sleep patterns went haywire
17:04:33 <ais523> and this meant that I didn't wake up until pretty late
17:06:17 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
17:06:34 -!- Slereah_ has joined.
17:14:36 <oklopol> ais523: regarding intercal lessons, i'm a taker.
17:15:36 <ais523> do you have an INTERCAL compiler or interpreter on you?
17:15:47 <tusho> ais523: he meant real-life ones, actually
17:15:57 <tusho> (remembered from yesterday/few days ago)
17:16:11 <ais523> tusho: I remembered that too, but isn't it possible that oklopol's happy to learn either way?
17:16:24 <tusho> i'd so go to take INTERCAL lessons from ais523, though
17:16:38 <ais523> well, over IRC's likely easier to organise
17:16:43 <ais523> and saves on plane fares
17:16:43 <oklopol> and no, i don't have anything intercal related on this comp
17:16:50 <tusho> ais523: i don't need a plane!
17:16:52 <oklopol> also i don't have anything unix related on this comp
17:16:55 <ais523> oklopol: what OS does it run?
17:17:06 <ais523> oklopol: not necessarily a problem
17:17:16 <ais523> I do maintain C-INTERCAL on Windows
17:17:25 <ais523> but you have to compile from sources
17:17:37 <ais523> I can step you through that if you like, though
17:18:00 <oklopol> you probably will have to, in case you want me to get it
17:18:32 <oklopol> i'm more the plug-n-play type
17:18:33 <ais523> yes, it'll be hard to learn INTERCAL with no way to run it
17:18:51 <ais523> well, you need to install a C compiler first
17:18:53 <ais523> do you have one already?
17:19:37 <ais523> try opening up a command prompt (start|run then type cmd and return) and typing in the command gcc
17:20:13 <ais523> well, I used the DJGPP version, available from http://www.delorie.com/djgpp/zip-picker.html
17:20:35 <pikhq> Though personally, I'd recommend Mingw or Cygwin.
17:20:47 <ais523> pikhq: yes, I know they're better
17:20:52 <ais523> I should get around to installing cygwin some time
17:20:53 <tusho> pikhq: c-intercal can run natively
17:20:59 <tusho> also, cygwin is like slow as hell
17:21:09 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
17:21:10 <tusho> oklopol: probably best to do it natively
17:21:16 <ais523> oklopol: try opening up a cygwin prompt and typing gcc in that
17:21:37 <oklopol> bash: gcc: command not foudn
17:21:46 <tusho> yeah, just install djgpp
17:22:59 <ais523> oklopol: I suggest you use the defaults for everything on the webpage I linked
17:23:32 <oklopol> FTP Site: ftp://ftp.delorie.com/pub/djgpp/current/ <<< so, help the retard, i click this shiny link, right?
17:23:46 <ais523> and you'll see links to a bunch of zipfiles
17:23:52 <ais523> unzip them all into the same directory
17:23:54 <ais523> it doesn't matter where
17:23:59 <ais523> except it can't be called /dev
17:25:25 <ais523> incidentally, what version of Windows are you running?
17:25:43 <ais523> ah, could be interesting
17:25:48 <ais523> but I think it'll work
17:25:55 <ais523> as long as you put everything into your documents area
17:25:58 <oklopol> i wonder if the default was xp/2000 or smth
17:26:02 <ais523> so it doesn't trigger UAC every 5 minutes
17:26:10 <ais523> oklopol: DJGPP was never officially ported to Vista
17:26:23 <ais523> but it works, I think, as long as you avoid certain filenames
17:26:30 <ais523> such as patch.exe doesn't work unless renamed to something else
17:26:40 <ais523> because Vista assumes it's an installer, and so forgets its command-line arguments
17:27:08 <tusho> <ais523> because Vista assumes it's an installer, and so forgets its command-line arguments
17:27:21 <ais523> tusho: what's that an abbrev for?
17:29:07 <ais523> oklopol: unzipped yet?
17:29:34 -!- Slereah__ has joined.
17:30:28 <oklopol> the rest of this one, and then 5 to go
17:31:09 <oklopol> i'm a bit sceptic, in my experience things don't work unless you can install them with a oneliner or a double-click
17:31:29 <ais523> oklopol: in my experience the things that need double-clicks are the things that normally fail
17:31:36 <ais523> at least with the big mess installs they can be fixed by hand
17:31:44 -!- puzzlet has quit (Remote closed the connection).
17:31:49 -!- puzzlet has joined.
17:32:20 <oklopol> never met an msi that didn't manage to install the program correctly
17:32:43 <ais523> oklopol: no, but I /have/ met msis that messed up all the other programs on my computer at the time
17:33:20 <oklopol> well, you've probably installed about ten times more stuff than me.
17:33:32 <ais523> probably written about infinity times more installers than you, too
17:33:48 <oklopol> i've made a few installers in vb!
17:34:23 <oklopol> i think installing is an ugly concept
17:34:23 <tusho> ais523 has made INFINITE installers!
17:34:38 <oklopol> in vb, you click "make installer"
17:36:24 <pikhq> In GNU-land, it's implicit when you use Autotools.
17:36:26 <ais523> well, arguably they are the installer
17:36:30 <oklopol> in python land, you don't install
17:36:33 -!- spxza has joined.
17:36:44 -!- Slereah__ has quit (Read error: 104 (Connection reset by peer)).
17:37:14 -!- Slereah__ has joined.
17:37:47 <ais523> well, yes, that's pretty much how DJGPP works, except you have to set a couple of environment variables first, then you can just run
17:37:51 <ais523> except there are a lot of binaries involved
17:38:01 <ais523> because it has to pretend to be UNIX sufficiently well that gcc will run
17:39:18 <oklopol> after a minute i should have everything
17:39:40 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
17:40:34 <oklopol> okay, i think i have them all
17:41:00 <ais523> everything unzipped into the same directory?
17:41:05 <ais523> i.e. you have one bin subdirectory
17:41:33 <ais523> now you need to set two environment variables
17:41:48 <oklopol> Version information is in manifest/*.ver within each zip. Contents
17:41:48 <oklopol> are in manifest/*.mft in each zip.
17:41:53 <ais523> probably making a shortcut's easiest
17:41:59 -!- Slereah__ has quit (Read error: 104 (Connection reset by peer)).
17:42:14 <ais523> oklopol: basically they're like system-wide variables that tell your computer how to do things
17:42:25 <ais523> what's the name of the dir you installed into?
17:42:29 <ais523> oklopol: PATH and DJDIR
17:42:35 <oklopol> wugupol. hoped you wouldn't ask
17:42:52 <ais523> oklopol: you need the full path, starting with c:\
17:43:03 <oklopol> i thought this would be a temporary store
17:43:14 <ais523> oklopol: well, you can move it anywhere you like
17:43:18 <oklopol> well okay, i'll add, djdir is what exactly?
17:43:29 <ais523> djdir points to the djgpp.env file
17:43:34 <ais523> whereever it unpacked to
17:43:45 <ais523> and you need to add the bin subdir to PATH
17:44:14 -!- tritonio_ has joined.
17:44:48 <oklopol> no, just got to the environment variables thingie
17:45:03 <ais523> ok, I forgot how inaccessible it was in Windows for a while, it's probably even harder to find in Vista
17:45:13 <oklopol> i need to add to PATH the dir i unzipped the stuff to?
17:45:21 -!- tritonio_ has quit (Remote closed the connection).
17:45:23 <ais523> oklopol: no, its bin subdirectory
17:45:40 -!- Slereah__ has joined.
17:45:42 <ais523> that's basically the standard UNIX trick, you have a subdir called bin and put everything there to avoid having to change the PATH
17:45:59 <ais523> oklopol: ok, try opening up a command prompt and running the command go32-v2
17:46:08 <ais523> if it works, then the install worked
17:46:18 <ais523> it should do nothing but print out a few lines of information and exit
17:46:27 <ais523> and the information's irrelevant unless it's "bad command or filename"
17:46:39 <ais523> oklopol: great! Now let's see if the C-INTERCAL install works
17:47:09 <ais523> http://www.intercal.ukfsn.org/download/ick-0-28.tgz
17:47:19 <ais523> download that, again anywhere you like
17:48:06 <ais523> you need to extract it
17:48:17 <ais523> ok, then open up a command prompt
17:48:20 <ais523> and cd into the resulting directory
17:48:49 <ais523> hmm... that's the first time anyone's tried to run that script except me
17:49:08 <ais523> oklopol: is it working?
17:49:10 <oklopol> gcc.exe: environment variable DJGPP not defined
17:49:10 <oklopol> gcc.exe: environment variable DJGPP not defined
17:49:10 <oklopol> gcc.exe: environment variable DJGPP not defined
17:49:10 <oklopol> gcc.exe: environment variable DJGPP not defined
17:49:36 <ais523> it's set it to the same thing as DJDIR
17:49:44 <oklopol> so... that might be the prob
17:51:10 <oklopol> djdir didn't actually exist before, should it have?
17:51:40 <ais523> did you add DJGPP as well?
17:51:41 <oklopol> do i add the env var djgpp or smth?
17:51:49 <ais523> yes, same target as DJDIR
17:52:34 <oklopol> about a million more errors now :P
17:52:43 <ais523> what are the first few?
17:52:56 <ais523> it sounds like I may have to do a few fixes to the Windows build system...
17:53:00 <oklopol> too many to see, unless you tell me how to limit how much results it shows.
17:53:15 <oklopol> i can give a few from the middle
17:53:25 <ais523> I may be able to guess based on those
17:53:34 <oklopol> feh2.c:1919: warning: comparison between pointer and integer
17:53:37 <oklopol> feh2.c:1919: warning: comparison between pointer and integer
17:53:40 <oklopol> feh2.c:1936: error: 'SUB' undeclared (first use in this function)
17:53:41 -!- timotiis has joined.
17:53:43 <oklopol> feh2.c:1936: warning: comparison between pointer and integer
17:53:44 <ais523> hmm... maybe a missing header-file
17:54:01 <ais523> try hitting pause just after you start
17:54:05 <ais523> it's a rarely-used key on the ketboard
17:54:10 <ais523> that might get the first few
17:55:01 <oklopol> Trying to build parsers and lexers (if this fails, e.g. if you do not
17:55:04 <oklopol> have bison/flex, this will produce errors but the compiler will build
17:55:07 <oklopol> anyway using prebuilt versions)...
17:55:10 <oklopol> 'bison' is not recognized as an internal or external command,
17:55:15 <ais523> then you should get a couple of errors
17:55:20 -!- Slereah_ has joined.
17:55:31 -!- Slereah__ has quit (Read error: 104 (Connection reset by peer)).
17:55:57 <ais523> you can unpause by pressing a key other than pause and then repause by pressing pause again
17:56:15 <oklopol> idiotism.c:11:20: error: parser.h: No such file or directory (ENOENT)
17:56:18 <oklopol> idiotism.c: In function 'optimize_pass1':
17:56:21 <oklopol> idiotism.c:39: error: 'MINGLE' undeclared (first use in this function)
17:56:24 <oklopol> idiotism.c:39: error: (Each undeclared identifier is reported only once
17:56:26 <ais523> ok, that's what's causing the problems
17:56:27 <oklopol> idiotism.c:39: error: for each function it appears in.)
17:56:32 <ais523> let me think how to fix it
17:56:57 <ais523> oklopol: open up makeick.bat in an editor
17:57:17 <ais523> and at the end of the set CFLAGS= line, write
17:57:31 <ais523> then try running again
17:57:40 <ais523> that's a capital I by the way
17:58:56 <ais523> ok, first few this time?
17:59:29 <oklopol> i failed the pause. wait a mo..
17:59:54 <oklopol> idiotism.c:11:20: error: parser.h: No such file or directory (ENOENT)
17:59:56 <oklopol> idiotism.c: In function 'optimize_pass1':
17:59:59 <oklopol> idiotism.c:39: error: 'MINGLE' undeclared (first use in this function)
18:00:04 <ais523> oklopol: ah, try -I ./../src
18:00:25 <ais523> how many files are in the temp subdir
18:00:28 <ais523> of the INTERCAL directory?
18:00:32 <ais523> does it have the .h files in?
18:00:52 <ais523> does it have parser.h?
18:01:21 <oklopol> parser.c and parser.o, but no .h
18:01:38 <oklopol> i don't even know what that is
18:01:48 <ais523> how did the .h not end up there?
18:01:57 <ais523> http://code.eso-std.org/c-intercal/temp/parser.h
18:02:27 <ais523> try downloading that and putting it there
18:02:40 -!- Corun has quit ("This computer has gone to sleep").
18:03:14 <oklopol> cc1.exe: out of memory allocating 1448 bytes after a total of 25243592 bytes
18:03:14 <oklopol> lex.yy.c:2350: warning: 'yyunput' defined but not used
18:03:35 <tusho> Not the first one...
18:04:10 <ais523> the first one is pretty mysterious, though
18:04:22 <ais523> was that when it was compiling idiotism.c, by any chance?
18:04:40 <oklopol> right after "Compiling..."
18:04:49 <ais523> it only happened once?
18:05:16 <ais523> I think I know how to fix the out-of-memory by simplifying stuff
18:05:35 <oklopol> cc1.exe: out of memory allocating 1448 bytes after a total of 25243592 bytes
18:05:38 <oklopol> lex.yy.c:2350: warning: 'yyunput' defined but not used
18:05:41 <oklopol> cesspool.c: In function 'ick_pin':
18:05:44 <oklopol> cesspool.c:153: warning: the address of 'buf' will never be NULL
18:05:47 <oklopol> gcc.exe: CFLAGS$: No such file or directory (ENOENT)
18:05:50 <oklopol> cset-l.c:3: error: expected '=', ',', ';', 'asm' or '__attribute__' before '-' t
18:05:56 <oklopol> gcc.exe: idiotism.o: No such file or directory (ENOENT)
18:05:59 <oklopol> The system cannot find the file specified.
18:06:05 <oklopol> Compiling..., then this, then the copy messages
18:06:29 <ais523> try backing up src/idiotism.oil, then deleting most of the lines in it and trying again
18:06:29 <ais523> that's a file full of optimiser idioms, so you can delete any of the lines in it and it'll still work
18:06:29 -!- ais523 has quit (Remote closed the connection).
18:06:46 -!- ais523 has joined.
18:07:12 <ais523> sorry, connection trouble
18:07:16 <ais523> [Wed Jul 9 2008] [18:05:15] <ais523> I think I know how to fix the out-of-memory by simplifying stuff
18:07:18 <ais523> [Wed Jul 9 2008] [18:05:47] <ais523> try backing up src/idiotism.oil, then deleting most of the lines in it and trying again
18:07:21 <ais523> [Wed Jul 9 2008] [18:06:02] <ais523> that's a file full of optimiser idioms, so you can delete any of the lines in it and it'll still work
18:07:39 <ais523> except you probably want to put [oklopol] or something like that at the start so it has at least one section
18:08:15 <ais523> or the compiler'll get confused
18:08:15 -!- ais523 has quit (Remote closed the connection).
18:08:31 -!- ais523 has joined.
18:08:37 <oklopol> can i just scrape the whole file?
18:08:57 <oklopol> and put [oklopol] in the beginning
18:08:59 <ais523> oklopol: I think it may get confused if it doesn't have at least one line
18:09:03 <ais523> try just one section line and one idiom
18:09:23 <ais523> (#{1}1$#{1}2)->(#{mingle(x1,x2)}0)
18:09:28 <ais523> there, that's a minimal OIL file
18:09:34 <ais523> I picked the most useful idiom from it, too
18:09:49 <ais523> oklopol: that one's less useful, but will work too
18:10:09 <ais523> the next version of C-INTERCAL will have an automatic workaround for that sort of thing, by the way
18:10:14 <ais523> Debian reported the out-of-memory to me
18:10:27 <ais523> apparently one of their build machines doesn't have enough memory to process idiotism.c by default
18:10:31 <oklopol> it says "I'm confused, idiotism.oil seems a bit empty." now, and fails to install
18:10:43 <ais523> I don't remember writing that message anywhere
18:10:55 <oklopol> just joking to pass the time
18:11:09 <tusho> ais523: C-INTERCAL should have a 'modern messages' mode
18:11:13 <tusho> where all error messages are of the form:
18:11:25 <oklopol> cesspool.c: In function 'ick_pin':
18:11:28 <oklopol> cesspool.c:153: warning: the address of 'buf' will never be NULL
18:11:29 <tusho> "I'm confused, you seem to have a COME FROM where I didn't expect one..."
18:11:31 <oklopol> gcc.exe: CFLAGS$: No such file or directory (ENOENT)
18:11:34 <oklopol> cset-l.c:3: error: expected '=', ',', ';', 'asm' or '__attribute__' before '-' t
18:12:00 <ais523> the CFLAGS$ thing is really confusing
18:12:15 <ais523> as for the cesspool.c warning, I've never seen that one
18:12:31 <ais523> but I can understand that it may just be there because they improved the compiler
18:12:51 <ais523> oklopol: heh, there's a typo in makeick.bat
18:12:53 <oklopol> so... err... what do i do?
18:13:02 <ais523> where it says FLAGS$ change that to FLAGS%
18:13:30 <ais523> (Konversation stripped the %C at the start of each of those)
18:13:37 -!- Slereah__ has joined.
18:13:47 -!- Slereah_ has quit (Connection reset by peer).
18:13:57 <ais523> oklopol: and the other error is another typo
18:14:09 <ais523> ick-clc_cset_latin1 should be ick_clc_set_latin1
18:14:13 <ais523> hmm... I thought I tested this file
18:14:23 <ais523> maybe some last minute changes snuck in after I tested it...
18:14:31 -!- spxza has quit (Read error: 113 (No route to host)).
18:14:56 <tusho> oklopol: change it to %CFLAGS^
18:15:23 <oklopol> it's exactly as the lines before and after it now
18:15:32 <ais523> the never be null warning isn't a problem, I think
18:15:37 <oklopol> unless it was the last one, hard to say as they're all identical now
18:16:36 <ais523> heh, the never-be-null warning is warning me that my assert is always true
18:19:41 <oklopol> 20:14… oklopol: same error
18:19:50 <oklopol> you haven't given me instructions after that
18:20:04 <oklopol> 20:11… oklopol: cset-l.c:3: error: expected '=', ',', ';', 'asm' or '__attribute__' before '-' t
18:20:24 <ais523> oklopol: did you fix "ick-clc_cset_latin1 should be ick_clc_set_latin1"
18:21:30 <ais523> oklopol: you'll get credit for finding the bugs in the next release...
18:21:39 <ais523> although I was planning to write a script to generate makeick.bat automatically
18:21:46 <ais523> so I don't have to do it by hand every time and make typos
18:22:08 <oklopol> "ick-clc_cset_latin1 should be ick_clc_set_latin1"
18:23:06 <ais523> oklopol: try running bin/ick -@
18:23:16 <ais523> if that produces a usage message, it worked
18:23:43 <ais523> now on to the actual INTERCAL
18:24:03 <ais523> probably best to start with a NOP
18:24:06 <oklopol> how do the lessons work, were you leaving soon?
18:24:11 <ais523> oklopol: I am leaving soon
18:24:16 <ais523> so I'll just start until I have to leave
18:24:21 <ais523> oklopol: about 20 minutes
18:24:38 <ais523> INTERCAL's an imperative language
18:24:49 <ais523> oklopol: I was going to
18:24:54 <ais523> although I can start a new channel if you like
18:25:04 <tusho> i'd like to dig it up in the logs
18:25:20 <ais523> ok, so you write all the commands in sequence
18:25:25 <ais523> which is already more normal than befunge
18:25:35 <ais523> all statements start with a "statement identifier"
18:25:48 <ais523> that marks where one statement starts and the previous statement ends
18:25:51 <ais523> sort of like a semicolon in C
18:25:58 <ais523> the most common statement identifier is DO
18:26:02 <ais523> you can use PLEASE as well
18:26:12 <ais523> and you need to have about one PLEASE for every three DOs on average
18:26:17 <ais523> or the program won't compile
18:26:30 <ais523> the GIVE UP command ends the program
18:26:38 <ais523> so DO GIVE UP is the shortest non-erroring INTERCAL program
18:26:47 <ais523> because the spaces are optional
18:27:00 <ais523> the file will need to have a .i extension so it's treated as INTERCAL
18:27:06 <ais523> then just ick filename.i
18:27:19 <ais523> where you need to give the path to ick, either that or add it to your PATH
18:27:28 <ais523> oklopol: not on Windows
18:27:36 <ais523> oh, INTERCAL itself is
18:27:55 <ais523> there's only one lowercase letter in INTERCAL, and it's part of an operator
18:28:36 <ais523> try unhanging it with control-C
18:28:41 <ais523> and if that fails, control-break
18:28:44 <ais523> actually, do control-break first
18:28:52 <ais523> because sometimes on windows control-C exits your DOS prompt
18:29:09 <ais523> also, check to see if it's hanging because a UAC prompt popped up behind the window you're in
18:29:22 <ais523> that shouldn't have triggered one, but you never know...
18:29:55 <ais523> that dumps the output to stdout
18:29:59 <ais523> so you can see where it hangs
18:30:21 <ais523> that should spurt out debug info from the parser
18:30:26 <ais523> see if it reaches that stage
18:30:33 <ais523> or if anything makes ick hang
18:30:37 <oklopol> infloops at parsing i think
18:30:45 <ais523> what, after or before the parse?
18:30:52 <oklopol> pages after pages of stuff
18:31:05 <ais523> oklopol: try putting a newline at the end of your program
18:31:12 <ais523> you may have hit a known bug I forgot about
18:32:44 <oklopol> Reading a token: lexer: returning token 292
18:32:47 <oklopol> Next token is token PLEASE ()
18:32:56 <oklopol> Reducing stack by rule 7 (line 189):
18:33:02 <oklopol> lexer: returning token 292
18:33:14 <oklopol> Reducing stack by rule 2 (line 169):
18:33:27 <oklopol> this repeats, no matter how many newlines.
18:33:49 <ais523> your program is just PLEASE GIVE UP
18:34:07 <ais523> ok, let me see if it works over here
18:34:19 <ais523> nope, infiniloop for me too...
18:34:30 <ais523> actually no, it worked
18:34:55 <ais523> oklopol: ah, did you write your program in Notepad?
18:35:17 <ais523> I was wondering if it had a BOM that was screwing things up
18:35:37 <ais523> oklopol: binary at the start of a text file that Notepad adds to say what format a file's in
18:35:46 <oklopol> notepad does no such thing
18:36:21 <ais523> yep, because it encodes a zero-width space
18:36:38 <ais523> so if you load the file as a text file, you can't see the difference
18:36:59 <ais523> make sure there's at least one non-ASCII character in the file
18:37:18 <tusho> oklopol: python handles it
18:37:23 <tusho> so that won't help
18:37:31 <oklopol> >>> open("C:\\Users\\oklopol\\intercool\\ick-0.28\\bin\\nop.i","rb").read()
18:37:32 <ais523> PHP doesn't, and that screwed up MediaWiki once
18:37:38 <tusho> oklopol: python handles it
18:37:49 <ais523> the trick is to compare the file's size as reported by dir with a count of the characters
18:37:57 <oklopol> wtf, doesn't show weird space chard in __repr__?
18:38:02 <ais523> hmm... let me add a BOM by hand to my nop.i and see what happens
18:38:05 <oklopol> if so, i'm switching off python
18:38:21 <tusho> but python's file reading handles it
18:38:37 <tusho> "HANDLING UNICODE PROPERLY"
18:38:48 <oklopol> how do i actually open a file then?
18:38:56 <tusho> that is opening a file.
18:39:00 <tusho> unicode support is a feature
18:39:26 <ais523> well, my BOM by hand went and printed out (null) in a comment where it should have printed out the source code
18:39:47 <ais523> which means that a null-pointer's being derefed somewhere
18:40:01 <ais523> not sure if a BOM's the problem, though
18:40:07 <ais523> oklopol: try one of the example programs
18:40:29 <ais523> does that work or does it infiniloop?
18:41:12 * ais523 wonders why the parser's doing that
18:41:31 <ais523> <oklopol> Reading a token: lexer: returning token 292
18:41:34 <oklopol> tusho: is there any way to open a file without it having been preprocessed?
18:41:36 <ais523> does it say that inside the infinite loop?
18:41:41 <oklopol> i mean, get the binary data
18:41:43 <tusho> oklopol: i don't think you understand
18:41:48 <tusho> unicode support is a good thing
18:41:59 <tusho> wanting to turn it off is, well
18:42:01 <oklopol> ais523: says it all the time
18:42:05 <augur> lets get together and make out
18:42:22 <ais523> so the lexer's returning an infinite number of token 292 for some reason
18:42:28 <oklopol> augur: i'll think about it
18:42:44 <tusho> augur: where in europe
18:42:49 <oklopol> tusho: no, it's not a good thing
18:42:57 * ais523 looks up what 292 means
18:42:58 <augur> nuremberg. i was in london last week
18:43:08 <augur> why tusho? did you want me to come up and make you a man? :p
18:43:17 <tusho> augur: just curious, sheesh
18:43:18 <oklopol> tusho: i want to see if there's a BOM, that thing prevents me from doing that
18:43:22 <tusho> (And not in a bi-curious sense)
18:43:29 -!- Slereah__ has quit (Connection timed out).
18:43:30 <ais523> oklopol: you know that parser.h was missing?
18:43:35 <augur> ::makes tusho a man::
18:43:44 <tusho> oklopol: #python is generally a better channel for python than #esoteric
18:43:44 <ais523> try downloading http://code.eso-std.org/c-intercal/temp/parser.c too
18:43:56 <ais523> maybe the versions of parser.c and parser.h you got don't match for some bizarre reason
18:44:02 <ais523> yes, that's what happend
18:44:03 <oklopol> tusho: i'm sure they'll agree with you, i don't see the point.
18:44:11 <ais523> you got parser.c from C-INTERCAL 0.28
18:44:15 <tusho> oklopol: actually pythoners generally disagree with me
18:44:19 <ais523> but I gave you parser.h from C-INTERCAL 0.29 by mistake
18:44:21 <oklopol> i believe it's good to have unicode support that can't be turned off for some reason.
18:44:28 <ais523> so all the tokens are wrong...
18:44:40 <augur> so whats be goin on since i vanished a few days ago? anything interesting?
18:44:44 <tusho> oklopol: ok then stop whining about it
18:44:51 <ais523> augur: well, I'm teaching oklopol INTERCAL
18:45:03 <ais523> and teaching myself how it's a good thing if the header file matches the file it's referencing
18:45:21 <ais523> oklopol: actually, I'll dig out the C-INTERCAL 0.28 version of parser.h
18:45:30 <ais523> probably easier than it mismatching everything else in 0.29
18:46:49 <ais523> http://pastebin.ca/raw/1066874
18:47:25 <oklopol> i'll just paste that in parser.h and retry makeick?
18:48:31 <ais523> that has PLEASE=292 like it should be
18:49:37 <ais523> what, it compiled, and you ran the result, and nothing happened?
18:49:47 <ais523> I have to go very soon
18:49:55 <ais523> but as another test try writing DO READ OUT #123
18:49:59 <ais523> before the DO GIVE UP line
18:50:12 <ais523> and running the result of that
18:50:14 <ais523> you should get some output
18:51:39 * ais523 has to go in about 3 minutes
18:51:52 <oklopol> ICL633I PROGRAM FELL OFF THE EDGE
18:51:52 <oklopol> ON THE WAY TO THE NEW WORLD
18:51:52 <oklopol> CORRECT SOURCE AND RESUBNIT
18:52:00 <ais523> oklopol: that means you missed the GIVE UP line
18:52:05 <ais523> anyway, that's the correct output
18:52:17 <ais523> it's a typo for resubmit that was originally made in 1972
18:52:21 <ais523> and has been preserved ever since
18:52:34 <ais523> anyway, I'll continue this some other time
18:52:44 <ais523> I should be able to stay longer then, too
18:52:56 -!- 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"").
18:52:57 <oklopol> i should be available pretty much 24/7
18:54:48 <oklopol> so, tusho, in the unicode world, you don't store arbitrary raw binary data anymore, but only unicode stuff?
18:54:53 <oklopol> even with stuff like pictures
18:55:22 <oklopol> fine by me, although i don't see the point; still i'd say it's quite weird not letting you at least *read* arbitrary data.
18:57:39 -!- GregorR has joined.
18:57:42 <oklopol> i don't really know anything about unicode, and i don't really care at all, so no need to answer.
19:05:17 -!- Corun has joined.
19:06:28 -!- Corun has quit (Success).
19:06:36 -!- Corun_ has joined.
19:06:44 -!- Corun_ has quit (Remote closed the connection).
19:11:18 -!- Corun has joined.
19:21:34 -!- puzzlet_ has joined.
19:22:41 -!- Slereah_ has joined.
19:26:02 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
19:32:39 -!- puzzlet_ has quit (Remote closed the connection).
19:32:43 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
19:32:43 -!- puzzlet has joined.
19:32:56 -!- Slereah_ has joined.
19:34:57 -!- Slereah__ has joined.
19:35:00 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
19:36:46 -!- timotiis has quit (Read error: 104 (Connection reset by peer)).
19:37:33 -!- timotiis has joined.
19:41:10 -!- Slereah__ has quit (Read error: 104 (Connection reset by peer)).
19:44:37 -!- oerjan has joined.
19:46:52 -!- Slereah__ has joined.
19:50:47 -!- Slereah__ has quit (Read error: 104 (Connection reset by peer)).
19:52:28 -!- Slereah__ has joined.
19:54:42 -!- tusho has quit (Remote closed the connection).
19:59:01 -!- Corun_ has joined.
19:59:11 -!- Corun has quit (Read error: 104 (Connection reset by peer)).
20:00:43 -!- Slereah__ has quit (Read error: 104 (Connection reset by peer)).
20:01:22 <augur> i just type-raped a 13 year old. thats how bad i am. oh yes.
20:01:51 <augur> imaginary rape is the baddest thing on all the internets. im so bad ive done the baddest thing on all the internets!
20:02:12 -!- Slereah_ has joined.
20:03:01 -!- Slereah__ has joined.
20:03:01 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
20:05:45 -!- Slereah_ has joined.
20:05:45 -!- Slereah__ has quit (Read error: 104 (Connection reset by peer)).
20:25:23 -!- Corun_ has quit ("This computer has gone to sleep").
20:35:38 -!- puzzlet_ has joined.
20:36:24 -!- puzzlet has quit (Remote closed the connection).
20:45:34 -!- Corun_ has joined.
21:08:58 -!- pikhq has quit (Read error: 110 (Connection timed out)).
21:56:17 -!- oerjan has quit ("Good night").
21:59:41 -!- atrapado has joined.
22:12:34 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
22:13:43 -!- Slereah_ has joined.
22:31:17 -!- tusho has joined.
22:33:02 <augur> you missed it because i drugged you to make you more complacent.
22:33:11 <augur> roofies mess with your memory
22:33:34 <tusho> augur: no, but there were people in the room and it highlighted it in a box
22:33:41 <tusho> i don't want someone to see ::rapes tusho::, strangely
22:33:52 <tusho> that's why I disconnected
22:33:59 <augur> ::rapes you again::
22:34:23 <tusho> 12:01:22 <augur> i just type-raped a 13 year old. thats how bad i am. oh yes.
22:35:25 -!- atrapado has quit ("Abandonando").
22:59:10 <tusho> JUST GOTTA BE DIFFERENt
22:59:12 <tusho> ALWAYS REINVENTING MYSELF
23:01:12 <tusho> augur: do you want to look at the rather nifty objective-c-and-smalltalk-and-ruby inspired language I'm cooking up
23:01:15 <tusho> it's not esoteric but it's rather nice.
23:01:24 <tusho> i can only give you a few samples, though
23:01:28 <augur> anything for the children
23:01:36 <tusho> I can write the code natively, but can't tell you the rules that dictate it :p
23:01:55 <augur> well you give me samples and ill write up a grammar, hows that?
23:01:58 <augur> and a semantics if you want
23:02:00 <tusho> it uses indentation-based syntax so if you don't like that beware
23:02:08 <tusho> and I think I can grammar-ize it
23:02:10 <augur> just tell me about it
23:02:12 <tusho> but it's not finalized yet
23:02:17 <tusho> augur: http://pastebin.ca/raw/1067226
23:02:26 <tusho> that's just an extremely basic sample
23:02:31 <tusho> cooked it up in like 2 seconds
23:02:47 <tusho> might need a 4 space indent
23:02:59 <tusho> to look good I mean
23:03:06 <augur> i take it you're providing imaginary hooks for Cocoa? :P
23:03:14 <tusho> augur: its object system is Objective-C's
23:03:26 <tusho> no layer or binding or hooks
23:03:30 <tusho> it IS the obj-c object system
23:03:48 <augur> no i mean you're providing the ability to run Cocoa stuff
23:03:57 <tusho> augur: well yeah, the interp will be in obj-c
23:04:14 <tusho> it does seem to look a bit better with 4-space indents
23:04:28 <tusho> but yeah, it's basically - take the objective-c language, make the syntax smalltalky, and take some hints from ruby
23:04:33 <tusho> add some of my own stuff.
23:04:39 <tusho> oh, and those type declarations it has are optional
23:04:43 <tusho> initWithName: name
23:04:48 <tusho> not finalized that yet
23:04:56 <tusho> (it wouldn't be inferred, though, just dynamic)
23:04:59 <augur> i can see the inspiration
23:05:34 <augur> (Shouter initWithName: ...) is wrong
23:05:52 <augur> Shouter withName: ...
23:06:14 <augur> (Shouter new) initWithName: ...
23:06:27 <tusho> it'd be (Shouter alloc) initWithName:...
23:06:44 <augur> its interpreted, dont use allocs. :P
23:06:47 <augur> no memory management!
23:06:50 <augur> make it fully interpreted!
23:07:22 <tusho> augur: dude, it's the objective-c system
23:07:27 <tusho> 'alloc' just means 'create object'
23:07:31 <tusho> that's what objective-c does
23:07:33 <tusho> don't think you understand -
23:07:35 <tusho> when you say 'class'
23:07:38 <augur> alloc doesnt mean "create object"
23:07:39 <tusho> that actually makes an objective-c class
23:07:48 <tusho> NSString is the real nsstring
23:07:51 <tusho> no layers or anything
23:07:57 <tusho> when you send messages to it, you really send messages to it directly
23:08:17 <augur> does RubyCocoa use alloc messages and stuff?
23:08:40 <tusho> it has a layer for .new
23:08:45 <tusho> but Objective-C has 'new' anyway
23:08:50 <tusho> it's just [alloc] init, I think
23:08:58 <tusho> but, you know. rarely do you just want to use 'init'
23:09:03 <tusho> augur: you could also write this as
23:09:05 <lament> why are we talking about objective c
23:09:10 <tusho> ((Shouter new) name:'joe')
23:09:14 <tusho> which is ... nicer
23:09:24 <tusho> and you can remove initWithName
23:09:26 <augur> tusho: that makes no sense.
23:09:34 <augur> the new: message should not return the object itself.
23:09:46 <tusho> because that is what it does in objective-c.
23:09:51 <tusho> (Class new) returns a new Class.
23:10:05 <augur> but setName: @"Joe" doesn't
23:10:29 <lament> in smalltalk, it probably would
23:10:30 <augur> so you cant do (((Shouter new) name:"Joe") sayName)
23:10:40 <lament> in smalltalk it's standard practice to have otherwise void functions return self
23:10:42 <tusho> but this is the objective-c system
23:10:48 <tusho> so, it inherits its quirks
23:10:50 <augur> because ((Shouter new) name:"Joe") is undefined
23:11:36 <tusho> what syntax for class-methods....
23:11:55 <tusho> augur: i mean in my language
23:12:12 <tusho> that's not smalltalky
23:12:15 <tusho> i'd like to keep smalltalky _syntax_
23:12:26 <tusho> yes, but syntax-wise, I'm going for smalltalk
23:12:50 <tusho> augur: considering just having a forClass seperator
23:12:59 <tusho> [all methods here are class-side]
23:13:20 <tusho> but - is implicitly assumed
23:13:25 <tusho> and you don't really ever need to specify it
23:13:29 <augur> its your language :P
23:14:05 <tusho> augur: version two:
23:14:12 <tusho> http://pastebin.ca/raw/1067241
23:14:21 <tusho> oh, and look at the first line of talker, it's actually some neat magic
23:14:40 <augur> yes, clearly very Ruby-ish
23:14:48 <tusho> @ basically means:
23:14:54 <tusho> run this code in the context of the class I'm making
23:15:01 <tusho> Talker attr: #name is: NSString
23:15:03 <augur> why not just get rid of the @?
23:15:08 <tusho> which defines some accessors and stuff
23:15:14 <tusho> augur: because it's ambiguous with message defs
23:15:21 <augur> and instead just use method names instad
23:15:33 <tusho> that'd define a method called attr in the class
23:15:33 <augur> its not ambiguous since it lacks a type definition
23:15:44 <tusho> augur: they're not required
23:15:56 <augur> then self attr: ...
23:16:29 <augur> to be consistent with self-directed message passing style
23:16:48 <tusho> augur: OK, yes, it just seemed nice to have an explicit marker
23:17:04 <augur> well, its explicit in that its a method call. :P
23:17:35 <augur> that makes no sense
23:17:40 <tusho> self is the class, augur
23:17:42 <tusho> it's a class method
23:17:58 <tusho> http://pastebin.ca/raw/1067246 <-- a version with and without type declarations
23:18:01 <tusho> of course you can mix and match
23:18:12 <augur> i forget, in ObjC, are classes objects too?
23:18:27 <tusho> augur: even if they aren't, my language will reify them into objects
23:18:47 <tusho> will work fine either way
23:19:45 <lament> in objc, classes are fucked-up pseudo-objects without instance variables
23:19:55 <lament> err, "class" variables :)
23:19:59 <tusho> lament: then i'll make a reified version with class variables :-p
23:20:10 <augur> i think classes have class variables in objC
23:20:19 <tusho> it's basically aiming to be smalltalk, but the obj-c object system is more useful because it can interact with all of cocoa
23:20:34 <tusho> 'cause, you know, getting all that stuff for free is nice
23:20:40 <augur> all of cocoa is in objc so it'd better be able to interact with cocoa. :P
23:21:06 <tusho> augur: yes, but it's more elegant to just use the obj-c object system
23:21:11 <tusho> and thus not having to 'interact' with it - it Just Works
23:21:14 <tusho> because that's all the language knows
23:21:17 <lament> no, there're no class variables in objc
23:21:21 <tusho> saves me implementing an object system, you know :p
23:21:51 <lament> which leads to all sorts of problems
23:21:54 <augur> there must be lament
23:22:10 <tusho> even if there isn't, I can wrap around a class and implement them without any real trouble
23:22:31 <augur> and yet lots of cocoa classes have class variables..
23:22:36 <lament> because there're no class variables in objc
23:22:46 <tusho> augur: name a class?
23:22:50 <augur> or something that works just the same.
23:22:52 <tusho> this discussion is unproductive
23:22:56 <lament> augur: yes, it's something that works just the same
23:23:02 <lament> namely, plain old global variables from C
23:23:10 <lament> except of course they don't work just the same
23:23:11 <augur> then its a class variable.
23:23:20 <augur> how its implemented is irrelevant, its a class variable.
23:23:22 <lament> no, it's a global variable
23:23:31 <augur> its not treated like one.
23:23:37 <augur> its accessed via the class.
23:23:44 <tusho> that's a pretty bad argument
23:23:46 <lament> you can access it from everywhere else in the program, too
23:23:47 <tusho> you can treat C as OOP too
23:23:51 <tusho> doesn't mean it has objects and methods
23:24:04 <lament> suppose you have a method initialize
23:24:06 <augur> Objective C is just a layer on top of C.
23:24:11 <lament> and it initializes a "class variable"
23:24:15 <lament> which is just a global variable
23:24:21 <lament> and then, you have a subclass
23:24:26 <lament> this subclass dosen't have an initialize method
23:24:33 <lament> so its parent's initialize is called instead
23:24:41 <lament> and the "class variable" gets initialized a second time
23:24:53 <lament> if you didn't put in a check that initialization already happened, you may well be screwed
23:24:57 <augur> you know that objective c classes do get initialized, right?
23:25:12 <tusho> lament: yeah, i agree that that's bad, so I'll layer proper variables then :p
23:25:22 <lament> augur: ...isn't that exactly what i was describing on the past ~5 lines?
23:25:25 <augur> anyway, the point is, objective c has what amounts to class variables.
23:25:45 <augur> you show me how you can access these supposed globals.
23:25:45 <lament> augur: objective c has global variables.
23:25:54 <lament> they're not supposed globals
23:26:00 <lament> like any other global in C
23:26:01 <augur> then show me how you access them.
23:26:08 <lament> like you would access any other global
23:26:11 <augur> because you're supposing they're globals.
23:26:26 <tusho> 'int MyClass_global;'
23:26:30 <tusho> and then as a class method
23:26:32 <lament> they're at the top scope of the respective .m file
23:26:38 <lament> anywhere else where you wish to put them
23:26:39 <tusho> + (int)global { return MyClass_global; }
23:26:43 <augur> show me how to access [NSColor redColor]
23:26:44 <tusho> and THAT's how cocoa classes do it
23:26:52 <tusho> augur: step 1. find out what global name they used step 2. use it
23:26:58 <augur> or [NSNotificationCenter defaultCenter]
23:26:58 <lament> augur: that's a method, not a variable.
23:27:05 <augur> tusho: prove there IS a global name.
23:27:09 <augur> yes its a method lament
23:27:13 <tusho> augur: implement a class method without it
23:27:16 <tusho> it's just NOT in the spec
23:27:21 <augur> but there are other methods for setting values returned by class methods
23:27:23 <tusho> but [NSColor redColor] probably constructs an NSColor anyway
23:27:37 <tusho> + (void)setGlobal:(int)newone { MyClass_global = newone; }
23:27:40 <augur> show me that its actually a global.
23:28:01 <tusho> augur: link us to the part of the objective c spec that gives you another way to implement a class variables
23:28:13 <augur> i dont have to because im not claiming it ISNT global
23:28:21 <augur> i dont know how its implemented.
23:28:22 <tusho> <augur> show me that its actually a global.
23:28:26 <augur> im not making a positive claim.
23:28:33 <augur> uh, tusho, thats not a claim
23:28:38 <augur> thats a demand for evidence.
23:28:42 <lament> i don't know how [NSColor redColor] is implemented, but it has nothing to do with class variables anyway
23:28:48 <augur> you might not know the difference, let me find you a dictionary definition
23:29:24 <augur> but [NSColor redColor] == [NSColor redColor]
23:29:36 <lament> augur: yes, it's a method returning a constant value
23:29:40 <lament> how's a constant a variable?
23:30:18 <lament> indeed, its body probably simply constructs the NSColor object
23:30:26 <lament> by creating it with specific red, blue and green components
23:30:26 <tusho> lament: that's not true
23:30:53 <lament> i suppose it's stored in a global variable, then, after all :)
23:30:56 <augur> lament doesnt even know what == means or what its implications are.
23:31:03 <augur> and yet its not supposed?
23:31:13 <augur> lament, you're pulling this out of your ass.
23:31:20 <augur> you said earlier its not a supposed global variable
23:31:24 <tusho> "AHA! Because you are not COMPLETELY STATING without ONE SHADOW OF A DOUBT that it's a global-- You're wrong. Therefore, I am right.@
23:31:26 <augur> and now you just said you suppose it is a global variable
23:31:37 <augur> tusho, im not claiming anything
23:31:39 <augur> so i cant be "right"
23:31:42 <augur> im asking for proof.
23:31:47 <augur> lament is refusing to provide any.
23:31:48 <tusho> Proof. With SCIENCE!
23:31:56 <tusho> augur: As a counter - how else could you make a class variable?
23:31:56 <lament> 15:31 <augur> you said earlier its not a supposed global variable
23:32:00 <lament> 15:31 <augur> and now you just said you suppose it is a global variable
23:32:04 <lament> either learn to read english, or stop trolling
23:32:09 <tusho> Tell us one way. Otherwise, obviously, since a global will work, it's the only way, if there's no other way.
23:32:18 <augur> tusho: the same way you make instance variables instance variables
23:32:34 <augur> having some struct in memory representing the class variables.
23:32:49 <tusho> augur: show us an example
23:32:51 <tusho> that actually runs
23:32:52 <lament> augur: objc has instance variables because there's language-level support for them.
23:33:00 <lament> there's no langugae-level support for class variables.
23:33:16 <augur> and yet you show no proof that these things are global
23:33:32 <augur> hey, im just asking you to show me that this is the case
23:33:40 <augur> here watch, i'll be you, but not you
23:33:41 <tusho> augur: Show us a runnable example. Now.
23:33:51 <lament> please, just go read an objective c reference - that part of it that says "objective c does not have class variables"
23:33:51 <tusho> Either that or you have no case.
23:33:58 <augur> actually they're not global variables
23:33:59 <tusho> As, if there isn't any other way to do it, it has to be the one way that you _can_ do it.
23:34:06 <augur> they're really is language level support
23:34:16 <tusho> show us. show us. show us. show us.
23:34:23 <tusho> if you say 'i don't have to', you have no leg to stand on
23:34:27 <augur> ill show you as much as lament shows.
23:34:51 <augur> im doing nothing more than lament
23:35:02 <tusho> you're proving your point! In a totally EDGY way.
23:35:05 <augur> ofcourse im doing it for irony
23:35:12 <augur> theres no point to prove
23:35:13 <tusho> Irony fuck yeah! You rock!
23:35:15 <tusho> Show it to the man./
23:35:23 <augur> tusho stop being an idiot
23:35:31 <lament> augur: what you're doing is destroying your credibility as somebody worth talking to
23:35:49 <lament> not your credibility in terms of how much you know or don't know objective c, that's not the point
23:35:54 <augur> how? by demanding you show me?
23:36:06 <augur> im not being an asshole
23:36:09 <augur> im asking you to just show me
23:36:24 <augur> otherwise you're full of shit
23:36:44 <augur> and its your credibility thats been destroyed
23:36:54 <augur> because you're now logged as making claims without backing them upo
23:37:00 <tusho> Unfortunately, augur tends to think everything that is not exactly what he personally thinks (whether backed up by evidence or not) is completely wrong, and since we are not providing 100% scientific proof, we are obviously wrong, he is obviously right, and because you're not providing perfect and utter proof (even if you are), he does not have to back up his opinions whatsoever.
23:37:09 <augur> tusho stop being a child.
23:37:18 <augur> ive said multiple times that i dont know how its done
23:37:23 <lament> okay, this is from the apple objc reference: "For all the instances of a class to share data, you must define an external variable of some sort."
23:37:23 <augur> hence why im asking for evidence
23:37:50 <tusho> augur: you are accusing lament of fabricating a quote from apple's objective c reference
23:37:51 <augur> you obviously have the link
23:37:52 <tusho> are you fucking kidding
23:38:04 <augur> he obviously has the link
23:38:06 <lament> no, i obviously have the document stored locally on my computer because i need to refer to it
23:38:09 <augur> and yet he wont copy and paste it
23:38:16 <lament> because i program in objective c for work
23:38:33 <augur> googled, verified, and accepted.
23:38:56 <augur> tusho: you're 12. you're an idiot. go away.
23:39:03 <tusho> you know. at the start of writing that long message.
23:39:07 <tusho> I considered saying
23:39:13 <tusho> 'and now watch augur bring up my age because he's out of arguments'
23:39:18 <tusho> 'no, that'll just inflame him'
23:39:22 <tusho> 'he hasn't done that since forever.'
23:39:27 <tusho> so. fucking. typical
23:39:36 <augur> im not the only one who's noticed that you act like a child.
23:39:50 <tusho> you're making a fool of yourself, augur
23:39:50 <augur> but others have been kind to you and not mentioned in in public.
23:40:06 <augur> and you're still an idiot who thinks i was making an argument that trying to prove somthing
23:40:09 <tusho> yes, they've obviously had intense discussions in #omg-tusho-is-12
23:40:13 <tusho> giggling behind my backs
23:40:41 <augur> hey, you've gotta make shit up to argue.
23:40:55 <tusho> augur: so what, how do you know people have noticed it? do they confide in you?
23:40:58 <augur> im not the one going around making up things to attack.
23:40:58 <tusho> are you a priest or something?
23:41:08 <augur> shall i quote them to you?
23:41:56 <lament> this is the first time i see personal insults between channel regulars
23:42:10 <tusho> lament: i'd like to know what these people have had to say.
23:42:16 <augur> you know, forget it, im not playing your game tusho.
23:42:30 <tusho> augur: quote it, or you're fabricating evidence to scare me or something
23:42:36 <tusho> it's not a game, I'm intrigued.
23:42:54 <augur> because you're trolling, and by responding to your childishness i've already lost to it.
23:43:00 <tusho> augur: i'll stop trolling.
23:43:04 <lament> augur: you keep insulting him.
23:43:13 <augur> yep, im fabrication evidence.
23:43:18 <tusho> lament: just let him quote. i'm interested.
23:43:23 <augur> or rumored evidence.
23:43:31 <augur> as the case may be.
23:44:36 <augur> ask rodger the great.
23:44:44 <tusho> he's stated that in public, actually
23:44:50 <tusho> but do show your non-public quotes
23:44:52 <augur> oh well nevermind then.
23:44:55 <tusho> i'd love to see them
23:46:17 <augur> night lament, thank you for (frustratingly) enlightening me to how ObjC handles "class variables"
23:46:40 <tusho> lament: he pulled it out of his arse, didn't he.
23:47:44 <augur> aw tusho are you really that eager to see rodger say you act like a child?
23:48:10 <augur> oh but how do you know i didn't just make it up with my magical typing skills?
23:48:20 <tusho> i don't. so show me.
23:48:39 <augur> RodgerTheGreat: Tusho needs to die in a fire.
23:49:08 <augur> actually i made that up but hey, what he said.
23:49:24 <tusho> you're retarded, augur. :)
23:49:38 <tusho> you claimed that I was the one who needed to fabricate stuff for my arguments
23:49:51 <tusho> i do like RodgerTheGreat's implicit attack, though
23:49:53 <augur> i dont, it was another attempt to make a point
23:49:57 <augur> one that flew over your head.
23:50:17 <tusho> btw, fuck you RodgerTheGreat :)
23:50:24 <augur> if i quoted something to you, you'd just come back and say that i made it up
23:50:49 <augur> that its just text in a log file on my computer and i have no proof rodger ever said it
23:51:04 <augur> so theres no point in even quote it at all.
23:51:17 <RodgerTheGreat> there's a reason people don't take youngsters seriously on the internet, and you, tusho, are a shining example of this.
23:51:20 <augur> because you dont want to see the quote, you just want to call me a liar.
23:51:40 <tusho> RodgerTheGreat: I note that, pre anyone knowing anything about my age, people used to use reasoned arguments in here.
23:51:52 <augur> reasoned arguments?
23:51:58 <augur> you mean like the one you used earlier against me?
23:52:08 <augur> the one where im trying to prove some point
23:52:15 <augur> when all i was doing was asking for evidence
23:52:19 <augur> that reasoned argument?
23:52:25 <tusho> RodgerTheGreat: Everything can be backed up by bash.org!
23:52:34 <tusho> (Especially when it's totally irrelevant)
23:52:51 <augur> what hes saying is that we didnt need to find out you were 12
23:52:55 <augur> because you act like it
23:53:12 <tusho> I don't recall anyone saying anything like that in the past, ever, actually
23:53:20 <tusho> If you have secret logs of that too I'd enjoy seeing them.
23:54:34 <augur> you need to fucking chill, tusho. and learn how to argue. you make shit up, and thats bad form.
23:54:57 <tusho> augur: i am pretty chill right now, actually - you're the one who said 'tusho needs to die in a fire', then RodgerTheGreat called me a little pest
23:55:02 <lament> thank god, while tusho is a stupid 12-year old, the rest of us are mature and reasonable
23:55:11 <tusho> perhaps some chilling might be warranted on both of your parts.
23:55:12 <lament> as exemplified by "<augur> tusho: you're 12. you're an idiot. go away."
23:55:17 <augur> actually i said that as a fake quote to prove a point
23:55:24 <tusho> you're doing well with your point-proving
23:55:26 <augur> you still dont get that.
23:55:49 <augur> you're 12, i should know better to expect you to be smart enough to grasp these things
23:56:11 <tusho> this is a lovely ridiculous conversation, it's quite fun.
23:56:33 <augur> lament: nevermind the fact that i was talking to you and he was being childish and distracting? please.
23:57:26 <augur> i was asking you for evidence, and he was being noise, screaming his head off in typical childlike fashion. what i said valid and relevant.
23:57:38 <augur> and if you dont grasp why, you're an idiot too, and you should go away.
23:57:57 <tusho> augur: you just told the chanop that he's an idiot and he should go away
23:58:41 <lament> tusho actually said exactly how you can do globals in objc
23:58:54 <lament> before i bothered to quote the reference
23:58:57 <augur> saying that you can is not evidence of how its done
23:59:14 <augur> you claimed it was done with globals and all i did was ask you to show me how it was done.
23:59:20 <augur> all he did after that point was troll.
23:59:40 <augur> you claim i was trolling but he was the one contributing nothing to the conversation at all, other than noise.
00:00:01 <augur> "Proof. With SCIENCE!"
00:00:06 <augur> oh thats very constructive.
00:00:10 <lament> (apparently you can use static rather than global, which is better since now it's confined to the file where the class is defined. So it's almost like a real class variable. Still it's just a C feature, and doesn't really work as a class variable due to the initialization issue)
00:00:23 <tusho> i showed you how it was done, augur.
00:00:25 <tusho> you just ignored me.
00:00:43 <augur> no, you said it could be done like so and so.
00:00:46 <augur> you showed nothing.
00:00:56 <augur> Lament, on the other hand, provided a quote from the specs.
00:01:04 <augur> or from the docs, rather.
00:01:31 <augur> the fact that you mock requests for evidence is all the demonstration anyone needs of your idiocy.
00:01:35 <tusho> i said, and then showed code examples, augur.
00:01:47 <lament> see, if i go to ##c and ask them whether C has objects, and they say no, and if I then ask them to provide evidence from documentation for that
00:01:51 <tusho> while lament backed up why this was as it was.
00:02:02 <lament> that would be somewhat unreasonable of me
00:02:03 <augur> the fact that you then go on to request evidence of your own, when i humorously make counter claims, is further proof.
00:02:26 <augur> i understand that lament, but this is not #objectivec
00:02:45 <augur> and its not unreasonable in this context
00:03:01 <lament> well, does C have objects? :)
00:03:11 <augur> given that Objective C is an OO language that has something that looks and behaves fairly similarly to class variables.
00:03:20 -!- poiuy_qwert has joined.
00:03:21 <tusho> 'humorously make counter claims' = 'troll while stating your point without any evidence after we have provided quite a bit'
00:03:46 <augur> tusho, you have yet to learn to finer points of parody.
00:03:59 <augur> you never provided evidence.
00:04:03 <augur> lament did, eventually.
00:04:06 <tusho> if that was the finer points of parody, I prefer the coarser type
00:04:19 <oklopol> lament: just kick the kid :P
00:04:28 <tusho> oklopol: kid is whom in this case?
00:04:34 <tusho> pretty sure lament and me are arguing with augur
00:04:36 <tusho> not any other combination
00:04:45 <oklopol> tusho: well, i usually agree with lament
00:04:52 <tusho> (and while lament was telling you why it was the only way, I provided a code example showing that you _could do it that way_)
00:05:03 <augur> i think i agree with lament here too, for the most part. lol
00:05:05 <tusho> (why would I be a duplicate of lament? we were sharing the work out.)
00:05:16 <tusho> augur: ... but not me, even though I am making the same damn argument?
00:05:19 <augur> i never said you couldnt do it using global variables
00:05:49 <augur> you werent making any arguments, which is the problem. you were making noise.
00:05:54 <tusho> augur: fine, it sounded like you were.
00:06:01 <tusho> you could have specified further.
00:06:09 <augur> specified what further?
00:06:14 <augur> there was nothing to specify
00:06:15 <tusho> even so, the attacks made on me after that were completely unneccessary
00:06:35 <augur> i wasn't making any argument so there was nothing i could specify
00:08:20 <augur> i dont even know why it was such a fucking big deal to begin with
00:08:47 <tusho> it wasn't, but you kept talking about it
00:08:52 <augur> "er.. doesn't objc have class vars?" "no." "oh? but..." "actually, they're just globals: <link>"
00:09:06 <augur> uh, tusho, i asked for evidence.
00:09:11 <augur> after that it was all up to you.
00:09:22 <augur> twenty minutes later
00:09:48 <lament> augur: instead of "oh? but...", there actually was a bunch of "yes it does. yes it does."
00:10:11 <augur> actually lament, there was not "yes it does yes it does"
00:10:22 <augur> but what about this: [NSColor redColor] and other examples.
00:10:35 <augur> which is the "but..."
00:10:36 <tusho> and we explained actually augur
00:10:46 <tusho> then you went back to yes it does. yes it does.
00:10:53 <oklopol> Slereah_: anyone who spells IQ with a C has trouble with their IQ!
00:11:10 <augur> tusho, read your logs.
00:11:41 <oklopol> irc would be a better place without them
00:11:58 <augur> i said yes it does once
00:12:10 <augur> in saying that objective c has what amounts to class variables.
00:12:41 <augur> anyway this is silly.
00:12:45 <augur> now were arguing about arguing.
00:12:55 <augur> and all this does is breed bad blood.
00:13:03 <augur> im sorry i brought up your age against you, tusho.
00:13:25 <tusho> pretty sure it bled bad blood when you faked a quote from RodgerTheGreat about me burning and them him agreeing, but I agree. let's shut up about it. this is ridiculous
00:13:33 <augur> i promised not to do that and i broke that promise.
00:14:02 <augur> uh.. i faked the quote with the fairly obvious fact that it was fake. :P
00:14:12 <tusho> yeah, I was referring to his following up of it, not you
00:14:21 <tusho> let's talk about esolangs
00:14:31 <tusho> (LIKE OBJ-C CAUSE IT DOESN'T HAVE CLASS VARIABLES HUR HUR HUR)
00:15:26 <augur> some people would say Obj C isnt object oriented.
00:15:53 <augur> then again, its a good question what object oriented really means, in the context of ObjC, given that Obj C is just sugar.
00:16:22 <lament> i think it's best to not attempt to define object-oriented
00:16:24 <tusho> smalltalk is pretty close to 'real object orientation', i guess
00:16:36 <lament> there're programming languages, and they have features
00:16:53 <augur> i think Java is probably justifiably called object oriented
00:17:01 <augur> atleast in that it forces you to write with objects
00:17:08 <tusho> alan kay would certainly barf
00:17:10 <augur> you cant do shit in Java without using objects
00:17:15 <augur> oh im sure alan kay would
00:17:20 <tusho> doesn't make it object oriented though :)
00:17:39 <augur> and while i agree with him on this matter, he's not the smartest guy in the world.
00:17:53 <augur> so i wouldn't use his approval as the benchmark of OOness.
00:18:02 <tusho> but java has several bad stuff
00:18:08 <augur> oh ofcourse it does
00:18:11 <augur> its horrible and vil
00:18:28 <augur> just not fast enough
00:18:30 <tusho> it uses them as a clutch because it doesn't haev sufficient metaprogramming abilities to define accessors easily
00:18:34 <tusho> augur: thankfully the JVM isn't all that bad
00:18:41 <tusho> so lots of languages are going on it
00:18:43 <tusho> and reaping it's stdlib
00:18:47 <augur> everything Java based i've ever used has been shitty
00:19:02 <augur> except tiny programs written by science people
00:19:19 <augur> raping? whats this about raping?
00:19:23 <tusho> raping java's stdlib
00:19:25 <tusho> for their own benefit
00:19:30 <tusho> the new jvm languages
00:20:14 <augur> and here i thought we were talking about you again.
00:20:22 <augur> you mean they're compiling to JVM byte code?
00:20:44 <augur> what the fuck is it that makes Java so fucking shitty? can someone explain this to me?
00:20:48 <augur> i mean, its always slow
00:21:06 <augur> and its supposed multiplatformality is a joke
00:21:10 <tusho> augur: well, observer effect [ i think ] for one
00:21:15 <tusho> it's not actually THAT bad
00:21:20 <augur> oh my god dude it is
00:21:20 <tusho> but since you dislike it for being bad
00:21:28 <augur> its so fucking slow
00:21:28 <tusho> it gets in your mind really really bad
00:21:36 <tusho> it has a slow startup
00:21:39 <tusho> but it is not slow, no way
00:21:48 <tusho> it's not slow, augur :\
00:21:48 <augur> everything ive used in Java is slow as fuck
00:21:59 <augur> ive written JAVASCRIPT that runs faster than these things
00:22:19 <augur> you say its not slow, but run azureus/vuze
00:22:31 <augur> its also a resource hog for no fucking reason
00:22:47 <augur> everything ive ever used that was java sucked.
00:23:00 <augur> people tell me it doesnt suck but ive never seen it do anything but suck
00:23:01 <tusho> azuerus is a memory hog and slow, augur
00:23:08 <tusho> it has a slow startup, but the language itself is fast
00:23:15 <augur> then i must be getting all the shit programs
00:23:25 <augur> because azureus is like all the rest ive used.
00:23:32 <tusho> there's a lot of shit java programs, no doubt :p
00:23:38 <tusho> it makes it pretty darn easy to write them
00:23:42 <tusho> but one thing it is not is particularly slow
00:23:59 <augur> but i can only form an opinion based on what ive used so my opinion is still that java blows.
00:24:12 <tusho> s/java/a huge load of java applications/
00:24:21 <tusho> but not quite as much as it seems to via applications
00:25:01 <lament> i think a lot of java hating is because people disagree with its philosophy
00:25:21 <lament> it promotes a specific type of software engineering
00:25:29 <augur> lament how old are you?
00:25:32 <lament> that many people justifiably dislike
00:25:58 <augur> damn. too young for the #esoteric orgy im planning.
00:26:10 <tusho> lament: don't pretend.
00:26:14 <tusho> we all know you're 7.
00:26:18 -!- timotiis has quit (Connection timed out).
00:26:20 <tusho> we can tell from the way you speak!
00:26:35 <augur> you have a lisp. we can hear it over the interwebs.
00:26:50 -!- Corun_ has changed nick to Corun.
00:27:03 <augur> slereah, are you coming? oklopol'll be there :o
00:27:09 <augur> ::orgies with oklopol and slereah::
00:30:41 <tusho> it's a shitty lisp though
00:31:16 <lament> ARC - stands for A Really Crappy
00:31:55 <augur> i dont know how much Arc varies from clisp
00:31:59 <augur> i like scheme tho.
00:32:06 <tusho> arc is just ... intolerably crap
00:32:26 <tusho> 2. Hype it. For 5 years.
00:32:39 <tusho> 3. Write a 1000-line Arc->Scheme compiler that renames 'lambda' to 'fn' and makes a few names shorter.
00:32:42 <augur> yeah that was a long time to make a language for
00:32:46 <tusho> 4. Make sure it doesn't support unicode.
00:32:54 <augur> but atleast its not JS2
00:32:56 <tusho> 5. Write a crappy, crappy web app library that won't scale and frankly sucks.
00:32:57 <augur> JS2 has been in the works for on
00:33:06 <tusho> 6. OMG!!!!! ARC!!! FUCK YEAH BITCHES I ROCK SUCK MY DICK <3
00:33:13 <augur> and its just Javariffic
00:33:41 <augur> who takes 10 years to design a language?
00:33:52 <augur> especially given the small amount thats been added
00:37:34 <lament> i've been learning a simple piano piece for 10 years
00:38:03 <lament> there's just always other stuff for me to do :)
00:42:48 -!- Slereah__ has joined.
00:44:57 <augur> you can learn a simple piano piece for life and still not grasp it, if its the right piece
00:45:18 <augur> but thats a completely different thing than adding classes to JS.
00:45:26 <augur> which is really all that JS2 amounts to.
00:45:57 <tusho> js2 adds optional static typing with quite some nice types
00:46:28 <tusho> including better debugging
00:46:33 <tusho> a nicer browser api
00:46:45 <tusho> and the type system is in fact very good
00:46:49 <tusho> it can type higher order functions and all
00:48:21 <tusho> oh, and does anyone find it funny how MS guys can never say javascript on their blogs
00:48:23 <tusho> it's always jscript
00:53:27 -!- Slereah__ has quit ("kthxbai").
01:01:06 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
01:01:23 <augur> thats because ms is afraid of getting sued by sun.
01:01:36 <augur> and i dont think any of those things warrant a 10 year development time.
01:01:55 <tusho> 'adding classes to JS./which is really all that JS2 amounts to'
01:01:59 <tusho> i was responding to that
01:03:18 <augur> i dont think those other features will be used terribly much.
01:03:29 <augur> i think the only thing that will really be used extensively, and rightfully so, is the classes.
01:03:57 <augur> the debugging sure, but the API yes ofcourse
01:04:24 <augur> namespaces? probably not.
01:04:38 <tusho> uhm, all the ecmascript4 code people are prototyping up is in namespaces
01:04:41 <tusho> they're just java packages
01:04:44 <tusho> namespace foo.bar.baz;
01:05:01 <tusho> quite a bit of it uses types, too
01:05:18 <augur> i mean in real programs, not the imaginary beta programs. :P
01:05:28 <tusho> there are prototype compilers
01:05:33 <augur> so tusho are you coming to the #esoteric orgy?
01:05:35 <tusho> and there are people using them for real to semi-real things
01:06:11 <augur> because you live with your parents.
01:06:28 <augur> and i dont think they want a bunch of guys from #esoteric fucking their son
01:06:31 <augur> i mean lets be serious
01:06:48 <augur> who wants #esoterics fucking their kids, its a terrifying prospect
01:06:54 <oklopol> many 19-year-olds live with their parents here
01:06:55 <tusho> augur: same problem with oklopol, you know.
01:07:13 <augur> oklopol, you live with your parents? hm. i had figured you lived with your girlfriend.
01:07:21 <augur> since she seems to be around so much.
01:07:23 <oklopol> i haven't said either one of those
01:07:56 <oklopol> well, i may have, but that data may be outdated
01:08:19 <oklopol> how i live isn't public info really
01:09:01 -!- oklopol has quit (clarke.freenode.net irc.freenode.net).
01:09:01 -!- bsmntbombdood has quit (clarke.freenode.net irc.freenode.net).
01:09:11 -!- oklopol has joined.
01:09:13 <augur> theres a female in #esoteric?
01:09:15 <augur> and she's oklopol's girlfriend?
01:09:29 <tusho> i think it's just oklopol though
01:09:34 <augur> oklo, youre girlfriend lurks here?
01:09:37 -!- bsmntbombdood has joined.
01:09:40 <tusho> hes netsplit augur
01:09:49 <oklopol> you and your wild fantacies
01:09:51 <oklopol> first it was me, then it was my gf
01:09:53 <oklopol> when there's no proof it was either
01:09:55 <augur> not for me any more.
01:10:07 <tusho> ok then oklopol who is hotidlerchick
01:10:42 <augur> oklo, lemme see your girly
01:10:55 <tusho> oklopol: same ip, dude
01:11:07 <tusho> and they type like you
01:11:10 <tusho> and you never talk at the same time
01:11:39 <oklopol> tusho: i doubt we've ever had the same ip, but otherwise that sounds pretty sound.
01:11:41 <augur> now hes gonna write a script that lets him randomize message send times by half a second
01:12:00 <augur> oklopol, show me your girly
01:12:11 <augur> or better yet, show me you, naked, in high resolution
01:14:42 <tusho> augur: i assume you will be posting it in here for scientific study relating to the orgy.
01:15:08 <augur> tusho, i agree with you: wait wut
01:15:12 <oklopol> nooo it was just fo you my darling
01:15:14 <augur> cmon oklopol. WHERE IS IT
01:15:41 <augur> i will share nothing, have no fear!
01:15:59 <oklopol> i think the hotness of the pic made the tubes tighten up.
01:16:09 <tusho> augur: he's pulling an augur
01:16:27 <augur> its not a dumptruck its a series of tubes!
01:19:02 <augur> its a quote from an the american senator from alaska
01:19:17 <augur> the quote that spawned the whole "tubes" thing
01:19:19 <tusho> augur: dude. he knows that.
01:19:32 <augur> he might not, hes finnish.
01:19:39 <augur> and lives in finland.
01:19:41 <augur> they dont have the internet there!
01:19:59 <oklopol> augur: i don't understand what you meant by that, yes, that was what i was referring to
01:20:13 <oklopol> hey we have lots of internet!
01:20:39 <oklopol> we basically eat it for dinner
01:20:56 <augur> i hear its tasty smoked
01:27:36 -!- tusho has quit.
01:44:32 -!- cherez has quit (Remote closed the connection).
01:44:58 -!- cherez has joined.
02:22:05 -!- augur has quit (Read error: 110 (Connection timed out)).
04:16:11 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
04:24:11 -!- moozilla has joined.
04:29:19 <RodgerTheGreat> oklopol: oh haha, I get the joke- you type with your hands
05:13:45 -!- Parma-Quendion has joined.
05:14:21 -!- Corun has quit ("This computer has gone to sleep").
05:15:40 -!- Quendus has quit (Read error: 104 (Connection reset by peer)).
05:17:37 -!- Parma-Quendion has changed nick to Quendus.
06:15:38 -!- poiuy_qwert has quit.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:10:19 -!- augur has joined.
09:12:26 <oklopol> RodgerTheGreat: good for you, i was not as lucky
10:49:00 -!- Corun has joined.
11:05:41 -!- augur has quit (Read error: 110 (Connection timed out)).
11:50:06 -!- Slereah_ has joined.
12:54:33 -!- Corun has quit ("This computer has gone to sleep").
13:05:34 -!- fizzie has quit (clarke.freenode.net irc.freenode.net).
13:05:34 -!- atsampson has quit (clarke.freenode.net irc.freenode.net).
13:05:34 -!- Dewi has quit (clarke.freenode.net irc.freenode.net).
13:05:34 -!- lifthras1ir has quit (clarke.freenode.net irc.freenode.net).
13:05:34 -!- shachaf has quit (clarke.freenode.net irc.freenode.net).
13:08:22 -!- atsampson has joined.
13:08:22 -!- Dewi has joined.
13:08:22 -!- shachaf has joined.
13:08:22 -!- lifthras1ir has joined.
13:08:22 -!- fizzie has joined.
13:53:10 -!- Corun has joined.
14:22:53 -!- pikhq has joined.
14:35:17 -!- oklopol has quit (Read error: 110 (Connection timed out)).
15:06:53 -!- oklopol has joined.
15:28:11 -!- timotiis has joined.
15:36:22 -!- pikhq has left (?).
15:40:51 -!- pikhq has joined.
15:58:52 -!- timotiis has quit (Read error: 110 (Connection timed out)).
16:04:06 -!- ais523 has joined.
16:20:34 -!- tusho has joined.
16:21:04 <ais523> at least that time I started writing before your message arrived
16:21:11 <ais523> but yours came before I finished typing it
16:21:18 <tusho> I typed it after joining.
16:21:26 <tusho> So yay. that was fair.
16:21:30 <ais523> you win that one fairly
16:27:18 -!- ais523 has quit (Remote closed the connection).
16:29:01 -!- ais523 has joined.
16:34:23 -!- Oyama has joined.
16:40:27 -!- ais523 has quit (Remote closed the connection).
16:40:48 -!- ais523 has joined.
16:59:17 -!- Oyama has quit (Remote closed the connection).
17:09:30 -!- oklopol has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )").
17:30:29 -!- oklopol has joined.
17:33:09 -!- atrapado has joined.
17:36:44 <ais523> are you in the mood for learning more INTERCAL?
17:36:48 <ais523> or should I do something else?
17:37:53 <ais523> well, before I had to go yesterday I gave you a simple program that did output to run
17:38:03 <ais523> READ OUT is the output command
17:38:15 <ais523> and #123 is how you write the constant 123 in INTERCAL
17:38:29 <ais523> although INTERCAL supports numbers up to 32-bit, constants can be at most 16-bit
17:38:41 <ais523> and you need to use expressions in order to create larger values
17:39:11 <ais523> also, READ OUT outputs in Roman Numerals
17:39:26 <ais523> and it can only be used to output variables or constants
17:39:32 <oklopol> also think i've heard oerjan or you mention it
17:39:39 <ais523> if you want to output an expression, you have to assign it to a variable first
17:39:57 <ais523> ok, probably best to move onto variables now
17:40:05 <ais523> you have 65535 16-bit variables
17:40:10 <ais523> and 65535 32-bit variables
17:40:20 <ais523> a 16-bit's variable's name is . followed by a number
17:40:32 <ais523> and a 32-bit variable's name is : followed by a number
17:40:46 <ais523> you assign to a variable using the <- command
17:41:41 <ais523> so you can write a simple test program like this:
17:41:49 <ais523> DO .1 <- #10 DO READ OUT .1 PLEASE GIVE UP
17:42:02 <ais523> (whitespace is unimportant in INTERCAL, sort of like it is in C)
17:42:19 <ais523> also, note that the DO/PLEASE ratio becomes important once you have at least 3 commands
17:42:31 <ais523> the ratio must be from 2:1 to 4:1 to avoid an error
17:42:33 <oklopol> i'm assuming #'s are in base 10
17:42:38 <ais523> oklopol: yes, they are
17:42:41 <oklopol> because you didn't mention anything about a base
17:42:52 <ais523> the opposite of READ OUT is WRITE IN, by the way
17:42:58 <ais523> you have to spell out the number as digits in allcaps
17:43:03 <ais523> when entering the number
17:43:18 <ais523> that accepts several non-English language, though, most of which you're unlikely to know
17:43:25 <ais523> Latin's probably the second-most-popular on the list
17:43:47 -!- atrapado has quit (Remote closed the connection).
17:43:51 <ais523> also Volapuk, Tagalog, Basque, Georgian, Nahaiutl, and a few others I can't remember
17:43:55 <ais523> you can look it up, though
17:44:05 <ais523> do you know numbers in it?
17:44:17 <ais523> probably best to stick to English, then
17:44:25 <ais523> besides, the accents are a pain to get right
17:44:43 <ais523> now, INTERCAL-72 has 5 operators
17:44:48 <ais523> none of which are entirely standard
17:45:04 <tusho> ais523: i'd quite like to have intercal lessons, but i'd prefer them personally, so not now
17:45:06 <ais523> as in, they're standard in INTERCAL
17:45:13 <ais523> but not used by other languages
17:45:20 <ais523> oklopol: well, there's an accent on the u for starters
17:45:27 <oklopol> ais523: you mean the umlaut?
17:45:37 <ais523> it's not really an accent, I suppose
17:45:41 <oklopol> accent is a weird term for it
17:45:49 <oklopol> since it isn't an accent :P
17:45:52 <ais523> oklopol: it's because I'm used to thinking in English
17:46:14 <ais523> there are three unary operators, AND, OR, and XOR
17:46:21 <ais523> the unusual thing about them comes from them being unary
17:46:32 <ais523> basically, if you imagine a number written in binary
17:46:45 <ais523> then the bottom bit of AND of that number is the AND of its bottom two bits
17:47:00 <ais523> the second-least-significant bit is AND of the second- and third- least-significant bits
17:47:15 <ais523> with the most significant bit of the result being the AND of the most and least significant bits
17:47:15 <oklopol> can you show more graphically?
17:47:59 <ais523> #&13 is 0100, which is 0&1 1&1 1&0 0&1
17:48:21 <ais523> (in INTERCAL, unary operators come after the first character of their argument)
17:49:00 <ais523> XOR is an interesting one
17:49:09 <ais523> the portable way to write it is V then a literal backspace then -
17:49:14 -!- augur has joined.
17:49:19 <ais523> but C-INTERCAL also accepts ? because it's easier to type
17:49:45 <tusho> ais523: this is very late morning.
17:49:55 <augur> im in ansbach so its really 7pm but its morning back in the states :p
17:50:00 <ais523> tusho: it's about 10 to 6 in your time zone
17:50:07 <tusho> ais523: very very very late morning, yes
17:50:21 <ais523> oklopol: anyway, those operators aren't particularly useful by themselves
17:50:26 <ais523> there are two binary operators too
17:50:28 -!- timotiis has joined.
17:50:30 -!- jix has joined.
17:50:34 <ais523> which are called ~ and $
17:50:45 <ais523> $ is probably easier to explain, it alternates bits in its arguments
17:50:53 <ais523> so the last bit of $'s result is the last bit of its second argument
17:51:02 <ais523> the penultimate bit is the last bit of its first argument
17:51:14 <ais523> the 3rd-last bit of its result is the 2nd-last bit of its second argument
17:51:21 <oklopol> (binary_operator number) = (binary_operator number (leftshift number 1)), right?
17:51:46 <ais523> oklopol: rotate, rather than shift, also it's a rightshift
17:52:13 <ais523> $ is pronounced 'mingle' or 'interleave', by the way
17:52:56 <ais523> also, mingles are a pain to do in your head
17:53:03 <ais523> more so than any of the other operators, I find
17:53:20 <ais523> CLC-INTERCAL's guestbook uses them for its CAPTCHA
17:53:25 <ais523> which I often get wrong
17:53:37 <ais523> the remaining operator, ~, is called 'select'
17:53:51 <oklopol> #&1101 = 00001101 & 10000110 in case it's a right rotate, guess i didn't get it after all.
17:54:06 <oklopol> i think i can guess that one
17:54:12 <ais523> #&1101 = 00001101 & 10000110 = 00000100
17:54:19 -!- Sgeo has joined.
17:54:43 <ais523> oklopol: well, it does an ordinary bitwise-and between its arguments (like in C), but then sorts the bits of the result by the bits of the second argument
17:55:30 <ais523> so, say, #12 ~ #5 is 00001100 ~ 00000101 is 000000 10 (the 6 bits corresponding to 0s in the right argument come first, then the 2 bits corresponding to 1s in the right argument)
17:55:40 <ais523> that's actually the most useful and interesting operator in INTERCAL
17:55:49 <ais523> although it needs to be combined with the others to do useful work
17:55:57 <ais523> oh, and it's a stable sort
17:56:10 <ais523> as in, the bits end up in the same order if they correspond to 1s in the second argument
17:56:30 <oklopol> okay it was a bit more interesting than i though.
17:56:58 <ais523> strangely enough, select's the only INTERCAL operator that was ever independently implemented in hardware
17:57:18 <ais523> as in, implemented by someone unaware of INTERCAL, by coincidence
17:57:29 <ais523> one final thing: INTERCAL has no operator precedence
17:57:46 <ais523> you must specify precedences yourself where ambiguous by using explicit ' ' and " "
17:57:51 <ais523> which act like parentheses in other langs
17:58:04 <oklopol> can you start with either @ toplevel?
17:58:17 <ais523> you can even mix them within a level as long as it's unambiguous
17:58:22 <ais523> but doing so can leave the result hard to read
17:58:34 <ais523> alternating on different levels is the standard for relatively readable code
17:59:06 <oklopol> okay, i'm with you sofar, go on.
17:59:23 <ais523> for instance, one common way to simulate C's & operator: " '& .1 $ .2' ~ '#0 $ #65535' "
17:59:34 <ais523> can you see how that works?
18:00:01 <ais523> well, .1 $ .2 alternates bits in .1 and .2
18:00:15 <ais523> then you select every second bit from the result
18:00:25 <ais523> oklopol: no, there isn't
18:00:33 <ais523> the & is applying to '.1 $ .2'
18:00:34 <oklopol> well, unary after binary in this case
18:00:42 <ais523> but it comes one character later than the start of the group
18:01:03 <ais523> well, unary always applies to the thing it's one character inside
18:01:05 <oklopol> i assumed you'd have to do & ".1 $ .2".
18:01:20 <ais523> oklopol: that's a syntax error, the & is one character too early
18:01:48 <ais523> yes, there's unary before binary precedence
18:01:54 <oklopol> yeah, but i get how unaries work now, i think.
18:01:56 <ais523> but the manual won't admit to it
18:02:36 <tusho> ais523: can I name a variable after an expr result
18:02:38 <oklopol> i do get the and now, at least somewhat
18:02:45 <ais523> tusho: what do you mean?
18:02:54 <tusho> would make :<result of #34>
18:03:05 <ais523> after all, Perl does that
18:03:18 <ais523> besides, #34's a syntax error
18:03:29 <ais523> oh, one other important point to mention: in INTERCAL, syntax errors happen at runtim
18:03:39 <ais523> you're allowed to put them in your program
18:03:43 <ais523> so long as they never run
18:03:46 <tusho> :#34 <- .#34
18:03:52 <tusho> put .(that) into :(that)
18:04:07 -!- jix has quit ("This computer has gone to sleep").
18:04:26 <ais523> tusho: as I've sead before, #34's meaningless anyway
18:04:50 <ais523> oklopol: here's another common idiom for you to try: what does " .1 ~ .1 " ~ #1 do?
18:05:54 <ais523> because it ANDs .1 with itself
18:05:59 <ais523> then sorts the bits in the result
18:06:12 <ais523> so if there are any 1 bits in the result, they'll be selected by the ~ #1
18:06:15 <oklopol> yeah i can see the bits flying about in my head
18:06:30 <ais523> time to move on to flow control, then
18:06:45 <ais523> it's possible to give any line a line label
18:06:49 <ais523> by putting a number in parens before it
18:06:57 <ais523> so you could do (10) DO .1 <- #1
18:07:06 <ais523> sorry, s/line/command/
18:07:12 <ais523> because INTERCAL's whitespace-insensitive
18:07:20 <ais523> and INTERCAL-72 has three control-flow commands
18:07:23 <ais523> NEXT, RESUME, and FORGET
18:07:31 <ais523> NEXT is like a procedure call in other langs
18:07:36 <ais523> it jumps to the line you specify
18:07:43 <ais523> and saves the return address on the NEXT stack
18:07:53 <ais523> it's written as DO (10) NEXT
18:07:54 <oklopol> it has an arbitrary limit on height?
18:08:19 <ais523> RESUME takes one argument, which is an expression
18:08:32 <ais523> then it pops that many entries from the NEXT stack and returns at the last one popped
18:08:42 <ais523> so DO RESUME #1 returns from the procedure you're in
18:08:50 <ais523> but DO RESUME #2 returns from the procedure that called that one
18:09:16 <ais523> yes, also, RESUME with a non-constant expression is the main way to do a conditional jump in INTERCAL-72
18:09:34 <ais523> finally, FORGET removes entries from the NEXT stack
18:09:38 <ais523> as in DO FORGET #1 removes 1 entry
18:09:48 <ais523> btw, RESUME's an error if the argument is 0 or too large
18:09:57 <ais523> whereas FORGET just removes no entries or all the entries respectively
18:10:21 <ais523> let's see: the typical way to do a conditional jump's like this:
18:11:20 <ais523> DO .5 <- expression that returns 1 or 2 DO (2) NEXT code if 2 DO GIVE UP (2) DO (3) NEXT DO FORGET #1 code if 1 DO GIVE UP (3) DO RESUME .5
18:11:21 <tusho> ais523: http://esolangs.org/wiki/Antonio_Perez_Ayala
18:11:26 <tusho> this article needs to go away, methinks
18:11:34 <tusho> it starts with {{db-author}}
18:11:36 <tusho> which makes me lol
18:11:52 <tusho> even if you've made esolangs we're not your personal wikipedia outcast!
18:12:12 <ais523> tusho: I'm not sure whether to delete it or not
18:12:15 <ais523> db-author has no meaning in Wikipedia
18:12:23 <tusho> ais523: look at brainsub:
18:12:24 <tusho> # (cur) (last) 23:18, 8 July 2008 Smjg (Talk | contribs) m (hangon (continuing the idea of referencing templates that exist on Wikipedia but not here))
18:12:24 <tusho> # (cur) (last) 03:25, 8 July 2008 Aacini (Talk | contribs) (Replacing page with '{{db-author}}')
18:12:29 <ais523> let me check the history to see if it was always there
18:12:37 <tusho> i say we nuke antonio perez ayala, and BrainSub
18:12:43 <tusho> http://esolangs.org/w/index.php?title=BrainSub&oldid=11350
18:12:45 <tusho> ok, so he made an article
18:12:49 <tusho> and now wants it deleted
18:12:54 <tusho> wtf, man, whatever.
18:13:18 <ais523> well, the page about the author should probably be deleted, I think, due to the db-author
18:13:24 <ais523> Brainsub's a real esolang, though, isn't it?
18:13:28 <ais523> at least I've heard of it
18:13:31 <tusho> yes, but the author replaced it with db-author
18:13:34 <ais523> oklopol: understand my example above?
18:13:37 <tusho> and besides, the article is way too long
18:13:40 <tusho> much longer than the brainfuck article.
18:13:41 <oklopol> i'm just starting to read it
18:13:48 <ais523> tusho: that doesn't mean necessarily delete it, it doesn't on Wikipedia if someone else wants the article
18:14:00 <tusho> ais523: shrug they're both vanity pages
18:14:02 -!- Corun has quit ("This computer has gone to sleep").
18:14:02 <ais523> oklopol: oh, stuff in lowercase is just placeholders
18:14:06 <tusho> (started by the subject and mostly only revised by them)
18:14:07 <ais523> it's not part of INTERCAL syntax
18:14:27 <ais523> tusho: so, most of the stuff on Esolang's like that, and besides that's specifically allowed there
18:14:47 <tusho> (that o was a mistake)
18:14:54 <tusho> that I don't think either of them are particularly valuable articles
18:14:57 <tusho> maybe if it was stripped down a lot
18:15:08 <oklopol> ais523: let me think a sec.
18:15:15 <tusho> http://esolangs.org/wiki/FlogScript
18:15:20 <tusho> zzo38's golfscript answer
18:16:03 <tusho> Ia:{[{\}{.}{;}{+}{_{)()}S0\:}{{(}\+{)}+}{_+:}{P.}{}]_(\:{~:!*(a^S}1/?=~_,0=!F[}~
18:16:45 <ais523> I wonder if that's actually implementing Underlambda, i.e. does S preserve the source code or just paraphrase?
18:17:02 <ais523> oklopol: well, what I've told you is enough to write real and working INTERCAL-72 programs
18:17:09 <ais523> that's the more commonly used subset of the language
18:17:13 <ais523> but there are other useful commands too
18:17:51 <oklopol> come from didn't exist in 72?
18:18:05 <ais523> it's the most common extension
18:18:12 <ais523> so common that it's effectively standard
18:18:17 <ais523> even J-INTERCAL implemented it
18:18:23 <tusho> <ais523> I wonder if that's actually implementing Underlambda, i.e. does S preserve the source code or just paraphrase?
18:19:33 <oklopol> underload in cise, need to make
18:19:56 <ais523> I'd like to have a go in Underlambda too when I finish speccing it, it'll be short but probably not that short
18:20:00 <tusho> i should make ninjascript some time
18:20:13 <oklopol> cise in something, need to implement...
18:20:21 <tusho> it was going to be the only language that could consistently win both speed and size
18:20:44 <oklopol> cise doesn't currently have that much support for parsing
18:21:16 <tusho> here's how to take the factorial of the top element on the stack in ninjacode
18:21:37 <ais523> hmm... Overload (my aborted mammoth project for writing very short langs that I eventually tarpitted into Underload) was going to use Cyclexa for parsing
18:21:51 <tusho> overload is aborted?!
18:21:56 <oklopol> an infinite list of factorials in cise is 1::Il,)&*
18:22:04 <tusho> ais523: like 2..*?
18:22:19 <tusho> so you can start factorials at 2*
18:22:25 <tusho> .. = inclusive range
18:22:30 <ais523> tusho: that fails on factorial 1
18:22:56 <tusho> arithmetic ops, if given a list, do the folding version
18:23:02 <tusho> so * on a list is product
18:23:18 <ais523> tusho: factorial of TOS would be U'*t in Overload
18:23:28 <tusho> what does that mean?
18:23:32 <ais523> or possibly a capital T, it's a while since I did Overload programming
18:24:02 <tusho> oh, and fun fact: if you defined the function '..*', that code's meaning would change
18:24:09 <tusho> (longest name possible, if you want a shorter one, add a space after it)
18:24:42 <ais523> tusho: basically, U produces a list from 1 to TOS, then '* is like (*) in Underload (i.e. push * onto the stack), then t uses the code on TOS to combine all elements of a list
18:24:54 <tusho> U produces a list from 1 to TOS total cheat
18:25:00 <ais523> tusho: no, it's useful
18:25:03 <tusho> i can do that, though
18:25:05 <ais523> very useful for looping, and so
18:25:26 <ais523> J uses a similar method to do loop-like objects, I believe
18:25:47 <tusho> then F is factorial
18:26:20 <ais523> well, if you wanted to risk redefining F, you could do (U'*t)'F#
18:26:24 <ais523> to define F as factorial
18:26:36 <tusho> though ! will probably be already used
18:26:38 <oklopol> tusho: what exactly are the semantics of all of that?
18:26:49 <tusho> oklopol: 1..* actually
18:27:11 <oklopol> 1..*, push 1, n 1 .. => [1.. n], * => 1*2*...*n ?
18:27:12 <tusho> .. = inclusive range
18:27:16 <tusho> * = multiply or product for list
18:27:17 <ais523> tusho: anyway, many lists in Overload are created using u or U and the map operator e
18:27:38 <tusho> : = syntax that reads up to a space and uses that as a name with quotation on TOS
18:27:39 <ais523> let me compile Overload for Linux, it's so long since I last messed with it that the only compiler executable here is for DOS
18:28:28 <oklopol> there is an overload interp?
18:28:36 <ais523> I have at least two interps
18:28:51 <ais523> the first is more finished but was rapidly becoming unmaintainable
18:29:02 <ais523> and the second is less finished and also very slow and probably wouldn't scale
18:29:21 <tusho> the third is ninjacode
18:31:08 <ais523> hmm... my current C++ Overload interp segfaults whenever I load the program from a file
18:31:22 <ais523> that needs fixing before I can start messing with it
18:31:25 <ais523> also, it's unmaintainable
18:31:36 <ais523> because just about every command there messed with the internals of stuff
18:31:39 <ais523> I hadn't abstracted properly
18:31:48 <ais523> come to think of it, the Perl version didn't really abstract properly either
18:35:20 <ais523> hmm... ok, fixed the segfault, it seemed I was fclosing the same file twice
18:35:29 <ais523> now to fix the other valgrind errors...
18:38:49 -!- oerjan has joined.
18:43:05 -!- oklofok has joined.
18:43:42 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
18:48:42 <ais523> oklofok: anyway, if you're planning to do some INTERCAL programming, it's probably a good idea to look up the system library
18:48:54 <ais523> it's documented in pit/lib/syslib.doc in the distribution
18:49:06 <ais523> basically there are a lot of pre-defined routines for things like addition (that's (1000)) that you can use
18:49:19 -!- Corun has joined.
18:50:57 <oklofok> i'll probably go for a simple interp later on
18:51:14 <oklofok> i'll probably make addition myself
18:51:21 <oklofok> i like to reinvent the wheel
18:51:45 <ais523> addition is nontrivial in INTERCAL, see my sig for the shortest example I know (although my sig has whitespace added for readability) and that uses lots of nonstandard extensions
18:51:57 -!- ais523 has left (?).
18:51:57 -!- ais523 has joined.
18:52:09 * ais523 cycles to show the sig in question
18:53:48 <oklofok> don't worry, i don't get scared of[f] the language if i fail.
18:54:15 <ais523> anyway, to implement addition in INTERCAL yourself, think of the way long addition works in binary, and use a loop
18:54:55 <oklofok> i'm not doing it right now, but i'll try tomorrow, perhaps
18:59:08 <tusho> ais523: i think i'll write an intercal compiler
18:59:15 <tusho> it doesn't sound like lexing is too hard
18:59:20 <tusho> i mean, 5 operators
18:59:20 <ais523> tusho: lexing isn't normally that hard
18:59:27 <tusho> and that's about it
18:59:29 <tusho> ais523: nor parsing
18:59:38 <ais523> tusho: read the array subscript syntax when it comes to parsing, that's an utter pain to get right
18:59:44 <tusho> ais523: what is it
18:59:47 -!- Corun has quit ("This computer has gone to sleep").
18:59:56 <ais523> so much so that there's a clause in the INTERCAL-72 standard designed to make things easier for implementors
19:00:19 <ais523> tusho: tail1[1][2][3] in C is equivalent to ,1 SUB #1 #2 #3 in INTERCAL
19:00:29 <ais523> the issue being that there's nothing between the arguments to SUB
19:00:37 <tusho> that sounds impossible
19:00:40 <ais523> this makes nested array subscripting ambiguous unless you're very careful
19:00:46 <tusho> ais523: so what' s the clause
19:00:53 <tusho> and does it need arrays for tc
19:01:01 <ais523> tusho: no, it doesn't need arrays for TC
19:01:10 <tusho> lemme guess, everything uses them
19:01:56 <ais523> anyway, the clause states that you can't open a ' ' or " " group an array subscript if the character you use could theoretically close a group
19:02:17 <ais523> otherwise, you need infinite lookahead to be able to parse nested array subscripting
19:02:26 <ais523> with that clause you only need one-token lookahead
19:02:36 <ais523> and 'theoretically close a group' means 'based on the tokens received so far'
19:03:55 <oerjan> afair, arrays actually don't even help with TC since each array is limited in size by its type and dimension
19:04:11 <ais523> you can declare very large arrays
19:04:18 <ais523> but each has a number of dimensions fixed at compile time
19:04:32 <ais523> and the size of each dimension has to fit in a 32-bit integer, although can be changed at runtime
19:05:51 <ais523> anyway, http://code.eso-std.org/c-intercal/pit/tests/arrtest.doc is an essay I wrote on the subject of parsing array subscripts in INTERCAL
19:05:58 <ais523> it's actually a text file, though, although it ends .doc
19:06:33 -!- oklopol has joined.
19:06:34 -!- oklofok has quit (Read error: 104 (Connection reset by peer)).
19:08:39 <oerjan> afair from previous discussion, one way of getting TC is by the STASH and RETRIEVE commands which give you an unbounded stack for each variable
19:08:41 <ais523> it's a testament to the difficulty of parsing array syntax that C-INTERCAL didn't get it right until version 0.25
19:08:46 <ais523> oerjan: that's the main way
19:08:52 <ais523> you can also do it using multithreaded programming
19:10:18 <ais523> CLC-INTERCAL definitely gets it right nowadays, it can even handle nondeterministic grammars
19:25:33 -!- oklofok has joined.
19:26:16 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
19:27:42 -!- Corun has joined.
19:39:07 * ais523 downloads the ICFP contest LiveCD
19:39:21 <ais523> does anyone here want to help make an ICFP contest team?
19:39:31 <ais523> atm I have nobody to work with
19:41:08 * oerjan won't, but his mind suddenly ponders the very hypothetical idea of an INTERCAL entry winning...
19:41:42 <ais523> oerjan: I seriously doubt I'll win, but it would be interesting to have at least enough INTERCAL in the entry for it to register on the leaderboard
19:43:06 <lament> that would be beautiful
19:43:27 <lament> (i don't really have have time for the contest :( )
19:43:43 <ais523> maybe I should quickly code up a practical language that compiles into INTERCAL to use
19:43:48 <tusho> ais523: it'd be nicer to win it with unlambda
19:43:50 <ais523> and just submit the resulting INTERCAL
19:43:59 <tusho> because you know. you can read intercal.
19:44:00 <ais523> tusho: yes, but Unlambda's near-impossible to modify once you've written it
19:44:10 <ais523> I want to use something I can read
19:44:26 <lament> can't you compile something sane to unlambda?
19:44:49 <ais523> but then you'd just submit the sane program
19:44:52 <tusho> ais523: how about iota
19:45:10 <tusho> (input is passed as an argument to the function evaluates to)
19:45:11 <tusho> (result is output)
19:45:16 <tusho> using lambda calculus lists
19:45:18 <tusho> and integer characters
19:45:29 <ais523> tusho: jot has IO, or possibly that was zot
19:46:06 <tusho> iota is more fun though
19:56:13 -!- oerjan has quit ("Rebooting").
19:58:14 -!- oerjan has joined.
20:07:40 -!- jix has joined.
20:20:54 -!- hotidlerchick has joined.
20:21:46 * ais523 is loading up the ICFP contest disk image under qemu
20:21:52 <ais523> it works pretty well, actually
20:22:42 -!- jix has quit ("CommandQ").
20:26:15 -!- jix has joined.
20:29:35 -!- ais523 has quit ("rebooting, will be back soon").
20:33:32 -!- ais523 has joined.
20:40:38 <tusho> GregorR: I figured out how to blocks/functions in plof, really elegantly
20:41:05 <tusho> how to differenciate
20:49:53 -!- ais523_ has joined.
20:50:09 <ais523_> Hello from inside the ICFP live-cd!
20:50:20 <tusho> ais523_: screenshot or it didn't happen
20:52:32 <ais523> (I took the screenshot outside the live-CD, which is why I'm posting this here)
20:52:57 <ais523> http://imagebin.ca/view/D3w7z0Iy.html
20:53:40 <ais523_> It seems I was one of the few people to actually download the image
20:54:32 <ais523_> annoyingly, it seems to use a US keyboard mapping
20:54:46 * Sgeo <3 VMware Server
20:54:55 <ais523_> I think they're part of the default theme in Knoppix
20:55:06 <tusho> ais523: not in the right place, obviously
20:55:11 * Sgeo thinks it might be virtualization issues
20:55:17 <tusho> Sgeo: Nice freedom zero you got there eh.
20:56:03 <ais523_> Sgeo: I doubt it, the bars are only on the panel at the bottom and inside the Konsole window
20:56:17 <Sgeo> It's easy-to-use, and free (as in beer). For some reason, that beats out difficult-to-use and Free (although it's free too)
20:56:53 <ais523_> the bars don't go over the icons, the desktop background, nor text whether white or black, so I think it's the theme
20:56:53 <tusho> Sgeo: I'm pretty sure I've seen you go 'eww, propietary software' in the past.
20:56:57 <tusho> Just letting you reflect over the irony.
20:57:29 <Sgeo> maybe I'm less of an open-source fanatic now?
20:57:40 <ais523_> Sgeo: I didn't find qemu hard to use at all
20:57:41 -!- Corun has quit ("This computer has gone to sleep").
20:59:17 -!- ais523_ has quit ("that's enough showing off for now, I think").
20:59:34 <tusho> Sgeo: Pretty abrupt change
20:59:38 <tusho> anyway qemu is trivial
20:59:49 <tusho> but you seem to balk whenever the console comes up so maybe not
20:59:56 <ais523> anyway, it seems I'm one of the few people who downloaded the LiveCD before they slashdotted their own servers
21:00:05 <ais523> I noticed it was up for download before they announced it, you see
21:00:20 <ais523> so this could in theory give me a headstart if they don't get the problems fixed within a day
21:00:22 <ais523> somehow I doubt it though
21:00:52 -!- pikhq has left (?).
21:03:49 -!- poiuy_qwert has joined.
21:10:43 -!- AnMaster has joined.
21:16:05 <AnMaster> ais523, yeah been on train for about 5 hours, so going to sleep
21:19:02 <AnMaster> ais523, just send a /msg if you want something and I'll read it tomorrow
22:07:54 -!- pikhq has joined.
22:08:17 -!- sohotidlerchick has joined.
22:09:09 -!- hotidlerchick has quit (Read error: 104 (Connection reset by peer)).
22:10:30 -!- Corun has joined.
22:14:36 -!- Corun has quit (Client Quit).
22:14:51 <GregorR> tusho: Blocks and functions are differentiated.
22:14:57 <tusho> without extra syntax
22:15:01 <tusho> like you had before
22:15:41 <GregorR> ... I don't have any extra syntax.
22:17:07 <tusho> GregorR: You did, though
22:17:29 -!- oklopol has joined.
22:17:39 -!- oklofok has quit (Read error: 104 (Connection reset by peer)).
22:17:44 -!- wookie has joined.
22:21:50 <tusho> GregorR: Yeah, well, shush and listen.
22:21:59 <tusho> The problem is essentially that of dynamic variables.
22:22:04 <tusho> You want it to return from where you put it in the code.
22:22:10 <tusho> But it returns it in someone else's code jabbering with it.
22:22:14 <tusho> GregorR: Solution - lexical returns.
22:30:28 -!- jix has quit ("CommandQ").
22:38:00 <ais523> I have to get around to writing my functional extensions to INTERCAL some day
22:40:01 <oerjan> making, finally, the ultimate Greenspun language!
22:55:47 -!- oerjan has quit ("Good night").
22:58:21 -!- sohotidlerchick has quit (Read error: 110 (Connection timed out)).
23:01:17 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
23:13:38 -!- poiuy_qwert has quit.
23:28:09 -!- Slereah_ has joined.
23:41:08 -!- timotiis has quit ("leaving").
23:41:15 -!- 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"").
23:45:59 <tusho> oklopol: so now it's sohotidlerchick
23:46:03 <tusho> not hotidlerchick?
23:59:02 -!- oklofok has joined.
23:59:02 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
23:59:37 <augur> tusho: he doesnt know the persons gender
23:59:51 <oklofok> augur: that's not what i use in that case, in general.
00:00:22 -!- GreaseMonkey has joined.
00:00:31 <oklofok> i guess i was referring to the nick, dunno.
00:00:36 <tusho> augur: i could be female
00:01:02 <augur> OMG HAVE I RAPED A GIRL?
00:01:15 <oklofok> are ya? 12-yr-olds are the best :o
00:01:35 <augur> 12 year old girls, boo.
00:01:44 <augur> 12 year old boys, thats where its at
00:02:00 <tusho> I AM AFRAID SO AUGUR
00:02:07 <augur> ::silly funs oklofok::
00:38:13 <pikhq> augur: Only if you're a priest.
00:38:29 <pikhq> (the boy need not be an altar boy, though it is prefered)
00:38:37 -!- wookie has quit.
00:38:45 <augur> but 12 year old boys are still fun to rape over the internets
01:21:31 -!- tusho has quit.
01:40:47 -!- oklofok has quit (Connection timed out).
01:45:32 -!- Slereah__ has joined.
01:48:55 -!- oklopol has joined.
01:52:10 -!- Slereah_ has quit (Read error: 60 (Operation timed out)).
01:52:30 -!- Slereah_ has joined.
01:52:38 -!- cherez has quit ("Leaving.").
01:57:46 <augur> http://flickr.com/photos/psygnisfive/collections/72157606093628410/
01:57:55 <augur> my trip in europe so far :D
02:10:07 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
02:28:51 <Slereah_> Get your ass here you faggot queer
02:41:32 -!- augur has quit (Read error: 110 (Connection timed out)).
03:17:42 -!- Slereah_ has quit (Read error: 54 (Connection reset by peer)).
03:27:21 -!- cherez has joined.
04:15:10 -!- poiuy_qwert has joined.
04:52:59 -!- Sgeo has quit (Connection timed out).
05:37:11 -!- GregorR has quit (Read error: 110 (Connection timed out)).
05:37:38 -!- GregorR has joined.
06:02:20 -!- pikhq has quit ("leaving").
06:12:11 -!- poiuy_qwert has quit (clarke.freenode.net irc.freenode.net).
06:12:12 -!- cherez has quit (clarke.freenode.net irc.freenode.net).
06:12:12 -!- AnMaster has quit (clarke.freenode.net irc.freenode.net).
06:12:15 -!- moozilla has quit (clarke.freenode.net irc.freenode.net).
06:12:16 -!- cmeme has quit (clarke.freenode.net irc.freenode.net).
06:12:16 -!- dbc has quit (clarke.freenode.net irc.freenode.net).
06:12:16 -!- SimonRC has quit (clarke.freenode.net irc.freenode.net).
06:12:16 -!- fizzie has quit (clarke.freenode.net irc.freenode.net).
06:12:16 -!- lifthras1ir has quit (clarke.freenode.net irc.freenode.net).
06:12:16 -!- shachaf has quit (clarke.freenode.net irc.freenode.net).
06:12:16 -!- atsampson has quit (clarke.freenode.net irc.freenode.net).
06:12:16 -!- Dewi has quit (clarke.freenode.net irc.freenode.net).
06:12:16 -!- Polar has quit (clarke.freenode.net irc.freenode.net).
06:12:17 -!- Quendus has quit (clarke.freenode.net irc.freenode.net).
06:12:17 -!- bsmntbombdood has quit (clarke.freenode.net irc.freenode.net).
06:12:19 -!- Deewiant has quit (clarke.freenode.net irc.freenode.net).
06:12:19 -!- lament has quit (clarke.freenode.net irc.freenode.net).
06:12:19 -!- mtve has quit (clarke.freenode.net irc.freenode.net).
06:12:19 -!- puzzlet_ has quit (clarke.freenode.net irc.freenode.net).
06:12:20 -!- GregorR has quit (clarke.freenode.net irc.freenode.net).
06:12:21 -!- oklopol has quit (clarke.freenode.net irc.freenode.net).
06:12:21 -!- GreaseMonkey has quit (clarke.freenode.net irc.freenode.net).
06:12:22 -!- sebbu has quit (clarke.freenode.net irc.freenode.net).
06:12:22 -!- RodgerTheGreat has quit (clarke.freenode.net irc.freenode.net).
06:18:28 -!- Corun has joined.
06:18:28 -!- GregorR has joined.
06:18:28 -!- cherez has joined.
06:18:28 -!- oklopol has joined.
06:18:28 -!- GreaseMonkey has joined.
06:18:28 -!- AnMaster has joined.
06:18:28 -!- fizzie has joined.
06:18:28 -!- lifthras1ir has joined.
06:18:28 -!- shachaf has joined.
06:18:28 -!- Dewi has joined.
06:18:28 -!- atsampson has joined.
06:18:28 -!- Quendus has joined.
06:18:29 -!- moozilla has joined.
06:18:29 -!- bsmntbombdood has joined.
06:18:29 -!- puzzlet_ has joined.
06:18:29 -!- sebbu has joined.
06:18:29 -!- Polar has joined.
06:18:29 -!- RodgerTheGreat has joined.
06:18:29 -!- Deewiant has joined.
06:18:29 -!- cmeme has joined.
06:18:29 -!- lament has joined.
06:18:29 -!- dbc has joined.
06:18:29 -!- mtve has joined.
06:18:29 -!- SimonRC has joined.
06:19:16 <GregorR> http://maps.google.com/maps?f=q&hl=en&geocode=&q=44.932650,+-123.228470&ie=UTF8&ll=44.93315,-123.228471&spn=0.017226,0.025578&t=h&z=15
06:26:00 <lament> we'd have to zoom out to see her
06:27:07 -!- mtve has quit (Read error: 110 (Connection timed out)).
06:33:52 -!- Corun has quit ("This computer has gone to sleep").
06:38:03 <GregorR> oklopol, lament: YOU'VE BEEN RICKREALL'D
06:44:38 <oklopol> but thanks for clearing that up, i didn't actually open that
06:45:47 <lament> GregorR: i don't get it
06:53:37 -!- vinicius has joined.
07:05:51 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
07:05:51 -!- oklofok has joined.
07:29:47 -!- GregorR has quit (Read error: 104 (Connection reset by peer)).
07:30:30 -!- GregorR has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:18:50 -!- mtve has joined.
09:01:53 -!- sohotidlerchick has joined.
09:04:31 -!- oklopol has joined.
09:05:01 -!- oklofok has quit (Read error: 104 (Connection reset by peer)).
09:17:00 -!- wookie has joined.
09:41:21 <AnMaster> from SSE instruction set: PSADBW Packed Sum of Absolute Differences of Bytes Into a Word
09:41:23 <AnMaster> what's next? an instruction to take the difference of two numbers and add that to the distance to the sun in millimeters?
10:00:27 -!- augur has joined.
10:31:35 -!- atsampson has quit (Read error: 113 (No route to host)).
10:52:56 -!- atsampson has joined.
11:02:10 -!- jix has joined.
11:13:18 -!- GreaseMonkey has quit ("Remote closed the previous member app").
11:15:47 -!- Hiato has joined.
11:20:35 -!- sohotidlerchick has changed nick to hotidlerchick.
12:08:37 -!- Hiato has quit ("Leaving.").
12:38:12 -!- augur has quit (Read error: 110 (Connection timed out)).
12:56:18 -!- Slereah_ has joined.
13:07:43 -!- Slereah__ has joined.
13:14:14 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
13:14:25 -!- oklopol has joined.
13:24:02 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
13:29:31 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
13:38:20 -!- ais523 has joined.
13:53:13 -!- pikhq has joined.
14:07:54 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
14:07:57 -!- oklofok has joined.
14:10:33 -!- augur has joined.
14:23:13 <ais523> maybe I could just sit here monologuing until someone tells me to stop spamming
14:23:20 -!- Slereah_ has joined.
14:25:19 <ais523> I had a new idea for a language
14:25:25 <ais523> I've long liked the spirit behind Java2K
14:25:28 <ais523> but I don't like the implementation
14:25:44 <ais523> because you basically just have to repeat your program lots of times to increase the chance that it works
14:25:54 <ais523> and having one command that always works and tells you if another command did seems like cheating
14:26:14 <ais523> so I've been pondering the idea of a Funge-like language where all the instructions have a small chance of being NOPs rather than what they normally do
14:26:32 <ais523> I think that the language may end up deterministically Turing-complete
14:26:41 <ais523> because things like wrapping will still be reliable
14:27:00 <ais523> and I was trying to do cat in my head, although I haven't succeded yet
14:27:10 <oklofok> java2k has an instruction like that :o
14:27:22 <ais523> oklofok: yes, I know, I don't want any instructions like that
14:27:24 <oklofok> i knew it wasn't as great as it sounded.
14:27:40 <ais523> it should be possible to determine whether instructions were buggy using nothing but buggy instructions
14:27:48 <ais523> as an example, you can reliably test whether the top of the stack is 0
14:27:56 <ais523> by using an if at right angles to your current program flow
14:28:10 <ais523> because that will go up/down according to if the TOS is 0
14:28:21 <ais523> but if it's buggy, it'll go right instead because that's the way the IP was going beforehan
14:29:35 <oklofok> so you can do that reliably given wrapping
14:33:15 * ais523 deletes http://esolangs.org/wiki/BrainSub
14:33:30 <ais523> it seems it wasn't intended to be an esolang, and the person who wrote the text didn't post it to Esolang originally
14:33:37 <ais523> therefore, it was probably a copyvio too
14:33:57 <pikhq> What exactly *was* it?
14:34:12 <ais523> it was a bit like PEBBLE, I think
14:34:17 <ais523> but written entirely in asm
14:34:27 <ais523> intended to be a serious language for teaching purposes, it seems
14:34:33 <ais523> http://esolangs.org/wiki/Talk:BrainSub
14:34:57 <ais523> "2- The idea behind BrainSub is to eliminate the "esoteric" label of a Brainfuck derivative."
14:35:20 <ais523> also, apparently Esolang isn't good enough for the author...
14:35:36 -!- wookie has left (?).
14:38:03 <ais523> did anyone say anything in the last two minutes, apart from me?
14:38:09 <ais523> my connection went down for a bit
14:40:18 <augur> any really interesting and different esolangs you know of ais?
14:40:32 <ais523> it depends on what you mean by different, here
14:40:43 <augur> different as in not your typical esolang
14:40:47 <augur> usual paradigms yes.
14:40:52 <augur> i like weird paradigms
14:40:54 <ais523> well, HQ9+ is pretty strange
14:40:57 <augur> esoteric paradigms
14:41:17 <ais523> although it makes a good counterexample for lots of stuf
14:41:34 <ais523> if you've never come across concatenative langs before, look up Underload
14:41:47 <ais523> it's /almost/ a mainstream paradigm by now, though
14:43:00 <augur> concatenative languages are ancient
14:43:06 <augur> and mainstream if you're a nasa engineer :p
14:43:18 <augur> nasa used to, or still uses, forth
14:43:18 <ais523> or is there another one by now?
14:43:28 <ais523> well, forth doesn't really count
14:43:46 <ais523> it's quite different from the typical eso concatenative language
14:43:55 <augur> eso concatenatives, feh. :P
14:44:21 <augur> it seems that brains might work fundamentally like forth, when it comes to concept manipulation
14:45:23 <augur> postscript is supposedly concatenative
14:45:27 <ais523> I'm not convinced that FOrth is concatenative
14:45:48 <ais523> its if-then structure is wrong, for instance
14:46:15 <ais523> concatenative langs work by manipulating code as data on the stack and then running it
14:46:26 <ais523> /stack-based/ langs are common
14:46:36 <ais523> but most of them have more conventional control structures
14:46:59 <augur> i dont get its if-then structure, to be honest
14:47:04 <ais523> PostScript looks concatenative to me
14:47:15 <ais523> it is manipulating code on the stack to do conditionals
14:47:38 <augur> we should do an experiment to see if kids of certain kinds of languages learn certain kinds of programming languages easier than others
14:47:50 <augur> e.g. do irish kids learn lisp more easilly than forth?
14:48:14 <augur> do japanese kids learn forth more easily that smalltalk?
14:48:33 <ais523> ah, the issue with Forth is that it doesn't have formalised code quotations
14:48:40 <ais523> so it doesn't fit my idea of what a concatenative lang is like
14:48:56 <oklofok> 16:44… augur: it seems that brains might work fundamentally like forth, when it comes to concept manipulation <<< hmm?
14:49:02 <ais523> it doesn't have concatenative flow structure, even though it has a stack
14:49:16 <oklofok> just read an article about someone having written some bogus about this
14:49:40 <ais523> augur: anyway, other unusual paradigms: have you seen SMATINY?
14:49:44 <augur> oklofok: some research has suggested that regardless of the languages people, they mentally represent events with the order Actor-Patient-Action
14:49:53 <augur> ais523: no, whats smatiny?
14:50:02 <ais523> http://esolangs.org/wiki/SMATINY
14:50:08 <oklofok> i read an article written by someone who had read that article :P
14:50:17 <augur> the one on Language Log?
14:50:34 <ais523> my http://esolangs.org/wiki/BackFlip has the same paradigm, I think, although BackFlip is two-dimensional
14:50:37 <oklofok> anyway, that sounds very counterintuitive
14:50:43 <augur> i think you misread the post
14:50:58 <augur> http://languagelog.ldc.upenn.edu/nll/?p=326
14:51:06 <oklofok> it was during the night, near morning, and i just quickly browsed through
14:51:11 <augur> hes talking about how it doesnt reveal anything about language structure but rather about cognitive structure
14:51:22 <augur> the newspapers are talking about language structure tho
14:51:31 <augur> whereas the article is about cognitive structure
14:51:32 <ais523> and http://esolangs.org/wiki/Hannah has some similarities, but isn't reversible
14:51:50 <ais523> as does http://esolangs.org/wiki/Black for that matter, which I created trying to make BackFlip TC
14:52:00 <oklofok> well anyway, i doubt that has any truth in it, what the brain sucks most at, is storing info before knowing how it's going to be used
14:52:21 <oklofok> actor patient action does exactly that, makes you remember two objects, and then gives the relation
14:52:34 <oklofok> but i'm no psychologist ofc, just counterintuitive imo.
14:54:10 <augur> it doesnt seem counter intuitive to me actually
14:54:26 <augur> i mean, think about it, youve got a big semantic jumble of things
14:54:39 <augur> ok, pick any one or two and relate them somehow
14:54:45 <augur> and then relate that
14:55:06 <augur> once youve gotten the two things, you just look up the relation
14:55:26 <augur> tho it might be the case that there is nothing to look it up in, that these ARE the fundamental structures the brain manipulates
14:56:18 <oklofok> perhaps, perhaps. i don't really believe there are any "fundamental structures" like that
14:56:43 <augur> there seem to be tho, if this study is correct.
14:57:08 <oklofok> interesting stuff, if it is
14:58:36 <augur> so those languages are silly. :P
15:00:49 <oklofok> black is "symmetric"? what does that mean?
15:01:19 <oklofok> symmetric pieces of code are equal?
15:01:42 <oklofok> augur: err what languages are silly? :D
15:01:59 <augur> the ones ais linked me to
15:02:33 -!- Slereah__ has joined.
15:03:29 <augur> you know me, im not hugely a fan of unusable languages ;)
15:03:40 <AnMaster> ais523, any questions related to ffungi?
15:03:53 <ais523> although I haven't yet updated C-INTERCAL for your changes
15:04:50 <AnMaster> ais523, as for the warnings? :)
15:05:07 <ais523> AnMaster: they're functions which aren't static because they're linked against code the compiler doesn't know about
15:05:18 <ais523> the warnings are mostly legit, just gcc fails to appreciate exactly what is going on
15:05:26 <AnMaster> ais523, well then shouldn't they be in the header of the file?
15:05:41 <ais523> then they'd be visible externally, but I can put them there if you think it's cleaner
15:05:55 <ais523> it seems wrong to me to put prototypes that are only used by one file in a header
15:06:00 <ais523> at least, one file visible to the compilation
15:06:12 <ais523> maybe I could put the prototypes in the .c file?
15:06:21 <ais523> that would shut up the warnings, I think
15:06:42 <AnMaster> do you put extern in the file that use those functions?
15:07:08 <ais523> there isn't a corresponding header for technical reasons which would take a while to explain
15:07:23 <AnMaster> one issue is that such stuff can get out of sync and cause bugs that are hard to track down
15:07:39 <AnMaster> happened in crossfire for example (I found it using gcc's -combine)
15:08:02 <ais523> AnMaster: yes, I know, but it would be utterly impractical to try to create a header file that prototyped for both the cfunge end and the C-INTERCAL end
15:09:08 <AnMaster> ais523, be sure to put in a comment or something to say "if you change these also change..."
15:09:28 * ais523 wonders if anyone would dare change them anyway
15:14:33 <ais523> AnMaster: how many people in the world do you think are likely to mess around with the internals of fffungi?
15:14:40 <ais523> or even attempt to do so?
15:14:59 <ais523> yes, that's what I thought too
15:15:00 <AnMaster> but even you could forget, say after a few years
15:15:28 <ais523> AnMaster: changing the proto of a function that apparently isn't used at all should be a red flag for any programmer
15:16:43 <AnMaster> what if it gets used in the future from inside the same file?
15:17:06 <ais523> an interesting concept
15:17:22 <ais523> maybe a comment would be worthwhile
15:17:29 <ais523> especially as there's a struct that has to be the same too
15:17:47 <AnMaster> the struct, what is the name of it?
15:20:06 <AnMaster> ais523, those are funge coordinates then FUNGEVECTORTYPE would be the type to use
15:20:06 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
15:21:35 <ais523> AnMaster: to ensure that it's long enough to fit IPs and deltas even if I switch to 64-bit Funge some day
15:21:35 <ais523> and because it doesn't matter if it's too long
15:21:35 -!- ais523 has quit (Remote closed the connection).
15:21:51 -!- ais523 has joined.
15:22:18 <AnMaster> I have been pondering a 128-bit funge, but it wouldn't be portable
15:24:34 <AnMaster> __int128_t or something like that iirc
15:25:01 <ais523> well, if they do have a 128-bit type, then int128_t would be a perfectly portable name for it
15:25:16 <ais523> but presumably they wanted intmax_t to be 64 bit for some reason...
15:26:38 <AnMaster> also it would be insanely slow on 32-bit platforms
15:27:10 <ais523> not really, most platforms should have the instruction set to generalise their arithmetic to any number of bits
15:27:21 <ais523> it would only take 4 times as long on 32-bit, if I remember correctly
15:27:36 <ais523> except for things like multiplication where you wouldn't have hardware acceleration
15:27:51 * ais523 is used to having to do arithmetic by hand when programming in INTERCAL, anyway
15:28:27 <AnMaster> well due to cache size 32-bit funge is quite a lot faster than 64-bit funge on my 64-bit sempron
15:28:37 <AnMaster> cpu[1 x AMD Sempron(tm) Processor 3300+ (AuthenticAMD) @ 1.80GHz w/ 128 KB L2 Cache]
15:29:05 <ais523> AnMaster: are you planning to enter the ICFP, by the way?
15:29:17 <ais523> http://icfpcontest.org
15:29:20 <ais523> it starts this evening
15:29:23 <ais523> it's a programming competition
15:29:43 <ais523> any lang of your choice
15:29:49 <ais523> and as for what type of tasks, they've varied a lot
15:30:02 <ais523> there's a lot of informal rivalry as to which programming language is the best, you see
15:30:10 <ais523> and the ICFP seems designed as an attempt to settle it
15:30:22 <AnMaster> ah, no I don't plan to enter it
15:30:39 <ais523> pity really, I don't have anyone to team up with so I'll have to try it by myself
15:31:05 <ais523> Deewiant: yes, you can submit an executable
15:31:14 <ais523> also you can bundle an interp with a program
15:31:17 <ais523> they intend it to be any lang
15:31:23 <ais523> just they couldn't fit them all on the CD
15:31:31 <ais523> Deewiant: are you entering
15:31:32 <Deewiant> that's what that was about then
15:31:45 <Deewiant> I'll take a look at the problems
15:32:00 <Deewiant> I doubt I'll bother to solve it but who knows :-)
15:32:27 <AnMaster> <ais523> there's a lot of informal rivalry as to which programming language is the best, you see
15:32:27 <AnMaster> <ais523> and the ICFP seems designed as an attempt to settle it
15:32:48 <ais523> but it's an interesting task anyway
15:32:50 <AnMaster> some languages are good at some tasks but not at other ones
15:33:00 <ais523> normally it's biased in favour of functional langs
15:33:04 <ais523> that's what the F stands for
15:33:29 <AnMaster> ais523, if I ever needed to program a telephony switch I would probably use erlang
15:33:45 <ais523> vinicius: I didn't say their attempt to bias worked
15:33:46 <vinicius> It's just that reality is biased in favour of functional langs. ;)
15:34:18 -!- tusho has joined.
15:49:49 -!- jix has quit (Nick collision from services.).
15:49:59 -!- jix has joined.
15:59:18 -!- Slereah_ has joined.
16:16:11 <ais523> tusho: AnMaster: anyway, what do you think of my Funge/Java2K crossover idea?
16:16:41 <ais523> well, it's meant as a challenge to code in
16:16:50 <ais523> certainly it's less usable than ordinary Funge
16:17:53 <Deewiant> we already have malbolge for that :-P
16:18:23 <ais523> Deewiant: well, yes, but having multiple interesting coding challenges is one of the things that draws me to esolangs
16:18:34 <ais523> I don't think anyone but me's ever used INTERCAL due to its expressiveness, for instance
16:19:53 <ais523> AnMaster: basically a Funge version where commands have a small chance of being NOPs rather than doing what they're meant to do
16:20:08 <ais523> so combining Java2Ks randomness with Funge to make a lang which is similar to Java2K but more interesting
16:21:05 <AnMaster> ais523, is there ever any way to code something that works every time using that?
16:21:18 <ais523> that's why I find it interesting
16:23:49 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
16:25:00 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
16:53:18 -!- hotidlerchick has quit (Read error: 104 (Connection reset by peer)).
16:53:33 -!- hotidlerchick has joined.
16:56:27 -!- poiuy_qwert has joined.
17:07:59 -!- ijxo has joined.
17:18:46 -!- Hiato has joined.
17:49:33 -!- Sgeo has joined.
18:06:52 -!- ais523 has quit ("brb").
18:20:08 -!- timotiis has joined.
18:23:10 -!- ais523 has joined.
18:23:17 <tusho> HAHAHAHHAHAHAHAHHA
18:23:52 <ais523> you managed to say that before my GUI had got into a sufficient state to view what you said
18:26:15 * ais523 loads up the ICFP LiveCD
18:26:25 <ais523> ready for the start in an hour and a half or so
18:26:50 <ais523> Sgeo: ICFP contest = a programming competition
18:26:54 <ais523> I'm looking for teammates
18:27:14 -!- jix has quit ("CommandQ").
18:27:24 <ais523> held over the internet, there are generally two contests with identical tasks, one lasting 24 hours, one lasting 72 hours, starting simultaneously
18:27:55 * Sgeo thinks the IRTC results in prettier stuff
18:28:17 <tusho> The Internet Ray Tracing Competition apparently
18:28:21 <tusho> so Sgeo doesn't get what the icfp is about at al
18:28:26 <Sgeo> Internet Ray-Tracing Competition
18:28:34 <ais523> different nature of tasks, though
18:28:39 <ais523> programming vs. computer graphics
18:28:39 <tusho> Still totally different, Sgeo
18:29:07 <tusho> ais523: so I take it you won't be doing much else while it's on
18:29:18 <Sgeo> I know. I'm not allowed to mention a different unrelated competition>?
18:29:23 <ais523> other than constantly asking #esoteric for programming help?
18:32:06 * ais523 wonders why the code has to run on their servers this year
18:32:19 <ais523> maybe they're having another AI-for-a-simple-game competition
18:32:53 <oklofok> i'd probably like doing those too
18:33:10 <ais523> oklofok: maybe you could help?
18:34:05 <ais523> tusho: actually, you may be able to, depending on the task
18:34:13 <tusho> ais523: I think you should do X.
18:34:17 <ais523> if it's something where we can just code independently without treading on each other's toes
18:34:26 <tusho> No. Your system is wrong. Rewrite it. Now.
18:34:28 <oklofok> ais523: i could help, most likely, if i had slept last night.
18:34:32 <tusho> (2 hours later) Oh look, the deadline just passed.
18:34:53 <ais523> tusho: well, if you say such things after the first few minutes, I'll ignore them
18:34:56 <oklofok> also trying to get ten thousand polygon zombies to run on pygame is not as easy as you might think.
18:35:11 <ais523> but feel free to read the problem and submit suggestions as to how I should tackle it
18:35:13 <oklofok> did i say ten thousand? actually going for a hundred thousand
18:35:18 <ais523> I'll probably ignore those too, but it will make me feel better
18:36:04 <oklofok> the problem is i'm too stubborn to make any real optimizations until i know i don't have any stupid bottlenecks as it it.
18:36:12 <oklofok> and i don't really have any debugging tools
18:36:31 -!- ais523_ has joined.
18:37:21 * ais523_ is on mibbit on Iceweasel on Knoppix on qemu on Ubuntu
18:37:27 <ais523_> trying to see how slow I can get this to go
18:37:36 <lament> ais523_: talk about "colossus on clay feet"
18:37:42 <ais523_> considering that I'm using qemu not kqemu at the moment
18:37:53 <ais523_> and so this is on an entirely software-virtualised system
18:38:20 <tusho> ais523_: run safari in pearpc in jsmips
18:38:25 <tusho> and then load mibbit
18:38:30 <tusho> on top of all that other stuff
18:38:43 <ais523_> the window's tiny, though, I think it's emulating 640 by 480 res, and Mibbit has a lot of stuff around the IRC window itself
18:39:11 * ais523_ wonders why they have Iceweasel on here when they were so short of space
18:39:46 <tusho> obviously, you have to make a digital rube goldberg machine
18:39:49 <tusho> that runs 'hello world'
18:40:10 <ais523_> do you know of a hello-world in RUBE?
18:40:18 <ais523_> probably someone's done one already
18:40:52 <Deewiant> http://catseye.tc/projects/rube/eg/hello.rub
18:42:17 -!- ais523_ has quit ("http://www.mibbit.com ajax IRC Client").
18:42:27 -!- Hiato has quit (Read error: 110 (Connection timed out)).
18:42:58 -!- ais523__ has joined.
18:43:55 <ais523__> this is from Mibbit under Konqueror
18:44:09 <ais523__> so why they included two web browsers when they needed space for programming language interps I don't know
18:44:24 <ais523__> (the interps are more important than the compilers because you can submit an executable)
18:44:49 <ais523__> anyway, that's enough silly virtualisation for now, I think
18:44:56 -!- ais523__ has quit (Client Quit).
18:56:03 <ais523> does anyone here know how to artifically limit the number of lines of the screen a Linux terminal uses?
19:01:06 <ais523> never mind, I think I found a different way to work around the problem
19:07:20 -!- vinicius has left (?).
19:27:00 -!- oklofok has quit (Read error: 104 (Connection reset by peer)).
19:27:02 -!- oklopol has joined.
19:30:55 <tusho> you're obviously oklopol
19:30:57 <tusho> you just proved it
19:36:36 <tusho> hotidlerchick: you are oklopol :p
19:36:54 <hotidlerchick> okokokokokokokokokokokokokokokokokokokokokokokokokokoko
19:37:51 * ais523 definitely remembers whoising hotidlerchick and geting the same hostname as someone in this channel before
19:37:59 <ais523> I can't remember who, though
19:38:11 -!- hotidlerchick has changed nick to oklopolor.
19:38:18 <tusho> a88-113-91-209.elisa-laajakaista.fi
19:38:33 <tusho> dsl-tkubrasgw1-fe6cdf00-4.dhcp.inet.fi
19:38:40 <ais523> tusho: there isn't a hostname clash right now, hotidlerchick's getting better at sockpuppeting
19:41:58 <ais523> in theory, though, I still have the results of that old /whois in my logs
19:42:04 <ais523> let me try grepping them, if they haven't rotated yet
19:44:34 <ais523> [Tue Jun 3 2008] [21:43:28] Join oklopol has joined this channel (n=nnscript@spark.turku.fi).
19:44:34 <ais523> [Tue Jun 3 2008] [21:44:22] Quit hotidlerchick has left this server (Remote closed the connection).
19:44:34 <ais523> [Tue Jun 3 2008] [21:45:20] <ais523> http://bugs.kde.org/show_bug.cgi?id=163168
19:44:34 <ais523> [Tue Jun 3 2008] [21:45:30] 314 hotidlerchick n=idler spark.turku.fi * Idler
19:44:41 <ais523> I knew I had the near-proof somewhere!
19:44:54 <ais523> that 314 is a /whowas result, BTW
19:45:29 <ais523> -rw-r--r-- 1 ais523 ais523 5300086 2008-07-11 19:44 irc.freenode.net_#esoteric.log
19:45:35 <ais523> that's a pretty big log
19:45:41 <ais523> 5MB of text is a lot of text
19:50:19 -!- oklofok has joined.
19:51:41 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
19:53:49 -!- oerjan has joined.
19:55:02 <tusho> ais523: i rotate my logs daily
19:55:08 <tusho> colloquy rotates my logs daily
19:55:23 <ais523> I intend to never rotate, it's not like they're likely to run me out of disk space
19:56:26 <Deewiant> what's a smart way of rotating irssi logs
19:57:01 <tusho> ais523: it's more that it's quicker to view them
19:57:02 <Deewiant> does that work while it's running
19:57:04 <tusho> and grep only what I need
19:57:22 <ais523> tusho: I like to be able to grep everything
19:57:33 <ais523> I need to be able to grep things more than a day old every now and then
19:57:49 <ais523> also Konversation only shows the tail of the logs
19:57:53 <ais523> so it's just as easy to read
19:57:57 <ais523> and I can change the tail amount
19:58:35 * oerjan wonders. if you accidentally delete the whole log directory, will it then be rotating in its grave?
20:00:22 <oerjan> <- now close to 100% puns, on this channel
20:00:43 <ais523> nah (/me quickly improves the ratio slightly...)
20:01:23 <ais523> can anyone else load http://icfpcontest.org ?
20:02:06 <ais523> their server's gone down under the traffic of the contest starting...
20:02:40 <ais523> tusho: no good until I actually find the task description
20:02:47 <ais523> which is hosted on a mirror as it is, apparently
20:02:52 <tusho> someone has it i'll mirror it
20:03:03 <tusho> Sargun: MIRROR: http://xbmodder.us/task.pdf
20:03:14 <ais523> http://smlnj.org/icfp08-contest/task.html is the original site
20:03:31 <tusho> Recent breakthroughs in higher-order, statically-typed, metaspatial communication will enable data
20:03:31 <tusho> to be transferred between Mars and Earth almost instantaneously. As such, NASA is seeking exam-
20:03:31 <tusho> ples of real-time control software to operate its latest model Martian rovers from control centers on
20:03:31 <tusho> Earth. Since it is well known that the ICFP contest attracts the cr `eme de la cr `eme of programmers
20:03:32 <tusho> from around the world, NASA has decided to use the current contest as a means of gathering soft-
20:03:34 <tusho> ware prototypes for their new control system. We are pleased to announce that this year’s winning
20:03:36 <tusho> entry will in fact be used to control the rover on NASA’s very next mission to Mars!1
20:04:40 <tusho> <boegel> why would it be a joke?
20:06:12 <ais523> someone in #icfp-contest
20:06:38 <tusho> <saml> oh it's about NASA again. i hate NASA
20:08:30 <tusho> <emp_tu> has anyone a real good visual basic manual?
20:09:24 <oerjan> this also on #icfp-contest? :D
20:14:27 <tusho> <a1k0n> heh. intercal.
20:14:31 <ais523> tusho: it was spamming me with notifications
20:14:52 <tusho> ais523: http://smlnj.org/icfp08-contest/simulator.html
20:15:06 <tusho> haha, I told a1k0n that you maintained c-intercal
20:15:07 <tusho> <a1k0n> tusho: that's terrible. my condolances.
20:19:57 <tusho> ais523: saml is either an idiot or a troll
20:20:04 <tusho> I just want the money! I hate NASA!
20:29:58 <tusho> <Lor> It's a bit silly to require the program to open a tcp socket. Just as well it could have communicated via stdio.
20:32:09 <tusho> this is realtime apparently
20:32:13 -!- ais523_ has joined.
20:39:42 -!- ais523 has quit (Nick collision from services.).
20:39:45 -!- ais523_ has changed nick to ais523.
20:46:32 -!- ijxo has quit ("http://www.mibbit.com ajax IRC Client").
20:52:20 <tusho> <SoftNum> THe real task is efficent routing and data gathering. WHich seems pretty functional to me.
20:57:11 <tusho> { I'd like the opposite, actually. The power of Ruby without the strange BS of Rails. }
20:57:16 <tusho> I've no idea how you could get that mate.
21:01:47 -!- jix has joined.
21:03:08 -!- jix has quit (Client Quit).
21:07:29 -!- pikhq has left (?).
21:08:23 -!- jix has joined.
21:17:06 -!- Hiato has joined.
21:21:19 -!- Hiato has quit (Client Quit).
21:50:02 -!- Slereah_ has joined.
21:50:37 <Slereah_> That computer must hold on for two weeks.
21:50:46 <Slereah_> And boy it ain't gonna be easy.
21:50:48 <ais523> Slereah_: which computer? the one you're on?
21:52:20 <Slereah_> It's sort of back on again, now that most of the hair inside are out
21:52:32 <ais523> Slereah_: and why only two weeks?
21:52:40 <tusho> ais523: he is getting a new one
21:53:03 <oerjan> remember, kids, never let your cat play inside the computer.
21:53:53 <oerjan> remember, kids, never play inside the computer.
21:55:11 <Slereah_> So hair get in the fan sometimes.
21:55:24 <Slereah_> And after a few years, it had a luxurious mane.
22:09:10 <tusho> HALP MY MIDDLE MOUSE BUTTEN DON'T BE DOIN' NOTHIN'
22:11:14 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
22:12:41 -!- oklofok has quit (Read error: 104 (Connection reset by peer)).
22:12:50 -!- oklopol has joined.
22:13:45 <ais523> tusho: does it scroll up and down?
22:13:52 <Slereah_> My CPU almost melted, so I cannot feel sympathy for your button.
22:14:05 <tusho> Yes, but it does not open links in new tabs or show a scrollwheel if I click anywhere else!
22:15:06 <ais523> tusho: control-leftclick?
22:15:15 <ais523> that's open in new tab in Firefox, at least
22:15:37 <ais523> for people with broken middle buttons
22:15:38 -!- oklopolor has quit ("KVIrc 3.2.0 'Realia'").
22:15:40 <tusho> ais523: No, that's "right click", from before we invented TWO-BUTTON MICE.
22:15:46 <tusho> I still want my middle button to work.
22:15:49 <tusho> It's probably a software problem
22:16:47 <oerjan> less likely, it could be a physical constant of nature shifting slightly.
22:17:58 -!- fxkr has joined.
22:18:04 -!- ais523 has quit (Remote closed the connection).
22:18:33 -!- ais523 has joined.
22:18:52 <tusho> HAHAHAHhAHAHAHAHAHHAHA
22:19:07 <ais523> tusho: well, I said hi to #ESO
22:19:56 <oerjan> on the other hand, you both just lost the game.
22:20:08 <tusho> oerjan: aaaaaaaaaaaaar
22:20:31 <ais523> oerjan: that's mean, you're making tusho spam Agora again
22:20:44 <oerjan> he did that last time?
22:20:52 <ais523> oerjan: he does that every time he loses the game
22:20:58 <ais523> he made the game into an Agoran contract
22:20:58 <tusho> oerjan: i'm in a contractial version of The Game
22:21:09 <tusho> however, i'm ignoring it right now, because it's broken
22:21:14 <tusho> it says 'when a gamer thinks'
22:21:17 <tusho> not 'when a winning gamer thinks'
22:21:28 <tusho> you have to spam the lists
22:21:37 <tusho> since you'll have to think about it to send the message
22:24:54 <ais523> tusho: but you can't fix it
22:25:00 <ais523> you'd need without-objection
22:25:21 <ais523> I act on behalf of tusho to think about The Game.
22:36:09 -!- Slereah2 has joined.
22:36:16 <Slereah2> It's going to be two long weeks :(
22:38:55 -!- Corun has joined.
22:40:36 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
22:55:04 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
22:56:04 -!- Slereah2 has joined.
22:56:29 <Slereah2> I actually have to spin the fan manually before booting the computer
22:57:38 -!- 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"").
22:57:55 <oerjan> well, don't lose any fingers
22:58:05 <Slereah2> I just can't stand the cries of an overheating CPU.
22:59:31 <tusho> Slereah2: Open some windows.
23:01:31 -!- Slereah__ has joined.
23:01:33 <Slereah__> tusho : I don't think opening a window will help much if the fan stops.
23:02:32 <Slereah__> What could help is an actual fan to put above, but I don't have any.
23:08:41 -!- pikhq has joined.
23:19:48 <tusho> lament: Om nom nom nom nom.
23:19:49 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
23:26:49 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
23:29:37 -!- jix has quit ("CommandQ").
23:47:47 -!- Corun has quit ("This computer has gone to sleep").
23:47:56 <oerjan> that's a cross way of putting it
23:52:47 <oerjan> <oerjan> <- now close to 100% puns, on this channel
23:55:10 -!- Slereah2 has joined.
23:56:33 -!- Corun has joined.
00:37:35 -!- tusho has quit.
00:43:57 -!- timotiis has quit (Read error: 110 (Connection timed out)).
00:44:19 -!- oerjan has quit ("Good night").
00:52:42 -!- Slereah2 has quit ("kthxbai").
01:42:54 <augur> nevermind, hes not here
01:55:25 -!- Corun has quit ("Leaving").
02:57:33 -!- fxkr_ has joined.
03:09:18 -!- GreaseMonkey has joined.
03:11:33 -!- fxkr has quit (Connection timed out).
03:11:54 -!- fxkr_ has quit.
03:18:18 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
03:18:20 -!- oklofok has joined.
03:41:33 -!- augur has quit (Read error: 110 (Connection timed out)).
04:03:57 -!- oklofok has quit (Read error: 110 (Connection timed out)).
04:26:06 -!- oklopol has joined.
06:02:33 -!- pikhq has quit ("leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:09 <AnMaster> ais523 and tusho: if you are reading logs I won't be reachable today, I'm leaving for an airshow
08:26:46 -!- hotidlerchick has joined.
09:14:30 -!- poiuy_qwert has quit.
09:24:35 -!- ais523 has joined.
09:32:39 -!- augur has joined.
09:56:05 -!- AnMaster has quit (Remote closed the connection).
10:02:09 -!- augur has quit (Read error: 110 (Connection timed out)).
10:03:56 -!- augur has joined.
10:20:39 -!- 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"").
10:42:01 -!- GreaseMonkey has quit ("Remote closed the previous member app").
10:54:59 -!- Slereah2 has joined.
11:26:38 -!- Hiato has joined.
11:29:58 -!- Slereah__ has joined.
11:34:03 -!- Hiato has quit ("Leaving.").
11:46:47 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
11:56:15 -!- ais523 has joined.
12:43:26 -!- ais523 has quit (Remote closed the connection).
12:43:41 -!- ais523 has joined.
12:46:46 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
14:41:41 -!- Slereah2 has joined.
14:47:27 <oklopol> lament: you were in my dream
14:48:33 <oklopol> let me start from the beginning, unless someone has something interesting to talk about
14:49:04 <oklopol> i was on some page, where you kinda bidded about something
14:49:33 <oklopol> highest bid won, don't remember what i was bidding about, but i won some guy who was apparently like the god of that page, won every bid
14:50:07 <oklopol> and turned out i had also kissed his girlfriend
14:50:17 <oklopol> and for some reason this made me take out my gun
14:50:34 <oklopol> he started yelling "shoot me you fucking pussy"
14:50:45 <oklopol> and i was like "give me a reason and i totally will"
14:51:20 <oklopol> he pressed the trigger himself, then, probably realizing i was a pussy
14:51:37 <oklopol> fell down on the floor, no one in the mall noticed
14:51:54 <oklopol> but i figured they might at some point, so i kinda paniced
14:52:03 <oklopol> and then came the lament part
14:52:21 <oklopol> lament was on the cover of an energy drink can
14:52:53 <oklopol> and my first thought was looking at his face would instantly tell me what to do :D
14:53:17 <oklopol> but, all the cans had turned away
15:08:24 <oklopol> it's not all that weird in writing, but somehow lament was my mentor or something, it was important to see his face after the incident.
15:08:50 <oklopol> no anal sex yet, but it's quite clear the obsession is starting
15:09:10 <oklopol> ais523: how's coding going?
15:09:29 <ais523> but my program still steers the rover into craters too much
15:20:09 -!- tusho has joined.
15:20:47 <tusho> i totally wont hat one
15:20:58 <oklopol> Communication between the server and controller will be over a TCP/IP socket using plain-text messages encoded in ASCII. <<< because martians don't understand english? :P
15:34:34 <oklopol> weird they don't give out the details of the rotation / acceleration, as they're easy to calculate from the state info they give
15:35:33 <oklopol> hmm, actually they give quite a lot of details :P
15:36:19 <oklopol> just have to calc acceleration
15:36:21 <ais523> oklopol: well, my program calculates the rotation rules atm
15:36:32 <ais523> that still doesn't stop it crashing into things, though
15:39:03 <oklopol> how does the server thing work, you use a public server for testing or smth?
15:39:21 <ais523> oklopol: no, they supplied binaries for it
15:39:26 <ais523> and you run it on your own system
15:39:38 <ais523> no source, though, thus causing lots of people to fail to get it working
15:39:38 <oklopol> did you write a visualization so you can see it run?
15:39:45 <ais523> oklopol: it has its own visualization
15:40:10 <oklopol> in that case, i would have loved this
15:40:24 <ais523> oklopol: it's not too late to enter
15:40:29 <ais523> it doesn't run on Windows, though
15:40:37 <ais523> only on Linux and Mac OS X, and not easily in either case
15:41:28 <oklopol> well in that case i can't enter, i don't have a linux computer here.
15:42:09 <tusho> they provide a livecd
15:43:58 <oklopol> any restrictions on the language?
15:44:30 <tusho> whatever's on the licd
15:44:40 <tusho> http://www.icfpcontest.org/live-cd.html
15:44:46 <tusho> if you <3 me, use the eso-std.org mirror that's linkd
15:44:54 <tusho> unless you want to use scheme or something, 'cause the mzscheme is broken on 1.5
15:50:31 -!- timotiis has joined.
15:56:38 <oklopol> it'd prolly take me till midnight to get that working, don't really feel like it, since the competition has already been on for about 20 hours.
15:58:46 <oklopol> would be so cool doing this in Ob
15:59:06 <oklopol> (the declarative bot ai language)
15:59:24 <ais523> oklopol: there's a 72-hour competition as well as the lightning round...
16:00:27 <oklopol> i guess i could go for it...
16:01:04 <oklopol> it's just getting the live-cd to work sounds like something i will fail at.
16:01:15 <oklopol> compared to that, the actual programming task seems trivial :P
16:01:29 <oklopol> anyone else here making an entry?
16:08:13 -!- poiuy_qwert has joined.
16:09:47 <Deewiant> I was going to, but I spent most of today failing at getting the server working
16:10:11 <ais523> Deewiant: maybe you can help me instead
16:11:45 <Deewiant> TBH I just wanted to see how hard it actually was, I didn't really do anything, and now I'm not in the mood any more :-/
16:11:59 <Deewiant> if you want to ask me about something feel free, of course :-P
16:13:27 <Deewiant> oklopol: tusho was inaccurate BTW, you can submit a binary in any language
16:13:49 <Deewiant> rather, a binary compiled from any language
16:13:50 <tusho> but oklopol uses interppy languages
16:14:08 <oklopol> Deewiant: tusho was inaccurate BTw, i use *python*
16:14:30 <oklopol> i know a lot of languages well enough to do something like this
16:14:40 <oklopol> Ob is one of my own langs, haven't implemented yet.
16:15:01 <oklopol> it's an event-based declarative language for making bot ai's for a game of mine
16:26:06 <ais523> does anyone know how bad an idea it is to mount the same drive in two OSs simultaneously?
16:26:25 <ais523> not with my hard drive though
16:26:28 <tusho> ais523: give it a go
16:30:14 -!- pikhq has joined.
16:44:10 <ais523> also, that's the first time I've ever reformatted a hard drive
16:44:12 <RodgerTheGreat> http://mathworld.wolfram.com/TuppersSelf-ReferentialFormula.html
16:44:19 <ais523> although it was a virtual one on my filesystem
16:47:18 <tusho> RodgerTheGreat: always liked that, wonder if you could make a program that creates equations like that
16:47:23 <tusho> i mean, obviously it's possible
16:47:28 <tusho> dunno if it'd be trivial or not
16:47:40 <tusho> the thing about that formula i don't like
16:47:45 <tusho> which is outside the formula
16:47:51 <tusho> it seems like a bit of a cheat.
16:47:54 <RodgerTheGreat> Well, it certainly looks like the N is large enough to contain the bitmap the function "generates"
16:48:02 <tusho> kind of like writing a drawing program
16:48:07 <tusho> then feeding it itself as an image
16:48:20 <RodgerTheGreat> so it's a function that unpacks a base-10 number into a bitmap, somehow
16:48:21 <tusho> there's no actual self-reference, it's indirect
16:48:42 <tusho> still impressive, of course
16:48:48 <tusho> but not what I hoped when I first saw it
16:49:19 <tusho> an _actual_ self-plotting formula would probably be very long, kind of like those huge quines
16:49:37 <RodgerTheGreat> makes you wonder if a "plot quine" would be possible, though. It would undoubtedly be really nasty and complicated.
16:49:53 <ais523> tusho: mounting the same file on two OSs at once doesn't work, because neither understands when it's changed
16:49:53 * tusho toys with writing a program to write it
16:50:01 <ais523> they end up with different internal versions of it
16:50:03 <tusho> ais523: I imagined that would happen, yeah.
16:50:12 <ais523> maybe if I don't mount both at the same time...
17:23:51 <oklopol> http://mathworld.wolfram.com/TuppersSelf-ReferentialFormula.html is a cheat
17:24:09 <oklopol> that's trivial to do, except perhaps not one that short.
17:25:07 <oklopol> as i now see you discussed already.
17:28:25 * ais523 submits an initial solution
17:28:30 <ais523> so there's something there if I run out of time
17:29:27 -!- ais523 has quit (Remote closed the connection).
17:31:25 <oklopol> or if you run out of connection.
17:32:54 <oklopol> okay, i'm going to code A in language B now, anyone feel like supplying A and B?
17:35:47 <tusho> oklopol: python in python
17:35:51 <Slereah2> Brainfucks in recursive functions.
17:36:10 <tusho> oklopol: c in python
17:36:18 <oklopol> perhaps i could just make befunge in c.
17:36:18 <Slereah2> Motherfucking snakes in a motherfucking plane.
17:36:43 <oklopol> c in python doesn't sound too hard
17:36:50 <tusho> not the basics, anyway
17:36:52 <tusho> you'll have to simulate memory
17:36:55 <tusho> for pointers and shizz
17:36:58 <tusho> but apart from that...
17:37:04 <tusho> lexing + parsing's a bit hard, some ambiguities
17:37:06 <tusho> but the actual language
17:37:12 <tusho> it'd be a fun project
17:37:30 <oklopol> most likely, but B can't be python
17:37:30 <tusho> 'cause, you know, C "feels" substantial
17:37:45 <tusho> C interp in Python sounds fun
17:38:15 <oklopol> sure does, but i want a different language.
17:38:50 <oklopol> and i haven't used C in ages, should see if i get anything to work aymore
17:39:25 <tusho> c in c would be pretty hard
17:40:15 -!- ais523 has joined.
17:40:42 <oklopol> wow, my empty program worked!
17:43:18 <ais523> you were slow there...
17:43:27 <tusho> wasn't paying attention
17:52:08 <tusho> shall we play a game
17:52:23 <ais523> tusho: not right now, only 2 hours to the lighning deadline, at least not with me
17:53:47 <tusho> hotidlerchick: hi oklopol
17:54:21 <tusho> hotidlerchick: hi oklopol
17:55:34 <ais523> [17:54] <aSmig> If the martians run into each other, do they turn into cheese?
17:55:34 <ais523> [17:55] <staff_tjc> aSmig: the cheese may be Brie or provolone; which one it is is deliberately unspecified ;-)
17:55:46 <ais523> there's so much deliberately unspecified there...
17:55:48 <oklopol> hotidlerchick: lol sure :)
17:56:37 -!- hotidlerchick has changed nick to oklo.
17:56:44 -!- oklopol has changed nick to hotidlerchick.
17:56:52 -!- oklo has changed nick to oklopol.
17:57:11 * ais523 so wants an IRC client command to do that automatically, without the other person knowing
17:57:17 <ais523> and automatically rewriting all the messages
17:57:29 <oklopol> hotidlerchick: oooh, that would be so hot
18:01:00 <oklopol> ask tusho, I'm sure he knows
18:02:20 <hotidlerchick> also i think i'll just implement 93... possibly because i've lost most of my awesome man brain?
18:02:46 <ais523> oklofok: it shouldn't be too hard to implement 93 in such a way you can later generalise it to 98
18:03:25 <hotidlerchick> but that should be easy too, some kinda wrapper that autoextends where necessary
18:11:48 <tusho> ais523: oklofok: it shouldn't be too hard to implement 93 in such a way you can later generalise it to 98
18:11:48 <tusho> hotidlerchick: ais523: true
18:11:51 <tusho> CONCLUSIVE EVIDENCE
18:12:00 <ais523> tusho: they swapped nicks
18:12:22 <ais523> tusho: I was nickpinging oklofok, who isn't even in the channel, to avoid getting confused about the nicks
18:13:47 -!- Slereah__ has joined.
18:16:03 <ais523> anyone who wants to help (tusho? Deewiant?): I've been programming for several hours now and am having problems sorting out my thinking: what's the formula to calculate a turning circle from a turn speed in degrees per second and a forward speed in meters per second?
18:16:51 <ais523> hmm... it shouldn't be that hard to work out...
18:17:02 <ais523> let's see... after turning 360 degrees you've done one complete turning circle
18:17:08 <ais523> so presumably work out how far you go in that time
18:17:17 <ais523> and that's the circumference of the circle
18:17:28 <Deewiant> r = v^2 / a where v is velocity forward, a is acceleration towards centre of circle
18:17:45 <ais523> Deewiant: wrong formula, but quite possibly
18:17:53 <ais523> I know the turn rate, not the acceleration
18:18:08 <Deewiant> I think you can find the acceleration
18:18:22 <ais523> yes, but there has to be an easier way, surely...
18:18:56 -!- poiuy_qwert has quit (Remote closed the connection).
18:29:36 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
18:31:00 <ais523> I tried to figure it and got v * 360 / (dtheta/dt)
18:31:11 <ais523> the 360 because it's in degrees
18:33:08 <ais523> yes, that's my problem, being a bit slow thinking mathematically due to being in super-coding mode
18:35:07 <ais523> let me know what it is?
18:35:14 <hotidlerchick> circumference = motion_length_per_sec * (angs_per_sec / 360)
18:35:30 <ais523> that's the same formula I came up with
18:35:43 <ais523> maybe there was a units problem in my implementation...
18:36:13 <ais523> I have angular speed in .1s of degrees per second, and speed in mm per second
18:36:13 <hotidlerchick> most likely, i'm quite sure it's like that, although my derivation wasn't mathematical
18:36:20 <ais523> so I made the constant 3600
18:36:38 <ais523> wait, your formula's different from mine
18:36:45 <ais523> I got the * and / the wrong way round
18:37:01 <ais523> ...except wouldn't turning faster give a smaller turning circle?
18:37:11 <ais523> your formula's clearly wrong with angs_per_sec = 0
18:37:15 <ais523> the circle's infinite then
18:38:18 <tusho> ais523: maybe you should code another part
18:38:39 <ais523> tusho: this is the most important part currently left
18:38:47 <ais523> although I'm coding a different bit of that part right now
18:38:56 -!- poiuy_qwert has joined.
18:40:21 <hotidlerchick> you also move @ (circumference * (degrees / 360)) / sec for rotation speed degrees/sec
18:40:46 <ais523> turningcircle = maxspeed*3600/maxhardturn;
18:40:57 <ais523> maxhardturn is in .1s of degrees per second
18:41:02 <ais523> maxspeed's in mm per second
18:41:23 <ais523> let me recompile and rerun
18:41:49 <ais523> hotidlerchick: not radius?
18:42:32 <ais523> hotidlerchick: ah, good point
18:42:54 <ais523> still, 120m is far too large for the turning circle because I've seen it turn faster than that
18:43:02 <hotidlerchick> this is the classical problem of doing math and programming simultaneously
18:43:21 <ais523> yes, this is why I could do with someone else to do the math for me...
18:43:23 <hotidlerchick> @ math, you don't think, when getting the result, you often don't have a clear idea what it is, and assume it's what you wanted
18:46:28 <hotidlerchick> ais523: why the silence, trying to figure out circumference -> radius? ;)
18:46:39 <ais523> and circumference->radius is easy
18:46:42 <ais523> that's not the problem
18:47:04 <ais523> the formula looks right, but acts wrong
18:47:14 <ais523> I'll get it to printf its arguments to see if they're right
18:48:25 <ais523> ah, i think it is right
18:48:30 <ais523> I know what's happening
18:48:37 <ais523> the return value's correct, it just looks wrong
18:56:57 <augur> how would you do conditionals in an RPN-like language??
18:57:09 <augur> oklopol: ::pounce::
18:58:08 <hotidlerchick> augur: put two subprograms on stack, then pop one of them and run tos
18:58:28 <tusho> augur: yeah, quotations.
18:58:38 <augur> on, quote the cod?e?
18:58:46 <tusho> augur: quotations are lambdas, basically
18:58:49 <tusho> so you end up with
18:58:55 <tusho> cond [iftrue] [iffalse] if
18:59:06 <tusho> generally you have combinators manipulating the subprograms
18:59:15 <augur> oh i see, so instead of code, you'd have lambdas
18:59:18 <tusho> x y [z] dip == x z y
18:59:18 <augur> ok that makes sense.
18:59:24 <tusho> (dip is a very useful combinator)
18:59:29 <tusho> (you can build lots of swap-rot-etc things out of it)
19:01:45 <hotidlerchick> http://www.vjn.fi/pb/p265444122.txt the formula is correct
19:02:32 <hotidlerchick> took ages, since i kinda managed to confuse angles of complexes and angles on the screen
19:03:07 <tusho> BREAKING NEWS: ais523+hotidlerchick win ICFP
19:03:52 <ais523> I'm using that formula now, thanks
19:03:54 <hotidlerchick> the for loop moves the point "pos" around by turning it by the angle all the time
19:04:10 <ais523> and you're credited (as oklopol, your nick before you swapped) in the README for the mathematical help
19:04:24 <hotidlerchick> and its distance from origo is printed, wavering is because of the discrete simulation ofc
19:04:31 <tusho> ais523: at least use his real name
19:04:36 <ais523> tusho: well, I don't know it
19:04:37 <tusho> oklopol omniovorol
19:04:40 <ais523> anyway I credited you as tusho
19:05:30 <hotidlerchick> anyway, don't use oklopol ominovorol, oklopol or ask my actual real name :P
19:05:43 <hotidlerchick> anyway, don't use oklopol ominovorol period. use oklopol or ask my actual real name :P
19:05:47 <ais523> tusho: I'll credit you with your realname if you like
19:05:53 <tusho> hotidlerchick: 'don't use my real name, oklopol or my real name'?!!12121212
19:05:56 <ais523> and I was using oklopol, and will do except on request
19:05:56 <tusho> ais523: no but I mean what did I do
19:06:25 <tusho> was talking about the redundancy actually hotidlerchick
19:06:32 <tusho> since oklopol ominovorol is your real name
19:07:40 <hotidlerchick> is this a oklopol=hotidlerchick reference, do you actually think that's anyone's irl name?
19:07:56 <tusho> it's obviously your irl name.
19:07:58 <tusho> why would you lie?
19:08:16 <tusho> ais523: what am I credited -for-
19:08:18 <tusho> i don't know what i did
19:08:58 <ais523> tusho: eso-std.org, actually
19:09:19 <tusho> "TUSHO. FOR BEING ESO-STD.ORG.
19:10:05 <hotidlerchick> hmph, can't talk on #eso with this nick, "long time no be" was my official join pun.
19:12:08 <tusho> can you credit me as
19:12:12 <tusho> tusho <http://tusho.org/>
19:12:24 <tusho> (you can keep the eso-std.org thing, just, you know, I'd like to have a pointer)
19:12:26 <ais523> tusho: even though it isn't registered?
19:12:35 <ais523> that'll just get people to domain-squat you, but OK
19:12:36 <tusho> yes; I've linked to it quite a lot
19:12:38 <tusho> i'll register it sometime
19:14:56 <tusho> hotidlerchick: who, GregorR?
19:15:25 <tusho> hotidlerchick: you need oklopol.org
19:15:33 <tusho> http://www.vjn.fi/oklopol/
19:15:35 <tusho> the url is just too ugly
19:15:38 <tusho> for such a masterpeice of a page
19:17:47 <tusho> hotidlerchick: is oklopol going to be selling things?!?!?!
19:17:52 <tusho> Buy oklopol today!
19:19:51 <tusho> hotidlerchick: you could just type 'foo'
19:19:56 <tusho> and firefox will try .com,.org,google,etc
19:27:37 <oklopol> you know hotidlerchick, you haven't really done your idling properly
19:32:12 -!- Slereah2 has joined.
19:45:05 -!- ais523 has quit (Read error: 110 (Connection timed out)).
19:49:03 * tusho just made his blog design even more minimal
19:49:11 <tusho> not even the header paragraph any more
19:49:15 <tusho> I snook an archives link into the footer
19:49:22 <tusho> '[All posts] licensed under CC by-sa 3.0.'
19:49:24 <tusho> all posts links to the archives
19:51:24 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
19:56:29 -!- ais523 has joined.
20:01:41 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
20:01:48 -!- ais523 has joined.
20:17:22 <ais523> sorry for the connection trouble...
20:17:33 <ais523> at least I got the latest version of my ICFP contest entry in on time
20:17:37 <ais523> even though it was buggy
20:17:50 <tusho> ais523: i take it you'll do more revisions
20:17:53 <tusho> not just the lightning
20:40:24 -!- 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"").
20:48:47 -!- Slereah__ has joined.
20:59:09 -!- oklopol has quit ("KVIrc 3.2.0 'Realia'").
21:05:19 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
21:06:47 -!- CakeProphet has joined.
21:08:42 -!- timotiis_ has joined.
21:11:22 -!- CakeProphet has quit (Remote closed the connection).
21:12:40 -!- hotidlerchick has changed nick to oklopol.
21:16:59 -!- Slereah2 has joined.
21:17:33 <tusho> oklopol: i didn't notice any change.
21:20:15 <oklopol> 23:12… hotidlerchick is now known as oklopol
21:20:17 -!- timotiis has quit (Read error: 110 (Connection timed out)).
21:21:16 <tusho> oklopol: yes what's the difference
21:22:38 <tusho> oklopol: same person though
21:23:14 <oklopol> no idea why it felt like it
21:34:00 -!- augur has changed nick to psygnisfive.
21:34:15 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
21:42:35 -!- ihope has joined.
21:42:43 <ihope> We ought to do a BF busy beaver project on the wiki.
21:44:17 <ihope> Is the most usual format tape infinite in both directions, cells 8-bit and wrapping?
21:44:39 -!- RodgerTheGreat has quit.
21:50:01 <oklopol> just infinite to the right
21:50:27 <ihope> The tape is generally finite to the left?
21:51:14 <ihope> And is going left while on the leftmost cell undefined?
21:52:04 <oklopol> and you generally start at the leftmost cell
21:52:12 -!- oerjan has joined.
21:53:47 <oerjan> well someone down in Tnsberg gave the wrong phone number in a paper advertisement today... the number given happened to be mine :D
21:54:17 -!- Slereah__ has joined.
21:55:01 <oerjan> other than that, not much
21:56:16 <GregorR> Are you getting sexay chat?
21:56:39 <oerjan> no, just requests for renting an apartment, alas
21:57:16 <GregorR> "I don't have an apartment for you ... but I've got something else for you, baby ;)"
21:57:26 <psygnisfive> you should find out what its an ad for and answer the phone as tho you were the advertiser
21:57:53 <oerjan> otoh i have so far failed to answer a single of the calls
22:00:05 <oerjan> mostly because i accidentally had the phone turned off until late afternoon
22:02:20 <oerjan> (i did find the ad though, since one of the recorded calls mentioned the name of the newspaper)
22:02:54 <psygnisfive> sucks that you didnt know about it earlier
22:05:28 <oerjan> well-known bf spamming program
22:06:09 <oerjan> hm actually that one stops after one cycle
22:06:39 <oerjan> although can still be messy with > 8 bit bf
22:07:04 <oklopol> why does it stop after one cycle?
22:07:10 <oerjan> egobot if it were here, uses 16 bit by default
22:07:36 * oerjan wonders if that was grammatical
22:10:33 <oerjan> excuse me while i go feed arrows to my time flies
22:11:05 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
22:11:17 -!- Slereah2 has joined.
22:11:31 <oerjan> i nearly have enough for my time machine now. BWAHAHAHA!
22:13:40 <oerjan> on the other hand, i have conclusively shown that apples fly almost, but not quite like bananas.
22:14:42 * oerjan for clarity wishes to stress that he is on nothing stronger than coffee
22:15:35 <oklopol> caffeine! that's what i was missing
22:15:55 <tusho> GregorR: i want egobot back
22:17:09 <ihope> Yay, a non-trivial program that outputs a number of characters equal to its length: +++[-...]
22:19:07 <oerjan> is this some new kind of quinoid concept?
22:19:20 <ihope> I guess it is like a quine.
22:19:49 <ihope> Something Haskellian: replicate 16 '.'
22:24:03 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
22:24:58 <psygnisfive> http://scarybuggames.com/2008/05/chronotron/
22:31:29 <tusho> ihope: better are programs which output their length
22:31:37 <tusho> so a 36 char program would print \36
22:42:16 <tusho> What's a brainfuck version of that
22:43:03 <oerjan> something +++[->+++<] -like probably
22:44:03 * tusho has no BF interp atm
22:46:29 <oerjan> ++[->+++++++++<]>. i think
22:52:36 <tusho> output the decimal of the length
22:52:45 * pikhq takes a break from the distro development.
22:53:04 <pikhq> I almost have a distro which can boot from a single *5 1/4"* floppy.
22:53:04 <pikhq> Just one problem. . .
22:53:14 <pikhq> I've cut out too much of the kernel for it to boot.
22:53:22 <pikhq> Or, for that matter, for it to tell me why it won't boot.
22:56:28 <tusho> pikhq: Are you using linux_tiny?
22:57:45 <oerjan> tusho: whatever the rest of the program does with the length, the ++[->listofplusses<]restofprogram method can be used to initialize a cell with it
23:09:47 -!- Slereah__ has joined.
23:11:48 <Slereah__> Let's build a device that will pour liquid nitrogen on the CPU.
23:12:09 <oerjan> and make icecream at the same time!
23:17:32 <oklopol> psygnisfive: the game is a bit too slow for me
23:17:56 <oklopol> especially as you can't skip the trivial levels
23:19:55 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
23:38:14 <tusho> psygnisfive: cool idea for a game
23:38:26 <tusho> its not time travel though
23:39:04 <ihope> Someone help me prove that there isn't a 9-character BF program that uses the . instruction more than 9 times. :-)
23:39:31 <tusho> psygnisfive: and what happens
23:39:45 <tusho> psygnisfive: unlikely.
23:40:09 <ihope> tusho: not if cells never wrap.
23:40:18 <tusho> ihope: that calls . more than 9 times/
23:40:31 <ihope> But it never terminates.
23:40:44 <ihope> One that uses the . instruction more than 9 times and then terminates.
23:40:53 <oklopol> psygnisfive: paradoxes don't make it time travel, you being able to play multiple characters simulataneously would
23:41:14 <oklopol> i guess the make it more time travelish
23:41:25 <oklopol> what's the deelio with level 19?
23:41:52 <ihope> That does not use . more than 9 times.
23:42:26 <tusho> oerjan: you're provey
23:43:08 <ihope> http://esoteric.voxelperfect.net/wiki/BF_busy_beaver
23:43:24 <oklopol> psygnisfive: well things could react to their past/future selves
23:43:39 <oklopol> but they can now, too, except the control is simplified for the past versions
23:43:42 <ihope> Prove that a 9-character BF program can't output more than 9 characters before terminating.
23:44:11 <ihope> Oh, you're not oerjan, are you?
23:44:58 <oklopol> psygnisfive: just that the past self should already see the future self when playing the first round
23:45:14 <tusho> ihope: Gee, I should write a program to find these things.
23:45:36 <oklopol> psygnisfive: time travel isn't achievable
23:45:37 <oerjan> an exhaustive search does seem possible
23:45:46 <oklopol> i'm not saying this isn't the best way to do it
23:45:58 <tusho> psygnisfive: It was a joke, since of course it's one of the funnest impossible things.
23:46:04 <oklopol> i'm just saying it's not as close to time travel as one might've hoped
23:46:35 <tusho> psygnisfive weren't talkin' to me
23:47:11 <oklopol> hope has nothing to do with reason
23:47:48 <psygnisfive> the more guys i have on the screen the crummier it gets
23:47:53 <tusho> the frustrating thing about this game
23:47:57 <tusho> is that I see myslef make the same mistakes
23:48:31 <oklopol> hmm, actually 5 for one of the simple levels, but i think i could've done with less
23:48:36 <oklopol> psygnisfive: wanna help with 19?
23:48:47 <oklopol> i simply don't know how the lazer works
23:49:36 <psygnisfive> if i were really coy, i'd use special magic to reuse the same guy like 5 times
23:49:54 <oklopol> the game should let you do that
23:50:17 <psygnisfive> remember the puzzle where you had to change the past?
23:50:55 <oklopol> i meant use part of your past self's movement.
23:51:28 <oklopol> so you don't have to play all of the the round n times if there are n triggers that need to be held simultaneously
23:51:51 <oklopol> and can you help with #19?
23:52:11 <tusho> I caused a paradox
23:52:13 <tusho> and nothing happened
23:52:36 <tusho> it's easy to see how this game really works though
23:52:38 <tusho> it stores all your moves
23:52:39 <oklopol> psygnisfive: i don't get how you do it
23:52:45 <tusho> and if it waits a while
23:52:48 <tusho> and you're not back at the time pod
23:52:51 <tusho> it considers it a paradox
23:53:01 <oklopol> say i move to place A, then multiply into 7 guys
23:53:12 <oklopol> how do i secord the place, and start from there every time?
23:53:19 <tusho> time travel is the best way to get a clone army though
23:53:29 <tusho> just go back to 10 minutes ago repeatedly
23:53:36 <psygnisfive> you have to act as tho you were going to do it
23:53:47 <psygnisfive> and then when you press the buttons it works
23:53:55 <oerjan> tusho: sucks rather badly when a clone dies
23:54:04 <oklopol> 01:50… oklopol: i meant use part of your past self's movement. <<< i meant "to get the level done faster"
23:54:11 <tusho> oerjan: if we have time travel i hope we have invincibility
23:54:18 <oklopol> use part of the fucking move-around macro that's being recorded, twice.
23:56:09 <oklopol> 01:52… oklopol: say i move to place A, then multiply into 7 guys ||| 01:52… oklopol: how do i record the place, and start from there every time? <<< i want there to be an answer to this question.
23:56:32 <tusho> psygnisfive: he knows there isn't one
23:56:36 <oklopol> often, you need to walk n guys into a place, then put each on a different button
23:56:50 <oklopol> i want to walk there *once*
23:56:56 <oklopol> because it's trivial to walk them all there
23:57:07 <oklopol> but it takes fucking hours
23:57:25 <oklopol> anyway, i don't care whether you get it, i want you to help me with #19
23:58:01 <psygnisfive> you have to pause before you walk through the laser
23:58:01 <oklopol> how do i get past the lazer?
23:58:10 <oklopol> oh, right, it was a pause :)
23:58:18 <oklopol> heh, i got that, but didn't use it
23:59:52 <tusho> ihope: I wonder what BFBB(10) is
00:00:40 <ihope> It'll output 12, I believe.
00:00:55 <tusho> ihope: I mean the prorgam
00:04:07 <oklopol> i haven't met a nontrivial level yet
00:04:17 <oklopol> but i'm not at the hard ones yet, so shouldn't be surprising
00:05:00 <tusho> oklopol: I need halp with 7
00:07:18 <tusho> but I get a pime taradox
00:07:22 <tusho> because the other makes him too low
00:07:25 <tusho> to get back to the pod with a jump
00:07:28 <tusho> and I can't jump off fast enough
00:10:53 <oklopol> psygnisfive: didn't you say you've beaten them all?
00:11:18 <oklopol> 01:47… psygnisfive: all levels
00:11:25 <oklopol> you were talking about the timeing
00:12:02 <oklopol> you just go up&right to the button
00:12:17 <oklopol> and another guy is high on the leftmost rising thingie
00:12:30 <oklopol> and jumps on the see-saw to whip another one in the air
00:12:45 <psygnisfive> yeah but i cant get the seesaw to push me high enough
00:13:10 <oklopol> you need to have the leftmost lift as high as it goes
00:13:28 <oklopol> and the guy on it will jump about as high as you dropped onto it from
00:16:35 <ihope> Oh, wow. That walkthrough video for level 7 makes it look really difficult. :-)
00:16:51 <tusho> I haven't used the walkthroughs
00:17:24 <tusho> oklopol: click 'walkthrough'
00:18:31 <oklopol> actually, what this game needs is a speed-up key
00:18:50 <oklopol> ironically it's the only button left out
00:20:56 <oklopol> also, about interactivity, you could let the player have as many copies as he likes, and let him choose what player to move, and how much
00:21:02 <oklopol> and you could do this as long as you'd like
00:21:04 <tusho> how do i get to the thing I need
00:21:11 <oklopol> i mean, you could do in any order
00:21:33 <oklopol> you were just doing 19, can the levels be skipped? :P
00:22:55 <tusho> how do you get to the chip
00:25:30 <tusho> i need halp oklopol
00:25:39 <oklopol> i only like figuring things out "from the inside", meaning i don't actually have to react with the world when solving.
00:26:19 <oklopol> tusho: there are just two things your first guy can do
00:26:28 <oklopol> can you figure those out? only one is non trivial
00:26:33 <oklopol> psygnisfive: passed or are there?
00:26:38 <tusho> use the box to go to the button and press it.
00:27:04 <oklopol> the next guy jumps to the forwarder and beats the level
00:27:16 <oklopol> you have to *think* two guys at once, even when just moving one
00:27:50 <tusho> oklopol: i can't get the datachip I need, dude
00:29:51 <tusho> its too high oklopol
00:29:59 <tusho> even jumping from a bawx
00:30:07 <oklopol> jump from something higher
00:30:15 <oklopol> how do you get a box higher?
00:30:38 -!- GreaseMonkey has joined.
00:30:57 <oklopol> psygnisfive: when you get 22, help me @ it
00:31:19 <oklopol> i can't get up if i get down
00:31:31 <oklopol> so atm, i have to figure out how to pass that without going down.
00:32:06 <tusho> oklopol: how do you get a box higher?
00:32:54 <oklopol> aha, you can stand on the bomb
00:33:12 <oklopol> games should tell all this data, i hate not knowing what to do.
00:33:41 <tusho> oklopol: even jumping off a lifted box
00:34:19 <oklopol> the box is on top of a guy
00:34:23 <oklopol> how do you get a guy higher?
00:34:36 -!- calamari has joined.
00:36:01 <oklopol> lvl 22 needs two guys, psygnisfive
00:36:10 <oklopol> and you don't need patience
00:36:18 <oklopol> you need to know you can jump onto the bomb :<
00:41:17 <oklopol> @ 25, again, i simply don't know a way to get back up if i fall down, and if i don't, i can't do anything.
00:41:34 <oklopol> http://scarybuggames.com/2008/05/chronotron/
00:41:39 <oklopol> a trivial time travel game
00:41:41 -!- wigyan has joined.
00:42:03 <tusho> i need help with level 11, oklopol
00:43:22 <oklopol> psygnisfive: only if you know boxes fall after a few seconds when you stand on the button.
00:43:46 <psygnisfive> the first thing i did was stand on the button a few seconds. lol
00:44:06 <oklopol> i stand on it until i know what it does
00:44:35 <oklopol> tusho: well, you need to get the block down
00:44:46 <oklopol> actually not sure if you do
00:45:08 <oklopol> and jump down, prolly need to have the box
00:45:17 <oklopol> and another guy is on the other side of the see-saw
00:45:55 <oklopol> psygnisfive: anyway, if you happen to stand on the button for more than two seconds, the level is trivial, otherwise it's trivially impossible
00:46:36 <oklopol> once i found out about the boxes
00:50:21 <tusho> I pime taradox'd 12.
00:50:26 <tusho> Well, they all got back.
00:51:05 -!- timotiis_ has quit (Read error: 110 (Connection timed out)).
00:53:07 <oklopol> every level is so fucking trivial :<
00:57:19 <oklopol> except i tried a different thing first
00:59:17 <oklopol> let's just say stealing is never the answer
01:01:12 <oklopol> damn this game, need to stand still for half a minute just to realize you've been standing in the wrong spot
01:01:33 -!- wigyan has quit (Read error: 110 (Connection timed out)).
01:04:03 -!- Slereah2 has joined.
01:14:05 <oklopol> it was trivial once the glitch didn't happen
01:15:45 <oklopol> hmph, i accidentally took another guy in, when i was trying to enter the exit
01:15:55 <oklopol> and the glitch started happening again :)
01:18:24 <oklopol> perhaps it was the way i was doing it
01:18:43 <oklopol> the box, when falling on a door, usually stays in the air
01:18:56 <oklopol> and waits for the block to pass from under it
01:19:08 <oklopol> about every fourth try, it didn't happen
01:19:21 <oklopol> i'm pretty sure nondeterminism is a bug in a game like this
01:19:21 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
01:19:48 -!- Slereah__ has joined.
01:19:49 <oklopol> wonder if these require some thought
01:21:44 <psygnisfive> 28 pisses me off because the floor only sometimes catches the block
01:22:40 <oklopol> 29 could easily be the first level of this game
01:22:53 <oklopol> it's so straight-forward i'm not even sure what i did
01:28:56 <oklopol> okay, 30 seems to be a bit hard.
01:28:56 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
01:29:30 <psygnisfive> i cant get past it due to that fucking bug
01:33:08 <oklopol> okay, 30 is trivial, but it misleads you.
01:36:15 <psygnisfive> also, i think the gam engine has trouble with paradoxes
01:36:27 <tusho> it doesn't actually time travel
01:36:30 <tusho> it just does some sanity checks
01:36:34 <tusho> 'that guy should really be in there by now'
01:36:41 <tusho> '(skips forward simulation 10 days) bah, he's still not in'
01:36:46 <tusho> 'HAY U GOT PIME TARADOX'
01:40:11 <oklopol> okay, it seems the "impossible" puzzles are hard mainly because they're fucking misleading.
01:40:42 <oklopol> "oh did we forget to mention this thing you've seen 100 times and which kills you, works differently in this level?"
01:44:03 <psygnisfive> its like that insane modification of super mario brothers
01:44:10 <psygnisfive> where all the places you need to jump have invisible blocks
01:52:16 -!- tusho has quit.
02:00:36 <oklopol> okay, 32 is genuinely hard.
02:04:27 <oklopol> okay, it was actually simple
02:04:34 <oklopol> but it definitely wasn't trivial
02:20:59 <oklopol> could even be called a level.
02:32:31 <oklopol> a few of the last ones required about a minute of though even after knowing everything about the triggers
02:33:01 <oklopol> but the think/do ratio of that game is so small i wouldn't really recommend it for anything but a monkey
02:33:24 <oklopol> cuz monkeys like doing repetitive things?
02:34:14 <oklopol> i don't have time for that, it's half past 4
02:35:42 <oklopol> i thought 33 was rather nice and clean
02:36:04 <oklopol> it's like hippity-hop-hoppity
02:36:25 <oklopol> wonder if you could get something to eat at this a.m.
02:36:45 <oklopol> there's a place near here that's supposedly open till 5
02:36:51 <oklopol> it says that on their door
02:37:02 <oklopol> but i've tried 3 times now, and they've always been closed all night
02:37:13 <oklopol> perhaps i should try once more
02:39:37 <oerjan> at least here the fast food places often have open longer during weekends
02:40:50 <oerjan> of course 7/11 is _always_ open, and has some food
02:46:23 <pikhq> "Thank you, come again".
02:57:33 <oerjan> time travel does tend to do that
02:57:59 <psygnisfive> i literally spent the last 5 or 6 hours on it
03:02:43 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
03:07:40 <ihope> I'm glad I got bored before finishing level 7. :-P
03:32:28 -!- poiuy_qwert has quit (Read error: 110 (Connection timed out)).
03:56:37 -!- oerjan has quit ("Good night").
04:27:54 -!- pikhq has quit ("leaving").
05:34:59 -!- calamari has quit ("Leaving").
06:38:25 <GregorR> <oerjan> of course 7/11 is _always_ open, and has some food
06:38:29 <GregorR> Depends on your definition of "food"
06:56:52 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:07:55 -!- CakeProphet has joined.
09:07:18 -!- GreaseMonkey has quit (clarke.freenode.net irc.freenode.net).
09:07:19 -!- lament has quit (clarke.freenode.net irc.freenode.net).
09:07:19 -!- Deewiant has quit (clarke.freenode.net irc.freenode.net).
09:08:20 -!- lament has joined.
09:09:00 -!- Deewiant has joined.
09:09:14 -!- GreaseMonkey has joined.
09:17:38 -!- GreaseMonkey has quit (Killed by douglas.freenode.net (Nick collision)).
09:17:38 -!- GreaseMonkey has joined.
09:18:02 -!- DarkPants has joined.
09:19:12 -!- GreaseMonkey has quit (Nick collision from services.).
09:19:18 -!- DarkPants has changed nick to GreaseMonkey.
09:27:44 -!- jix has joined.
09:36:54 -!- jix has quit ("CommandQ").
10:12:23 -!- GreaseMonkey has quit ("i'm the second... gnight!").
10:26:35 -!- Hiato has joined.
10:46:26 -!- AnMaster has joined.
11:45:45 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)).
11:48:12 -!- Slereah2 has joined.
11:55:45 -!- Hiato has quit ("Leaving.").
12:06:07 -!- augur has joined.
13:25:51 <oklopol> my befunge interp isn't working :<
13:26:28 <oklopol> mostly because i didn't test the intermediate versions, but implemented all at once, and am now testing a bigger program right away
13:35:35 -!- oklopolor has joined.
13:45:09 -!- pikhq has joined.
13:47:54 -!- Slereah__ has joined.
13:57:58 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
13:58:29 -!- Slereah2 has joined.
14:11:23 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
14:23:13 <AnMaster> <oklopol> mostly because i didn't test the intermediate versions, but implemented all at once, and am now testing a bigger program right away
14:24:45 <AnMaster> oklopol, I guess you should check out an earlier revision, fix any errors in it, then port those fixes forward
14:24:51 <AnMaster> then go back and do the same a bit later
14:28:26 <augur> hey dont call oklopol dumb! >|
14:28:56 <oklopol> AnMaster: i don't use a VCS, i may be dumb, but i'm not a loser.
14:29:18 <AnMaster> oklopol, well not using a vcs is loosing
14:29:58 * AnMaster would go as far as calling oklopol a moron for not using something like mercurial, bzr, darcs, svn, cvs or even git
14:30:24 <oklopol> well do go, i don't give that many shits :D
14:31:11 <oklopol> i've never not been able to track an error, and i've never installed a vcs
14:31:26 <oklopol> with python, i don't make errors really, so even less use for a vcs
14:32:41 <oklopol> and no matter how useful it is to use a vcs, a true coder does not use one imo.
14:33:12 <oklopol> i like to write my program, and a boolean output of success
14:33:18 <oklopol> i like to write my program, and debug with a boolean output of success
14:34:39 <oklopol> also a good enough reason for me not to use a vcs is people saying i should, fuck those idiots
14:43:26 <AnMaster> oklopol, you MUST NOT use a vcs
14:58:00 <augur> ::murders anmaster::
15:00:35 <oklopol> he's very protective of me
15:00:40 -!- jix has joined.
15:09:05 -!- Slereah__ has joined.
15:16:11 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
15:19:01 -!- jix has quit ("CommandQ").
15:24:10 -!- jix has joined.
15:55:30 -!- Slereah2 has joined.
15:57:58 -!- Hiato has joined.
16:01:26 -!- Slereah__ has quit (Read error: 60 (Operation timed out)).
16:04:45 -!- Hiato has quit ("Leaving.").
16:12:50 -!- tusho has joined.
16:35:17 <tusho> oklopol: how did you survive that
16:57:10 -!- jix has quit ("CommandQ").
17:04:31 -!- oklopol has quit (Read error: 113 (No route to host)).
17:05:36 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
17:07:08 -!- Hiato has joined.
17:07:48 -!- CakeProphet has joined.
17:25:52 <augur> you killed oklopol!
17:26:03 <augur> ::pounces oklopolor::
17:55:15 <augur> oklopol are you a fur?
17:55:17 <augur> you should be a fur
18:00:30 <oklopolor> and now, I assumed you were talking to me, although perhaps that wasn't the case
18:06:34 -!- timotiis has joined.
18:09:24 -!- olsner has joined.
18:11:56 -!- oklopolor has changed nick to lilja.
18:30:14 -!- calamari has joined.
18:36:30 -!- ais523 has joined.
18:37:10 <tusho> odd to see you arrive so late
18:37:35 <ais523> for both the fact I'm here late, and the fact I'm here on Sunday
18:42:24 -!- calamari has quit ("Leaving").
18:44:18 <tusho> http://www.lix.polytechnique.fr/Labo/Dale.Miller/lolli/lolli_seq.gif This is the logo of a language called 'Lolli'.
18:44:22 <tusho> That must be intentional.
18:46:03 -!- calamari has joined.
18:46:27 -!- atrapado has joined.
18:55:45 <tusho> Say, I should get around to properly rewriting that Underload compiler
18:56:04 <ais523> incidentally, I'm thinking about a new lang which is a cross between Underload and Befunge
18:56:21 <ais523> although I won't discuss it much further until after the ICFP contest
19:00:09 <augur> no real interesting paradigms huh? :(
19:00:20 <ais523> you didn't like SMETANA?
19:01:09 <ais523> what about Flip? I don't know much about it but it's got a pretty interesting paradigm
19:02:06 <tusho> i don't think augur actually likes esolangs.
19:02:15 <ihope> How durst thou disturb my slumber?
19:02:23 <ais523> I don't think OscarMeyr likes my INTERCAL style either...
19:02:43 <tusho> ais523: i informed him that too many more PLEASEs would make it not compile
19:03:02 <augur> tusho: i wasnt asking about esolangs when i asked about interesting paradigms
19:03:15 <augur> not that i like these either
19:03:17 <tusho> augur: guess what, all the new and interesting paradigms are generally esoteric
19:03:21 <ais523> augur: new paradigms generally end up in esolangs first
19:03:27 <augur> sure but these are uninteresting. :P
19:03:31 <ais523> augur: have you seen J?
19:03:46 <ais523> that's not very esoteric, and an unusualish paradigm
19:04:16 <ais523> also Mathematica takes its paradigm to extreme levels, although other langs use bits of it, I don't really like Mathematica though
19:04:20 -!- calamari has quit ("Leaving").
19:04:49 <augur> j can be a bit hard to read but
19:05:43 -!- Corun has joined.
19:06:04 -!- calamari has joined.
19:13:26 -!- calamari has quit ("Leaving").
19:18:14 <tusho> Oh, MacVim is nice.
19:19:29 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
19:20:54 -!- Corun has quit ("This computer has gone to sleep").
19:22:22 <tusho> ais523: Any snappy name for the UL->C compiler?
19:22:40 <ais523> not that I can think of right now
19:43:38 -!- Corun has joined.
19:48:45 -!- calamari has joined.
19:55:58 -!- calamari has quit ("Leaving").
19:59:24 -!- Corun has quit ("This computer has gone to sleep").
20:04:55 -!- Hiato has quit ("Leaving.").
20:06:57 <tusho> ais523: Is your ICFP entry open source?
20:06:59 <tusho> That'd be something.
20:07:09 <ais523> tusho: it will be after the contest ends
20:07:13 <tusho> it'd totally change the contest climate if everything was open source
20:07:19 <tusho> for the better i think
20:08:14 <tusho> people would continually build upon each others work
20:08:22 <tusho> and then people would take someone's derivation back and merge it in, etc
20:08:31 <tusho> and loads of fun stuff
20:08:42 <ais523> tusho: you mean source published during the contest?
20:13:35 <tusho> ais523: someone made a whole website about spectateswamp
20:13:36 <tusho> http://www.spectateswamp.com/
20:13:46 <ais523> tusho: yes, I came across that before you
20:13:57 <tusho> totally over the top, and I like that
20:14:14 <ais523> two whole websites, in fact
20:15:11 <ais523> from memory, http://thestupidestmanintheuniverse.com, but I never visited it partly because I thought the name was a bit unfair
20:15:23 <ais523> SpectateSwamp is at least intelligent enough to write VB, after all
20:15:43 <tusho> ais523: i don't see any incompatibility ;)
20:15:57 <tusho> probably: http://thestupidestmanonearth.com/
20:16:07 <tusho> http://www.thestupidestmanonearth.com/
20:16:08 <tusho> it's the same site
20:16:41 <ais523> I can't believe that someone actually went to the trouble of buying that name simply to spread anti-SSDS FUD, though...
20:17:00 <tusho> I think it's great :p. But, ssds?
20:17:40 <ais523> tusho: SpectateSwamp's Desktop Search
20:17:50 <ais523> the program that started the whole thread in the first place
20:17:52 <tusho> ah, is that the video thing
20:18:19 <ais523> it's like a video player + grep with a more confusing interface
20:25:32 <tusho> ais523: SS' biography is epic
20:25:33 <tusho> { Swampie's future plans are detailed and well established in his mind. Basing his belief on an ancient and little-used calender system, it is Mr Pederson's conviction that the world is due to end in 2012. Whilst a belief in the world ending imminently would have crushed lesser men, Spectate thinks that due to his self-proclaimed 'Shaman' status and 'magic' stones, he can and will literally 'dance the problem away'. Whether he will be able to do so is yet t
20:30:08 <SimonRC> ah, the swampthing from TDWTF forums
20:30:35 -!- Slereah2 has joined.
20:30:36 <SimonRC> <plug>thedailywtf.com is funny! visit it!</plug>
20:32:16 <tusho> it's not that funny any more.
20:32:28 <ais523> tusho: it is often funny, I find
20:32:31 <ais523> I still read every article
20:32:40 <ais523> and MfD has improved to the point it's occasionally slightly amusing
20:33:30 <SimonRC> the mutilations of it are funnier
20:33:47 <SimonRC> a former employer of mine were on there once
20:34:12 <tusho> ais523: mfd ... amusing?
20:34:23 <tusho> ok, someone kill ais523, or he'll start imitating mfd in the future
20:34:27 -!- Corun has joined.
20:34:27 <ais523> they replaced it with something utterly unlike the previous one
20:34:30 <ais523> but yes, the imitations are better
20:34:32 <tusho> and you don't want to know what happens when he does that
20:34:43 <SimonRC> mfd 2.0, now with artistic ability!
20:35:17 <ais523> the only sort of art I do is the output of mathematical algorithms
20:35:17 <SimonRC> so how would he imitate it?
20:35:31 <ais523> and esolangs of course, they're art too
20:36:51 -!- oklopol has joined.
20:37:36 <ais523> or evening from my point of view
20:37:55 <SimonRC> I had some kind fof esolang dream
20:38:58 <SimonRC> all I can remember was that the first action any non-trivial program had to take was to get the hastable of all variables and stuff it into a macro quick, before it disappeared
20:39:10 <SimonRC> and that doesn't really make sense
20:39:22 <ais523> it might do in a rewriting lang
20:39:49 <tusho> INTERCAL-produced music, I hope
20:39:55 <tusho> about INTERCAL, and sounding like INTERCAL
20:39:56 <ais523> no, I write music for fun
20:39:56 <oklopol> i like the "quick, before before it disappears" idea :P
20:40:21 <tusho> SimonRC: that's great
20:40:29 <ais523> oklopol: there is a before before it disappears, that's where you get ready to delete it in the time before it disappears
20:41:27 <tusho> ais523: hmph, I just wrote a 46 line underload parser
20:41:34 <tusho> that's a bit better than what we got before ...
20:41:44 <tusho> and pretty trivially
20:41:48 <ais523> oh, it does other things than parsing
20:42:00 <ais523> I thought 46 was a bit excessive given that Underload and Brainfuck are equally easy to parse
20:42:17 <tusho> http://paste.lisp.org/display/63637
20:43:26 <SimonRC> (maybe a lang with a really enthusiastic garbage collector?)
20:43:41 <SimonRC> (one must keep two references to everything around to prevent collection)
20:43:46 <ais523> SimonRC: maybe a lang where all objects needed at least 2 references to them to prevent collection
20:43:56 <tusho> just 'two references' seems kinda sucky
20:44:01 <ais523> it must be a good idea in that case
20:44:01 <tusho> it should be relative to how many references to everything there are
20:44:09 <tusho> so you had to continually try and add more references
20:44:13 <ais523> tusho: maybe a number of references proportional to the object's value and complexity
20:44:14 <tusho> or it'd come and get you
20:44:20 <ais523> so a large hashtable would need, say ten
20:44:23 <tusho> ais523: yes, but you shouldn't just be able to get it right then leave it
20:44:27 <ais523> in addition to all the internal references it had
20:44:27 <SimonRC> maybe there must be a reference on the heap, and stack ones don't count
20:44:30 <tusho> you should have to stay wary over time
20:44:34 <ais523> tusho: most objects grow over time
20:44:40 <ais523> at least, most big objects
20:45:02 <ais523> but people would end up creating a web of objects each of which referenced everything else and also each other
20:45:04 <tusho> ais523: like the parser?
20:45:07 <ais523> and use malloc-like functions to manage memory
20:45:09 <tusho> i tried to make it as haskelly as possible
20:45:35 <ais523> and that is just a parser, and it would take 45 lines to parse Brainfuck the same way...
20:45:42 * tusho writes a deparse :: [AST] -> String
20:45:50 <tusho> ais523: yes, but remember our other haskell one
20:45:55 <tusho> the parser was hideous and going on 100 lines
20:46:40 <ais523> anyway, when I get round to speccing it, I think you'll like Shove (my Befunge-Underload hybrid)
20:46:51 <ais523> it's the first lang in which I've ever used INTERCAL quotes to make things easier
20:47:16 <ais523> undirected quotes help a lot in two dimensions, what happens if you hit a paren from underneath, for instance?
20:47:39 <ais523> you can just use '" and "' as ( and ) respectively to simulate parens
20:49:50 <tusho> What's insane, is to bury textual information in video files. - SpectateSwap
20:49:54 <tusho> isn't that what he reccomends?
20:51:29 <ais523> AnMaster: if you're actually there, I'm in a situation where I could actually benefit from the C speed tricks of yours tusho doesn't like
20:51:41 <ais523> I'm already using register and inline where appropriate, anything else I should do?
20:51:55 <ais523> s/actually// (the first one)
20:51:58 <tusho> ais523: i like it when justified
20:52:09 <tusho> i don't like it when it's a befunge compiler more optimised than python and ruby
20:52:12 <ais523> like ICFP in a realtime-performance problem, yes
20:52:16 <ais523> and s/compiler/interpreter/
20:52:23 <tusho> (deewiant's quote on this was good, it was basically: guido and matz know when the optimisations actually _apply_)
20:52:31 <ais523> ick is a Befunge 'compiler' but it just bundles an interpreter
20:52:38 <ais523> tusho: I like the Rules of Optimisation
20:52:41 <ais523> First rule: Don't do it.
20:52:46 <ais523> Second rule: Don't do it /yet/.
20:53:08 <ais523> The third rule is: Don't do it until you've figured out, by testing, what bit actually needs optimising
20:53:16 <ais523> but that one isn't as funny, although still just as important
20:53:22 <tusho> Foruth rule: Don't do it.
20:54:34 <tusho> ais523: it occurs to me that the only actual hard bit (to write) about compiling underload is the 'unrolling'
20:54:59 <ais523> of course a parser in C does that for you, more or less, with the pointers
20:55:09 <tusho> oklopol: basically
20:55:36 <SimonRC> maybe, if one can do some sort of dataflow analysis on underload, quoted things can be turned into actual control structures
20:55:46 <tusho> by replacing nested structures
20:55:48 <tusho> with references to another
20:56:06 <tusho> you use this because you can't get proper nested functions in c
20:56:12 <tusho> so you compile each unrolled element seperately
20:56:59 <tusho> it's pretty hard to write neatly in source
20:57:03 <tusho> i think I can do it, though :p
20:57:19 <tusho> each unrolled element is called a blimp, btw
20:57:48 <SimonRC> yes, lol at the "blimp" terminology
20:58:09 <ais523> tusho: Underload will compile into Shove too, I think
20:58:11 <tusho> it was a spur of the moment thing!
20:58:33 * tusho wonders how to open a file in the same directory as the current one in vim easily
21:03:18 <tusho> SimonRC: vim doesn't change dir to the dir of your current file
21:03:21 <tusho> that'd be confusing with tabs
21:14:39 <tusho> ais523: ([[Enclose],[Enclose,Blimp 0,Enclose]],[Enclose,Blimp 1,Enclose])
21:14:47 <tusho> technically it's right.
21:14:50 <tusho> but it's the wrong way around.
21:16:06 <ais523> you can work with that, though?
21:17:15 <tusho> ais523: yes, but I like nice numbering, so i'll tweak
21:17:18 <tusho> also - (10,000 lines of Visual Basic code in One routine)
21:19:11 -!- Corun has quit ("This computer has gone to sleep").
21:21:11 -!- ihope has quit (Read error: 110 (Connection timed out)).
21:31:43 -!- ihope has joined.
21:37:15 -!- Corun has joined.
21:41:13 -!- oklopol has left (?).
21:41:13 -!- oklopol has joined.
21:44:54 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
21:46:41 -!- oerjan has joined.
21:48:53 <SimonRC> Co-incidentally, there was an article on rgrd that mentionned how the most fun amature games in a certain BASIC dialect tended to be 10000 lines in one routine.
21:50:19 <oerjan> <GregorR> Depends on your definition of "food"
21:50:20 -!- ais523 has joined.
21:50:57 <oerjan> i'm speaking of the norwegian part of 7-eleven here. it may be different elsewhere
21:52:11 <oerjan> (the scandinavian parts are licensed to a company (Reitan group) based here in trondheim)
21:52:14 <tusho> http://www.google.co.uk/search?q=tusho&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-GB:official&client=firefox-a tusho's are appearing
21:52:23 <tusho> (yahoo answers, something called 'piczo')
21:52:27 <tusho> better start registering places
21:54:12 <oerjan> (although this does not seem to include finland afaict)
21:56:47 <oerjan> GregorR: ^^^ slight followup to yesterday
22:01:35 <tusho> ais523: can I randomly prod you about wikipedia administrative matters, I keep seeing drama whenever I click to a meta-page from a page without any real explanation of what actually happened
22:01:44 <tusho> you're a wp administrator so obviously ominipotent
22:01:48 <ais523> tusho: ok, but in a query or another channel
22:02:21 -!- atrapado has quit ("Abandonando").
22:07:07 <GregorR> oerjan: Suffice to say that 7/11 is not a place you go for food in the US ... sure, they advertise food, and they sell antacids so you can eat their food, but it's not a happy experience.
22:08:32 <tusho> Deranged in-denial spammer from #haskell has conversation. http://rafb.net/p/10WLBR49.txt
22:10:25 <oerjan> a place like that would probably not be able to survive in norway. we're so rich no one can sell cheap lousy food here :D
22:10:37 <tusho> GregorR: More batshit insane:
22:10:38 <tusho> http://rafb.net/p/xgGJRI55.txt
22:15:09 <AnMaster> <ais523> AnMaster: if you're actually there, I'm in a situation where I could actually benefit from the C speed tricks of yours tusho doesn't like
22:15:17 <ais523> AnMaster: it's the ICFP
22:15:18 <AnMaster> <ais523> I'm already using register and inline where appropriate, anything else I should do?
22:15:22 <ais523> it's full of realtime stuff
22:15:30 <AnMaster> I believe the compiler is better at that
22:15:30 <tusho> AnMaster: it's a realtime program
22:15:31 <tusho> literally realtime
22:15:36 <tusho> he needs all the speed he can get
22:15:40 <ais523> I only use it for quick throwaway variables, anyway I think gcc ignores it
22:15:54 <ais523> because it's better at figuring it than me
22:15:59 <ais523> who knows, maybe it actually is
22:16:16 <AnMaster> ais523, well what are you trying to do? if you want hard real time you need an OS supporting it
22:16:27 <ais523> AnMaster: it has to run on Linux
22:16:38 <ais523> and I'm trying to do lots of simulations in realtime so I can pick the best one
22:16:53 <AnMaster> and with what compile time options
22:17:01 <ais523> AnMaster: I choose the compile time options
22:17:08 <ais523> right now I'm just using -O3 though
22:17:12 <AnMaster> what about getting better nice level?
22:17:43 <ais523> AnMaster: can't be root
22:17:53 <ais523> and profile feedback sounds good, I can't remember how to do it though
22:18:18 * oerjan thinks someone needs to add a filter to the esolangs wiki for those latest spams
22:18:28 <ais523> I can't do it, I'm only an admin
22:18:43 <ais523> I can alter the site JS but that won't help against bot spammers, as they'll just ignore it
22:18:45 -!- CakeProphet_ has joined.
22:18:50 <AnMaster> -O3 -fprofile-generate -combine -fwhole-program -fno-ident -fvisibility=hidden -funsafe-loop-optimizations -funsafe-math-optimizations
22:19:16 <ais523> not under gprof, just by itself?
22:19:18 <AnMaster> -O3 -fprofile-use -freorder-functions -combine -fwhole-program -fno-ident -fvisibility=hidden -funsafe-loop-optimizations -funsafe-math-optimizations
22:19:26 <ais523> also -combine is pointless because I only have one input file
22:19:44 <AnMaster> ais523, this may be worth a try
22:19:56 -!- CakeProphet has quit (Read error: 113 (No route to host)).
22:20:04 <AnMaster> ais523, if you need real time, do you know what CPU?
22:20:12 -!- CakeProphet_ has changed nick to CakeProphet.
22:20:21 <ais523> AMD Athlon(tm) XP 2700+
22:20:22 <AnMaster> because if you got something fancy you will want inline asm for prefetching data and such
22:20:37 <tusho> ais523: you don't know what cpu the final will be run on
22:20:41 <ais523> AnMaster: I couldn't trust myself to write inline asm safely, not having an Athlon myself to test on
22:20:54 <tusho> qemu can emulate an athlon
22:21:03 <AnMaster> ais523, well you want to know what sort of SSE it support
22:21:03 <ais523> probably but I'm not risking inline asm
22:21:18 <ais523> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow up ts
22:21:23 <ais523> from the info provided by the organisers
22:22:02 <AnMaster> -march=athlon-xp -msse -mfpmath=sse,387
22:22:03 <tusho> ais523: if you win this, you'll be the official #Esoterician With Money again
22:22:22 <AnMaster> I'm not sure if -mfpmath=sse,387 or -mfpmath=sse will be fastest on that thing
22:22:23 <oerjan> tusho: wait, did he stop being it?
22:22:32 <ais523> I've already decided that I daren't mess about with -march
22:22:40 <tusho> ais523: do you still have the wolfram prize money?
22:22:45 <AnMaster> ais523, you want the correct -march for the target
22:22:45 <ais523> simply because if I get it wrong the program dumps core and I'm disqualified
22:22:49 <ais523> tusho: I'm using it to live off
22:22:54 <tusho> ais523: thought so
22:23:18 <tusho> AnMaster: he can't touch the final server
22:23:24 <tusho> it's the ICFP contest
22:23:29 <tusho> he has to test it on his machine
22:23:32 <tusho> then it's run on their servers
22:23:38 <tusho> and if it breaks, zzt, disqualified
22:24:15 <ais523> ah, that means tune for that, but still work on other x86s?
22:24:22 <AnMaster> ais523, indeed that is the case
22:24:40 <tusho> also, ais523, you can ask in #icfpcontest
22:24:44 <tusho> i'm sure they can tell you about the machinaes
22:24:45 <AnMaster> ais523, you probably want -march=i686, because if they use a 486 or 386 they should go to hell anyway ;P
22:25:52 <tusho> Ooh! A new installation of Batshit Insane coming up! I'm sure GregorR will love this one!
22:25:58 <AnMaster> ais523, also what gcc version?
22:26:15 <ais523> AnMaster: I can use whatever compiler I like
22:26:19 <ais523> I have to submit the binary
22:26:26 <ais523> either that or I can submit sources and a compile script
22:26:33 <ais523> and compile it on their servers, which will have gcc
22:26:36 <ais523> but compiling here seems safer
22:26:41 <AnMaster> ais523, binary then so you can select *version* of gcc
22:26:50 <ais523> which version do you suggest
22:26:57 <AnMaster> ais523, however profiling will depend on target
22:27:03 <AnMaster> so maybe compile script is better
22:27:18 <ais523> AnMaster: I couldn't profile then run over there
22:27:24 <ais523> because the first run will be the official one...
22:27:50 <AnMaster> well any profiling is likely to help somewhat
22:28:05 <AnMaster> as for gcc version, I guess a recent one
22:28:29 <AnMaster> I still admit I use gcc 4.1.2 here :P
22:29:17 <AnMaster> ais523, also you want to try -Wunreachable-code
22:29:29 <AnMaster> -Wunused-function -Wunused-label -Wunused-value -Wunused-variable
22:29:36 <AnMaster> to find anything you don't use
22:29:44 <ais523> will that speed up the program?
22:29:52 <AnMaster> ais523, however, be warned that -Wunreachable-code can give false positives
22:29:57 <AnMaster> ais523, it will point out dead code
22:30:06 <AnMaster> so you can remove it (if it isn't a false positive)
22:30:15 <ais523> well, I have if(0) deliberately
22:30:19 <ais523> to keep out debug code
22:30:23 <ais523> I think it'll be optimised away
22:30:24 <AnMaster> ais523, also, move test conditions outside loops
22:30:40 <ais523> yes, I know that trick, I'll have to see where I can use it
22:30:45 <ais523> and I do use #ifdef in most places
22:30:50 -!- olsner has quit.
22:31:04 <AnMaster> ais523, if you know your least x86 CPU, consider using SSE if you can
22:31:40 <AnMaster> http://kuonet.org/~anmaster/photos/flight/ESOE-2008-07-12/ <-- btw I guess no one here is interested in that
22:31:55 <ais523> AnMaster: http://smlnj.org/icfp08-contest/task.html
22:33:27 * ais523 generates some profiling ingo
22:34:02 <ais523> I'm doing the task by simulating possibilities faster than realtime
22:34:04 <ais523> to see which one's best
22:34:18 <ais523> thus the need for speed
22:34:21 <AnMaster> ais523, well what is real time here
22:34:32 <ais523> AnMaster: the speed at which the rover and the Martians move
22:34:49 <ais523> not really because there are delays involved
22:34:54 <ais523> although a faster CPU will be better
22:34:58 <ais523> but theirs isn't very good
22:35:04 <ais523> neither is mine, really
22:35:09 <AnMaster> ais523, also I guess inline x86 asm wouldn't be popular here, if NASA really plans to reuse it
22:35:11 <ais523> but mine's better than theirs
22:35:16 <ais523> AnMaster: I think that bit's a joke
22:37:34 <oklopol> AnMaster: scroll a bit and see the martians... :P
22:37:55 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
22:38:05 <tusho> GregorR: THE NEXT INSTALLATION!!!!!!
22:38:05 <tusho> http://rafb.net/p/oAmySM83.txt
22:38:10 <tusho> And hilariously awful.
22:38:36 <ais523> rover.c:138: warning: no coverage for function ‘projectstep’ found
22:38:57 <ais523> AnMaster: why didn't the profiling work? Do you have any ideas?
22:39:03 <ais523> do I have to run under a profiler?
22:39:21 <ais523> AnMaster: with the command line you gave for profiling
22:39:29 <AnMaster> ais523, and no if you did it the way I said (NOT -pg, that is another type of profiling) it should work
22:39:31 <ais523> I have a no coverage warning for all my functions
22:39:43 <AnMaster> ais523, I assume you used the line I said...?
22:40:04 <AnMaster> http://rafb.net/p/vkcFS963.html
22:40:13 <AnMaster> that is what I use for speed runs of cfunge
22:41:04 <AnMaster> it is not in the repo because I don't support anyone using it
22:41:52 <ais523> unsafe-loop-optimizations? Seriously? I checked the unsafe-math-optimizations to make sure they were safe in the context of my program, but loop optimizations, did you check all the loops in your program by hand for safety?
22:42:11 <oerjan> good. we cannot have anything insane in #esoteric. no sir!
22:42:56 <AnMaster> "did you check all the loops in your program by hand for safety?" <-- yes
22:43:06 <tusho> <AnMaster> "did you check all the loops in your program by hand for safety?" <-- yes
22:43:08 <tusho> Ladies and gentlemen.
22:43:12 <ais523> actually, I was planning to do the same in my program
22:43:15 <ais523> so tusho can laugh at me too
22:43:23 <tusho> Crazy person who has no idea what is appropriate for optimization.
22:43:29 <tusho> ais523: No, you need realtime performance.
22:43:40 <AnMaster> tusho, what about real time befunge
22:43:45 <tusho> Not even Ruby, the slowest of the slow, would be reasonable like that.
22:43:45 <ais523> what are the rules? no infinite loops with a nonconstant condition is one of them
22:43:48 <tusho> AnMaster: It does not exist.
22:43:48 <AnMaster> a planned extension in the future
22:43:55 <tusho> It should not exist.
22:44:01 <AnMaster> tusho, for use in nuclear reactors!
22:44:03 <tusho> Why? Because it is a pointless and ridiculous idea that nobody will ever toy with.
22:44:03 <ais523> actually, there's nothing intriniscally slow about Befunge
22:44:29 <AnMaster> <ais523> what are the rules? no infinite loops with a nonconstant condition is one of them <-- well see the -Wunsafe..., that will tell you
22:45:20 <tusho> GregorR: oh lord, it continues
22:45:25 <tusho> he has a pretty shitty personality.
22:45:28 <ais523> incidentally, I googled the error message I got
22:45:36 <ais523> and found nothing but the gcc source code, and patches to it
22:45:53 <ais523> the no coverage found error
22:46:15 <AnMaster> ais523, well my script works for cfunge, I checked
22:46:26 <tusho> THE FINAL INSTALLATION
22:46:27 <tusho> http://rafb.net/p/Eou8W588.txt
22:46:35 <ais523> personally, I don't see anything wrong with optimising Befunge for speed
22:46:40 <ais523> actually, it's an interesting challenge
22:46:43 <ais523> sort of like golfing an esolang
22:46:46 <ais523> but for speed not size
22:46:57 <tusho> except he's serious about it, ais523
22:47:12 <tusho> or if he's not, he's very good at hiding that fact and prolonging it for as long as possible
22:47:33 <AnMaster> <ais523> but for speed not size <-- thanks for defending me!
22:47:40 <ais523> tusho: why do you think there's a -F option in C-INTERCAL?
22:47:56 <tusho> ais523: but that's funny
22:48:12 <AnMaster> tusho, well I find posix_fallocate quite fun! ;P
22:48:17 <tusho> oh, and the first person to point out the wonderful irony at the top of http://en.wikipedia.org/wiki/User:Smith_Jones wins a cookie
22:48:18 <ais523> well, ok, -F was mostly a joke, but you have to admit that INTERCAL wins on many benchmarks now
22:49:05 <ais523> tusho: I don't have to point out the irony, you did
22:49:16 <AnMaster> static inline int tusho_fadvise(int fd, off_t offset, off_t len, int advice) { posix_fallocate(fd, offset, len, advice); }
22:49:20 <tusho> well yes, but you have to specify what it is, ais523
22:49:41 <AnMaster> ais523, what does -F do now again?
22:49:52 <ais523> tusho: the same thing that happened to Esperanza, except that it's a project to prevent that happening in the first place
22:50:18 <tusho> ais523: actually, it's the box and the line directly below it
22:50:18 <ais523> AnMaster: verifies that the program is deterministic and takes no input, runs it to see what happens, records the output and generates a program that contains all the output and just cats it out
22:50:24 <tusho> {a principled scientist}
22:50:28 <tusho> {join the wikiproject Homeopathy}
22:50:55 <ais523> tusho: I thought the irony was setting up a bureaucratic process to complain about bureaucratic processes
22:50:59 <ais523> or did you miss that one?
22:51:09 -!- CakeProphet_ has joined.
22:51:15 -!- CakeProphet_ has changed nick to CakeProphet.
22:51:16 <tusho> and I chuckled a bit
22:51:24 <tusho> but I grinned madly when I saw the next sentence
22:54:02 <ais523> I'm annoyed, both AnMaster and Google say that it should work fine, but gcc is saying that it isn't and won't tell me why not
22:54:21 <AnMaster> ais523, try that script on the cfunge sources
22:54:23 <tusho> --fexplain-yourself
22:54:28 <tusho> AnMaster: he doesn't have time for that!
22:54:48 <ais523> AnMaster: what does -fno-ident do, by the way?
22:54:51 <AnMaster> ais523, it should work out of box
22:54:54 <tusho> he needs to refine, refine, optimize, optimize
22:55:01 <AnMaster> ais523, just remove some pointless metadata
22:55:20 <AnMaster> ais523, about what gcc version was used
22:55:38 <AnMaster> that gcc puts in a .comment section in the binary
22:55:58 <ais523> ah, I forgot the -O3 on the original compile...
22:56:22 <AnMaster> ais523, oh btw you also want -Wl,-O1,--hash-style=both,--as-needed,-z,combreloc
22:56:35 <ais523> optimize the /linker/?
22:56:40 <ais523> but I'm only linking one file
22:56:44 <AnMaster> "both" instead of "gnu" because the target may not support the both style
22:57:16 <tusho> AnMaster, you scare me
22:57:30 <ais523> maybe I should generate a lookup table for sin and cos at the start of the program
22:57:43 <tusho> or just hardcode it
22:57:45 <AnMaster> <AnMaster> "both" instead of "gnu" because the target may not support the both style <-- "may not support the gnu style" was what I meant
22:57:47 <ais523> because all angles are only accurate to 1/10 degree
22:57:50 <ais523> so that's only 2600 angles to check
22:57:57 <tusho> ais523: hardcoding it = huuuuuuuuuge file, but still
22:58:24 <tusho> #include "tables.c"
22:58:31 <tusho> then it's easier to edit
22:58:33 <ais523> tusho: yes, that's the trick
22:58:40 <ais523> and I've put lookup tables into programs before
22:58:40 <tusho> yeah, give that a go
22:58:54 <AnMaster> including C files, nice one, but oh so devilous
22:58:55 <ais523> once spent 9 hours debugging a program where I'd accidentally written the first half of the lookup table twice
22:58:58 <ais523> rather than the whole table
22:59:17 <ais523> AnMaster: you are /so/ getting a mention in the README for this...
22:59:19 <AnMaster> ais523, auto generate lookup table
22:59:28 <ais523> I'll write a script to generate it
22:59:46 * tusho is mentioned in the readme too
22:59:56 <AnMaster> ais523, BE SURE TO NOT USE A PENTIUM WITH THE FDIV BUG!
23:00:13 <tusho> what did you do AnMaster
23:00:25 <AnMaster> I thought he had an old computer
23:00:35 <tusho> ais523: oh, yeah, forgot
23:00:39 <ais523> I installed sdate yesterday
23:00:45 <ais523> Evolution seems not to like it, though
23:00:58 <lament> the september that never ended until usenet got shut down?
23:01:02 <ais523> AnMaster: sdate wraps libc to return dates in September 1993
23:01:07 <tusho> lament: it hasn't been shut down.
23:01:12 <tusho> besides, it's the internet as a whole
23:01:23 <ais523> but many programs barf on getting a day of month greater than 31
23:01:38 <AnMaster> <ais523> but many programs barf on getting a day of month greater than 31 <-- well not odd
23:01:42 <tusho> AnMaster: sept 1993 was when aol gave its users usenet accses
23:02:01 <tusho> the regular september influx of newbies never ended
23:02:05 <tusho> because AOL had them in abundance
23:02:09 <AnMaster> tusho, I know.........................................
23:02:21 <tusho> ...........................................................
23:02:25 <tusho> ...........................................................................................................................................
23:02:50 <ais523> another problem is that the number of newbies reached a critical mass, and so people stayed as being newbies rather than becoming more sensible over time
23:02:57 <lament> in fact, everybody born after sept. 1993 is automatically a moron
23:03:06 <tusho> lament: you just indirectly insulted me
23:03:21 <ais523> lament: I think the problem is that although some newbies are good, you get a lot of bad ones too
23:03:34 <ais523> I was a sufficiently good newbie on comp.lang.c that nobody complained much when I posted
23:03:48 <ais523> and if you see the amount of complaining about trivialities that happens there, that's quite an impressive achievement
23:03:53 <tusho> isn't comp.lang.c very elitist?
23:04:00 <ais523> tusho: not exactly, but it's very pernickety
23:04:07 <tusho> i've read it a bit
23:04:09 <ais523> you have to do things exactly right or all the regulars complain
23:04:12 <tusho> people just sweat over everything
23:04:19 <ais523> so it gives off the impression of being elitist
23:04:21 <tusho> AHA!! But seciton 3.348979c8qw79127398237498234798234 of the standard says YOU CAN'T CALL IT THAT
23:04:26 <tusho> I am refusing to help you. Goodbye.
23:04:44 <lament> ##C is just the same way.
23:04:57 <ais523> incidentally, I asked for help to see if a bit of C-INTERCAL was legal, they helped me improve it a lot and asked why on earth I was trying to do what I was doing
23:04:59 <tusho> because it's realtime communication
23:05:00 <ais523> and I said it was in the spec
23:05:04 <ais523> and they said weird spec
23:05:06 <tusho> so they don't bother detailing exactly what you got wrong
23:05:10 <lament> for fun, you can always go to ##C and suggest that arrays and pointers are the same.
23:05:25 <tusho> lament: oo, think i'll do that
23:05:40 <ais523> tusho: are you really going to?
23:05:44 <tusho> ais523: i just did
23:05:50 <tusho> <tusho> arrays and pointers are the same right?
23:06:09 * ais523 waits to see how quickly tusho's kickbanned as an obvious troll
23:06:10 <lament> asking it was probably bad, should have somehow stated it
23:06:20 <lament> asking is not trollish enough
23:06:20 <tusho> lament: i'm going to say that now
23:06:27 <tusho> it was a rhetorical question
23:06:31 <AnMaster> <lament> for fun, you can always go to ##C and suggest that arrays and pointers are the same.
23:06:41 <lament> AnMaster: say it there.
23:06:45 <lament> AnMaster: go to ##C and defend tusho.
23:06:50 <ais523> AnMaster: actually, on the machine level they have different lengths
23:07:00 <ais523> a pointer is 4 bytes long on x86, most arrays are longer
23:07:08 <ais523> but you normally deal with pointers to the array's element
23:08:57 <lament> <Auris-> tusho, C is about details. if you cannot keep them in mind, you will fail.
23:09:00 <lament> that's the crux of the issue
23:09:02 <ais523> yep, it sounds just like comp.lang.c to me, but I rather like comp.lang.c
23:09:14 <lament> it explains both the behaviour of comp.lang.c and of ##C
23:09:18 <tusho> ais523: feel glad that poppavic isn't there
23:09:25 <tusho> poppavic is the only being worse than a markov chain
23:09:28 <lament> unless you're really anal, you'll just fail at writing C
23:09:35 <lament> that's why they're anal
23:09:46 <tusho> ais523: you ruin all my fun
23:09:57 <lament> poppavic is probably banned
23:10:01 <ais523> after you left: <dkasak> Coward.
23:10:14 <tusho> ais523: well, at least I trolled him
23:10:16 <tusho> lament: seriously?
23:12:51 <AnMaster> <lament> unless you're really anal, you'll just fail at writing C
23:13:04 <tusho> AnMaster: C, not AnMasterC
23:13:17 * AnMaster slaps tusho with a super-large, super-smelly, decaying digitally-enhanced reinforced IRC-grade trout
23:14:16 -!- Algonquian has joined.
23:16:39 <tusho> oerjan: this channel is pg-13.
23:17:01 * oerjan lies on the floor, screaming with laughter
23:17:32 <tusho> well I'm glad I can make someone laugh
23:17:56 -!- timotiis has quit (Connection timed out).
23:18:31 <oerjan> also, http://www.darthsanddroids.net/
23:21:40 <ais523> AnMaster: thanks for the advice, it's really helped, I actually just got 3/5 on a version of the spiral map where all the obstacles were 3 times as large and I've never got anywhere near that at all
23:21:45 <ais523> the extra performance helped it find better paths
23:24:18 <ais523> although it bounced off things a lot
23:24:31 -!- poiuy_qwert has joined.
23:25:46 <lament> are you winning with intercal?
23:25:54 <ais523> lament: no, I'm using C
23:26:03 <tusho> ais523: you promised to include some intercal
23:26:07 <ais523> this contest requires pretty much all the thing that INTERCAL is bad at
23:26:18 <tusho> all the more reason to use it
23:26:24 <ais523> tusho: I didn't promise, I just thought it would be nice to use it for something
23:26:37 <ais523> but if you write me a JSON library in INTERCAL, I'll use it to generate some maps
23:26:51 <tusho> if you write me a string lib
23:26:57 <ais523> ugh, that'll take weeks
23:27:02 <ais523> INTERCAL really does need a decent string lib
23:27:08 <ais523> and I have weeks but not now
23:27:15 <ais523> that seems like a decent summer holiday project
23:27:27 <ais523> ideally it would work with both C-INTERCAL and CLC-INTERCAL string handling rules
23:27:52 <tusho> ais523: Ideally, it would be a C{,LC}-INTERCAL polyglot, that when run, would generate a C-INTERCAL or CLC-INTERCAL version to stdout
23:27:59 <tusho> the opposite of what you ran it on
23:28:02 <tusho> so run it on C-INTERCAL for CLC
23:28:39 <lament> can't you at least pick some other, saner language
23:28:40 <ais523> there are several ways to tell between them
23:28:59 <tusho> lament: he'd have to use cfunge
23:29:03 <ais523> ignorret is different on all three INTERCAL compilers I can find nowadays
23:29:19 <ais523> and the syntax differs between CLC-INTERCAL and C-INTERCAL by default
23:29:23 <ais523> also language features can be tested
23:29:34 <tusho> ais523: When run on J-INTERCAL it should output "AHAHAHAHAHAHAHAHAHAHHAHAAHHAHA" and exit.
23:29:36 <ais523> e.g. computed come from to rule out J-INTERCAL, lectures to rule out C-INTERCAL
23:31:57 <ais523> tusho: when run on J-INTERCAL it should output itself in Java bytecode
23:32:23 <tusho> ais523: ... and the bytecode version, when run with J-INTERCAL, should output that and exit
23:32:41 <ais523> you mean it shouldn't contain DO anywhere?
23:32:52 <tusho> that="AHAHAHAHAHAHAHAHAHAHHAHAAHHAHA
23:33:07 <ais523> a Java bytecode/INTERCAL quine is probably impossible, though
23:33:14 <ais523> maybe I should implement reverse comments in something
23:33:23 <ais523> a comment syntax "comment backward to the beginning of the program"
23:33:29 <ais523> so you can write whatever you like before it
23:33:36 <ais523> the last one in the program would be honoured
23:33:51 <ais523> thanks everyone for the help
23:33:55 -!- 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"").
23:34:29 -!- CakeProphet has quit (Read error: 113 (No route to host)).
23:41:21 -!- CakeProphet_ has joined.
23:41:29 -!- CakeProphet_ has changed nick to CakeProphet.
23:49:16 <tusho> oklopol: augur: another fun game:
23:49:20 <tusho> http://www.jeffwu.net/games/ngame.swf
23:49:28 <tusho> hmm, that one's distorted
23:49:29 <tusho> http://www.addictinggames.com/ngame.html
23:58:18 <tusho> Slereah2: This IS addictive.
23:59:40 <tusho> I did a huge leap from one side to the other
23:59:43 <tusho> cause I had 4 seconds left
23:59:45 <tusho> and had to get to the door
23:59:49 <tusho> but splatted onthe ground
00:43:38 <tusho> nethack isn't addicting
00:59:05 <tusho> CakeProphet: which one
01:01:59 <lament> tusho: if you're not addicted to nethack, it's because you're young and stupid.
01:02:19 <tusho> lament: 2 out of 2
01:06:14 <CakeProphet> it's actually kind of laggy on my computer.
01:06:47 <tusho> CakeProphet: I don't know what nethack is.CakeProphet: I don't know what nethack is.CakeProphet: I don't know what nethack is.CakeProphet: I don't know what nethack is.CakeProphet: I don't know what nethack is.CakeProphet: I don't know what nethack is.CakeProphet: I don't know what nethack is.CakeProphet: I don't know what nethack is.CakeProphet: I don't know what nethack is.CakeProphet: I don't know what nethack is.CakeProphet: I don't know what nethack is.
01:06:49 <tusho> CakeProphet: I don't know what nethack is.
01:10:49 <oerjan> that's what you meant, right?
01:16:53 -!- CakeProphet has quit ("lolwhut?").
01:17:49 <Slereah2> I discovered esolangs with this very picture D:
01:17:50 <Slereah2> http://membres.lycos.fr/bewulf/Russell/langs.png
01:18:18 <augur> i have to be up at 8 tomorrow :(
01:18:22 <tusho> Slereah2: COBOL is totally wrong there.
01:18:29 <tusho> augur: Tough. Now you will be playing N.
01:19:13 <Slereah2> Isn't COBOL an old businessman? D:
01:20:39 <oerjan> ah but if you squint just right it looks like he's got horns
01:21:30 <Slereah2> Also why is Lisp a hairy oriental monk?
01:22:19 <tusho> Slereah2: Because Scheme is a monk.
01:22:26 <tusho> And Common Lisp is Scheme with gnarly cruft.
01:23:28 <Slereah2> What's the difference between common and scheme?
01:23:37 <tusho> Scheme is minimalistic and useless.
01:23:42 <tusho> Common Lisp is useful and crufty.
01:23:45 <augur> scheme is awesome :P
01:24:37 -!- CakeProphet has joined.
01:25:00 <tusho> augur: and useless, admit it :p
01:25:19 <Slereah2> Well, since I only programmed in scheme and the only LISP I know is the original article, I'm not too sure why
01:26:07 <CakeProphet> that reminds me... can anyone link me to that MIT book that used scheme?
01:26:24 <tusho> SICP SICP SICP SICP SICP SICP SICP SICP SICP SICP
01:34:05 <tusho> CakeProphet: USE THE GOOGLE
01:39:30 <Slereah2> I have an article titled "Fecal vomiting of rare origin".
01:46:19 <Slereah2> From "California and western medicine", volume XXII, n8
01:47:46 <Slereah2> "N. 4986: Male, age 29. Admitted November, 1923, complaining of "vomiting at weekly intervals, frequent diarrhea and eructions of gas without colic."
01:54:22 -!- GreaseMonkey has joined.
01:56:10 <Slereah2> All the cool kids are doing it.
01:57:20 -!- tusho has quit.
02:07:28 <ihope> What's an eruction?
02:31:31 -!- Corun has quit ("Macros are cheating").
03:10:11 -!- oerjan has quit ("Macaroni is not").
03:12:01 -!- augur has quit (Read error: 60 (Operation timed out)).
03:53:10 -!- puzzlet has joined.
04:05:15 -!- puzzlet_ has joined.
04:05:35 -!- puzzlet has quit (Remote closed the connection).
05:01:23 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)).
05:02:29 -!- puzzlet has joined.
05:36:05 -!- pikhq has quit ("leaving").
06:08:08 -!- poiuy_qwert has quit.
06:09:34 -!- GreaseMonkey has quit (Remote closed the connection).
06:10:52 -!- GreaseMonkey has joined.
06:23:43 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
06:34:54 -!- CakeProphet has quit ("lolwhut?").
06:37:51 -!- CakeProphet has joined.
07:10:18 -!- GreaseMonkey has quit ("squeezing resources for nexuiz").
07:13:42 -!- augur has joined.
07:30:12 -!- CakeProphet_ has joined.
07:30:34 -!- CakeProphet has quit (Nick collision from services.).
07:30:44 -!- CakeProphet_ has changed nick to CakeProphet.
07:34:31 -!- CakeProphet has changed nick to nickesrv.
07:35:09 -!- nickesrv has changed nick to CakeProphet.
07:44:07 -!- augur has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:05:33 -!- jix has joined.
08:12:03 -!- jix has quit ("CommandQ").
08:14:16 -!- jix has joined.
08:20:52 -!- CakeProphet has quit (Remote closed the connection).
08:26:01 -!- puzzlet has joined.
08:26:43 -!- CakeProphet has joined.
08:34:13 -!- CakeProphet has quit (Remote closed the connection).
08:35:13 -!- CakeProphet has joined.
08:45:14 -!- puzzlet_ has joined.
08:45:34 -!- puzzlet has quit (Remote closed the connection).
09:01:16 -!- sebbu has quit ("reboot").
09:13:49 -!- sebbu has joined.
09:44:12 -!- GreaseMonkey has joined.
10:08:22 -!- RedDak has joined.
10:08:58 -!- jix has quit (Read error: 113 (No route to host)).
10:10:35 -!- puzzlet has joined.
10:11:29 -!- puzzlet_ has quit (Remote closed the connection).
10:45:56 -!- GreaseMonkey has quit ("Remote closed the previous member app").
10:57:05 -!- Algonquian has quit (Read error: 110 (Connection timed out)).
12:05:30 -!- lilja has quit (Read error: 104 (Connection reset by peer)).
12:11:12 -!- olsner has joined.
12:14:01 -!- Sgeo has joined.
12:34:55 -!- lilja has joined.
12:35:01 -!- AnMaster has quit (Remote closed the connection).
12:51:16 -!- lilja has quit (Read error: 60 (Operation timed out)).
12:55:42 -!- lilja has joined.
13:14:25 <oklopol> tusho: i've completed n a few times
13:14:25 -!- puzzlet has quit (Remote closed the connection).
13:14:29 -!- puzzlet has joined.
13:14:54 <oklopol> nethack is not that interesting
13:16:58 <oklopol> well, i only like games where the way to move around is interesting, or where you can build things
13:17:25 <oklopol> the first one is the esolang type, the second is the conventional programming type
13:19:04 <oklopol> also that online version is only the first 30 levs
13:19:36 <oklopol> that was the first version of n, i think i passed it in like 2 sessions
13:20:11 <oklopol> but perhaps i'll play now, anyway
13:20:16 <oklopol> http://www.addictinggames.com/ngame.html
13:21:41 -!- lilja has quit (Read error: 104 (Connection reset by peer)).
13:26:50 <oklopol> oh, right, that's the episode view, long time since i played, i don't think i did 150 levels in two sessions :=)
13:29:13 -!- ais523 has joined.
13:34:21 -!- Judofyr has joined.
13:43:23 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
13:43:30 -!- puzzlet has joined.
13:54:36 -!- puzzlet_ has joined.
13:55:19 -!- puzzlet has quit (Remote closed the connection).
14:12:05 -!- AnMaster has joined.
14:29:59 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
14:30:15 <Deewiant> I've still got a couple of highscores online in N, I think
14:30:26 <Deewiant> haven't played it for a year or two though
14:31:00 <Deewiant> http://www.harveycartel.org/metanet/n.html
14:31:00 <oklopol> http://www.addictinggames.com/ngame.html
14:31:42 <oklopol> it's quite fun, one of the few ones where you really feel you're in control of the guy
14:32:11 <oklopol> apart from enemies that can follow you, i really never die because i fail a jump or something
14:32:34 <oklopol> unless i'm playing for a record time or something
14:33:37 <Deewiant> I'ma check my N_score_parser.rb to see if I have any highscores up
14:36:32 <Deewiant> ah, back in february I had 357, w00t
14:36:41 <Deewiant> Found 357/600 highscores - 59.5000% - under the name Deewiant.
14:36:57 <Deewiant> Found 75/600 highscores - 12.5000% - under the name Deewiant.
14:38:11 <Deewiant> the earliest two are episode 1 and level 1-4, the last are episode 99 and levels 99-0 through 99-3
14:38:37 <Deewiant> so yeah, I played it quite a bit back then :-P
14:40:37 <oklopol> no matter what the subject, someone here owns me at it
14:45:46 -!- pikhq has joined.
14:53:33 -!- olsner has quit.
15:01:21 -!- lilja has joined.
15:16:19 -!- olsner has joined.
15:56:48 -!- ais523 has quit (Read error: 110 (Connection timed out)).
15:57:21 -!- ais523 has joined.
16:02:03 -!- Hiato has joined.
16:12:34 -!- AnMaster has quit ("thunderstorms").
16:13:42 -!- calamari has joined.
16:44:45 -!- tusho has joined.
16:49:59 <oklopol> like, 90 degrees, but they may still have angular velocity left.
16:52:53 <tusho> i have been winning lately oklopol
16:53:12 <ais523> well, I'm kind of distracted atm...
17:00:43 <tusho> and our say-hi-first competition
17:01:01 <Deewiant> it's still on? I thought it was over already
17:01:22 <tusho> ais523: almost over, right?
17:01:25 <olsner> I've consistently missed icfp until it's already over the last few years
17:01:34 <ais523> tusho: yes, it ends at 8pm our time
17:01:46 <olsner> or at least until it's definitely too late to organize some kind of participation
17:01:55 <ais523> olsner: would you have participated otherwise?
17:02:18 <olsner> ais523: judging from past experience with ICFP, no :)
17:02:39 <olsner> but I would definitely have intended to
17:03:56 -!- atrapado has joined.
17:06:19 <ais523> here's a snippet for my entry, by the way:
17:06:21 <ais523> register long long timetoupdateto=timeinus();
17:06:21 <ais523> /* Just in case the contest takes place past midnight... */
17:06:21 <ais523> if(timetoupdateto<lastupdatetick) lastupdatetick-=86400000000LL;
17:06:32 <ais523> I seriously doubt if that'll ever become relevant, but just in case...
17:07:23 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
17:08:07 -!- Slereah2 has joined.
17:18:04 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
17:18:16 <ais523> it feels so wrong submitting binaries as well as sources...
17:20:57 <olsner> if nothing else, there's the question of what platform you submit binaries for... what if your development platform happened to be a PDP-11?
17:21:06 <ais523> olsner: they give full details
17:21:10 <ais523> and a LiveCD with the OS on
17:21:34 <ais523> also you can submit a shell-script that calls gcc as the binary if you like
17:23:16 <olsner> they'll probably run it virtualised, but still it's not really quite sane to run randomly submitted binary code
17:25:04 <tusho> olsner: it'll be heavily sandboxed
17:28:18 -!- calamari has quit ("Leaving").
17:48:52 -!- Slereah2 has joined.
17:53:11 -!- timotiis has joined.
17:57:10 -!- atsampson has quit (Remote closed the connection).
17:57:22 -!- atsampson has joined.
18:05:51 <ihope> It can't be difficult to create a Game of Life pattern that goes at, say, 5/12c. You can make it move forward at 1/2c for 5,000,000 steps and stop for 1,000,000 steps.
18:18:24 -!- AnMaster has joined.
18:18:49 -!- olsner has quit.
18:24:08 -!- Sgeo has quit (Remote closed the connection).
18:28:37 -!- olsner has joined.
18:38:10 <tusho> ais523: what optimizations can you do to underload
18:38:12 <tusho> apart frmo the trivial ones
18:38:23 <ais523> number optimisation can be important
18:38:30 <ais523> you have special tokens for Church numerals
18:38:40 <tusho> ais523: i don't wanna change the language at all
18:38:47 <ais523> you don't change the language
18:39:00 <ais523> you just change the internal representations of things like (*****:::::)
18:39:12 <tusho> what about more complex versions of that?
18:39:16 <ais523> unfortunately its hard to optimise that sort of thing too much because of the S comman
18:39:18 <tusho> it seems unclean to only target *+:+
18:39:29 <ais523> so you remember the numeric value of all strings of *s and :s which are matched
18:39:50 <ais523> i.e. always no fewer *s than :s at any given point, and hte same number overall
18:39:53 <tusho> ais523: what about more complex phrasings of the same thing though?
18:39:55 <ais523> then, when you have to execute one of tose
18:40:01 <ais523> you just make repetitions of the preceding element
18:40:18 <ais523> e.g. (***:*:::) is a number
18:40:29 <ais523> also you can have things like !() in the middle which cancels things out
18:40:35 <ais523> but that can be peephole-optimised
18:40:50 <ais523> I've submitted what I think will be my final entry
18:41:29 <ais523> I'll post source once the competition ends
18:43:57 <tusho> as I, but I'm skeptical
18:44:00 <tusho> it's a pretty big contest
18:44:09 <ais523> I don't really expect to win
18:44:14 <ais523> although I think I've done reasonably well
18:45:18 <tusho> ais523: very well I'd say
18:46:02 -!- CakeProphet has quit (Remote closed the connection).
18:52:04 -!- timotiis_ has joined.
19:02:46 -!- timotiis has quit (Read error: 110 (Connection timed out)).
19:13:08 -!- fxkr has joined.
19:13:28 <fxkr> Oo you too here ^^
19:13:31 <ais523> tusho: pick an esolang at random
19:13:42 <ais523> or I'll link to one of mine
19:13:44 <ais523> http://esolangs.org/wiki/Underload
19:13:46 <fxkr> well, i used to hang around here under various nicknames, none of which shall be mentioned here
19:13:51 <ais523> that one got reasonably popular for a bit
19:14:02 <tusho> underload is pretty cool
19:14:12 <tusho> fxkr: Can I try and guess?
19:14:18 -!- timotiis has joined.
19:14:49 <ais523> tusho: I suspect fxkr stopped coming here after you started
19:15:33 <fxkr> i think i wrote too much crap under those nicks =)
19:15:48 <fxkr> and i think you wont find them (at least i hope so)
19:16:09 -!- John___ has joined.
19:16:10 <ais523> but it's someone I only remember as lurking
19:16:30 -!- John___ has changed nick to memento.
19:16:47 <fxkr> now this is fun
19:16:50 -!- memento has changed nick to nmemento.
19:17:18 -!- nmemento has changed nick to twistle.
19:18:31 <fxkr> hi twistle. i dont know you, but hi :)
19:18:41 <tusho> # (diff) (hist) . . Sean Heber; 17:40 . . (+8) . . 84.12.214.3 (Talk) (droncabasb)
19:18:42 <tusho> # (diff) (hist) . . Category:Self-modifying; 16:07 . . (+12) . . 87.234.234.66 (Talk) (sitrelrelle)
19:18:47 <tusho> plz to be blocking?
19:18:57 <ais523> twistle: ah, the inventor of tflabtijtslwi?
19:19:25 <twistle> Yeah. I have a feeling you JUST looked that up
19:19:34 <ais523> just making sure I got the right person
19:20:26 <twistle> And you are the inventor of thutu
19:20:50 <twistle> And did you invent DZZZZZ?
19:20:56 <tusho> twistle: thutu and underload, I believe
19:21:12 <tusho> http://esolangs.org/wiki/User:Ais523 <-- this many, it seems
19:21:24 <tusho> e also maintains C-INTERCAL, you might have seen the name there
19:27:59 -!- timotiis_ has quit (Read error: 110 (Connection timed out)).
19:29:00 <twistle> I like BackFlip and ABCDXYZ
19:29:26 -!- ais523_ has joined.
19:30:32 <tusho> ais523_: ais523 is still here
19:30:35 <tusho> but you rejoined as ais523_
19:30:41 -!- ais523 has quit (Nick collision from services.).
19:30:44 -!- ais523_ has changed nick to ais523.
19:30:55 * ais523 keeps sending ghost commands to ChanServ by mistake...
19:32:22 <twistle> But my favorite esoteric language is probably Zetaplex
19:32:35 <tusho> i don't really have a favourite esolang
19:33:05 <ais523> it's nice be able to do lots of different things with esolangs
19:33:18 <tusho> ais523: that's just given me an idea
19:33:23 <tusho> similar to your mashup languages like iffi and stuff
19:33:45 <ais523> I had an idea for a grand esoteric language FFI once
19:33:54 <ais523> which expressed relationships between programs with ASCII art
19:33:55 <tusho> ais523: an esolang to bind multiple esolangs together
19:34:00 <tusho> (Including different instances of itself if you want.)
19:34:09 <ais523> and I'm thinking of splitting ick-ec off into its own core
19:34:20 <ais523> with compilers and interps for various langs as plugins
19:34:41 <tusho> ais523: hmm, mine is similar except i don't think it'll require language changes
19:34:44 <tusho> i think you can use existing interps
19:36:36 <twistle> ais523, what's your favorite esolang?
19:36:54 <ais523> well, I don't play favourites all that much, I've put the most time into INTERCAL but it isn't a typical esolang
19:38:12 <ais523> I maintain C-INTERCAL at the moment
19:38:29 <ais523> ESR abandoned it more or less, probably because he was busy with other things
19:38:31 <tusho> how long have you maintained it, btw ais523?
19:38:36 <ais523> tusho: not sure, I can check
19:38:37 <twistle> INTERCAL, BF and Malbolge deserve a trophy
19:38:50 <tusho> twistle: add befunge and unlambda
19:39:02 <tusho> INTERCAL, Brainfuck, Malbolge, Befunge, Unlambda
19:39:14 <tusho> the prime examples of paradigm-extremes
19:39:20 <ais523> tusho: 2 years and almost a month
19:39:38 <ais523> well, Underload's a paradigm-extreme too, that's probably why it caught on
19:39:51 <tusho> ais523: yes, but those are the biggies
19:40:03 <twistle> Actually, I change my mind
19:40:04 <tusho> underload builds on unlambda quite a bit, really
19:40:18 <twistle> zetaplex isn't my favorite language.
19:40:57 -!- djgera has joined.
19:41:06 <twistle> Yes, lazy k is more "pure"
19:41:30 <twistle> I didn't like the idea of side-effects
19:42:52 <twistle> ais523: Is underload REALLY a paradigm extreme?
19:43:04 <ais523> twistle: you can't get much more concatenative than Underload
19:43:28 <oklopol> is underload minimal in operators?
19:43:39 <ais523> you can combine some like in BF
19:43:45 <ais523> but not remove any without modifying some
19:44:09 <tusho> you can drop (...)
19:44:13 <tusho> with the power of DEI
19:44:18 <ais523> tusho: you added a new operator
19:44:20 <tusho> (you need an un-S though)
19:44:30 <tusho> but (...) is conceptually 'heavy'
19:44:41 <ais523> I think dei's a lot heavier than (...)
19:45:10 <oklopol> ais523: you sure about this as in "no set of operators can emulate the dropped operator", or that you actually know no subset is tc?
19:45:37 <ais523> oklopol: I'm reasonably sure but haven't proved it
19:45:47 <ais523> well, you can drop S because that's just output
19:45:50 <twistle> Hey, has anybody seen my language MSG? Standing for MonoSodium Glutamate?
19:45:55 <ais523> twistle: I don't think so
19:45:55 <tusho> ais523: it's certainly easier to parse
19:46:04 <lament> a local chinese restaurant has it on the tables.
19:46:16 <tusho> that looks cool twistle
19:46:27 <tusho> it's like smalltalk
19:46:32 <tusho> without the time travel part
19:46:45 <tusho> your syntax is ambiguous
19:46:55 <tusho> main 'passon stdout 'Hello, world!' '
19:46:56 <tusho> you need (...) instead
19:46:57 <tusho> or the intercal method
19:47:00 <tusho> (alternate " and ')
19:47:05 <tusho> but (...) or [...] is saner
19:47:10 <tusho> main [passon stdout [Hello, world!]]
19:48:42 <twistle> main (passon stdout (Hello, world!))
19:48:48 <oklopol> i prefer the ambiguous way
19:49:29 <tusho> otherwise yours just looks like lisp
19:49:41 <tusho> twistle: say, can you write a longer program
19:49:49 <tusho> just longer than that
19:50:18 <oklopol> have "..." on toplevel, '...' inside the "...", and prevent further nesting
19:50:43 <ais523> oklopol: in INTERCAL you can just alternate '' and "" from level to level, that's unambiguous
19:51:13 <tusho> (copies input to output)
19:51:23 <oklopol> ais523: 1. i know 2. that's obvious
19:54:36 <twistle> main 'passon stdout <stdin> '
19:55:00 <twistle> main 'passon engineer 'exit' '
19:55:20 <tusho> twistle: Bah. I was hoping for something with more nesting.
19:56:37 <twistle> What would require nesting...
19:57:08 <tusho> twistle: Just a heavily-nested expression.
19:57:13 <tusho> So I can toy around with different syntaxes.
19:58:19 <twistle> A slightly more complex hello world:
19:59:25 <twistle> main 'passon main 'create hiya' '
19:59:27 <oklopol> twistle: do something like fibonacci, or even factorial
19:59:50 -!- djgera has quit.
20:00:11 <twistle> hiya 'passon main 'hello world' '
20:00:20 <tusho> That's the same level of nesting, twistle.
20:00:28 <ais523> ICFP contest just finished, by the way
20:00:31 <tusho> I agree with oklopol, do factorial
20:00:58 <twistle> main 'passon stdout <hiya>'
20:01:40 <twistle> MSG is just a concept, so to do factorial, I need some arithmetic operators
20:01:45 <oklopol> anyway, for esoteric purposes, i like the idea of not letting you have arbitrary nesting
20:02:01 <lament> passon is a strange word
20:02:51 <tusho> twistle: a math object?
20:02:54 <tusho> just make integers obejcts
20:03:46 <tusho> twistle: 1 + '3 '+ 2' '
20:03:58 <lament> twistle: sure, but it takes me a while to understand that that's what's meant every time i look at it.
20:04:05 <tusho> and btw your current syntax is unambiguous if you depend on whitespace
20:04:07 <tusho> like how I wrote it
20:04:09 <tusho> and I like it better that way
20:04:32 <twistle> The syntax in the "Grammar" section of the article is incorrect
20:05:23 <twistle> It's "<object> 'action... Oh, nevermind. It's time for a syntactic change!
20:07:00 <tusho> oklopol: i'm writing a parser for ambiguous quotes!
20:07:01 <tusho> ''a b' 'c 'd 'e'''' -> ((a b) (c (d (e))))
20:07:13 <twistle> <sender> <receiver> '<message>'
20:07:17 <tusho> it's the solution to lisp's parentheses!
20:07:23 <tusho> twistle: isn't sender always self?
20:07:31 <oklopol> tusho: well that's basically how nopol works
20:07:49 <tusho> oklopol: yeah, except yours is just for diff. pos/neg
20:07:53 <tusho> mine is a whole paren replacement
20:08:10 <oklopol> well i have two chars for two parens, you have one char for one paren
20:08:17 <oklopol> paren as in parenthesis type
20:08:23 <twistle> tusho: Sender isn't self, because this isn't a declaration!
20:08:29 <oklopol> but the idea is the same, you could probably parse that with my nopol parser
20:09:27 <twistle> Actually, it's <sender> <receiver> '<message>' <wire>
20:11:14 <oklopol> well, depends on what the message can be
20:11:26 <tusho> oklopol: an arbitary string
20:11:40 <oklopol> let's call this <sender> <receiver> '<message>' <wire> thing a a coolxpression, can you have multiple coolxpressions in a message?
20:12:08 <twistle> What <message> contains is a metalanguage
20:12:25 <oklopol> ais523: want to see the definition again, or what?
20:13:15 <ais523> sorry, I haven't really been paying attention recently...
20:13:24 <ais523> let me read the start of your sentence this time
20:13:31 <oklopol> when do the results of icfp come?
20:13:37 <twistle> coolxpressions don't go into messages.
20:13:56 <ais523> oklopol: in the ICFP conference in September
20:14:04 <ais523> although they may release some info before then
20:14:23 <twistle> The syntax of a message is <command> <arguments>
20:14:47 <twistle> Wait, I just realized something
20:15:03 <twistle> What if each object was interpreter?
20:15:19 <twistle> You could combine multiple languages into one!
20:16:23 <oklopol> well yeah the issue is whether you actually want to send messages unparsed to each thingie
20:16:28 <oklopol> but i think that'd be awesome
20:17:16 <twistle> each object HAS to be an interpreter
20:18:56 <twistle> One object could be called os, like the module in python
20:20:22 <ihope> This sounds like an interesting discussion.
20:20:51 <ihope> "The Pursuit of Happyness". I'll be back in a moment.
20:20:55 <tusho> awesome, I wrote my '-parser in 6 lines of ruby
20:21:22 <tusho> oklopol: twistle: http://rafb.net/p/AVfy9w26.txt
20:21:49 <twistle> Try writing it in malbolge :)
20:22:51 <oklopol> tusho: well you don't actually parse yet, just convert into an easily parsible form
20:23:04 <tusho> oklopol: converting to s-exprs is basically parsing.
20:23:07 <tusho> since the rest is trivial.
20:23:11 <tusho> this is the actually interesting part
20:23:15 <tusho> turning it into a nested structure
20:23:27 <tusho> its not perfect yet, though:
20:23:27 <tusho> (define (factorial n)
20:23:28 <tusho> (* n (factorial (- n 1(((()
20:24:52 <tusho> (define (factorial n)
20:24:52 <tusho> (* n (factorial (- n 1)))))
20:25:58 <tusho> oklopol: it fails horribly if you don't whitespace it right of course
20:28:20 <oklopol> where does it do " ''''" -> "(((("?
20:28:40 <tusho> lemme give you the new version
20:28:58 <tusho> oklopol: http://rafb.net/p/JmKjLL87.txt
20:31:31 <oklopol> what does it say about '''a' b' d'
20:32:29 <tusho> irb(main):002:0> parenize("'''a' b' d'")
20:33:54 <tusho> this gives me a crazy idea
20:34:00 <tusho> does anyone want to hear it? :p
20:35:23 <ihope> twistle: can arithmetic be implemented in this language of yours?
20:35:50 <tusho> oklopol: you know when you said
20:35:54 <tusho> {what does it say about '''a' b' d'}
20:37:32 <tusho> ok, since oklopol has died I'll just explain
20:37:48 <tusho> what about a pastebin where you can paste a function in $LANGUAGE, and it gives you a pastebin url, and also a form
20:37:55 <tusho> this form lets you input arguments to the function
20:37:59 <tusho> and it'll show you the result
20:38:07 <tusho> so oklopol could have tried it himself, right after taking a look at the code
20:38:13 <tusho> it'd have to be sandboxed etc but?
20:39:53 <tusho> oklopol: pretty much
20:40:06 <tusho> you'd have to specify a few things either on paste or use
20:40:09 <tusho> that is, the types
20:40:16 <tusho> e.g. if you put 2 in the argument box
20:40:30 <tusho> i'd probably get around that with:
20:40:32 <oklopol> i assumed it's the parsing rules of the lang
20:40:35 <tusho> "2" is "2" the string
20:40:44 <tusho> if e.g. it's a string reverser
20:40:49 <tusho> then you just want to be able to put text in the box
20:40:57 <tusho> like in this case, you don't want to have to put "" around the string
20:41:06 <tusho> so at paste-time you could say "we are going to get a string, that's it"
20:42:40 <ihope> Seems that, in MSG, objects you create never respond to messages, so the only objects that matter are main and engineer, and the only messages that matter are passon and wire. And there apparently isn't a way to repeat an instruction or any such.
20:42:53 <ihope> Now, a language consisting entirely of flow control would be interesting.
20:43:05 <oklopol> ihope: i think those exist
20:43:25 <oklopol> well there's that goto thingie
20:43:30 <tusho> oklopol: does my functionbin thing sound useful?
20:43:39 <tusho> if you had made an esolang interp you could just put it there and let people try it out
20:45:07 <ihope> And we all know that flow control can be implemented entirely using callCC. >:-)
20:45:36 <tusho> ihope: Feather. :P
20:45:47 <ais523> tusho: Feather has lambda too
20:46:03 <tusho> Is lambda a control structure?
20:46:15 -!- poiuy_qwert has joined.
20:46:25 <ais523> tusho: well, otherwise there'd be langs with no control structures at all which are still TC, which is clearly impossible
20:46:33 <ais523> ihope: a lang idea I'm working on
20:46:54 <tusho> ais523: LC has one control structure - apply
20:47:07 <ais523> it's a bit like Smalltalk, some of the syntax is inspired by Haskell but it's nothing like it, and it uses time travel to do inheritance
20:47:39 <ihope> I guess SKI consists entirely of S, K, I and application. Is S, K or I a control structure?
20:48:11 <tusho> Apply is the only control structure there.
20:48:43 <oklopol> i'd say s is a control structure
20:48:44 <ihope> I have a programming language that has only control structures, then.
20:48:50 <ihope> Unfortunately, there are no valid programs.
20:49:14 <ihope> Unless `````````````````````... is a valid program. Even if it is, it doesn't do anything.
20:49:36 <ihope> Thereby proving once again that -1 is infinite.
20:49:37 <oklopol> you can have infinite programs in it?
20:49:46 <ihope> You can have infinite BF programs.
20:50:11 <oklopol> oh? i thought languages are generally considered to implicitly disallow that
20:50:25 <ihope> Hey, you can have infinite HQ9+ programs and call it Turing-complete.
20:50:52 <oklopol> ihope: wanna tell me how that -1 = inf got proven there?
20:51:19 <oklopol> hq9+ isn't tc even with infinite programs
20:52:06 <oklopol> if there is an infinite pattern, it needs to be generated with a less-than-tc automaton imo
20:52:17 <oklopol> here you'd have to have calculated the result in order to write the program
20:52:38 <oklopol> but really turing completeness is a matter of opinion
20:53:21 <ihope> In an "Unlambda-like" language, the number of apply operators must be 1 minus the number of values. In the ``````````````````... language, there are no values, so the number of apply operators must be -1. The infinite ` program is valid, so the number of apply operators it contains must be -1.
20:53:43 <ihope> Broken logic, indeed, but kind of fun, perhaps.
21:04:02 -!- pikhq has left (?).
21:22:54 -!- ihope has quit ("ChatZilla 0.9.82.1 [Firefox 2.0.0.15/2008062306]").
21:39:04 <tusho> who likes my parenizer
21:40:01 <ais523> sorry I really am not paying much attention right now
21:40:08 <ais523> probably I should just go to sleep
21:40:13 <ais523> and sort things out tomorrow
21:40:19 <tusho> ais523: http://rafb.net/p/JmKjLL87.txt
21:40:32 <tusho> converts ambiguous quoting to parenthesized forms
21:40:51 <ais523> yes, seems pretty simple
21:41:04 <tusho> didn't think it would be that trivial
21:41:05 <ais523> that's how you convert INTERCAL quotes to parens when there are no array subscripts involved
21:41:15 <tusho> ais523: no, intercal has ' and "
21:41:15 <ais523> so I knew that algorithm before you showed me
21:41:31 <ais523> tusho: you can write INTERCAL expressions with just ' as long as they're unambiguous
21:41:32 <tusho> and mine is whitespace sensitive
21:41:38 <tusho> ais523: whitespace sensitive?
21:41:41 <ais523> which they are if you have no array subscripts
21:41:48 <ais523> tusho: sensitive to operand vs. operator which comes to the same thing
21:41:57 <ais523> not whitespace but something else which serves the same purpose
21:42:08 <tusho> ais523: anyway, I'm going to describe the algo in plain english just in case you see any major flaws:
21:42:38 <tusho> ', followed by one or more bits of whitespace, is replaced with ) followed by the whitespace.
21:42:57 -!- atrapado has quit ("Abandonando").
21:43:12 <tusho> ', followed by zero or more occurences of ' or a whitespace character, followed by the end of the input, is handled like so: Replace all 's in the matched string with )s.
21:43:18 <tusho> Every other ' is replaced with a (.
21:43:26 <ais523> yes, that's about right
21:43:40 <ais523> ofc you can do it symetrically for error checking but there's no point
21:43:51 <tusho> ais523: symetrically?
21:44:00 <ais523> wait, <<'''' >> should become <<)))) >>
21:44:07 <ais523> where I'm using << >> for quoting
21:44:11 <ais523> and I meant symmetrically
21:45:10 <tusho> i don't want to produce invalid output like that
21:45:29 <tusho> it actually produces => "))))"
21:45:33 <tusho> because I strip the string at the start
21:45:35 <tusho> (otherwise it breaks)
21:46:23 <ais523> well, I mean a situation like <<'a 'b 'c'' d 'e f''
21:46:29 <ais523> does your code handle that?
21:47:23 <tusho> => "(a (b (c() d (e f))"
21:47:41 <ais523> the first two rules should be combined
21:47:56 <tusho> Ah yes, can't I just remove the first rule
21:48:00 <ais523> into "any number of ' followed by whitespace or end of input become )s followed by the whitespace"
21:48:15 <tusho> that's not the same
21:48:17 <ais523> the two first rules you have are different specialisations of that
21:48:33 <ais523> and the case I gave was the case you didn't cover
21:48:55 <tusho> gsub(/'+(\s+|$)/) {|m| m.gsub("'", ')')}.
21:49:12 <ais523> tusho: sorry, normally I'd help but I'm too tired to think really right now
21:49:12 <tusho> irb(main):001:0> parenize("'a 'b 'c'' d 'e f''")
21:49:13 <tusho> => "(a (b (c)) d (e f))"
21:49:21 <tusho> it's now a oneliner
21:49:21 <tusho> input.strip.gsub(/'+(\s+|$)/) {|m| m.gsub("'", ')')}.gsub("'", '(')
21:50:09 -!- Hiato has quit ("Leaving.").
21:50:17 -!- Corun has joined.
21:52:04 <ais523> I just ran SLOCcount on C-INTERCAL for fun
21:52:11 <ais523> Total Estimated Cost to Develop = $ 301,198
21:52:42 <ais523> it suggests that it would take 3 programmers working for 8.72 months to reproduce
21:52:50 <ais523> which implies to me that most programmers aren't very good
21:52:59 <olsner> isn't it amazing you've spent 300k of your spare time on an intercal compiler? :P
21:53:07 <ais523> olsner: it's not just me
21:53:12 <ais523> C-INTERCAL's a group effort
21:53:14 * tusho tries to think of substantial software he's written
21:53:22 <ais523> I'm not sure how much is mine, actually
21:53:27 <olsner> hmm, yeah, so... maybe 100k of your time, if you're the main developer?
21:53:31 <ais523> maybe I should try to find the sources for the version before the one I released
21:53:32 <tusho> nope, can't come up with anything
21:53:40 <ais523> s/the one/the first one/
21:53:46 <ais523> but it wasn't all me from then on either
21:54:00 <ais523> the unreleased version 0.29 is going to credit lots of people, including four from #esoteric
21:54:19 <ais523> also a computer which I don't know the name of, belonging to Debian
21:54:26 <ais523> which found a bug in the build process on Itanium
21:55:02 <tusho> Thank you, anonymous debian computer!
21:55:08 <ais523> a breakdown of the languages used
21:55:23 <ais523> it missed OIL, unfortunately
21:55:25 <tusho> ais523: do you know of any substantial software I've written?
21:55:41 <ais523> 579 /home/ais523/esoteric/intercal/latest/src/idiotism.oil
21:55:50 <ais523> tusho: I don't think so
21:55:57 <tusho> guess I haven't written any
21:56:02 -!- lilja has quit (Read error: 110 (Connection timed out)).
21:56:06 * tusho toys with running sloccount all over ~/Code
21:56:31 <ais523> tusho: what about ls -R ~/Code|wc -l
21:56:35 <tusho> ais523: just did that
21:56:45 <tusho> but I think I have a few downloaded pieces of code in here
21:56:51 <tusho> it's notable that most of these files are empty
21:56:55 <ais523> ls /home/ais523/esoteric/ | wc -l gives 55
21:57:04 <tusho> but throwing away 0 byte files, sheesh
21:57:06 <tusho> I could never do that
21:57:13 <ais523> 13004 when I put -R in there
21:57:24 <ais523> although there's several VCS repos and things I didn't write in that count
21:58:08 <tusho> ais523: let's put it this way, I've opened up Code and found lines I never recall writing
21:58:20 <tusho> among tiny, often syntaxly ill-formed files
21:58:26 <tusho> of unfinished work that will stay as such
21:58:36 <ais523> well, for instance, I have at least 3 versions of cfunge beneath ~/esoteric in various states of modification
21:58:48 <tusho> I have ~/Code/esolangs but I don't use it.
21:59:21 <ais523> this could take a while to run...
21:59:34 <tusho> ais523: I think I have the Eclipse source somewhere in my home directory
21:59:39 <tusho> so I'm not so sure that would give a reasonable number
21:59:53 <ais523> tusho: I have an entire Linux distro somewhere in my home directory, unless I've deleted it since
22:00:02 <ais523> built from sources via someone else's buggy Makefile
22:00:04 <tusho> eclipse is bigger I think ais523
22:00:16 <tusho> eclipse is closer to booting than emacs
22:00:19 <ais523> probably, but it's a distro I'm talking about not just the kernel
22:00:40 <tusho> [ehird:~] % ls -R | wc -l
22:00:40 <tusho> ls: cannot open directory ./Documents/Code/pysandbox/jail: Permission denied
22:01:04 <ais523> tusho: it's great to have unreadable folders in your home dir
22:01:12 <tusho> ais523: do I smell sarcasm?
22:01:18 <ais523> no, I'm not being sarcastic
22:01:24 <ais523> it's nice to think about the reasons
22:01:33 <ais523> I think I may have an encryption key that's 000 somewhere
22:01:37 <tusho> you can guess what that one was for
22:01:48 <ais523> no, I didn't have one, and that looks like somewhere to put chroots
22:02:02 <ais523> despite you having Eclipse
22:02:20 <ais523> however that counts most of my files about 3 times due to all the backups I take
22:02:27 <tusho> ais523: I think it was me trying to sandbox python
22:04:46 <tusho> c,i=STDIN.read.split'!';i||="";i=i.split'';f=[];d=Hash.new 0;p=0;c.size.times{|x|f<<(case c[x];when ?>;"p+=1";when ?<;"p-=1";when ?+;"d[p]+=1";when ?-;"d[p]-=1";when ?[;"while d[p]!=0";when ?];"end";when ?.;"putc d[p]";when ?,;"d[p]=i.delete_at(0)||0";end)};eval f.join("\n")
22:04:47 -!- lilja has joined.
22:04:58 <tusho> one line bf interpreter, i think for anagolf
22:05:03 <tusho> STDIN.read = $<.read
22:05:06 <ais523> I'm not even going to attempt to mentally parse that right now, paste it later when I'm more awake
22:05:10 <tusho> i evidently was not an export
22:08:16 <tusho> ais523: try writing a non-trivial intercal program just now
22:08:22 <tusho> i bet it'll be amazing and impossible to read the next day
22:08:26 <tusho> sleep deprivation coding!
22:08:34 <ais523> I'm not in a mood for non-trivial INTERCAL programs
22:08:41 <ais523> and besides I don't find INTERCAL that hard to read
22:08:50 <ais523> and I have a debugger to read them for me
22:08:55 <ais523> all debuggers should have the e command
22:09:27 <tusho> <ais523> I'm not in a mood for non-trivial INTERCAL programs
22:09:30 <tusho> exactly why i suggested it :p
22:09:58 <ais523> my guess is that the resulting program would just error out
22:10:33 <tusho> Presumably you'd fix it, then. :-P
22:10:45 <tusho> It's like Extreme Programming.
22:10:48 <ais523> tusho: it's kind-of hard to fix errors in INTERCAL programs
22:10:48 <tusho> Except it's more like Insane Programming.
22:11:00 <ais523> J^4's interfunge had a syntax error for years and nobody noticed
22:11:14 <ais523> I patched that earlier this month and sent him the patch
22:11:24 <tusho> ais523: I am basing this on the psychological theory "sleep deprivation makes you an awesome monster of amazing"
22:11:28 <tusho> It is not very well tested.
22:14:16 -!- olsner has quit.
22:17:07 <lilja> suddenly writing differently
22:17:21 <lilja> I got totally confused for a moment
22:18:03 <tusho> lilja: suddenly writing differently?
22:18:27 <lilja> And then like this.
22:18:46 <ais523> tusho: lilja's right, you used a capital letter
22:18:59 <ais523> in fact you did it several times in a row
22:19:03 <tusho> Well, I flick between styles.
22:19:10 <tusho> I also flick between :p, :P and :-P
22:19:20 <tusho> :P is the least used nowadays, odd, recently it was the most-used
22:19:43 <fxkr> tusho: of course, but it was the missing one
22:19:51 <tusho> fxkr: but I don't flick to that one
22:19:56 <lilja> tusho: anyways, that's scary
22:20:16 <tusho> I tend to mold my style to people I'm talking to, or sometimes the opposite
22:20:29 <tusho> When I start typing like this and using :-P I think that's me imitating ihope.
22:20:32 <tusho> He uses :-P a lot.
22:21:23 <tusho> lilja: you are oklopol
22:21:34 <lilja> okay, even if it's not scary, it's confusing
22:21:43 <tusho> if oklopol != hotidlerchick, then at least you are hotidlerchick
22:21:49 -!- bsmntbombdood has changed nick to bsmntbombdood_.
22:23:30 <ais523> well, yes, lilja has the same hostname as hotidlerchick
22:23:44 <ais523> even the bit before the @ sign
22:23:49 <tusho> ais523: and realname Idler
22:23:49 <lilja> yeah yeah, I'm hotidlerchick, just felt like using a more... appropriate nick :)
22:23:57 <tusho> and username ohsohot
22:24:21 <ais523> anyway, I'm going home
22:24:28 <ais523> I'm too tired to do anything intelligent, really
22:24:30 -!- 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"").
22:27:10 <lilja> tusho: would you tell me a story?
22:28:28 <lilja> you are a mean person
22:29:34 <tusho> there was an irc channel
22:29:38 <tusho> it was called #esoteric
22:29:45 <tusho> where it killed god
22:29:48 <tusho> and exploded into the clouds
22:29:55 <tusho> the clouds blossomed into pure psychedelia and began their journey
22:29:57 <tusho> up onto the plains
22:30:01 <tusho> where there are goats and trees and cabbage
22:30:08 <tusho> and only three remaining things were old and everything was is
22:30:14 <tusho> against, when they went to hell, to deplete
22:30:26 <tusho> the devil say 'no' but as it blossom more and more as it surplus the place into itself
22:30:35 <tusho> and it disappears but turns into more psychedelia folding into itself
22:30:39 <tusho> they went back to the plains
22:30:43 <tusho> where the goats were unhappy and died
22:30:51 <tusho> but they blossomed yet again psychedelia and merged with the whole
22:30:54 <tusho> by now it was a hive
22:30:56 <tusho> everything became it
22:31:05 <tusho> and blossomed into psychedelia
22:31:07 <tusho> and blossomed into psychedelia
22:31:11 <tusho> over and over again, forever
22:31:19 <tusho> but each time it died
22:31:40 <tusho> the psychedelia exploded and there was a new universe.
22:31:57 <tusho> everything happened again but in a totally different way, and it ended again blossoming into psychedelia, and thus this story repeats forever.
22:33:17 <tusho> lilja: good story?
22:33:24 -!- ihope has joined.
22:33:33 <tusho> ihope: you missed the story
22:34:23 <tusho> http://rafb.net/p/BkGDM926.txt
22:36:51 <tusho> ihope: do you like it.
22:37:04 <ihope> It's kind of confusing.
22:38:13 <ihope> It's not clear where one sentence ends and another begins, or even if it consists of actual sentences.
22:39:36 <tusho> ihope: just read it as one long thing
22:39:41 <tusho> unless there's a clear break
22:39:47 <tusho> pause between lines
22:41:38 <lilja> tusho: well, it had the orthodox formula, so it can't be all bad
22:42:25 <tusho> lilja: it had the what. :|
22:42:28 <ihope> I'd ask what the point of it is.
22:42:43 <tusho> ihope: lilja asked me to tell a story, besides, what fiction has a true point? A lot of it surely, but not all.
22:43:25 <ihope> But it's been a while since I've made a blog post.
22:44:25 <tusho> ihope: You have a blog?
22:44:36 -!- oerjan has joined.
22:45:25 <ihope> Here's a maybe-inconvenient link to it: http://www.blogger.com/posts.g?blogID=8621589558979843004
22:45:45 <ihope> And a convenient one: http://ff-rtl.blogspot.com/
22:45:48 <tusho> Thoroughly inconvenient; it wants me to sign in :)
22:46:28 <tusho> {So, I have a blog. Another blog, in fact. I don't think you'd like the other one, though.}
22:46:33 <tusho> I DISLIKE ASSUMPTIONS BEING PUSHED ON ME
22:46:41 <tusho> THEY FEEL PAINFUL AND CRUSHING
22:47:57 <ihope> Want me to edit that post to say "Unless you're ehird."? :-P
22:49:04 <tusho> ihope: that's still an assumption
22:49:37 <lilja> tusho: typical formula of traditional fairy tales
22:49:40 <ihope> Well, don't read that post, then. :-)
22:50:09 <tusho> lilja: Not really.
22:50:13 <tusho> It was EXPERIMENTAL.
22:51:29 <lilja> yet not that different from traditional fairy tales
22:51:40 <tusho> lilja: But a nice change, no?
22:52:54 <tusho> lilja: It was improvised.
22:52:59 <lilja> honestly said, I don't really have an opinion about that
22:53:01 <tusho> Just, wrote a sentence, now I gotta write another one.
22:53:45 <lilja> I rarely hear any other kind when I ask people to tell a story :)
22:54:00 <tusho> Yes. But mine used short sentences.
23:04:54 -!- Dewi has quit (Read error: 110 (Connection timed out)).
23:05:25 -!- Corun has quit ("This computer has gone to sleep").
23:06:00 -!- twistle has quit (Read error: 110 (Connection timed out)).
23:11:14 -!- fxkr has quit (Remote closed the connection).
23:15:29 -!- CakeProphet has joined.
23:17:58 -!- Corun has joined.
23:19:59 <ihope> Ello, CakeProphet.
23:20:40 <ihope> Corun is denied my hello for having a nick whose length is a Fibonacci number that's also a prime number congruent to 1 modulo 4 and has alternating consonants and vowels.
23:21:27 -!- pikhq has joined.
23:21:29 <Corun> I hope you don't say hello to yourself, either.
23:23:27 <ihope> Indeed, I'd have to be insane to say hello to myself. And by insane, I mean silly.
23:25:05 <oerjan> i believe both are mandatory on this channel, unless you are an operator, in which case only the first one is
23:33:13 <pikhq> Which, contrary to popular belief, can occur here.
23:40:07 <oerjan> they need not be silly. i guess if you somehow found a girl that was silly but not insane, that would be allowed too
23:41:07 <oklopol> my guess is sukoshi was just that
23:41:08 <oerjan> that may not be possible in this universe, though
23:41:41 <oerjan> i don't recall sukoshi being silly...
23:41:45 <oklopol> not sure how silly she was
23:41:58 <oklopol> but definitely not insane enough
23:42:12 <oklopol> perhaps that's why she's stopped visiting :\
23:42:15 -!- timotiis has quit (Read error: 110 (Connection timed out)).
23:45:32 -!- twistle has joined.
23:49:22 <ihope> All girls are silly. No girl is insane.
23:51:13 <lament> sukoshi is the same person as razor-x?
23:51:44 <lament> if i remember correctly, she just talked about anime all the time?
23:52:06 <tusho> i only saw her talk about esolangs
23:52:11 <tusho> and, random stuff to pikhq
23:52:28 <oklopol> japanese, anime, c, scheme, esolangs
23:52:33 <oerjan> in japanese, so it may very well have been about anime for all i know :D
23:53:48 <lilja> oklopol: am I silly or insane?
23:54:11 <oklopol> i'd say more silly than insane
23:54:20 <lament> lilja: we shall see, depending on whether you'll stop visiting or not.
23:56:35 <lilja> well, at least I'm silly, I'm quite certain about that
23:57:22 <oklopol> i think it's the insanity that keeps one here, silliness is mostly required for interaction
23:57:39 <tusho> we're not all that insane, you know
23:57:49 <tusho> despite jokes to the contrary
23:58:16 <oklopol> yeah like those elaborate girlfriend jokes where you fake you have a girl sitting next to you
23:58:43 <tusho> lament: i didn't say we weren't all on drugs.
23:58:45 <tusho> I never said that.
23:59:03 <oklopol> speaking of drugs, i need caffeine
23:59:14 <lament> i'm drinking my fourth coffee of the day :(
23:59:32 <lament> but it's monday... it's fine
00:08:49 <lilja> oh, and would I really have to be insane in order to idle here for a long time?
00:09:10 <lilja> after all, this place has it's charm
00:09:22 <lilja> since I can't say anything smart here
00:09:56 <lament> nobody can say anything smart here
00:09:58 <lament> or they will get banned
00:10:13 <oerjan> especially nothing smart-ass
00:10:34 <tusho> lilja: we're all stupid in here.
00:10:37 <oklopol> lilja has a very smart ass
00:11:37 <lament> in fact we should institute a maximum IQ law.
00:11:51 <lament> People with IQ higher than 98 are not allowed in the channel.
00:11:58 <lilja> I don't really know if you ever say anything that makes sense, since I hardly understand anything you're saying.. it's rather relaxing
00:11:59 <oerjan> the problem is we would have to be smart to measure that
00:12:07 <tusho> oerjan: solution -
00:12:15 <tusho> lament: do the honours
00:12:23 <tusho> ban *!*@* and /cs #esoteric clean
00:12:24 <oklopol> i actually think i read somewhere that apart from the brain and the spinal cord, the ass is the cleverest thing in the human body
00:12:27 <tusho> you can unban us after a few minutes.
00:12:59 <lament> you mean, "Apart from the spinal cord and, sometimes, the brain..."
00:13:05 <lilja> oklopol: how's so?
00:13:08 <tusho> lament: it'd get rid of all the idiots in here!
00:13:21 <oerjan> the immune system is pretty smart, i think
00:13:27 <oklopol> your ass doesn't just spout it aroud all the time
00:13:41 <lament> eyes are pretty smart, unless you count them as part of the brain
00:13:44 <tusho> oklopol: mine does
00:14:00 <oklopol> diarrhea is when crap beats your ass in chess
00:14:17 <oerjan> that's - mind boggling
00:14:25 <tusho> oerjan: don't you mean - ass boggling?
00:14:51 <oklopol> we should have a too-obvious-joke policy here
00:14:54 <oerjan> great asses think alike
00:15:04 <tusho> oklopol: you're required to say them?
00:15:18 <ihope> Let's all say an obvious joke, then.
00:15:35 <tusho> I don't think I can, my ass is shitting a lot right now.
00:15:36 <oklopol> ihope: actually the obvious joke would've been
00:15:39 <lament> Your mom is an obvious joke.
00:15:45 <ihope> That's what SHE said!
00:15:50 <tusho> lament: haha, that was pretty good.
00:15:55 <oklopol> "let's start saying obvious jokes then"
00:15:59 -!- RedDak has joined.
00:16:06 <oklopol> you would've doubled tusho's joke
00:16:14 <oklopol> thus making the obvious joke, considering what i just said
00:16:41 <lament> PLEASE SAY AN OBVIOUS JOKE
00:17:40 <ihope> Holy crap, a talking lament.
00:18:10 <ihope> I not know what is a shut up. Do not call me a shut up.
00:19:36 <tusho> lament: please ban *!*@*?
00:19:54 <lament> unsafePerformBan *!*@*
00:20:05 <tusho> lament: in IRC, not haskell
00:20:14 * ihope sets mode #esoteric: +b *!*@*
00:20:23 <tusho> ihope: Not in /me.
00:20:29 <tusho> Not in /me. In /ban.
00:20:47 * ihope sets mode #esoteric: +b *!*@*
00:21:02 <ihope> That was not in /me, but it was not in /ban, either. Whatever it was.
00:21:17 <tusho> That was in /me, ihope
00:21:24 <tusho> Or rather, in \1ACTION\1
00:21:36 <ihope> \1ACTION\1 isn't /me. :-P
00:22:11 -!- lament has set topic: fuck man i'm haf fah m'i nam kcuf | http://tunes.org/~nef/logs/esoteric/ | *!*@* is banned. If you're banned, please leave the channel..
00:22:16 <tusho> It's what /me generates.
00:22:20 <tusho> lament: type /ban *!*@*
00:22:25 <tusho> note: not //ban *!*@*
00:22:49 <ihope> [ERROR] You need to be an operator in #esoteric to do that.
00:22:55 <tusho> lament: ok, instead
00:23:00 <tusho> type /msg ChanServ op #esoteric
00:23:21 <lament> this is getting too complicated
00:23:33 <lament> you can't honestly expect me to follow all that
00:23:35 <ihope> Is "MODE #esoteric :+b *!*@*" the correct syntax?
00:23:41 <tusho> lament: good point, let me make it simpler
00:23:55 <tusho> type /msg ChanServ ban #esoteric *!*@*
00:24:27 <tusho> lament: done that?
00:24:37 <oerjan> at least the insanity quotient is coming along splendidly
00:24:38 <lament> ok, no more requests. :)
00:24:44 <tusho> lament: how did you do that
00:24:47 <tusho> we are still talking.
00:25:02 <lament> tusho: because it's not a valid chanserv command and never has been.
00:25:24 <tusho> lament: okay, can I give you one more, super easy request.
00:25:27 <tusho> I'll make it all short
00:25:38 <tusho> thn ... means 'type this: ... then hit enter'
00:25:42 <tusho> thn /cs op #esoteric
00:26:21 <tusho> lament: simple enough?
00:26:24 <oklopol> what's "thn" how do you expect him to remember that?
00:26:43 <tusho> oklopol: thn means 'type the following then enter'
00:26:50 <lament> Done. No more requests.
00:26:58 <tusho> lament: .. How come?
00:27:13 <tusho> lament: What happened.
00:27:46 <lament> tusho: Why do you expect /cs to do anything?
00:27:52 <ihope> from(ChanServ) You are not authorized to perform this operation.
00:27:59 <tusho> lament: I know your client supports it.
00:28:01 <oklopol> kulkuset, kulkuset, kilvan helkkäilee
00:28:15 <lament> -!- Irssi: Unknown command: cs
00:28:37 <oklopol> it should start an irc based counter strike
00:29:24 <tusho> lament: can I give you one more request?
00:29:28 <oklopol> just pipe graphics through /privmsg's
00:30:36 <lament> because you're an antisocial freak who wants to ban everybody
00:31:17 <lament> besides, the topic already says everybody is banned.
00:31:30 <ihope> tusho: I'll do something you want me to do!
00:31:45 <tusho> i only wanna ban everyone for a second, lament
00:32:00 <ihope> Join #everyoneisbanned!
00:33:20 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
00:34:59 <lilja> oklopol: miksi helkkili?
00:35:10 <tusho> ihope: nobody can join it
00:35:15 <ihope> tusho: did you try?
00:35:20 <oklopol> ehkä se oli tämä hulluusteema, joka sai haluni kohoamaan
00:35:25 <tusho> ihope: you can't join a room you're banned from.
00:36:09 <lilja> mutta siinhn voisi olla jrke!
00:36:15 <ihope> You tried it again and it didn't work?
00:36:32 <ihope> Oh, silly me. Try again.
00:36:37 -!- twistle has quit (Read error: 110 (Connection timed out)).
00:37:02 <ihope> I unbanned ehird instead of tusho.
00:37:43 <tusho> ihope: Are you good at N
00:38:33 <oklopol> vittu koskenkorvaa pilluun
00:38:37 <tusho> http://www.addictinggames.com/ngame.html
00:38:53 -!- twistle has joined.
00:39:00 <oklopol> lilja: don't worry, no one active is finnish
00:39:11 <lilja> kyll sin taidat olla oudompi...
00:39:12 <oklopol> so no one can get offended
00:39:29 <lament> at least i know what vittu means
00:39:46 <oklopol> the one fucking op on the whole chan!
00:39:46 <lilja> jos se olisikin vittukoskenkorvaa?
00:39:58 <lament> http://en.wikipedia.org/wiki/Finnish_profanity
00:40:21 <oklopol> damn, that almost translates all of my sentence
00:40:32 <oklopol> vitunkorva is the ear of the vagina
00:41:00 <oklopol> ear is the thingie you hear through
00:41:25 <oklopol> lilja: i doubt the finnish is as fun to the others as it is for us :P
00:41:47 <oklopol> lament: did you catch my other dream about you?
00:41:53 <lilja> klitoriksen luona on se sellainen tosi etisesti korvaa muistuttava juttu, se sen tytyy olla
00:42:26 <oklopol> you were on the cover of an energy drink
00:42:29 * oerjan points out that klitoris is an international word
00:42:31 <lilja> oklopol: you started it :(
00:43:09 <oklopol> and i kinda wanted you to tell me it's okay or something
00:43:22 <oklopol> needless to say, i was devastated
00:44:26 <oerjan> also, vittu _has_ to be related to the corresponding norwegian word. finnish doesn't have f does it?
00:45:33 -!- twistle has quit (Remote closed the connection).
00:45:56 <oerjan> tusho's keyboard has defected on him
00:46:00 <oklopol> err can you link? i don't wanna ggl
00:46:19 <oerjan> that actually _did_ make sense
00:46:34 <oklopol> episode 11 lvl 1 on the ninja game n, help
00:46:51 <tusho> oklopol: it's "steps"
00:47:24 <oerjan> if "korva" means ear, what does "kosken" mean?
00:49:50 <oklopol> or rapid, dunno what the basic form is
00:50:05 <oklopol> and kosken is the genetive
00:51:27 <oklopol> yeah, literally speaking, it means that
00:52:19 <tusho> oerjan: you're an ear of rapid
00:52:22 <oklopol> but i think it's something like a whirlpool
00:52:26 <oerjan> ah, wikipedia has something to say
00:52:31 <oerjan> Koskenkorva is a small village - that belongs to municipality of Ilmajoki - in Finland that translates as "(area) by the rapids". The folk etymology "rapid's ear" is based on the fact that korva also means "ear".
00:53:09 <oklopol> has to do with the form of the rapids, not the actual water flow
00:53:19 <tusho> oerjan: you're an ear of a small village!!!!!
00:53:58 <tusho> just insulting you.
00:54:20 <oerjan> i see how you get ear from "oer" but not how you get a small village from "jan" :D
00:56:10 <oerjan> now, it _could_ be interpreted as "Jan with the ear(s)"
00:56:52 -!- tusho has set topic: Jan with the ear. Tunes dot org / ~nef / logs / esoteric..
00:57:31 <oerjan> yay, i'm in the topic!
00:58:06 -!- oklopol has set topic: Jan with the ear. Tunes dot org / ~nef / logs / esoteric. Also oklopol is now in the topic, come and see..
01:02:01 -!- tusho has quit.
01:04:12 <oerjan> he left, never to return
01:05:01 <oklopol> so oerjan, how's it going?
01:05:10 <oklopol> tell me one personal detail, right here, on the channel
01:06:05 <oerjan> now i will move on to the strawberry jam
01:06:35 <oerjan> then i shall delight on mackerel in tomato sauce
01:06:57 <oerjan> and finally a liver pat
01:38:16 <ihope> Ooh, personal detail.
01:38:35 <ihope> My full name, including my middle name, contains an even number of letters.
01:38:55 <ihope> I'm pretty sure, at least.
01:39:00 <oerjan> ooh, you have a middle name?
01:39:18 <ihope> It's possible that my middle name contains one more letter than I think it does, but I don't think so.
01:40:44 <oerjan> i had sort of assumed you were able to spell your own name, here
01:42:46 <ihope> I'd probably get the spelling right, but there's still a significant chance I wouldn't.
01:44:17 -!- kwertii has joined.
01:44:28 -!- bsmntbombdood_ has quit (Read error: 110 (Connection timed out)).
01:45:39 -!- bsmntbombdood_ has joined.
02:45:56 -!- GreaseMonkey has joined.
02:57:58 -!- Dewi has joined.
02:58:24 -!- atsampso1 has joined.
03:03:44 -!- atsampson has quit (Read error: 110 (Connection timed out)).
03:51:26 -!- oerjan has quit ("Good night").
04:19:21 -!- Corun has quit ("This computer has gone to sleep").
05:20:16 <CakeProphet> name the game, brother... I can't say but I know another way, brother. We ain't playin' we just sayin' that it's a dang shame, that you didn't take the blue pill, I hear you bitch but it means nill - I watch you kill the time like ya out of ya mind like the silver platter don't matter - ain't enough, ain't nothing to you.
05:22:09 <oklopol> that's *exactly* what your mom said last night
05:54:55 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
06:15:35 -!- kwertii has quit ("bye").
06:19:44 -!- bsmntbombdood_ has changed nick to bsmntbombgirl.
06:32:04 -!- pikhq has quit ("leaving").
06:32:38 -!- bsmntbombgirl has changed nick to bsmntbombdood.
07:16:01 -!- poiuy_qwert has quit.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:46:57 -!- RedDak has joined.
10:05:07 -!- lilja has joined.
10:37:56 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
10:38:49 -!- GreaseMonkey has quit ("Remote closed the previous member app").
10:39:26 -!- olsner has joined.
12:13:27 -!- Corun has joined.
12:50:23 -!- olsner has quit.
12:51:17 -!- RedDak has quit (Remote closed the connection).
13:42:10 -!- RedDak has joined.
14:02:53 -!- Corun has quit ("This computer has gone to sleep").
14:13:07 -!- RedDak has quit (Remote closed the connection).
14:18:53 -!- pikhq has joined.
14:47:13 -!- sebbu2 has joined.
14:53:16 -!- Corun has joined.
14:58:08 -!- Hiato has joined.
15:04:48 -!- sebbu has quit (Connection timed out).
15:19:44 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
15:49:54 -!- Corun has quit ("This computer has gone to sleep").
15:50:58 -!- Corun has joined.
16:18:18 -!- ais523 has joined.
16:23:31 -!- ais523 has quit (Read error: 60 (Operation timed out)).
16:27:40 -!- ais523 has joined.
16:32:59 -!- tusho has joined.
16:35:27 <ais523> yes, I wasn't watching IRC at the time
16:35:30 <ais523> but instead reading my email
16:36:57 <tusho> my desk appears to have come loose
16:36:59 <tusho> jaggling around as i type
16:46:14 -!- olsner has joined.
16:46:26 -!- Sgeo has joined.
16:50:18 -!- Corun has quit ("This computer has gone to sleep").
16:52:14 -!- olsner has quit.
17:08:58 -!- Slereah2 has joined.
17:13:56 <ais523> Hiato: worrying whether your connection was working?
17:14:18 <Hiato> nope, I was worrying whether or not anyone was alive here
17:15:19 <Hiato> alright, this is a two parter
17:15:32 <Hiato> for those interested (or alive, or whose name is ais523)
17:15:37 <Hiato> http://www.mediafire.com/upload_complete.php?id=gxbfcxsyg2r
17:15:51 <Hiato> that is part one, I need to know where I have gone wrong so I can move to part two :P
17:16:30 <tusho> Hiato: a two parter spec?
17:16:33 <tusho> what is it, a word document?
17:16:37 <tusho> ASCII. Do you speak it?
17:16:43 <Hiato> tusho, yes, I know you'll kill me
17:16:52 <Hiato> and no, a one parter spec
17:16:53 <tusho> Rule 1. Your spec does not need to be in Word format.
17:16:55 -!- olsner has joined.
17:16:55 <Hiato> but a two parter process
17:17:03 <tusho> Rule 2. Your spec will probably do fine as regular text. Use Notepad.
17:17:25 <tusho> Rule 3. A Word spec on mediafire. Aah.
17:17:25 <Hiato> I realise, but it has nice formatting and OO seems to explode when saving as rtf or otherwise
17:18:02 <Hiato> so, the process to get you to read it is?
17:18:07 <Hiato> copy it into text?
17:18:25 <tusho> then put it on a pastebin like pastebin.ca
17:28:00 <Hiato> http://rafb.net/p/LB8PDV38.txt
17:28:05 <Hiato> alright, there we are :)
17:29:22 <Hiato> ps, this applies to both ais523 and tusho, seeing as most likely ais523 agreed to tusho's hatred of all things ms
17:29:38 <tusho> he develops c-intercal on windows
17:30:40 <ais523> Hiato: I don't necessarily hate all things MS, but Word format is really hard for many people to read seeing as it requires either a massive converter (OpenOffice.org, which isn't perfect) or a program that costs lots of monet
17:31:00 <ais523> I do dislike many things MS, because I think they're going about things the wrong way
17:31:15 <ais523> but I do put in effort to get C-INTERCAL working on Windows
17:32:57 <Hiato> ps: I tend to agree, it wasn't meant as an insult :)
17:33:17 <Hiato> blarg, curse the unemotional text based forms of communication
17:34:25 <tusho> Hiato: he wasn't retorting it as an insult
17:34:27 <tusho> just offering information
17:34:31 <tusho> double misunderstanding!
17:36:15 <Hiato> aah, then all is well
17:37:20 <Hiato> some formatting mistakes corrected for the nitpicky http://rafb.net/p/6cEjVr14.txt
17:38:40 <Hiato> last formatting mistake corrected, saved as plain text as opposed to C++ :P http://rafb.net/p/6xzcyI52.txt
17:40:06 <Hiato> (and yeah, it's as of yet unnamed)
17:42:30 -!- tusho_ has joined.
17:50:04 <tusho_> My connection is rusty.
17:54:57 <Hiato> any ideas on the spec?
17:57:47 <tusho_> Not sure, but it looks good.
17:57:55 <ais523> I'm doing something else right now, it looked vaguely interesting though
17:58:22 -!- tusho has quit (Read error: 110 (Connection timed out)).
17:58:43 <Hiato> yay, no fatal flaws then :)
17:58:48 <ais523> strange quit message too
17:58:59 <ais523> it's like a netsplit with only one server
17:59:09 <ais523> no, actually tusho was the ghost
17:59:17 <tusho_> I'M THE GHOST'S GHOST, AIS523
17:59:50 <ais523> (presumably the bold on that won't have come through due to the channel mode)
18:07:23 <tusho_> ais523: have you seen that link to the message which originated the IMG tag?
18:07:40 <tusho_> with a discussion right next to it with Guido van Rossum of python fame arguing with someone about xmosaic
18:07:47 <tusho_> ais523: http://1997.webhistory.org/www.lists/www-talk.1993q1/0182.html
18:07:59 <tusho_> http://1997.webhistory.org/www.lists/www-talk.1993q1/0184.html guido
18:08:09 <tusho_> http://1997.webhistory.org/www.lists/www-talk.1993q1/0189.html
18:08:15 <tusho_> {I seem to remember something about a patch to httpd to allow mapping
18:08:15 <tusho_> onto a command, rather than a file, but I can't remember where. Am I
18:08:15 <tusho_> hallucinating, or can someone let me know where this thing is?}
18:12:45 <Sgeo> I'm almost certain that I was using the web in 1995, with pictures, reading about Y2K
18:12:53 <Sgeo> Unless my memory is bad?
18:13:00 <ais523> Sgeo: that discussion's from 1993, despite the subdomain
18:13:34 <Sgeo> And from 1993 we got to 1995 a widely used web with IMG standardised?
18:13:34 * tusho_ got his first computer at 3 and a net connection at 4.
18:13:46 <tusho_> Sgeo: There wasn't much formal process then.
18:13:51 <tusho_> The guy just added it to the xmosaic code.
18:13:59 <tusho_> And all 5 users added <IMG> to their pages.
18:14:19 <tusho_> But the net _did_ explode soon after mosaic came along.
18:15:28 * Sgeo can't remember when he first used the web
18:15:38 <Sgeo> Other than a possibly false memory from 1995
18:15:46 <Sgeo> I adapted this name in 2001, I think
18:16:38 -!- Hiato has quit (Read error: 104 (Connection reset by peer)).
18:54:57 <tusho_> ais523: do you think my ambig-quotes might be a good basis for an esolang?
18:55:17 <tusho_> a lang requiring tons of nesting but with ambig-quotes as the only means
19:01:04 <tusho_> Sgeo: parens with just one symbol
19:01:24 <tusho_> '''a' b' ''c' ''d''' e'
19:01:35 <tusho_> (((a) b) ((c) ((d))) e)
19:01:43 <tusho_> whitespace sensitive of course
19:20:33 <Slereah2> So then it isn't with one symbol D:
19:22:37 <tusho_> It just happens to be in tune with the innate nature of whitespace.
19:31:25 -!- Hiato has joined.
19:37:36 -!- olsner has quit.
19:38:50 -!- olsner has joined.
19:45:49 <tusho_> I have some code in a weird languge on my HD
19:45:56 <tusho_> It's like a blend of C, Limbo, and Pascal.
19:46:02 <tusho_> Pretty sure I wrote it. :p
19:46:10 <tusho_> Pretty sure it's my language, too.
19:46:16 <tusho_> Don't think I ever wrote an implementation, either :|
19:46:25 <oklopol> was it like a fuck man i haf situation?
19:47:29 <tusho_> it has some odd control structures
19:47:31 <tusho_> foreach is called 'iter'
19:47:50 <tusho_> seems I translated some SDL code into it too
19:48:26 <tusho_> lament: how is ruby a blend of c, limbo and pascal?
19:48:29 <tusho_> which calls foreach 'iter'?
19:57:55 <tusho_> http://esolangs.org/wiki/Qq
19:57:56 <oklopol> tbh i don't think the name is all that important
19:58:17 <oklopol> qq, double queue, like a deque
19:58:20 <tusho_> Munges the quoted program argument with itself.
19:58:29 <tusho_> ais523? I think you helped me with that lang
19:58:40 <oklopol> i have no idea why i shared that random association.
19:58:47 <oklopol> but whaeva, i do what i want
19:58:47 <tusho_> # (arity 1+) The first argument must be an integer. An integer is returned, which when called as a command, is like calling the first argument with the arguments of the rest of the arguments to this command plus the arguments passed to the returned command. (...Of course!)
19:58:50 <ais523> tusho_: did I? I've never seen it before
19:59:00 <tusho_> ais523: -shrug- it's weird, either way
20:00:28 <tusho_> ais523: pretty sure you DID help
20:13:30 <tusho_> How your rants inspire laughter.
20:16:51 <tusho_> If[#1==0, 1, #1 #0[#1-1]]&
20:16:57 <tusho_> That's a factorial in Mathematica.
20:17:51 -!- Hiato has quit (Read error: 104 (Connection reset by peer)).
20:18:55 <oklopol> i understood that instantly without knowing the language
20:19:16 <oklopol> except i have no idea what the & is.
20:19:24 <tusho_> oklopol: it denotes a magical function
20:19:28 <tusho_> that gets #N as its Nth argument
20:19:32 <tusho_> #0 is the function itself.
20:19:46 <tusho_> oklopol: that's pretty insane, though
20:19:55 <ais523> tusho_: you can do the same in shellscript
20:20:07 <tusho_> ais523: but these can be anonymous
20:20:10 <ais523> oklopol: only in arguments to main, giving you the name of the executable
20:20:19 <tusho_> this works for unnamed function
20:20:19 <ais523> tusho_: in a shellscript $0 is the name of the script itself
20:20:27 <tusho_> ais523: doesn't work for unnamed functions
20:20:38 <tusho_> #0& <-- a function that returns itself
20:20:47 <ais523> tusho_: it works whatever the name of the script, and unnamed functions have names really, pretty much, you just don't see them
20:20:54 <oklopol> anyway, quite a pretty syntax, perhaps i should learn mathematica
20:21:31 <ais523> oklopol: it isn't a pretty syntax once you start using it, it badly needs to be reverse-polish or something because you get huge messes with lots of nested square brackets where you can't match a function to its arguments easily
20:21:33 <tusho_> hah, more xah lee rant
20:21:52 <tusho_> "I consider arc a asshole creation, and Scheme with its people and r6rs motherfucking assholes."
20:22:01 <tusho_> I consider them to be motherfucking assholes, verily, indeed.
20:22:07 <tusho_> Would you like a cup of tea old bean?
20:24:40 <tusho_> UNIX pipes are kind of concatenative, right?
20:25:05 <ais523> in a concatenative lang all commands are functions from input to output mapping stacks to stacks
20:25:12 <ais523> but UNIX pipes send streams rather than stacks
20:25:20 <ais523> that's where the analogy fails
20:25:24 <tusho_> concatenative just requires forall programs a, b. ab == a.b
20:25:49 <tusho_> a b c cat | xyz grep | sort | uniqe *g*
20:25:52 <ais523> well, I suppose so, but that's just a property, the paradigm is IMO more restrictive
20:26:02 <tusho_> ais523: that's pretty much the definition of a concat lang
20:26:31 <ais523> tusho_: well, I spent a while yesterday arguing that Forth wasn't "properly concatenative" because it didn't have a concatenative-lang-like flow structure
20:26:46 <ais523> Forth's pretty much imperative in terms of program flow, despite being stack-based
20:26:47 <tusho_> concatenative?(L) = forall programs(L) => P, Q. concatenate(P,Q) = compose(P,Q).
20:27:01 <tusho_> and what you're saying is that forth isn't idiomatically concatenative
20:27:08 <tusho_> but it's still a concatenative paradigm language
20:27:20 <tusho_> er, concatenative?(L) = forall programs(L) => P, Q. concatenate(P,Q) = compose(Q,P).
20:27:20 <ais523> I treat "concatenative" as meaning more the idiom than the mathematical property
20:27:28 <tusho_> ais523: that's not how most people refer to it as
20:27:40 <ais523> maybe I need a new word for my way of thinking
20:28:47 <tusho_> mm, that's a nice word.
20:31:20 <tusho_> ais523: thoughts on concatenative languages-
20:31:25 -!- Hiato has joined.
20:31:29 <tusho_> it's a good idea, because it's reduces nesting a lot
20:31:34 <tusho_> which is a problem with reading programs
20:31:44 <tusho_> having the arguments in 'reverse' just isn't that nice
20:31:47 <tusho_> you end up reading it backwards
20:31:51 <ais523> tusho_: especially Mathematica, that drove me to concat langs more or less after being forced to use it for a month or so
20:31:57 <tusho_> eyes shoot forward to the word, then shoot back
20:32:06 <tusho_> there must be a way to blend them satisfactorally
20:33:04 <tusho_> ais523: thoughts on how to blend them?
20:33:40 <ais523> I find concatenative pretty natural, first you calculate the args and then you do something with them
20:33:57 <ais523> I tend to try to read langs in evaluation order (or for langs like Haskell, pseudo-evaluation order)
20:34:01 <tusho_> "Hello, " "world!" ++ print
20:34:11 <tusho_> Your eyes skip ahead to ++, and you read the two arguments.
20:34:13 <tusho_> Then you read 'print'.
20:34:22 <tusho_> So it's not like an applicative language, but it still has skipping forwards with your eyes
20:34:22 <ais523> for concatenative langs that's left to right continuously, what could be simpler?
20:34:28 <tusho_> which is unnatural and distracting
20:34:36 <tusho_> I am uncertain of the solution
20:34:53 <ais523> I'm not the only person like this, by the way, someone on proggit mentioned how they read functional langs right to left for this reason
20:35:22 <oklopol> i read stack-based shit left to right, usualy
20:35:37 <oklopol> i also read functional shit left to right, usually
20:35:46 <tusho_> oklopol: the point is that if you have a lot of string mangling, say
20:35:57 <ais523> oklopol: well, I read Befunge in IP direction, which isn't always left to right
20:35:57 -!- RedDak has joined.
20:35:57 <tusho_> then your eyes will skip ahead to "what are we doing with these two piecesof data?"
20:36:14 <ais523> tusho_: ah, you want to know how data's used before looking at how it's generated?
20:36:32 <ais523> I suppose for langs like Perl where a function's data type affects the evaluation of its arguments, that's necessary
20:36:35 <tusho_> ais523: when you have a lot of operations at once, yes
20:36:41 <ais523> but most lang the types of the argument affect the function
20:36:53 <tusho_> i'm not satisfied with seeing you build up data, then bam, oh, that's what we're doing with them
20:37:06 <tusho_> i'd like to hear "we're going to concatenate some stuff together" first
20:37:10 <tusho_> so I know wtf I'm reading
20:38:01 <ais523> tusho_: many Underload programs I see and/or write don't use the data immediately after calculating, they just let it sit on the stack for a while
20:38:01 <tusho_> if we go purely concatenative
20:38:05 <tusho_> then a function starts with a load of code
20:38:09 <ais523> in fact how it's used may depend on calculations done later
20:38:11 <tusho_> I know what it's going to be caled
20:38:18 <tusho_> so only then will I get a rough, one-word idea of what it'll do
20:38:29 <tusho_> and it's only at the _very end_ when I even know we're defining a function!
20:39:59 <ais523> hmm... XML has an interesting solution to this problem
20:40:04 <ais523> because tags are labeled at both ends
20:40:22 -!- timotiis has joined.
20:40:30 <tusho_> ais523: impractical, though
20:40:36 <tusho_> not nice for coding, certainly
20:40:46 <tusho_> "Define function! Stuff! Stop define function!"
20:40:54 <tusho_> Besides, with that, you have a fixed argument list.
20:40:54 <ais523> tusho_: actually VHDL does that
20:40:57 <tusho_> == it's not really concatenative.
20:41:08 <ais523> tusho_: yes, I know XML isn't concatenative
20:41:12 <ais523> nor is VHDL for that matter
20:41:14 <oklopol> i want a tc language that has absolutely no modularity, so that you have to have it all in your head before you know what it does
20:41:18 <ais523> but then arguably VHDL isn't nice for coding
20:41:33 <ais523> I've been trying to think about a lang like that, but have been failing more or less
20:41:54 <oklopol> that would be so awesome, assuming it's done well, of course simple to do something like programs being some sort of a hash value that's expanded into the program...
20:42:17 <ais523> one thing I thought of was hash-based in a different way
20:42:18 <oklopol> so that there's no non trivial way to make a wimpmode for it.
20:42:35 <ais523> it took the md5 of your program, interpreted that as commands that were appended onto the end of the program, and repeated
20:42:36 <oklopol> something like a weird syntax definition mess might lead into that
20:42:50 <ais523> so it basically repeatedly md5'd a self-modifying program
20:42:58 <ais523> and you had to modify it to give the correct hash results
20:43:12 <oklopol> but i don't want anything like that, i want something with graphs, so that when you actually do have the program in your head, you should have an idea what it does.
20:43:17 <ais523> actually, using a simpler and reverse-engineerable hash (i.e. a bad one) might be able to create a practicallish program
20:43:21 <oklopol> graphs just because... well, i love em
20:46:39 <oklopol> ais523: is underload tc if ^ drops the code after it?
20:46:58 <ais523> you mean like Muriel, ^ never returns?
20:47:03 <ais523> not sure, I'll have to think about that
20:47:21 <oklopol> you can't encode sk as simply at least
20:48:03 <tusho_> you just need to put the rest of the program into the thing you're doing
20:48:26 <ais523> tusho_: but things like stack tricks normally use ^ to do
20:48:38 <ais523> for instance I think you need ^ to swap elements 1 and 3 of the stack
20:49:23 <oklopol> that doesn't necessarily mean you couldn't just have whatever's after ^ now be before it, does it?
20:49:46 <ais523> oklopol: abc^def is equivalent to abc(def)*^
20:49:48 <oklopol> although you need some condition on the *... which prolly needs ^
20:49:57 <ais523> but unfortunately there's no obvious way to get programs into that form
20:50:20 <oklopol> what if you just do, err that? :P
20:50:31 <oklopol> i think it fails if you start passing ^'s around
20:51:55 <ais523> tusho_: that mangles (:^):^ badly, into (:():^)*^
20:52:01 <ais523> which isn't even in the required form
20:52:18 <ais523> nor particularly meaningful, in fact it's an error
20:52:26 <tusho_> well, consider it to end at the ) :)
20:52:38 <oklopol> doubt it still works that simply
20:52:47 <oklopol> quite simple to try raelly.
20:52:58 <ais523> well in that case (:^):^ fails if ^ obliterates the stack too and succeeds otherwise
20:53:05 <ais523> but it probably fails on more complicated programs
20:53:45 <oklopol> (()(*))(~:^:S*a~^a~!~*~:(/)S^):^ => (()(*))(~:(:S*a~^a~!~*~:(/)S^)*^):^
20:54:26 <ais523> oklopol: what did you change there?
20:54:36 <ais523> oklopol: oh, I see now
20:54:53 <oklopol> but it doesn't actually keep it like that, when you evaluate it.
20:54:55 <ais523> AnMaster: I haven't tried yet, been busy with ICFP, and then tired after that
20:54:59 <ais523> oklopol: you forgot the first ^
20:55:01 <oklopol> it's just when there's no nesting that this works
20:56:13 <AnMaster> ais523, care to make the rather simple fixes to make current cfunge work with c-intercal, I mentioned what was needed in a mail iirc
20:56:54 <ais523> I'm still a bit tired and haven't been coding other than ICFP recently
20:56:59 <ais523> but they'll definitely be done before release
20:57:16 <AnMaster> valgrind --leak-check=full bin/ick -b pit/beer.i
20:57:30 <ais523> AnMaster: what's interesting about that?
20:57:43 <oklopol> not sure if it works as it used to, but it seems to calculate fibs anyway
20:57:46 <AnMaster> ais523, some leaks that look rather localized
20:57:53 <ais523> oklopol: the program will still work after that transformation, but not if you redefine ^ I don't think
20:58:01 <oklopol> also every time ^ is executed there, it is the last char
20:58:16 <ais523> oklopol: ah, that is interesting
20:58:34 <oklopol> but, wonder if that is true for any tc subset of programs
20:58:57 -!- olsner has quit.
20:59:03 <oklopol> because it clearly isn't for all programs, as you can pass ^ around any way you like
20:59:27 -!- pikhq has left (?).
21:00:07 <tusho_> oklopol: what about when you have (^)
21:00:07 -!- poiuy_qwert has joined.
21:00:09 <tusho_> and end up calling that
21:00:11 -!- ihope has quit ("ChatZilla 0.9.82.1 [Firefox 2.0.0.15/2008062306]").
21:02:09 <oklopol> i never said programs actually stay equal even if you do that transformation and drop the "call stack"
21:02:17 <oklopol> just that fibs seem to work
21:03:13 -!- Hiato has quit ("Leaving.").
21:03:17 <AnMaster> ais523, btw your interfunge is rather slow
21:03:29 <AnMaster> ais523, but faster than zfunge and some other ones :D
21:03:42 <ais523> AnMaster: interfunge isn't mine, it's J^4's
21:03:58 <AnMaster> ais523, do you understand how it works?
21:04:50 <ais523> AnMaster: only vaguely, I haven't looked at it in detail but I patched a mistake in its go-away command
21:06:56 <AnMaster> an optimized cfunge really executes too fast for stuff like the game of life in b93
21:07:32 <AnMaster> $ pit/interfunge < ~/src/cfunge/trunk/mycology/mycology.b98
21:07:32 <AnMaster> ICL241I VARIABLES MAY NOT BE STORED IN WEST HYPERSPACE
21:07:43 <tusho_> AnMaster: it's not befunge-98...
21:07:55 <AnMaster> shouldn't it ignore everything outside the first 25x80 then...
21:07:56 <tusho_> come on, even you could have guessed that
21:08:10 <ais523> AnMaster: the spec doesn't say that
21:08:11 <tusho_> do you know it didn't?
21:08:17 <ais523> it just says programs are 25 by 80
21:08:25 <AnMaster> ais523, also what does "WEST HYPERSPACE" mean?
21:08:36 <ais523> interfunge is one of the few Befunge-93 interps I know that enforces this rule rather than ignoring the extra elements
21:08:40 <ais523> AnMaster: it means array-out-of-bounds
21:08:40 -!- lilja has joined.
21:09:18 <ais523> normally the messages are related to the error pretty strongly, so they're easy to remember once you've seen them once
21:10:49 <tusho_> ais523: huh just realised what a nested/flat(concatenative) mix is
21:12:00 <AnMaster> ais523, I get same error when making the program 25x80
21:13:06 <tusho_> AnMaster: zomgz!!! Mycology fails on b93 interps!
21:13:08 <ais523> well, I've run it succesfully in the past
21:13:15 <ais523> tusho_: it's meant to succeed, it has a b93 section
21:13:24 <tusho_> is the b93 section in 25x80?
21:13:49 <AnMaster> tusho_, so stop being such a stupid git ;P
21:13:52 <ais523> AnMaster: also for technical reasons the program has to end with a blank line in interfunge because INTERCAL has no EOF-detection
21:14:03 <ais523> after the 25 original lines
21:14:07 <AnMaster> ais523, I see, it didn't end in blank line
21:14:19 <AnMaster> even with blank line same error
21:14:21 <ais523> but you should get a different error if it doesn't end in a blank line
21:15:37 <AnMaster> ais523, though this may not work for other reasons, it should still fit within 25x80 according to emacs http://rafb.net/p/2woPve50.html
21:15:54 <AnMaster> ais523, and it cause west of hyperspace error
21:15:57 <ais523> AnMaster: I just tested on my end and it worked
21:16:01 <ais523> let me compare my version to yours
21:16:44 <ais523> let me run your program at my end
21:16:55 <AnMaster> ais523, indeed doesn't affect it
21:17:14 <AnMaster> ais523, what program? the pi one isn't mine, but it can be found in examples directory in cfunge
21:17:32 <ais523> AnMaster: mycology clipped to 25x80
21:18:03 <ais523> I get a west-hyperspace error with your program
21:18:33 <ais523> AnMaster: look at the program
21:18:38 <ais523> look at line 2 specifically
21:18:50 <ais523> reading backwards, >0399*p
21:18:56 <ais523> it's trying to p in (81,2)
21:19:04 <AnMaster> ais523, well that you should error check for
21:19:07 <ais523> which is out of bounds in Befunge-93
21:19:10 <ais523> presumably not in Befunge-97
21:19:13 <ais523> and I didn't write interfunge
21:19:33 <ais523> besides, interfunge just lets INTERCAL do the error checking and report an appropriate error message
21:19:58 <AnMaster> > 0#@>. 1#@v>#@,55+"skrow , :DOOG",,,,,,,,,,,,,,1#v:$v>"pud t'nseod : DAB",,,,,,,v
21:20:06 <AnMaster> so that line should be short enough
21:20:34 <AnMaster> $ wc -l /home/arvid/src/cfunge/trunk/mycology/my93.bf
21:20:34 <AnMaster> 24 /home/arvid/src/cfunge/trunk/mycology/my93.bf
21:20:37 <AnMaster> $ pit/interfunge < /home/arvid/src/cfunge/trunk/mycology/my93.bf
21:20:37 <AnMaster> ICL241I VARIABLES MAY NOT BE STORED IN WEST HYPERSPACE
21:20:56 <AnMaster> http://rafb.net/p/pynyck85.html
21:21:04 <AnMaster> it even contains the blank line you wanted
21:21:38 <ais523> $ ls -l mycology-stripped.bf
21:21:38 <ais523> -rw-r--r-- 1 ais523 ais523 1864 2008-07-15 21:15 mycology-stripped.bf
21:21:44 <ais523> is your version the same size?
21:22:16 <AnMaster> -rw-r--r-- 1 arvid arvid 1968 15 jul 22.21 /home/arvid/src/cfunge/trunk/mycology/my93.bf
21:22:26 <ais523> I wonder why it's bigger
21:22:41 -!- CakeProphet has quit ("lolwhut?").
21:22:41 <ais523> ah, that would be the problem
21:22:54 <AnMaster> ais523, well in b93 you are allowed to not support it
21:23:14 <ais523> AnMaster: again, it's not my befunge-93 interp, ok?
21:23:18 <ais523> complain to J^4 about it not me
21:23:22 <AnMaster> $ du -b ~/src/cfunge/trunk/mycology/my93.bf
21:23:22 <AnMaster> 1944 /home/arvid/src/cfunge/trunk/mycology/my93.bf
21:24:19 <ais523> AnMaster: it's using INTERCAL numeric output
21:24:22 <AnMaster> ais523, it makes newlines where it shouldn't
21:24:34 <AnMaster> I don't care about using roman numerals
21:24:40 <ais523> AnMaster: INTERCAL always outputs numbers with newlines so that it can put the overbars on
21:24:45 <AnMaster> but the newlines after numerals are just plain wrong
21:24:54 <AnMaster> so it fails mycology in other words
21:24:55 <ais523> e.g. 10000 in Roman numerals is X with an underscore above it
21:24:58 <ais523> which is two lines tall
21:25:10 <AnMaster> ais523, maybe, but it is still wrong in befunge93. period.
21:25:16 <ais523> I don't think it's meant to be conforming in that respect
21:25:26 <ais523> besides befunge93 says 'decimal' in the docs so it doesn't allow Roman numerals
21:25:39 <AnMaster> ais523, also it fails in another point:
21:26:02 <tusho_> AnMaster: it's written in frucking intercal
21:26:06 <tusho_> do you want it to be perfect?!
21:26:12 <tusho_> <AnMaster> tusho_, so stop being such a stupid git ;P
21:26:18 <ais523> also it was J^4's first INTERCAL program, cut them some slack
21:26:22 <tusho_> i don't think that was warranted, AnMaster
21:26:36 <AnMaster> tusho_, I'm afraid I forgot the ~
21:26:51 <tusho_> though I guess curse levels are hard to learn in a foreign language :)
21:29:03 <AnMaster> should I implement TERM tonight?
21:29:12 <ais523> which fingerprint's that?
21:29:27 <tusho_> AnMaster: if you can do that then you can do trds!
21:29:36 <AnMaster> tusho_, not really, this is easier
21:29:54 <ais523> tusho_: trds is amazingly difficult to implement because of all the metadata you have to track
21:30:00 <ais523> it's worse than call/cc
21:30:09 <AnMaster> yes I have read ccbi sources for it
21:30:25 <AnMaster> and well, not just feral, but positively wild
21:32:01 <ais523> arguably it's worse than IFFI in terms of feralness
21:32:53 <AnMaster> ais523, yes as IFFI doesn't have the issue of concurrency at the same time
21:34:20 <AnMaster> in fact I won't need ncurses, I will just need termcap
21:42:16 -!- oerjan has joined.
21:54:51 -!- anjo has joined.
21:58:12 <tusho_> ais523: do you know xpath?
21:58:12 <AnMaster> Deewiant, if you want TERM to work on linux see: man curs_terminfo
21:58:24 <AnMaster> tusho_, do you know buzzwords? ;P
21:58:33 <tusho_> AnMaster: xpath isn't a buzzword..
21:58:38 <tusho_> http://en.wikipedia.org/wiki/XPath
21:58:46 <AnMaster> tusho_, well it was turned into one for a bit
21:59:01 <AnMaster> same way as java isn't a buzzword, or .NET isn't
21:59:07 <tusho_> AnMaster: that's just the "OMG XML TECHNOLOGIES" buzzword categorisation system
21:59:44 <tusho_> AnMaster: You say that but somehow I think you are just blindly repeating what you've heard.
21:59:51 <ais523> tusho_: what advantages does that have over CSS?
21:59:51 <tusho_> XML has many use-cases, and they're not s-expressions'.
21:59:59 <tusho_> ais523: it can do more complex selectors
22:00:02 <AnMaster> tusho_, well I do prefer S-Expressions
22:00:11 <AnMaster> supertux use it for data format
22:00:18 <AnMaster> and since I worked a lot on that project...
22:00:21 <tusho_> AnMaster: XML and its assorted technologies are far more suitable in numerous cases.
22:00:40 <oklopol> i prefer sandwiches over dog poo, even though dog poo has much more uses.
22:00:43 <AnMaster> HTML works well, because it is mostly text with some markup in
22:00:45 <ais523> I like using JSON for some of the things that people misuse XML for, but it has leigitimate uses too
22:00:57 <AnMaster> while xml for data storage gets a LOT of overhead
22:01:02 <ais523> oklopol: really? Can you substantiate the second part of that statement?
22:01:31 <tusho_> AnMaster: look, XML is usable in a wide range of cases, and most "XML sucks, use s-expressions" people are totally wrong
22:01:40 <tusho_> in this case, I am manipulating a markup document.
22:01:47 <oklopol> ais523: you can make pretty much anything out of it, just have to dry it up
22:02:01 <oklopol> sandwiches, well, you can eat them.
22:02:10 <tusho_> AnMaster: eXtensible MARKUP language
22:02:16 <oklopol> you can also eat dog poo, which might be the xml equivalent of coding in xml
22:02:16 <ais523> oklopol: have you never made sandwich sculptures before?
22:02:17 <AnMaster> tusho_, however for some stuff XML overhead is just a quite huge
22:02:24 <AnMaster> tusho_, yes indeed, problem is people misuse it
22:02:27 <oklopol> ais523: well no, but i doubt that'd work all that well
22:02:37 <oklopol> "xml equivalent of coding in xml"
22:02:38 <tusho_> AnMaster: that's a ridiculous argument
22:02:38 <ais523> admittedly, I haven't, but it would seem like a reasonable pastime
22:02:45 <tusho_> "X is bad because when you misuse it, it has huge overhead"
22:02:48 <AnMaster> "OMG XML TECHNOLOGIES" buzzword
22:02:56 <AnMaster> tusho_, it does have overhead for a lot of stuff
22:03:03 <tusho_> AnMaster: all of which are misuses.
22:03:21 <oerjan> ais523: now i'm wondering if you have seen/made many dog poo sculptures...
22:03:27 <ais523> tusho_: one issue is that XML has huge overhead even when used properly, e.g. look at XHTML vs. that ruby-based framework you used for the notary report
22:03:47 <tusho_> we can all accept that
22:04:06 <AnMaster> and S-Expressions wouldn't be good for HTML
22:04:12 <tusho_> because HTML should be lenient and basically nothing should result in a "BROKEN PAGE"
22:04:25 <tusho_> xml, however, requires a total abort on invalid documents (which is useful when it's used for the things it should be)
22:04:31 <tusho_> ergo, xhtml = broken for the web and always will be
22:04:48 <lament> why should HTML be lenient?
22:05:14 <lament> laziness has nothing to do with it
22:05:18 <tusho_> AnMaster: that's the stupidest thing you've said all day, ok.
22:05:22 <AnMaster> tusho_, should an ADA compiler be lenient?
22:05:28 <tusho_> lament: you don't *really* want to be bombarded with links to many-paged articles about it, do you?
22:05:55 <AnMaster> tusho_, also it was sarcasm...
22:06:23 <ais523> AnMaster: also Haskell is lazy, is that an insult?
22:06:27 <lament> tusho_: no, because all those articles are dumb
22:06:41 <tusho_> lament: either you're reading the wrong ones or you're just wrong
22:07:04 <lament> tusho_: if all web browsers suddenly started rejecting all malformed HTML, it would not be that big of a deal
22:07:15 <tusho_> HAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHHA
22:07:23 <tusho_> lament: go and hack up a patch to your browser to do that.
22:07:33 <AnMaster> lament, I think you are wrong, a lot of pages doesn't validate
22:07:35 <tusho_> then come back to me and remark on how stupid that idea was
22:07:49 <ais523> well, if enough people did that, a lot more pages would start validating
22:08:01 <ais523> just like when Firefox became popular a lot more sites stopped using IE-only markup
22:08:14 <tusho_> ais523: actually, everyone would suddenly stop using firefox
22:08:18 <tusho_> because google won't work on it
22:09:10 <Deewiant> AnMaster: ... you do realize I already tried to use those routines
22:09:27 <AnMaster> Deewiant, well I'm using them with some limited success atm
22:09:48 <lament> AnMaster: i never said that many pages validate.
22:10:00 <lament> tusho_: I said "all web browsers", not "my browser"
22:10:08 <ais523> tusho_: actually, I just looked at the source for Google, it looks like HTML 2 or something, maybe it is
22:10:23 <tusho_> lament: People would ring up microsoft and yell at them that they broke the internet.
22:10:24 <AnMaster> Deewiant, what was the problem for you?
22:10:27 <tusho_> Then microsoft would reverse it.
22:10:34 <tusho_> Then people would stop using FF because it still broke the internet.
22:10:56 <tusho_> ais523: it doesn't have a doctype - right off the bat, it can't validate
22:10:58 <Deewiant> I probably told you at the time, though :-P
22:11:04 <lament> tusho_: i agree that backwards compatibility is important, although in this case all it would take is microsoft saying "no, we won't revert it" to turn it into a non-issue.
22:11:20 <ais523> tusho_: yes, also the content of the page doesn't correspond to any modern doctype, that's why I guessed html 2
22:11:22 <Deewiant> AnMaster: the code I was using is still in term.d, just commented out there
22:11:26 <oklopol> backwards compatibility sucks ass
22:11:27 <lament> tusho_: but when it's the _only_ reason, then at least you can try to improve the situation in the future, and hope that eventually all the old pages will just die of old page.
22:11:28 <tusho_> lament: That would be called "Microsoft's stock drops because they broke the internet for the majority of users."
22:11:34 <lament> tusho_: and XHTML is an attempt to do that.
22:11:41 <tusho_> Followed by "Microsoft reverses decision to reject invalid pages."
22:11:50 <tusho_> (I am intentionally misusing 'internet' here.)
22:11:51 <oklopol> humanity should be erased every 10 years, with only the most pure inventions and top scientists to repopulate
22:11:53 <ais523> tusho_: actually IE8 rejects invalid pages by default
22:12:00 <tusho_> ais523: invalid XHTML pages
22:12:03 <tusho_> because it's mandatory
22:12:09 <oklopol> but anyway, i'm sure you agree
22:12:18 <lament> tusho_: so what's the problem, then?
22:12:20 <tusho_> but a lot of pages identifying as XHTML actually are
22:12:21 <ais523> yes, and tries to parse pages standardsly even if they use markup that worked on IE7
22:12:27 <tusho_> because you have to know what XHTML is
22:12:29 <tusho_> which means you know what web standards are; etc
22:12:34 <ais523> tusho_: in fact almost all of them, because the ones that don't don't work
22:12:44 <tusho_> that is not the reason
22:12:58 <ais523> all modern browsers reject bad XHTML for obvious reasons
22:13:11 <tusho_> because the spec absolutely, completely requires them to
22:13:20 <ais523> yes, so people trying to test an XHTML website will find it doesn't work in anything if it's broken
22:13:23 <tusho_> and because the only people who tag their pages as XHTML in the doctype already have checked their pages
22:13:39 <tusho_> i'd vouch that a hell of a lot of web page authors don't know what the w3c is
22:13:50 <ais523> tusho_: well, if they tried without checking their page it wouldn't work
22:14:03 <ais523> if HTML had acted the same way all along, pretty much the entire internet would be valid HTML
22:14:13 <tusho_> ais523: how about you draft a patch up for this and send it off to mozilla.org and watch them all laugh at you...?
22:14:23 <tusho_> but it'd also be a heck of a lot smaller
22:14:24 <ais523> tusho_: it can't be changed /now/ for HTML, is what I'm saying
22:14:34 <tusho_> because the barrier to entry is immediately huge
22:14:40 <Sgeo> Someone once sent me a link to a log on IM, and told me to read it in IE, because it was broken in Fx
22:14:41 <tusho_> there's such a thing as a "completely wrong" page, it won't show
22:14:45 <tusho_> you need to check it with a special thing
22:14:52 <tusho_> and it gives you messages telling you you're wrong
22:14:53 <ais523> tusho_: nah, I don't think so, most people use tools like FrontPage or Dreamweaver nowadays and they could easily be fixed to produce valid HTML, I hope
22:14:56 <tusho_> and you have to fix them
22:14:59 <tusho_> until it stops yelling at you
22:15:13 <tusho_> ais523: ever seen a badge on a web page saying "Coded in NOTEPAD: the only true way" or whatever?
22:15:14 <Sgeo> Something with encoding. Also, it was done in MS Word
22:15:23 <tusho_> There's a fair selection of people who think they're hardcore for handcoding invalid html
22:15:28 <ais523> tusho_: no, actually I haven't seen that for any website bit vi
22:15:37 <ais523> s/website bit/editor but/
22:15:54 <ais523> does vi automatically put advertising onto the bottom of websites it edits, or something?
22:15:54 <tusho_> ais523: you venture on the sane part of the internet, then :)
22:16:03 <ais523> that seems completely against vi spirit
22:16:10 <tusho_> vi just love waving their e-peen around
22:16:15 <ais523> I see it with vi quite a bit though
22:16:28 <tusho_> yes, because most of them think they're awesome for using a particular editor
22:16:32 <tusho_> it's quite common on emacs pages too
22:16:39 <tusho_> but emacs users seem to be less religious
22:18:00 <ais523> tusho_: actually I thought emacs users tended to be even more religious than vi users, except me
22:18:25 <tusho_> they're usually more religious but only if you talk to them about it
22:18:28 <ais523> emacs was, of course, invented specifically as a program for Richard Stallman to be able to do everything he liked from one definitely-Stallman-free program
22:18:31 <tusho_> vi users are less religious but they're religious _all the time_
22:18:47 <ais523> and other people have benefitted from that by coincidence
22:18:51 <ais523> sort of like free-loading
22:19:30 <tusho_> ais523: it amuses me that he would think "what I need is an OS"
22:19:33 <tusho_> i thought he already thought that...
22:19:58 <ais523> tusho_: not exactly, he was building an OS, what he needed was an applicatoin
22:19:59 -!- Corun has joined.
22:20:04 <ais523> not more than one though, he wasn't greedy
22:20:15 <tusho_> ais523: but the application is an OS, effectively
22:20:19 <tusho_> it's a platform for running applications
22:20:23 <ais523> well, it has to be if it's only one application
22:20:28 <tusho_> that's what emacs is, it just happens to be structured like an editor
22:20:29 <ais523> and yet it does everything
22:20:39 <tusho_> it's an OS that has an editor in its very core due to bad design
22:20:54 <ais523> tusho_: well, maybe a shell not an OS
22:20:57 <ais523> it isn't really a kernel
22:21:02 <ais523> by any stretch of the imagination
22:21:13 <tusho_> an os doesn't have to have a kernel
22:21:17 <ais523> and it doesn't have its own filesystem, just integrates with other things
22:21:20 <tusho_> Ubuntu is an OS and it's a different one from Gentoo
22:21:24 <ais523> ls has an Emacs option, I think
22:21:27 <tusho_> they share the kernel, filesystems, ...
22:21:43 <ais523> well, Ubuntu's the whole OS, whereas Emacs is just the shell
22:22:15 <tusho_> ais523: a shell can run any program
22:22:20 <ais523> Ubuntu comes bundled with Linux, Emacs doesn't
22:22:21 <tusho_> emacs can only run programs that are written for it
22:22:40 <ais523> tusho_: it can run other programs too, M-x shell-command and all that
22:23:01 <tusho_> ais523: that's totally cheating though :)
22:23:16 <ais523> tusho_: no it isn't, it forks and execs just like any other shell does
22:23:29 <tusho_> that's totally not the point though :|
22:23:38 <ais523> Emacs also happens to be a programming language interp, though, that's why it can run lots of programs written for it
22:23:53 <ais523> if you write a program in JavaScript does that make a web browser an OS?
22:24:36 <tusho_> but let's just drop this, it's going nowhere
22:28:32 -!- pikhq has joined.
22:30:00 -!- anjo has left (?).
22:33:28 -!- Corun has quit ("This computer has gone to sleep").
22:38:10 <AnMaster> ok I got it to work partly Deewiant
22:38:17 <AnMaster> by taking code from an ncurses example
22:38:38 <cherez> Confound you, quaterions!
22:38:55 <AnMaster> cherez, um what has they got to do with this?
22:39:03 <tusho_> AnMaster: Why does he have to talk about your topic?
22:39:07 <tusho_> Why can't he talk about what he wants?
22:39:25 <AnMaster> well I just got confounded by him
22:39:50 <cherez> I was just confounding them, and thought someone might come up with a quaternion based esolang.
22:39:51 * oerjan throws an octonion at cherez
22:40:24 <cherez> Those are the non-associative ones, right?
22:40:27 <oerjan> non-associative multiplication
22:44:41 <tusho_> ais523: how is overload doing
22:44:49 <ais523> not very much at present
22:44:57 <ais523> I think I may have to restart writing the interp a third time
22:45:05 <tusho_> ais523: what do you think about my longest-valid-command-name idea, btw?
22:45:05 <ais523> because it's the ideal lang to implement Shove in, I think
22:45:16 <tusho_> abcdefg - if you have 'ab', 'cdef', and 'g' as commands,
22:45:27 <ais523> tusho_: CLC-INTERCAL's parser does that
22:45:28 <tusho_> if you also have 'cde' and want it differently, ad a space
22:45:42 <ais523> also Cyclexa does that
22:45:46 <ais523> with @ rather than space
22:45:48 <tusho_> ais523: still, it's good for a golfing language
22:45:51 <ais523> but it has tiebreak rules
22:46:00 <tusho_> it'd sure help with golfscript-competitors
22:46:10 <ais523> so say if ab and bc are both commands, there'll be a defined parsing of abc
22:46:16 <ais523> which depends on the priorities of ab and bc
22:46:29 <ais523> and Cyclexa's deliberately designed to be golfable
22:46:41 <tusho_> abc would always be ab c
22:46:47 <ais523> whereas Overload was a golfing lang all along
22:46:55 <tusho_> ais523: remember, ninjacode needs to be fast too
22:46:55 <ais523> tusho_: Cyclexa parses based on which combination has the most meaning
22:47:10 <ais523> Overload intentionally ignores performance, on the basis that computers get better all the time
22:47:17 <ais523> and so do optimisation techniques
22:47:27 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
22:47:35 <tusho_> ais523: it's kind of like saying that you should use a string rewriting language because computers are getting faster
22:47:44 <tusho_> besides, my language is meant to be able to exceed c speed
22:47:45 <ais523> this isn't a "should", it's a "can"
22:47:47 <tusho_> if you get down and dirty
22:47:59 <tusho_> the one thing ninjacode is not designed for is readability
22:48:04 <ais523> incidentally, I was thinking about the cfunge-speed argument you and AnMaster had
22:48:10 <tusho_> which is how it achieves this seemingly-impossible feat
22:48:14 <tusho_> ais523: different goals
22:48:18 <ais523> and decided the reason why golfing befunge for speed was silly was because it had no competitors
22:48:18 <tusho_> ninjacode is for totally pwning anagolf
22:48:37 <ais523> so maybe I'll try to write a really fast befunge-93 to asm compiler using a techinique someone suggested on the talk page
22:48:48 <ais523> of using self-modifying asm to do self-modifying Befunge
22:48:55 <tusho_> ais523: OMG THAT'S NOT BEFUNGE98!!!!!!!!!!!1112163717823612873681723612783
22:49:07 <AnMaster> <ais523> and decided the reason why golfing befunge for speed was silly was because it had no competitors <-- huh?
22:49:13 <tusho_> Of course, but that's the argument AnMaster will give you, ais523
22:49:36 <ais523> AnMaster: the reason trying to get cfunge as fast as possible seems a bit strange to tusho is simply because there's nothing to compare it to
22:49:51 <ais523> if there were two lightning-fast befunge implementatinos it would be more interesting
22:49:54 <AnMaster> ais523, well I can compare against a previous revision
22:49:59 <tusho_> <ais523> AnMaster: the reason trying to get cfunge as fast as possible seems a bit strange to tusho is simply because there's nothing to compare it to
22:50:01 <tusho_> and also, because, well
22:50:05 <tusho_> it's kind of a total waste of time.
22:50:12 <oklopol> nothing is a waste of time
22:50:14 <ais523> tusho_: no it isn't, if you were
22:50:16 <AnMaster> tusho_, well esoteric languages all are then
22:50:26 <tusho_> AnMaster: no they're not
22:50:28 <ais523> tusho_: think about it this way: what esolang would you say is the most practically useful?
22:50:42 <tusho_> ais523: not the point - interestingness
22:50:45 <ais523> I know it isn't a usual criterion for esolangs, but think about it
22:50:52 <tusho_> it doesn't make it any more interesting. it doesn't make it any more usable because nothing needs that speed. it's also blanketed (everything is optimized even if the optimization won't help much).
22:50:56 <ais523> I'd probably say Befunge, which is why Befunge is a good choice for speeding up
22:51:04 <tusho_> thus, it is a waste of time
22:53:19 <oklopol> god i hate it when people tell others what they should or should not do in their own time.
22:53:50 <tusho_> i'm telling him it's a complete waste of time
22:53:53 * oerjan wonders which esolang wastes the _most_ time ... when running
22:54:06 <oklopol> well i guess you're just expressing your opinion a bit annoyingly
22:54:10 <tusho_> and that's why I argue with him when someone defends it
22:54:17 <tusho_> err, when I argue with the defender
22:54:23 <tusho_> note to self - don't modify one part of a sentence and leave the other
22:54:23 -!- Corun has joined.
22:54:38 <oklopol> tusho_: perhaps, perhaps, i'm very, very tired.
22:55:05 -!- 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"").
22:57:52 <AnMaster> Deewiant, if you are there, in TERM fingerprint, should negative counts for "lines to go upwards" work?
22:58:14 <tusho_> AnMaster: TRDS TRDS TRDS TRDS
22:58:27 <AnMaster> tusho_, you misread, I said TERM
22:59:33 <oerjan> someone reboot tusho please
22:59:52 <tusho_> oerjan: TRDS TRDS TRDS TRDS
22:59:57 <tusho_> TRDS? TRDS TRDS TRDS TRDS! TRDS.
23:07:57 <oklopol> what is this trds everyone keeps talking about?
23:19:40 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
23:22:44 -!- Corun has quit ("This computer has gone to sleep").
23:31:15 <AnMaster> oklopol, http://web.archive.org/web/20020816190021/http://homer.span.ch/~spaw1088/funge.html#trds
23:34:20 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
23:34:30 <AnMaster> Deewiant, I added a TERM using the functions from term.h, you may want to take a look at mine
23:34:59 <AnMaster> Deewiant, http://rafb.net/p/fU6mi089.html
23:35:31 <oklopol> that's like... calculated call/cc
23:35:31 -!- Corun has joined.
23:36:44 <tusho_> oklopol: it even rewinds stdout
23:37:01 <AnMaster> oklopol, and NOT something I will ever implement
23:37:05 <AnMaster> ccbi does implement it however
23:40:11 <GregorR> Does it rewind stdout if you've piped it into something?
23:40:51 <tusho_> Think it detects tty-ness, GregorR
23:42:08 <AnMaster> there is no unputc, just ungetc
23:45:42 <tusho_> AnMaster: Just erase the chars on the screen.
23:46:10 <AnMaster> that may not work on some terminals
23:46:31 <AnMaster> a putp(clr_screen); in konsole at least will still leave scrollback
23:48:09 <tusho_> AnMaster: It just uses ncurses or whatever
23:49:28 <AnMaster> tusho_, well that is what putp(clr_screen); does
23:57:43 -!- poiuy_qwert has quit (Read error: 110 (Connection timed out)).
00:35:23 -!- Corun has changed nick to Coreina.
00:45:04 -!- Coreina has changed nick to Corun.
00:47:21 -!- timotiis has quit (Read error: 110 (Connection timed out)).
00:50:09 -!- CakeProphet has joined.
01:25:53 -!- sebbu2 has changed nick to sebbu.
01:32:43 -!- ihope has joined.
01:35:21 <oerjan> O_O oh noes! he knows about us!
01:35:47 * ihope chases oerjan while screaming, "IT'S GOOD FOR YOU!"
01:37:05 <oerjan> BUT I'M ALLERGIC TO IT!
01:37:34 * ihope switches vegetables
01:37:35 * ihope chases oerjan while screaming, "IT'S GOOD FOR YOU!"
01:37:40 -!- tusho_ has quit (Client Quit).
01:38:50 <ihope> Eating crunchy vegetables is good for me, and it's good for you, so eat them too, something about the bunch! Three cheers for me, Captain Vegetable! Crunch, crunch, crunch!
01:39:20 * oerjan eats Captain Vegetable to end this travesty
01:40:41 <ihope> My name is Oerjan, and I like coerjan / If it's... um, poured on, gimme some coerjan!
01:41:52 * oerjan wonders what the original of that was
01:43:08 <ihope> My name is Andy/Eddie, (and) I like candy/spaghetti / If it's handy/ready, gimme (some) candy/spaghetti!
01:43:43 <ihope> Add and and some to taste. And make sure the syllable count remains the same, and all.
01:48:51 <oerjan> just don't get Huck involved in this
01:57:21 -!- puzzlet_ has changed nick to puzzlet.
02:32:18 <GregorR> I think I'm allergic to my damn shoes.
02:33:34 <ihope> Find public places that don't say "no shoes, no service".
02:33:45 <GregorR> I find walking on gravel to be unpleasant without shoes.
02:34:02 <oerjan> clearly you need to walk upside down, since you like hats
02:35:31 <ihope> You'll get used to it.
03:00:44 <pikhq> I find that developing hobbits-feet is handy.
03:08:32 -!- Corun has quit ("This computer has gone to sleep").
03:12:59 -!- poiuy_qwert has joined.
03:15:14 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
04:03:23 -!- oerjan has quit ("leaving").
04:12:25 <CakeProphet> Surely there's some mindless task that people still pay other people to do... that I could automate into a bot.
05:12:46 -!- pikhq has quit ("leaving").
05:31:41 -!- poiuy_qwert has quit.
05:49:15 -!- GreaseMonkey has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:15:03 <AnMaster> Deewiant, I got an issue, I think my V and S in STRN are correct (checked what it pushes with gdb), mycology however doesn't agree
08:15:34 <AnMaster> BAD: "0987654321"VS isn't 1234567890
08:15:41 <AnMaster> that would in the end push the string again
08:16:28 <AnMaster> are you sure the mycology check is correct?
08:18:41 <Deewiant> one can never be sure of anything
08:18:53 <AnMaster> Deewiant, bbiab, going to swim
08:18:57 <Deewiant> it's open source you know, just check what it checks for and check that it's right :-P
08:32:02 -!- lilja has joined.
08:46:39 -!- CakeProphet has quit (Remote closed the connection).
08:47:10 -!- CakeProphet has joined.
09:21:17 <oklopol> i recall getting quite strange looks when walking to the shop in the winter without shoes on
09:21:30 <oklopol> used to dislike shoes a lot
09:23:02 -!- Judofyr_ has joined.
09:23:28 <oklopol> think i went one whole summer without shoes, after which shoes actually hurt... not sure why, perhaps a psychosomatic thing
09:28:33 <oklopol> ah, i'd forgotten how nice the c++ template system actually was
09:40:22 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
09:41:38 -!- Judofyr_ has left (?).
09:42:15 -!- lilja has quit (Read error: 104 (Connection reset by peer)).
09:48:55 <AnMaster> <oklopol> ah, i'd forgotten how nice the c++ template system actually was
10:03:08 <AnMaster> Deewiant, actually it was an off by one error on my side
10:04:51 <AnMaster> Deewiant, hrrm my my mycouser STRN always fails to load, I guess this isn't the last version?
10:11:48 <Deewiant> if there's an "r" instruction somewhere there then it's one of the versions where I forgot an "r" where a "(" should be
10:15:24 <oklopol> http://www.vjn.fi/pb/p134452546.txt <<< changed phase rules a bit, you can now be in multiple states
10:15:32 <oklopol> always is just a boolean variable that evaluates to true
10:15:41 <oklopol> so the phase always: is always on
10:16:08 <AnMaster> oklopol, huh is that for a programming language
10:16:56 <AnMaster> oklopol, hello world in it please
10:16:57 <oklopol> that should be a fully legal program in it, except it would do nothing unless actually piped into something that knows how to do the primitive operations
10:17:25 <oklopol> it's really a language template
10:17:57 <oklopol> i can choose print to be a member variable that's printed
10:18:09 <oklopol> the program would then be first => print "Hello world!"
10:18:28 <AnMaster> oklopol, ok... what sort of language is this?
10:18:30 <oklopol> so it would once, when the program starts, set print to "Hello world!", then do nothing more
10:18:41 <oklopol> it's a declarative language disguised as event-based
10:18:50 <oklopol> basically condition => result
10:19:05 <oklopol> but it's kinda OO, you're always describing an object
10:19:23 <oklopol> that changes its state and it's member variables
10:19:33 <oklopol> it's designed for making bot ai's
10:19:54 <oklopol> basically, that would be the thing that changes the bot's state, and queries its surroundings
10:20:23 <oklopol> the actual physics / graphics for a game, or things like that, would be supplied in another language
10:20:55 <oklopol> although you could of course make a language over Ob to give you the graphics shit too
10:21:21 <oklopol> but it always needs to be plugged into something eventually, as there is no preset IO functionality
10:21:47 <oklopol> it's kinda purely functional, although completely imperative, except, of course, entirely declarative.
10:22:39 <oklopol> well it's not really purely functional in any way :P
10:22:46 <oklopol> just got caught up in the moment or something
10:23:27 <oklopol> about tcness, i have a forall construct /X in the language, so it's superturing :P
10:23:47 <oklopol> and an exists construct, \X
10:25:28 <oklopol> you can do something like {/X: \Y: (length Y) > 1 && (product Y) = X} to test if all numbers are composite
10:26:04 <oklopol> although it doesn't actually have functions yet
10:28:55 <oklopol> hmm, actually i'm wrong, it already has functions
10:29:18 <oklopol> actually also boolean equality checks are basically calling booleans with other booleans
10:29:36 <oklopol> state killing: is equal to state = killing:
10:29:55 <oklopol> it's just englishier to drop the =
10:30:57 <oklopol> the language is quite flexible, implicit comments, whitespace based nesting, explicit nesting & lines separators, whitespace based operator precedence
10:31:33 <oklopol> i haven't really made languages without whitespace based operator precedence after "inventing" it when making graphica
10:31:51 <oklopol> not that it's complex enough to need inventing, more like found its sexiness
10:40:12 <oklopol> (now adding objects without changing syntax, god i'm perverted)
10:40:41 <oklopol> i was thinking objects could be created by "calling" a phase.
10:40:59 <AnMaster> <oklopol> it's kinda purely functional, although completely imperative, except, of course, entirely declarative. <-- haha
10:41:03 <oklopol> if you have the phase "object human:"
10:41:20 <oklopol> which would normally become active when the variable object is set to human
10:41:34 <oklopol> superturing, can evaluate H()
10:41:51 <oklopol> if you have the "object human:" phase
10:42:00 <oklopol> if you have the "object human:" phase
10:42:34 <oklopol> it will actually start a new thread that executes the code in the object human phase
10:42:50 <oklopol> and you get an id that links to that thread
10:42:55 <oklopol> which is basically an object
10:43:43 <oklopol> wait a mo, i'll add "movement" to that guy i just defined, by using it as an object in another environment
10:44:06 <AnMaster> oklopol, so what about thread sync?
10:45:45 <AnMaster> oklopol, are you got at perl regex?
10:46:00 <AnMaster> I forgot the syntax for a negative lookbehind
10:46:39 <fizzie> Only fixed-width contents, though.
10:47:18 <AnMaster> I just wanted to find any american spelling in my source, so I grepped for ize, but "size" matches that too
10:47:39 <AnMaster> pcregrep '(?<!s)ize' $(find src -name '*.c')
10:48:18 <fizzie> [^s]ize probably would've been easier; of course it's not the same since it won't match if you've got a line starting with "ize", but I hardly think that's a real issue.
10:48:38 <AnMaster> fizzie, I could have one with size as well as normalize
10:49:13 <fizzie> Well, I guess you'd miss things like "resize", but...
10:50:31 <oklopol> http://www.vjn.fi/pb/p565145255.txt
10:50:45 <oklopol> AnMaster: i'm working at a much higher level than thread sync
10:50:55 <oklopol> the threads cannot be just "threads".
10:51:11 <oklopol> everything that triggers @ that must be executed
10:51:56 <oklopol> there are many subtleties, the language is meant to be trivial to code, and very extendable; it is not meant to be feasible to implement :P
10:52:09 <oklopol> but it should be fast enough if used wel
10:52:19 <oklopol> and it's compilable, in many senses of that word
10:52:54 -!- tusho has joined.
10:52:59 <oklopol> for instance, many times you can leave the explicit type of X out, because the fact X.name is used makes it possible to optimize X to a human variable
10:53:34 <oklopol> this is because fields are not first class, and it can easily be deduced the global object will never set its name field to anything
10:53:37 <tusho> (that was intentional)
10:54:15 <oklopol> tusho: read my rant about ob if you have the... err.. guts?
10:54:21 <tusho> oklopol: link to logs?
10:54:33 <tusho> you should totally make fields first class.
10:54:46 <oklopol> http://bespin.org/~nef/logs/esoteric/
10:55:02 <tusho> 'cause nobody's done it before oklopol
10:55:09 <AnMaster> oklopol, you know of applescript?
10:55:13 <oklopol> you can do that in oklotalk...
10:55:26 <tusho> oklopol: just field nams
10:55:28 <AnMaster> oklopol, your language looks too much like English :(
10:55:36 <tusho> AnMaster: ob does not look lik eenglish dude
10:55:45 <oklopol> AnMaster: they're comments
10:55:59 <oklopol> you can remove all the english, it's no
10:56:05 <AnMaster> oklopol, so what string marks it as a comment?
10:56:19 <tusho> AnMaster: invalidness is ignored I imagine
10:56:28 <tusho> it's certainly esoteric
10:56:41 <tusho> also, I like how you say it's too close to english
10:56:43 <tusho> " Implicit always condition for toplevel definitions. SeeFood is not a lambda, but basically a
10:56:43 <tusho> string substitution, which by default uses X for what's bound. A slight difference is seen when
10:56:43 <tusho> a condition variable like seeFood is negated, where an implicit "forall X" is added."
10:56:45 <tusho> that's not "close" :)
10:57:13 <oklopol> => is for an event, : in the end is for a phase, := or = is for setting a variable
10:57:15 -!- timotiis has joined.
10:57:59 <oklopol> perhaps a language should be made where programs are sentences explaining the language in english :P
10:58:33 <oklopol> the implicit forall is actually quite impure when explained like that
10:59:15 <oklopol> actually, even as a concept it's kinda impure
11:00:01 <oklopol> if we forget all practicality for a moment
11:00:37 <oklopol> means that we try to find an X such that for that value of X condition is true
11:00:56 <oklopol> usually this is trivial, but condition here can be any expression, so it can be impossible just as well
11:01:34 <oklopol> !(condition X), we should actually choose an X such that this is not true
11:01:42 <oklopol> and clearly this is what is often wanted
11:02:03 <oklopol> like, condition X && !(X\human)
11:06:37 -!- GreaseMonkey has quit ("Remote closed the previous member app").
11:06:50 <oklopol> if the implicit forall was used here
11:07:36 <oklopol> then this would be always false, if there were any humans, because for some X's, the latter thingie, !(X\human), would be true
11:07:51 <oklopol> so clearly we usually want an implicit existential quantification
11:07:58 <oklopol> like in functional programming
11:08:17 <oklopol> well in functional programming the existential quantification is just pattern matching, prolog is a better example
11:09:27 <oklopol> but, anyway, i'm going for intuitive in these kind of cases
11:09:42 <oklopol> for most situations, it should do what a stupid programmer might think it does
11:10:12 <oklopol> well, not because i want idiots to be able to use it, it's actually because i like compactness
11:11:39 <oklopol> anyway, the "/X: X\human => print X + " is in state " + X.state" line is not right
11:11:48 <oklopol> i'm going for "do this to all humans"
11:12:01 <oklopol> but the scope of /X would be the condition
11:12:29 <oklopol> in which case you could not actually use X on the right side, as you usually can't @ universal quantification
11:16:42 <oklopol> i'll prolly do like "/X: condition X => result" == "if for all X condition X, then result", and "/X: (condition X => result)" = "for all X for which condition X is true, evaluate result"
11:17:20 <oklopol> basically i could just say \X: has only condition scope by default, and you could prolly guess how to extend it like that, and what it would mean
11:18:11 <oklopol> this only applies when you're using events as expressions in a result thingie
11:18:18 <tusho> oklopol: i am reading
11:18:33 <oklopol> like, when @ condition => result, result contains a (condition => result)
11:20:00 <oklopol> anyway it only applies there, because otherwise it's not actually defined what order shit happens in, although i'm going to add specific rules where there's an obvious order to do thing in
11:20:21 <oklopol> like, in case there are two conditions on field x, one of which changes x
11:20:36 <oklopol> i guess you'd go with appearance order in that case.
11:21:07 <oklopol> i could perhaps make the evaluation order fully explicit. with the exception you could change it in cases where the result is the same
11:21:45 <oklopol> which is not all that rare, and which is quite a stupid thing to explicitly allow :P
11:22:06 <oklopol> "you can do this differently, if the result is the same" in a spec would be kinda retarded
11:22:32 <oklopol> i think i'm done, need to do some shopping
11:22:55 <oklopol> tusho: if you wanna know more about the actual language, i'd of course love to explain :P
11:23:41 <oklopol> now what if you want to call a state
11:23:55 <oklopol> perhaps every variable should implicitly be a stack :)))
11:24:33 <oklopol> condition => push state; state 3
11:24:49 <oklopol> although as always, i don't do keywords
11:25:23 <tusho> oklopol: maybe you should do a lang with some keywords
11:25:31 <tusho> maybe it's awesome
11:25:42 <oklopol> although you can't see that from the example
11:26:21 <oklopol> but in this language, i don't want any keywords, as the user should be able to assume everything that's ascii is either their own, or defined fully outside the language
11:26:38 <oklopol> because otherwise there's three separate things a lowercase string can represent
11:27:39 <oklopol> anyway, in oklotalk, doing A!Field yields a reference, so you *can* pass fields around
11:28:07 <oklopol> you can't pass !FieldName around :P
11:29:54 <AnMaster> pixles or pixels? what is the correct spelling
11:30:31 <oklopol> although i use the alternative form pixulos
11:33:27 <AnMaster> Deewiant, in TOYS, should L wrap?
11:37:18 <oklopol> Variables can be used as stacks. This is done as Var<<Value, which evaluates to Value, and pushes Value to be Var's new value.
11:37:22 <oklopol> <<Var pops Var, evaluates to Var's current value, but any further references to Var will use whatever was Var's value before last push.
11:37:25 <oklopol> In a statement with multiple pops, or pops and normal value retrievals, all <<Var's will refer to Var's top value, and all Var's will
11:37:27 <oklopol> refer to the value under that, Var's value after the statement. Var can thus only be popped once in a statement.
11:37:59 <oklopol> yeah anyone can read, i just assume tusho has the most energy to care :P
11:38:36 <tusho> i have 0 energy oklopol
11:38:37 <oklopol> i don't want many such side-effects in expressions that would require an explicit evaluation order
11:38:42 <tusho> your stuff is interesting enough, though
11:38:53 <AnMaster> L ('corner') works like ' except it picks up the cell to the "left" of the IP's line and does not skip over anything. (Historians may note that this works like "Get Left Hand" did in Befunge-97.) The cell to the "left" of the IP is the IP's position, plus its delta rotated -90 degrees about the Z axis (a la [)
11:39:23 <AnMaster> Deewiant, for that matter, should ' wrap?
11:39:28 <Deewiant> depends on your view of Funge-Space I guess
11:39:50 <oklopol> actually i think it's fully side-effect free, unless you consider the cases where you call a function outside the Ob environment, and that one has side-effects
11:39:53 <Deewiant> I think the principle is that the program is in a void surrounded by spaces
11:40:05 <Deewiant> and thus if you grab something off the edge it's a space
11:40:15 <oklopol> because you can't really make any functions... although perhaps you should... not sure
11:40:26 <Deewiant> and only if you actually move in the direction of an edge would you wrap
11:40:42 <Deewiant> it's somewhat debatable since the spec isn't clear about it, but I think that's the intent
11:40:42 <AnMaster> hrrm I think ccbi may wrap on TOYS L
11:40:46 <Deewiant> and I'm not sure what CCBI does
11:40:59 <oklopol> at least i'm not going to add anything like that, or methods, before they're needed
11:41:08 <Deewiant> since the spec isn't unambiguous about it I don't really care
11:41:52 <Deewiant> it'd be too much work to rethink a way in which everything works properly
11:44:01 <AnMaster> Deewiant, btw how would you do bitwise operations in Funge without using any fingerprints?
11:44:14 <AnMaster> say, bitwise xor or bitwise and
11:45:11 <AnMaster> yes true but what about other masks than that?
11:45:57 <Deewiant> so if you want x & 1101 do x % 2, then x / 4, x & 2, x / 2, x % 2
11:57:46 <oklopol> you can easily do addition recursively by toying with carries, given binary and & xor & bitshift
11:57:52 <oklopol> can you do it the other way around
11:58:16 <oklopol> A + B = (A ^ B) + (A & B) * 2
11:58:41 <oklopol> so we get (A ^ B) = A + B - (A & B) * 2, now can you do & with ^ and * or something?
12:15:19 <oklopol> it's trivial if you first cut into a list of bits
12:16:50 <AnMaster> Deewiant, I think a C function ffi in cfunge would be quite doable
12:17:03 <AnMaster> I have read docs on libffi and it doesn't see too hard
12:17:11 <AnMaster> just need to figure out how to interface it with befunge
12:18:30 <oklopol> you befunge people are mad :P
12:18:48 <AnMaster> oklopol, well intercal already got something even worse
12:19:08 <AnMaster> while mine would be quite sane in fact
12:20:45 <AnMaster> blergh, libffi can't currently call variable argument functions
12:25:10 <oklopol> i don't mean the C extension, just the fact your constantly talking about it :P
12:27:08 <AnMaster> I'm writing some specs for said fingerprint now
12:32:27 <AnMaster> marshaling structs will be hard
12:53:28 -!- Slereah2 has joined.
13:02:17 -!- Corun has joined.
13:08:55 <AnMaster> does anyone want to read my draft at specs? It is likely to contain contradictions, so please point them out!
13:09:12 <AnMaster> http://rafb.net/p/u5HsHE34.html
13:09:35 <tusho> AnMaster: not a perfect time, sorry.
13:09:39 -!- timotiis has quit (Read error: 110 (Connection timed out)).
13:11:25 <AnMaster> I think I managed what is needed to handle about everthing, and if not it could call malloc amd memcpy from inside befunge to construct more advanced structures and pointers
13:15:01 -!- RedDak has joined.
13:15:08 <oklopol> int ID of function (from F).
13:16:20 <AnMaster> oklopol, issue fixed in http://rafb.net/p/sCTJCz33.html
13:17:04 <oklopol> thought so, as the inconsistence was present in the latter part too
13:18:20 <AnMaster> oklopol, what do you mean with that "oooooooooo"?
13:18:58 -!- olsner has joined.
13:19:45 <AnMaster> now I just want Deewiant, maybe ais if he gets here, and tusho to look at it
13:19:53 <AnMaster> Deewiant, tusho: http://rafb.net/p/sCTJCz33.html
13:19:56 <oklopol> although befunge isn't exactly that great with, err, id's
13:20:12 <AnMaster> oklopol, oh? REFC already does that
13:20:19 <oklopol> is there like a variable fingerprint? i mean, so that you'd have a unary space for storing shit
13:20:24 <AnMaster> it's just a handle that is stored somewhere
13:20:54 <tusho> ais will get here, AnMaster
13:21:03 <tusho> you're being mislead by the fact i was here at 11am
13:21:04 <oklopol> what's refcount have to do with anything?
13:21:05 <AnMaster> tusho, oklopol : http://catseye.tc/projects/funge98/library/REFC.html
13:21:28 <AnMaster> oklopol, the id list will work the same here
13:22:27 <oklopol> i mean, if you load a library, and load a function out of it, you have to pass around that function id in order to call it, right?
13:23:39 <AnMaster> you could store it in some cell
13:24:03 <oklopol> well yeah, but those are a bit bothersome in more than 2-ary funges
13:24:31 <AnMaster> maybe, but FILE fingerprint does the same
13:24:32 <AnMaster> http://web.archive.org/web/20020816190021/http://homer.span.ch/~spaw1088/funge.html#file
13:24:36 <oklopol> i want a n-ary funge where codespace is defined with graphica
13:24:52 <oklopol> btw. solved the problem of infinite structures i had with graphica
13:24:57 <oklopol> AnMaster: do you know graphica?
13:25:08 <tusho> GRAPHICA PSOX ESCO TRDS
13:25:15 <tusho> the best #esoteric memes, and one non-meme
13:25:19 <tusho> spot the non-meme!
13:25:19 <AnMaster> oklopol, I think I heard the name before
13:25:26 <oklopol> well it's my graph definition language
13:25:36 <tusho> Correct! The non-meme is "TRDS"!
13:25:48 <oklopol> tusho: do i win if i knew that?
13:26:15 <oklopol> does anyone know the problem with infinite structures in graphica?
13:26:24 <AnMaster> oklopol, anyway there is no sane way to do this except IDs
13:27:04 <oklopol> basically, graphica is about creating nodes, and giving them unique id's withing the namespace given to the construction, and connecting nodes to each other by either recursion, or predefined id
13:27:30 <oklopol> "is there like a variable fingerprint? i mean, so that you'd have a unary space for storing shit"
13:27:46 <oklopol> so, the problem with infinite structures is as follows
13:27:52 <oklopol> let's say you have an infinite grid
13:28:42 <AnMaster> no I don't think a variable fingerprint exists
13:28:55 <oklopol> it's trivial to define, just Grid = Node 0 0; Node X Y :: [] <-> Node X+1 Y <-> Node X-1 Y <-> Node X Y+1 <-> Node X Y-1
13:29:14 <oklopol> so, basically, just saying create all nodes to this one, and connect to them
13:29:24 <oklopol> *Grid = Node 0 0; Node X Y :: [X Y] <-> Node X+1 Y <-> Node X-1 Y <-> Node X Y+1 <-> Node X Y-1
13:29:59 <oklopol> so when you get to [1 1] twice, you don't actually make it twice
13:30:25 <oklopol> a way to know whether something will later on make a connection between, say, [0 0] and itself
13:30:43 <AnMaster> if you mean how to represent arbitrary vectors for n-funge where n may change at runtime you would need <size><x,y.z...>
13:31:01 <AnMaster> currently a *funge program using vectors at all can only be written for a specific funge
13:31:02 <oklopol> you'd have to generate all the infinite cells before you could enter [0 0]
13:31:05 <oklopol> so you'd know what it links to
13:31:11 <tusho> http://forums.xkcd.com/download/file.php?id=5799
13:31:43 <oklopol> now, the obvious solution is to detect when n-ary lists are being used as id's, as in this case, and just check what directions recursive calls can move
13:31:58 <oklopol> in this case, the moves are [[1 0] [-1 0] [0 1] [0 -1]]
13:32:11 <oklopol> these calls, that is: Node X+1 Y <-> Node X-1 Y <-> Node X Y+1 <-> Node X Y-1
13:32:29 <oklopol> it's trivial to see there are no jumps, although this can't be done in general
13:32:30 <AnMaster> tusho, that looks like a variant of a "main page" strip
13:32:52 <tusho> AnMaster: yes, it's from the 'make xkcd slightly worse' thread
13:32:57 <tusho> the original has a flash of perl and no crash.
13:33:03 <tusho> (<PERL> instead of <CRASH>)
13:33:03 <oklopol> if there's only connections of the form ->, after some point in the recursion, you can always stop evaluation of the graph there
13:33:09 <tusho> (And he doesn't hit the monitor.)
13:33:11 <AnMaster> tusho, yes indeed, link to that thread?
13:33:19 <tusho> http://forums.xkcd.com/viewtopic.php?f=2&t=22741&st=0&sk=t&sd=a
13:33:30 <oklopol> because in that case, you know something may later on link to [0 0], but you know [0 0] can never be added an away-from link
13:33:32 <AnMaster> oklopol, sorry but you totally lost me quite early on and I couldn't catch up
13:34:06 <oklopol> "AnMaster: if you mean how to represent arbitrary vectors for n-funge where n may change at runtime you would need <size><x,y.z...>" <<< i'd prolly go for a larger change in semantics
13:34:28 <oklopol> so smart, so smart, nah, i'm just bad at explaining.
13:34:41 <AnMaster> it would just be the number of elements followed by the values in each dimension
13:34:42 <oklopol> where did you drop? i can try to rephrase, this is simple stuff
13:35:00 <AnMaster> like: null terminated string vs. a string prefixed by a length value
13:35:06 <oklopol> AnMaster: i get it, it's just i'd most likely have lists.
13:35:09 <AnMaster> <oklopol> *Grid = Node 0 0; Node X Y :: [X Y] <-> Node X+1 Y <-> Node X-1 Y <-> Node X Y+1 <-> Node X Y-1
13:35:25 <oklopol> well there i assumed you know graphica syntax.
13:35:40 <oklopol> i'll explain, should be simple to grasp
13:35:50 <oklopol> that line was just the correction of the earlier one
13:36:19 <oklopol> "when you create a grid, actually create the Node 0 0, and return a reference to it"
13:36:28 <oklopol> this is a graph definition
13:37:26 <oklopol> "Node X Y :: [X Y] <-> Node X+1 Y <-> Node X-1 Y <-> Node X Y+1 <-> Node X Y-1" == "to create a node @ X, Y, create an id entry to the global node id table for it as [X Y], then create all nodes next to it, and interconnect this with all of them"
13:37:49 <oklopol> a bit more complex, ":: tag" just globally names the cell
13:38:12 <oklopol> "<-> smth" creates the node smth, and connects this to it, with a two-way connection
13:38:17 <oklopol> you do know what a graph is?
13:38:38 <AnMaster> however that doesn't mean i understand it always
13:38:58 <AnMaster> oklopol, are you not defining a quadtree it seems?
13:39:19 <AnMaster> http://en.wikipedia.org/wiki/Quadtree
13:39:42 <AnMaster> you are defining something like each cell is connected to each other
13:39:59 <oklopol> the thing about graphica is, the seemingly treeform structure actually becomes an arbitrary graph, because you can name cells.
13:41:14 <AnMaster> oklopol, all of it have to be allocated right now?
13:41:32 <AnMaster> (remember I'm a C programmer, I think low level)
13:41:38 <oklopol> that's exactly the infinite structure problem
13:41:43 <oklopol> as you can clearly see there
13:41:52 <AnMaster> oklopol, I would store it in some sort of hash map
13:42:02 <oklopol> currently, my implementation does not allow infinite structures
13:42:14 <oklopol> and evaluates it all right away
13:42:39 <oklopol> btw for an n-ary hypercube http://www.vjn.fi/oklopol/graphica.txt
13:42:59 <AnMaster> because you seem to define this:
13:43:26 <AnMaster> oklopol, way easier to read than "Node X Y :: [X Y] <-> Node X+1 Y <-> Node X-1 Y <-> Node X Y+1 <-> Node X Y-1"
13:43:39 <oklopol> not really, if you format it correctly
13:43:47 <AnMaster> oklopol, well for a C programmer ;P
13:43:49 <oklopol> but now i'm getting a deja vu we already had this discussion :P
13:44:00 <oklopol> well anyway, that C definition isn't exactly the same
13:44:09 <oklopol> if you write that, the actual graph is not generated
13:44:15 <AnMaster> oh wait you can access by index
13:44:30 <oklopol> well yes, [X Y] will contain that object
13:44:32 <AnMaster> so you need a lookup table to find the node in fact
13:44:36 <oklopol> there is a global id table as i said
13:44:44 <AnMaster> or you need to go from 0,0 downwards then sideways
13:45:05 <oklopol> well, in this case all id's a lists of length 2, so it will make a 2d array.
13:45:08 <AnMaster> oklopol, anyway this is far from an optimal data structure to store funge code in
13:45:23 <AnMaster> that allows negative indexes too
13:45:34 <AnMaster> because -1,-1 is valid in Befunge98
13:45:51 <oklopol> [-1 -1] would also be generated by that
13:45:56 <oklopol> well duh, why wouldn't it be
13:46:24 <oklopol> anyway, you can store into a 2d grid even with negatives
13:47:15 <oklopol> either by reallocating, or having multiple grids all extending to different directions
13:47:30 <oklopol> but this is not the programmer's problem
13:47:45 <oklopol> anyway, that structure of yours
13:47:58 <oklopol> is nothing but a thingie, that takes 4 id's and connects to them
13:48:07 <oklopol> you can do that with graphica too
13:48:17 <oklopol> Node A B C D <-> A <-> B <-> C <-> D
13:48:28 <oklopol> that's not the actual form of course
13:48:41 <AnMaster> however no way I would use that type of data structure for befunge, I would use a hashmap of some sort
13:49:14 <oklopol> http://www.vjn.fi/pb/p446352642.txt
13:49:22 <oklopol> a node is something that connects to four given things
13:49:33 <oklopol> i'd say that's quite a lot prettier than the C thingie
13:49:43 <oklopol> err, that type of data structure?
13:49:52 <oklopol> graphica has nothing to do with computers, man.
13:49:58 <oklopol> it's a language for defining graphs.
13:50:23 <oklopol> so you can't exactly talk about structures, if you're referring to physical representation
13:50:35 <oklopol> graphica does not define what structure should be used
13:51:32 <oklopol> just like Ob is just a way to add declarative, intelligent events to some preset external functionality, graphica is just a way to define arbitrary graphs for use in some other lower level program.
13:52:36 <oklopol> well preset for the current use of the language, but just confusing there
13:53:02 -!- atsampso1 has quit (Read error: 54 (Connection reset by peer)).
13:54:00 <oklopol> currently, you can't have values for the nodes, partly because haven't decided on the operator for adding them :P
13:54:17 <oklopol> = is redirection, :: is tagging, <-, <-> and -> are connections
13:54:28 <oklopol> what should be "setting the value of"
13:54:59 <oklopol> perhaps >> could be redirection and = could set the value
13:55:07 <oklopol> although i'd have to change the cube
13:56:48 -!- atsampson has joined.
13:57:36 <oklopol> AnMaster: anyway, this is what it looks like with newlines and tabbing: http://www.vjn.fi/pb/p466261364.txt
13:57:48 <oklopol> i'd say that's pretty darn pretty
13:57:52 <oklopol> don't you think so, atsampson?
13:58:32 <atsampson> oklopol: in a purely aesthetic sense, certainly
13:58:43 <oklopol> atsampson: see a problem with the semantics?
13:58:55 <oklopol> this should define a 2d grid infinite in all directions
13:59:21 <oklopol> it's mine, and the infinity part is not yet implemented
13:59:40 <oklopol> just realized today how it can be done easily, made the language ages ago
14:00:45 <atsampson> oklopol: do you have a description of it somewhere?
14:01:18 <AnMaster> oklopol, yes where are the specs
14:01:24 <oklopol> i have one that's slightly outdated somewhere
14:01:45 <oklopol> just lacks the infinite structures really, and that's basically an implementation detail as it doesn't change the language
14:02:02 <oklopol> hmmhmm, just wonder *where* i have it
14:03:49 <oklopol> http://www.vjn.fi/pb/p123363511.txt
14:04:08 <oklopol> i was too lazy to write a declarative explanation of the semantics :P
14:05:58 <oklopol> the two-dimensional grid in those examples is much less pretty, but should be grokkable
14:07:04 <atsampson> do you need the [] in the tag in your short example?
14:07:26 <oklopol> in the node example, no i actually wouldn't
14:07:35 <oklopol> it should be semantically equivalent either way
14:07:54 <oklopol> there were no lists actually when that spec was written
14:08:30 <oklopol> i have them now, although functional programming without first-class functions sucks ass :P
14:09:11 <oklopol> http://www.vjn.fi/oklopol/graphica.txt
14:09:36 <oklopol> not that it's that complicated, it's just very hard to read
14:09:48 <oklopol> and there isn't really a way to abstract it further
14:10:18 <oklopol> basically the point is, err
14:10:37 <oklopol> you create the node [0 0 0... 0]
14:10:57 <oklopol> where 0 exists n times for the number of dimensions n given
14:11:36 <oklopol> you then do some weird redirection shit to get each node where one zero has been changed []
14:11:51 <oklopol> and repeat, until all elements in the list are ones
14:12:18 <oklopol> should extend that to an arbitrary-size arbitrary-dimentional one, shouldn't be hard raelly
14:13:20 -!- olsner has quit (Read error: 110 (Connection timed out)).
14:14:00 <oklopol> actually i'm not sure it's that obvious :P
14:14:27 <oklopol> if anyone wants to give it an attempt, go for it
14:14:48 <oklopol> although i doubt anyone even gets the hypercube :) i wouldn't
14:16:20 -!- ais523 has joined.
14:16:50 <ais523> I'm pretty sure I won that time
14:16:57 <tusho> ais523: well, I've been here since 11am
14:17:00 <tusho> so I wasn't paying attention
14:17:04 <tusho> I did plan to get you, though
14:17:07 <ais523> tusho: that's early for you
14:17:15 <tusho> i normally get on ~4pm
14:17:20 <tusho> i decided not to. :)
14:17:21 <AnMaster> ais523, tusho, Deewiant: http://rafb.net/p/sCTJCz33.html
14:17:26 <AnMaster> ais523, please check if it makes sense
14:18:56 <ais523> AnMaster: I would have expected P and R to be combined
14:19:04 <ais523> and no need to poke me, I'm trying to read it...
14:19:15 <oklopol> ais523: did i mention the infinite graph problem with graphica to *you*, ever? :P
14:19:32 <AnMaster> ais523, could be a good idea, however I'm not sure
14:19:39 <ais523> oklopol: I don't think so
14:20:06 <oklopol> well i'll be non-graphica when explaining, you might enjoy the concept anyway
14:20:26 <ais523> AnMaster: "doesn't must end with a \0 byte."?
14:20:50 <ais523> apart from that, seems reasonable
14:20:57 <AnMaster> "This one must end with a \0 byte."
14:21:37 <AnMaster> ais523, as I can't think of a sane way to say that some other parameter or return value contains the size of that one
14:22:07 <ais523> AnMaster: why not use 0gnirts like everything else in Befunge?
14:22:11 <ais523> or are you moving away from that?
14:22:28 <ais523> length-prefix seems like it could be hard to maintain, especially on a stack which can only be edited from the top
14:22:30 <AnMaster> ais523, yes I am in the funge108 standard too
14:22:43 <AnMaster> ais523, the length is stored on top after all
14:22:47 <oklopol> ais523: the graphica way to create a graph is to create kind of a tree, so that when you call a function F, that function chooses an id to itself, then calls some set of functions that themselves make nodes, and return their id's, then F takes these id's, and connects with them
14:22:59 <oklopol> so you get a graph from the recursion
14:23:04 <AnMaster> ais523, and for here, well, char* types can be used to pass other stuff than strings, like say structs
14:23:11 <ais523> oklopol: I'm not quite sure I understand
14:23:14 <AnMaster> that you can later marshall yourself
14:23:17 <AnMaster> ais523, if you see what I mean
14:23:21 <oklopol> darn, i'll show you the simplest example
14:23:40 <ais523> AnMaster: sort of, couldn't you have a separate string and char* though? Then you could do C++ as well
14:24:13 <ais523> AnMaster: C++ has a separate string type in the standard libraries
14:24:17 <AnMaster> ais523, how the heck would I marshall to std:string from inside C code?
14:24:25 <AnMaster> there is no way I'm adding C++ code to cfunge
14:24:33 <ais523> AnMaster: by using C++ code to link them, not in cfunge itself just in a linking module
14:24:46 <ais523> just like there's INTERCALness in ecto_b98.c in IFFI
14:24:50 <ais523> but not part of cfunge
14:25:13 <tusho> you construct a std::string
14:25:22 <ais523> tusho: yes, you can, and vice versa
14:25:22 <AnMaster> ais523, I plan this fingerprint to be part of the official cfunge distribution, but optional at compile time (as libffi can be hard to install on some distros)
14:25:23 <tusho> so he's pretty much right
14:25:40 <AnMaster> basically libffi is both a part of gcc installed when gcj is, and a separate library, both can
14:25:59 <AnMaster> on distros like gentoo this cause a slight issue as you may see
14:26:47 <ais523> I'm not sure I understand libffi at all, IFFI uses compile-time linking like everything else has done for years
14:26:51 <AnMaster> so optional at compile time, I'll use it if it exists (with an option to disable it anyway)
14:27:00 <AnMaster> ais523, libffi resolves at runtime
14:27:17 <ais523> AnMaster: does that require both programs to be running beforehand?
14:27:24 <AnMaster> ais523, the L and R would basically call dlopen() and dlsym()
14:27:49 <oklopol> ais523: http://www.vjn.fi/pb/p213633331.txt makes a graph representing a ring
14:27:51 <tusho> ais523: libffi just lets you do things like
14:27:53 <AnMaster> first you dlopen(), then dlsym(), then use libffi to marshal the data to the ABI
14:28:01 <tusho> foo = mylib("abc.so"); callfunc(foo, "hello_world", 2)
14:28:04 <AnMaster> ais523, like "what thing goes in what register"
14:28:11 <tusho> it's basically just dlopen/dlsym
14:28:18 <AnMaster> tusho, yes + stuff to handle the ABI
14:28:25 <oklopol> so #node 0 connects to #node 1 connects to ... #node n, which is tagged as #node 0, so it becomes a ring
14:28:51 <oklopol> asdasdasdadsd, i want someone to understand the way to resolve infinite structures :D
14:29:41 <oklopol> first line has a typo s/the graph a node/a node/
14:29:57 <AnMaster> ais523, but yes I guess making R and P one function could make sense
14:30:11 <ais523> oklopol: what there is causing edges to be made between nodes?
14:30:13 <AnMaster> except that there would be a lot of arguments in one go to keep track of
14:30:34 <AnMaster> ais523, rather 2 functions with 5 arguments each than 1 with 10 ;)
14:30:40 <oklopol> "-> A" connect this cell to the cell A
14:31:11 <AnMaster> oklopol, would <-> be a double linked list then?
14:31:21 <AnMaster> well not list, could be anything of course
14:31:38 <oklopol> yeah, in this case it would be a double linked list
14:32:06 <AnMaster> so you can't have one called up and another down?
14:32:18 <ais523> /*@maynotreturn@*/ uint32_t ick_dounop(char*, uint32_t, uint32_t, int, unsigned long, unsigned long, unsigned long, ick_type32(*)(ick_type32), ick_type32(*)(ick_type32), ick_type32(*)(ick_type32), void(*)(ick_type32, void(*)()), void(*)(ick_type32, void(*)()), void(*)(ick_type32, void(*)()), char*);
14:32:19 <AnMaster> or one called previous and another next, and a third down
14:32:26 -!- olsner has joined.
14:32:30 <AnMaster> because that is one useful one
14:32:37 <ais523> that's a real function prototype from C-INTERCAL; as you see, I don't care how many arguments a function has if it needs them all
14:32:38 <AnMaster> could be used to represent brainfuck
14:32:48 <oklopol> and especially if i add traversing, it would be useful
14:32:48 <AnMaster> pointing to the code of the loop
14:33:13 <oklopol> let's try parsing brainfuck :-)
14:33:20 <AnMaster> ais523, typedef each type of function pointer before
14:33:25 <AnMaster> that makes it a bit simpler to read
14:33:50 <AnMaster> oklopol, for speed you'd want to collapse a [-] into a "set cell to zero"
14:33:59 <tusho> AnMaster: You are talking about a compiler that has a part made of idiomatic perl written in c
14:34:03 <tusho> why would he make it easier to read? Honestly.
14:34:07 <ais523> AnMaster: it was worse before, comp.lang.c suggested removing the params from void(*)() to get rid of some cells
14:34:46 <AnMaster> tusho, well making it easier to read would really be a strange action right?
14:34:58 <AnMaster> tusho, so in a round-about way it could be esoteric ;P
14:35:41 <AnMaster> tusho, I believe it is justify almost any action as esoteric in a way similar to this
14:35:58 -!- ais523 has quit (Remote closed the connection).
14:36:14 -!- ais523 has joined.
14:36:31 <AnMaster> ais523, what was the last you saw?
14:36:44 <ais523> <AnMaster> tusho, well making it easier to read would really be a strange action right?
14:36:55 <AnMaster> <AnMaster> tusho, so in a round-about way it could be esoteric ;P
14:36:55 <AnMaster> <AnMaster> tusho, I believe it is justify almost any action as esoteric in a way similar to this
14:39:54 -!- Corun has quit ("This computer has gone to sleep").
14:40:10 -!- Slereah__ has joined.
14:43:25 <AnMaster> ais523, actually I can see reasons to not combine R and P
14:43:34 <oklopol> http://www.vjn.fi/pb/p532125636.txt <<< okay, i added named returns, as graphica doesn't have anything for that
14:43:44 <AnMaster> 1) not combining makes error handling easier, you know a bit more why it reversed
14:43:53 <AnMaster> 2) tracking all parameters as I said above
14:44:17 -!- pikhq has joined.
14:44:29 <oklopol> Nodefunctioncall Arg1 Arg2.. Argn ?? Ret1 Ret2 Ret3, although ? in the file
14:44:50 <AnMaster> oh btw fingerprint will be CFFI
14:44:59 <oklopol> Ret1.. Retn now become free variables that the function call should set using !!
14:45:11 <oklopol> thus getting a prolog-like named return
14:45:11 <ais523> AnMaster: so your fingerprint equals my handprint, but I don't think that will cause problems
14:45:47 <AnMaster> and with funge108 it will get an url
14:46:00 <AnMaster> but cfunge doesn't fully support loading by URI yet
14:46:17 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
14:46:20 <AnMaster> ais523, oh btw you will need to add a library when you build the last cfunge for the ffungi
14:46:45 <tusho> ais523: wait, what fingerprint
14:46:58 <tusho> why is AnMaster calling it IFFI
14:47:05 <ais523> but the clash is on CFFI
14:47:11 <AnMaster> <AnMaster> oh btw fingerprint will be CFFI
14:47:14 <tusho> ais523: but yours is IFFI
14:47:15 <ais523> my fingerprint's IFFI, AnMaster's is CFFI, my handprint is CFFI
14:47:20 <tusho> why is your handprint CFFI
14:47:22 <tusho> that makes no sense
14:47:28 <ais523> tusho: cfunge for intercal
14:47:34 <tusho> it should still be IFFI, ais523
14:47:34 <ais523> if it was IFFI it would have nothing to do with cfunge
14:47:51 <tusho> uh IFFI is to do with cfunge.
14:47:52 <ais523> which I think is wrong, it should at least share some of the letters as it's effectively the same program
14:47:54 * AnMaster gets some popcorn and watches the fight
14:48:05 <ais523> tusho: no, IFFI's for Intercal-like Foreign Function Interface
14:48:11 <ais523> which has nothing intrinsically to do with cfunge
14:48:12 <tusho> ais523: i thought it was just for cfunge
14:48:20 <ais523> that's as it should be, handprint = interp, fingerprint = semantic
14:48:27 <AnMaster> tusho, btw I got an idea, if you want TRDS in cfunge, make a patch
14:48:39 <tusho> AnMaster: like I want to hack your crazy code
14:48:42 <AnMaster> and if not, just shut up about it
14:48:43 <ais523> AnMaster: but it would change every single line of your program, probably
14:48:47 <tusho> nobody would want to touch that with a 10 foot pole
14:48:52 <tusho> p.s. TRDS TRDS TRDS TRDS TRDS TRDS TRDS
14:48:54 <AnMaster> ais523, yeah not saying I would accept it
14:50:18 <oklopol> okay i fixed quite a lot, the first one was total crap
14:50:19 <oklopol> http://www.vjn.fi/pb/p251463225.txt
14:50:27 <oklopol> anyway, that's a brainfuck parser
14:50:34 -!- Slereah2 has joined.
14:50:39 <oklopol> should work now, gave it a but more thought
14:50:49 <oklopol> (::) is the current node id
14:50:51 <AnMaster> oklopol, where is an implementation so I can test it?
14:50:53 <oklopol> because i'm not naming these
14:50:56 <ais523> oklopol: so it's basically recursion, but making a graph as you go along
14:51:04 <oklopol> ais523: yes, except there's a but
14:51:06 <ais523> hmm... that looks like it might compile into Prolog nicely
14:51:14 <oklopol> you can give id's to things
14:51:23 <oklopol> and connect to id's instead of calling a function
14:51:28 <oklopol> so you can do stuff like my ring there
14:51:44 <oklopol> AnMaster: there is one, but i've added a few constructs to make this work
14:52:01 <oklopol> (::) doesn't exist in it, ?? doesn't exist in it, and !! doesn't exist in it
14:52:14 <AnMaster> ...and at the end of the day this may win in beauty, but C based implementation will win in speed...
14:52:43 <oklopol> well i don't really see your point, but yeah, that is prolly the case
14:52:56 <oklopol> except in C, you'd prolly not parse at all, as it's just so fucking complicated :P
14:53:16 <AnMaster> oklopol, brainfuck is not very complex to parse
14:53:43 <AnMaster> you just load it into a tree, doing some on the fly optimizing (combining ++-- and such, >>>>, [-] and some more)
14:54:01 <tusho> AnMaster: Interesting esolang! By the way, I wouldn't write any serious programs in it, because it's slower than C. Wow.
14:54:23 <AnMaster> tusho, erlang is slower than C, yet erlang got other strengths
14:54:42 <AnMaster> same for a lot of other non-esoteric languages
14:54:46 <AnMaster> it is all about what you want to do
14:54:48 <oklopol> well i would say graphica is by far the easiest way to make a graph.
14:55:05 <oklopol> i simply don't know any notation nearly as nice for it
14:55:17 <AnMaster> well that is it's strength then
14:55:22 <ais523> oklopol: I must spec up eodermdrome some time, it has an even nicer (or at least more eso) notation
14:55:45 <ais523> although you can't specify graphs with more than 26 nodes at a time, that should be a clue, but you can combine them to make larger graphs
14:55:54 <AnMaster> however I'm just saying, you can't get much more faster than a good C compiler, asm if you are *really good* at it, but I couldn't write faster asm than C
14:56:10 <AnMaster> simply because most of the time the C compiler generates quite good code
14:56:14 <ais523> oklopol: just a string of letters, each letter represents a node, adjacent letters represent arcs between nodes
14:56:18 <ais523> thus eodermdrome = K_5
14:57:07 <AnMaster> ais523, wait, you mean it is like ascii art?
14:58:27 <AnMaster> not sure how to handle crossing lines
14:58:56 <AnMaster> also you couldn't have more than 4 connections I guess
14:59:28 <tusho> ais523: can't use non-alphabetical?
14:59:29 <ais523> (incidentally, that word was invented for that purpose, and not by me)
14:59:29 <oklopol> ais523: that doesn't sound very extendable
14:59:30 <ais523> oklopol: well you use it to specify bits of graphs, and build them out of that
14:59:30 <oklopol> can you show me a parametrizable
14:59:31 <ais523> oklopol: you'd have to get input somehow, eodermdrome's a bit of a tarpit
14:59:31 <ais523> and you'd build it from a small ring by making it bigger
14:59:32 <ais523> for instance you could start with abcdec
14:59:32 <oklopol> anyway that's the basic idea of graphica too, i will have ways to do that exact thing, except i might not have that nice a notation
14:59:32 -!- Slereah__ has quit (Read error: 60 (Operation timed out)).
14:59:33 <ais523> and have a rule edcbca edcbcfa
14:59:33 <oklopol> perhaps i could let you use eodermdrome as a kinda syntactical extension for shorthands, you'd get your name on the credits :P
14:59:33 <ais523> which adds an extra element to the ring, at the 'tail' I put there to give a starting point
14:59:33 <ais523> rings of various sizes are one way to store data
14:59:33 <ais523> also, it's a rewriting lang
14:59:34 <ais523> and ideally you use it to write poetry, like in Haify
14:59:34 <ais523> also, the initial string that's rewritten from wouldn't be user-specifiable, but instead thequickbrownfoxjumpsoverthelazydog
14:59:34 <ais523> well, the graph that that turns into
14:59:50 <ais523> AnMaster: no, it isn't like ASCII art, you can use a letter more than once and it refers to the same node each time
15:00:03 <ais523> i.e. eodermdrome has 4 connections to the e, but eodermdromes would have 5
15:00:13 <AnMaster> "<tusho> ais523: can't use non-alphabetical?" and "<ais523> well, the graph that that turns into" came at the same second
15:00:26 <AnMaster> must have been some really bad lag there for a while
15:00:36 <ais523> AnMaster: probably your connection went strange for a while, that happens to me every now and then too
15:00:46 <oklopol> i didn't see tusho say that
15:04:26 <AnMaster> actually it wasn't my connection ais523 I think
15:04:35 <AnMaster> I think it is between freenode servers
15:05:07 <AnMaster> * Ping reply from ais523: 1.32 second(s)
15:05:19 <ais523> AnMaster: well, why can't I send you a CTCP pong when you ping me/
15:05:24 -!- Slereah__ has joined.
15:05:33 <AnMaster> ais523, except it contradicts the specs
15:05:37 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
15:05:43 <tusho> ctcp has no specs for messages
15:05:57 <oklopol> abcdec with edcbca edcbcfa, can you show me how that actually evolves?
15:06:07 <oklopol> can b represent multiple nodes?
15:06:14 <AnMaster> ! CTCP flood from tusho, automatically putting on ignore for 5 minutes
15:06:21 <ais523> oklopol: the letters only matter within an expression
15:06:24 <tusho> can AnMaster see this
15:06:35 <oklopol> can you show the evolution?
15:06:37 * tusho can AnMaster see this
15:06:39 <tusho> did you see that AnMaster
15:06:41 <ais523> and each letter only represents one node within an expressoin
15:06:57 <ais523> so abcdec becomes abcdefc becomes abcdefgc and so on
15:07:00 <AnMaster> tusho, and now I removed the ignore for other types of CTCP too
15:07:20 <ais523> you need a more complicated rewrite expression to put bounds on it
15:07:27 <ais523> but it shouldn't be too hard to do, say, a BCT interpreter
15:07:51 <ais523> out of all the langs I know, it's probably the easiest to implement
15:07:56 <ais523> [[e:Bitwise Cyclic Tag]]
15:08:01 <ais523> umm... http://esolangs.org/wiki/Bitwise_Cyclic_Tag
15:08:18 <tusho> ais523: iota is easy in languages with good functionality
15:08:39 <ais523> tusho: this is langs with bad functionality I'm talking about, the langs in which even implementing Brainfuck's a stretch
15:09:12 <oklopol> ais523: but if the initial state is abcdec, then how can it even be matched with edcbca?
15:09:33 <oklopol> wouldn't b represent the de in c -> d -> e -> c then
15:09:50 <ais523> oklopol: the first expression is a triangle with a two-element tail
15:10:06 <ais523> whereas the second expression is a Y shape with one side two elements long and the other two one element long
15:10:18 <ais523> so they match each other
15:10:39 <ais523> however I got the rewrite expressions a bit wrong, because you can't reuse letters unless they correspond to each other
15:11:02 <ais523> it should be edcbca edfbfga
15:11:09 <ais523> rebooting, be back soon
15:11:11 -!- ais523 has quit ("rebootin").
15:12:16 <oklopol> simple to write, but takes a sec to actually read
15:12:36 <AnMaster> tusho, didn't ais use BCT for that proof he won a lot of money for?
15:13:08 <AnMaster> what was it then he implemented in said language?
15:13:13 <tusho> AnMaster: why not read the paper
15:13:21 <tusho> http://www.wolframscience.com/prizes/tm23/TM23Proof.pdf
15:13:24 <AnMaster> tusho, well iirc it was BCT, but I may be wrong
15:14:00 <tusho> it involves cyclic systems
15:14:20 -!- olsner has quit (Connection timed out).
15:15:07 <AnMaster> tusho, two of the words matches ;P
15:15:11 -!- ais523 has joined.
15:15:16 <AnMaster> "The main part of the proof proceeds by showing that the initial conjecture (conjecture 0, that system 0 can emulate any cyclic tag system for an arbitrary number of steps (and a few extra conditions)) is either
15:15:19 <tusho> ais523: is the cyclic tag in your tm23 proof a BCT
15:15:22 <tusho> or another cyclic tag
15:15:25 <AnMaster> maybe not BCT but a CT at least
15:15:32 <oklopol> ais523: that notation is awesome
15:15:43 <ais523> tusho: it's just plain cyclic tag
15:15:45 <ais523> well, it could be either
15:15:47 <ais523> it doesn't read from source, it compiles it into a crazy representation
15:15:49 <ais523> and BCT is just one particular notation for CT
15:16:03 <AnMaster> <oklopol> ais523: that notation is awesome <-- what one?
15:16:06 <tusho> ais523: also you link to wolframprize.org
15:16:10 <tusho> that domain does not go anywhere
15:16:24 <ais523> it used to be the main URL
15:16:27 <tusho> ais523: WOLFRAM ARE EVIL THEY BREAK URLS
15:16:29 <ais523> AnMaster: my graph notation, I expect
15:16:41 <oklopol> ais523: i do admit that's a nicer way to represent a certain graph
15:16:48 <ais523> tusho: the URL works for me
15:16:50 <tusho> was it ever published in that Complex Systems thing ais523?
15:16:57 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
15:16:59 <ais523> tusho: no, it probably will be eventually
15:17:06 <ais523> but the paper's still being worked out
15:17:09 <tusho> such a fast-moving world
15:17:27 <tusho> ais523: i love how they link to the mathematica version of the programs right next to your proof
15:17:29 <ais523> oklopol: your lang's probably better for expressing graph operations than mine, I just wanted a tarpit graph-rewrite lang
15:17:31 <tusho> like 'PLESAE IGNORE THE PERL'
15:17:38 <oklopol> ais523: there are no graph operations
15:17:54 <oklopol> it's better for representing the actual graph structures
15:18:02 <ais523> tusho: well the Perl's a factor of N faster than the Mathematica, even though I tried to optimise the Mathematica to a decent speed, I just failed
15:18:16 <tusho> ais523: mathematica is based on term-rewriting
15:18:19 <tusho> that pretty much says it all
15:18:23 -!- Slereah2 has joined.
15:19:12 <oklopol> you could do something like let you define a starting pattern, then have a syntax for doing substitutions n times
15:19:23 <oklopol> this would make something like a ring easy to do
15:19:54 -!- Slereah__ has quit (Read error: 60 (Operation timed out)).
15:19:59 <ais523> tusho: I know it is, and tried to optimise for it
15:19:59 -!- ais523 has quit (Remote closed the connection).
15:20:07 -!- Corun has joined.
15:21:06 -!- ais523 has joined.
15:21:43 <ais523> [Wed Jul 16 2008] [15:19:08] <ais523> maybe I should have simulated a linked list; I wonder if {a, {b, {c, {d}}}} is faster to modify in Mathematica than {a, b, c, d}?
15:21:43 <ais523> [Wed Jul 16 2008] [15:19:26] <ais523> however in the end I just went with the naive way because all my attempts to modify made things worse
15:22:43 <oklopol> ais523: something like "1ab1 <rewrite> a1b => a1cb <times> N-3" where numbers let you have concrete handles for convenience
15:23:03 <ais523> yes, that would be more practical (but less tarpitty)
15:23:06 -!- Slereah__ has joined.
15:24:25 <oklopol> ais523: well i'm thinking more in terms of making graph shorthands for graphica atm
15:24:33 <oklopol> you definitely keep yours as it is
15:24:44 <oklopol> why add that number thing when you can just have tails
15:24:56 <ais523> oklopol: I'd gathered that, just thinking out loud
15:25:03 <oklopol> pure graphs with no extra information are just so goddamn sexy
15:25:21 <oklopol> ais523: well i guess i knew that too, and was just thinking out loud :D
15:25:24 <ais523> eodermdrome's pretty simple, but I don't have much of an idea how to implement it efficiently
15:25:41 <tusho> say, I think I can make that strongly-typed lazy self-rewriting language
15:25:42 <ais523> because I can't think of a decent way to do graph-matching
15:25:49 <tusho> it requires 'chunking'
15:25:51 <tusho> but i think it's possible
15:26:11 <oklopol> ais523: yeah, it's a complex subject
15:27:47 <oklopol> ais523: links go both ways?
15:28:08 <ais523> oklopol: yes, nondirected
15:28:23 <ais523> although you can direct them by hand using tails and dangling cycles and other little ornaments
15:28:35 <oklopol> true, true, i know graphs.
15:28:49 <ais523> I think probably the easiest way to program in eodermdrome is to have your data store of large structures with little things hanging off them to provide information and certain types
15:29:27 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
15:30:13 <oklopol> is there a sort that always uses the optimal amount of swaps?
15:30:47 <ais523> oklopol: interesting, you're going for writing efficiency rather than reading efficiency, and I don't know
15:30:55 <ais523> well, there is of course, but I'm not sure if there's a sane one
15:31:08 <ais523> bogosort can be adapted to always use the optimal amount of swaps
15:31:35 -!- Slereah__ has quit (Read error: 60 (Operation timed out)).
15:33:04 <oklopol> "you're going for writing efficiency rather than reading efficiency" <<< huh?
15:33:19 <ais523> oklopol: normally sorts try to do the minimum number of comparisons
15:33:28 <ais523> whereas you're trying to do the minimum amount of writing to memory
15:33:35 <ais523> or to wherever the data's stored
15:33:59 <oklopol> is there one that always does the optimal amount of reads?
15:34:20 <oklopol> for a sorted list the optimal amount is 0, so that's kinda trivially impossible
15:37:11 <ais523> AnMaster: the original bogosort is to rearrange the data at random, check if it's sorted, if not repeat
15:37:26 <ais523> however I was thinking of a modified version where you just try all possible permutations to see which one is sorted
15:37:32 <AnMaster> ais523, I see, fairly unlikely to be fast
15:37:43 <tusho> bogosort can fail though
15:37:49 <tusho> assuming a shite random number generator
15:37:55 <tusho> ais523's would work
15:38:05 <ais523> AnMaster: it's somewhat faster than bogosort
15:38:21 <ais523> incidentally, there's an article somewhere on the Internet where some mathematicians wrote a paper about optimising bogosort
15:38:36 <ais523> it still ended up worse than most sane sorting algorithms though
15:38:41 <oklopol> ais523: well it was about a few other pessimal algos too
15:39:24 <ais523> there is also, of course, quantum bogosort, which will hopefully never be used as it has a large chance of destroying the universe if the many-worlds theorem turns out to be false, or the anthropic principle does
15:39:27 <oklopol> they plotted sorting times for the test cases, sorting lists of up to length 7 :P
15:39:32 <ais523> but in theory it's the only way to do an O(n) comparison sort
15:39:35 <AnMaster> Bogosort is on average O(n × n!)
15:39:40 <oklopol> ais523: anyway bogosort isn't trivial to make optimal in this fashion
15:39:42 <AnMaster> according to http://en.wikipedia.org/wiki/Sorting_algorithm
15:39:56 <ais523> AnMaster: yep, O(n) to see if it's sorted and you need O(n!) tries on average
15:41:05 <oklopol> well i guess you could do it, but i think it'd be still much slower than bogosort, as you'd have to try the same permutations many, many times
15:41:28 <ais523> and "much slower than bogosort" is not good
15:41:50 <oklopol> yes, especially as i think it's in the order of n^O(bogosort)
15:41:58 <AnMaster> http://en.wikipedia.org/wiki/Bead_sort <-- interesting
15:42:18 * ais523 wonders if n^(n*n!) is better or worse than 2^2^n
15:42:35 <ais523> the second is the order of the 2,3 Turing machine, I calculated it a few months ago because lots of people were asking
15:42:52 <tusho> http://i34.tinypic.com/15ogt4k.png <-- who likeys/not likeys this
15:42:59 <tusho> (it's for the top of tusho.org, obvciously (that was intentional))
15:43:15 <ais523> tusho: I like it, but fix the vertical alignment
15:43:23 <tusho> ais523: it's correct, I believe
15:43:28 <ais523> oklopol: ah, of course
15:43:33 <ais523> tusho: it looks off-centre
15:43:41 <ais523> as in the section sign dips too low relative to your name
15:43:48 <tusho> ais523: it's meant to, I think
15:43:50 <ais523> probably because the word "tusho" has no decenders
15:43:55 <ais523> s/decenders/descenders/
15:44:05 <ais523> tusho: looking right is usually better than being right in graphic design
15:44:07 <tusho> besides, it looks kinda nice this way
15:44:16 <tusho> ais523: i'm not going for graphic design
15:44:21 <tusho> it's only a graphic because most people don't have the font.
15:44:33 <tusho> i'm more interested in -typographically- nice
15:45:36 <tusho> ais523: which I think it achieves :p
15:45:45 <tusho> anyway, I kinda like it like this
15:48:10 <oklopol> ais523: the graph rewriting is at least trivial to implement, and i think it's not *that* slow, usually
15:48:24 <oklopol> if you have a small number of connections from nodes
15:48:34 <oklopol> then you don't get the exponential search problem
15:49:02 <oklopol> and if you do have many connections, you can often just drop most of the searching, because a node with N connections must match with one with N connections
15:49:25 <oklopol> http://www.vjn.fi/pb/p152546313.txt using something like this it's at least trivial to implement
15:49:41 <oklopol> heuristics are, always start with the node with the largest number of connections
15:49:58 <oklopol> that's it, the rest is trivial recursion & backtracting
15:50:15 <tusho> ais523: hmm, if there's no images or they're disabled or whatever, should I fallback to 'tusho' or '(symbol) tusho'?
15:50:18 <oklopol> but of course does not solve the actual problem.
15:50:33 <ais523> tusho: use the HTML character entity for the section sign, in the alt text, along with your name
15:50:41 <ais523> you can put something else in the tilte
15:50:44 <tusho> the image is added with a css background, ais523
15:51:01 <tusho> that's actually better, ais523
15:51:08 <ais523> but it doesn't give you alt text
15:51:10 <tusho> because an img is for an actual image semantically
15:51:13 <tusho> and yes it does ais523
15:51:15 <tusho> the actual markup is <h1><a href="/">tusho</a></h1>
15:51:22 <tusho> and css gets rid of the text and adds the background
15:51:52 <ais523> oklopol: that's clever, it'll help in many situations
15:52:47 <oklopol> actually, there's another quick cut
15:52:58 <oklopol> let's say you're matching nodes A and B
15:53:26 <oklopol> so, they both have N connections, if they had a different amount, you'd backtract already
15:53:50 <oklopol> you take all the connections, follow them, and count the number of connections of each thing found in the other end
15:53:53 <AnMaster> is that natural logarithm btw?
15:54:07 <ais523> oklopol: are you sure on that? I thought log n always was less than n, because log 1 = 0, and it's worse on both sides of 1
15:54:07 <oklopol> AnMaster: depends on notation
15:54:28 <ais523> for all bases > 1, that is
15:55:12 -!- Judofyr has joined.
15:55:20 <oklopol> you count the connections of each child of A, and you count the connections of each child of B
15:55:31 <oklopol> you then sort these lists, and do an O(n) comparison
15:55:40 <oklopol> only then do you need to start trying to match the children
15:55:48 <oklopol> which i already showed an example of
15:56:14 <oklopol> and, also, if A's children's child counts are [3,3,2,2,1], and thereby B's too
15:56:30 <AnMaster> O(n log n) is worse than O(n) for large values of n it seems
15:56:51 <ais523> oklopol: one bit of semantics that you might have guessed but I didn't explain, letters in both sides of a rewrite rule can have additional connections because they're where the rule 'plugs into' the graph, letters on only one side can't have any more connections than are specified in the subgraph in question
15:56:55 <oklopol> you just need to try to match #1A to #1B and #2A to #2B
15:57:15 <ais523> AnMaster: yes, it is, n log n is always worse than n for large n
15:57:17 <oklopol> (if both succeed, you better hope the next step fails ofc)
15:57:18 <ais523> although it takes a while sometimes
15:57:37 <oklopol> ais523: i actually did *not* take that into account.
15:57:40 <AnMaster> ais523, what about O(n √(log log n))
15:57:52 <oklopol> it actually voids this optimization completely :)
15:57:59 <ais523> AnMaster: still going to be worse than O(n) eventually because root log log n is unbounded
15:58:27 <AnMaster> well. I guess there is no sorting algorithm with a upper bound of O(n)
15:58:59 <ais523> AnMaster: there can be, but only given prior knowledge about the data
15:59:10 <ais523> for instance if you know all the data are integers in a given range, you can sort in O(n)
15:59:16 <oklopol> O(n) is trivial unless it's a comparison sort
15:59:17 <AnMaster> ais523, what about custom hardware, see bead sort for example
15:59:32 <AnMaster> oklopol, yeah but then you need custom hardware right?
16:00:00 <oklopol> AnMaster: err, well if you count random access as O(log n), then, err, well still not
16:00:10 <oklopol> but usually random access is considered O(1)
16:01:05 <AnMaster> what is the fastest sorting algorithm (not specialized for a specific data set, but generic) on "normal" PCs
16:01:11 <AnMaster> as in no special hardware needed
16:01:17 <oklopol> anyway, O(n) is trivial, and the O(n lg_a n) bound for a sort using a O(1) function that sorts a list of a elements is trivially seen from the choice tree
16:01:35 <oklopol> AnMaster: well the one you linked, for on
16:01:57 -!- Hiato has joined.
16:02:10 <AnMaster> oklopol, um bead sort need custom hardware to be that fast, "O(S), where S is the sum of the integers in the input set: Each bead is moved individually. This is the case when bead sort is implemented without a mechanism to assist in finding empty spaces below the beads, such as in software implementations."
16:02:32 <AnMaster> "O(n): The beads are moved one row at a time. This is the case used in the analog and digital hardware solutions."
16:02:56 <ais523> AnMaster: bead sort's actually O(n^2) in my opinion, because you're doing n O(n) operations in parallel
16:03:09 <oklopol> well okay, use a less retarded counting sort then, anyway, it doesn't require much brain power to come up with a O(n) sort
16:03:13 <ais523> I think it's cheating to not count each thread separately
16:03:22 <ais523> oklopol: pigeonhole sort's O(n)
16:03:30 <ais523> but only works on certain data sets
16:03:38 <oklopol> ais523: yes, that for instance is incredibly trivial
16:04:08 <pikhq> Having fun with non-comparison sorts? ;)
16:04:56 <pikhq> My preferred one is bucket sort.
16:05:00 <tusho> multi-threaded sort
16:05:11 <AnMaster> pikhq, in fact we are looking for the fastest one
16:05:13 <pikhq> Mostly because I came up with it before knowing that it was a well-known algorithm. :p
16:05:23 <tusho> pikhq: Many people do./
16:05:35 <pikhq> Which is understandable. . .
16:05:55 <pikhq> It is a fairly obvious algorithm when you start thinking about actually sorting something.
16:06:24 <oklopol> i like heapsort, because there actually exist people who don't know it
16:07:02 <ais523> well, I'm surprised how many people don't know mergesort
16:07:05 <tusho> Say, what's the unicode char for section-thingymabob?
16:07:16 <ais523> given that it's easy to implement and guaranteed n log n performance
16:07:52 <tusho> I forget how those work.
16:07:54 <pikhq> Heapsort is a fairly. . . Odd algorithm, IMO.
16:08:01 <ais523> apart from the question mark
16:08:02 <AnMaster> well heapsort is rather nice, though slower in practise
16:08:08 <ais523> but that clearly isn't part of the entity
16:08:15 <oklopol> ais523: well if one understands recursion, they grasp it in about a microsecond
16:08:25 <tusho> ais523: it sucks that I even have to use an entity, i should just be able to serve it as utf-8
16:08:29 <tusho> editors and shit are retarded.
16:08:29 <oklopol> heapsort, especially when done in-place, takes a while to explain
16:08:32 <pikhq> Basically, I don't get it just because I don't get the idea of a binary heap.
16:08:37 <tusho> which is an odd sentence out of context
16:09:13 <oklopol> but for all nodes n with children a and b, n<a, n<b
16:09:18 <ais523> tusho: most browser/webserver combinations are rubbish at handling encodings
16:09:42 <tusho> ais523: well, apache is fine at it if configured
16:09:47 <tusho> but it's Other Software that's the problem
16:09:53 <tusho> really it's just pointless trying
16:09:58 <oklopol> this is O(n) to build, and the sort basically consists of taking the top, which is naturally the smallest value in the heap, and then fixing the heap property
16:09:59 <ais523> yes, but you'd be surprising how often the configuration isn't done properly
16:10:11 <ais523> maybe in XHTML it would be better, because XML has encodings figured more or less
16:10:19 <pikhq> Hmm. Looking at seeing a heap stored in an array makes that make sense.
16:10:21 <oklopol> now as a heap is always a perfect binary tree, you can optimize this by storing the heap as a list
16:10:46 <pikhq> Well, that makes using a heap make sense, rather.
16:11:16 <oklopol> heap sort is fun, no doubt about it
16:12:05 <oklopol> only my minimum space quicksort beats it in coolness
16:12:11 * tusho tries to figure what entries he should clutter his new blog design with (right now I can only think "archives")
16:12:34 <oklopol> also i should stop calling it minimum space as it's O(n lg lg n) afaik
16:12:39 <ais523> tusho: do you have tusho.org yet?
16:13:01 <tusho> no, wanna give me it? ;p
16:13:08 <ais523> I don't have it either
16:14:31 <oklopol> tusho: what's so hard about getting it?
16:14:43 <tusho> i mean, sure, i could get it
16:15:23 <tusho> oklopol: wanna support it?
16:15:25 <pikhq> Great. Now I'm thinking about implementing sorting algorithms in Def-BF.
16:15:28 <oklopol> tusho: well it's like 10 units
16:15:35 <pikhq> Which means that I should definitely *implement* Def-BF.
16:15:41 <pikhq> Rather than merely talk about it.
16:15:47 <oklopol> pikhq: bubblesort is the way to go
16:15:47 <tusho> yes, but there's a huge difference between £0 and 1p, oklopol
16:16:10 <pikhq> Def-BF makes arrays trivial; I can do a lot of sorting algorithms from there. ;)
16:16:11 <oklopol> tusho: 10 units is nothing, no matter what the unit
16:16:27 <AnMaster> http://en.wikipedia.org/wiki/Introsort
16:16:34 <tusho> oklopol: The difference is between 'nothing' and 'something'
16:16:54 <AnMaster> pikhq, and bubble sort is O(n^2) iirc
16:17:12 <tusho> Conditional vote: FOR if nobody states in a public forum during the
16:17:13 <tusho> voting period that they are retracting my vote on proposal 5646, PRESENT
16:17:40 <AnMaster> pikhq, if you want something useful try introsort
16:17:49 <oklopol> tusho: well okay, it's about less euros, to be exact, less in pounds
16:18:33 <oklopol> it's very good in practise
16:19:11 <ais523> I don't really like introsort
16:19:14 <AnMaster> "The smoothsort algorithm [1] [2] is a variation of heapsort developed by Edsger Dijkstra in 1981. Like heapsort, smoothsort's upper bound is O(n log n). The advantage of smoothsort is that it comes closer to O(n) time if the input is already sorted to some degree, whereas heapsort averages O(n log n) regardless of the initial sorted state. Due to its complexity, smoothsort is rarely used."
16:19:32 <ais523> besides, isn't introsort still O(n log n) on contrived inputs?
16:19:37 <tusho> {Digging this subject up a bit. What do we gain with this current situation other than a lot of spam? I still think editing should be disabled for the non-registered, or then there needing to be something picture code for those who aren't logged in, or something. If unregistered people really want to contribute something they could just as well register, afterall, registering to use a site shouldn't be anything extraordinary practice in modern web. --Keymake
16:19:41 <tusho> keymaker sooooooo opened a can of worms there
16:19:44 <tusho> but it'll never happen
16:19:54 <ais523> tusho: I think we need an antivandalbot for esolangs.org
16:19:55 <pikhq> ais523: It seems like introsort is meant as a good practical sorting algorithm, not a particularly elegant one.
16:19:56 <tusho> because for the forum graue specifically picked one requiring no registration & anonymous
16:20:03 <tusho> so register-to-edit won't happen
16:20:03 <pikhq> And you, of course, go for elegance.
16:20:28 <AnMaster> ais523, introsort basically switches to heapsort after some limit, so it's upper bound would be same as for heapsort
16:20:46 <oklopol> purity > elegance > practicalityu
16:21:00 <ais523> AnMaster: the bit before the limit could be engineered to work badly
16:21:15 <oklopol> pikhq: anyway, my point was quicksort would most likely be slower than bubble sort in bf
16:21:16 <tusho> p.s. the esolangs wiki tagline is Weirder Than You
16:21:21 <oklopol> but, an interesting subject
16:21:21 <tusho> confirm via Blue Colonge skin
16:21:32 <oklopol> haven't seen much order talk considering esolangs
16:21:32 <pikhq> oklopol: Def-BF != Brainfuck.
16:21:53 <oklopol> pikhq: isn't it meant for bf translation though?
16:22:05 <ais523> tusho: yes, I knew that was the tagline, quite a good one I think
16:22:13 <pikhq> It's meant to be Brainfuck-esque, but for systems programming.
16:22:15 <AnMaster> pikhq, where can I get Def-BF specs?
16:22:21 <AnMaster> pikhq, and what about implementation?
16:22:25 <oklopol> pikhq: ah, i guess the name misleaded me
16:22:32 <pikhq> I'd hand them to you, but my bookmark is at home, not at work.
16:22:34 <oklopol> and the fact you can have brainfuck code in it :P
16:22:40 <pikhq> And the implementation? I have yet to write it.
16:22:46 <pikhq> oklopol: It's a superset of Brainfuck. ;)
16:23:10 <pikhq> Lessee here. . . Array access in Def-BF. . .
16:23:31 <oklopol> i'm considerably less interested if it's not compilable to brainfuck :P
16:26:18 <pikhq> Well, it is compilable to Brainfuck. . .
16:26:31 <ais523> in theory /everything/'s compilable to Brainfuck
16:26:39 <pikhq> Though that would be a minor pain. Especially the bit about having a call stack. . .
16:26:43 <ais523> apart from I/O mechanisms
16:27:03 <pikhq> Gregor's done it in C2BF, so it wouldn't be *too* painful, I guess.
16:27:09 <ais523> stacks aren't too hard to implement in BF, though
16:27:32 <ais523> but that's stacks of 8-bit integers or whatever the interp uses, not of call addresses
16:28:29 <pikhq> Well, I *think* that I have the Def-BF array access code here. . .
16:28:37 <pikhq> function: array[pointer, array_start] [ array_start pointer [ - ; > pointer ]]
16:29:27 <pikhq> Yes, it's hard to understand.
16:29:42 <pikhq> Erm. That's destructive of pointer.
16:30:14 <pikhq> function: array[pointer, array_start] [ var: tmp_pointer pointer array_start tmp_pointer [ - ; > tmp_pointer ]]
16:32:52 <AnMaster> Deewiant, well if you are there, please take a look at
16:32:54 <AnMaster> http://rafb.net/p/V4MrQS18.html
16:36:50 -!- ais523 has quit (Remote closed the connection).
16:37:10 -!- ais523 has joined.
16:39:00 -!- ais523 has quit (Remote closed the connection).
16:39:15 -!- ais523 has joined.
16:45:41 <AnMaster> "In order to build the Ada compiler (GNAT) you must already have GNAT installed because portions of the Ada frontend are written in Ada (with GNAT extensions.) Refer to the Ada installation instructions for more specific information. "
16:45:54 <ais523> AnMaster: you have to start from a binary
16:46:01 <ais523> just like with many other similar projects
16:46:04 <tusho> AnMaster: ghc only builds on ghc
16:46:05 <AnMaster> ais523, what if there is no binary for a specific arch?
16:46:10 <tusho> and then you write the compiler
16:46:13 <tusho> compile it on itself
16:46:16 <tusho> then move the binary over
16:46:17 <ais523> AnMaster: then you cross-compile, obviously
16:46:30 <ais523> for instance DJGPP only compiles on DOS using itself
16:46:49 <ais523> but you can use a Linux version of gcc to cross-compile it to get a version of DJGPP that runs on Linux and outputs DOS executables
16:46:59 <ais523> then compile that with itself to get a DOS version of DJGPP
16:47:08 <AnMaster> um, how do you get that djgpp version that works on linux?
16:48:11 <AnMaster> well the first GNAT version couldn't have depended on GNAT I assume?
16:48:46 <pikhq> They probably bootstrapped the compiler.
16:49:04 <AnMaster> gnat wasn't the first one afaik
16:49:11 <tusho> AnMaster: That's ... what pikhq said.
16:49:22 <pikhq> Writing GNAT in a subset of Ada supported by a simple C compiler is possible. . .
16:49:29 <pikhq> Or even hand-compiling the Ada code.
16:49:29 <ais523> why are compilers for a lang often written in the lang itself/
16:49:34 <Deewiant> AnMaster: no long long, ptrdiff_t, size_t, wchar_t, clock_t, time_t, possibly others missing
16:49:35 <tusho> ais523: It's more fun.
16:49:44 <ais523> maybe because people implementing a lang are likely to be proficient in that lang
16:49:46 <ais523> and therefore like using it?
16:49:49 <tusho> And, besides, if your language is TOTAL FREAKIN' AWESOMENESS, wouldn't you want to write the complex compiler for it in that lang
16:49:51 <tusho> so that it's easier?
16:49:57 <tusho> Because it's TOTAL FREAKIN' AWESOMENESS.
16:49:57 <AnMaster> Deewiant, ah true, however that isn't easy with libffi, they are missing from there
16:50:05 <tusho> Also. It gets you major geek points.
16:50:14 * pikhq gives Gregor major geek points
16:50:20 <Deewiant> I'm just thinking of C stuff that's missing
16:50:51 <pikhq> (Plof 2 has multiple implementations: a D interpreter, a Plof->C compiler in Plof, and a Plof->Js compiler in Plof)
16:51:58 <Deewiant> also, especially for a C FFI, just use 0gnirts
16:52:12 <Deewiant> but in general for -98 just use 0gnirts
16:52:16 <oklopol> ais523: if i have the time, ill implement a stupid graph matcher / eodermdrome parser tonight, if you have any examples, do gimme
16:52:20 <ais523> tusho: like Chris Pressey writing Shelta in itself, when the only other interp from it was in asm
16:52:27 <ais523> oklopol: haven't written any yet, maybe I should
16:52:29 <oklopol> just saying because i don't have the time yet
16:52:39 <tusho> unintentional caps
16:52:41 <tusho> but i prefer it that way
16:52:54 <tusho> but yeah, shelta is pretty much the archetypical bootstrapping example
16:53:01 <oklopol> ais523: just something so i can test parsing and matching
16:53:14 <oklopol> dunno your rewriting semantics exactly
16:53:18 <oklopol> oh, actually i think i do.
16:53:32 <ais523> well, one other rule: commas toggle commentness
16:53:37 <ais523> e.g. ,this is a comment,
16:53:43 <ais523> Haifu has that rule and it works well there
16:53:55 <tusho> ais523: comments? In a tarpit?
16:54:07 <ais523> tusho: BF has comments
16:54:43 <tusho> it's less effort than erroring out on invalid instructions
16:54:48 <ais523> tusho: I wasn't really using punctuation marks for anything else
16:54:50 <tusho> thus more tarpitty than explicit comments or explicit errors
16:55:01 <tusho> ais523: but this way you force people to use leetspeak
16:55:26 <AnMaster> <Deewiant> but in general for -98 just use 0gnirts
16:55:41 <AnMaster> char * will be useful when the data isn't a string
16:55:56 <AnMaster> that allows marshalling structs
16:56:08 <Deewiant> I didn't go through it in that much detail
16:56:14 <Deewiant> but use 0gnirts where it makes sense
16:56:21 <AnMaster> Deewiant, hm? char * here is just a binary string
16:56:43 <AnMaster> as for "gnirts"<len>, that is what funge-108 is moving to in new places
16:56:53 <Deewiant> yes, but where it points to a character string use 0gnirts
16:57:07 <AnMaster> and yes those types you mentioned, some may be useful
16:57:09 <Deewiant> which is why I explicitly said "for -98"
16:57:11 <ais523> AnMaster: gnirtslen strikes me as being much harder to handle than 0gnirts
16:57:30 <AnMaster> ais523, oh? it allows embedding nulls in a string
16:57:38 <AnMaster> which is kind of important here
16:57:52 <ais523> maybe it should be 01-"gnirts", then
16:58:01 <AnMaster> but yes library name could be 0gnirts
16:58:04 <ais523> also your method bounds string length, whereas mine doesn't
16:58:14 <AnMaster> ais523, you still have the problem of in-band data
16:58:46 <AnMaster> you mean to the size of the funge cell type?
16:58:53 -!- olsner has joined.
16:59:03 <ais523> in Funge-98 there's nothing bounding string length AFAICT
16:59:24 <ais523> this could be important when processing very long documents, the stack's the only place to store them
16:59:24 <Deewiant> if you have strings bigger than size_t you're screwed anyway :-P
16:59:38 <ais523> Deewiant: not all langs use a size_t
16:59:58 <ais523> some langs are theoretically capable of unlimited growth in data storage
17:00:01 <Deewiant> if your interpreter doesn't support cells of size_t size then you're also screwed anyway
17:00:07 <ais523> and Funge-98's one of them
17:00:43 <AnMaster> I changed to 0"gnirts" in the places it won't cause loss of functionality
17:01:02 <AnMaster> http://rafb.net/p/YKOpiP40.html
17:01:36 <AnMaster> Deewiant, anyway I looked at how to marshal complex types, like structs
17:01:48 <Deewiant> you just have to do it manually
17:01:50 <AnMaster> there isn't really a sane way I'm afraid.
17:01:57 <Deewiant> pointer to next field of struct
17:02:08 <AnMaster> Deewiant, well I need to describe the type of the struct too
17:02:23 <AnMaster> stuff which libffi can't always handle
17:02:29 <Deewiant> bitfields are messy and not necessarily important
17:02:29 <AnMaster> libffi can handle some structs
17:02:43 <Deewiant> actually, they're usually padded too
17:02:43 <AnMaster> Deewiant, I use bitfields in cfunge in some places
17:02:58 <AnMaster> Deewiant, sometimes they are merged with the padding of other fields
17:03:18 <AnMaster> which makes it a lot more complex
17:04:18 <AnMaster> Deewiant, if the int wasn't a bitfield, then there would have been a padding of 2 bytes between
17:04:24 <AnMaster> now it is merged into that padding
17:04:31 <Deewiant> &bar[0].short <-- address of short
17:04:37 <tusho> Anyone want to give me a unicode down-arrow?
17:04:38 <Deewiant> &bar[0].int <-- address of int
17:04:38 <AnMaster> Deewiant, so what interface are you suggesting for it?
17:05:41 <tusho> without the stalk. going downwards.
17:05:51 <Deewiant> I don't know how it would work in practice with befunge, but something like that would work, i.e. manually giving the offsets as addresses
17:05:51 <ais523> tusho: I was trying to say that before your request to get you to look up
17:06:19 <AnMaster> Deewiant, well that needs knowledge of the details of the ABI in question
17:06:37 <AnMaster> Deewiant, otherwise you can't know how a pointer, or a long double would be padded
17:06:37 <ais523> there's 0x2304 but for some reason I can't paste it into Konversation's text box⌄⌄⌄⌄
17:06:40 <ais523> that's just an arrowhead
17:06:58 <tusho> I just want a filled v, essentially
17:07:04 <Deewiant> AnMaster: first of all, the C ABI is standardized. second of all, what does padding matter
17:07:06 <AnMaster> I guess I need a define struct type function
17:07:17 <AnMaster> Deewiant, padding matters for where it is in a struct
17:07:32 <ais523> U+25BC BLACK DOWN-POINTING TRIANGLE
17:07:39 <AnMaster> Deewiant, because of alignment
17:07:42 <Deewiant> AnMaster: I direct you to my &bar[0] above
17:07:49 <ais523> tusho: there's ▾ as well
17:08:00 <ais523> which is apparently the same thing but smaller
17:08:24 <ais523> which one do you prefer?
17:08:33 <AnMaster> Deewiant, um I don't get what you mean with it
17:08:41 <Deewiant> tusho: http://www.fileformat.info/info/unicode/block/geometric_shapes/utf8test.htm and http://www.fileformat.info/info/unicode/category/So/list.htm
17:08:51 <AnMaster> what about a short followed by a long
17:08:58 <AnMaster> that will differ between 32-bit and 64-bit
17:09:04 <Deewiant> AnMaster: you can get the position of a field in a struct by taking the difference of &struct.field and &struct
17:09:21 <AnMaster> on x86: short <16 bits padding> long
17:09:34 <AnMaster> on x86_64: short <48 bits padding> long
17:10:05 <AnMaster> Deewiant, well if it was at the start of a struct, it would be aligned at the start
17:10:08 <Deewiant> AnMaster: and &struct.long - &struct.short will be 16 and 48, respectively.
17:10:11 <AnMaster> Deewiant, also this is all about resolving at runtime
17:10:22 <ais523> someone should invent a UTF-1
17:10:26 <Deewiant> yes, of course it is at runtime
17:10:34 <ais523> there's already UTF-6, UTF-7, UTF-8 and UTF-9, after all
17:10:42 <ais523> and Punycode has been described as UTF-5
17:10:47 <Deewiant> and taking the address of something works at runtime
17:10:51 <Deewiant> it's called 'lea', look into it
17:11:10 <tusho> ais523: what would utf-1 be?
17:11:17 <ais523> tusho: it would be a stream of bits
17:11:17 <AnMaster> Deewiant, well I won't know how the struct looks until runtime, so where would I have a prepared struct to do that on
17:11:24 <AnMaster> I can't generate one at runtime and compile it...
17:11:25 <ais523> which is self-delimiting, not split into bytes in any way
17:11:32 <tusho> ais523: that's impossible?
17:11:43 <ais523> Deewiant: no, UTF-8 uses 8-bit integers, so UTF-1 would use 1-bit integers
17:11:49 <ais523> Deewiant: you just described UTF-0
17:12:11 <ais523> tusho: not impossible, in fact quite easy, you could use base-Fibonacci for instance
17:12:15 <Deewiant> AnMaster: well, one assumes that the C program is compiled
17:12:45 <Deewiant> the befunge program can maybe request the info via the FFI, since the C part knows it?
17:12:47 <ais523> Deewiant: I assumed lea was just a clever way to get the adressing unit of the CPU to do calculations
17:12:56 <ais523> s/adressing/addressing/
17:13:11 <ais523> it doesn't do anything that couldn't be done with MOV and arithmetic, I don't think
17:13:15 <Deewiant> yes, that was its original purpose all along ;-P
17:13:49 <ais523> ihope: what's with those decimals? Base-fibonacci would be about UTF-1.618
17:13:49 <AnMaster> Deewiant, and I can't see how a struct looks from a binary
17:14:05 <AnMaster> Deewiant, the binary doesn't have that metadata unless it contains debug info
17:14:16 <ihope> ais523: this is base 3.
17:14:34 <Deewiant> AnMaster: ... so you're essentially trying to implement something which allows calling C library functions without seeing the corresponding .h file?
17:14:44 <ihope> Fibonacci coding, where every string is valid unless it contains a 11?
17:14:48 <AnMaster> Deewiant, of course, that is what libffi does
17:14:51 <tusho> Deewiant: that's ... what libffi does
17:14:59 <Deewiant> I don't know anything of libffi
17:15:20 <ihope> UTF-log(phi)/log(2), surely.
17:15:22 <AnMaster> Deewiant, you tell libffi what parameters a function takes, then it handles the ABI details
17:15:23 <Deewiant> but, so, if you have a function which takes a struct argument... how would you know what to put in, in any other language
17:15:29 <AnMaster> like what stuff to pass in registers and so on
17:16:05 <Deewiant> AnMaster: doesn't answer my question
17:16:30 <AnMaster> you can tell it about structs too and it fixes alignment, but the interface for befunge code would be painful
17:16:41 <AnMaster> Deewiant, and I guess you read the docs
17:17:02 <Deewiant> libffi docs? no, I didn't nor will I
17:17:14 <Deewiant> and yeah, I've essentially been describing such an interface
17:17:23 <Deewiant> and now you tell me that there's already support for that
17:17:28 <Deewiant> so why am I talking again? :_P
17:17:58 -!- Hiato has quit ("Leaving.").
17:18:04 <AnMaster> Deewiant, I don't parse header files when I use a native function in C#, instead I do something like:
17:18:05 <AnMaster> [DllImport(X52_SO), SuppressUnmanagedCodeSecurityAttribute]
17:18:05 <AnMaster> internal static extern X52Type x52_gettype(IntPtr hdl);
17:18:19 <ais523> AnMaster: you use C#? I thought you didn't like the Windows API
17:18:36 <ais523> AnMaster: it still uses the Windows API
17:18:41 <ais523> or maybe that's how you came to hate it?
17:18:42 <Deewiant> AnMaster: your point, I do not see it
17:18:46 <AnMaster> ais523, yep, I used to use it, but I don't use it any longer I said
17:19:03 <AnMaster> Deewiant, my point is: what would I need a header file for!?
17:19:49 <AnMaster> Deewiant, I saw how you did some prototypes for C functions in TERM fingerprint (commented out POSIX part, I got TERM to work using those functions btw)
17:19:56 <AnMaster> you didn't use the C header file it seemd
17:20:05 <Deewiant> if the docs properly describe the internals of course you don't need one
17:20:09 <AnMaster> so why would not befunge code also declare it's own extern stuff
17:20:12 <Deewiant> but there the docs serve the equivaelnt purpose
17:20:37 <AnMaster> Deewiant, you looked at the header file and translated it for use in D basically I assume?
17:20:38 <Deewiant> the point is that, at some point in time, you have to see what exactly struct Foo contains to be able to call int f(struct Foo);
17:20:51 <AnMaster> so the befunge programmer have to do the same
17:21:22 <Deewiant> so what's the problem with being able to tell libffi via befunge instructions "i haz a struct which contains a char and an int in that order"
17:21:28 <AnMaster> then what was the issue? apart from missing ability to declare structs
17:21:35 <AnMaster> where I can't come up with a good interface
17:21:38 <ais523> Deewiant: you only need to know how big it is
17:21:45 <ais523> to be able to pass it to a function
17:21:50 <Deewiant> ais523: sure, but I'm assuming we don't know that
17:21:58 <AnMaster> ais523, and if you want the info out of it, a lot more
17:21:58 <ais523> putting the values in it in the first place might be difficult if you don't know its internal structure, though
17:22:18 <AnMaster> and that is where I can't come up with a good befunge interface
17:22:27 <AnMaster> apart from bitfields, libffi can do it
17:22:39 <Deewiant> just have a one-to-one mapping between libffi functions and befunge instructions?
17:22:42 <AnMaster> I guess I have to do struct ids
17:22:54 <AnMaster> Deewiant, not so easy really :/
17:22:59 <Deewiant> and yeah, so you support at most size_t.max structs at a time, or something
17:23:00 <AnMaster> Deewiant, it uses a lot of pointers
17:23:15 <Deewiant> well, you have to deal with pointers anyway, neh?
17:23:27 <Deewiant> a pointer doesn't necessarily fit in an int
17:23:34 <Deewiant> what about function pointers, too
17:23:41 <AnMaster> " On 64-bit platforms with 32-bit funges this may be stored in some array
17:23:42 <AnMaster> in the interpreter and the programs get an unique ID for it instead that
17:23:42 <AnMaster> will be looked up if a pointer is passed later."
17:24:02 <AnMaster> as for function pointers, more unique ids
17:24:18 <Deewiant> you're too specific, "64-bit with 32-bit"... what about 69-bit with 7-bit??
17:24:26 <AnMaster> Deewiant, same applies of course
17:24:46 <Deewiant> just say it generally "this is an int which represents a pointer value in some implementation-dependant way"
17:25:04 <AnMaster> On platforms with large pointer than funge space cells this may be stored
17:25:04 <AnMaster> in some array in the interpreter and the programs get an unique ID for it
17:25:04 <AnMaster> instead that will be looked up if a pointer is passed later.
17:25:18 <AnMaster> Deewiant, basically it would work about the same as refc
17:25:22 <Deewiant> why an array, why not a binary tree
17:26:01 <Deewiant> it's a spec, you don't have to talk about implementation details
17:26:14 <Deewiant> unless you want to have subsections like "suggestions for implementers: ..."
17:27:03 <AnMaster> well I will make it more generic
17:27:40 * ais523 just googled "C-INTERCAL"
17:27:49 <AnMaster> anyway generic pointers are useful for 1) you don't care what it contains, 2) you need something too complex to express using the FFI, then you could use memcpy on said pointer later on
17:27:54 <ais523> and got these as related links from Ohloh (which I've never heard of): CCBI, cfunge, CLISP - an ANSI Common Lisp, GNU Smalltalk, Pike
17:27:59 <ais523> the first two I can understand
17:28:05 <ais523> the other three not so much
17:28:08 <AnMaster> ais523, well I can't get the other ones
17:28:16 <tusho> ais523: ohloh is ...
17:28:27 <ais523> well, the first two were spot on
17:28:43 <ais523> it missed CLC-INTERCAL, but other than that CCBI and cfunge are both pretty similar, probably with cfunge being more accurate
17:29:03 <AnMaster> ais523, CLC-INTERCAL doesn't have an entry on ohloh
17:29:14 <ais523> AnMaster: I'm not that surprised
17:29:49 <AnMaster> and I think I added C-INTERCAL there some months ago
17:30:47 <AnMaster> ais523, check my stack size there, for some time I added a lot of stuff that I used
17:38:06 <ais523> wow... http://www.freebsdsoftware.org/lang/intercal.html
17:38:15 <ais523> it seems that C-INTERCAL's being ported all over the place nowadays
17:40:27 <AnMaster> ah well I got an idea for structs
17:40:56 <ais523> AnMaster: nah, it compiles out-of-box on FreeBSD
17:41:06 <ais523> although I think they fixed the prefix thing independently of you reporting it
17:41:19 <AnMaster> date: 1998/04/17 21:52:16; author: mph; state: Exp; lines: +0 -0
17:42:07 <AnMaster> ais523, is one of the change log entries a poem!?
17:42:21 <AnMaster> date: 2003/03/07 06:05:31; author: ade; state: Exp; lines: +1 -0
17:42:21 <AnMaster> Requiem mors pacem pkg-comment,
17:42:22 <AnMaster> E Nomini Patri, E Fili, E Spiritu Sancti.
17:45:43 <AnMaster> Deewiant, anyway my structs api basically allows converting structs to and from generic pointers
17:49:00 <AnMaster> you 1) define a struct type 2) you instantiate a struct object and get a generic pointer 3) you can then set and get individual fields
17:49:15 <AnMaster> you can also replace step 2 if you get the pointer from a function you called
17:49:25 <AnMaster> Deewiant, does the generic idea seem sane?
17:50:23 <Deewiant> sure, why not, you just use POD functionality but of course it's befunge so I don't think it matters that much :-P
17:50:38 <Deewiant> AnMaster: I do do other things you know, just because I don't answer in a minute...
17:50:47 -!- sebbu has quit (Read error: 110 (Connection timed out)).
17:50:55 <AnMaster> um... and what does this mean in this contex?
17:51:25 <Deewiant> it generally refers to how structs don't have any metadata, no vtable or anything, just what the definition says + padding
17:51:51 <Deewiant> in this case I was thinking that since you manipulate them only through pointers they become kinda opaque
17:51:58 <AnMaster> well of course, why would they have anything else?
17:52:52 <Deewiant> they could have vtables to allow inheritance, for instance
17:52:55 <Deewiant> but they don't, and hence they're POD.
17:52:58 -!- sebbu has joined.
17:53:55 <AnMaster> Deewiant, well this isn't a C++ FFI, it is a C FFI
17:54:11 <Deewiant> you're completely missing my point
17:54:21 <AnMaster> Deewiant, well what did you mean then?
17:54:21 <Deewiant> 2008-07-16 19:51:50 ( Deewiant) in this case I was thinking that since you manipulate them only through pointers they become kinda opaque
17:54:44 <AnMaster> there is no sane way other than pointers if you don't know data at compile time
17:55:27 <Deewiant> I don't know if it actually matters to be honest
17:55:55 <Deewiant> I mean, you can still do memcpy and stuff even though it's behind a pointer...
17:56:03 <Deewiant> shrug, guess it doesn't matter
17:56:13 <Deewiant> except for efficiency but hey, this is befunge :-P
17:56:29 <tusho> Deewiant: I hope that was sarcasm
17:56:50 <tusho> Deewiant: well yeah
17:57:19 <AnMaster> well anyway this CFFI isn't efficient
17:57:48 <AnMaster> it is just about: because I can
18:05:24 -!- Corun has quit ("This computer has gone to sleep").
18:10:53 -!- Sgeo has joined.
18:15:23 -!- ais523 has quit (Remote closed the connection).
18:15:42 -!- ais523 has joined.
18:24:10 <AnMaster> actually I can't implement struct stuff until how I understands exactly how it is done in libffi
18:24:50 <AnMaster> I do understand how it passes structs by value, but now how it pass them by pointer
18:26:48 <AnMaster> A generic `void *' pointer. You should use this for all pointers,
18:26:48 <AnMaster> regardless of their real type.
18:26:54 <AnMaster> however I don't get how to convert then
18:27:04 <ais523> AnMaster: by assignment
18:27:16 <AnMaster> ais523, sure? it doesn't seem to make sense here
18:27:18 <ais523> i.e. if you assign that to a struct foo*, it becomes a struct foo *
18:27:38 <AnMaster> well at runtime using libffi I mean...
18:27:50 <oklopol> ais523: i'll prolly go offline soon
18:28:05 <oklopol> do you have any examples / a spec of some sort for the language?
18:28:20 <AnMaster> oklopol, offline for how long?
18:28:32 <oklopol> AnMaster: for an unspecified amount of time
18:28:55 <oklopol> i don't see how anyone could need me :o
18:29:10 <ais523> oklopol: unfortunately not
18:29:14 <ais523> it's only in my head atm, nowhere else
18:29:28 <AnMaster> oklopol, hope you get back within a few days
18:29:31 <oklopol> ais523: if you feel like writing down examples, would be nice
18:29:42 <oklopol> AnMaster: i will definitely come back within a few days.
18:30:01 <AnMaster> oklopol, going somewhere without internet? </just trying to be nice>
18:30:03 <ais523> ok, maybe this evening or something, now is not a good type for coding from my point of view, I'm sitting on a wooden chair in a cafe of a library which closes in about 30 mins
18:30:24 <AnMaster> ais523, will you move to somewhere else with internet after?
18:30:37 <ais523> I have to get sleep sometime
18:30:40 <ais523> and I'm a bit low on it atm
18:30:44 <AnMaster> ais523, did you make the updates for cfunge?
18:31:23 <oklopol> i will prolly leave like in half an hour.
18:31:34 <AnMaster> ais523, anyway the libffi will be optional, and I suspect it could cause issues when used at the same time as IFFI
18:31:39 <oklopol> i'm going somewhere where i will not use the internet
18:31:43 <AnMaster> it is not impossible it does stack tricks you see
18:31:59 <AnMaster> oklopol, ah, have fun whatever the reason is
18:32:01 <oklopol> and yeah, i don't mind people being nice, it's actually quite nice.
18:32:39 <AnMaster> ais523, and libffi isn't that common, so yeah optional
18:33:29 <oklopol> okay i'll write the parser now, that should be a trivial task
18:34:32 <AnMaster> ais523, I suspect CFFI will be more messy than IFFI
18:34:39 <AnMaster> also it will take quite a bit of time to implement
18:35:09 <AnMaster> ais523, more mess before the preprocessor, but less messy after
18:35:43 <ais523> AnMaster: I suspect it will be less full-featured than IFFI, it doesn't allow calling back into the Befunge from outside for instance
18:36:13 <AnMaster> ais523, yes indeed, as I would need a function pointer to call back to
18:36:45 <AnMaster> and I can't see how to do that
18:37:49 <AnMaster> ais523, however I can't think of a lot of libc functions that I would even think about using from inside befunge, and that accepts callbacks
18:38:06 <ais523> AnMaster: but what if you want to use Befunge routines in a C program?
18:38:08 <AnMaster> atexit from in there makes no sense
18:38:24 <ais523> AnMaster: it's not an unreasonable request, surely?
18:38:33 <AnMaster> you mean call a befunge program from C?
18:38:38 <AnMaster> well that isn't what this does
18:38:58 <AnMaster> the goal here is to call library functions at runtime
18:39:06 <oklopol> >>> parse_eodermdrome("eodermdrome")
18:39:06 <oklopol> {'e': set(['r', 'm', 'd', 'o']), 'd': set(['m', 'r', 'e', 'o']), 'm': set(['r', 'e', 'd', 'o']), 'o': set(['m', 'r', 'e', 'd']), 'r': set(['m', 'e', 'd', 'o'])}
18:39:39 <oklopol> took a while, since i'm coding straight into the prompt
18:39:46 <oklopol> too lazy to make a file :P
18:40:16 <AnMaster> unless you want to loose your works?
18:40:35 <AnMaster> ais523, well afk for a few hours
18:43:43 -!- olsner has quit.
18:44:20 <oklopol> also a few lines of python isn't really that dangerous to lose :D
18:44:42 <oklopol> especially as most of it was stuff real languages like oklotalk hace built in
18:44:52 <tusho> oklopol: betcha python has them
18:45:05 <oklopol> err well a default value dictionary
18:45:20 <oklopol> and dropping all references to a certain object from a data structure
18:45:32 -!- Hiato has joined.
18:46:18 <oklopol> and do remember the key issue is having them built-in, i don't want to import shit.
18:47:02 <tusho> gosh, a modularized standard library!
18:47:06 <oklopol> ais523: write me a small example please, i don't wanna think! :P
18:47:09 <tusho> 'import x' is so hard
18:47:15 -!- 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"").
18:59:48 * AnMaster is happy to see someone else than himself being the target for tusho's sarcasm for once
19:00:27 <lament> in fact, module systems are for losers!
19:00:40 <lament> Real men code in C and put all the code in one big file so they don't have to include anything!
19:00:40 <tusho> lament: and assholes
19:01:40 <AnMaster> lament, well I code C but split it into many files, you could call them modules even
19:02:29 <tusho> They're modules because they're multiple files.
19:03:03 <AnMaster> it is possible to split the c files into a totally non-logical manner
19:03:17 <AnMaster> then include all the C files into one main C file
19:03:28 <lament> tusho: to me, 'module system' implies compartmentalized namespaces
19:03:33 <AnMaster> making sure none of the "modules" work without any other
19:03:38 <tusho> lament: this is called ``sarcasm''.
19:03:51 <AnMaster> lament, ah... well yes I do that most time
19:04:01 <AnMaster> I have Stack* FungeSpace* and so on for function names
19:04:13 <AnMaster> there are a few in the "global" name space then
19:04:37 <AnMaster> lament, of course these are not true namespaces like in C++ or whatever
19:04:44 <tusho> http://article.gmane.org/gmane.linux.kernel/706950
19:04:47 <tusho> masturbating monkeys!
19:06:22 <oklopol> lament: Real men code in C and put all the code in one big file so they don't have to include anything! <<< exactly, except unlike you i'm serious :D
19:07:51 <AnMaster> well tusho you should stop picking on me for using posix_fadvise() ;P
19:08:04 <tusho> AnMaster: oklo-coding is art.
19:08:09 <tusho> twisted, outsider art
19:08:21 <AnMaster> tusho, well mine is another sort of art then
19:08:29 <tusho> AnMaster: yeah ... 'awful' art
19:08:42 <oklopol> anyway, me goes, see ya later
19:08:49 <tusho> PREMODERN POSTEXPRESSIONISM
19:09:14 <oklopol> i'm almost finished with eodermdrome, that is, haven't started yet but i'm sure it's trivial
19:09:20 <AnMaster> hm? Postmodern preexpressionism maybe?
19:09:21 <oklopol> so, you'll see that tomorrow, ais
19:09:32 -!- oklopol has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )").
19:09:53 <AnMaster> btw tusho, why did you change from the nick ehird?
19:10:16 <tusho> i had invented it earlier, didn't really like 'ehird', and right to vanish
19:10:30 <tusho> right to vanish is harder if you use your real name.
19:11:21 <AnMaster> anyway CFFI draft will need some more work
19:11:29 <AnMaster> before I can even think about implementing it
19:11:49 <AnMaster> it won't work the way I did it, but now I think I can see how to do it properly
19:14:39 <AnMaster> tusho, also if you read the cfunge readme you would know that there are a few other fingerprints except TRDS that I won't implement
19:14:50 <AnMaster> I wonder why you haven't bugged me
19:15:11 <tusho> like I've downloaded cfunge
19:15:29 <AnMaster> so that is the only way to find out
19:15:41 <AnMaster> heck, even ccbi doesn't implement some of those
19:15:54 <tusho> i will download it immediately to see.
19:16:05 <AnMaster> tusho, well one because it contradicts Funge98 specs
19:17:29 <AnMaster> yes, iirc the mycology readme or the ccbi readme mentions it
19:17:36 <AnMaster> mycology certainly doesn't test it
19:18:38 <lament> i just realized that i can't type !!!!!!111 by accident
19:18:59 <lament> i think it's an OS X feature.
19:19:11 <lament> If i press shift and hold 1
19:19:25 <lament> once I release shift, it stops typing.
19:19:38 <lament> same with any other key
19:19:54 <AnMaster> clearly Apple want's to kill l33t sp33k
19:19:56 <tusho> it's good behaviour
19:20:13 <tusho> it's the little things
19:20:16 <lament> it's one of those things that seem completely obvious in retrospect
19:20:38 <AnMaster> lament, well I could probably set something in X to cause same effect I think
19:21:12 <AnMaster> I think I even seen an option for it
19:21:24 <lament> but with little things, it's very important that the default setting is sane
19:21:51 <lament> and it's all about the little things :)
19:22:04 <AnMaster> lament, but how do you change that on os x
19:22:11 <lament> AnMaster: well, case in point: YOU didn't change your X setting.
19:22:12 <tusho> AnMaster: system preferences->keyboard
19:22:13 <AnMaster> so the shift thing works as it does on other platforms
19:22:23 <AnMaster> lament, because I don't need it
19:22:32 <tusho> AnMaster: will you ever need the opposite?
19:22:36 <tusho> I don't see a good case for it
19:22:42 <tusho> safe for games, which already override that stuff
19:23:12 <tusho> but games already get keypresses directly
19:23:14 <tusho> so they don't get that behaviour
19:23:30 <AnMaster> tusho, anyway a reason: nostalgia :P
19:23:54 <tusho> yeah see os x is designed for using :-)
19:24:16 <lament> defaults are important because there's thousands of little things like this
19:24:28 <lament> none of which, taken individuall, matters a whole lot
19:27:47 <AnMaster> hm I got a better idea for providing the parameter details, basically giving the info as a string of some sort
19:28:17 <AnMaster> easier to write the befunge code than having to worry about integer values for them
19:29:07 -!- olsner has joined.
19:58:53 -!- Slereah2 has joined.
20:26:23 <AnMaster> Deewiant, a bug in ccbi, I was implementing FRTH and got:
20:26:55 <AnMaster> I just tested that my D in FRTH worked
20:27:26 <tusho> AnMaster: a bug in MYCOLOGY
20:28:07 <Deewiant> of course you know that if the function is empty, it doesn't work :-P
20:28:20 <Deewiant> but if it would pop even one value it would detect it correctly :-P
20:29:06 <AnMaster> Deewiant, I'm not clear on what they should do
20:29:08 <Deewiant> in general I assume that the instruction at least pops the right number of arguments
20:29:26 <Deewiant> I can't remember either, read up on FORTH and find out
20:29:55 * AnMaster takes the second, easier, path
20:37:04 <AnMaster> Deewiant, ooh I was studying your stack code
20:37:11 <AnMaster> seems you *do* care about performance
20:37:25 <AnMaster> according to a comment in container.d lines 44 to 58
20:38:35 <AnMaster> tusho, http://rafb.net/p/tJYDmC47.html
20:39:28 <tusho> AnMaster: /++/ is just nestable comments
20:39:45 <AnMaster> why not make /**/ nestable in D?
20:40:02 <tusho> because it's useful
20:40:06 <AnMaster> after all D, unlike C++, doesn't aim for supporting C
20:40:15 <AnMaster> tusho, how is non-nestable comments useful?
20:40:23 <tusho> AnMaster: Think a bit.
20:40:36 <AnMaster> I guess with some crazy macros it could be useful?
20:40:37 <lament> think a bit, you fucking stupid moron retard.
20:41:02 <AnMaster> but I can't think of a place where I used the feature that /**/ aren't nestable
20:41:13 <AnMaster> plenty of places where I wanted it nestable (in macros)
20:41:40 <AnMaster> tusho, thought, no result returned
20:43:13 -!- Slereah__ has joined.
20:43:28 <lament> AnMaster: i have no clue :D
20:43:49 <tusho> i'm allowed to be lazy and unhelpful
20:43:49 <Deewiant> AnMaster: rather, it's because I first implemented a Stack before finding out I needed a Deque.
20:44:04 <lament> tusho: Stop reopening the bug!!!
20:44:26 <AnMaster> Deewiant, ok, but why that comment then?
20:44:29 <Deewiant> but sure, I care about performance, I'm just not stupid about it. :-P
20:44:40 <Deewiant> well, it explains why we don't just use a Deque all the time.
20:44:59 <AnMaster> yes I can see how it would be slower
20:45:06 <AnMaster> a stack can be pretty fast really
20:45:17 <AnMaster> but if you need to move the base of the stack too... slower
20:47:49 <Deewiant> AnMaster: the reason /**/ isn't nestable in D is because Walter thinks it's a good idea to be as close to C/C++ as possible if the syntax looks like C/C++.
20:48:28 <AnMaster> Deewiant, still I'm all for using the other arithmetic operators too! :P
20:48:49 <Deewiant> a lot of people, including me, disagree about that, but in this case it doesn't matter since we can just use /++/ for nesting.
20:48:55 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
20:48:55 <Deewiant> sure, but for what purpose? :-P
20:49:11 <AnMaster> Deewiant, to poke fun at Walter
20:49:33 <AnMaster> anyway yes there are good reasons to keep some syntax similar to C
20:49:49 <AnMaster> but non-nestable comments... wtf
20:49:52 <Deewiant> the point was that if the syntax is similar the semantics should also be
20:50:04 <AnMaster> Deewiant, that makes sense in some cases
20:50:12 <Deewiant> often there are good arguments against it though, but Walter's stubborn
20:50:27 <Deewiant> like said, for this I think it's fine
20:50:32 <Deewiant> especially since they are useful in some cases
20:50:35 <AnMaster> is the D language an ISO standard?
20:50:57 <AnMaster> then just one man can have too much power over it
20:51:09 <AnMaster> Deewiant, ok, why are non-nestable comments useful
20:51:30 <Deewiant> they're sometimes handy in debugging for commenting out large blocks of code
20:51:58 <Deewiant> you just put one */ at some point and keep adding /* earlier and earlier
20:52:40 <AnMaster> to print the value at each specific time point
20:53:01 <Deewiant> I generally prefer just printf debugging, but that's an opinion
20:53:05 <Deewiant> there are some cases where you can't use a debugger
20:53:26 <Deewiant> for instance, when the code behaves differently with and without -g
20:53:39 <Deewiant> or when you're debugging a concurrent app running on multiple computers
20:53:54 <Deewiant> to name two cases that I've run into :-P
20:55:44 <AnMaster> <Deewiant> for instance, when the code behaves differently with and without -g <-- thankfully that never happened to me
20:56:03 <Deewiant> or even, differently with or without gdb attached
20:56:05 -!- olsner has quit (Read error: 104 (Connection reset by peer)).
20:56:07 <AnMaster> anyway -g wouldn't make a difference, unless your program is actually reading the debug info, say if you are writing a debugger
20:56:11 <Deewiant> i.e. -g is fine as long as you don't actually debug :-P
20:56:16 <AnMaster> Deewiant, and in that case, try core dump
20:56:35 -!- olsner has joined.
20:56:58 <Deewiant> unless you're on a machine with the hard ulimit for core dumps set to 0 :-)
20:57:15 <Deewiant> I've actually never debugged from core dumps
20:57:33 <Deewiant> wouldn't necessarily know what to do with one, I haven't actually looked at one in years :-P
20:58:08 <AnMaster> gdb path/to/program path/to/core
20:58:25 <AnMaster> that will be like entering gdb just at the time of SIGSEGV or whatever
20:58:49 <Deewiant> although, I rarely have bugs that lead to core dumps
20:59:12 <AnMaster> that is because you don't code much in C I assume
20:59:28 <Deewiant> could be that, but even in C not so much
20:59:39 <Deewiant> the few segfaults that I get I can usually pin down quickly and easily
20:59:40 <AnMaster> anyway wth did I put that music file
20:59:45 <Deewiant> after that it's just logic errors
20:59:59 <AnMaster> but it is because /home is too big to index
21:00:06 <AnMaster> Deewiant, yes I am doing that atm
21:01:35 <AnMaster> oh xine history may have it *greps*
21:01:47 <AnMaster> aha.... on a partition not mounted by default....
21:03:02 <AnMaster> Deewiant, aye, mount | wc -l outputs 37
21:03:24 <AnMaster> because of all bind mounts for 32-bit chroot
21:03:35 <Deewiant> but, keep your stuff in one place
21:03:40 <Deewiant> if it's music, it's on the music partition
21:03:42 <AnMaster> a chroot I haven't needed for over half a year
21:03:53 <AnMaster> I got like 100 MB of music at most
21:03:54 <Deewiant> or music directory on the data partition
21:04:33 <AnMaster> Deewiant, well that makes no sense, some music I like is in the src partition, because it is game music from open source games I play (I use svn version of them)
21:04:41 <AnMaster> yet I like to listen to that music anyway
21:05:06 <Deewiant> so softlink from your music directory to there, or just copy
21:05:40 <pikhq> So save up $200 and get a terabyte drive. :p
21:06:07 <AnMaster> 200 U.S. dollars = 1 201.31664 Swedish kronor
21:06:37 -!- strokov has joined.
21:06:46 -!- strokov has quit.
21:07:17 -!- ihope has changed nick to Normish.
21:07:32 -!- pikhq has left (?).
21:07:51 -!- Normish has changed nick to ihope.
21:17:28 -!- olsner has quit.
21:23:19 <AnMaster> Firefox can't find the server at www.google.com.
21:24:04 <Deewiant> or one such IP, I guess there are many
21:34:19 -!- CakeProphet has quit ("lolwhut?").
21:39:05 <AnMaster> ok, this is strange, L that was rather complex to implement worked on first try
21:39:16 <AnMaster> however P that looks easy, well I can't manage it
21:40:51 -!- Slereah__ has quit (Read error: 60 (Operation timed out)).
21:41:43 -!- Hiato has quit (Read error: 104 (Connection reset by peer)).
21:59:04 -!- Slereah2 has joined.
22:03:40 -!- Slereah__ has joined.
22:09:04 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
22:09:24 -!- Slereah2 has joined.
22:13:39 -!- Slereah__ has quit (Read error: 60 (Operation timed out)).
22:15:11 -!- Slereah__ has joined.
22:17:57 <AnMaster> tusho, what do you think of colorforth?
22:18:36 <tusho> charles moore is vaguely creepy and a little insane, colorforth is kind of neat but prone to crashing (its kind of elitist - KNOW WHAT YOU'RE DOING!!!!!!!21212), colorforthray.info reminds me of time cube.
22:18:45 <AnMaster> I think it sucks, because as far as I understand of how it works it discriminates colour blind people.
22:20:11 <tusho> AnMaster: lol. no.
22:20:18 <tusho> he's written a paper on colorforth using just typography
22:20:22 <tusho> bold, underlined etc
22:20:34 <tusho> also, rejecting technology just because it isn't available to everyone is pretty crap thinking
22:20:39 <tusho> give it a try before calling judgement like that
22:20:46 <tusho> it's certainly not a sole reason for anything to suck
22:20:49 <AnMaster> tusho, what about those that can only read using braille?
22:20:58 <tusho> AnMaster: i hope you're not being serious
22:21:03 -!- pikhq has joined.
22:21:11 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
22:21:27 <AnMaster> tusho, there is a school for blind ppl just a few kilometers from here, so I got quite a few blind friends
22:21:33 -!- RedDak has joined.
22:21:43 <tusho> but you can obviously do typography with braille.
22:24:45 -!- Slereah__ has quit (Read error: 60 (Operation timed out)).
22:25:08 -!- Slereah2 has joined.
22:29:24 -!- Slereah__ has joined.
22:33:40 -!- Judofyr has quit.
22:35:24 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
22:35:42 -!- Slereah2 has joined.
22:41:27 -!- Slereah__ has quit (Read error: 60 (Operation timed out)).
22:42:26 -!- CakeProphet has joined.
22:48:57 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
23:14:08 -!- Slereah__ has joined.
23:19:15 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
23:43:43 -!- Slereah2 has joined.
23:49:45 -!- Slereah__ has quit (Read error: 60 (Operation timed out)).
23:56:34 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
23:56:43 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
00:03:21 -!- Corun has joined.
00:38:08 -!- Slereah2 has joined.
00:44:08 -!- augur has joined.
00:46:01 <GregorR> Ize in the back of ur hed!
00:46:07 -!- Slereah__ has joined.
00:51:21 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
00:54:25 <GregorR> So, I'm going to make a web site where multiple people can upload separate one-track MIDIs given a predetermined key, time signature and tempo, and then it mixes them together so you can see how terrible the result is.
00:54:40 <GregorR> The concept was invented (probably re-invented) by some friends of mine, they call them masterpieces.
00:54:50 <GregorR> Anyway, I think this website deserves a time challenge.
00:55:06 <GregorR> e.g. how fast can I make a sort-of-complicated web site :P
01:01:27 -!- Slereah__ has quit (Read error: 60 (Operation timed out)).
01:06:49 -!- Sgeo has joined.
01:12:23 -!- tusho has quit.
01:12:41 -!- Slereah2 has joined.
01:22:54 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
01:23:04 -!- Slereah__ has joined.
02:26:34 -!- Slereah2 has joined.
02:30:01 -!- Slereah__ has quit (Read error: 60 (Operation timed out)).
02:35:59 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
02:38:54 -!- Slereah__ has joined.
02:48:08 -!- Slereah2 has joined.
02:50:37 -!- Slereah__ has quit (Read error: 60 (Operation timed out)).
02:53:01 -!- calamari has joined.
03:05:35 -!- Slereah__ has joined.
03:05:40 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
03:13:41 -!- Slereah2 has joined.
03:20:26 -!- Slereah__ has quit (Read error: 60 (Operation timed out)).
03:20:37 -!- adu has joined.
03:21:11 <adu> oklopol? nice
03:28:06 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
03:44:13 <augur> oklopol isnt here :(
03:44:29 <adu> you are :)
03:44:59 -!- Corun has quit ("Yarr.").
04:07:10 <adu> augur: so what do you do?
04:07:32 <adu> augur: I like to learn about as many proglangs as possible
04:07:45 <adu> augur: then I focus on ones I like in detail
04:08:59 <augur> i like to find interesting and new paradigms
04:29:23 -!- ihope has quit ("ChatZilla 0.9.82.1 [Firefox 2.0.0.15/2008062306]").
04:40:22 -!- Sgeo has quit (Remote closed the connection).
05:05:23 -!- pikhq has quit ("leaving").
05:14:12 <adu> augur: my favorite so far is a certain thing I don't have a name for
05:14:46 <adu> its like OOP only the kind that only Smalltalk and Io are good approximations to
05:15:09 <adu> its like Javascript's prototype-based classes
05:15:25 <adu> its like Python and Mathematica
05:16:01 <adu> have you used Prolog?
05:16:08 <adu> its a mind-f***
05:16:40 <augur> i like prolog. but its nothing magical.
05:16:53 <adu> Have you heard of Meta?
05:17:00 <adu> Have you heard of Subtext?
05:17:26 <adu> Have you heard of Funge?
05:17:27 <augur> meta no, subtext maybe
05:18:00 <adu> http://www.cwi.nl/htbin/sen1/twiki/bin/view/Meta-Environment
05:18:01 <adu> http://www.subtextual.org/
05:18:41 <adu> augur: have you heard of the language i'm designing?
05:19:14 <augur> i dont know, whats it called
05:20:12 <adu> I don't have a name for it yet, but was thinking of calling it "uh" or "xylo" or "rose"
05:21:46 <adu> the core idea of my lang is that it is a strongly-typed language with both homogeneous and heterogeneous built-in data structures
05:22:59 <adu> the major benefit I see from this is that it allows reflection since you can represent a for-loop or a function-def as a first-class object
05:25:39 <adu> by having sets, maps, lists, ordered maps builtin, it adds new expressiveness to seemingly simple operators
05:26:46 <adu> so "case x [a: b, c: d]" would be different than "case x {a: b, c: d}"
05:33:41 -!- adu has quit.
05:35:35 -!- GreaseMonkey has joined.
05:41:54 <AnMaster> GregorR, about MIDI: it is painful to parse
05:43:00 <AnMaster> <augur> funge, boring. <-- stop insulting ;P
06:40:52 <GregorR> AnMaster: That's why you use preexisting libraries, of course.
07:35:52 -!- CakeProphet has left (?).
07:44:41 -!- calamari has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:22:15 -!- seveninchbread has joined.
09:07:07 <AnMaster> GregorR, I don't know any for parsing midi
09:07:25 <AnMaster> I would actually find one useful
09:27:28 <augur> http://www.flickr.com/photos/psygnisfive/tags/sky/
09:27:44 <GregorR> AnMaster: http://staff.dasdeck.de/valentin/midi/
09:27:52 <GregorR> AnMaster: First result searching for "PHP MIDI"
10:23:32 -!- tusho has joined.
10:40:14 <tusho> GregorR: not one track
10:40:28 <tusho> which are looped and mixed and effect'd and repeat'd randomly
10:40:31 <tusho> as the full track in the result
10:40:43 <tusho> if you submitted stuff droney enough you'd end up with some weiiird ambient music :P
10:46:01 <tusho> GregorR: i mean, it might actually sound good.
11:03:34 -!- GreaseMonkey has quit ("Remote closed the previous member app").
11:08:04 -!- olsner has joined.
11:16:09 <olsner> 1200 spänn för en terabyte-disk är ju helt okay
11:18:16 <olsner> ... but 500-750GB seems to be cheaper per GB than the terabyte disks
11:18:28 -!- tusho has left (?).
11:18:32 -!- tusho has joined.
11:18:33 -!- tusho has left (?).
11:18:38 -!- tusho has joined.
11:32:34 <AnMaster> <olsner> 1200 spänn för en terabyte-disk är ju helt okay
11:32:35 <AnMaster> <olsner> ... but 500-750GB seems to be cheaper per GB than the terabyte disks
11:32:57 <tusho> AnMaster: same time as yesterday, roughly
11:33:01 <tusho> Well, about 30 minutes earlier.
11:33:03 <olsner> AnMaster: that's what *I* said :P
11:33:08 <AnMaster> jag har bara plats för en SATA-disk till
11:33:22 <olsner> aj då, då är du väl så illa tvungen att köpa den största som finns
11:33:36 <AnMaster> well better use English or tusho will feel left out
11:34:09 <olsner> unless you replace one or more disks with a new one, or get a wardrobe computer as a receptacle for additional disks
11:34:15 <AnMaster> in any way I would do a clean gentoo install on it, my current partitioning scheme is quite messed up
11:34:27 -!- seveninchbread has quit ("lolwhut?").
11:34:41 <AnMaster> olsner, I mean the mobo only got one more SATA connector
11:34:47 <AnMaster> I think the case can hold 3 more disks
11:35:17 <AnMaster> as I already got an old PATA (80 gb) + a SATA (350 GB)
12:09:42 <tusho> 12:09pm up 105 days 15:54, 0 users, load average: 1.59, 2.04, 2.00
12:10:50 <fizzie> 14:10:42 up 228 days, 4:46, 12 users, load average: 0.00, 0.00, 0.00
12:10:58 <fizzie> 228 days and completely useless (load 0).
12:11:34 <fizzie> And no UPS. I can pretty much use "uptime" to check when the previous blackout was.
12:12:57 <fizzie> Hmm, the laptop-turned-Xen-server apparently survived previous electricity problems, because it's got an uptime of 273 days now.
12:17:30 <tusho> fizzie: Thing is, this computer goes on standby at night.
12:17:32 <tusho> So it's kind of cheating
12:19:46 <fizzie> Ohhh. Yes, it's a bit easier that way.
12:20:40 <tusho> fizzie: I _have_ left it on overnight.
12:20:42 <tusho> And it's not that loud.
12:20:47 <tusho> But, you know. I don't need it in the night.
12:20:50 <tusho> Unless I'm running a torrent.
12:23:42 <fizzie> Yes, I was actually thinking of doing the suspend-it-at-night thing for my workstation (which is bit of loudish for bedroom use) if I ever get motivated enough to move elsewhere the one last service (postgres) running on it that the web-server-laptop depends on.
12:32:36 -!- seveninchbread has joined.
12:32:56 <tusho> Might be an idea :-p
12:38:16 <fizzie> On the other had, the irregular cat-induced noises are more distracting than the low hum from the computer, and I still manage to sleep well enough to need two alarm clocks to actually wake up. So I guess it's not a priority.
12:38:48 <fizzie> Of course turning it off would conserve power and Save The Planet, I guess.
12:40:07 <tusho> fizzie: But standby KILLS TREES</eco advert>
12:40:18 <tusho> p.s. lol colloquy is using 98% of cpu brb.
12:40:21 -!- tusho has quit ("And then-").
12:40:44 -!- tusho has joined.
12:54:24 -!- oklopol has joined.
12:55:08 <oklopol> turned out i'm not sure how the rewrites work
12:55:18 <oklopol> perhaps it's pen and paper time
12:56:15 <tusho> oklopol: want another infuriating game?
12:56:27 <tusho> http://www.geocities.jp/z_gundam_tanosii/home/applet/Main.html
13:17:06 <oklopol> tusho: that's a retarded game
13:17:22 <tusho> it's super mario bros
13:19:07 <oklopol> well yes, it's similar in graphics, just worse movement, uglier, and tons more annoying levels
13:25:05 <oklopol> but yeah, that's kinda infuriating, another game where everything is trivial, you just don't know what you have to do, and have to explore blindly.
13:25:33 <oklopol> iwbtg at least offered a few minutes of challenge once you figured out what hazards the level held
13:26:17 <oklopol> i think i know the rewrite rules now, time to do the pythonification
13:26:43 <tusho> the movement is intentional
13:28:48 <oklopol> and that has to do with anything because..?
13:30:19 <oklopol> of course it's intentional, it's not like the code to make it slide around and always jump the same amount wrote itself
13:31:06 <oklopol> right, my face, forgot all about it
14:03:23 -!- Corun has joined.
14:38:15 <AnMaster> <oklopol> but yeah, that's kinda infuriating, another game where everything is trivial, you just don't know what you have to do, and have to explore blindly.
14:41:20 -!- olsner has quit.
14:42:12 <tusho> revision 5461 (C) 1987 Ifnocmo systems
14:42:15 -!- seveninchbread has quit (Remote closed the connection).
14:42:24 <tusho> LOADING tush.glo......................................Done
14:42:35 <tusho> You are in a room.
14:42:48 <tusho> I don't understand.
14:42:55 <AnMaster> <tusho> revision 5461 (C) 1987 Ifnocmo systems
14:43:11 <tusho> Infocom stole my name, actually.
14:43:31 <tusho> You are in a room. It is infinitely large. There is a cat here.
14:43:42 <tusho> It grows a k in the process.
14:44:17 <AnMaster> yes right was "go to right"...
14:44:48 <AnMaster> unless it is one of those games using compass direction instead?
14:45:54 <tusho> You go west forever and end at the edge of the infinite room.
14:45:58 <tusho> There is a model of the earth there.
14:46:59 <tusho> You look carefully and can see yourself typing away on the keyboard the line "investigate earth".
14:47:06 <tusho> Interestingly, a few seconds later, you see tusho typing the line:
14:47:08 <tusho> You look carefully and can see yourself typing away on the keyboard the line "investigate earth".
14:47:54 <tusho> You pick up the earth and stick it in your endless pockets along with the kat.
14:49:06 <tusho> You go north forever.
14:49:13 <tusho> In front of you is everything.
14:49:42 <tusho> You look at everything.
14:49:43 -!- atsampson has quit (Read error: 113 (No route to host)).
14:49:45 <tusho> It's vaguely disconcerting.
14:50:27 <tusho> You dig everything, by which you mean the slang term for appreciating it.
14:50:31 <tusho> Yourself says "Hello".
14:50:59 <tusho> You fly into the sky. Yourself flies up too.
14:51:33 <tusho> You go east and bash into yourself.
14:51:40 <tusho> You say "oof". Yourself says "ow".
14:51:55 <AnMaster> > say "What is the goal of this game?"
14:52:06 <tusho> "You must find that in yourself."
14:52:23 <tusho> You go south, and see a door. Yourself opens it.
14:52:25 -!- atsampson has joined.
14:52:42 <tusho> You enter the door, and yourself follows behind.
14:52:47 <tusho> You are in heaven.
14:53:20 <tusho> You have 4 points.
14:53:44 <tusho> You stub your toe.
14:55:20 <AnMaster> "stub your toe"? I'm sorry but I don't understand what that means, I'm not a native speaker after all
14:55:37 <tusho> Bashing your toe on the end of it, basically.
14:55:46 <tusho> often happens when you trip when walking.
14:57:48 <tusho> You go south. There is a forth wall there.
14:58:19 <tusho> AnMaster: Wait, is forth wall an english idiom that you don't get
14:58:42 <tusho> The 'forth wall' is the imaginary world seperating, e.g., characters in a TV show from the audience.
14:58:53 <tusho> 'breaking the forth wall' is like when a character looks at the camera and talks to the audience
15:00:24 <tusho> You have a kat and the world.
15:01:48 <tusho> You loot the world.
15:02:18 <AnMaster> use TNT and back away to a safe distance from the wall
15:02:35 <tusho> You break it. You see two people typing at computers behind the wall.
15:02:39 <tusho> You look at them. They look at you.
15:03:39 <tusho> You turn to them. They turn to you. "Hi, I'm AnMaster" you say. "No, you're the character I'm playing. _I'm_ AnMaster." "Nuh-uh. In this game, you are your own character."
15:05:05 <tusho> """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""stack overflow
15:05:34 <tusho> (I am the narrator, so I am relaying messages in "quotes". However, I am quoting what I am saying, which is the current line I'm typing. So, infinite loop.)
15:08:40 <tusho> You quit the room into the portal which contains the rooms of both tusho and AnMaster.
15:09:39 <tusho> You can never quit this game.
15:09:50 <tusho> [Adventure Lad sez: This game is real life!]
15:35:14 -!- pikhq has joined.
15:49:54 -!- ais523 has joined.
15:50:36 <tusho> and I just came back too
16:01:41 -!- tusho has quit ("And then-").
16:01:59 -!- tusho has joined.
16:09:11 -!- Slereah2 has joined.
16:17:11 -!- Hiato has joined.
16:22:30 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
16:23:12 -!- Slereah2 has joined.
16:33:45 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
16:34:00 -!- olsner has joined.
16:38:40 -!- Slereah__ has joined.
16:45:34 -!- Slereah2 has joined.
16:49:17 -!- Slereah__ has quit (Read error: 60 (Operation timed out)).
16:53:23 -!- Slereah__ has joined.
16:56:01 -!- Sgeo has joined.
16:56:25 -!- olsner has quit.
16:58:40 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
17:01:02 -!- Slereah__ has quit (Read error: 60 (Operation timed out)).
17:06:12 <oklopol> ais523: didn't notice you there
17:06:20 <oklopol> well, the part of it i know
17:06:48 <ais523> that's probably the most important part, doing the rest of it should be easy from there
17:06:56 <oklopol> atm i'm using python lists of the form (node, [connection]) as the graph representation.
17:07:13 <oklopol> but quite easy to fix, i just didn't want to make a nice interface for myself
17:07:29 <ais523> I didn't expect it to be fast
17:07:32 -!- lilja has joined.
17:08:27 <oklopol> except for the fact i'm using a sucky data representation
17:08:53 <oklopol> but it's basically just a matter of abstracting all the weirdness away and i can change the structure easily
17:09:14 <oklopol> the problem is i just have that one ring example to test with
17:09:25 <oklopol> no idea if it works for others, as the code is very, very ugly atm :P
17:13:21 <oklopol> http://www.vjn.fi/pb/p565155612.txt
17:13:46 <oklopol> not very readable output, i could make a parser into the letter form i guess
17:13:49 <ais523> maybe I'll have to come up with an example...
17:13:59 <oklopol> just checked, and at least @ step 7 it seems to be correct
17:14:35 <oklopol> i'll prettify the code a bit now, do you read python?
17:14:48 <ais523> yes, I can read python
17:14:53 <ais523> I've written bits in it before
17:15:02 <ais523> but I normally only use it for OO stuff, and I don't do OO very often
17:19:27 -!- ais523_ has joined.
17:19:55 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
17:19:57 -!- ais523_ has changed nick to ais523.
17:20:10 <ais523> [17:20] [CTCP] Received CTCP-PING reply from ais523: 21 seconds.
17:20:17 <ais523> sorry about that, I'm having connection trouble
17:20:22 <ais523> what did you say recently, if anything?
17:24:25 -!- timotiis has joined.
17:25:13 <oklopol> i haven't taken into account the case where
17:25:43 <oklopol> you have like a rewrite abcd abc == drop more than just a connection
17:25:50 <oklopol> i mean drop an actual node
17:26:02 <oklopol> the original example just had a connection drop
17:26:25 <ais523> although abcd abc would be a bit strange, it would drop a 'tail' at the end of any three connected nodes
17:26:32 <ais523> because anything could link to the a, b, or c
17:26:40 <ais523> but the d would have to link only to the c
17:27:12 <tusho> #define cons(a,b) a,b
17:27:16 <tusho> #define car(a,...) a
17:27:25 <tusho> #define cdr(a,...) __VA_ARGS__
17:27:40 <tusho> you need extra parens
17:27:41 <ais523> tusho: but you can't have an eval, so that's of limited use
17:27:54 <oklopol> http://www.vjn.fi/pb/p646231414.txt
17:27:58 <tusho> ais523: well cpp isn't tc
17:27:59 <tusho> but it's still fun
17:28:00 <ais523> besides you can do it even in C89, using nested parens
17:28:05 <oklopol> i don't expect you to be able to read that, but you might be able to test it
17:28:27 <tusho> it's not too unreadable oklopol
17:28:29 <oklopol> rewrite does have some comments, they might give some hints
17:28:39 <tusho> it's an import!!1111
17:28:46 <tusho> your oklo license is revoked.
17:29:22 <oklopol> but hey, i'm using it because i'm doing functional & imperative changes so randomly dispersed i have no idea whether i even need the copies!
17:29:30 <oklopol> well i do, but i didn't when i imported it
17:32:50 <oklopol> okay i think it can drop nodes now
17:34:55 <oklopol> okay, it looks like it works
17:35:50 <ais523> oklopol: starting with bacadae, what happens when you use the rewrite rule ab dcbcecf?
17:36:04 <oklopol> rewriting abc with ab->a and ab->b give results a_c and bc, of course could both produce either result, but in practise this somewhat proves it worked
17:36:17 <ais523> just coming up with another example off the top of my head
17:37:38 <oklopol> http://www.vjn.fi/pb/p545325321.txt
17:38:10 * tusho notices the irony of supertux on os x
17:38:43 <oklopol> basically you have a star, and you kinda blow it up into new starts
17:38:50 <ais523> can you explain the format you're using?
17:39:25 <ais523> why are there a lot of nodes that don't link to anything?
17:39:29 <oklopol> each element E in the list represent the node first E connected to all of (second E)
17:39:39 <oklopol> because the a that's dropped
17:39:47 <oklopol> can be the link to what's keeping it together
17:39:53 <ais523> also everything seems to be connected to [11]
17:39:55 <ais523> which doesn't seem to exist
17:40:02 <oklopol> oh, well that is prolly wrong.
17:44:15 -!- timotiis_ has joined.
17:45:34 <oklopol> ais523: it correctly leaves some guys without connectinos
17:45:47 <oklopol> but, i need to rename shit as i rewrite
17:46:09 <oklopol> forgot to rename some of the connections, so
17:46:18 <oklopol> the 11 you see there, is only 11 in the connection lists, and 13 as the actual node
17:48:49 <oklopol> ah, right, right, the problem is just that i'm doing the renamings one by one
17:49:14 <oklopol> so if you have *interconnected* new cells, some of them will refer to the old guys, some to the renamed ones
17:49:23 <oklopol> so i just need to do a separate renaming loop
17:54:48 <oklopol> [(0, []), (2, []), (4, []), (5, []), (13, [14, 15, 16, 17]), (15, [13]), (16, [13]), (17, [13])]
17:55:25 <oklopol> wait i'll show the actual result
17:55:30 -!- timotiis has quit (Read error: 110 (Connection timed out)).
17:56:21 <oklopol> http://www.vjn.fi/pb/p535322355.txt
17:56:45 <oklopol> first step looks correct, unless you want it to do something cleverer in that situation, i didn't check the rest
17:56:58 <ais523> because it isn't changing the graph at all
17:57:03 <ais523> you end up with the same graph on every step
17:57:16 <oklopol> just looked at the first one
17:57:28 <ais523> the first one is also wrong
17:57:54 <oklopol> umm, what should the result be then?
17:58:06 <oklopol> [(3, [0, 2, 4, 5]), (0, [3]), (2, [3]), (4, [3]), (5, [3])]
17:58:18 <oklopol> [(11, [6, 9, 10, 12]), (6, [11]), (9, [11]), (10, [11]), (12, [11])]
17:58:30 <oklopol> [(0, []), (2, []), (4, []), (5, []), (13, [14, 15, 16, 17]), (15, [13]), (16, [13]), (17, [13])]
17:58:44 <oklopol> current match tells us what was matched against what
17:59:03 <ais523> oklopol: that match is incorrect; because the 8 is on only one side of the rewrite rule, it's not allowed to match 3 because they have different degrees
17:59:29 <ais523> things on both sides of the rewrite rule can have extra connections
17:59:33 <ais523> things on only one side can't have
17:59:40 <ais523> I think I said this before, but possibly I wasn't clear
17:59:51 <oklopol> well i missed all your rewriting explanations
18:00:03 <oklopol> just took the obvious approach
18:00:06 <ais523> and I need to get around to writing a spec and some examples
18:00:10 <oklopol> but yeah, that's an obvious enhancement
18:00:19 <oklopol> i'll fix that, should be a simple job
18:03:35 <ais523> I'll spec up the I/O too while I'm at it
18:08:19 <AnMaster> ais523, anything you wish to speak about?
18:10:48 -!- timotiis_ has quit (Read error: 104 (Connection reset by peer)).
18:16:11 -!- Corun has quit ("This computer has gone to sleep").
18:17:49 <oklopol> http://www.vjn.fi/pb/p311541526.txt
18:17:58 <oklopol> ais523: what about this one? in case you can see right away
18:21:08 <oklopol> it seems 3 is, for some reason, renamed to 14
18:24:13 <oklopol> how about now? http://www.vjn.fi/pb/p463545331.txt
18:24:24 <oklopol> forgot debug info there :P
18:24:35 <oklopol> also a typo in the debug info.
18:24:50 <oklopol> but i now realize that's almost crucial
18:25:01 <oklopol> let's make sure the old one still works :)
18:28:02 <oklopol> lol, actually seems the match now fails for that one.
18:28:34 <oklopol> i'll debug, damn i wish i wasn't this stubborn, i could just have written the program well-structured to begin with :P
18:31:11 <tusho> oklopol: a well-structured oklopol program would be weird
18:31:35 <tusho> classes when appropriate, legible names, use of the standard library features, whitespace in the right places...
18:31:37 <tusho> it'll never happen
18:31:57 -!- tusho has quit (Remote closed the connection).
18:32:09 <oklopol> oh actually once again the actual program logic was correct, i just failed to call the functions right \o/.
18:32:13 -!- tusho has joined.
18:32:25 <oklopol> if you rewrite from A to B
18:32:29 <oklopol> you need the same namespace for them
18:32:39 <oklopol> i forgot to pass the same namespace, passed the empty dict
18:33:06 <ais523> oklopol: one thing which would be nice but not necessary would be to put the graphs back into eodermdrome-format for printing
18:33:10 <AnMaster> <tusho> classes when appropriate, legible names, use of the standard library features, whitespace in the right places...
18:33:22 <oklopol> ais523: i know, wondered whether i should do that
18:33:37 <oklopol> tusho: i actually use classes quite a lot
18:33:48 <oklopol> but true, not always where appropriate
18:33:53 <tusho> oklopol: well yeah, but not very consistently and you have loads of standalone functions operating on classes
18:34:09 <tusho> also, i think a more legible oklo program could actually be shorted
18:34:18 <tusho> due to the whole 'pillage the standard library' thing
18:34:33 <oklopol> usually i just import functions, my own random shit library
18:34:43 <tusho> yes, this is hypothetical
18:35:16 <oklopol> whitespace will indeed probably never happen
18:35:23 <oklopol> in python, that is, gets so ugly
18:35:29 <AnMaster> oklopol, you code in python right?
18:35:41 <AnMaster> so your indention whitespaces will be right at least?
18:35:42 <oklopol> i don't like it when there are empty spots.
18:36:06 <oklopol> i always do indentation correct, python has taught me that
18:36:31 <AnMaster> oklopol, why does it "looks awful"
18:36:49 <oklopol> err, because there isn't a space between foo and bar anywhere, i guess
18:36:54 <oklopol> makes it look kinda unbalanced.
18:37:13 <oklopol> "objectively, it is more readable"?
18:37:26 <oklopol> that's definitely subjective
18:37:34 <AnMaster> oklopol, I remember reading some paper on it
18:37:38 <Deewiant> I reserve a space between foo and the rest for when foo is a keyword
18:37:54 <oklopol> AnMaster: some papers suck
18:38:09 <AnMaster> oklopol, a scientific studdy yes
18:38:18 <AnMaster> Deewiant, yes I do put in a space for if/while and such
18:38:41 <oklopol> AnMaster: i don't really believe in stuff that stuff can inherently be easier to read.
18:38:47 <oklopol> i can get used to anything in about a day
18:38:58 <oklopol> but whatever, who cares about this shit
18:39:03 <AnMaster> oklopol, well then you can get used to the style I suggest too ;P
18:39:06 <oklopol> whitespace is trivial to add yourself
18:39:10 <tusho> AnMaster: but it's more work for him
18:39:14 <oklopol> AnMaster: or you can get used to mine.
18:39:34 <oklopol> or we can do what i was originally doing: not read each others code :)
18:39:38 <AnMaster> oklopol, not really, because I do believe that certain stuff "can inherently be easier to read"
18:40:06 <AnMaster> oklopol, compare a hex dump of machine code to asm
18:40:16 -!- Corun has joined.
18:40:23 <oklopol> ais523: more examples / IO rules done soon?
18:40:34 <ais523> I was working on something else
18:40:46 <AnMaster> oklopol, don't tell me they are the same, because then you are lying
18:40:48 <oklopol> AnMaster: okay, i agree some structures of whole programs are easier to navigate within.
18:40:49 <ais523> but the IO rules are pretty simple:
18:41:04 <ais523> rules can have a set of characters in parens before or after them
18:41:10 <AnMaster> oklopol, and indention is better than all the code on one line?
18:41:26 <AnMaster> as in the whole file on one line
18:41:30 <ais523> a rewrite rule with chars in parens before it can only be applied by removing one of those chars from the start of stdin
18:41:37 <oklopol> duh, you can't navigate if there isn't an easy way to find where logical lines begin or end
18:41:45 <ais523> and a rewrite rule with a char in parens after it writes that char to stdout when it's applied
18:42:03 <ais523> and ofc there can be more than one rewrite rule, and they run like in Thue, that is whichever rule matches will run
18:42:30 <AnMaster> oklopol, and what about newlines but no indention, just lots of nested { } but no indention change at all?
18:42:43 <AnMaster> (this doesn't apply to python of course)
18:42:51 <oklopol> AnMaster: this is all a navigational issue.
18:42:51 <ais523> oklopol: just grep for DO or PLEASE
18:42:58 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
18:42:59 <Deewiant> I believe that {} always implies indentation, but just stuff like if/for/while necessarily doesn't
18:43:01 <oklopol> i believe some structures are easier to navigate through
18:43:49 <oklopol> well yes, but this is an algorithmic difference; not something people are born with, but something you get for any visual system.
18:43:52 <AnMaster> Deewiant, well C doesn't force you to indent
18:43:57 <AnMaster> in fact only python does afaik
18:44:10 <Deewiant> yes, and I find it annoying that python does
18:45:58 <ais523> well, I like to not be able to indent sometimes
18:46:16 <oklopol> before python, i didn't indent at all, thought indenting was lame
18:46:17 <ais523> I like the Haskell method: pretty indentation-based blocks, but you can just use { } instead if you prefer
18:46:26 <oklopol> later, i've realized it actually is handier
18:46:56 <oklopol> well yeah, you shouldn't make programming too easy for yourself :D
18:47:15 <oklopol> or, well, easy for others to read, i guess that was another issue
18:47:19 <ais523> the thing that annoys me about indented code is that the indentation doesn't really help with very long block
18:47:33 <oklopol> haskell does it pretty prefectly
18:47:55 <AnMaster> <ais523> I like the Haskell method: pretty indentation-based blocks, but you can just use { } instead if you prefer <-- sounds very nice
18:48:31 <Sgeo> DM also does that, iirc
18:49:10 <AnMaster> <ais523> the thing that annoys me about indented code is that the indentation doesn't really help with very long block <-- it doesn't help as much you mean?, well... I got to say long blocks should be refactored when possible
18:49:35 <ais523> I mean it's no good for visual matching of the start and end of a block if you have to scroll
18:50:12 <AnMaster> yes which is why you shouldn't have a block longer than about 30 lines if you can avoid it
18:50:22 <AnMaster> for example a huge switch case
18:50:25 <Sgeo> DM = DreamMaker language
18:50:30 <Sgeo> It's used by BYOND
18:50:44 <Sgeo> developer.byond.com
18:50:49 <Sgeo> Build Your Own Net Dream
18:51:06 <Sgeo> byond.com it lets people make their own 2d tile-based-ish games somewhat easily
18:51:13 <Sgeo> Windows-only though :(
18:51:20 <AnMaster> sigh. not yet another toolkit for such
18:51:21 <Sgeo> And not Free, but it is free
18:53:04 <oklopol> i recall making stuff in games factory
18:53:32 <lament> is that the thing with little 32x32 pictures flying around?
18:54:54 -!- Corun has quit ("This computer has gone to sleep").
18:54:55 <oklopol> gf let you have pictures of any sizes, and calculated normals from the drawings quite well
18:55:18 <Sgeo> byond uses icons of fixed size
18:56:24 <oklopol> although the collisions did fail especially with a larger amount of objects
18:56:33 <oklopol> not that my games usually work any better in that sense :P
18:57:23 <AnMaster> the best is to code it in a real language
18:57:32 <oklopol> ais523: AnMaster distracted me and i'm too lazy to scroll up, so i'll go over what i think i recall you said
18:57:40 <tusho> AnMaster: it's not a very good troll any more.
18:57:42 <tusho> you can stop saying
18:57:52 <AnMaster> tusho, well compared to game factory
18:57:57 <tusho> "AHA! But I'll end this discussion with: Your language is not real and lazy. C and C++ winzorz!!12121123123123817812381689`923`9223"
18:58:01 <oklopol> actually i have little idea
18:58:06 <ais523> oklopol: never work because there's nothing in parens
18:58:06 <AnMaster> tusho, I agree python would work too
18:58:07 <tusho> AnMaster: 'the best is to code it in a real language'
18:58:08 <tusho> that would be enough
18:58:12 <tusho> 'say, C or even C++' = useless
18:58:19 <oklopol> ais523: can you go over the semantics once more?
18:58:23 <AnMaster> tusho, they were just examples
18:58:31 <ais523> would replace abc with rf (i.e. delete it and create a two-element graph elsewhere) if e, f, or g was next on the input string
18:58:36 <AnMaster> tusho, sorry I forgot: "INCLUDING BUT LIMITED TO"
18:58:45 <AnMaster> I didn't know I would have to write a legal document...
18:58:47 <tusho> but limited to, yeah.
18:58:58 <ais523> oklopol: ok, something in parens before a rule means that one of those characters has to be on stdin for the rule to match (the character is removed afterwards)
18:59:02 <AnMaster> see I suck I writing legalspeak
18:59:07 <ais523> oklopol: and something in parens after a rule is printed out whenever the rule matches
18:59:47 <oklopol> ais523: so basically all this happens at a separate level from the subst-engine
18:59:57 <ais523> it's just preconditions and side effects
19:00:12 <ais523> also, a program is just multiple rules like that
19:00:23 <ais523> and they can be matched whenever they match
19:00:44 <ais523> oklopol: I was going to have whitespace-separated, but that's ambiguous with the parens
19:00:50 <ais523> so you could write eodermdrome poetry
19:01:01 <ais523> maybe output should be parens in the middle of a rule
19:01:47 <oklopol> or just, like, require them everywhere, and have . be the null requirement / null input
19:02:03 <oklopol> null input / output, that is
19:02:17 <ais523> a bit ugly, probably, most of the time you won't be doing I/O
19:02:23 <ais523> and presumably, a program ends when no rules match
19:02:24 <oklopol> but yeah, this is just bikeshedding, if i'm using the term correctly
19:02:55 <oklopol> right there's prolly be like a few rules that do the actual io
19:03:38 <oklopol> btw looks like it's IO-complete in that you can have an arbitrary function between I and O
19:04:10 <oklopol> say you have a separate input for each char, and a separate output for each char
19:04:29 <oklopol> since you can also have the arbitrary rule, you can do anything between taking the inputs
19:04:52 <oklopol> output can be anything quite trivially
19:06:18 <oklopol> let's say it's IO-complete
19:06:34 <oklopol> you have to have all inputs ready and usable all the time
19:06:49 <oklopol> so it's possible they all trigger at once, and you can't know the order in which the inputs came
19:07:05 <ais523> oklopol: no, they only trigger on the first char of stdin
19:07:09 <oklopol> because it's not specified whether any possible locking will reach the other input nodes before the next input is taken
19:07:12 <ais523> and remove the char when they trigger
19:07:20 <oklopol> ais523: yes, that's not what i said
19:07:24 <ais523> so I think it's IO-complete
19:07:37 <oklopol> let's say you need to read a's and b's, and the order is important
19:07:47 <ais523> then you have a rule marked (a) that makes a change
19:07:54 <oklopol> now you need to have your program in a state where it can read either
19:07:54 <ais523> and a rule marked (b) that changes the same thing a different way
19:08:10 <oklopol> it can flunctuate between these two states, but i think the problem still occurs
19:08:57 <oklopol> actually, if it flunctuates, and it's in the a state, getting the a in would prolly trigger the lock on taking b as input, before the state could fluctuate to taking b in
19:09:10 <oklopol> *fluctuate/flunctuate everywhere, i don't remember which it is
19:09:22 <ais523> fluctuate's the real world
19:09:31 <oklopol> well i remember it's the first, but i didn't when i wrote that
19:09:50 <oklopol> anyway, forget what i said there, i'm pretty sure it's io complete too, now.
19:09:53 <ais523> let me see if I can come up with an example which would record the sequence of a and b
19:09:56 <AnMaster> <ais523> so I think it's IO-complete
19:10:13 <ais523> AnMaster: like Brainfuck, can manage arbitrary IO on stdin and stdout
19:10:17 <oklopol> AnMaster: that it can input to output through any function
19:10:38 <oklopol> AnMaster: different concept
19:10:45 <tusho> if you have "..." outputs ...
19:10:47 <tusho> it's not IO-complete
19:10:51 <tusho> you can't write a fibonacci prorgam
19:11:36 <ais523> starting with abcdefgab, you can use (a) ab acdaf (b) ab acdeaf
19:11:52 <ais523> (a) ab acdafg (b) ab acdeafg
19:12:02 <oklopol> basically, for every function F from strings to strings, a program can be written to map input to output through the function F
19:12:38 <ais523> well, every computable function
19:12:39 <oklopol> ais523: why abcdefgab, why not just abcdefga?
19:12:58 <oklopol> and yeah, every computable function
19:13:01 <ais523> oklopol: giving it a tail to start with
19:13:12 <oklopol> err, i think those are equivalent
19:13:13 <ais523> it works by extending the tail, putting triangles and squares on it for a and b
19:13:46 <ais523> that even ends with gah
19:14:13 <oklopol> ais523: that says nothing about order
19:14:33 <ais523> oklopol: what, you mean order on the input?
19:14:38 <oklopol> ababbbab will give an equivalent result to what aaabbbbb gives
19:14:44 <oklopol> well, equivalent set of possible results
19:14:55 <oklopol> ais523: well yeah, that was what my point above was about
19:15:14 <ais523> oklopol: no, they give different results
19:15:29 <ais523> at least with my corrected version
19:15:29 <oklopol> hmm, well yeah, but there are results both can give
19:15:34 <ais523> (a) ab acdafg (b) ab acdeafg
19:15:39 <ais523> oklopol: I don't think there are
19:17:06 <oklopol> let's say you have "ab" @ stdin
19:17:19 <ais523> then the first rule can run
19:17:26 <ais523> but the second rule can't, because there isn't a b at the start of stdin
19:17:32 <oklopol> now you take two random adjacent nodes in the ring
19:17:44 <ais523> oklopol: ab doesn't mean two random adjacent nodes!
19:17:45 <oklopol> these random nodes can be the exact same ones with input ba too
19:17:47 <ais523> the b isn't in the second string
19:17:55 <ais523> so it only matches a node of degree 1
19:18:14 <AnMaster> ais523, btw my CFFI won't work but now I see how I could make it work
19:18:26 <oklopol> yes, yes, i corrected your typo, so it's only fair you correct my massive semantical error :P
19:18:29 <AnMaster> will need a few days work on the specs though (no pun intended)
19:18:41 -!- cherez has quit (Remote closed the connection).
19:18:57 -!- cherez has joined.
19:19:33 <oklopol> and the ab after the first sub will again only match the tail
19:19:52 <ais523> yes, that's how it works
19:20:17 <oklopol> although i do think this kind of stuff is tons easier to write than read
19:20:56 <oklopol> shop closes soon, need to visit it now
19:21:12 <oklopol> i'll add io tonight, and make the actual interp, that should be quite trivial
19:21:29 <oklopol> decide on the syntax before that, if you have the time
19:24:43 -!- olsner has joined.
19:32:53 <oklopol> i need to make something to draw them up for me, might be nice to make a graphical IDE to eodermdrome.
19:32:59 <oklopol> not many tarpits have one :D
19:33:29 <oklopol> of course the ascii part of it is the point
19:33:31 -!- atsampson has quit (Read error: 104 (Connection reset by peer)).
19:33:39 -!- atsampson has joined.
19:34:28 <oklopol> i've always considered graph rewriting something very fundamental and conceptually beautiful, but i now realize this is actually the first time i implement it, or even see it in action, except for manual runs
19:34:57 <oklopol> we've played a graph rewriting game with a few friends, but that got a bit too complex
19:36:10 <oklopol> also another idea i had, i should make something that converts a graphica graph, a graph with values and tags for nodes, and tags for the possibly directed connections
19:36:28 <oklopol> an undirected graph with no extra info
19:37:14 <oklopol> so that you'd encode all the direction data, and contents of the nodes into pure graph structures
19:37:32 <oklopol> graphica just has numbers and lists
19:38:22 <oklopol> well actually my implementation also has strings, but you can't see that anyway
19:38:32 <oklopol> ais523: done with syntax possible?
19:38:46 <oklopol> i'm going to leave soon, for about an hour
19:38:59 <oklopol> and i imagine you'll be gone just before i get back :P
19:39:12 <ais523> oklopol: I suggest whitespace-delimited, input in parens before a command, output in parens inside a command
19:39:12 <oklopol> so, if you finish it, leave a link or something behind
19:39:30 <ais523> and a command is the two halves of the rewrite rule separated by whitespace
19:39:43 <ais523> also you can have input and output on the same command if you like
19:39:52 <ais523> and closing paren must be the first char
19:39:57 <ais523> if it's any of the chars given
19:40:23 <oklopol> yeah. output is limited by that ofc
19:40:47 <AnMaster> <oklopol> i need to make something to draw them up for me, might be nice to make a graphical IDE to eodermdrome.
19:40:47 <AnMaster> <oklopol> not many tarpits have one :D
19:40:52 <oklopol> limited as in, makes some stuff harder.
19:41:09 <oklopol> not limited as in makes it non io-complete
19:41:20 <oklopol> except for characters you can't write on the prog code
19:41:39 <AnMaster> ais523, does the language have comments?
19:42:00 <oklopol> , comment in between these ,
19:42:09 <ais523> AnMaster: specs are this channel
19:42:14 <ais523> but I should write them up sometime
19:43:13 <oklopol> ais523: you'll get the full interp tomorrow, unless i'm given an excessive amount of sexual tasks or something tonight
19:43:22 -!- oklopol has quit (Client Quit).
19:43:45 <Deewiant> or hmm, it might be a macro somewhere actually
19:43:49 <AnMaster> Deewiant, does all major implementations have?
19:43:57 <ais523> AnMaster: it's C99 I think
19:44:18 <Deewiant> evidently it's C90: http://en.wikipedia.org/wiki/Offsetof
19:44:20 <ais523> anyway it's possible to write it yourself, just difficult
19:44:31 <Deewiant> except that I'd have said it's trivial :-P
19:45:25 <tusho> AnMaster: you can write it yourself
19:45:36 <tusho> #define offsetof(st, m) ( (char *)&((st *)(0))->m - (char *)&((st *)(0)) )
19:45:45 <ais523> tusho: you just copied that off Wikipedia
19:45:48 <ais523> besides it doesn't always work
19:45:56 <ais523> that depends on the way pointers are implemented
19:46:03 <AnMaster> what about typeof(), that is a GCC extension right?
19:46:07 <ais523> Deewiant: because adding offsets to NULL isn't defined on some architectures
19:46:36 <Deewiant> ais523: wow, what kind of architectures
19:46:49 <ais523> Deewiant: all the ones on which NULL is a special value and isn't just some value in memory
19:47:11 <ais523> i.e. the ones that represent NULL differently from all other pointers, think struct pointer {void* address, bool isnull}
19:47:28 <Deewiant> well, surely the compiler can anyway tell that that boils down to essentially the offset of ->m
19:47:36 <tusho> Deewiant: if it could
19:47:38 <tusho> then it'd support offsetof
19:47:54 <Deewiant> "support offsetof"? what do you mean
19:48:13 <AnMaster> it would be possible to implement offsetof still, just more difficult
19:48:20 <ais523> tusho: it still can support offsetof, you just have to implement it differently
19:48:28 <tusho> they'd implement is natively
19:48:29 <Deewiant> the difference would be that you have to give it a variable
19:48:30 <tusho> if they were clever enough to tell
19:48:38 <Deewiant> but that'd be a compiler extension
19:48:42 <ais523> Deewiant: I agree that when you have variables it's easy
19:48:50 <Deewiant> and since this is C, we do have variables. :-)
19:49:06 <tusho> where is oklopol :<
19:49:10 <Deewiant> use that, it's probably more optimal!!
19:49:17 <AnMaster> * oklopol has quit (Client Quit)
19:49:33 <AnMaster> Deewiant, it is just for those arches
19:49:34 <tusho> Deewiant: it's 7 seconds faster
19:49:43 <tusho> (so it actually takes -7 seconds to run)
19:49:53 <tusho> you LOSE 7 seconds running time
19:49:57 <tusho> just by including it in your program!
19:49:58 <AnMaster> Deewiant, also there is another case where that is useful: macros can evaluate parameters more than once
19:50:14 <tusho> AnMaster: quick, make a file consisting of 1000000000000 __builtin_offsetof's
19:50:17 <Deewiant> unless it's documented that they don't
19:50:24 <tusho> cfunge will finish running before it's even started!
19:50:24 <AnMaster> Deewiant, http://gcc.gnu.org/onlinedocs/gcc/Offsetof.html#Offsetof
19:50:44 <Deewiant> and, in the case of offsetof, why would you give it anything in which how many times it's evaluated matters
19:51:04 <tusho> i'd comment that i'm not being an idiot and arguably the way you optimise cfunge is more idiotic
19:51:08 <Deewiant> yeah, so in this case it doesn't matter at all
19:51:19 <AnMaster> anyway the only issue here was if offsetof() was standard C or not
19:53:19 <AnMaster> tusho, that one has been done...
19:53:26 <tusho> i felt like breaking it
19:54:54 -!- lilja has joined.
19:58:12 <tusho> AnMaster: you did it in tex.
19:58:29 <tusho> ⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄
19:58:37 <tusho> °‹‡°· °‚·°—‚‚‚‚±—°°·‡⁄ ‚·°™⁄fl‡fifi⁄™‹›fi
19:58:43 <tusho> ŒËÈ„ŒÊÁ„ÊÁ‰„ËÁÊŒ„‰ÈËÁÁÁÁÈØ∏ÈØ∏”ØØ”’∏”’”’
19:58:43 <AnMaster> <tusho> ⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄
19:58:48 <tusho> ÅÍÓÌÏÌÅÍÎÌÓÔJHDKJFHÒÔÒÚÍÅÚÚÆÒÚÆ
19:58:53 <tusho> ÛÛÇı◊ÙÇıˆÇ˜ˆı˜ˆ¯ˆ¯˜˜˜ˆ˘¯˜¯˘¿˘¯¿¿˘
19:59:01 <tusho> AnMaster: Not /. ⁄.
19:59:29 <tusho> not exactly the same, AnMaster.
19:59:49 <AnMaster> tusho, they are exactly the same in bitstream vera sans
20:00:01 <AnMaster> tusho, they are exactly the same in bitstream vera sans
20:00:09 <tusho> then bitstream vera sans is broken.
20:00:45 <Deewiant> I'm using Dejavu Sans Mono and I just get boxes for the latter :-/
20:00:48 <AnMaster> I wouldn't use a variable font width in my terminal would I
20:00:59 <AnMaster> Deewiant, well dejavu got it here too
20:01:38 <Deewiant> on linux, programs can generally fill in from other fonts
20:01:40 <AnMaster> Deewiant, try a more recent version of dejvavu?
20:01:43 <Deewiant> or it depends on the program I guess
20:01:55 <Deewiant> on windows, firefox at least does it
20:02:07 <tusho> Ò˜ÍÚňËÈ„Ó·°ÊÍÎ87Y*‡Á*&Y*¥•¶¥•¶¥•¶¥ª•¨ªº^ºª¡`˚ªº˚
20:02:09 <Deewiant> so if it's not in the font, it just displays a box
20:02:11 <AnMaster> same result in the xchat on the same bnc
20:02:40 <Deewiant> like said, on linux most programs do it, on windows I'm not sure but at least PuTTY doesn't. :-P
20:02:53 <AnMaster> Deewiant, rather GTK and KDE does it
20:03:11 <AnMaster> tusho, they differ in the monospaced courier new btw
20:03:12 <Deewiant> maybe, I don't know at what level this kind of thing would happen
20:03:29 <AnMaster> Deewiant, the font engine I guess
20:03:38 <AnMaster> which for gtk apps would be pango
20:04:10 <AnMaster> Deewiant, I do sometimes get boxes even here though
20:04:19 <Deewiant> or was it cairo? well, whatever
20:04:40 <AnMaster> Description: A vector graphics library with cross-device output support
20:04:51 <AnMaster> Description: Text rendering and layout library
20:08:32 -!- Corun has joined.
20:14:01 <olsner> oklo is gone? did we have to remove him from the channel to put him in the topic?
20:15:24 <tusho> he screamed for days
20:15:27 <tusho> but it had to be done
20:15:52 <olsner> well, I understand your reasoning, but isn't he less fun in the topic than in the channel?
20:16:09 <tusho> you'd think, but just wait until he wakes up
20:16:19 <tusho> the topic will be more fun than that time I wrote a bot that did rule 101 in the topic.
20:17:31 <olsner> rule 101? is that one of the TC ones?
20:17:34 <tusho> cellular automata, dude
20:17:44 <tusho> i also wrote a bot that made the topic into a ticker
20:17:50 <AnMaster> tusho, where are these rules classified?
20:18:36 <tusho> repeat ad infinitum
20:18:51 <AnMaster> tusho, where are the rules like rule 101 classified?
20:21:33 <olsner> it's kind of like an 8-dimensional categorization of the possible cellular automaton rules
20:27:02 <lilja> olsner: what do you mean?
20:28:08 <olsner> lilja: nah, just obfuscating
20:56:06 -!- pikhq has left (?).
20:56:36 -!- oklopol has joined.
20:58:00 <oklopol> i was thinking about something like, you have a global time, and call/cc, a continuation will carry the time stamp of whenever it was created, and the global time will tick each time something is called, and evaluation order is explicit
20:58:23 <oklopol> now, you can have conditions on the timestamps
20:59:04 <olsner> oklopol: having fun in the topic, are we?
20:59:27 <oklopol> so that you get like, say, five continuations in, and if the first is earlier than the second, then the third is called with the fifth, otherwise the forth is called with the fifth
20:59:55 <oklopol> also i thought it was the fourth wall
21:00:51 <oklopol> now say you could output a continuation as its timestamp
21:00:53 <augur> http://www.youtube.com/watch?v=8mwKq7_JlS8
21:00:57 <augur> 12 year old explaining jQuery
21:01:11 <oklopol> augur: that link is so old he's probably died of age
21:01:13 <augur> youre 12 and a total jQuery whore
21:01:13 <tusho> I saw that ages ago
21:01:42 <oklopol> i recall tusho calling me names for not having seen it about a year ago when he showed it to me
21:01:48 <augur> oh god this is so funny
21:01:54 <tusho> oklopol: no i didn't
21:02:02 <oklopol> of course no name calling was actually present, and it was less than a year ago, but you get my point
21:02:05 <tusho> augur: he's not a very good speaker is he
21:02:22 <tusho> <bends down so nobody can see me>
21:02:35 <augur> im not watching this, even if he explains lots
21:02:41 <oklopol> yeah, tusho's the master of adorable
21:03:07 <augur> someone should've gotten high with him before he went on stage
21:03:30 <augur> it'd been more awesome if he was a star presenter ala presentation zen stuff
21:03:39 <oklopol> yeah it's not good if kids get high alone
21:03:48 <oklopol> they shuold always have their parents with them
21:04:29 <tusho> oklopol: javascript library
21:04:29 <augur> a really shitty javascript framework tusho loves.
21:04:34 <tusho> does ajax and dom manipulation
21:04:39 <tusho> and augur hates it because he can't get it working
21:04:42 <oklopol> i didn't actually watch that when tusho showed it, just memorized the beginning so i could tell people it's old!
21:04:46 <augur> its not me who cant get it working
21:04:50 <tusho> and calls its writer an idiot because he can't personally get it working
21:05:07 <augur> ive never even bothered to touch it
21:05:17 <augur> its the ressig's own examples that dont work
21:05:43 <augur> when the person who designed it cant make his shit work in Safari or Firefox, then I'm not going to give it much attention.
21:06:52 <tusho> he works for mozilla.
21:06:56 <tusho> of course it works in firefox.
21:07:05 <augur> since ive seen it NOT work in FF.
21:07:25 <tusho> i guess the thousands of people using jquery in ff and safari are just hallucinating huh
21:07:42 <tusho> and because you, one person, can't get it working in either, it's obviously totally broken and shit in both and could not possibly be a problem at your end
21:07:45 <augur> i dont know, i cant speak for thousands of people that i'm not.
21:08:07 <augur> but i can only make judgements based on my experience.
21:08:07 <Sgeo> Try other sites that use jquery?
21:08:23 <augur> im not saying nothing in jQuery works, mind you
21:08:44 <augur> but that its unnecessarily buggy.
21:08:50 <tusho> i'm saying that "augur's computer is made out of sticks and rocks so its FF is different from everyone else's"
21:09:18 <AnMaster> ais523, any other work in C-INTERCAL?
21:09:24 <oklopol> where is all the flamewar, people
21:09:25 <ais523> no, I've been doing other things
21:09:29 <AnMaster> I still look forward to seeing a C/CLC-INTERCAL FFI
21:09:33 <oklopol> how old was tusho again, augur?'
21:09:47 <augur> 25 and hot as fuck
21:10:26 <augur> you know its true!
21:10:56 <augur> i think theres a t-shirt hell shirt that says
21:11:05 <augur> "I swear officer, I didn't know she was 13!"
21:11:51 <augur> does the t-shirt say 12?
21:12:07 <ais523> augur: does the t-shirt say that tusho's female?
21:12:22 <augur> "Women try to act all mature, but then you stick your cock up their ass and they're like, 'I'm only 13!!!'"
21:12:37 <augur> zsh.org is not a site of funny quotes from irc.
21:13:14 <augur> http://youtube.com/watch?v=TcxpbhM0DaA
21:13:44 <augur> i was recently in germany and i can confirm that all germans are exactly like that.
21:15:29 <oklopol> anyone look at my continuation idea?
21:15:49 <ais523> oklopol: I did, it reminded me a bit of Feather and a bit of TwoDucks
21:16:14 <AnMaster> <augur> http://youtube.com/watch?v=TcxpbhM0DaA
21:16:52 <oklopol> ais523: well they're just continuations though, there can be no paradoxes or anything
21:17:39 <ais523> oklopol: yes, I know, but that sort of lang is good for implementing Feather in
21:18:15 <augur> its from a volkswagen commercial.
21:18:33 <augur> http://www.youtube.com/watch?v=cv157ZIInUk
21:18:48 -!- olsner has quit.
21:18:54 <tusho> its not from that one
21:18:59 <tusho> http://www.youtube.com/watch?v=j1vxfGBEMmM&feature=related
21:19:01 <tusho> it's from that one
21:19:05 <augur> i know its not but thats not the point
21:19:23 <AnMaster> <augur> http://www.youtube.com/watch?v=cv157ZIInUk <-- contains the "oh snap"?
21:19:55 <AnMaster> however one comment is highly accurate "He sounds like a german forrest gump! LOL"
21:19:56 <augur> all you need is to see one video to understand it.
21:20:09 <AnMaster> but I still don't get the point of that strange commercial
21:20:23 <AnMaster> yes I can see why he says "oh snap" because the car broke
21:20:40 <AnMaster> but I just don't get the point of that commercial
21:20:52 <augur> there is no point!
21:21:02 <augur> the point is to be completely bizarre and strange and thus memorable
21:21:26 <augur> neither do i but i remember these from a few years back
21:21:33 <AnMaster> I do read newspapers which has some ads but are normally logical ones
21:21:44 <augur> they were quite humorous back when they came out because they were hilarious
21:22:02 <AnMaster> augur, well are commercials still as absurd?
21:22:16 <augur> dunno, i dont watch tv anymore.
21:22:23 <augur> podcasts have replaced by TV watching habits
21:22:35 <augur> which is now off the air for a fucking year those cunt motherfuckers
21:22:43 <AnMaster> I remember seeing an *OLD* commercial
21:23:24 <AnMaster> something about a cowboy driving in a VW instead of using a horse
21:23:33 <AnMaster> I wish I could find it again it was fun
21:24:38 <augur> http://youtube.com/watch?v=tRghMpfZXig
21:26:08 <AnMaster> yes but the narrator spoke in English
21:26:20 <augur> yeah well thats nowhere near as funny then.
21:26:54 <AnMaster> anyway it was a Texas accent I remember that
21:28:00 <augur> its humorous to have a german dude hawking a VW by saying that cowboys rustle cattle with them
21:28:33 <augur> as if thats going to make any sense to an german urbanite in the 70s
21:29:46 -!- Hiato has quit ("Leaving.").
21:36:15 -!- Sgeo has changed nick to RightBack.
21:36:37 -!- RightBack has changed nick to Sgeo.
21:44:11 <AnMaster> ais523, I didn't know you had a page on wikipedia before
21:44:18 <AnMaster> http://en.wikipedia.org/wiki/Alex_Smith_%28The_Simplest_Universal_Computer_Proof_contest_winner%29
21:44:24 <ais523> yes, I know of that page
21:50:15 <augur> ais, is that really you?
21:50:24 <augur> http://www.wolframscience.com/prizes/tm23/alex_smith_bio.html << oh.
21:50:30 <ais523> I thought everyone here knew that by now
21:50:32 <augur> i was gonna rape you but you're not my type
21:50:36 <augur> also: neckbeard. :(
21:51:20 <augur> still, not my type. :P
21:51:43 <augur> so, how DID you proove 2,3 was universal?
21:51:52 <ais523> augur: my proof is online, if you want to read i
21:51:54 <augur> not mathematically but conceptually
21:52:10 <ais523> augur: by describing a compiler from cyclic tag systems into it
21:52:27 <ais523> it caused a bit of controversy, because the resulting programs were infinitely long, but they're pretty simply structured
21:52:44 <augur> i dont know enough of the math to grasp the proof. ive never found anything that can explain it in any reasonable way.
21:52:47 <augur> infinitely long programs? lol
21:52:59 <ais523> augur: well, you can't give a finitely long tape to a Turing Machine, it would barf
21:53:00 <tusho> jeez, even I grasped the proof a little
21:53:07 <augur> so you code 2,3 with Java?
21:53:13 <ais523> I don't think there's anything particularly difficult in the proof
21:53:20 <ais523> augur: no, no Java there at all
21:53:21 <tusho> lol! he made a joke about java!
21:53:23 <oklopol> i grasped the 4 pages i read completely :)
21:53:27 <tusho> they're just as fresh as jokes about MS
21:53:28 <ais523> I wrote some example Perl programs
21:53:30 <augur> tusho, i havent even looked at the proof yet so i
21:53:31 <tusho> ais523: he meant: infinitely long programs
21:53:38 <tusho> he was making an incredibly witty comment about the verbosity of java
21:53:40 <augur> dont even know what it will be like. :P
21:53:48 <ais523> then they made me translate them into Mathematica, and the resulting programs were a lot slower
21:54:15 <augur> tusho dont be so confrontational
21:54:26 <tusho> raping is pretty confrontational
21:54:35 <tusho> not that, you know, I have any prior experience.
21:54:37 <augur> quiet you! ::rapes your mouth::
21:55:12 <augur> dont worry, oklopol, you know i only love you.
21:56:10 <augur> tusho's just a receptacle of imaginary interblog cum
21:56:26 <tusho> it's vaguely creepy when you word it like that.
21:56:33 <tusho> actually it's vaguely creepy anyway but,.
21:56:42 <augur> its absolutely hilarious, dont deny it
21:59:20 <oklopol> perhaps i should read the proof someday
22:07:46 -!- atsampson has quit (Read error: 101 (Network is unreachable)).
22:08:10 <augur> http://www.ubergizmo.com/photos/2007/2/username-panties.jpg
22:08:18 <augur> the first thing i thought of after seeing that was oklopol. x.x
22:09:28 <tusho> Username: [ oklopol ]
22:09:30 <tusho> Password: [ augur ]
22:17:38 -!- atsampson has joined.
22:17:58 <augur> i'd so buy them for you oklopol
22:18:14 <augur> but then i feel i'd seem like some weird old chickenhawk
22:18:32 <augur> so i think i'll have to deliver them to you in person to reassure that i am not, infact, a chicken hawk.
22:18:50 -!- augur has set topic: augur <3 oklopol.
22:19:44 -!- tusho has set topic: augur <3 violating freenode topic policy.
22:20:27 <tusho> AnMaster: logs must be linked
22:20:35 -!- tusho has set topic: http://tunes.org/~nef/logs/esoteric.
22:20:41 <AnMaster> what if there is no logs for a channel?
22:20:50 <ais523> most channels aren't logged
22:20:54 -!- augur has set topic: augur <3 oklopol. also, logs: http://tunes.org/~nef/logs/esoteric.
22:20:56 -!- tusho has set topic: http:tunes.org/~nef/logs/esoteric.
22:20:56 <ais523> but if there are logs, you have to let people know they exist
22:21:02 -!- augur has set topic: augur <3 oklopol. also, logs: http://tunes.org/~nef/logs/esoteric.
22:21:05 -!- tusho has set topic: http:tunes.org/~nef/logs/esoteric.
22:21:14 -!- AnMaster has set topic: logs at http:tunes.org/~nef/logs/esoteric.
22:21:18 -!- tusho has set topic: http:tunes.org/~nef/logs/esoteric.
22:21:19 <augur> but that link doesnt work :D
22:21:20 <Sgeo> Where's the //
22:21:28 -!- AnMaster has set topic: http://tunes.org/~nef/logs/esoteric.
22:21:31 <ais523> Sgeo: tuso's golfing the topic
22:21:41 <AnMaster> ais523, also that would be per-channel policy, not network wide...
22:21:41 <tusho> it works without ?/
22:21:49 <tusho> check freenode's tos
22:22:00 <tusho> if you have public logs you must link them otherwise it is a violation of privacy
22:22:00 <AnMaster> $ w3m http:tunes.org/~nef/logs/esoteric
22:22:00 <AnMaster> w3m: Can't load http:tunes.org/~nef/logs/esoteric.
22:22:08 -!- ais523 has set topic: http://tinyurl.com/6bts8x.
22:22:17 <AnMaster> Alert!: Unsupported URL scheme!
22:22:25 <ais523> tusho: I was golfing it
22:22:35 <augur> http://hugeurl.com/
22:22:36 <ais523> besides hugeurls don't fit in IRC, generally speaking
22:22:41 <ais523> we need a largebutnothugeurl.com
22:22:47 -!- tusho has set topic: http://vjn.cc/e.
22:22:53 <tusho> thx to oklopol's url service
22:23:22 -!- tusho has set topic: vjn.cc/x.
22:23:31 * Sgeo likes alnk.org
22:23:34 <augur> ITS HOW YOU GET ONTO THE INTERNET
22:24:51 <AnMaster> has a length of 19 characters and resulted in the following TinyURL which has a length of 23 characters:
22:25:05 <Sgeo> Eww vjn.cc uses 302
22:25:20 <Sgeo> IMO, URL redirection services should use the permanent one
22:25:24 <tusho> EWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW1!1q212683782346823462934612936213872e12ye8734y458ty5487ty54t87
22:25:53 -!- ais523 has set topic: Logs: http://tinyurl.com/6d9eog.
22:26:10 <augur> tinyurl should have something in its script that will only return a new url if its actually shorter.
22:26:21 <ais523> it doesn't work directly
22:26:30 <ais523> I went and redirected TinyURL to itself multiple times
22:26:46 <tusho> ais523: that's LONGER
22:26:49 -!- tusho has set topic: http://vjn.cc/x.
22:26:53 <augur> how is that a lie?
22:26:56 <augur> it was a SUGGESTION
22:27:06 <augur> suggestions cant be lies as they contain no claims to truth
22:27:11 <ais523> tusho: yes, I know it is
22:27:24 <tusho> #vjn, it's some channel oklopol is in
22:27:30 <tusho> volimo or something I think the owner is called?
22:27:35 <tusho> vjn.fi is their main site
22:27:37 <Sgeo> alnk.org has something like that
22:27:56 <AnMaster> has a length of 28 characters and resulted in the following TinyURL which has a length of 28 characters:
22:28:16 -!- atsampson has quit (Read error: 104 (Connection reset by peer)).
22:28:23 <ais523> try clicking on that link
22:28:25 <Sgeo> Well, not quite.. http://alnk.org/1gingerpuppy
22:28:31 -!- atsampson has joined.
22:28:34 <augur> is it supposed to do something special? :(
22:28:58 <Sgeo> ais523, the link that the error page provides is broken
22:29:13 -!- Slereah__ has joined.
22:29:17 <Slereah__> http://www.urlfan.com/local/slereah_23_machine/73267573.html
22:29:19 <AnMaster> xrl.us is probably the shortest one
22:29:57 <augur> looks like ais's proof of 2,3
22:30:01 <ais523> Slereah__: I don't get that at all
22:30:08 <tusho> AnMaster: vjn.cc/one-letter
22:30:26 <tusho> Slereah__: Someone linked to it.
22:30:30 <tusho> And that website saw the link.
22:30:34 <tusho> So it noted that it had been linked.
22:30:37 <augur> hahahahahahahahaha
22:30:46 <tusho> (Someone = the pastebin's main page)
22:31:00 <Slereah__> What, does it gater every damn link in the universe?
22:31:03 <tusho> AnMaster: don't use them all ;)
22:31:07 <tusho> Slereah__: no, it spiders sites lookin' for links
22:31:24 <Sgeo> Bleh, I searched myself, only 1 hit
22:31:26 <augur> i have nothing to blog about :(
22:31:37 <augur> but ive started taking photos like CRAZY! :O
22:31:44 <tusho> http://vjn.cc/z *PARENTAL GUIDANCE*
22:32:11 <Slereah__> I only posted the link here, I think
22:32:13 <tusho> Slereah__: their spider found it.
22:32:15 <ais523> tusho: is that a scam to get people to look at goatse?
22:32:17 <tusho> and the pastebin main page
22:32:19 <tusho> will have found it
22:33:48 <augur> i jerked off to that shit when i was tushos age!
22:34:38 <augur> tusho you lied to me!
22:34:46 <Slereah__> Here's a tip : if he invites you for candies
22:34:47 <augur> i thought you were 51!
22:35:02 <augur> unless they're tasty rohypnol candies. i love those.
22:35:48 <tusho> AnMaster: you're logical, right? what evidence do you have for believing i'm not 12?
22:36:19 <AnMaster> you act too much grown up to be that youn
22:36:30 <AnMaster> yet you act too young to be over 30
22:36:45 <AnMaster> tusho, this is just a subjective feeling of course
22:37:01 <tusho> if i acted too grown up why the heck would I pretend to be 12
22:37:13 <tusho> that's not a very grown up thing to do unless I was a paedophile
22:37:15 <AnMaster> tusho, well why the heck are we all in this irc channel?
22:37:41 <AnMaster> Slereah__, blergh you should have gone on some star wars line
22:37:41 <Slereah__> #esoteric isn't the best channel for pedos
22:38:14 <Slereah__> I haven't done anything in a while
22:38:16 <AnMaster> so pretending you are 12 when you aren't, not that strange
22:38:20 <Slereah__> I'm back to warhammer right now :o
22:38:24 <augur> anmaster thinks tusho acts grown up, and rodger and i think he acts childish.
22:38:47 <augur> i think anmaster is 2 years old.
22:38:48 <AnMaster> augur, he does act childish in some ways yes
22:39:04 <augur> well if a 12 year old is a grown up to you
22:39:11 <augur> you must be REALLY young
22:39:15 <AnMaster> augur, no but I don't think he is 12
22:39:24 <augur> you have no sense of humor
22:39:37 <tusho> AnMaster: would you like proof.
22:39:37 <AnMaster> augur, correct. I'm from Sweden
22:39:40 <augur> omg i got a plushy bear when was in riquewir :o
22:39:51 <augur> are you a hot swedish boy?
22:39:52 <ais523> most people here act older than they actually are, I think
22:39:57 <augur> oh tusho, i want proof! :o
22:40:04 <tusho> it would prove one of two things: either i'm a chipmunk, i'm 12, or there's another 12 year old/chipmunk who has said 'octothorpe esoteric'
22:40:13 <AnMaster> augur, I'm a slightly fat (trying to exercise) Swedish 18 years old male
22:40:21 <AnMaster> tusho, your social security number + stuff I can verify it?
22:40:22 <tusho> since august 22, 2007
22:40:26 <augur> probably for under a year
22:40:30 <augur> there see? i was right
22:40:56 <AnMaster> tusho, send me a scan of your ID documents
22:41:08 <tusho> augur: what should i say
22:41:14 <Sgeo> I think I started chatting when I was 12
22:41:21 <AnMaster> to be able to transfer to your bank account
22:41:33 <augur> what should you say??
22:41:40 <augur> anmaster: give me your pic.
22:41:50 <AnMaster> augur, I don't have any on the computer
22:42:04 <augur> ive been on the net since like..
22:42:10 <AnMaster> augur, nor will I put it up on internet
22:42:11 <Sgeo> I used things like "ne1"
22:42:38 <AnMaster> 200n where n i a number I don't remember
22:42:38 <augur> you would've been 2 years old
22:42:59 <tusho> 1995, 1996, 1997, 1998
22:43:03 <Sgeo> I definitely chose "Sgeo" 2001 or earlier
22:43:14 <tusho> but it definitely was 1998-early1999
22:43:26 <augur> well ok, obviously it depends on the part of the year you were born
22:43:40 <AnMaster> well as I'm 18, our family had internet since 1665 or 1996
22:43:45 <augur> i was just doing 12-(2008-1998)
22:43:47 <tusho> augur: so for my audial proof, what should I say
22:43:56 <augur> who said anything about audio proof?
22:44:03 <tusho> augur: i am recording a sample of my voice as proof of my age.
22:44:15 <augur> oh. i was hoping for video.
22:44:16 <Sgeo> Can't voice be manipulated?
22:44:28 <tusho> augur: but i look crap.
22:44:29 <AnMaster> I had internet myself since 2002 or 2003 iirc
22:44:31 <tusho> Sgeo: yes, but not particularly effectively
22:44:33 <augur> http://www.youtube.com/watch?v=f5AJYqQFYTw
22:45:03 <oklopol> i don't think older people act any different than younger ones.
22:45:05 <augur> i wanna be galipoka :O
22:45:43 <augur> the kids hilarious.
22:45:48 <oklopol> tusho: did you fail the upload of the logs, or did vjn.cc fail?
22:46:01 <augur> hes like 8 years old or something and hes pretty funny
22:46:16 <oklopol> i think volimo just hacked that together without testing it, it may suck
22:46:27 <tusho> http://filebin.ca/kdyagq/wtf.mp3
22:46:33 <oklopol> also in case people use up all the god ones, i may steal them back :P
22:46:41 <tusho> http://filebin.ca/kdyagq/wtf.mp3 <-- official voice proof
22:46:51 <tusho> regular voice version followed by chipmunk version (not modified)
22:47:15 <augur> tusho: do a galipoka style video.
22:47:24 <augur> aw cmon, it'd be funny!
22:47:31 <tusho> if the second part of the mp3 doesn't convince you nothing will
22:48:06 <tusho> augur: listened to it?
22:48:16 <tusho> AnMaster: and you.
22:48:18 <augur> i so dont believe it
22:48:22 <AnMaster> <augur> http://www.youtube.com/watch?v=f5AJYqQFYTw <-- I watched half a minute, well quite well done, but I hate that music style
22:48:23 <tusho> augur: believe what
22:48:24 <augur> its too high pitched
22:48:45 <augur> yes but it doesnt sound like a twelve year olds voice.
22:48:54 <tusho> what does it sound like then
22:49:04 <augur> like you pitch shifted it.
22:49:16 <tusho> although I agree it sounds like it
22:49:29 <augur> if you didnt then you're hilarious
22:50:06 <AnMaster> look I think tusho is way older
22:50:15 <AnMaster> he even admitted at one point iirc
22:50:15 <tusho> AnMaster: what would prove it.
22:50:16 <augur> ignoring that you sound like a horribly stereotypical proper english kid
22:50:39 <AnMaster> that "he like everyone else had substracted 10 years from his age"
22:50:41 <augur> tusho you've lied to me!
22:50:53 <tusho> augur: AnMaster: http://filebin.ca/upgdhg/wtfb.mp3
22:50:53 <ais523> well, Wikipedia says I'm 21
22:51:01 <tusho> that one fades in pitches
22:51:05 <tusho> so you know it's not altered
22:51:22 <augur> fades in pitch? whats that in real audio speak
22:51:29 <tusho> augur: i start off low and go high smoothly.
22:51:37 <augur> that means nothing lol
22:51:48 <augur> pitch shifting can is unaffected by that
22:51:55 <tusho> yes, but it goes low at the start
22:52:11 <tusho> i'm not an EXPERT AUDIO MODIFICATIONER, that's what
22:52:12 <oklopol> the beginning is clearly a child taklign
22:52:41 <AnMaster> tusho, so what do you work with?
22:53:03 <augur> or is tusho's most recent voice sample absolutely hilarious
22:53:12 <tusho> i like the 'five' at the end
22:53:31 <augur> anmaster has no sense of humor
22:53:35 <AnMaster> because he fail so much at audio editing
22:53:36 <augur> we've already established this
22:53:45 <AnMaster> augur, I do like some humours books
22:53:52 <tusho> i have not edited it once, AnMaster
22:54:11 <AnMaster> tusho, is this your little brother then?
22:54:18 <AnMaster> tusho, look you *act* all grown up
22:54:36 <AnMaster> you admitted to having used internet in 1998-1999
22:54:38 <tusho> here, i'll say "fuck you AnMaster", do you think my little brother would say that? :p
22:55:11 <AnMaster> look there is no way I will believe you are anything below 16-17
22:55:17 <tusho> AnMaster: what about photo evidence.
22:55:23 <tusho> would that be my little brother too?
22:55:25 <augur> i'll take video evidence.
22:55:31 <augur> but photo evidence is fine.
22:55:37 <tusho> AnMaster: what if I held up a sign saying #esoteric
22:55:42 <augur> i could put it on 4chan.
22:55:46 <oklopol> yes, i think it's the funniest thing i've ever heard
22:55:59 <augur> i wouldnt anyway. i cant stand 4chan
22:56:03 <oklopol> i gotta stop takling without being @ the bottom of the backlog
22:56:11 <tusho> AnMaster: you seem to think I'm an awesome image and audio manipulator
22:56:16 <tusho> but I'll hand-write it
22:56:41 <AnMaster> *I* could do it with a few minutes work
22:56:44 <tusho> what evidence can I give you, AnMaster
22:56:47 <tusho> what would be conclusive :P
22:56:57 <AnMaster> tusho, nothing except meeting you in person
22:57:25 <tusho> link me one that isn't gtk
22:57:27 <tusho> and that has os x binaries
22:57:48 <oklopol> nude pics so we see yours haven't descented yet
22:57:53 <AnMaster> http://squonk.abacab.org/dokuwiki/fgcom
22:57:59 <augur> yes, definitely nudes.
22:58:27 <tusho> AnMaster: i don't want to download a flight simulator
22:58:28 <oklopol> now *i* could easily be 12.
22:58:33 <tusho> ah, how about ninjam
22:58:39 <AnMaster> tusho, that's the only voip I got installed, but sure point me to some other
22:58:42 <augur> oklopol, you'd be too sexy for a 12 year old
22:58:44 <tusho> ninjam is open source
22:58:46 <tusho> ninjam.com/download.php
22:59:05 <augur> i have skype, do i need to skype with you tusho?
22:59:12 <tusho> augur: that wouldn't prove it to _anmaster_
22:59:14 <tusho> but you could record it
22:59:46 <tusho> augur: k, in a min
22:59:47 <augur> asterix was a comic from france
22:59:47 <AnMaster> tusho, and yes doing it with augur would work
22:59:59 <AnMaster> augur, yes and asterisk is a open source voip system
23:00:06 <augur> i'll only do it with oklopol.
23:00:06 <tusho> asterisk is bloated
23:00:10 <augur> but i'll skype with tusho.
23:00:17 <augur> tusho: psygnisfive
23:00:20 <AnMaster> tusho, well fgcom use asterisk
23:00:32 <augur> ofcourse, if you and anmaster had ichat we could just use that to get a 3 way going
23:00:35 <AnMaster> augur, you need video conference
23:00:41 <tusho> i have ichat, but you know.
23:00:44 <AnMaster> otherwise you could use a filter
23:00:45 <tusho> it's CLOSED SOURCE!!2871628112
23:00:47 <tusho> (besides that it's os x only)
23:00:56 <tusho> AnMaster: I am not doing a video conference
23:00:58 <AnMaster> augur, does it exist for 64-bit linux?
23:00:59 <augur> anmaster is lame for now using os x
23:01:00 <tusho> you are totally paranoid
23:01:24 <augur> anmaster: dunno. you could install GNUStep and maybe it'll work
23:01:26 -!- RedDak has joined.
23:01:38 <AnMaster> augur, different ABI of course
23:01:38 <tusho> does anyone else think AnMaster is mentally insane.
23:01:48 <oklopol> i think AnMaster is mentally hilarious
23:01:50 <augur> oklopol, get skype :O
23:01:56 <AnMaster> augur, Application Binary Interface
23:02:06 <augur> i wanna hear sexy finnish
23:02:45 <augur> make some day today
23:02:51 <AnMaster> oklopol, yxi kaxi kolmi (free style spelling league)
23:02:57 <AnMaster> I guess I'm totally wrong about spelling
23:03:27 <augur> while you get your little brother?
23:03:44 <oklopol> i suggest you ask him something about monads
23:03:52 <augur> BUT I DONT KNOW ANYTHING ABOUT THEM MYSELF
23:03:55 <augur> HOW WILL I UNDERSTAND
23:04:32 <oklopol> augur: everyone knows enough to test whether the other one knows
23:04:40 <AnMaster> augur, what about lambda calculus?
23:04:47 <augur> oh yes i know about that :D
23:04:59 <augur> i know what ill do! :o
23:05:07 <augur> i cant say it here tho, he might coach his little brother
23:05:12 <augur> but i know just the thing! :D
23:05:25 <oklopol> AnMaster: you don't know lc?
23:05:37 <augur> oh man itll be brilliant having a 12 year old comment on this.
23:05:48 <tusho> i'll add you on skype augur
23:06:13 <augur> anmaster, its simple
23:06:25 -!- Corun has quit ("This computer has gone to sleep").
23:06:26 <tusho> what is your skype name
23:06:26 <oklopol> AnMaster: you should, it's the most important thing in the world
23:06:27 <augur> lambda <formals>. <body>
23:06:29 <augur> thats all there is
23:06:34 <augur> im doing the recorder now
23:06:57 <tusho> ask me something about monads or something
23:07:33 <augur> i know what to ask ;D
23:11:54 <tusho> ok. recording imminent
23:13:25 <tusho> AnMaster: will you accept this as evidence
23:14:06 <tusho> i don't want to do a video chat.
23:14:20 <augur> then we're gonna have cyber video sex
23:15:25 <AnMaster> anyway I can see several flaws:
23:15:26 <oklopol> perhaps i should leave esoteric and return with another nick, and tell everyone i was 7.
23:15:33 <AnMaster> 1) tusho said he used internet back in 1998
23:15:41 <AnMaster> he would have been 4 years then
23:15:48 <tusho> I got my first computer at 3
23:15:51 <tusho> as a christmas present..
23:16:14 <tusho> i learned to program like early 2004
23:16:25 <AnMaster> tusho, and you where how old then?
23:17:00 <AnMaster> 2) You seem to have a larger "knowledge base" than an average or even unusual 12 year old would have
23:17:02 <oklopol> tusho started the same age as i then
23:17:19 <AnMaster> because I think ehird was older
23:17:20 <oklopol> except we had a comp when i was born
23:17:36 <oklopol> i was like 7 when i started programming
23:17:53 <AnMaster> oklopol, so ehird claimed he was older?
23:18:06 <oklopol> tusho: i learned to program like early 2004
23:18:23 <AnMaster> well due to these flaws I will not fully accept until I see a video conference
23:18:25 <oklopol> doesn't that make it like 7
23:18:55 <AnMaster> I will "slightly accept" it after the audio stuff
23:19:05 <tusho> augur refuses to talk about monads
23:19:23 <augur> so ignoring that tusho sounds like hes on helium
23:19:24 <AnMaster> augur, what about that lc then?
23:19:34 <tusho> augur: here, shall I quote the y combinator
23:19:36 <augur> oh its over, i think youll be convinced enough
23:19:47 <AnMaster> <augur> so ignoring that tusho sounds like hes on helium
23:20:03 <tusho> augur: i am going to call you
23:20:08 <tusho> and quote the two basic monad function's types
23:20:40 <tusho> it's still ringing
23:20:43 <tusho> but it's connected
23:20:47 <augur> i can hear you fine
23:20:53 <tusho> LET'S TRY THAT AGAIN
23:21:09 -!- Corun has joined.
23:21:29 <AnMaster> ais523, what was the name of the intercal compiler?
23:21:29 <augur> oh this was brilliant
23:21:44 <tusho> augur: post the monad types!
23:21:47 <tusho> i wanna hear the monad types
23:21:54 <ais523> but you invoke it as ick -y
23:22:17 <ais523> the debugger's stored as a .a file
23:22:21 <ais523> and compiled into your program
23:22:30 <tusho> for uploading the NOMADZ
23:22:57 <augur> aw it didnt capture my voice so noone has context
23:23:03 <augur> looks like we'll have to do this again
23:23:04 <tusho> it has two sources
23:23:07 <AnMaster> ais523, which reminds me, I had an idea of cfunge debugger over sockets
23:23:09 <tusho> and Microphone on the other
23:23:12 <AnMaster> either unix sockets or tcp ones
23:23:16 <ais523> incidentally, why don't people use ar rather than tar for packaging files?
23:23:19 <ais523> it was invented for the purpose
23:23:40 <tusho> augur: SHUT UP ABOUT SCHEME
23:23:43 <tusho> <_______________________________________<
23:23:57 <tusho> SCHEME MAKES ME KILL MYSELF
23:23:58 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
23:24:00 <tusho> DO YOU WANT ME TO KILL MYSELF
23:24:02 <tusho> ;__________________________________________________;
23:24:12 <oklopol> :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
23:24:12 -!- GreaseMonkey has joined.
23:24:18 <tusho> oklopol: GET SKYPE
23:24:21 <tusho> you need to be there for this
23:24:44 <augur> anmaster im so sorry this was useless XD
23:24:54 <tusho> i'll quote the nomad types again.
23:24:55 <augur> i asked him about scheme and he muttered "oh god"
23:25:09 <tusho> I FEEL COMFORTABLE WITH NOMADS. MONADS.
23:25:23 <augur> i asked him about web 2.0 and he muttered it again
23:25:48 <augur> oh god that was hilarious
23:25:51 <oklopol> tusho isn't that clever, he just reads wikipedia fast
23:26:19 <tusho> augur: upload the file
23:26:21 <AnMaster> is the only thing that will convince me
23:26:29 <tusho> it should be sufficiently convincing
23:26:33 <tusho> AnMaster: nomads/monads
23:26:38 <tusho> even if it's not convincing it's funny
23:26:48 <AnMaster> though I don't know what it is
23:26:51 <tusho> AnMaster: NOMADS!!!!!!!111
23:27:00 <tusho> augur: I am eagerly awaiting the mp3.
23:27:08 <augur> im trying to figure out how to save it lol
23:27:20 <AnMaster> as mp3 is a semi-closed format
23:27:25 <oklopol> nomads are quite a lot easier to understand than monads
23:27:29 <tusho> AnMaster: ... thus proof that I am older than 12!
23:27:50 <AnMaster> "Nomadic people, also known as nomads, are communities of people that move from one place to another, rather than settling down in one location. There are an estimated"
23:27:50 <oklopol> hmm, well i can't say i know much about nomads.
23:27:57 <tusho> then choose export to disk
23:28:03 <augur> oh theres a library
23:28:04 <oklopol> yeah, that was what i knew
23:28:12 <oklopol> if that is all, i'd say that is simpler than monads
23:28:36 <AnMaster> oklopol, help: # For Haskell Nomads, see Monad (functional programming).
23:29:09 <oklopol> AnMaster: if you think i'm wrong about functional programming, just assume you misunderstood my joke :P
23:29:30 <AnMaster> oklopol, I think that *I* know next to nothing about functional programming
23:29:48 <AnMaster> oklopol, I do know enough to hack a bit of elisp
23:29:57 -!- 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"").
23:29:59 <tusho> AnMaster: here comes yer EVIDENZE
23:30:09 <augur> wellnowwhat.net/transfers/Tusho%20on%20Monads.mp3
23:30:24 <AnMaster> that could have been rehearsed
23:30:33 <AnMaster> what about the lambda calculus bit?
23:30:33 <tusho> AnMaster: oh just listen to it
23:31:09 <tusho> AnMaster: listened to it?
23:31:14 <tusho> and I guess you still think it's a voice filter huh
23:31:21 <augur> it sounds too much like one, tusho :P
23:31:31 <AnMaster> doesn't convince as it doesn't check knowledge
23:31:31 <tusho> I love your assesment of my voice
23:31:53 <tusho> i tell you what AnMaster
23:31:59 <tusho> and i'll talk about it
23:32:03 <augur> no dont say it HERE
23:32:07 <augur> say it to ME in PM
23:32:10 <augur> so no coaching can occur
23:32:27 <tusho> multiple ones, AnMaster
23:32:32 <tusho> so you know it's not rehearsed
23:32:43 <augur> im beginning to hope you're not 12, tusho
23:33:13 <augur> because your personality and mannerisms in skype are almost attractive in their completely psychotic nature
23:33:55 <AnMaster> and it doesn't match tusho on irc
23:34:11 <augur> i would be terribly disappointed if i were attracted to a 12 year old
23:34:14 <augur> your cock is way too small.
23:34:49 <tusho> AnMaster: /me WAITS
23:35:08 <tusho> i am waiting AnMaster HOW LONG DO YOU WANT ME TO WAIT
23:35:23 <oklopol> i'm beginning to hope tusho is not 12 too
23:35:28 <tusho> im waiting AnMaster
23:35:37 <oklopol> elaborate lies like that are awesome
23:35:54 <oklopol> wish i was a mythomaniac or something
23:36:40 <tusho> i dont know funge AnMaster
23:36:48 <AnMaster> also I can't do voice atm due to ppl sleeping in next room, however if anyone want any proof I can do it around UTC tomorrow over asterisk
23:37:48 <tusho> i assume augur will be uploading
23:37:48 <AnMaster> anyway another odd thing: why is it that you seem so eager to convince me
23:37:56 <tusho> and because you're so eager to deny it
23:38:32 <AnMaster> tusho, it is just that most time, on irc, you act like in the range 15-25
23:38:40 <augur> http://www.wellnowwhat.net/transfers/Tusho%20doesnt%20know%20Funge%20damnit.mp3
23:38:51 <tusho> AnMaster: there you go
23:39:04 <tusho> the first thing I said was "i've got my wikipedia page ready, hah"
23:39:10 <tusho> the net connection is skippy
23:39:59 <augur> omg tusho is so funny :D
23:40:07 <oklopol> okay, after this one i have to say i'm not all that sure that's tusho :P
23:40:40 <tusho> AnMaster: is that evidence enough?
23:40:52 <AnMaster> tusho, you were reading from wikipedia I think
23:41:02 <tusho> AnMaster: find that quote on wikipedia.
23:41:05 <oklopol> that doesn't seem all that interactive
23:41:10 <tusho> and it looks like photo evidence will have to be had.
23:41:14 <tusho> i'll take a fuckin' photo
23:41:38 <augur> well now i have to find my recordy app
23:42:15 <tusho> i'll take a photo meanwhile
23:42:56 <tusho> actually i'll wait
23:43:09 <augur> guys, were gonna have to do this in 15 minutes
23:43:25 <tusho> augur: aw come on.
23:43:42 <AnMaster> well I'm going to sleep shortly
23:43:45 <tusho> oklopol: your name?
23:44:51 <tusho> just a sec, need to prepare my little brother
23:44:54 <tusho> tell him what to say, etc.
23:45:13 <tusho> i can hear you typing.
23:45:16 <oklopol> tell him to say "hi oklo i like scheme"
23:46:02 <tusho> i make everyone laugh
23:46:17 <oklopol> i don't even know where the microphone is here
23:46:32 <tusho> augur: i am dictating everything people say in here!
23:46:44 <oklopol> tusho: is that actually you tyuping
23:46:52 <tusho> no jkersjkesjkjoopkopklklml
23:47:01 <augur> oklopol are you on skype?
23:47:05 <tusho> dfx ,.fjvail;djtlsdfgjdslkgjklsdjgsdlfjg ldsgjas;ldgjklsdfghklsdhrpaeishtweiohtdfogiuhsdfighsitvhjoi[cf jeiosqwjiofherioarhtiudutypitsrotpjkrjneilrjnflksdthwijftiupow4nrtfiojrtw
23:47:21 <tusho> i just wrote an os in oklotalk
23:47:24 <oklopol> gotta say i'm not entirely sure what to think about tusho now. i never really doubted he was 12 before this :P
23:47:35 <augur> oklopol, are you getting video?
23:47:41 <oklopol> that's actually like 7 different tokens
23:47:49 <oklopol> augur: he's making some noise
23:47:55 <tusho> i was whimpering because YOU DOUBTED ME
23:48:15 <tusho> i don't talk either
23:48:20 <tusho> as you can see ,I only say unintelligable things
23:48:33 <tusho> grauh nuer glayi beurn
23:49:08 <tusho> AHAHAHHAHAHAHAHHAHAH
23:49:15 <tusho> my voice filter broke
23:49:40 <tusho> lilja: I CAN HEAR YOU
23:49:49 <tusho> that was really a typo
23:50:07 <oklopol> tusho: that's just my voice filter.
23:50:09 <tusho> your keyboard is loud
23:50:23 <oklopol> i could say the same thing about yours
23:51:09 <oklopol> tusho: so, you live with your pants?
23:51:22 <tusho> i don't live with my pants. i don't have pants
23:51:24 <tusho> i am a poor orphan
23:51:38 <oklopol> well i was just wondering, are trey like deaf?
23:51:52 <tusho> they're DEAD you insensitive clod
23:51:55 <tusho> I just told you I'm an ORPHAN
23:52:14 <oklopol> well you're a funny orphan, then, but sorry for your loss
23:52:23 <tusho> yeah i'm the funniest orphan ever
23:52:47 <tusho> dfgkljkljdgrjklfgjknefvkl;tkl;rtkjlvciodfl;56l;,copt5
23:52:48 <oklopol> you'reso funny you could prolly get your parents to laugh by telling a joke about the accident they died in
23:52:56 <tusho> that hurts my brain
23:53:15 <oklopol> i hope you're not actually an orphan, or i might be conceived as mean :)
23:53:23 -!- Corun has quit ("Leaving").
23:53:36 <tusho> shall I read out lines in #haskell
23:54:12 <tusho> one wacky style per line!
23:54:15 <tusho> that's what you get with my irc reading service
23:55:13 <tusho> lilja: it sounds like you're talking in english played back
23:55:24 <tusho> FINNISH: English, backawrds.
23:55:48 -!- pikhq has joined.
23:55:49 <tusho> you're just talking nonsense now to fuck with me
23:56:21 <tusho> have a video of my empty chair
23:56:53 <oklopol> tusho: can you tell us a story?
23:57:06 <oklopol> but not the same as before
23:57:08 <augur> oklopol, are you on skype
23:57:13 <tusho> let's have a group chat!
23:57:34 <tusho> augur: you'd better record this
23:57:53 <tusho> do you want to record video of
23:57:54 <oklopol> people... i will not talk :P
23:58:25 <oklopol> well a silent chat like this is fine by me+
23:58:34 <tusho> oh my god i'm BLACK
23:58:57 <tusho> I AM GIVING YOU INSTRUCTIONS
23:59:19 <augur> thats how i say it
23:59:20 <tusho> I THOUGHT IT WAS PRONOUNCED:
23:59:51 <tusho> this is ridiculously ridiculous
00:00:06 <tusho> well, well thank you
00:01:03 <tusho> i hope my dramatic music is sufficient
00:01:12 <augur> shes an independent 3rd party
00:02:06 <tusho> I CAN SPEAK FINNISH NOW
00:02:23 <tusho> :DDDDDDDDDDDDDDddddddddd
00:03:01 <tusho> you're abandoning meeeeeeeeeeeeee
00:03:50 <tusho> i am the best finnish speaker ever
00:04:11 <augur> omg that was ridiculous
00:04:13 <tusho> augur: upload that
00:04:37 <augur> god wtf was that XD
00:05:01 <tusho> welcome to skype call testing service
00:05:04 <oklopol> tusho: i think the joke got old :P
00:05:13 <tusho> skype test call is kinda shy
00:06:06 <tusho> don't hold my call
00:07:07 <tusho> ill show you an empty chair augur
00:07:14 <tusho> just accept that call
00:10:42 <augur> i think tusho is a little girl
00:10:57 <lament> could you please stop raping her
00:11:22 <augur> i did not! youre going to have to do it again
00:12:12 <tusho> is that proof enough
00:12:16 <tusho> get ready to take a screenshot for anmaster!
00:12:20 <augur> unfortunately yes :(
00:12:48 <tusho> screenshot acquired?
00:12:52 <augur> oh do it again wont you
00:12:55 <tusho> see, that was a video filter.
00:12:57 <tusho> it's like an audio filter.
00:13:00 <tusho> but it makes you look younger.
00:13:06 <augur> and of the opposite gender
00:13:24 <augur> you look like this south african lesbian i know
00:13:57 <tusho> well if you didn't get a screenshot then you suck
00:14:07 <tusho> but i hope I have proved beyond monadical doubt
00:14:09 <tusho> that i am in fact 12
00:14:19 <tusho> however it looks like i have to prove i'm male now
00:14:22 <augur> either that or you're a woman with a glandular problem
00:14:35 <tusho> oklopol: i'm sure augur has it.
00:14:35 <augur> oh theres VIDEO oklopol
00:14:46 -!- Corun has joined.
00:14:51 <augur> i did take screen shots
00:14:55 <tusho> you can't just go taking videos of our cybersex augur
00:14:58 <augur> one every 30th of a second
00:15:08 <tusho> you have to ask my permission first!
00:15:27 * tusho eagerly awaits video
00:15:32 <oklopol> did you actually see tusho talk about monads or something?
00:15:42 <augur> ill show you the video dont worry
00:15:48 <tusho> is that all the calls for toda
00:15:56 <augur> i didnt capture him speaking, unfortunately, but i saw him speaking
00:16:17 <oklopol> well i don't think you have any reason to lie, so i'll believe that
00:17:14 <augur> tusho you're way too girly for a guy
00:17:22 <augur> and its not the hair
00:17:26 <augur> YOU LOOK LIKE A WOMAN
00:17:35 <tusho> that was because my headphones were pulling my hair back
00:17:42 <tusho> no i fucking don't :q
00:18:08 <augur> i feel weird talking to this 12 year old boy who looks like he belongs in a lesbian outfit
00:18:10 <augur> I FEEL WEIRD TUSHO
00:18:21 <tusho> i am not female. nor am I a lesbian.
00:18:26 <tusho> being a lesbian requires me to be female. I am not female.
00:18:57 <augur> http://www.wellnowwhat.net/transfers/Tusho%20is%20a%20girl%20part%201.mov
00:18:58 <augur> http://www.wellnowwhat.net/transfers/Tusho%20is%20a%20girl%20part%202.mov
00:19:15 * tusho watches the feature film
00:19:19 <augur> in sparta the guys fucked one another.
00:19:35 <tusho> i should have PREPARED
00:19:39 <augur> not horrible as-a-girl
00:19:45 <augur> you just look like a girl
00:19:53 <augur> you look like an attractive lesbian
00:19:57 <augur> which is frightening
00:20:08 <tusho> i can't bear to watch it
00:20:14 <tusho> I do not normally look like that
00:20:24 <augur> you look like a girl!
00:20:30 <tusho> we've established that
00:20:43 <augur> if you were actually a girl itd be fine but youre a guy and its weird x.x
00:20:46 <tusho> ok, it looks best near the very end
00:20:50 <tusho> i don't look like a girl then
00:21:12 <tusho> do you think that'll convince anmaster
00:21:27 -!- tusho has set topic: http://vjn.cc/x | HEY ANMASTER: http://www.wellnowwhat.net/transfers/Tusho%20is%20a%20girl%20part%201.mov and http://www.wellnowwhat.net/transfers/Tusho%20is%20a%20girl%20part%202.mov.
00:21:36 <augur> youre a very girly boy, tusho.
00:21:56 <augur> when you go through puberty you might end up being quite attractive tho.
00:22:12 <augur> but right now, WAY too girly.
00:22:14 <tusho> anyway, i don't normally look like that
00:22:27 <augur> well then we'll talk again next time you look like a man
00:22:46 <augur> now i cant insult you
00:22:51 <augur> you're too adorable to insult
00:22:54 <augur> i fucking hate you
00:22:56 <tusho> oklopol: what is your opinion on the matter
00:23:03 <tusho> augur: you just broke your rule two messages after stating it
00:23:21 <augur> i did no suck thing.
00:23:22 <tusho> augur: now i cant insult you
00:23:25 <tusho> augur: i fucking hate you
00:23:29 <oklopol> male == hasPenis, female == !male
00:23:35 <augur> saying i hate you isnt an insult. :P
00:23:39 <tusho> oklopol: do you believe i'm 12
00:24:05 <oklopol> well yeah, i've always believed that
00:24:08 <GregorR> Saying you hate someone is an insult if they respect your opinion.
00:24:11 <oklopol> because i don't really care whether you are
00:24:19 <augur> tusho doesnt respect my opinion, be serious
00:24:28 <tusho> GregorR: Do YOU believe i'm 12? And male? :P
00:24:34 <tusho> (Evidence: In topic.)
00:24:38 <GregorR> tusho: I have no reason not to *shrugs*
00:24:39 <oklopol> augur: i did no suck thing. <<< you suck things all the time
00:24:52 <tusho> augur: i need a leigon to fight AM
00:24:53 <augur> those videos are not evidence you're a male. not by far. :P
00:25:05 <tusho> near the end of part 2
00:25:10 <oklopol> i've been told i'd make a pretty girl
00:25:22 <augur> you're just pretty, oklopol.
00:25:26 <GregorR> augur: Any further evidence that could be provided would suffice for child porn ;P
00:25:48 <oklopol> The international child porn hub, also some esoteric programming.
00:25:52 <augur> its only child porn if you believe hes 12
00:26:06 <augur> who thinks tusho's really a 29 year old woman? ::raises hand:
00:26:25 <tusho> I AM A 12 YEAR OLD MALE YOU IDIOT
00:26:29 <augur> you look like my friend karma
00:26:39 <augur> those are videos of tusho
00:26:42 <tusho> bsmntbombdood: proof that I am 12.
00:26:45 <augur> pretending to be a young male.
00:26:49 <tusho> or female, if you listen to augur
00:26:56 <oklopol> i'm pondering about taking a tour to meet all the active people here.
00:27:00 <tusho> fuck you bsmntbombdood
00:27:05 <oklopol> although i may steer clear of augur :P
00:27:19 <augur> well you'd have to bring your girlfriend if we meet up, oklopol.
00:27:27 <augur> she wouldnt want us fucking unless she could watch.
00:27:34 <augur> it'd be totally unfair to her.
00:27:42 <oklopol> i don't think she'd mind either way
00:27:43 <bsmntbombdood> don't bring your girlfriend if we meet up, oklopol
00:27:59 <augur> you wouldn't want grammar either
00:28:32 <augur> oklopol, you sound way too archetypally northern european.
00:28:36 <GregorR> Do they make speakers hi-fidelity enough to play sound at roughly 500MhZ?
00:28:46 <tusho> GregorR: depends. If I'm 12 and male, yes.
00:28:51 <augur> but you'd never hear it.
00:29:06 <augur> and theyre not real speakers.
00:29:16 <augur> not like.. magnet and cone speakers
00:29:24 <tusho> augur: leave those videos up by the way
00:29:25 <augur> they'd be some crazy custom plasma speaker or something
00:29:26 <tusho> AnMaster must see.
00:29:32 <augur> oh those videos arent going anywhere
00:29:34 <GregorR> augur: But if you play a sine wave at 44540 Hz, then record it with your computer, a perfect middle A will come out even though you couldn't hear anything with your human ears :)
00:29:47 <tusho> augur: what purpose do you have for them?! :P
00:29:51 <GregorR> (Record it at 44100 that is)
00:30:01 <GregorR> augur: Nope, just insufficient sample rate and bad timing :P
00:30:08 <augur> oh i see. yes, well thats sampling issues.
00:30:18 <augur> nyquist frequency is relevant here, im sure.
00:30:37 <tusho> reencode them as ogg
00:30:40 <tusho> otherwise AnMaster won't watch them
00:30:49 <augur> i dont know if i can
00:33:00 -!- augur has quit (Read error: 104 (Connection reset by peer)).
00:33:04 -!- augur has joined.
00:36:35 -!- seveninchbread has joined.
00:36:52 <augur> seveninchbread, is "bread" a euphemism for penis?
00:39:00 <augur> why do i have audio of someone paddling through a lake? x.x
00:40:12 -!- seveninchbread has changed nick to CakeProphet.
00:40:22 <augur> i lost my data a while back and now all my music is garbage :(
00:40:52 <CakeProphet> so congratulations for being manipullable.
00:41:40 <tusho> anyway. augur. i am one-two 12 years old. i am m-a-l-e male. now accept that :p
00:41:41 <augur> im speaking english words and you're understanding them. congratulations for being manipulable.
00:41:53 <augur> ITS TOO WEIRD, TUSHO
00:43:17 <augur> i dont know what any of this music is but a lot of it is really good :(
00:43:27 -!- tusho has set topic: http://vjn.cc/x | HEY ANMASTER: http://vjn.cc/tusho1 and http://vjn.cc/tusho2.
00:44:16 <augur> how the fuck do you loose all meta data on a song, thats ridiculous. >_<
00:44:37 <tusho> use musicbrainz picard
00:44:40 <tusho> it tags it from an audio hash
00:44:56 <oklopol> when did they change "lose" to "loose"?
00:45:01 <augur> ok ill use it and if it doesnt work will you admit you're a 29 year old woman?
00:45:11 <augur> WHEN I SAID IT DID, OKLOPOL.
00:45:14 <augur> IM THE LINGUIST HERE, NOT YOU
00:45:24 <tusho> augur: use the foosic tagger?
00:45:26 <tusho> there's tons of options
00:45:38 <oklopol> well i thought it might've been a few days ago, since AnMaster used it twice
00:45:54 <augur> its a common misspelling which will probably become standard soon
00:46:04 <oklopol> i also "corrected" him twice, although i now realize it must've changed while i wasn't looking.
00:46:29 <tusho> oklopol: AnMaster isn't very good at english
00:46:43 <tusho> befunge 98 got some X
00:47:37 <oklopol> if i feel the need to correct someone's "loose", he can't suck *that* much
00:47:55 <augur> but he definitely fucks too much
00:48:04 <augur> kegels. gotta do kegels.
00:48:10 <augur> otherwise you gape! :(
00:48:15 <augur> and im not into that.
00:48:16 <oklopol> hf, just remember to flush
00:48:29 <augur> tusho has a skype smiley to help you visualize it
00:48:42 <tusho> what, the goatse hands?
00:49:19 <augur> i wanna do a podcast. we should do a podcast. it can be about esolangs.
00:49:30 <oklopol> perhaps i should code eodermdrome, this has been fun but very pointless :)
00:50:05 <augur> and anyone else who wants to join.
00:50:07 <tusho> augur and tusho talk about esolangs while oklopol & lilja laugh in the background
00:50:23 <oklopol> augur talks about esolangs, while we laugh, and tusho screams
00:50:27 <tusho> oklopol's girlfriend i think?
00:50:45 <oklopol> lilja is my other persona i use over a voice filter
00:51:10 <augur> is that your girlfriend?
00:51:30 <augur> omg i love this song :(
00:54:01 <oklopol> i need an eodermdrome program
00:55:14 <tusho> augur: we should hack on a language implementation while talking about it over skype some time, i'd just spend all the time replacing the file with NOMADS
00:55:21 <tusho> and you'd spend it laughing and prodding me about scheme
00:55:40 <augur> id prod you about being a girl is what i'd prod you about
00:56:12 <augur> whyd you have to ruin it tusho
00:56:18 <augur> now i cant joke about raping you :(
00:56:57 <augur> music brainz is also giving me either no matches or a million matches
00:59:30 <oklopol> ais523: i think it's a non trivial task to do graph -> eodermdrome.
01:03:36 <pikhq> (or: no, Def-BF ain't happening tonight)
01:04:28 <lilja> I'm just oklopol's pet chipmunk
01:04:39 <lilja> okokokokokokokokokokokokokokoko
01:09:21 * tusho watches iphone upgrade
01:11:18 <lilja> but hey, augur, you had a really nice voice
01:11:23 <lilja> and way of talking
01:11:26 <oklopol> if anyone feels like playing, this should work now http://www.vjn.fi/pb/p316213521.txt
01:11:47 <oklopol> i didn't make the io yet, as i'm not entirely sure how to unparse shit, and i kinda want that next
01:11:57 <oklopol> ais prolly has some clue about that
01:11:57 <augur> i sounded like a complete poof
01:12:10 <augur> mainly cause i am a complete poof
01:12:25 <lilja> oh well, then poofs sound nice
01:12:33 <oklopol> CakeProphet: ais523's graph rewriting language
01:13:05 <oklopol> i got interested in it as a possible extension for kinda graph lambdas for graphica
01:13:36 <tusho> augur: let's talk about SCHEME
01:13:42 <oklopol> but i doubt i'll do that even if he lets me use it
01:14:04 <augur> i figured you'd get angry at scheme and have lots to say
01:14:31 <augur> <tusho> GRAR SCHEME GRR SGLASGJ SHITTY UNDERPOWERED TOO MINIMAL GRR RARG
01:14:32 <tusho> you envisioned...................
01:14:41 <tusho> when have I ever said that
01:14:58 <oklopol> doesn't tusho like scheme?
01:15:05 <augur> the other day when you kids were talking about scheme and lisp
01:15:12 <augur> you were all hardcore anti scheme
01:15:12 <tusho> just for writing actual apps it's a bit on the minimal side
01:15:23 <oklopol> i must've been otherwheres then
01:16:03 <oklopol> ANTISCHEME, WHERE THE PARENS ARE BACKWARDS AND LISTS ARE FUCKING NEGATIVE
01:16:18 <augur> WHAT IS A NEGATIVE FUCKING LIST
01:16:21 <augur> you dont even know yourself
01:16:48 <augur> oklopol your girlfriend is going all :D on me
01:16:52 <tusho> augur: it's a list that instead of being wrapped inwards like nested list
01:16:52 <oklopol> that's one way to do negative lists
01:16:54 <tusho> is wrapped outwards
01:17:02 <augur> im going to start confusing her for you and then im gonna be hitting on your girlfriend :( :( :(
01:17:18 <augur> that doesnt make any sense
01:17:24 <augur> no i dont like girls! :(
01:17:25 <tusho> augur: yes it does
01:17:49 <tusho> see? it sort of folds out
01:18:00 <augur> that makes no sense :P
01:18:02 <oklopol> well the level before (a b c) is trivial
01:18:09 <oklopol> you will just expand whatever it's inside of
01:18:34 <oklopol> you can match that on a list to get a certain amount of elements from the middle of it
01:19:21 <CakeProphet> oklopol I would have guessed a negative list
01:19:30 <oklopol> it's the negative lists that are complicated
01:19:31 <CakeProphet> contained everything else besides what it was defined with
01:19:47 <oklopol> right now, my nopol semantics aren't really all that pretty
01:19:51 <tusho> iphone update sloooooooooooooooooooooooooooowwwwwwwwwwwwwwwwwwwwwwwwwwww
01:19:57 <augur> cakeprophet: how would that work?
01:20:01 <CakeProphet> which... isn't really possible to implement--yeah
01:20:09 <oklopol> for instance ([...]) != [(...)], where ()=positive, []=negative
01:20:16 <CakeProphet> and do not necessarily need to be iterated over.
01:20:17 <augur> like.. test membership is just like normal but negated?
01:20:21 <oklopol> even though both should obviously be a zero depth ...
01:20:34 <augur> )a b c( is the negative list containing everthing but a, b, and c
01:20:35 <oklopol> CakeProphet: it's not negative length
01:20:52 <augur> so (member 'a ')a b c() returns false?
01:21:00 <oklopol> also no, negative != infinite's complement
01:21:06 <augur> e.g. (member 'a ')a b c() == (not (member 'a '(a b c)))
01:21:14 <oklopol> well you can define it like that, if you wanna
01:21:30 <oklopol> but i'd prefer a set that has kinda antielements.
01:21:36 <augur> this is bordering on the closed universe issue with prolog
01:21:40 <oklopol> but anyway, this is not about a negative length, it's negative depth
01:21:52 <oklopol> which kinda escapes the tree form in very, very weird ways
01:21:55 <augur> oklopol, you and your negatives.
01:22:17 <oklopol> so basically, if you have a negative list inside your positive list, the negative list will actually kinda pop up.
01:22:19 <CakeProphet> but in a negative list it has a depth of... -2?
01:22:28 <oklopol> and the rest will be inside it
01:22:33 <CakeProphet> ........that's a very cool, confusing concept.
01:23:12 <augur> its nonsensical is what it is!
01:23:14 <oklopol> CakeProphet: yes, and i'm not sure how it should be done, nopol has it, but it's not all that pretty yes
01:23:19 <augur> oklopol loves to do these crazy things
01:23:22 <CakeProphet> so you can effect outside data by defining data within a negated list that's inside a list of the opposite polarity?
01:23:25 <augur> dont let him make you nuts
01:23:41 <oklopol> http://www.vjn.fi/oklopol/nopol.txt <<< map function with a negative list
01:23:56 <augur> youre both mad! >_<
01:24:29 <oklopol> i'm going to explain, the gist at least
01:24:54 <oklopol> basically, map does (1,2,3...n) -> (f 1,f 2,f 3...f n), right
01:25:32 <oklopol> now what we do, is take a function, and do (f (1,2,3...n)), after which we lift the list given to f by two steps
01:25:42 <oklopol> so we first get (f 1 2 3 4... n)
01:25:54 <oklopol> where [] is a negative list
01:26:01 <oklopol> a negative list is a sick thing.
01:26:15 <oklopol> if the negative list has depth -1
01:26:26 <oklopol> then it will kinda rise above one level of normal list surrounding it
01:26:34 <oklopol> in this case it will rise above the (f ...) thing
01:26:52 <augur> CAKE PROPHET IT DOESNT MAKE SENSE
01:26:53 <oklopol> and it will iterate through its elements, making a copy of the whole list surrounding it, for each of its elements
01:26:57 <augur> even oklopol doesnt understand it
01:27:07 <augur> oi! oklopol! PMs! read them!
01:27:08 <oklopol> CakeProphet: oh, no, it's not like that
01:27:57 <oklopol> after doing the negative -> positive transformation
01:28:21 <oklopol> as you can see, (f ...) was done for each elem in the list
01:28:32 <CakeProphet> so... for notational purposes... if (f ...) is a function call... [1,2,3,...] is a positive list... and <1,2,3...> is a negative list
01:28:54 <oklopol> well sure, except it doesn't actually differentiate between a list and a function call
01:29:04 <oklopol> well it kinda does, but not conceptually
01:29:09 <augur> this is lisp right oklopol?
01:29:21 <augur> CRAZY FINNISH LISP
01:29:33 <oklopol> lisp doesn't differentiate between a list and a function call?
01:29:54 <oklopol> that's a list in nopol, because 1 can't be called
01:30:07 <augur> and NEGATIVE LISTS
01:30:14 <oklopol> except in practise it's closer to lisp, but irrelevant here
01:30:24 <augur> (1 2 3 4) should not be a list in lisp
01:30:27 <augur> it should be an error
01:30:53 <augur> you know its true!
01:31:01 <augur> '(1 2 3 4) is a list
01:31:05 <oklopol> CakeProphet: it's purely functional
01:31:06 <augur> (list 1 2 3 4) is a list
01:31:11 <oklopol> except for negative list rewriting
01:31:13 <augur> but (1 2 3 4) is an application that fails
01:31:17 <oklopol> which is not, but close to it
01:31:33 <augur> but its not a list
01:31:43 <CakeProphet> oklopol: hmmm... so what was not purely functional in my description? I've never fully grasps pure functionalness completely.
01:31:49 <oklopol> okay you got me i didn't know that
01:32:07 <augur> language metalanguage oklopol. language metalanguage. :P
01:32:19 <oklopol> CakeProphet: basically, that there is just one tree specifying the program state at a given time, in this case
01:32:29 <oklopol> no variables, no streams, just a tree
01:32:41 <CakeProphet> oklopol: so... like brainfuck has an array... this will have a tree?
01:33:25 <oklopol> but unlike brainfuck, there is no pointer that moves around
01:33:34 <oklopol> there is just state, and rules for rewriting parts of it
01:34:08 <CakeProphet> to help me understand the rewriting (I've /never/ grasped graph rewriting)
01:34:17 <CakeProphet> ...that's like uh... damnit what's it called.
01:34:26 <oklopol> graph rewriting is more complex than tree rewriting
01:34:33 <CakeProphet> the string-rewiriting language that I should know instantly.
01:35:09 <CakeProphet> in terms of how you describe things... as rewrite rules.
01:35:21 <augur> string rewriting is simple
01:35:26 <augur> i dont know how to do graph rewriting
01:35:29 <oklopol> okay let's consider an example
01:36:07 <CakeProphet> -updates his hideous and outdated picture on frappr-
01:36:16 <oklopol> CakeProphet: let's say you have the initial state [append, [1, [2, [3, []]], [2, [3, [4, []]]]]
01:36:40 <oklopol> [append [1 [2 [3 []]] [2 [3 [4 []]]]] if you prefer without commas
01:36:45 <augur> what does that even do, oklopol. lol
01:36:53 <oklopol> augur: it does absolutely nothing
01:36:59 <oklopol> this is a tree with numbers and atoms.
01:37:15 <oklopol> now, we can make a purely syntactic rewrite rule
01:37:17 <augur> ok so its a boring binary tree.
01:38:29 <oklopol> [append A []] => A; [append [A B] C] => [append B [A C]]
01:38:37 <oklopol> now here we have two rewrite rules
01:38:49 <oklopol> which will actually not work, sorry.
01:39:15 <oklopol> [append A []] => A; [append A [B C]] => [append [B A] C]
01:39:25 <CakeProphet> and is substitued as the A in the second expression
01:39:33 <oklopol> this will actually be kinda bugged, as the latter list will reverse
01:40:01 <oklopol> we're just doing a global rule, each time there is some append in the program state, we can rewrite it using these rules.
01:40:02 <CakeProphet> hmmm... the first rule won't match anything will it?
01:40:14 <oklopol> it will match only if the latter list is empty
01:40:24 <CakeProphet> there is not empty node after an anything-node after append
01:40:25 <oklopol> in which case the branch will be rewritten as just the list A
01:40:34 <augur> it matches 4 [] no?
01:40:39 <oklopol> it will not match right away, CakeProphet
01:40:52 <oklopol> the second rule would match exactly 3 times, then the first one would match once
01:41:04 <oklopol> the evolution of the program state tree would be something like
01:41:24 <oklopol> [append, [1, [2, [3, []]], [2, [3, [4, []]]]] => [append, [2, [1, [2, [3, []]]], [3, [4, []]]]
01:41:37 <oklopol> => [append, [3, [2, [1, [2, [3, []]]]], [4, []]]
01:41:45 <augur> it'd transform [1 [2 [3 [4 []]]]] into [[[[[] 1] 2] 3] 4] right?
01:41:54 <oklopol> => [append, [4, [3, [2, [1, [2, [3, []]]]]], []]
01:42:01 <oklopol> and now the first rule would match
01:42:09 <oklopol> and the result would be [4, [3, [2, [1, [2, [3, []]]]]]
01:42:26 <augur> are you sure oklopol? i dont think thats what would result.
01:42:40 <augur> atleast not with the second 2 and 3
01:42:49 <oklopol> augur: why would it transform a list into its reverse?
01:42:57 <oklopol> there are only rules for lists that start with append
01:43:02 <augur> well i didnt trace it out in my head but
01:43:23 <augur> A [B C] => [B A] C which is a reordering of the nesting from right to left
01:43:30 <oklopol> you can do curried functional programming with first-class functions just by doing simple tree rewrite rules
01:43:55 <oklopol> the left side of the second rule
01:44:14 <oklopol> B will match head, C will match tail
01:44:35 <augur> your notation is confusing anyway
01:44:35 <oklopol> CakeProphet: you don't calle
01:44:54 <oklopol> [A B] is a list of two elems, A and B
01:45:03 <oklopol> [A B C] is a list of three elems, A, B and C
01:45:07 <oklopol> what's confusing about that?
01:45:27 <oklopol> but anyway, i think augur just sucks ass, as he's gay ;)))))
01:45:30 <augur> it doesnt help to discuss further
01:45:51 <CakeProphet> yeah... I'd ditch the commas... not needed in this notation really.
01:46:17 <oklopol> CakeProphet: so, functions don't get called, it's just if you have something with a "function name" as the first element and something as it's arguments, the rewrite rule will trigger
01:47:54 <oklopol> well i explained them before, already, a list of negative depth -N will rise N levels upwards, and it will multiply that whole list N times, and put each of its elements where the negative list used to be
01:47:59 <oklopol> and collect these in a list
01:48:11 <oklopol> so for [...] a positive list and <...> a negative list
01:48:39 <oklopol> here, k l m is the negative list [a b [d e <<k l m>> f g] c [h i j]]
01:48:48 <oklopol> no let's see how to evaluate that
01:48:56 <oklopol> first, we separate the negative list's contents
01:49:18 <oklopol> we get the list [k l m] and the list "lambda" [a b [d e * f g] c [h i j]]
01:49:29 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
01:49:32 <oklopol> we then just put each of k, l and m where the * is
01:49:49 <oklopol> [[a b [d e k f g] c [h i j]] [a b [d e l f g] c [h i j]] [a b [d e m f g] c [h i j]]]
01:50:00 <oklopol> if you get that, you should get my negative list semantics
01:50:33 <CakeProphet> but I am not going to be able to think about it sanely.
01:50:39 <oklopol> the list is -2 in depth, so if we had something around the original, like [X Y Z [a b [d e <<k l m>> f g] c [h i j]] W P R]
01:50:57 <oklopol> [X Y Z [a b [d e k f g] c [h i j]] [a b [d e l f g] c [h i j]] [a b [d e m f g] c [h i j]]] W P R]
01:51:13 <CakeProphet> <oklopol>[[a b [d e k f g] c [h i j]] [a b [d e l f g] c [h i j]] [a b [d e m f g] c [h i j]]]
01:51:57 <oklopol> http://www.vjn.fi/pb/p564464542.txt
01:52:38 <oklopol> but actually [X Y Z [[a b [d e k f g] c [h i j]] [a b [d e l f g] c [h i j]] [a b [d e m f g] c [h i j]]] W P R] was the latter, i had a small error
01:53:09 <oklopol> then it'd just be expanded into the list [d e k l m f g]
01:53:24 <CakeProphet> how do you represent a depth 0 negative list?
01:53:40 <oklopol> [a b [d e |k l m| f g] c [h i j]] ==> [a b [d e k l m f g] c [h i j]]
01:53:49 <oklopol> i represented with |...| here
01:54:12 <oklopol> because [<...>] != <[...]>, sadly
01:54:25 <oklopol> and neither is the 0-depth list i think.
01:54:32 <oklopol> i need to hone this concept a bit, still
01:54:35 -!- tusho has quit.
01:55:04 <CakeProphet> in the way it evaluates into positive depth lists.
01:55:16 <oklopol> [a b [d e <k l m> f g] c [h i j]] ==> [a b [[d e k f g] [d e l f g] [d e m f g]] c [h i j]]
01:56:03 <oklopol> the negative list makes a list lambda, that is, a list stub that is given some value to fill in a place
01:56:19 <oklopol> you get this stub, or the lambda, by removing the negative list, and replacing with *
01:56:33 <oklopol> you then just "call" the stub for all elems of the negative list
01:56:44 <CakeProphet> so for each duplicate of the original list
01:56:55 <CakeProphet> you fill in a * with just /one/ value from the negative list
01:57:28 <oklopol> yes. except the "original list" here means whatever list is N levels up from the negative one, where N is the negative depth
01:57:45 <oklopol> well try reading the actual notation :P
01:58:08 <CakeProphet> I'm not sure how that could be useful computationally yet, but it makes sense now.
01:58:19 <oklopol> well you can basically do mapping with it.
01:59:20 <oklopol> yep. it's just it can rise over multiple levels, and a decent implementation would do this with iterators or something, so you could do pretty sick mapping tricks
02:00:01 <oklopol> if i had something like a "strong list"
02:00:07 <oklopol> let's mark that with {...}
02:00:18 <oklopol> and i had a kinda strong negative list
02:00:30 <oklopol> let's mark that with... err... \.../
02:00:51 <oklopol> now, we could have some code, say a function, within a strong list
02:01:04 <oklopol> strong lists, both positive and negative ones, work just like the normal ones
02:01:22 <oklopol> a strong negative will go upwards its depth in strong positive lists
02:01:30 <oklopol> so you don't have to calculate how deep you are
02:01:40 <oklopol> you can just surround where you wanna jump out of with a strong list
02:02:05 <oklopol> like {... [... [... \.../ ...] [...] ...] ...}
02:02:08 <CakeProphet> strong list isn't really a good description... I think.
02:02:18 <oklopol> here, the \.../ would jump @ the {...} level
02:02:38 <oklopol> well let's call them thick or something
02:03:20 <oklopol> now, what i didn't actually go through about negative lists, is that they're a bit cleverer than i said earlier
02:03:20 <CakeProphet> (I'm seriously surprised this is all making sense)
02:03:36 <oklopol> [a b <g h i> c d <j k> e f]
02:03:48 <oklopol> now, we have two negatives that both map the upper list
02:04:11 <oklopol> in this case, the mappings happen at the same time, and we get the cartesian product on one mapping level.
02:04:20 <oklopol> in case cartesian product is a weird term, just ignore it
02:05:07 <oklopol> [a b <g h i> c d <j k> e f] ==> [[a b g c d j e f] [a b g c d k e f] [a b h c d j e f] [a b h c d k e f] [a b i c d j e f] [a b i c d k e f]]
02:06:20 <CakeProphet> I get that there's 3*2 duplicates of the positive list surrounding the negatives.
02:06:23 <oklopol> this is not what my current nopol interpreter would do, and there are no thick lists yet, this is all just to show you another possible use, which you might see in a while
02:06:43 <oklopol> and we are doing all possible substitutions from the two lists
02:07:03 <CakeProphet> if you were to describe the substitutes as pairs
02:07:24 <oklopol> we take the lists <g h i> and <j k>, and we take the list lambda [a b #1 c d #2 e f]
02:07:57 <oklopol> then we take all the possible pairs formed by the elements of <g h i> and <j k>
02:08:02 <oklopol> exactly the ones you just listed
02:08:14 <oklopol> except the latter ones would be evaluated first
02:08:23 <oklopol> yes, but let's see how that works out for thick lists
02:08:43 <CakeProphet> you could probably do some neat computations using that implementation.
02:09:03 <oklopol> we can have an arbitrary list inside {...}, containing all kinds of stuff
02:09:09 <oklopol> and, some thick negative lists.
02:09:23 <oklopol> now, can you see how we can do declarative programming with this model?
02:10:09 <oklopol> let's say we have {(== (+ \4 5 6/ \2 3 4/) 6)}
02:10:28 <oklopol> now, 4 5 6 and 2 3 4 would be extracted from inside the thick upper list
02:11:06 <oklopol> so we take the cartesian product of \4 5 6/ and \2 3 4/, and put the pairs, one by one, into {(== (+ #1 #2) 6)}
02:11:23 <oklopol> as this effectively becomes a list of all the possible combinations
02:11:40 <oklopol> we can easily just traverse this thick list until we find a "true" value
02:12:04 <oklopol> in fact, that would produce the list {true false false false false false false false false}
02:12:44 <oklopol> well it's somewhat like amb.
02:12:53 <oklopol> but this is a bit higher level
02:13:07 <oklopol> amb is a function that takes some list of args
02:13:33 <oklopol> and it returns, conceptually, such an arg that nowhere later in the program amb will be called without arguments
02:13:33 <CakeProphet> does the language you currently have declare builtin rewrite rules, or does it assume nothing initially?
02:13:59 <oklopol> it has some rewrite rules, and it actually has quite pretty lambdas and stuff like that
02:14:32 <CakeProphet> if it started off with no functions defined... just for the possibility of being like a typical tree-rewriting esolang
02:14:50 <CakeProphet> and then have a way to, dare I say, import in function defintions...
02:14:57 <oklopol> well sure, at least if i let you make thicker lists, it would own
02:14:58 <CakeProphet> so that you have some builtins in various files.
02:15:18 <oklopol> i guess you could define the concept of lambda yourself
02:15:36 <oklopol> but, i'll be sleeping now, perhaps more lessons about my languages later :P
02:15:56 <CakeProphet> I didn't even pay attention to which brackets I was using.
02:16:29 <CakeProphet> I shall ponder on all of this. it's pretty ridiculously genius.
02:39:59 <CakeProphet> it's nice to actually see esolangs that can explore an utterly new concept and retain practicality (i.e. not a tarball)
02:47:01 <CakeProphet> a - before a single capital letter matches negative lists only... so you could have.
02:47:50 <CakeProphet> but it would be nice to have a neg function defined somehow.
02:48:12 <CakeProphet> that would non-recursively flip the polarity of a list.
02:48:32 <CakeProphet> which would be useful if you had a list that you didn't want to negative-immediately.
02:55:07 <CakeProphet> and then absneg... which does the opposite of abs
03:15:23 <augur> hey! whered tuulia go? >|
03:31:43 <augur> wheres EVERYONE gone?!
04:13:49 -!- CakeProphet has quit (Remote closed the connection).
04:29:23 -!- CakeProphet has joined.
04:35:18 -!- CakeProphet has quit ("lolwhut?").
04:40:41 -!- CakeProphet has joined.
04:47:20 -!- CakeProphet has quit (Remote closed the connection).
04:51:02 -!- CakeProphet has joined.
05:08:57 -!- Corun has quit ("This computer has gone to sleep").
05:15:33 -!- CakeProphet has quit (Remote closed the connection).
05:17:00 -!- CakeProphet has joined.
05:40:49 -!- pikhq has quit ("leaving").
06:01:06 -!- CakeProphet has quit ("lolwhut?").
06:10:13 -!- cherez has quit (clarke.freenode.net irc.freenode.net).
06:10:13 -!- Sgeo has quit (clarke.freenode.net irc.freenode.net).
06:12:09 -!- CakeProphet has joined.
06:12:30 -!- cherez has joined.
06:12:30 -!- Sgeo has joined.
06:44:59 -!- CakeProphet has quit (Remote closed the connection).
06:45:52 -!- CakeProphet has joined.
07:04:46 -!- Sgeo has quit (Remote closed the connection).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:01:57 -!- RedDak has joined.
09:49:43 -!- CakeProphet has quit ("lolwhut?").
09:52:31 -!- CakeProphet has joined.
09:52:50 <CakeProphet> after seeing the later levels of those youtube clips
10:18:37 -!- tusho has joined.
10:21:30 <tusho> AnMaster: i have definitive proof
10:21:39 <tusho> http://vjn.cc/tusho1
10:21:41 <tusho> http://vjn.cc/tusho2
10:21:47 <tusho> quicktime mov, so propietary but what the hell
10:21:48 <tusho> you can convert it
10:21:59 <tusho> think there's a FOSS decoder for it too
10:22:08 <AnMaster> I think xine or mplayer can do it
10:22:23 <AnMaster> "Tusho is a girl part 1.mov"!?
10:22:37 <tusho> augur thinks I look like a girl
10:23:23 <tusho> i do actually kind of look like a girl
10:23:25 <tusho> until near the end
10:23:29 <tusho> :\ I don't normally look like that.
10:24:22 <tusho> he did record sound
10:24:23 <tusho> I just didn't speak
10:24:48 <tusho> AnMaster: of course, it's obviously a video filter :p
10:24:57 <tusho> or incredibly skilled makeup application
10:25:00 <AnMaster> ok tusho I admit it, you are a 12 year old girl :P
10:25:07 <tusho> nooooooooooooooooooooooooooooooooooooooooooooooooooo
10:25:22 <tusho> its my headphones that make me look like that
10:25:31 <tusho> i put them on crappily
10:25:53 <AnMaster> tusho, or as there was no proof it was you in fact, no talking about monads or so on, could be your little sister ;)
10:26:04 <AnMaster> well I do think you are a 12 year old girl now
10:26:32 <tusho> i put my headphones on crappily so I looked like a girl.
10:26:36 <tusho> i do not normally look like a girl.
10:26:48 <AnMaster> well what about the long hair</sexist>
10:27:20 <AnMaster> anyway, I certainly didn't know about monads when I was 12...
10:27:52 <AnMaster> you act like you are quite a few years older than 12.
10:28:35 <AnMaster> tusho, but I'm convinced you are a girl now. ;P
10:28:57 <AnMaster> young one, maybe not 12, hard to say, more like 13-14
10:29:01 * tusho searches for birth certificate
10:29:06 <tusho> "AH BUT YOU COULD HAVE HAD A SEX CHANGE"
10:29:23 <tusho> i was mimicking the quality of your arguments
10:29:43 <AnMaster> tusho, well augur also thought you were a girl I assume?
10:29:58 <tusho> well yeah but. i'm not.
10:30:14 <tusho> besides, a 12 year old male talking about monads in #esoteric is improbable enough
10:30:19 <tusho> think of the Internet Female Factor added on to that
10:30:24 <tusho> i'd have to be jesus
10:30:54 <AnMaster> <tusho> besides, a 12 year old male talking about monads in #esoteric is improbable enough
10:31:07 <puzzlet> that's what you claim youself to be?
10:31:08 <fizzie> I've been mistakenly thought of being a girl occasionally, too. Both based on physical appearance and because of the IRC nickname, neither of which I think are very girly.
10:31:12 <AnMaster> it is like 0.00000000000000000000000001% probability
10:31:18 <tusho> AnMaster: yes well, I believe i've proved beyond reasonable doubt the -first- part
10:31:21 <AnMaster> no one is going to believe you
10:31:22 <tusho> it's the gender we're arguing over now :p
10:32:08 <tusho> AnMaster: so wait, i'm not a crazy person who spins a huge story about being 12, so therefore i'm obviously a crazy person who spins a huge story about being male? :)
10:32:36 <fizzie> I guess "obviously crazy" is a given here.
10:32:52 <AnMaster> <tusho> besides, a 12 year old male talking about monads in #esoteric is improbable enough
10:33:30 <tusho> uhh, i spent way too much time on the computer and the interwebs since 1997-1998 and 1998-1999 respectively? :)
10:33:42 <tusho> besides, even if I can't explain it, i've given sufficient evidence
10:33:51 <tusho> apart from the 'male' part, evidently
10:33:55 <AnMaster> your parents let you use internet freely?
10:34:07 <tusho> AnMaster: can't really remember
10:34:13 <tusho> i have a vague recollection of the interwebs, but not beyond that
10:35:02 <fizzie> Raised by the internets.
10:35:22 <tusho> fizzie: I'd be a lot more fscked up if -that- were true :-)
10:40:19 <tusho> AnMaster: obviously it's good camerawork and a voice filter, right
10:42:50 <fizzie> The generic term for any digital manipulation.
10:43:24 <AnMaster> I admit you are a 12-13 year old female
10:43:26 <tusho> fizzie: i don't think i could photoshop video in realtime
10:43:31 <tusho> I am awesome, but not that awesome.
10:43:38 <tusho> And shut the hell up AnMaster, I'm of the male gender.
10:44:21 <fizzie> "The lady doth protest too much, methinks."
10:45:07 <AnMaster> fizzie, stop being a sexist to poor tusho
10:45:25 <AnMaster> it can't be easy being female on irc
10:45:35 <AnMaster> what with all us male sexists around
10:48:31 -!- GreaseMonkey has quit ("HydraIRC -> http://google.com <- Go find something better").
10:49:05 <tusho> I like that modified quit message
10:50:07 <AnMaster> tusho, http://en.wikipedia.org/wiki/Popular_culture#In_Popular_Culture
10:50:33 <tusho> AnMaster: reverted vandalism
10:50:54 <tusho> that section was just added a few minutes ago, AnMaster
10:50:59 <tusho> see: http://en.wikipedia.org/w/index.php?title=Popular_culture&action=history
10:51:17 <AnMaster> tusho, it was there a few hours ago
10:51:30 <tusho> shrug - it's only been there for three revisions of changing it
10:51:32 <tusho> it has no citations
10:52:03 <AnMaster> 68.112.185.178 (that's not me), obviously had
10:53:09 <tusho> AnMaster: do you think we should have copious amounts of humour in an encyclopedia?
10:53:23 <tusho> what if britannica had 'Infinity' saying 'see Infinity'
10:53:31 <tusho> would you consider that a quality encyclopedia entry?
10:53:42 <AnMaster> http://en.wikipedia.org/wiki/Talk:Wood#In_Popular_Culture_.28see_http:.2F.2Fxkcd.com.2F446.2F.29
10:53:46 <AnMaster> http://en.wikipedia.org/wiki/Talk:Popular_culture#Popular_Culture_in_Popular_Culture
10:54:01 <tusho> 1. Needs citations
10:54:06 <tusho> 2. The article does not need that section.
10:54:07 <AnMaster> "For my money, it's not necessarily an Encyclopaedic sort of thing to leave out the jokes. Didn't Denis Diderot cross-list the Eucharist with Cannibalism in one of his editions? —Preceding unsigned comment added by 71.191.118.228 (talk) 22:33, 9 July 2008 (UTC)
10:54:07 <AnMaster> I was reading through a C++ dictionary this morning to find "recursion n.: See recursion." Some idea, I suppose. —Preceding unsigned comment added by 71.31.203.186 (talk) 18:48, 14 July 2008 (UTC)
10:54:07 <AnMaster> * I wonder how many people died of starvation after getting stuck in that loop. — BRIAN0918"
10:54:08 <tusho> It's a silly joke.
10:54:21 <AnMaster> from http://en.wikipedia.org/wiki/Talk:Wood
11:59:01 -!- olsner has joined.
12:45:39 -!- Hiato has joined.
12:55:08 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
12:56:52 <Slereah__> But the margin is too small to write it down!
13:00:14 <olsner> Slereah__: quick! grab a new piece of paper and write it all down
13:00:31 <olsner> at least, get around to doing that before you die :P
13:02:11 <Slereah__> Meh. I'll do it when I'm terminally ill.
13:02:38 <AnMaster> fermats last theorem or what was it where the margin was too small?
13:03:48 <Slereah__> "I'll just let people spend three hundred years looking for it"
13:12:05 <olsner> he's been laughing in the afterlife for 300 years :D easily worth it!
13:16:07 -!- RedDak has joined.
13:19:32 <Deewiant> I think it's most likely that his proof was flawed
13:20:05 <Deewiant> given that the only solid proofs we have now are based on maths that didn't exist at the time
13:45:22 <tusho> Deewiant: yeah, it was probably really trivial
13:49:18 -!- lilja has joined.
14:04:06 -!- Corun has joined.
14:08:03 -!- tusho has set topic: http://vjn.cc/x.
14:13:15 -!- Hiato has quit ("Leaving.").
14:15:46 -!- pikhq has joined.
14:26:52 -!- Corun has quit ("This computer has gone to sleep").
14:34:06 <oklopol> 11:52… CakeProphet: after seeing the later levels of those youtube clips
14:34:07 <oklopol> 11:52… CakeProphet: stage 1 looks relatively easy.
14:38:57 <oklopol> tusho: the time i read logs
14:39:05 <oklopol> although i didn't start then
14:41:26 <pikhq> For the record: The Orange Box? Totally awesome.
14:41:53 * pikhq tends to buy games months after they come out. (obviously)
14:43:24 <pikhq> tusho: Due to apathy + small budget.
14:43:28 <tusho> pikhq: The Orange Box came out more than months ago.
14:43:46 <pikhq> Probably been about a year now.
14:44:14 <pikhq> Also, it doesn't help that I didn't even play Half-Life until recently. . .
14:44:28 <pikhq> Meaning that, until recently, I didn't give a flying fuck about Valve.
14:51:06 <oklopol> what's this box you're referring to?
14:52:44 <oklopol> i don't get why portal gets so much credit for being original and shit
14:52:53 <oklopol> everyone invents the game when learning about portal culling
14:53:51 <pikhq> I give Portal credit for being a wonderful implementation of the idea.
14:54:04 <Deewiant> but yeah, there was Narbacular Drop and Prey before it
14:54:17 <Deewiant> and yeah, Portal is the best implementation. :-)
14:54:22 <oklopol> pikhq: well in my opinion the flash version looked nicer :P
14:54:37 <pikhq> Valve actually hired the guys who wrote Narbacular Drop for Portal. . .
14:55:04 <pikhq> I've also enjoyed Half-Life 2 immensely so far.
14:55:19 <pikhq> Though "so far" doesn't cover much, since I just got the crowbar.
14:55:28 <oklopol> well that one i won't even bother touching
14:55:43 <oklopol> unless someone actually points out something interesting about it
14:55:54 <pikhq> Play Half-Life 1, and you'll get it.
14:55:57 <oklopol> i doubt it differs much from wolfenstein, which sucked ass
14:56:23 <oklopol> depends on when it came out
14:56:47 <oklopol> then i most likely have played it
14:56:52 <pikhq> "Doubt it differs much from Wolfenstein"?
14:57:05 <oklopol> well you move around and shoot people
14:57:19 <oklopol> there's no cool gravity tricks or portals or anything :O
14:57:36 <Deewiant> gravity tricks do not a game make
14:57:44 <oklopol> i rarely enjoy games for anything but an esoteric movement or possibility to built shit
14:58:19 <pikhq> Half-Life is loved not for it being a FPS, but for it being one with an insanely good story. . .
14:58:35 <pikhq> (and generally being realistic)
14:58:39 <oklopol> well yeah, that instantly makes it sound boring
14:58:55 <Deewiant> half-life 2 has the best overall gameplay of all FPSs I've played, I think
14:59:08 <pikhq> Deewiant: I'd say its story is part of what makes the gameplay so damned wonderful.
14:59:11 <Deewiant> though that of course means that it's rather linear
14:59:17 <oklopol> fps is not an interesting paradigm tho, imo, so that doesn't say much
15:02:37 <pikhq> It seems that Half-Life is the greatest FPS.
15:02:51 <pikhq> At least, according to reviews. . .
15:03:18 <pikhq> And personal experience.
15:06:22 <Deewiant> for single player, yes, probably.
15:06:30 <Deewiant> the series as a whole, at least.
15:08:07 <pikhq> Given that Half-Life's 'multiplayer mode' entails another game on the same engine, I'd say Half-Life has no chance of being the best multiplayer FPS. :p
15:09:00 -!- ais523 has joined.
15:09:38 <ais523> [15:09] [CTCP] Received CTCP-PING reply from ais523: 20 seconds.
15:09:46 <ais523> but I understand why you wouldn't have seen my reply
15:09:48 <tusho> I shall check the logs
15:09:55 <ais523> tusho: I think they'll show you winning
15:10:00 <ais523> given how bad that ping time was
15:10:02 <tusho> ais523: and you can check yours
15:10:06 <tusho> they log when you type
15:10:55 <ais523> [Fri Jul 18 2008] [15:09:04] <ais523> hi tusho
15:11:01 <ais523> [Fri Jul 18 2008] [15:09:22] <tusho> hi ais523
15:11:09 <ais523> [Fri Jul 18 2008] [15:09:24] <tusho> OH YEAH
15:11:16 <ais523> that should be enough to calculate the relative clock skew
15:11:25 <ais523> wow, we're taking this /far/ too seriously...
15:13:05 <tusho> <envelope><sender self="yes" hostmask="tusho@91.105.112.94">tusho</sender><message id="PZ2T7Q30LU1" received="2008-07-18 15:09:26 +0100">hi <span class="member">ais523</span> </message><message id="I2HKCR30LU1" received="2008-07-18 15:09:27 +0100">OH YEAH</message></envelope><envelope><sender hostmask="n=ais523@gb01-fap04.bham.ac.uk">ais523</sender><message id="LG7DKW30LU1" received="2008-07-18 15:09:32 +0100" highlight="yes">hi <span class="highlight member
15:13:11 <tusho> terrible log forma
15:13:15 <ais523> tusho: it logs in XML?
15:13:17 <tusho> but i'm sure you can work it out
15:13:26 <tusho> 'cause it does things like linkify people names
15:13:34 <tusho> it's a right-clickable thing.
15:14:13 <ais523> according to your logs, you said hi ais523 four seconds after I received your hi
15:14:32 <tusho> of course, your clock is wrong
15:14:59 <oklopol> ais523: do you have an idea for the graph->eoderm unparsing??
15:15:20 <ais523> well, if we consider the OH YEAH to have arrived instantly, the clock difference is 3 seconds, so you lost by quite a way
15:15:25 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
15:15:35 <tusho> ais523: i'm fairly sure I won, i think it's clock skew
15:15:37 <tusho> definitely not 3 seconds anyway
15:15:52 <ais523> tusho: well, your messages are coming pretty instantly at the moment
15:16:00 <tusho> ais523: but you were lagging -then-
15:16:15 <ais523> but we'll still have the same relative clock skew
15:16:15 <oklopol> i'll come back when you've solved this
15:16:37 <tusho> i think our clients and ntp servers are too different to try and attempt this ais523
15:16:45 <tusho> but I was focused in the input box about to type to pikhq when you entered
15:16:49 <tusho> and i noticed immediately and started typing
15:17:14 <ais523> tusho: I just sent you a ctcp-time, that'll put bounds on the clock skew between us
15:17:17 <ais523> let me look at it in the logs
15:17:26 <tusho> it'll be offset by a bit, ais523
15:18:01 <ais523> tusho: you have to have replied between the time I sent the CTCP and the time I received it
15:18:08 <ais523> so that will put /bounds/ on the lag
15:18:18 <ais523> [Fri Jul 18 2008] [15:16:45] CTCP Sending CTCP-time request to tusho.
15:18:18 <ais523> [Fri Jul 18 2008] [15:16:45] <tusho> but I was focused in the input box about to type to pikhq when you entered
15:18:18 <ais523> [Fri Jul 18 2008] [15:16:46] CTCP Received CTCP-time reply from tusho: 2008-07-18 15:16:50 +0100
15:18:27 <ais523> IOW, the lag is either 4 or 5 seconds
15:18:52 <ais523> probably me joining the channel didn't reach your end until after I'd already typed hi, due to network lag
15:19:26 <tusho> ais523: i know that we don't count network lag, but shouldn't it be -relative to when we actually know we're there-
15:19:36 <ais523> tusho: yes, but then it's basically impossible to adjudicate
15:19:36 <tusho> so network lag in 'actually having any chance' vs 'delaying our messages'
15:19:40 <ais523> shall we just give up on this game now?
15:19:48 <tusho> ais523: tunes.org has objective logs
15:19:52 <tusho> for the purpose of 'join time'
15:20:14 <oklopol> people, you do realize this is a trivial problem
15:20:33 <oklopol> assuming you compete about reaction time
15:20:53 <ais523> oklopol: what solution do you suggest, given that competing at all is a bit silly and all this has got out of hand?
15:21:35 <oklopol> ais523: well i guess in this exact situation i'd say you call it a draw and you answer my eodermdrome question :P
15:22:15 <ais523> oklopol: well, the problem is that of finding a path that passes through all edges of the graph
15:22:24 <ais523> and I'm not sure that that's trivial to do, mathematically
15:22:44 <oklopol> i'm thinking, probably trivial to get a solution, but np to get the best one?
15:22:56 <oklopol> i'd go for evolutive here.
15:23:10 <oklopol> except it seems like there could be something simple and static for the approximation
15:23:51 <oklopol> it's just i hadn't actually given it any thought, and the python code didn't write itself, so i figured perhaps it's not *that* trivial
15:24:22 <oklopol> i still haven't given it any thought, just thought you might, as you suggested the unparsing
15:24:40 <oklopol> the graph can never disconnect with the drop protection rule
15:25:22 <oklopol> actually i don't think that's the case
15:25:50 <oklopol> well actually i don't not think that.
15:26:23 -!- Corun has joined.
15:26:33 <oklopol> ah, i think i have the "proof"
15:27:01 <oklopol> to get the one component to split
15:27:30 <oklopol> you'd have to find a node that needs to be dropped in order to split it
15:27:42 <oklopol> to actually get rid of that, you have to match it, that's for sure
15:28:05 <oklopol> but, you can only match on something that will be dropped if you have all the connections explicitly on the left side
15:28:36 <oklopol> and, because the right side is always one interconnected component, there is no way you can drop the node without making a connection between the components on both its sides
15:30:08 <oklopol> except i'll make a stupid parsing at first, since i'm lazy
15:30:27 <ais523> oklopol: that's it, I think
15:30:38 <oklopol> just whitespace splitted, so basically (...) can't contain whitespace, otherwise the same
15:31:11 <oklopol> i need to make oklotalk... i simply cannot use regexps
15:31:16 <oklopol> they're just so goddamn ugly.
15:31:26 <oklopol> i mean, when used as a dsl
15:32:19 <oklopol> that is, because you can't generalize for arbitrary sequences
15:32:38 <ais523> are you trying to persuade me to get back to writing Cyclexa again?
15:33:07 <oklopol> does cyclexa let you use it for other than string data?
15:34:20 <ais523> but it's really designed for string handling
15:34:24 <oklopol> basically, that you could use an arbitrary iterable data structure given some bijection between the objects contained in it and strings.
15:34:34 <ais523> Cyclexa's TC, after all
15:34:41 <ais523> the question is just how good it is at doing certain things
15:34:45 <oklopol> which you could of course do with any regexp motor, it's just... ugly.
15:36:13 <oklopol> i've been thinking about the arbitrary complex graph -> basic graph thingie... you could basically write tree rewriting code and compile to eodermdrome
15:36:33 <oklopol> assuming it's not too hard to do the unparsing thing
15:36:52 <oklopol> also, it's kinda nontrivial to get more elements than the alphabet contains
15:37:16 <oklopol> with string rewriting you can just start using longer strings as atoms, and make sure there will be no matching on only a part of them
15:37:34 <oklopol> but here, you will have to use danglers to differentiate between shit
15:37:41 <oklopol> actually, i think it's even worse
15:37:53 <oklopol> because you simply cannot have more than |alphabet| nodes at first.
15:38:03 <oklopol> so you need to have rules for the expansion
15:38:13 <oklopol> so i guess the compilation will not happen, actually :P
15:42:36 <tusho> oklopol: i'm going to make a thing like that portal flash game, but without restrictions. like you can shoot a portal onto itself
15:43:01 <Deewiant> shooting a portal through a portal? that worked in narbacular drop
15:43:13 <Deewiant> and made moving around a bit too easy IMO
15:43:14 <tusho> did you just kind of fall into it
15:43:17 <tusho> and never come back
15:43:31 <tusho> i mean, let's work it out
15:43:35 <tusho> you've shot the first one
15:43:39 <tusho> so you can stand on it, it's not active
15:43:41 <tusho> then you shoot the second on it
15:43:44 <tusho> so it's on top of it
15:43:51 <tusho> so, if you go through it
15:43:56 <tusho> you'll just go through an infinite tunnel of portals
15:44:06 -!- RedDak has joined.
15:44:13 <Deewiant> well what would happen is you'd bob up and down there
15:44:32 <tusho> Deewiant: no, think about it
15:44:35 <tusho> you land on the second one
15:44:40 <tusho> which goes to the first one, to the second
15:44:43 <tusho> but they're right on top of each other
15:44:49 <tusho> so it's like an infinite tube of portals
15:44:55 <Deewiant> unless you see portals are twodirectional
15:45:08 <Deewiant> i.e. if you have a portal in midair
15:45:11 <tusho> you bob up and down when they're -close-
15:45:12 <Deewiant> you could walk into it from both directions
15:45:42 <Deewiant> but if they're on top of each other, the way I see it is you fall into the one that's on top and come out the other, repeat.
15:45:51 <Deewiant> of course if they intersect you're fucked. :-P
15:46:40 <tusho> Deewiant: my game will be 2d
15:46:44 <tusho> so i'm not sure how that changes things
15:47:21 <tusho> i mean, i'm just going to implement portal as
15:47:23 <Deewiant> at least, I can't think of anything. :-P
15:47:31 <tusho> collision { player.x = dest.x; player.y = dest.y; player.dir = dest.dir }
15:48:50 <Deewiant> yeah, and that should work fine.
15:49:09 <tusho> Deewiant: won't I have to handle accelleration though
15:49:18 <tusho> as far as I can see
15:49:30 <oklopol> you need to add the difference of the directions of the portals to the direction of the player
15:49:44 <tusho> oklopol: well, the player.dir = dest.dir was kind of an abbreviation
15:50:12 <Deewiant> why wouldn't exactly that work?
15:50:13 <oklopol> but no you don't handle acceleration
15:50:42 <oklopol> acceleration can be considered something that never changes smoothly, but is always set to specific value right away
15:51:09 <oklopol> let's say you want to shoot something through a portal
15:51:17 <oklopol> any bullet will just shoot towards the normal
15:51:22 <oklopol> that would be so much fun.
15:52:02 <oklopol> same for the player, but you won't see it as directly
15:52:41 <oklopol> (as you don't control player movement in advance, but as you go)
15:53:08 <oklopol> btw. about esoteric movement, wanna hear a game idea of mine?
15:53:24 <oklopol> 2d game, there's this elliptical thing, representing you
15:53:58 <oklopol> you have two sides, the blue one, and the red one, these are the focal points
15:54:29 <oklopol> two for the blue one, two for the red one
15:54:38 <oklopol> and you can set their kinda magnetism value
15:54:51 <oklopol> pressing the blue-up key makes your blue side lift up
15:55:01 <oklopol> and the blue-down makes it press against the floor
15:55:21 <tusho> there's things attracted to only red
15:55:24 <oklopol> "up" and "down" relatively, as gravity would be separate, and these would always press against the nearest wall
15:55:24 <tusho> and things only to blue
15:55:27 <tusho> and you have to use them to navigate?
15:55:31 <oklopol> so you could run up a wall or something.
15:55:33 <tusho> by getting the magnetism just right
15:55:42 <oklopol> well yes, those exist in latter levels
15:55:56 <oklopol> also things you can't press against, only lift upwards from
15:56:14 <oklopol> anyway, basically, you could float a bit by pressing both ups
15:56:24 <oklopol> and keep still by pressing both downs
15:56:26 <tusho> oklopol: why make it in later levels? it'd be more fun with just liftmagblue dropmagblue and the same for red
15:56:35 <tusho> and you have to adjust red to fly up to the first red-attractor thing
15:56:39 <tusho> (but not too much or you'll crack)
15:56:43 <tusho> and then adjust it for the blue
15:56:44 <oklopol> tusho: i imagine just moving around will be incredibly fun.
15:56:45 <tusho> and there could be like hazards
15:56:48 <tusho> so you'd have to do it fast enough
15:57:20 <oklopol> tusho: the magnets aren't that strong, you have to get rotation to start moving
15:57:32 <oklopol> i don't want a flying game, i want incredibly hard movement :P
15:57:35 <tusho> oklopol: just make it start off a level rotating
15:57:42 <tusho> and bashing into things slows it down
15:57:46 <tusho> but if you move in the right way
15:57:52 <tusho> and therefore speed up
15:58:04 <tusho> if you go to a standstill, well, you've fucked up :)
15:58:06 <oklopol> you can get spin by yourself
15:58:12 <tusho> oklopol: yeah, i'm just saying
15:58:34 <oklopol> well i do know how much you like your ideas :P
15:58:44 <tusho> oklopol: doesn't it sound fun though.
15:58:53 <tusho> swish and spin and get the magnets right to snap on to a safe part
15:58:58 <tusho> to avoid flying obstacles
15:59:04 <tusho> then adjust it a bit to get the blue to the side
15:59:08 <tusho> you start spinning to it
15:59:14 <tusho> and adjust it just before you reach the end
15:59:17 <oklopol> so you need to master the movement
15:59:32 <tusho> oklopol: mine would just need you to get a 'feel' of the guy
15:59:44 <tusho> then you could just do it almost effortlessly :p
15:59:49 <tusho> well, not really, the challenges would get harder
16:00:00 <tusho> ooh, there could be magnets which act as switches when you hit them
16:00:27 <oklopol> well i'd prefer the harder levels to be about getting your jumps right, and jumping at all, learning to go up walls and stuff like that
16:00:44 <tusho> oklopol: see, i think those would actually be a lot less fun
16:00:53 <tusho> i think if you strip it down to my idea (which is pretty minimal) it'd be nice
16:00:56 -!- Slereah__ has quit (Success).
16:00:58 <tusho> only four keys to handle
16:01:02 <tusho> but loads of possibilities
16:01:46 -!- ais523 has quit (Remote closed the connection).
16:01:48 <oklopol> blah. i wan't it to be about mastering the physics
16:01:54 <tusho> thats what mine would be about!
16:01:58 <oklopol> anyway, you can do anything with the ellipse
16:02:00 -!- ais523 has joined.
16:02:03 <tusho> it'd just be purely that, instead of rotating manually and stuff
16:02:05 <oklopol> that was the point of the idea
16:02:13 <oklopol> i don't care that much about the actual gameplay :P
16:02:26 <tusho> oklopol: mine would be about mastering the physics but it'd actually be fun
16:02:53 <oklopol> deterministic challenge = fun
16:03:08 <oklopol> doesn't matter what you have, as long as it's about skill, and it's possible to pass
16:03:16 <tusho> oklopol: see, that's what mine is
16:03:21 <tusho> it's just a distilled version of your idea
16:03:32 <tusho> taking out the half that i don't really think is fun, and expanding on the bit I think is more fun and challenging
16:03:35 <oklopol> well i'm not sure what your exact idea was, just seemed like you were awfully fond with flying about aimlessly :D
16:04:08 <tusho> oklopol: shall i kinda like, dictate a puzzle and how you'd solve it
16:05:05 <oklopol> i'm not going for the puzzle approach, so i guess that's a difference
16:05:24 <oklopol> puzzles are boring, you shouldn't mix fun movement with problem solving.
16:05:40 <tusho> oklopol: it isn't a mix
16:05:49 <tusho> it's that the fun movement actually ties in with the problem solving
16:05:59 <oklopol> sure sure, dictate the puzzle
16:06:02 <tusho> so, oklopol, invision a black screen in your mind
16:06:09 <tusho> you have this capsule guy (====) kind of like a pill
16:06:13 <tusho> <--left half is blue
16:06:16 <tusho> right half is red-->
16:06:24 <tusho> so, you start off the level
16:06:34 <tusho> and it's on the floor, flipping liek this
16:06:51 <tusho> and, there's this red thing at the top
16:06:59 <tusho> so, you hold the 'increase red' key
16:07:07 <tusho> and when it flips near, it goes into the air
16:07:07 <oklopol> ah, you don't have gravity
16:07:15 <tusho> but your magnetism is more powerful than it
16:07:21 <tusho> that's the fun bit
16:07:26 <tusho> you need to be latching on to a magnet
16:07:26 <oklopol> so it will be falling down right away?
16:07:34 <tusho> anyway, it spirals to the red thing
16:07:37 <tusho> and snaps on to it
16:07:39 <tusho> because it's a magnet
16:07:46 <tusho> so, there's another blue one to the right --->
16:07:52 <tusho> you've just bounced off the red one
16:07:55 <tusho> but you're floating around it
16:07:57 <tusho> because your red is up
16:08:01 <tusho> so you put it down and crank the blue up
16:08:06 <tusho> and you spiral on to the other one, which bounces you down
16:08:12 <tusho> kind of like jumping through magnets
16:08:23 <tusho> anyway there'd be like flying obstacles
16:08:31 <tusho> and whenever you hit somethign you'd slow down your spinning
16:08:37 <tusho> stop spinning or crack because you bashed something too hard = game over
16:08:47 <tusho> and you have to get to the level exit or whatever through that
16:09:17 <tusho> oklopol: i think it'd be fun
16:09:50 <oklopol> well if collisions and movement on the floor isn't that essential, that's trivial to do
16:10:05 <tusho> oklopol: isn't that essential?
16:10:08 <tusho> that's the most part
16:10:17 <oklopol> oh, i thought it was mostly about flying about
16:10:18 <tusho> when you've bashed off a magnet, you can like bounce on the floor
16:10:21 <tusho> and then move to another one
16:10:25 <tusho> the gravity is there
16:10:27 <tusho> but it's more floaty
16:10:31 <tusho> and your magnetism is strong
16:10:37 <tusho> so, like, if you've just dropped down your X
16:10:40 <tusho> and you were near an X magnet
16:10:43 <tusho> you could bounce on the floor
16:10:47 <tusho> and then that'd put you close enough to a Y magnet
16:10:50 <tusho> so that you could up the Y and float to it
16:11:04 <tusho> the actual game mechanics are trivial but it lets you do loads of stuff
16:11:23 <oklopol> i guess you just like a different kind of level than i, that sounds a bit trivial and boring to me
16:11:49 <oklopol> err, the actual game mechanics with collisions and all are not trivial
16:12:04 <tusho> oklopol: well, what's not fun about mine?
16:12:06 <oklopol> well dunno, perhaps it's all trivial to you
16:12:06 <tusho> you have to master the movement
16:12:11 <tusho> and do some flying and avoiding
16:12:14 <tusho> using your leet movement skillz
16:12:28 <oklopol> tusho: well the only difference is you want to fly about, and i want to move around
16:12:39 <tusho> mine doesn't spend all the time flying around
16:12:53 <tusho> it's just what happens with slightly floaty gravity and when you're magnetizerating on to stuff
16:12:58 <oklopol> well okay, i'll believe it's the exact same idea as mine then, okay.
16:13:50 <oklopol> hmm, perhaps i should add gravity balls to bounca
16:14:10 <oklopol> basically static balls you can fall towards
16:14:17 <oklopol> with the normal gravity switch
16:14:29 <tusho> oklopol: i'd love to play this game of yours mind
16:14:51 <oklopol> tusho: have you played bounca?
16:15:12 <tusho> http://www.gamegarage.co.uk/puzzle-games/bounce/
16:16:25 <tusho> http://www.gamegarage.co.uk/puzzle-games/bounce/ looks fun though :P
16:16:27 <tusho> oklopol: is it windows only
16:20:18 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
16:20:32 <oklopol> just press space, no other keys
16:26:36 <AnMaster> oklopol, you want larger font on that website
16:27:02 -!- Corun has quit ("This computer has gone to sleep").
16:27:09 <tusho> its totally readable
16:27:27 <AnMaster> 1) light grey text on dark grey
16:27:34 <AnMaster> tusho, want a screenshot then?
16:27:41 <tusho> and it's not that contrsced
16:31:57 <AnMaster> tusho, http://omploader.org/vbTUw
16:32:15 <tusho> your fonts are broken :)
16:32:53 <tusho> your screenshot is different
16:33:05 <tusho> its far bigger for me
16:33:13 <AnMaster> default monospace: bitstream vera sans mono 16 pt
16:33:37 <AnMaster> default sans serif: helvetica 16 pt
16:33:48 <AnMaster> default serif: times new roman 16 pt
16:34:25 -!- Hiato has joined.
16:34:32 <tusho> AnMaster: your browser is broken then.
16:34:49 <AnMaster> yes I know it is broken, we just all just use konq
16:34:57 <AnMaster> tusho, I say the website is broken
16:35:05 <AnMaster> and oklopol see http://omploader.org/vbTUw
16:35:31 <Deewiant> AnMaster: why aren't you on 3.x
16:35:47 <AnMaster> Deewiant, because an usable theme doesn't yet exist for it
16:35:52 <AnMaster> and it isn't stable on stable gentoo yet
16:36:03 <AnMaster> Deewiant, one that looks like the default theme of firefox 1.5
16:36:11 <Deewiant> stable gentoo seems more and more like stable debian :-P
16:36:27 <AnMaster> nah we don't use iceweasle crap
16:36:38 <tusho> AnMaster: enjoy your non-free
16:36:40 <pikhq> I follow stable Gentoo with certain packages from unstable. . .
16:36:43 <Deewiant> rather, in that updates are teh slow
16:36:59 <tusho> AnMaster: firefox's artwork is non-free.
16:37:04 <pikhq> tusho: I don't use Firefox, so I needn't care.
16:37:06 <tusho> so, debian used their own replacement artwork.
16:37:12 <tusho> then, mozilla contacted them
16:37:17 <tusho> and yelled at them until they changed the name from Firefox
16:37:30 <tusho> because, apparently, Firefox can only be called that if it contains non-free artwork.
16:37:41 <tusho> so, uh, joke's on you, thought you were using a free browser.
16:37:43 <AnMaster> which is why I prefer konq when I can
16:37:53 <ais523> tusho: the browser's entirely free, it just has a non-free name
16:37:53 <AnMaster> tusho, and yes I know the reason
16:37:54 <pikhq> I'm surprised Debian's not bothered to just use GNU Iceweasel.
16:38:01 <AnMaster> ais523, hi didn't see you join
16:38:06 <tusho> ais523: the browser includes the name, take a look at its source.
16:38:10 <pikhq> Hrm. They did a name change.
16:38:13 <pikhq> Make that GNU Icecat.
16:38:26 <tusho> pikhq: EARTHFERRET
16:38:28 <ais523> it'll be done by the next release, don't worry
16:38:38 <ais523> I did pull the latest version of cfunge to test against, though
16:38:49 <ais523> presumably all I need to do is change the fingerprint version and handprint override?
16:38:51 -!- olsner has quit.
16:38:58 <tusho> oklopol: bouncer play GO
16:39:04 <AnMaster> ais523, I did send some mail about it iirc
16:39:09 <augur> youre like the token girl esolanger
16:39:09 <ais523> AnMaster: yes, you did
16:39:11 <augur> only you're not a girl
16:39:33 <tusho> hitting space does nothing
16:40:09 <pikhq> Basically, GNU Icecat = Mozilla Firefox - nonfree artwork - the nonfree Talkback program - plugin finder service (which recommends nonfree software) + no web bugs + warn on URL redirection.
16:40:10 <augur> deewiant: the video of him where he looks like a girl.
16:40:12 <tusho> Deewiant: the crusade of Convince AnMaster That I Am Actually 12 And Not Just a Pathological Liar
16:40:17 <tusho> i gave voice evidence
16:40:30 <tusho> etc. so it ended up me having to do a voice conference over skype.
16:40:42 <tusho> augur (the recorder) and AnMaster then claimed that I was 12, but female. :p
16:40:50 <AnMaster> yes and she proved she is 12 indeed
16:40:52 <tusho> i don't normally look like I did.
16:40:53 <ais523> pikhq: warn on URL redirection?
16:41:04 <AnMaster> she also revealed herself as a female
16:41:07 <augur> i dont think you're actually female but you look like one.
16:41:12 <tusho> AnMaster: oh shut the fuck up
16:41:19 <pikhq> ais523: "Other sites rewrite the host name in links redirecting the user to another site, mainly to "spy" on clicks. When this behavior is detected, IceCat shows a message alerting the user."
16:41:56 <ais523> AnMaster: no, like Google, where they redirect all the links in the results via themselves
16:42:02 <ais523> to see which ones are being clicked on
16:42:09 -!- jix has joined.
16:42:10 <AnMaster> well I use customizegoogle plugin
16:42:35 <tusho> AnMaster: in case they sell your search clicks to the government?
16:42:36 <AnMaster> also I believe some custom privoxy rules could do it as well
16:42:45 <tusho> and they, uh, arrest you for ... using google? :p
16:42:48 <AnMaster> tusho, because I don't like being tracked
16:43:03 <tusho> they use it to improve the search results, AnMaster
16:43:04 <AnMaster> privoxy is good to remove ads and crap
16:43:11 <tusho> /shrug I don't care if people see what I click through searches.
16:43:17 <tusho> i prefer an optimized google
16:43:24 <tusho> how do you play this
16:43:32 <Deewiant> removing the redirection optimizes since it links directly instead of through google ;-)
16:43:48 <tusho> Deewiant: few ms for click of search result VS time spent finding link
16:44:21 <Deewiant> few ms running some client-side javascript versus doing an extra HTTP request
16:45:28 <tusho> Deewiant: google uses the link tracking to change the ranks of things for searches
16:46:05 <Deewiant> oh, so you think it'll make a difference in your future searches?
16:55:32 -!- Hiato has quit ("Leaving.").
16:58:12 -!- Corun has joined.
17:00:45 <oklopol> tusho: how do you play bounca?
17:00:48 -!- jix has quit ("CommandQ").
17:00:53 <tusho> that's what i'd like to know
17:01:01 <tusho> and there's a green thing
17:01:03 <tusho> but I just go vertical
17:01:04 <augur> lemme see this game?
17:01:20 -!- Corun has quit (Client Quit).
17:01:49 <tusho> if I put it in edit mode
17:01:53 <tusho> and bounce off them
17:01:53 <oklopol> AnMaster: i doubt anyone in vjn cares whether the page works for people who are not part of vjn.
17:03:10 <oklopol> tusho: holding space disables gravity
17:03:15 <tusho> that doesn't help.
17:03:18 <oklopol> or the other way around, i don't remember
17:03:43 <tusho> oklopol: the default level is unusable
17:03:44 <tusho> is what i'm saying
17:05:26 <oklopol> actually, seems that may be an old version
17:06:59 <augur> give me a link >_<
17:07:08 <oklopol> hmm, right, there is some very weird timer bug @ bounca
17:07:09 <augur> and dont ignore me >_<
17:07:17 <oklopol> vjn.fi, just follow the games link
17:07:20 <augur> and whats your real name
17:08:36 <augur> oklopol, how do i make this work? :D
17:08:48 <oklopol> well you need python + pygame
17:08:51 -!- sebbu2 has joined.
17:09:05 <oklopol> we're a group with a random name
17:14:56 <oklopol> basically, i store start_time once as the time when the game starts, and i'm drawing "%4.1f"%(time.clock()-self.start_time) each cycle
17:15:02 <oklopol> how does that go wrong i wonder
17:18:06 <oklopol> takes about 8.5 seconds for the ball to reach the triangle on the bottom
17:20:12 <oklopol> augur: why would you wanna know my real nme?
17:20:23 <augur> cause i like knowing peoples real names.
17:20:26 -!- sebbu has quit (No route to host).
17:20:26 -!- sebbu2 has changed nick to sebbu.
17:20:46 <oklopol> oh, that version online is actually very, very old :o
17:20:59 <oklopol> and it runs much faster than the version i have
17:25:00 <oklopol> tusho: just change line 373 to clock.tick(15)
17:25:04 <augur> your boyfriend is difficult :P
17:25:44 <oklopol> there may be some other changes too, i should upload the new level
17:26:28 <augur> so guys, are we gonna make a podcast? :o
17:28:38 <oklopol> tusho: CHANGE THAT LINE AND IT SHOULD BE PLAYABLE
17:28:43 <tusho> i fucked up the level
17:29:23 <oklopol> well yeah we have a dl limit on vjn.fi, you can't ever download the original again
17:30:05 <oklopol> it's not even ip based, it just knows.
17:31:07 * ais523 starts to spec up Eodermdrome
17:31:12 <ais523> oklopol: I'll let you see it once I'm finished
17:31:59 <tusho> augur: im ready for podcasting whenever you are.
17:32:08 <augur> well i dont know what we'll talk about XD
17:32:10 <tusho> we should totally improvise it.
17:32:15 <augur> no we shouldnt lol
17:32:25 <tusho> augur: yes, we can just have long bouts of silence when we think of stuff to talk about
17:32:28 <tusho> and edit it out in the final version
17:32:42 <tusho> i hate strict regimes! stalin!
17:32:59 <tusho> i'll record this time
17:33:25 <augur> maybe we dont even need to just talk about esolangs.
17:33:35 <augur> since this whole room is only like 10% esolangs XD
17:33:41 <tusho> as long as the subject is esoteric
17:33:43 -!- Sgeo has joined.
17:33:46 <tusho> that's the one thing #esoteric always is
17:33:55 <augur> yeah you're esoteric alright
17:34:19 <oklopol> ais523: well i think i know all about it, but yeah, would be nice
17:34:24 <tusho> oklopol: you'd better be ready to talk too.
17:34:34 <Sgeo> Ready for what?
17:34:34 <oklopol> also, could you make something that outputs somethign interesting?
17:34:43 <tusho> Sgeo: me, oklopol and augur are doing a podcast
17:34:44 <tusho> about esolangs, and, uh.
17:34:48 <ais523> oklopol: I'll try, it's a little hard to program in but I'll try to come up with a good example
17:34:48 <oklopol> i have output now, and input as long as it's given as a string
17:35:04 <tusho> augur: oh, you're ready? good! i'm glad!
17:35:05 <tusho> i'll call you then!
17:35:13 <augur> and ill deny it :P
17:35:30 <tusho> augur: jeez, what are you doing, planning a 55-page long program schedule?
17:36:16 <augur> i i just want some topics before we do anything
17:36:26 <tusho> oklopol's crazy game ideas
17:36:31 <tusho> esowiki -> random article -> discuss
17:36:36 <tusho> and finally, NOMADS
17:36:37 <augur> i dont know about his game ideas but ok
17:36:52 <oklopol> hey, i agreed to nothing! :D
17:37:12 <augur> you dont have to agree to anything
17:37:23 <tusho> yeah, we'll just prod oklopol into actually talking.
17:38:31 <oklopol> well i can have a skype call xor talk.
17:39:24 <tusho> and talk when we need to ask something or whatever.
17:39:28 <tusho> without it going into the podcast
17:39:42 <oklopol> i need to go to the shop now :)
17:40:33 <oklopol> may even take too long for you to be able to wait
17:40:44 <oklopol> what a sad coincidence will that be :<
17:40:52 <tusho> oklopol: like that'll happen
17:42:49 <oklopol> ais523: are you getting anywhere?
17:43:06 <ais523> but I've only just started
17:43:18 <oklopol> yeah, i'm just a bit impatient.
17:43:27 <oklopol> i'll try something trivial first
17:44:12 <oklopol> run("a a (moi) a","ukkometso",3)
17:44:29 <oklopol> 3 is the amount of rewrites
17:48:38 -!- augur has quit ("Leaving...").
17:50:02 -!- augur has joined.
17:50:35 <augur> holy mother of god installing pygame is taking forever
18:04:50 <ais523> oklopol: http://esolangs.org/wiki/Eodermdrome
18:04:57 <ais523> now I just have to write an example...
18:08:07 <Sgeo> tusho, ##nomic isn't just for rootnomic players
18:08:24 <Sgeo> Why did you leave?
18:08:34 <tusho> i wasn't intersted with the discussion
18:09:00 <Sgeo> I have 12 tabs open. I'm only interested in the discussion in 3
18:24:58 <lament> Yes! You should never leave any channels you enter!
18:25:19 -!- ais523 has quit (Remote closed the connection).
18:25:36 -!- ais523 has joined.
18:26:32 <tusho> Deewiant: i just saw a reddit comment by you
18:32:02 <oklopol> also it *is* trivial to make the unparsing
18:32:07 <ais523> also, I'm considering having non-comma punctuation marks cancel out the whitespace surrounding thwm
18:32:17 <ais523> so you can have more natural-looking programs
18:32:25 <oklopol> basically, you start with a boolean array for each connection
18:32:54 <oklopol> so you could have periods after sentences and such?
18:33:05 <ais523> Deewiant: whoops, s/\$/?/
18:33:11 <ais523> oklopol: yes, that's it
18:33:38 <ais523> Deewiant: that isn't a syntax error
18:33:44 <ais523> \$ matches a literal $
18:33:50 <ais523> and replacements use literal ?
18:34:21 <oklopol> ais523: so, a false corresponding to each connection
18:34:31 <oklopol> representing whether that connection already exists in the string
18:34:37 <oklopol> then you just decide one random node
18:35:14 <oklopol> and you start moving completely randomly, each time when you move, you just append the character representing the node, and you tag the corresponding boolean to true
18:35:20 <oklopol> when all booleans are true, you're done
18:35:49 <ais523> oklopol: that works, but may produce pretty long output
18:35:49 <oklopol> also i think you can do this deterministically by going through connections one by one, and only backtracking when all is exhausted in a node
18:36:05 <oklopol> ais523: yes, but that's the incredibly trivial stupid way.
18:36:22 <oklopol> i think my latter explanation works with a similar, recursive approach
18:36:48 <oklopol> i think it's not np, actually, but actually very simple
18:36:58 <oklopol> but i would need to try on paper
18:39:54 <oklopol> well everything with graphs is of course either O(v+e) or np-complete :)
18:40:48 <oklopol> not of course, but i think that generic a structure just somehow is always either trivial to compute something about, or instantly allows the structure to kill all possibility to optimize
18:41:21 <ais523> maybe finding the shortest answer is np-complete
18:41:50 <oklopol> well it prolly is, but i think the difference will not be huge for a simple approach
18:47:09 -!- Judofyr has joined.
18:47:54 -!- 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"").
19:09:37 <AnMaster> oklopol, with that http://www.vjn.fi/r/ thing, how do you link a https url?
19:27:31 <oklopol> AnMaster: probably not possible if it prepends http://.
19:41:09 -!- Hiato has joined.
19:48:40 <tusho> AnMaster: here's how you do it
19:48:55 <tusho> 1. write a php script that redirects you to the uri given in get
19:49:00 <tusho> so like /script.php?url=http://google.com
19:49:05 <tusho> 2. make the vjn.cc redirect to that
19:55:48 <Hiato> oklopol, have you read my latest creation's spec?
20:00:15 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
20:00:52 -!- Judofyr has joined.
20:10:23 -!- augur has quit (Read error: 110 (Connection timed out)).
20:18:58 <tusho> oklopol: what game should I make
20:20:54 <Deewiant> been made a couple dozen times over
20:25:22 <tusho> pikhq: I was thinking kinda simpler.
20:26:45 -!- Hiato has quit ("Leaving.").
20:50:40 <tusho> it's called PSOX and it's terrible, awful
20:51:00 <tusho> of course he never got around to actually adding guis...
20:51:30 <Sgeo> If anyone expressed interest, I would
20:51:47 <tusho> Sgeo: they don't, because psox and the idea behind it is terrible :|
20:52:11 <Sgeo> pikhq wrote a wget thing for PSOX/BF
20:52:45 <pikhq> CakeProphet: That would be Def-BF. . .
20:53:02 <pikhq> Which is taking me so long to bother writing, it's almost as vaporware-esque as PSOX. :p
20:53:07 <tusho> Def-BF isn't really that interseting.
20:53:08 <Sgeo> http://trac2.assembla.com/psox/browser/trunk
20:53:15 <pikhq> tusho: It's fun, though.
20:53:16 <Sgeo> pikhq, PSOX is not vaporware!
20:53:16 <tusho> brainfuck is Done.
20:53:22 <tusho> Sgeo: hahahahahahaha
20:53:26 <tusho> oh, you're a great comedian Sgeo
20:53:26 <pikhq> Sgeo: It was once.
20:53:35 <tusho> has anyone else seen the 'easter egg' in psox
20:53:44 <pikhq> And now, it functions, but only barely.
20:53:57 <Sgeo> I'd work on it if anyone cared..
20:53:58 <tusho> http://trac2.assembla.com/psox/changeset/95
20:54:05 <pikhq> It'd perhaps be better-used if I were still in my PEBBLE-using mode.
20:57:34 <CakeProphet> to have something that allowed BF to be used to make like... a big application.
20:59:41 <CakeProphet> ....the only way I could see BF being used to program an entire game... or a server... etc.
21:00:23 <CakeProphet> each of them roughly equivalent to a data structure.
21:00:34 <Sgeo> CakeProphet, it would be theoretically possible with PSOX.. oh, you mean reasonably..
21:01:07 -!- pikhq has left (?).
21:02:34 <CakeProphet> I should get around to writing a good bugSophia operator
21:04:12 <CakeProphet> the most visually awesome cat program ever.
21:06:23 <Deewiant> hmm, that paste didn't quite succeed O_o
21:06:42 <Deewiant> but somehow there's an additional "<v" in the first line
21:07:10 <CakeProphet> bugSophia is kind of like those befunge-with-tracks languages... except it splits into like four billion threads of execution
21:09:28 <CakeProphet> in fact... I will start working on the interpreter today.
21:09:42 <oklopol> sophia has a bug nowadays?
21:10:13 -!- Corun has joined.
21:10:39 <CakeProphet> and would destroy the whole you-can-time-the-steps-each-thread-takes-because-they-all-increment-at-the-same-time
21:12:15 <oklopol> well i hear oses generally set their thread limit at somewhere near three billion
21:12:26 <oklopol> so sophia just misses that train
21:13:19 <CakeProphet> Hello, World would spawn... -counts- 14 threads.
21:16:33 <oklopol> i recall you talking a lot about sophia, used to be about coroutines iirc
21:29:12 <tusho> sofia was smalltalky
21:39:13 <CakeProphet> this has existed for severral years now at least.
21:39:26 <CakeProphet> I don't remember where the original spec is though... somewhere in one of my notebooks
21:39:28 -!- Corun has quit ("This computer has gone to sleep").
21:40:10 <CakeProphet> ...it might be awesome... but it's probably nothing as conceptually awesome as the negative lists thing.
21:40:52 <AnMaster> I asked ais about your age before he left:
21:40:54 <AnMaster> <ais523> e claimed to be 12, and I believe em
21:40:54 <AnMaster> <ais523> although e's awfully good at programming for a 12-year-old
21:40:54 <AnMaster> <ais523> e tends to be typically temperamental at times
21:41:27 <tusho> but not the believe to be 12 thing?
21:41:35 <tusho> i guess those videos are of my little brother, right :)
21:46:23 <tusho> AnMaster: and you seriously believe this
21:46:32 <AnMaster> anyway yes I do kind of believe you
21:46:57 <AnMaster> and for gender: well lets say I like seeing how irritated you get from it
21:47:49 <CakeProphet> this conversation is full of fail and is now about trains.
21:47:56 <tusho> CakeProphet: Your face is full of fail.
21:53:00 -!- Corun has joined.
22:07:58 <tusho> CakeProphet: For your face.
22:08:02 <tusho> Which is so full of fail it can't hold itself.
22:09:02 <CakeProphet> in this channel: kids trying to get attention and slightly older kids who.... don't care.
22:10:51 -!- pikhq has joined.
22:13:13 -!- tusho has quit ("And then-").
22:13:31 -!- tusho has joined.
22:13:43 <tusho> CakeProphet: actually, AnMaster has continually argued about my age since forever
22:20:44 <lament> heh trains are even cooler
22:21:30 <CakeProphet> Unicode characters are streams... and you can define what they contain in a declarative language at the top (memory streams, file streams, memory streams initialized with data from a URL, sockets, whatever)
22:22:15 <Deewiant> I see Unicode trains streaming across a declarative programscape
22:22:23 <Deewiant> hmm, maybe I should go to bed...
22:22:42 <CakeProphet> and then . blocking-reads from a stream next to it... , nonblocking write
22:23:03 <CakeProphet> and then there was some blocking writes that I don't... remember. ' and : maybe
22:26:29 <CakeProphet> when a thread encounters a + is basically creates three copies of itself that travel down all the possible paths.
22:26:53 <CakeProphet> same with | and - it makes only one two copies.
22:30:32 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
23:02:06 <tusho> http://img.photobucket.com/albums/v606/lumpbucket/zntzntznt.png <-- mandatory fun day edits = win
23:03:39 <tusho> http://reverend.healeys.net/pictures/mfdlisp.png LMAO
23:28:32 <oklopol> anyway CakeProphet: spec it!
23:30:35 -!- pikhq has quit (Read error: 113 (No route to host)).
23:40:10 -!- augur has joined.
23:48:43 -!- pikhq has joined.
00:02:34 -!- RedDak has joined.
00:26:07 <augur> ooooookloooooopolllllllll!!! :D
00:31:14 -!- oerjan has joined.
00:41:11 * oerjan celebrates Irregular Webcomic's 2000th strip
00:41:52 <tusho> oerjan: It's "Irregular Webcomic!".
00:42:46 <oerjan> YOU BROKE MY CELEBRATION! MY VENGEANCE SHALL BE GRUESOME!
00:43:15 <oerjan> BUT, FULL OF EXCLAMATION MARKS!
00:43:33 <augur> surely it makes no sense to celebrate the 2000th strip of a comic called irregular
00:43:40 <augur> 2000 is so regular!
00:43:53 <augur> you should celebrate the 2031 strip.
00:44:12 <oerjan> well Irregular Webcomic! is one of the most regular webcomics out there
00:45:12 <oerjan> although i vaguely recall DMM hoping to pass Bill Watterson's Calvin and Hobbes score, which is surely more irregular
00:46:14 <oerjan> true geeks will also celebrate 2048, of course
00:46:42 <oerjan> although they will not call it irregular either
00:51:56 <tusho> http://www.irregularwebcomic.net/15.html
00:51:56 <oklopol> auuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuguuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuur
00:52:02 <tusho> you'dathought someone would have made it
00:52:53 <oerjan> well that was a long time ago. someone might want to recheck.
00:53:06 <oerjan> not me, i don't read newsgroups any longer :(
00:53:25 <augur> http://www.irregularwebcomic.net/15.html
00:53:41 <tusho> how do you make a usenet group again
00:53:48 <oerjan> also, his website has its own forum (which, for some reason, i read)
00:53:55 <augur> when was that strip posted?
00:54:22 <augur> itd be more poignant if it was posted in the last week
00:55:05 <oerjan> well it cannot, since DMM is on the Infinite Plane of Death without computer access :D
00:55:33 <oerjan> pardon, the Finite Plane of Death with Two Features
00:55:47 <augur> i mean, am i the only one who thinks its ridiculous that half the ISPs in america are banning the alt hierarchy
00:55:56 <oerjan> (it used to the Infinite Featureless Plane of Death, but then the Mythbusters got onto it)
00:56:56 <oerjan> (er, i guess i'm spoiling a lot here)
00:58:23 <oerjan> the alt hierarchy was always less distributed (when i read newsgroups)
00:58:41 -!- tusho has quit.
00:59:55 <augur> and now the alt hierarchy is nonexistant
01:00:07 <augur> ofcourse, none of it has to do with what they actually say its about
01:00:14 <augur> they wanted the alts shut down because of kiddie porn
01:00:37 <augur> but you wanna bet its the MPAA's hand trying to get it shut down because of movie sharing? :)
01:01:10 * oerjan might cough up a couple kroner for that bet
01:01:36 <oerjan> but then, it's probably both
01:03:27 <augur> ofcourse they got SOME worried parents to back it
01:03:40 <augur> but is it those parents that came up with the idea? lolno.
01:03:46 <augur> they probably dont even know what usenet is
01:14:03 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
01:14:56 <augur> "Irregular Webcomic: 500 Internal Server Error"
01:15:19 <augur> looks like the servers a bit ... IRREGULAR! bwahahahaha!!! XD!!!
01:15:28 <oerjan> hm? i am reading the forum at this moment.
01:15:55 <oerjan> hm indeed the main page is down
01:16:43 <oerjan> database error, it says
01:16:47 <augur> you act as tho thats at all relevant to the humor :P
01:17:10 <oerjan> oh sorry, was in reading mode
01:17:37 <oerjan> i guess that means my brain is determined to seek out information
01:37:30 <augur> waffles are so tasty omg
01:38:29 <oerjan> maybe if i put some raspberry jam on this cardboard...
01:39:41 <oklopol> i remember i used to enjoy eating paper when i was a kid
01:40:40 <oerjan> HEY I'M TRYING TO PREY MERCILESSLY ON YOUR SYMPATHY HERE, DON'
01:41:35 <oerjan> darn apostrophe so close to the return key
01:45:17 <oklopol> yeah, but the real wtf is that backspace is too.
01:45:42 <augur> maybe you just needed some fiber
01:47:16 <oerjan> i have a feeling the backspace is less of a problem, perhaps because when i use it i'm snapping out of automatic touch mode anyhow
01:47:58 <oklopol> oerjan: good point, that may be the reason it's much less problematic in practise than you'd think
01:48:08 <oklopol> i have made some pretty nasty mistakes because of it though
01:48:28 <oklopol> since i often first type, then think, then rewrite
01:49:07 <oerjan> well i'm pretty sure i've done some of that too
01:49:22 <oerjan> this is all vague recall territory
01:50:31 <oerjan> (not --> coffee as i already got it :) )
01:53:58 -!- Judofyr has quit.
01:58:16 <oerjan> BWAHAHA now you just sit there with your waffles!
01:58:46 <oerjan> mind you it's just instant coffee
01:58:55 -!- adu has joined.
01:59:09 <adu> its funny how good news and bad news usually come at the same time
01:59:11 -!- Corun has quit ("This computer has gone to sleep").
01:59:26 <oerjan> like with the coffee and waffles?
01:59:56 <adu> no like promotions and responsibility
02:01:08 <adu> those should all be vi commands...
02:01:28 <oerjan> should be or actually are?
02:02:08 <adu> speaking of which I just realized that the "yi" editor is indistinguishable from "vi" when displayed in a text box that's 5 pixels too small
02:02:45 * oerjan senses a use/mention error there
02:02:50 <adu> only the last one is a real command, probably short for :Print or something
02:03:14 <adu> maybe :exit
02:03:27 <adu> i don't know vi very well
02:03:37 <adu> I use emacs
02:03:49 <adu> 'yi' uses many emacs keybindings
02:04:21 <adu> although "yi --as=vim" should set vi-like keybindings
02:04:41 <oerjan> :/ can start a command, since /.../ is a search that can give a line number
02:04:59 -!- GreaseMonkey has joined.
02:05:04 <adu> hi GreaseMonkey
02:05:28 <adu> i want to implement fancy keybindings
02:05:36 <adu> like yi --as=xcode
02:05:53 <adu> or yi --as=kdevelop
02:06:15 <adu> or yi --as=vstudio
02:06:26 <oerjan> heh, :P "Just as ":print". Was apparently added to Vi for
02:06:26 <oerjan> people that keep the shift key pressed too long...
02:06:44 <adu> i was right!
02:07:46 <adu> :P is "Put the text before the cursor [count] times
02:08:03 <oerjan> no, that's P. :P is different
02:08:25 <adu> i need to learn how to use vim :help :p
02:09:15 <oerjan> :help :H shows an obscure :Hexplore command
02:09:37 <adu> my :help :H shows the help for :h
02:09:53 <adu> oklopol: !!
02:09:59 <adu> hows the lang going?
02:10:28 <oerjan> hm :H actually _does_ seem to work as :help
02:11:31 <oerjan> it may be trying the case alternative if it finds nothing more precise
02:12:50 <oklopol> i do vaguely recall our talk, but not what the language was
02:15:12 <adu> hmm, unless you have multiple languages
02:15:41 <oerjan> oklopol has multiple _everything_
02:15:58 <adu> oklopol: do you have multiple girlfriends?
02:17:01 <adu> oklopol: so how many languages have you made?
02:18:36 <oerjan> inquiring minds want to know, and will soon start blowing things up if not
02:19:24 <adu> I wouldn't blow up, I'd just start talking about excrement and nasty stuff until oklopol decides to talk...
02:19:45 <adu> oklotalk! thats the one
02:19:47 <oerjan> this might actually chase away everyone _but_ oklopol
02:20:27 <oerjan> and lament, who _might_ kickban you in extreme cases
02:20:42 <adu> i like lament
02:21:00 <adu> he is always sad in the most funny way possible
02:22:22 <oklopol> adu: i have made quite many languages
02:22:42 <adu> have you made it to oklotalk++ yet?
02:23:08 <oklopol> i've only made oklotalk-- in fact
02:23:18 <adu> even better!
02:23:32 <oklopol> http://www.vjn.fi/oklopol/oklotalk--.txt
02:23:38 <adu> is that like C with closures, without closures?
02:23:47 <oklopol> it's a simplification of oklotalk, basically.
02:23:53 <oklopol> with a boring lisp-like syntax
02:24:11 <adu> you should haskell syntax
02:24:12 <oklopol> and no, not like C with & without anything
02:24:25 <oklopol> well oklotalk has a cool J-like syntax already
02:24:35 <oklopol> i have enough languages with haskell-like syntax
02:24:47 <adu> like jo98*&x0fkc9X;;g$[]
02:24:53 <oklopol> well i guess just graphica, and that's not all that close either
02:25:10 <oklopol> every string is a legal oklotalk program
02:25:17 <adu> oo I just had a terrible idea
02:25:22 <oklopol> that was one of my design goals
02:25:31 <oklopol> i don't know much about .net
02:25:37 <adu> its terrible
02:25:43 <adu> Funge would be the nice part
02:26:09 <CakeProphet> oklopol, so since every thread only has a one-byte state... the way you do binary/triary operations is by having two bugs collide on top of the same instruction
02:26:37 <oklopol> so operators are fully symmetric on parameters?
02:26:40 <adu> oklopol: for library implementors its a nightmare, because of the magnitude of libraries you have to implement, and for a library user, its a nightmare, because of the magnitude of libraries you have to remember and search through
02:26:43 <CakeProphet> there's an instruction that's "move forward one step and halt until a non-halted bug collides with you"
02:26:44 <oerjan> sane? isn't this off-topic?
02:27:32 <oklopol> all operators can take their operands in any order?
02:28:03 <adu> CakeProphet: you're boned
02:28:13 * oerjan is suddenly reminded of the sentient ant colonies from Godel, Escher, Bach
02:28:14 <oklopol> well i guess - A B = + (- A) B and similar shit can be done for other non-symmetric things
02:28:50 <oerjan> bites would be more in keeping with the bug theme :D
02:29:14 <oklopol> CakeProphet: "byte" does not say anything about semantics really
02:30:07 <CakeProphet> but I don't really feel like treating bytes as short integers for the purposes of having negatives.
02:30:24 <oklopol> well no need for negatives
02:30:42 <CakeProphet> oklopol: for subtraction I'd need either negatives or some way to order the operands.
02:31:14 <oklopol> well not necessarily, you need decrement, and flow control
02:31:36 <CakeProphet> I was thinking flow control could be implemented in the halting rules.
02:32:06 <oklopol> all you need to make sure is is that there is infinite space, the rest will come naturally :D
02:32:36 <CakeProphet> if you had an operation that tested the equality of two threads...
02:32:41 <adu> FungeSpace + BigInteger
02:32:44 <adu> alll you need...
02:33:47 <CakeProphet> so that... when they both crossed the operation... a new threads are sent on all the non-taken paths containing either a 1 or 0
02:34:07 <adu> oklopol: fs?
02:34:20 <CakeProphet> an operation that kills a thread if its 0... and an operation that kills a thread if its non-0
02:34:26 <oklopol> i assumed you'd get that as you capitalized the chars
02:34:33 <adu> oklopol: then what can each cell in fungespace hold?
02:34:41 <CakeProphet> you can essentially using the "halt until you cross a non-halted bug" rule to implement flow control / conditionals.
02:34:48 <adu> 16bit? 32bit? 64bit? which one? why? why not the others?
02:35:03 <adu> why not 64?
02:35:24 <oklopol> i've never seen any need for anything other than bignum anywhere
02:35:27 <adu> CakeProphet: ya!
02:35:44 <oklopol> i believe in the 0/1/infinity rule
02:35:48 <adu> oklopol: you mean fixnum
02:36:22 <adu> you said you though bignums were all you need
02:36:28 <adu> did you mean the opposite?
02:36:50 <oklopol> i meant exactly what i said
02:37:15 <oklopol> i meant, hard to answer why 32 instead of 64, when i find them both quite arbitrary
02:37:57 <adu> I personally thing all bignums should be encoded like UTF8
02:37:59 <oklopol> i don't really care much for the practical aspect of computers
02:38:12 <CakeProphet> so... if a quote creates a bug with a state of nil... and "e" tests the equality of up to 4 bugs, ~ is the "halt after one step" operator, and # is the "destroy if 0 or nil" operator.
02:38:37 <CakeProphet> (oh... and ) is increment, and ( is decrement)
02:39:28 <adu> CakeProphet: what was ":" do?
02:39:45 <oklopol> adu: anyway, about the languages of mine, http://www.vjn.fi/oklopol/ and see the ones after thue
02:40:14 <oklopol> not all, but most of what i have any kind of specs ready
02:40:32 <adu> is that a face?
02:41:11 <adu> lol you implemented bf in cise? lol
02:41:41 <oklopol> yes, assuming that's correct
02:42:21 <oklopol> adu: i'm more confident about the shorter programs
02:42:43 <oklopol> although all i've actually implemented abot cise is the parser
02:43:06 <adu> whats graphica?
02:43:16 <oklopol> my graph creation language
02:43:31 <oklopol> the sample is a binary hypercube
02:43:45 <oklopol> just had a long lecture about it like yesterday :P
02:44:17 <adu> i like straw
02:44:33 <oklopol> tried to make it a bit sane
02:44:55 <oklopol> straw is about clean side-effects when it comes to mutational changes in data structures
02:45:09 <oklopol> you can have a function to change an element in a list
02:45:16 <adu> have you heard of Disciple
02:45:30 <adu> it also takes in interesting approach to side effects
02:45:52 <adu> you know how in Haskell, print :: a -> IO ()
02:46:09 <adu> in Disciple, print :: a -(IO)> ()
02:46:12 <CakeProphet> just make sure they don't include quotes anywhere otherwise you'll accidentally spawn off extra threads... (though no worries... they'll likely not get anywhere or do anything)
02:46:19 <adu> or something like that
02:46:34 <oklopol> basically, you can have a function to change an element in a list, but you can use this functionally, and create an imaginary copy of the list with just the element changed
02:46:35 <adu> side effects are put inside the arrow, essentially
02:46:41 <oklopol> but you can still use the original one too
02:46:49 <oklopol> the language keeps track of reverts to the original state
02:48:03 <adu> oklopol: interesting
02:48:10 <CakeProphet> the equivalent of a string in bugSophia would be make a bug travel down a path... splitting off copies of itself that "pick up" characters via a set-byte-value operator
02:48:17 <oklopol> i don't have anything pretty for the actual IO
02:48:30 <oklopol> and i will certainly have nothing like monads
02:48:36 <CakeProphet> and then moving those all towards a memory stream... which is some sort of Unicode character with a , (write operator) next to it.
02:48:48 <adu> oklopol: I actually perfer arrows to monads
02:49:03 <oklopol> you mean what disciple does
02:49:20 <adu> Monads are like a safety net, Arrows are like 24/7 body guards
02:49:48 <CakeProphet> ...aside from being ridiculously concurrent, bugSophia isn't all that conceptually interesting. I kind of want to make it a bit weirder.
02:50:00 <adu> oklopol: no, Disciple just adds syntax to describe "->" more indepth
02:50:21 <adu> an Arrow is a Haskell type class, just as Monad is a Haskell type class
02:50:28 <oklopol> i need to watch some dark angel now, see you in a while
02:53:20 <CakeProphet> so that all the little - | > < wires don't get cluttered.
02:54:11 <CakeProphet> oklopol currently wins at interestingness. ;_;
02:55:34 <CakeProphet> I think I'll also a ; operator.... which is "write to a stream and then blocking-read"
02:56:08 <augur> oklopol also wins at sexiness.
02:56:17 <oklopol> mind you i've invented more interesting things than negative lists!
02:56:29 <augur> oklopol, you need to explain negative lists to me.
02:56:40 <oklopol> augur: see logs, it took a while to explain :P
02:56:46 <oklopol> that's another possibility
02:56:50 <augur> i refuse to look at logs.
02:57:06 <CakeProphet> augur: I beg to differ: http://i83.photobucket.com/albums/j316/adamadamadamamiadam/sepialol.jpg
02:58:03 <augur> if you had lips you might be as sexy as oklopol
02:58:15 <augur> i like your hair tho
02:58:48 <oklopol> augur is going by an old photo here :)
02:58:53 <augur> yeah but oklopol, you're hot.
02:59:01 <augur> give me more photos oklopol :D
02:59:47 <augur> oklopol has a 100% sexy nose
03:00:08 <CakeProphet> I sometimes think I spend too much time organizing my interpreter code.
03:15:17 <CakeProphet> I believe I had @ as the thread terminator
03:17:56 <adu> epic negative lists?
03:18:04 <adu> did I miss something?
03:18:36 -!- augur has quit (Nick collision from services.).
03:18:47 <oklopol> a concept i invented for nopol
03:18:58 -!- augur has joined.
03:19:10 <CakeProphet> rofl... go figure... the halting problem is computable for bugs.
03:19:30 <CakeProphet> if there is no ~... it's not going to halt (I don't think)
03:19:43 <CakeProphet> but you can't determine when they terminate
03:22:48 -!- augur has quit (Nick collision from services.).
03:23:10 -!- augur_ has joined.
03:31:52 <adu> oklopol: so whats a negative list?
03:33:05 <oerjan> adu: -1. it's a list. -2. it
03:33:10 <augur_> please forgive adu, i think hes a noob.
03:33:17 -!- augur_ has changed nick to augur.
03:33:21 <oerjan> -3. darn apostrophe again
03:33:46 <adu> noob? no no I'm a boon
03:33:47 -!- augur has changed nick to Guest802.
03:33:55 -!- Guest802 has changed nick to augur_.
03:34:13 <adu> boon == good
03:34:17 <adu> noob == bad
03:34:40 -!- augur_ has changed nick to psygnisfive.
03:35:17 <adu> so 0 = [] and 1 = [[]], 2 = [[], [[]]]?
03:36:31 <CakeProphet> I enjoy writing Python code that only has like... 2 or 3 conditionals.
03:37:04 <oerjan> sure it does, standard von neumann numerals
03:37:07 <adu> oklopol: so you still haven't answered my question
03:37:15 <adu> i'm talking about negative lists
03:37:20 <adu> what are they?
03:37:26 <adu> CakeProphet: ok :)
03:38:05 <CakeProphet> and <<>> will be a list with a depth of -2
03:38:15 <adu> oooooooooooo
03:38:31 <CakeProphet> are you familiar with how tree rewriting languages work?
03:38:32 <adu> so (a, b, <(c, d)>, e) == (a, b, c, d, e)?
03:38:48 <CakeProphet> ...unfortunately not with the current concept.
03:38:58 <adu> I'm back to confusion
03:39:18 <CakeProphet> but anyways... are you familiar with how tree rewriting languages work?
03:39:35 <adu> I'm familiar with Haskell, Prolog and Mathematica
03:40:00 <CakeProphet> familiar with thue at least? that's string rewriting.
03:40:12 <adu> how do I find information about thue?
03:40:35 <CakeProphet> it just helps to have a solid foundation on tree rewriting
03:40:42 <CakeProphet> before you can understand why negative lists make sense.
03:40:52 <adu> well, Mathematica is a tree rewriting language
03:41:10 <psygnisfive> tree rewriting is just like string rewriting
03:41:17 <adu> I'm also familiar with the lisp ` ' ,
03:41:17 <psygnisfive> except in place of strings you use structures.
03:41:51 <adu> Mathematica and Lisp are very very similar
03:42:27 <adu> Every[Thing[In[Mathematica[Uses[Brackets[]]]]]]
03:42:33 <CakeProphet> for our purposes, we'll use => as a tree rewrite operator [A [B C] => [B [C A]]
03:43:01 <adu> (every(thing (in (lisp (uses (parent))))))
03:43:31 <CakeProphet> so if you have the rule (A (B C) => (B (C A))
03:44:12 <CakeProphet> and an initial state of... ((1 (2 3)) (3 (2 1))
03:44:52 <CakeProphet> after on step you'll get ((2 (1 3)) (2 (3 1)))
03:45:24 <adu> http://reference.wolfram.com/mathematica/ref/ReplaceAll.html
03:45:38 <CakeProphet> and you can define functions like (func (arguments) go (here and such)) =>(return value (goes here) and what not)
03:46:20 <CakeProphet> basically evaluate into positive lists... as I'll explain in a second.
03:47:55 <CakeProphet> if D is the depth of the list, and N is the number of elements.
03:48:25 <CakeProphet> then you duplicate the list D steps above <1 2 3> and duplicate it N times.
03:48:47 <CakeProphet> *then you take the list D steps above <1 2 3> and duplicate it N times.
03:52:10 <adu> thats just a map
03:52:12 <CakeProphet> which would then rewrite to being patently FALSE.
03:52:27 <adu> so its like a list that is implicitly mapped over
03:53:13 <CakeProphet> what happens when you have two negative lists...
03:53:25 <adu> its like map . map
03:53:38 <CakeProphet> yeah... it maps all the possible pairs more or less
03:53:57 <adu> so more like the Haskell list monad
03:54:13 <adu> its da bomb
03:54:39 <psygnisfive> cakeprophet: that production from earlier doesnt work.
03:54:54 <oklopol> haskell's list monad is very similar, yes.
03:55:17 <CakeProphet> ( (== (+ <<1 2 3>> <<1 4 5>>) ) (I liked the thick list idea)
03:55:30 <adu> CakeProphet: my favorite Haskell code: nubBy (((>1) .) . gcd) [2..]
03:55:40 <oklopol> yeah he's gonna find that so interesting
03:56:15 <CakeProphet> but I am a still-toying-with-C-like-languages fag.
03:56:59 <psygnisfive> because the first transformation should result in (3 ((2 1) (1 (2 3))))
03:57:08 <adu> http://haskell.org/ghc/docs/latest/html/libraries/base/Data-List.html#v%3AnubBy
03:57:49 <oklopol> adu: that doesn't by any chance calculate primes?
03:57:58 <adu> oklopol: yes it does
03:58:13 <adu> :) its a classic
03:58:53 <oklopol> weird i never thought of doing it like that
03:59:29 <adu> CakeProphet: yes, i do
03:59:30 <CakeProphet> I'm new to this stuff so I could be wrong.
03:59:46 <adu> what am I agreeing to?
03:59:48 <psygnisfive> in (A (B C)) replace A with (1 (2 3)) and, B with 2, and C with (2 1) and you get ((1 (2 3)) (3 (2 1)))
04:00:45 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
04:00:52 <psygnisfive> you can add restrictions to A B and C, that they be numbers, or non-lists, or something
04:00:59 <psygnisfive> which would indeed produce what you had earlier
04:01:01 <oklopol> in (A (B C)) replace A with (1 (2 3)) and, B with 2, and C with (2 1) and you get ((1 (2 3)) (3 (2 1))) <<< no.
04:01:48 <oklopol> i did, and it was clearly a typo
04:02:25 <psygnisfive> but the point is, as you stated it, cakeprophet, the production was wrong.
04:02:50 <CakeProphet> psygnisfive: correct. but it still remains to be proven if I care.
04:03:09 <psygnisfive> well you clearly care since you were using it as the basis of your example :P
04:04:02 <oerjan> it would help to be a curate
04:04:29 <CakeProphet> psygnisfive: I can't be arsed to be pedantic right now. -tired-
04:04:33 <adu> oklopol: there is another version of the prime thing that uses 2:[3,5..] for speed
04:04:49 <adu> not that "speed" is an issue...
04:05:33 <adu> I noticed a couple days ago that when I wrote a hello world app in Haskell there were 200 symbols in the binary...
04:05:34 <CakeProphet> psh... if you want speed just compile Haskell to C.
04:05:45 <adu> CakeProphet: thats what GHC does
04:06:32 <pikhq> Today, we are going to learn how to make plutonium from common household items.
04:06:39 * pikhq just watched UHF. :D
04:06:44 <psygnisfive> if youre trying to explain something and you say something wrong, its wrong.
04:06:57 <psygnisfive> also, your explanation of how negative lists rewrite makes no sense.
04:07:07 <pikhq> Hrm. New people in the channel. . .
04:07:15 <pikhq> Something of ours hit Digg or something again?
04:07:23 <adu> no, I'm just bored
04:07:42 <adu> I've been here 5 times in the past year
04:08:01 <oerjan> no one here is new. no one. the channel is DYING!
04:08:14 <adu> psygnisfive: I wrote a funge98 interpreter in Perl once, so I'm not a noob
04:09:20 <adu> pikhq: so what's up
04:09:31 <pikhq> However, there are people who aren't here who used to be.
04:09:40 <pikhq> adu: Nothing much; just sitting here.
04:09:45 <adu> excuse me its _boon_
04:09:51 <adu> get it right
04:10:05 * pikhq mutters about the untimely 'death' of Sukoshi.
04:10:40 <pikhq> Well, *I'm* no noob.
04:10:51 <adu> hi pikhq, can I help you today?
04:11:08 <pikhq> I wrote PEBBLE before you were born (you young wippersnappers)! :p
04:11:37 <adu> psygnisfive: is there any other reason to go on irc?
04:11:42 * pikhq gets the self-aiming sprinkler
04:11:57 <CakeProphet> http://pastebin.ca/1076260 - the current state of my bugSophia interpreter
04:12:18 <CakeProphet> well-documented, incomplete, and most likely bugged.
04:12:39 <oerjan> i should sincerely hope it is bugged
04:13:08 <adu> CakeProphet: is there a reason you use dict() instead of {}?
04:13:34 <oerjan> no, the north koreans and the zimbabweans
04:14:10 <CakeProphet> if I had a reason... it'd probably be that I can actually type out dict() faster than I can type {}
04:14:17 <CakeProphet> because my curly bracket typing abilities are very slow.
04:14:28 <adu> CakeProphet: lol fair 'nuf
04:14:54 <adu> my parens typing abilities are slow
04:15:12 <adu> thats why I perfer Mathematica over Lisp
04:16:32 <psygnisfive> also, i use textmate which autobalances parens :D
04:16:35 <adu> I think Io is beautiful
04:17:33 <adu> I mean seeing "clone" instead of "new" or "class" just seems right...
04:18:16 <adu> you never know if you're subclassing or instantiating... all the same...
04:18:24 <adu> I'm not sure if thats a good thing, but its pretty :)
04:18:42 <psygnisfive> javascript is theoretically like that, but practically its not.
04:18:44 <CakeProphet> I like that it implements lazy evaluation of function arguments.
04:18:50 <psygnisfive> also, im never sure how copying works in prototype based languages.
04:19:10 <psygnisfive> does a copy of an object also copy all the objects it references?
04:19:17 <psygnisfive> or does it only copy the object itself, and then copy the references?
04:19:49 <adu> psygnisfive: theres probably different methods for each
04:20:05 <adu> like copy and copy_recursive
04:20:33 <CakeProphet> it would be a waste of memory to actually make copies of each function
04:21:28 <CakeProphet> but I think io actually makes clones of everything else.
04:21:42 <adu> psygnisfive: what's your favorite systems language?
04:22:05 <adu> a language that an operating system has been made in
04:22:25 <adu> i.e. NOT html
04:23:37 <CakeProphet> and it uses smalltalk message-pasing syntax, which always looked nice to me.
04:23:49 <adu> psygnisfive: what's your favorite usability language?
04:24:03 <psygnisfive> whats my favorite language in terms of usability?
04:24:37 <adu> psygnisfive: what's your favorite obfuscation language?
04:24:41 <CakeProphet> Ruby is alright. Its syntax is a little weird, but I like some of its design.
04:25:02 <adu> python for obfuscation?
04:25:14 <CakeProphet> psygnisfive: it always reads weird to me... like "list.each do"
04:25:21 -!- oerjan has quit ("And your little dog too!").
04:25:32 <adu> psygnisfive: I would say Python syntax is simple, Ruby syntax is versitle
04:26:03 <adu> psygnisfive: what's your favorite compiled language?
04:26:18 <CakeProphet> but not in my head.... when I say it mentally-aloud.
04:26:25 <psygnisfive> obfuscation language: dunno, dont obfuscate.
04:26:45 <CakeProphet> "list each do stuff end" doesn't even vaguely make sense in English
04:26:46 <psygnisfive> cakeprophet: well you need to mentally read differently
04:26:48 <adu> psygnisfive: you could have said lisp for systems language too
04:27:46 <adu> i like Ruby
04:27:55 <adu> i love Haskell, tho
04:27:58 <psygnisfive> cakeprophet: ruby practically reads like english. :P
04:28:08 * adu <3 Haskell
04:28:24 <CakeProphet> using the list.each do ... end example again.
04:28:53 <psygnisfive> well, if each were a function it'd be even more like english, yes i agree
04:29:17 <psygnisfive> but its a method. so in that regard it has quantifier ordering reversed.
04:30:08 <CakeProphet> because "each x" would suggest there are mulltiple x's being looped over.
04:30:19 <adu> with (list) for (each) item in it, (do ... end)
04:30:43 <CakeProphet> I think it would make more since if it were a function like each(|dog|, pound, do ... end)
04:31:21 <CakeProphet> -nod- it would vary by what you named the variable.
04:31:22 <psygnisfive> quantifiers like each, all, some, etc. all work on classes
04:31:44 <CakeProphet> because then the variable name is next to the each... and it makes more sense Englishly.
04:32:34 <psygnisfive> its only more englishy if the english sentence uses a variable
04:32:37 <CakeProphet> ...but since I dislike {} for blocks... (because I type them slowly... which is why I use dict() instead of {})
04:32:38 <psygnisfive> which it doesnt, when you just use classes.
04:32:45 <CakeProphet> I would prefer instead indentation... because... I am a pythonfag.
04:33:02 <CakeProphet> but indentation makes it weird to objectify blocks
04:33:15 <CakeProphet> which is one of the "benefits" (advantages... or whatever) of Ruby.
04:33:47 <CakeProphet> the best English-reading syntax you could do.
04:33:52 <adu> i personally think all this talk about english is leaving other natural languages out in left field, isn't that unfair?
04:34:15 <adu> CakeProphet: have you ever tried to tokanize Japanese?
04:34:16 <CakeProphet> they can get there own god damn languages. :P
04:34:18 <psygnisfive> they would just say for each integer, double it.
04:34:44 <CakeProphet> adu, I'm assuming it takes a while? or is it easy because it's characters instead of words?
04:35:21 <adu> psygnisfive: anata no nihongo wa perapera desuka?
04:35:48 <CakeProphet> psygnisfive: yeah... not saying it should be English... I just like for things to make sense in my head. it's not really a fault of the language or anything.
04:35:50 <adu> CakeProphet: its impossible without a dictionary, because there are no spaces
04:36:12 <psygnisfive> cakeprophet: i suspect you would say "For each blah, do blah" as well
04:36:34 <psygnisfive> you're reflecting right now, which is iffy.
04:36:44 <adu> psygnisfive: its ok, perapera == fluent
04:36:58 <psygnisfive> thats the syntax i wanna use in my sexy sexy language
04:36:58 <CakeProphet> but that's not explicit enough for a programming language
04:37:16 <psygnisfive> adu: no, i'm not fluent in japanese at all.
04:37:41 <psygnisfive> cakeprophet: cmon, lets make a language :D
04:38:14 <CakeProphet> to me... Perl's one-line control flow statements
04:38:27 <psygnisfive> i wanna make a language that has implicit ability to understand quantified nouns
04:38:44 <psygnisfive> which would make maps nice and each to see
04:38:59 <psygnisfive> as in your example, double each integer is equivalent to like
04:39:34 <adu> CakeProphet: which one?
04:39:36 <CakeProphet> or if you had a double function map(double, integer) in at least 10 languages.
04:40:07 <psygnisfive> double as a function would be taking as its argument a quantified noun
04:40:36 <psygnisfive> the interpreter would say, aha, this is an application to a quantified item
04:40:46 <psygnisfive> which means apply it to each item like a map, or some such
04:41:33 <CakeProphet> well... if you had it so that each item in integer implicitly received all messages
04:41:38 <psygnisfive> even tho the double function would only ever be defined as int -> int
04:41:43 <CakeProphet> but it wouldn't work well for lots of other namings.
04:42:04 <psygnisfive> but thats your problem to name things correctly :P
04:48:19 <CakeProphet> ...if you wanted to break into english parsing.
04:48:34 <psygnisfive> actually ive got some ideas about using some of that stuff too ;)
04:48:34 <CakeProphet> you could have variables change form based on context.
04:50:20 <psygnisfive> well ive already got ideas about using predicate functions that are flagged as such
04:51:05 <CakeProphet> in which case each works a lot like implicit mapping.
04:51:30 <CakeProphet> so in a traditional programming language... if each were a keyword
04:52:06 <psygnisfive> oh, no, i was thinking each would be some sort of function that produces a quantified expression.
04:52:24 <psygnisfive> granted, the sum total of it being quantified would simple be JUST (each integer) :p
04:52:42 <CakeProphet> thanks for the chat... think about it some more and see if you can make sense of it.
04:53:44 -!- adu has quit.
05:33:47 -!- pikhq has quit ("leaving").
06:39:06 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
06:54:19 -!- cherez has quit ("Leaving.").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
10:22:28 -!- tusho has joined.
10:22:49 <tusho> augur: i mean, am i the only one who thinks its ridiculous that half the ISPs in america are banning the alt hierarchy
10:22:59 <tusho> i've never read a non-alt. group
10:25:13 <tusho> i know i'm responding to message from yesterday, but
10:28:16 <tusho> 19:36:28 <psygnisfive> that makes no sense.
10:28:28 <tusho> stop fsking saying that to mean "i don't understand negative lists"
10:31:38 <tusho> oklopol: (a b <c d> e f) -> ((a b c e f) (a b d e f))
10:31:53 <tusho> (a b <<c d>>) -> ???
10:32:39 -!- GreaseMonkey has quit ("HydraIRC -> http://google.com <- Go find something better").
10:32:40 <tusho> 20:05:34 <CakeProphet> psh... if you want speed just compile Haskell to C.
10:32:40 <tusho> 20:05:45 <adu> CakeProphet: thats what GHC does
10:32:47 <tusho> It uses its own code generator nowadays.
10:34:06 <tusho> 20:16:32 <psygnisfive> also, i use textmate which autobalances parens :D
10:34:13 <tusho> 70s abandonware does paren matching, psygnisfive.
10:35:35 <tusho> 20:25:28 <psygnisfive> the each method takes a block argument
10:35:35 <tusho> 20:25:38 <psygnisfive> its not list.each do
10:35:35 <tusho> 20:25:45 <psygnisfive> its list.each(do...end)
10:35:40 <tusho> blocks are actually 'special'
10:35:44 <tusho> you can't do (do...end)
10:35:58 <tusho> you can only pass one block to a function and it has to be outside any parens and after them
10:36:15 <tusho> and the function can't access it as a normal argument, it has to use 'yield' or have an argumen with & in front of it at the end
10:36:20 <tusho> which is bound to the block reified into a Proc.
11:23:49 -!- Judofyr has joined.
12:29:26 <oklopol> pikhq: Hrm. New people in the channel. . . <<< no new people
12:31:07 <oklopol> adu: CakeProphet: is there a reason you use dict() instead of {}? <<< there are a few problems with in-place changes with the latter
12:31:21 <oklopol> not that either of adu and CakeProphet are here
12:34:59 <tusho> they're indentical
12:35:19 <tusho> dict(a=2, b=3) is {'a':2, 'b':3}
12:37:39 <oklopol> psygnisfive: integer is a collection & psygnisfive: in english <<< i disagree
12:40:55 <oklopol> CakeProphet: really in normal conversation & CakeProphet: you'd just say double each integer. <<< 2 * \integers
12:43:04 <oklopol> psygnisfive: array-processing languages are basically based on the kind of implicit mapping you mentioned
12:43:38 <oklopol> CakeProphet: double (each integer) <<< you can define each to work like this in oklotalk, for an arbitrary iterable sequence
12:43:53 -!- Judofyr has quit.
12:46:05 <oklopol> tusho: (a b <<c d>>) -> ??? <<< this would not rewrite to anything
12:46:30 <tusho> (a b <(c d)> e) -> ((a b (c d) e))
12:46:31 <oklopol> the list cannot be eliminated, so the evaluation would be locked, program would terminate
12:46:42 <tusho> bit of a weird translation, but makes sense when the negative list has more stuff in
12:47:49 <tusho> ((a b c e) (a b d e))
12:48:26 <tusho> if you have one term
12:48:31 <tusho> it's just ((a b TERM e))
12:48:38 <tusho> if it's special cased for one element, well, that's weird :)
12:48:52 <oklopol> the problem is, the negative lists are all kinda rewritten at the same time on one level, with the current semantics.
12:49:00 <oklopol> so there may be some problems
12:49:01 <tusho> but (a b <> e) -> ()
12:50:01 <oklopol> basically, you can have thinner and thicker lists, but thick negatives will only rewrite thick levels
12:50:18 <oklopol> this lets you do declarative programming without having to calculate your depths exactly
12:50:38 <tusho> hmm well i don't get it but it doesn't sound too complex
12:50:44 <tusho> but negative lists are cool
12:51:54 <oklopol> http://www.vjn.fi/pb/p366235241.txt <<< i was referring to this behavior, but right, it's not because you're changing the literal, it's because defaults are only evaluated once.
12:52:53 <oklopol> which is actually quite obvious seeing as they are part of the function's data
12:53:53 <tusho> oklopol: (<(<>)>) -> ((()))
12:55:47 <oklopol> the "problem" is (a b (<e>) c d) -> (a b ((e)) c d), while there is some sense in the negativity, it's not at all pure
12:56:27 <tusho> (<e>) -> ((e)), that's trivial
12:56:33 <tusho> and then you just embed it in another list
12:57:05 <oklopol> but it makes negatives impure!
12:57:33 <oklopol> of course it's just a name for the concept
12:57:37 <tusho> no it doesn't make them impure
12:57:45 <tusho> well, i mean, you could make it nesting negatives
12:58:05 <tusho> (a b (<e>) c d) -> ((a b (e) c d))
12:58:11 <tusho> that is, the <>s map the topmost list
12:58:20 <oklopol> the semantics are already definitely impure for stuff like <<a b c
12:58:50 <oklopol> <...> will always map just one list on top of it
12:59:00 <oklopol> that's where <<...>> comes in
12:59:43 <oklopol> anyway i should do something
13:00:31 <oklopol> i should really start playing with ai, i almost get a boner from even looking at c++ code describing a flock of birds
13:01:08 <oklopol> also i could probably do something spectacular with ob + simple 2d physics
13:07:42 -!- AnMaster has quit (Remote closed the connection).
13:45:10 -!- Judofyr has joined.
14:36:04 -!- CakeProphet has joined.
15:05:52 -!- lilja has joined.
15:10:22 -!- pikhq has joined.
15:10:34 <tusho> oklopol: i wish i knew pygame
15:14:28 <oklopol> it's not something you know, it's something you google and copypaste
15:15:50 <tusho> oklopol: yes but i still suck at it
15:18:46 <oklopol> well it's very, very simple
15:19:52 -!- AnMaster has joined.
15:27:04 -!- ihope has joined.
15:52:56 <tusho> AnMaster: it's saturday.
15:54:51 <tusho> and he is never here on a saturday
16:05:55 -!- Judofyr has quit.
16:15:16 -!- Slereah__ has joined.
16:27:36 <oklopol> not having an internet connection
16:33:09 -!- lilja has quit (Read error: 110 (Connection timed out)).
16:33:10 <tusho> oklopol: or a computer
16:38:08 <oklopol> he does not have a connection, i don't know whether he has a computer
17:12:31 <ihope> ais523 has no internet connection?
17:12:38 <ihope> Our only hope is Norgg, then.
17:13:00 -!- Ilari has joined.
17:18:40 <oklopol> is there anything uglier than making a bot control it's own physics.
17:19:06 <oklopol> the answer is "no", five points for a "no", go for it.
17:19:49 <ihope> That's no uglier than how when you play Solitaire, you make yourself abide by the rules.
17:19:57 <ihope> If you're the type to do such a thing.
17:20:28 <oklopol> ihope: err no, that's different. no one mixes the physical game play with thinking about the strategy.
17:20:34 <oklopol> the cards are there to aid your memory
17:20:50 <oklopol> it's not about getting the cards to move correctly in order to win, it's about the tactics
17:21:00 <oklopol> of course, with many solitaires, there are no tactics, but anyway.
17:21:05 <ihope> What are you doing?
17:21:41 <ihope> Having something to do with a bot that controls its own physics, I see.
17:22:21 <oklopol> i'm reading a book called programming game ai by example and wondering why the fuck i'm reading a book that starts by saying it's made for getting ai to look good in practise, not about beautiful academic shit.
17:23:00 <pikhq> "Could not create temporary file."
17:23:20 <ihope> I have "Artificial Intelligence: A Modern Approach", a.k.a. "Russell and Norvig's Big Green Book". Let's trade. :-P
17:23:34 <oklopol> yeah i'm planning to buy that
17:24:02 <oklopol> anyway the book does have some fun ideas, and seeing the ugly c++ code really inspired further development of Ob.
17:24:34 <ihope> Various bits of it.
17:25:06 <oklopol> i've just taken a few random glances inside it
17:25:26 <ihope> I've taken many random looks at it. :-)
17:27:21 <oklopol> anyway specifically, a soccer ai aims for a point near the goal, the random offset is not even abstracted away from the ai's main kickball method
17:27:30 <oklopol> it's there, as part of the fucking state machine
17:27:49 * oklopol rips something off something and throws something at something
18:09:43 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
18:11:20 -!- tusho has quit.
18:12:04 -!- tusho has joined.
18:12:26 -!- tusho has quit (Client Quit).
18:12:45 <psygnisfive> tusho does grasp pedagogically relevant things.
18:14:13 <psygnisfive> also, i dont get negative lists at all. :(
18:14:33 <psygnisfive> (1 2 <3 4> 5) i can get but not the others
18:14:41 <psygnisfive> since they dont seem to follow the same rule as that one :(
18:18:10 <psygnisfive> hm. ok so (1 2 <> 3) could make sense too if im interpreting it correctly.
18:18:58 -!- tusho has joined.
18:19:13 -!- Judofyr has joined.
18:21:27 <psygnisfive> if list = (... neg-list ...), then that evaluates to (list'0 list'1 ...) where list'0 = (... neg-list[0] ...), list'1 = (... neg-list[1] ...) and so on?
18:22:23 <psygnisfive> that is, a list containing a neg-list of length N evaluates to a list A of similar lists, of length N, where each similar list has one of the elements of the neglist in place of the the neglist.
18:23:13 <psygnisfive> hence the reasoning that (1 2 <> 3) would evaluate to () since the neglist has the same length as ()
18:25:11 <tusho> (a b <c d> e f) -> ((a b c e f) (a b d e f))
18:25:19 <tusho> you see how that works? <...> means 'one of these'
18:25:24 <tusho> and it produces a list of all possible choices
18:25:34 <tusho> there's some nuances, but that's the basic idea
18:25:38 <tusho> and since <> is 'no choices'
18:26:16 <tusho> psygnisfive: does that make sense?
18:29:52 <psygnisfive> that was my first assumption but it does fail with <>
18:35:02 <tusho> psygnisfive: no it doesn't
18:35:23 <tusho> (1 2 <3 4> 5) -> (For each thing in (3 4), (1 2 thing 5))
18:35:30 <tusho> For <>, that becomes 'For each thing in ()'.
18:35:35 <tusho> Thus, it never runs, and we get ().
18:35:54 <Judofyr> which language are we talking about?
18:37:25 <tusho> Judofyr: oklopol's negative lists
18:37:36 <tusho> psygnisfive contends they're impossible and meaningless or at least used to
18:37:41 <tusho> meanwhile, one more person gets them every day
18:39:24 <tusho> people://oklopol/mind/nopol/neglists
18:39:57 <AnMaster> <tusho> (1 2 <3 4> 5) -> (For each thing in (3 4), (1 2 thing 5))
18:40:10 <AnMaster> that is basically (3|4) in a regex?
18:40:15 <tusho> .........................................
18:40:33 <AnMaster> being expanded instead to all posibilities
18:42:27 <tusho> i'm not going to bother explaining because it's not worth it because oklopol is better at it than me
18:42:41 <tusho> also, you'll need a bit of a functional programming mind to grasp it.
18:42:44 <tusho> you might wanna work on that
18:43:10 <AnMaster> tusho, well I do understand some lisp but... no I don't have a functional mind...
18:43:36 <tusho> get one, then try again
18:46:48 <psygnisfive> just because various people get them doesnt mean that they make sense
18:47:08 <tusho> psygnisfive: so we're all hallucinating?
18:47:24 <tusho> psygnisfive: i think what you mean is - they don't make sense to you
18:47:27 <tusho> and yeah, they didn't to me
18:47:30 <AnMaster> no of course not, only 12 year old girls are
18:47:38 <tusho> but, objectively, they do make sense because, um, they exist, and oklopol's implemented them
18:48:09 <AnMaster> tusho, are you saying INTERCAL's random compiler bug make sense? or it's turning text thing for input/output
18:48:35 <tusho> objectively, they 'make sense'
18:48:42 <tusho> because they are specifiable
18:48:49 <tusho> subjectively, no, they don't ;)
18:49:15 <AnMaster> did you ever get anywhere with implementing it?
18:49:19 <tusho> if you give it a liberal enough interpretation
18:49:52 <tusho> theoretically it can be taken as a spec for a TC language
18:49:55 <tusho> but in practice, well..
18:50:39 <tusho> AnMaster: the point is that although you can't represent half a bit
18:50:44 <tusho> if you have, say, an array of two half-bits
18:50:49 <tusho> then you can represent it as one bit
18:51:15 <AnMaster> I think you have to emulate it or something ;P
18:51:38 <AnMaster> say, store it internally in the interpreter as a whole bit
18:51:46 <tusho> AnMaster: yeah, pretty much
18:51:50 <tusho> you have to do some acrobatics
18:51:58 <tusho> AnMaster: like, e.g.
18:52:04 <tusho> NEGATIVE AMICED is a negative amount of bits
18:52:08 <tusho> is instead have AMICED
18:52:11 <tusho> with a postive amount
18:52:15 <tusho> and just make all operations on it negative
18:52:28 <tusho> you can make it tc
18:52:31 <tusho> if you take some liberties
18:52:42 <AnMaster> implement TURKEY BOMB in TURKEY BOMB!
18:52:48 <tusho> it basically ends up as a computer simulation of the described drinking game
19:35:37 <psygnisfive> tusho, im not saying neglists, as oklopol implemented them, dont make sense
19:35:49 <psygnisfive> im saying neglists, as theyre being explained dont make sense to me.
19:36:28 <tusho> they're not easy to explain
19:36:33 <psygnisfive> also, by the normal reasoning about what (... <something> ...) does
19:36:40 <psygnisfive> (... <<something>> ...) should also do something.
19:37:03 <psygnisfive> if (... <a b> ...) => ((... a ...) (... b ...))
19:37:25 <psygnisfive> then (... <<a b> <c d>> ...) => ((... <a b> ...) (... <c d> ...))
19:37:46 <psygnisfive> => (((... a ...) (... b ...)) ((... c ...) (... d ...)))
19:39:14 <psygnisfive> this all looks terribly like non-deterministic things in Haskell.
19:39:31 <psygnisfive> or any system that allows non-deterministic filtering.
19:46:56 <tusho> similar to the list monad
19:47:04 <tusho> also, I believe <<>> does the same as <>, but one level up
19:47:26 <tusho> so (a (b <<c d>> e) f) -> ((a (b c e) f) (a (b d e) f))
19:47:33 <tusho> it jumps up a level before doing every possibility
19:49:13 -!- Slereah__ has joined.
19:54:10 <tusho> psygnisfive: this all looks terribly like non-deterministic things in Haskell.
19:54:10 <tusho> [19:39] psygnisfive: or any system that allows non-deterministic filtering.
19:56:10 <psygnisfive> i would like to see formal rules for doing negative lists
20:07:30 -!- timotiis has joined.
20:12:35 <oklopol> psygnisfive: if list = (... neg-list ...), then that evaluates to (list'0 list'1 ...) where list'0 = (... neg-list[0] ...), list'1 = (... neg-list[1] ...) and so on? <<< ya.
20:13:04 <psygnisfive> <<...>> should evaluate as I supposed above.
20:14:03 <psygnisfive> (x <<a b> <c b>> y) => ((x <a b> y) (x <c d> y)) => (((x a y) (x b y)) ((x c y) (x d y)))
20:14:07 <oklopol> psygnisfive: the normal rewrite rule is just the case where the negative list contains no negatives
20:14:32 <oklopol> basically, i have separate rules for when a negative list contains a singleton negative list
20:14:45 <oklopol> err, when a negative list is a singleton containing a negative list
20:15:02 <oklopol> yes, the rules are not all that beautiful mathematically.
20:15:02 <psygnisfive> because if the rule is (... neg-list ...) => ((... neg-list[0] ...) ...)
20:15:26 <oklopol> they are not just recursively defined with the simple rule
20:15:31 <psygnisfive> then the unwrapping of (x <<a b> <c d>> y) should unfold as i mentioned
20:16:00 <psygnisfive> and that rule has a higher precedence than (... neg-list...)
20:16:38 <oklopol> tusho may not have known about such a rule
20:16:53 <tusho> i just knew what you told me, you didn't really specify the exact singleton thing
20:16:54 <oklopol> anyway, there is no formal semantics for this, i go by my own intuition.
20:17:01 <psygnisfive> then negative lists are just non-deterministic elements.
20:17:06 <oklopol> tusho: yeah i just explained the gist of it
20:17:12 <tusho> psygnisfive: except they make the list they're in turn into a list of all possibilities
20:17:23 <tusho> it makes sense to call them negative though psygnisfive
20:17:30 <tusho> because they "fold" into the thing they're in
20:18:22 <oklopol> it's not equivalent to that
20:19:08 <psygnisfive> i dont know your semantics for <... neg-list ...> yet so.
20:19:20 <oklopol> well the difference is you get a *real* new list on the toplevel
20:19:54 <oklopol> nothing, you can't have negative lists without something surrounding them
20:20:56 <oklopol> ((a) (<b c>) (d)) -> ((a) ((b) (c)) (d)) i think
20:21:23 <oklopol> anyway, this is just basically an unclean way to get deterministic elements, i guess you could say
20:21:29 <psygnisfive> so its an evaluation no different that the standard (.. neg-list ..) evaluation
20:21:59 <oklopol> psygnisfive: well indeed, the actual exception is when you have <neglist>
20:22:50 <oklopol> first would fail, i think, latter would be triv
20:23:25 <oklopol> psygnisfive: basically, that you jump two levels up
20:24:10 <oklopol> (a (b <<e f g>> c) d) => ((a (b e c) d) (a (b f c) d) (a (b g c) d))
20:24:35 <oklopol> you remove <<e f g>> from there
20:24:46 <tusho> it makes sense psygnisfive
20:24:52 <oklopol> and call the list lambda for each elem
20:24:53 <tusho> it cycles the choices
20:24:56 <tusho> in the topmost list
20:25:00 <tusho> <<...>> does it two levels up
20:25:11 <tusho> isn't that fairly simple?
20:25:27 <psygnisfive> you're fucking up the signal to noise ratio.
20:26:01 <tusho> <...> = cycle choices at the list we're in; <<...> = cycle choices in the list containing the one we're in
20:26:10 <oklopol> psygnisfive: i'd say it's simple to see what happens from the example, and i think tusho said it clearly
20:26:21 <oklopol> you rise two levels in lists
20:26:30 <oklopol> so you get on the (a ... d) level
20:26:50 <oklopol> and you get the list lambda (a (b * c) d), which you call for each elem in <<e f g>>
20:27:05 <tusho> wowzers. psygnisfive gets neglists
20:27:09 <tusho> i thought i'd never see the day
20:27:40 <psygnisfive> (a (b <<c d>> e) f) => (a <(b c e) (b d e)> f) => ((a (b c e) f) (a (b d e) f))
20:29:37 <psygnisfive> (list a (neg-list b c) d) => '(a <b c> d) => '((a b d) (a c d))
20:30:55 <psygnisfive> i dont know if its actually distributive but its close with the <<..>>
20:31:43 <psygnisfive> thats relatively straight forward, but its not what i would call a negative list.
20:32:01 <tusho> psygnisfive: it's not a list, it's a negative list
20:32:12 <tusho> because it folds into the list its in
20:32:26 <psygnisfive> tusho, it's not what i would call a negative list.
20:32:52 <psygnisfive> and therefore it is true that i would not call it a negative list
20:33:03 <psygnisfive> and thus it is true that it's something that i would not call a negative list.
20:33:34 <tusho> i just wanted you to have to explain it
20:35:27 <psygnisfive> i'd just say they're non-deterministic list elements, where the number of angle brackets specifies how many items above the non-determinism applies to
20:46:40 <tusho> the negative list is a negative lie!
20:47:04 <psygnisfive> i mean, i can see why you're compelled to call it a negative list
20:48:57 <psygnisfive> since (a <b c> d) has an evaluated length greater than the external forms length, and therefore the external form has "negative" length
20:49:18 <tusho> not length psygnisfive
20:49:30 <tusho> (a) = 1 depth. ((a)) = 2 depth.
20:49:36 <tusho> these are negative depth
20:50:20 <psygnisfive> the point is that i dont think it really qualifies as a list.
20:50:39 <psygnisfive> <a b c> is itself not the list. <a b c> only works in conjunction with some containing element
20:50:47 <psygnisfive> and is itself merely shorthand for non-deterministic elements
20:51:45 <psygnisfive> which is not terribly esoteric, in the grand scheme of things.
20:52:07 <psygnisfive> if anything it seems like something ruby or lisp might do.
20:53:11 <tusho> i'd say its pretty esoteric
20:53:15 <tusho> esp. when nopol _code_ even uses it
20:53:17 <tusho> and i have no idea how
20:53:37 <psygnisfive> nopol code is just lisp + some stuff right?
20:53:49 <oklopol> 22:34… psygnisfive: i'd just say they're non-deterministic list elements, where the number of angle brackets specifies how many items above the non-determinism applies to <<< make a noun out of that, and i can add it as an optional name in the nopol spec
20:53:50 <psygnisfive> i mean, it has the whole code-is-data-is-code thing right?
20:54:19 <psygnisfive> depth-specified non-deterministic elements.
20:55:32 -!- tusho has quit ("And then-").
20:55:33 <oklopol> well it was a joke, i don't give a fuck what you wanna call them, but yes, they are a form of non-deterministic elements, although i didn't know this at the time of inventing them
20:55:45 -!- tusho has joined.
20:55:57 <psygnisfive> the formal specification for them isnt that hard either
20:57:01 <psygnisfive> let N be the "negative list" containing a b and c
20:57:23 <psygnisfive> let B be the number of angle brackets in the negative list's enclosure
20:59:06 <psygnisfive> then L evaluates to a list L' such that the list enclosing N B levels up has the contents of N nondeterministically substituted
20:59:16 <psygnisfive> i'd need to word it better in that last part but
20:59:57 <oklopol> well yeah and then just the fact all are rewritten at the same time, making the concept even closer to non-determinism
21:01:38 <psygnisfive> the explanations from earlier were rather confusing, tho.
21:02:05 <oklopol> perhaps, all i know is CakeProphet got it
21:02:48 <psygnisfive> cakeprophet and tusho got it because they're as warped and twisted as you are so it makes sense to them to think it warped and twisted explanations :P
21:02:58 <oklopol> true, but as it's not terrible context-insensitive inherently, it's hard to explain
21:03:21 <oklopol> that is, you can't show a simple rewrite rule
21:04:03 <psygnisfive> ofcourse not. the rewrite depends on numerous things, and it probably requires a Type 0 language to implement using rewrite rules
21:04:18 <psygnisfive> but the specification mathematically isnt terribly hard.
21:04:35 <oklopol> well yes, although i'm not sure what your point is
21:04:47 <oklopol> err, right, that it was confusing
21:04:59 <oklopol> no one's blaming you for not grasping it from that
21:07:02 <oklopol> psygnisfive: its not confusing! you just dont get it! <<< err what?
21:07:22 <oklopol> okay, sorry, i guess that was obvious
21:07:34 <tusho> oklopol: its not confusing! you just dont get it!
21:08:29 <oklopol> fuck you little brat you're so young i could be father's lover, stop making noise
21:09:21 <psygnisfive> so besides boring "negative lists", anything interesting going on?
21:09:28 -!- Keymaker has joined.
21:09:32 <tusho> psygnisfive: You're only saying that because you're not comfortable with your own masculinity.
21:09:38 <tusho> On another topic, hi Keymaker
21:10:14 <psygnisfive> keymaker, a little chinese man who sounds like hes trying to not be chinese way too hard.
21:10:33 <Keymaker> actually i got this name after seeing matrix ii :P
21:10:55 <psygnisfive> am i the only one who thought that the keymakers accent was way to fucking weird?
21:11:18 <oklopol> hard to remember, matrix was like a decade ago
21:11:33 <psygnisfive> it sounded like they overdubbed him with a voice actor in order to make him sound completely unchinese
21:11:37 <oklopol> yeah Keymaker is awesome, unfortunately you never get to talk to him
21:11:49 <oklopol> probably writing /quit as i'm typing this
21:11:55 <psygnisfive> but they pushed him to like.. 120% non-chinese
21:12:36 <Keymaker> :D thanks. in fact the reason i came to visit was because i wanted to link my whirl quine i made about a week ago :D
21:12:38 <Keymaker> http://koti.mbnet.fi/yiap/programs/whirl/quine.wrl
21:12:51 <oklopol> well yeah, that's why you always come :P
21:13:06 <Keymaker> i also finished a collatz program in brainfuck just a few minutes ago: http://bf-hacks.org/hacks/collatz.b
21:13:32 <oklopol> Keymaker: i'm assuming that was by hand
21:15:11 <oklopol> psygnisfive: eodermdrome is quite interesting imo
21:15:27 <psygnisfive> also, oklopol, im trying to figure out a CFG for reactance's shorthands and im finding it tricky. lol
21:15:38 <oklopol> been trying to come up with a way to build an arbitrary graph from a finite amount of initial nodes and finite rules
21:15:43 <Keymaker> i got so annoyed moving the whirls so i had to make a program to convert whirl ops to those 0s and 1s. that program took most of the time in the process... and as it was far from good i needed to create padding for jumps and various other things on my own.
21:15:59 <Keymaker> eodermdrome seems interesting, is there any examples?
21:16:07 <oklopol> Keymaker: the first phase of whirl is just a syntax replacement?
21:16:18 <oklopol> or is there an actual wheel when running?=
21:16:34 <oklopol> eodermdrome doesn't have examples, no
21:16:44 <oklopol> been trying to get ais523 to write some
21:16:55 <Keymaker> so it's not just replacing stuff with 0 and 1. one has to move those wheels (which i caleld whirls) with them to choose instructions
21:17:05 <oklopol> psygnisfive: esolangs.org, i'd have to open a browser as well
21:17:16 <Keymaker> http://www.esolangs.org/wiki/Eodermdrome
21:17:27 <oklopol> i see, then it's a lot more interesting than i thought initially
21:17:41 <Keymaker> yeah, it is, and damn annoying for making jumps
21:18:12 <oklopol> and you fucker wrote a quine in it. can you elaborate on how?
21:18:16 <Keymaker> generally moving in memory and stuff isn't as easy as one'd think, as there's no way to change data between the two wheels other than setting it to memory and the reading in other whirl
21:19:06 <oklopol> hmm, there are multiple wheels? i guess i'm remembering the whole thing wrong
21:19:22 <Keymaker> and each has different instructions, a few same, but essentially different
21:20:08 <oklopol> Keymaker: how did you do the quine?
21:20:15 <oklopol> i've always found quines quite hard in general
21:20:52 <Keymaker> ah. first i created code snippets for memory storing (both 61 bytes)
21:21:10 <Keymaker> then i created data part of that
21:21:35 <Keymaker> (i mean the snippets/pieces were 61 per every 0 or 1)
21:22:03 <Keymaker> the data part is huge in this program...
21:23:09 <psygnisfive> coming from a guy who wrote a quine in whirl. :p
21:23:24 <oklopol> psygnisfive: stop being like that
21:24:10 <oklopol> Keymaker: anyway, err, so basically you have a way to write the data, then write the part that first writes the data as the code that makes it, then as it is, and you just put the program into the data
21:24:13 <Keymaker> yes, but i spend a lot time outside nonetheless :]
21:24:17 <oklopol> the way that one commented bf quine did
21:24:35 <psygnisfive> so do i! i went walking around lond and paris for like 8 hours every day for the last two weeks :O
21:25:32 <oklopol> the only difference between going outside to take a walk and writing a whirl quine is if you take the walk you don't get anything done
21:26:01 <Keymaker> hm, it isn't that to me. anyways, first part that writes the data in memory, then part that prints the data part, then parts that prints the data, then of those two parts is created the real datapart
21:26:02 <psygnisfive> and with a quine in whirl, you get negative amounts done? :P
21:26:30 <psygnisfive> hey, if you wrote a quine in whirl because it was listed in a negative list, would the negatives cancel out and result in being productive?
21:26:42 -!- lilja has joined.
21:27:54 <oklopol> god i hate it when people don't appreciate others' work on the grounds that it's not useful
21:28:16 <psygnisfive> its not that i dont appreciate his work because its not useful
21:28:26 <psygnisfive> i wasnt the one who even brought up getting things done! you were! :O
21:28:34 <oklopol> Keymaker: yeah that's the approach you usually use with esolangs i guess
21:28:42 <oklopol> well, same thing for all langs, but you don't see it as clearly
21:28:48 <psygnisfive> i dont appreciate it because it seems like a silly rehash of some boring old concept.
21:29:13 <oklopol> psygnisfive: well yeah, i agree that's a problem with most esolangs
21:29:30 <psygnisfive> i mean, if you removed the "wheels" or "whirls" or whatever you want to call them
21:29:42 <Keymaker> (and anyways, my esoteric work is useful to me)
21:29:50 <psygnisfive> does it just become Brainfuck? a funge? a whatever?
21:30:02 <oklopol> it's not a syntactic substitution kid
21:30:26 <Keymaker> remember those old phones where you choose number by rotating a ring?
21:30:39 <psygnisfive> how do you select instructions? how do these wheels play into anything?
21:30:40 <psygnisfive> right, so its a rotary dial version of brainfuck
21:30:50 <Keymaker> whirl is a bit like that. it has two such rings with different commands, you have to move them. and different commands than brainfuck
21:30:54 <psygnisfive> which means that its a silly modification of branfuck.
21:31:08 <psygnisfive> it doesnt matter that it has different commands than brainfuck
21:31:25 <Keymaker> you could say then almost every language in the world is silly modification of brainfuck
21:31:29 <oklopol> i'm pretty sure it becomes fundamentally different to program in with jumps
21:31:47 <psygnisfive> the wheels do absolutely nothing except make it hard to code in
21:32:02 <psygnisfive> and even then, it doesnt need to be since you can remove the wheels entirely
21:32:25 <oklopol> if you can do that trivially, then it's a syntactic thing
21:32:42 <psygnisfive> ofcourse it is, but the point is that the wheels themselves are a syntactic thing if thats the case.
21:32:52 <psygnisfive> keymaker, if your analogy to a rotary dial telephone is correct
21:33:14 <psygnisfive> then in some sense each position on the wheel, lets say each angle postion, 0 through 9, for instance, has an instruction, yes?
21:33:16 <oklopol> yeah, and they are not, because with jumps, the meaning of earlier code changes
21:33:32 <psygnisfive> so you do something akin to move forward n positions
21:33:41 <psygnisfive> etc etc to get from one instruction to the next
21:33:55 <Keymaker> yes. you rotate ring with 1, 0 changes the direction, if there's 00 it changes the ring
21:34:01 <Keymaker> (and executes the chosen instruction)
21:34:11 <psygnisfive> so essentially to get to any instruction n
21:34:25 <psygnisfive> you can just replace n with n numbers of 1, 0, then n numbers of 1
21:34:48 <psygnisfive> where * is used to indicate "do it" or whatever
21:34:53 <oklopol> so you just won't believe it's not like that?
21:35:08 <oklopol> not that i'm sure it's not, but i've said it's not, and you have no reason not to believe that
21:35:23 <psygnisfive> but that means that the whole wheel gimmick is an obfuscation of instruction symbols since it can be trivially reduced to a 1-to-1 mapping.
21:35:55 <oklopol> anything can be compiled to anything
21:35:58 <psygnisfive> 1 rotates the ring forward one instruction yes?
21:36:09 <psygnisfive> and 0 changes the direction of rotation, yes?
21:36:48 <psygnisfive> if thats so, then to access instruct n, from instruction 0, you need to go forward n times. that is you need a string of n 1's in a row.
21:37:12 <Keymaker> for jumps you need to create the value in memory by using those instructions, then you have to perform the jump somewhere, land to some place where the rings are in same position than where you jumped and where control is on the same ring than it changed to when you jumped, and most likely you need padding there with sequences that don't execute any instructions
21:37:32 <psygnisfive> so then if 0 reverses the direction of movement
21:37:43 <psygnisfive> you simply do undo all rotates after you do them
21:38:19 <psygnisfive> and your instruction set maps cleanly to a binary string
21:38:29 <oklopol> so basically the interesting part of it is the same as with YABC
21:38:41 <psygnisfive> which means the wheel is nothing more than a gimmick.
21:38:49 <psygnisfive> its nothing interesting, just an obfuscatory mechanism.
21:38:52 <oklopol> you have to generate the jumps from calculations
21:38:52 <tusho> psygnisfive: you're wrong
21:39:06 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
21:39:15 <psygnisfive> if keymakers description of how the language works is correct, then im not wrong
21:39:43 <Keymaker> you can read it here explained better: http://www.bigzaphod.org/whirl/
21:39:46 <oklopol> without flow control, yes, it's trivial
21:40:07 <psygnisfive> even assuming that the wheels are absolutely necessary to access the instructions
21:40:27 <psygnisfive> because the whole thing just reduces to a complication of your instruction set
21:40:41 <psygnisfive> it introduces nothing fundamentally different in terms of computational perspective
21:40:45 <tusho> not with jumps, psygnisfive
21:40:48 <oklopol> it's not something you can just remove as a separate step, man
21:41:05 <oklopol> you cannot make a trivial two-way compiler between that and, say, brainfuck
21:41:15 <oklopol> even if you added the necessary shit to brainfuck
21:41:25 <Keymaker> and that wouldn't brainfuck then
21:41:26 <psygnisfive> im simply saying that the wheels seem to be a gimmick and nothing more.
21:41:40 <oklopol> but that it's just another esoteric language, new idea, but not the best ever?
21:41:56 <Keymaker> in any case, this 1-to-1 mapping doesn't work with these jumps in whirl
21:42:01 <psygnisfive> my point is that its uninteresting and boring and gimmicky.
21:42:06 <tusho> oklopol: psygnisfive seems to hate anything that isn't a completely and utterly new paradigm which makes everything seem weird.
21:42:15 <tusho> because everything else is boring and gimmicky and YAWWWWWWWWWWWWN
21:42:23 <tusho> really? 'cause it seems that way
21:42:30 <psygnisfive> if you just change brainfucks symbols, is it a new esolang?
21:42:37 <psygnisfive> its a pointless gimmicky rehash of brainfuck.
21:42:48 <Keymaker> this isn't brainfuck, the instruction set is compeltely different
21:42:57 <oklopol> psygnisfive: many imperative esolangs are only fun and new in the sense that they are very different to program in, yes
21:43:18 <tusho> maybe we can actually continue this discussion then, Keymaker :P
21:43:59 <oklopol> i would like to do something in eodermdrome, the problem is i want example programs first
21:44:05 <oklopol> since i'm sure my interp is crooked
21:44:18 <oklopol> and i can't really test my own code
21:44:30 <oklopol> i *can*, but it doesn't feel right
21:46:14 <oklopol> the thing i don't get about the whole everything-is-brainfuck mindset is, most esolangs actually differ a lot more in programming experience than, say, haskell and scheme.
21:46:36 <oklopol> the whole language is usually a completely new challenge by just a change of a few operations
21:46:37 -!- timotiis has quit (Connection timed out).
21:47:15 <oklopol> haskell and scheme are very different, but only when you start making something big; who the fuck makes anything big in esolangs anyway :)
21:47:19 <Keymaker> to me only things resembling brainfuck are those languages that are made to just replace brainfuck instructions
21:48:01 <Keymaker> and tusho, what was the discussion?
21:48:18 <tusho> Keymaker: the one not involving psygnisfive saying how boring whirl was
21:50:31 <oklopol> it is true of course that not many languages on the wiki have that "new computational model" feelign
21:50:47 <oklopol> except for a few of ais's languages, and some other exceptions
21:51:20 <oklopol> it's been my lifelong dream to invent a computational model
21:51:45 <oklopol> but all the simple ones are already taken, and most things are trivially equivalent to them :<
21:52:03 -!- Corun has joined.
21:52:07 <Keymaker> i think there are many great language out there, but also too many that are purposefully made to be like brainfuck
21:56:54 <Keymaker> has anyone ran that collatz program i linked? see if it works any fast
21:58:24 <oklopol> i would have to write a bf interpreter
21:58:41 <oklopol> for some reason i never have one at hand even though i've written like a million of them
21:59:14 <Keymaker> and a million available in the net, so you wouldn't need to write
21:59:54 <oklopol> well yes but i don't like doing that
22:00:32 <oklopol> i'll write one now, a brainfuck interpreter a day is good for the health
22:01:58 <ihope> Invent a new computational model, eh?
22:02:19 <ihope> Plain imperative and functional, then rewriting and cellular automata...
22:02:26 -!- calamari has joined.
22:02:59 <ihope> Though it's pretty easy to express all of those as rewriting.
22:03:15 <oklopol> well ef is a somewhat new paradigm, unfortunately you can think of it as a form of declarative programming.
22:03:16 <Keymaker> and isn't it possible as well?
22:03:54 <Keymaker> or well, maybe not. i didn't think enough...
22:03:57 <oklopol> but paradigm isn't exactly a computational model
22:04:15 <oklopol> isn't what possible as well?
22:04:56 * ihope compromises with "eg"
22:05:19 <Keymaker> expressing all the computational models in rewriting. but i was thinking more like implementing, so ignore what i said
22:05:19 <oklopol> ef is my fixed-point language
22:05:37 <oklopol> Keymaker: you can both express and implement, same thing really.
22:06:35 <ihope> Hmm. fix fix, fix (fix fix), fix fix (fix (fix fix)), fix (fix fix) (fix (fix fix)), fix fix (fix (fix fix)) (fix (fix fix))...
22:07:25 <oklopol> it's more like functional programming, but you always apply everything infinite times
22:07:43 <oklopol> also there is a quite intelligent pattern matching
22:08:05 <oklopol> so you express everything as finding a normal form
22:10:51 <Keymaker> speaking of cellular automata, it isn't really used too much in esolanguages. i have practically never done stuff with it
22:10:55 <ihope> The fix function only takes one argument, of course.
22:11:11 <ihope> Keymaker: that's precisely why we need to create a programming language for cellular automata.
22:12:57 <oklopol> ihope: there is no fix function
22:13:22 <Keymaker> easier said than done though... but also more esolanguages based on that could be interesting. i'll have to try something. i have many language plans but for some reason only few ever get done
22:13:22 <oklopol> and it would make no sense to introduce one, although you can implement it as, err, apply
22:15:33 <ihope> Suddenly, I get the idea for a programming language where you can apply any programming language any ordinal number of times...
22:17:42 -!- calamari has quit ("Leaving").
22:21:00 <oklopol> Keymaker: so which was i supposed to test?
22:24:57 <oklopol> http://www.vjn.fi/pb/p255422423.txt
22:25:02 <oklopol> hard to say about the speed of this
22:25:26 <oklopol> the numbers show quite fast on my screen, and it's written in python, so i guess it's fast
22:25:41 <oklopol> the extra output is just the number of cycles at different points of evaluation
22:25:45 <oklopol> i made it output @ newline
22:27:13 <Deewiant> AnMaster: new Mycology's up, has the null-byte test someone (ais?) came up with
22:28:24 <ihope> An analog signal processing programming language would be interesting.
22:29:17 <ihope> I guess electronics is (are?) one of those.
22:30:23 * ihope tries to make a sine wave with DC
22:31:23 <oklopol> i'd say "is" is more used, but both are okay
22:31:32 <oklopol> but you're the native so who cares what i think
22:34:05 <ihope> We care what you think when you tell us how to use "used to" correctly.
22:35:37 <oklopol> that can mean a lot of things
22:36:55 <oklopol> a vacuum cleaner can be used to get rid of a penis / i used to put my penis in a vacuum cleaner as a kid / i'm used to having my penis sucked by a vacuum, cleaner
22:37:33 <oklopol> "vacuum, cleaner" may not be the best way to write that
22:40:26 <tusho> a vacuum cleaner can be used to get rid of a penis
22:40:53 -!- Corun has quit ("This computer has gone to sleep").
22:45:27 <oklopol> yes, tusho, i stand behind my words
22:45:53 <pikhq> Hmm. It appears my circadian rythym is a bit. . . Off.
22:46:15 <pikhq> Breakfast at 11, lunch at 3, dinner at (probably) 8 or 9. . .
22:46:34 <oklopol> i had breakfast at 20.00 or something
22:46:52 <tusho> i had breakfast like 10.30
22:47:02 <tusho> lunch about three-five
22:47:09 <tusho> dinner, uhh, very recently
22:47:30 <oklopol> heh, i'm such a story-topper
22:49:25 <Keymaker> good bye. i'll return some day with some new programs
22:49:53 <Keymaker> hah, sorry, i generally hate irc
22:50:01 <tusho> you hate us because we're FUN >:(
22:50:30 <tusho> we'll teach you the secrets of being fun if you come in tomorrow
22:50:35 <tusho> that's how awesome we are.
22:50:44 -!- Keymaker has left (?).
22:51:11 <oklopol> eyes are getting tired it seems, SparseGraph -> StereoTypical
22:51:30 <oklopol> was a bit wtf to see that in the middle of code.
23:26:09 <psygnisfive> so tell me why jumps make keymakers language nothing more than a gimmick.
23:26:29 <tusho> anyway its not keymakers language
23:29:09 <ihope> I suddenly realize I was trying to implement goto in Haskell.
23:29:16 <tusho> ihope: awesome. why.
23:29:17 <oklopol> keymaker's the one who's actually coded in it, so i'd say the onus is on you
23:29:42 <tusho> you just stated untrue things
23:29:45 <tusho> when we told you they weren't true
23:29:48 <tusho> you stated them again
23:29:53 <ihope> callCC (\cont -> let label = cont label in return label) was what I'd come up with; that's the same as callCC (return . fix).
23:30:01 <oklopol> psygnisfive: why not compile something into it and show us how it's done
23:30:03 <psygnisfive> all you said was that it wasn't gimmicky due to jumps.
23:30:30 <psygnisfive> the ring commands are mappable directly and trivially to individual non-ring based instructions.
23:32:16 <tusho> psygnisfive: i just explained why jumps make it non-gimmicky
23:32:16 <tusho> psygnisfive: sorry. next time i'll follow your example and state the same thing over again
23:32:20 * ihope /ignores tusho's one-word-per-lineness
23:33:09 <tusho> psygnisfive: it obviously has control flow
23:33:12 <tusho> or it wouldn't be tc
23:33:29 <oklopol> If If memval is not 0, then add value to program position pointer (see PAdd).
23:33:50 -!- Judofyr has quit.
23:34:29 <oklopol> this is a computed goto, fairly interesting a thing in a tarpit
23:34:36 <oklopol> as it's not trivial to create the offsets
23:34:52 <tusho> the wheel means that the offsets are very hard to calculate
23:34:56 <tusho> along with the fact that it's hard anyway
23:37:23 <oklopol> hmph, why do they call it dijkstra's algo, who hasn't invented that
23:37:42 <tusho> oklopol: names are useful.
23:37:45 <oklopol> i used that when i was like 13
23:37:47 <tusho> and dijkstra did it first.
23:38:09 <tusho> oklopol: remember, you only get these things easily because CS has advanced so much since then
23:38:12 <tusho> back then it wouldn't have been so trivial
23:38:20 <oklopol> i'm not saying it shuold actually be changed, i'm once again just wondering how great it would've been to have been born like 50 years ago.
23:38:45 <psygnisfive> the only things that modify memval are store, and intio.
23:38:57 <oklopol> i didn't know any cs when i was 13
23:39:12 <tusho> oklopol: well yeah but cs has effected programming
23:39:12 <psygnisfive> therefore the only things that can affect the way the if's evaluate are store and intio.
23:39:40 <oklopol> tusho: i know i know, that's not the point
23:39:51 <oklopol> i'm just pissed off, i don't actually have a point! :D
23:41:40 <oklopol> psygnisfive: i believe keymaker over you in this issue, unless you actually show a bijection
23:44:20 <ihope> Upon seeing what Dijkstra's algorithm does, I immediately conceived of an algorithm that would do that. Now I'm reading to see if they're the same.
23:52:13 <oklopol> you have a priority queue containing nodes you haven't currently explored yet, and you just iterate: pop the queue, then add all the nodes connected to the popped one into the priority queue updating costs.
23:53:05 <oklopol> because you're always handling the node that, from all nodes that can be accessed right now, is found the "fastest", when it comes to total cost of the path to it, you find the shortest paths
23:53:32 <oklopol> easier to invent than understand, really
23:53:43 <ihope> Have some current nodes, each with a distance assigned to it; take the one with the smallest distance and make all the unvisited nodes next to it current, and make the original one uncurrent.
23:54:18 <psygnisfive> not that this is a proper example, since it doesnt touch on the if construct but
23:54:38 -!- lilja has joined.
23:55:48 <psygnisfive> the example from that page, the do 1+1, can be summed up as nothing more than "swap not store add store swap one intio"
23:56:03 -!- calamari has joined.
23:56:24 <psygnisfive> where swap = 00, not = 11111111110000011111111110, store = 1100000110, add = 111000001110, one = 110000010, and intio = 11111111110000011111111110
23:56:26 <oklopol> priority queues are the main point there, though, that's where the interesting comes in
23:56:58 <oklopol> "swap not store add store swap one intio" <<< i don't get this
23:57:26 <psygnisfive> not is just shorthand for 11111111110000011111111110
23:57:51 <oklopol> but, err, you just do some operations, that's just about rolling the wheels
23:58:05 <psygnisfive> i know. ill look at control flow in a bit.
23:58:18 <oklopol> sorry, i'm reading bottom-to-top, it seems :P
00:00:32 <psygnisfive> but from this i think its relatively trivial to reduce this to a non-ring based system
00:00:41 <tusho> psygnisfive: until you get to flow.
00:00:45 <psygnisfive> given that the ring positions are unaffected by operations.
00:02:44 <psygnisfive> i dont see anything that says what padd does.
00:02:55 <psygnisfive> not padd itself but the program position pointer.
00:04:34 <oklopol> what do you expect from the spec of a "Turning tarpit"
00:04:46 <psygnisfive> is the ppp the bit of the source thats currently being read?
00:04:46 <tusho> oklopol: i think thats intentional.
00:04:56 <tusho> psygnisfive: i would say so.
00:04:59 <tusho> that's what a pc is
00:05:08 <tusho> oklopol: think about it
00:05:11 <tusho> you TURN the wheel
00:05:52 <oklopol> stop rubbing it in my face, that was the stupidest mistake i've made in a month
00:05:54 <psygnisfive> again, i dont see why this is so terribly interesting.
00:06:16 <oklopol> well i'm not sure what you mean by that
00:06:37 <psygnisfive> the only way in which PAdd and If can affect flow unpredictably is when you jump to a position thats in the middle of an instruction that itself was for something else.
00:06:46 -!- Corun has joined.
00:07:01 <tusho> psygnisfive: because moving the wheel is extra insructions
00:07:03 <tusho> so you have to account for that
00:07:08 <tusho> which requires more instructions
00:07:12 <psygnisfive> but moving the wheel doesnt affect where you jump to.
00:07:23 <tusho> yes. to do arithmetic on the jump address.
00:07:27 <tusho> or conditionals on it
00:07:54 <psygnisfive> so in that respect moving the wheels can be tricky.
00:08:11 <tusho> psygnisfive: most things are gimmicks
00:08:16 <tusho> this one happens to make a certain area - jumping - harder
00:08:19 <tusho> and quite interesting
00:08:24 <tusho> nothing has to be the end of the world in new paradigm form
00:08:28 <tusho> it's mildly interesting for that one trait
00:08:50 <tusho> oh shut up, you're just fucking with terminology now
00:09:23 <psygnisfive> i mean, we can pile gimmick on top of gimmick until the language is so impossible to code in that it requires a novel the length of war and peace just to store a single number into the current register
00:09:46 <tusho> thats not what wheel is.
00:10:00 <tusho> it's not and you're being an idiot
00:10:05 <psygnisfive> without the wheel, you no longer have the monumental "omg the wheel fucks it all up!" thing
00:10:28 <tusho> psygnisfive: i think ill apply that to reactance
00:10:32 <oklopol> i haven't seen a bijection yet
00:10:42 <tusho> without the reactance programming, you no longer have the monumental <insert thing that reactance makes interesting>!
00:10:46 <tusho> reactance is gimmicky and sucks!
00:10:53 <psygnisfive> you can apply that reactions and you're correct. reactance ISNT supposed to be interesting.
00:11:07 <tusho> oh, so its meant to be boring and plain
00:11:11 <tusho> so why the fuck are you bothering with it
00:11:57 <psygnisfive> theres a reason i dont spam about reactance and try to keep it to separate rooms.
00:12:04 -!- calamari has quit ("Leaving").
00:12:18 <tusho> well sorry for filling this room with conversation
00:12:29 <tusho> its much nicer when its dead
00:12:30 <psygnisfive> conversation about stupid shit is not conversation worth having.
00:12:42 <tusho> psygnisfive: excuse me, you are in #esoteric.
00:12:45 <psygnisfive> no, it was much nicer when we were actually discussing interesting things like "negative lists"
00:12:53 <oklopol> psygnisfive: get the sand off your vagina
00:13:08 <tusho> also, i'd say that since you spend half the time talking about gay sex, psygnisfive, that's pretty stupid shit that's not worth talking about on an irc channel related to esoteric programming languages
00:13:36 <oklopol> hey, that's not fair, he occasionally fights with you and calls you names.
00:13:49 <tusho> marginally more productive, i guess
00:14:21 <psygnisfive> im sorry, i just find it terribly frustrating that the sum total of esoteria is the same shit over and over
00:14:52 <tusho> im not aware of any other language using a rotating instruction wheel and the implications on control flow it has
00:15:00 <tusho> just because you don't personally find it a very interesting idea doesnt' mean that it sucks
00:15:06 <tusho> it just means that you're interested in other things.
00:15:18 <oklopol> anyway, psygnisfive, are you saying graphica isn't an awesome idea?
00:15:24 <psygnisfive> the wheel is a gimmick, as we've already established.
00:15:28 <oklopol> graphica is fucking perfect, man.
00:15:40 <psygnisfive> without the wheel, the implications for control are reduced drastically, if not entirely.
00:15:52 <psygnisfive> nevermind that TWO wheels is entirely superfluous as well.
00:15:56 <tusho> psygnisfive: gimmicks can lead to interesting ideas. tons of interesting esolangs come from gimmicks. it doesn't suck just because it builds stuff upon a gimmick and finds an interesting implication
00:16:17 <oklopol> yeah then it's just a computed goto, which is something not really any language has as the only way to do flow control
00:16:19 <psygnisfive> i dont see any interesting implications coming out of the wheels.
00:16:43 <oklopol> at least i haven't heard about other than err bob (?) and yabc
00:16:46 <tusho> psygnisfive: that's fine. that doesn't mean we haven't, and it doesn't mean you should go on a huge rant about how much it sucks
00:16:49 <psygnisfive> other than having to be purposelessly mindful of the number of operations to use.
00:17:09 <psygnisfive> the interesting part of the language is that you have to fight with the language to get it to work.
00:17:36 <oklopol> i see most interest in developing stuff for wheel that escapes the high-level tokenization you assume everyone will do for it
00:17:39 <tusho> psygnisfive: yes. that can lead to intersting ideas
00:17:41 <tusho> whether you like it or not
00:17:45 <psygnisfive> hey, it takes two people to argue. i said it was gimmicky. if you'd just said "yeah but so what" we wouldnt be here, would we.
00:18:10 <tusho> the interesting idea that comes out of it is the implication on its only form of control flow.
00:18:16 <psygnisfive> "fighting with the language" is the interesting idea of Whirl
00:18:34 <psygnisfive> since its the only thing that the wheels force you to do
00:18:54 <psygnisfive> you have to constantly be mindful of how many instructions youve used so that you dont get caught in the tangled web of instruction count
00:19:01 <tusho> this is a conversation filled with an infuriatingly large amount of stupid
00:19:40 <psygnisfive> man, this would've been a great discussion for a podcast, do you realize that?
00:19:48 <tusho> psygnisfive: what, 'no fuck you'
00:19:56 <tusho> at least mien would have ended with 'NOMADS!!!'
00:19:59 <psygnisfive> probably to say im an idiot, but THINK OF THE LISTENERSHIP
00:20:17 <oklopol> psygnisfive: have you done much with esolangs, btw? a lot of the fun is exactly in just the fact it's a fucking mindrape :)
00:20:42 <psygnisfive> thats what i dont like about esolangs-as-they-are. theres too much mindrape, and not enough mindfuck.
00:21:19 <tusho> psygnisfive: sez the person who will only ever rape me
00:21:21 <oklopol> well true, and quite well said, almost wanna quote that :P
00:21:22 <psygnisfive> esolangs arent actually esoteric, they're just pointlessly difficult.
00:21:33 <psygnisfive> well im a bottom, so i dont need to rape oklopol
00:21:40 <psygnisfive> and you're 12, what else would you do to a 12 year old?
00:21:46 <lilja> ooh I was just thinking how great it would be if I could just hear this conversation actually being talked
00:22:07 <tusho> we have to record that podcast tomorrow
00:22:12 <tusho> today though it's 00:22 and I am going in like five seconds.
00:22:26 <psygnisfive> if it were fought in person we'd just end up in an orgy! :O
00:22:57 <psygnisfive> and his cock is too small. i mean, really, im sorry tusho, but 12 year old cock is way too small.
00:23:13 <tusho> ok discussion entering uncanny valley.
00:23:13 <oklopol> yeah, so goddamn small it's ridiculous
00:23:23 <oklopol> what do you think about tusho's cock, lament?
00:23:33 <psygnisfive> cock is like wine, it gets better with age, but after 30 or so years it starts going down hill. :(
00:24:42 <ihope> Why are you reading the blank space to the right of yourself?
00:25:01 <psygnisfive> it's starting to look so real it looks fake? o_O
00:25:35 <psygnisfive> well, thats what the uncanny valley is. :(
00:25:49 <ihope> The uncanny valley is when something realistic slowly goes from looking like a realistic object to looking like a very ill human.
00:25:57 <ihope> Oh, I just realized I've had tusho on /ignore this whole time.
00:26:22 <tusho> the previous must be funny without me
00:26:24 <psygnisfive> the uncanny valley is the phenomena where the "humanness" of an item increases steadily as it objectively becomes more human like
00:26:25 <tusho> psygnisfive arguing with silence
00:26:37 <psygnisfive> up until just before it looks perfectly human
00:26:41 <tusho> psygnisfive: the uncanny valley is the phenomena where the "pedophileness" of an item increases steadily as it objectively becomes more pedophile like
00:26:47 <psygnisfive> where it temporarily drops to looking completely weird
00:27:13 <ihope> tusho: actually, quite boring.
00:27:29 <tusho> psygnisfive: i know
00:27:33 <tusho> that's why i love it
00:27:39 <psygnisfive> to continue with it would require that just before something is infact 100% pedo-ish it has to LOOK completely not pedoish
00:27:46 <tusho> since it implies that if you started
00:27:48 <tusho> being totally pedophillic
00:27:51 <tusho> it wouldn't be creepy any more
00:28:00 * ihope waits for the logs to load beyond 2005
00:28:27 <ihope> Ooh, they're to November...
00:28:46 <tusho> psygnisfive: That's the most strained innuendo ever.
00:29:26 <tusho> "Are you a robot, baby? Because you're sure in my uncanny alley."
00:29:39 <psygnisfive> my innuendo is straining these pants, lemme tell ya
00:30:16 <psygnisfive> uncanny alley, a small street behind bars where drunkards fuck ugly pros because they look beautiful?
00:33:51 <tusho> psygnisfive: Don't worry.
00:33:55 <tusho> There will be rape and podcasts tomorrow.
00:34:09 <ihope> Please tell whoever does the logs to put everything before this year in a separate directory. Right now I'm in September 2006.
00:40:48 <ihope> hrrrr doesn't sound very fun.
00:41:03 <ihope> Oh, the logs have stopped loading.
00:41:07 <psygnisfive> a prolonged version of the first syllable of the croatian word for "croatian"?
00:41:16 <lilja> could be waffles also
00:41:31 -!- tusho has quit.
00:41:50 <lilja> that's rather skillful
00:41:58 <lilja> since they're not ready
00:43:19 <lilja> I guess there's no sense in making them in that case
00:43:40 <oklopol> not making them would destroy the universe
00:43:43 <psygnisfive> if you dont make them, then i couldn't have will eventually steal them
00:43:48 <oklopol> i'd say better start making them :o
00:44:50 <psygnisfive> take your crazy reindeer language outta here, this is IRC!
00:45:39 <ihope> The word "paradox" is already clumped together; there's nothing you can do with it.
00:45:48 <ihope> Also, the "adox" is happy but the "par" is left out.
00:47:08 <ihope> The word "massage" clumps to "sagemas". "sagem" is happy, "as" is left out.
00:48:01 <ihope> "doing" clumps to "dogin"; in that, "do", "g" and "i" are happy while "n" is left out.
00:49:42 <ihope> "ihopewhat" clumps to "wihopehat", which is an odd case, as "wih" clashes, though you can do it into something like "w" left out, "i" happy, "hope" happy, "ha" left out, "t" happy.
00:49:42 <oklopol> be careful when mixing aou and äöy, they can't exist in the same word
00:50:17 <psygnisfive> wihopehat sounds like Generic Native American
00:51:45 <ihope> Hmph, all the words in that sentence clump to themselves except "sounds", which clumps to "soduns". And hey, the entire word "soduns" is happy.
00:51:54 <psygnisfive> wihopehat chumchukewaya utumqiquhejosiapata
00:52:16 <ihope> (By the way, in the above, if you want to get picky, rather than "ha" being left out, the stem of the "h" is happy and the rest of "ha" is left out.)
00:52:50 <ihope> Oh, it's a thing I used to do.
00:53:00 <ihope> My new thing is tapping out melodies on my teeth.
00:53:23 <psygnisfive> also, who DOESNT use their mouth to make melodies?
00:53:43 <psygnisfive> please, dont shoot me under the table just because i asked you to tell me about your mother.
00:53:59 <psygnisfive> there was no mention of tortoises before hand. D:
00:54:00 <ihope> I have five tooth-on-tooth positions that correspond to relative positions of notes, or four for simple melodies or six for complex ones.
00:55:08 <ihope> Take a word, like "sounds", and split it up into chunks of alternating vowels and consonants: "so un d s". Stick the chunks together in reverse: "sdunso". Repeat until you've done it an even number of times and it's no longer changing, so "soduns".
00:55:54 <psygnisfive> an even number of times and its no longer changing?
00:56:11 <ihope> If you do the thing to "soduns" twice, you get "soduns" again.
00:57:13 <psygnisfive> do it until an even number of split-reverses leaves you back at the start of that series of split-reverses.
00:58:09 <ihope> The o-like letters are acemnorsuvwxz, the b-like letters are bhkp, the d-like letters are dq, and the l-like letters are fgijlty. A b-like letter is equivalent to an l-like letter and an o-like letter, and a d-like letter is equivalent to an o-like letter and an l-like letter. Strings of letters are happy if they consist of an l with an equal number of os on each side of it.
00:58:43 <ihope> So "soduns" is "ooolooo", which has 3 letters on each side.
00:59:00 <psygnisfive> sounds like something oklopol would come up with
00:59:22 -!- Corun has quit ("This computer has gone to sleep").
00:59:26 <ihope> "oklopol" is "olololool", which is "olo" (happy), "l" (happy), "olo" (happy), "o" (left out), "l" (happy).
01:00:27 <ihope> Then you'd be able to split everything up into ls and os, which would be happy.
01:00:33 <psygnisfive> on the grounds that since there are no l's, all the l's in the string have the same number of o's on either side.
01:01:27 <ihope> Hmm, that gives kind of a different sense of happiness.
01:01:56 <psygnisfive> my semantics professor loved that construction
01:02:07 <ihope> Well, it seems you're thinking "oolooloo" would be happy, where in my system it wouldn't.
01:02:33 <ihope> Hmm, so everybody that's nobody will be there! :-)
01:02:45 <ihope> o, k and l are obviously oklopol letters. In "ololobot", "b" and "t" serve as oklopol letters, though they're not true oklopol letters, I think.
01:03:01 <ihope> Ooh, I can okloize my nick.
01:03:07 <psygnisfive> we used to have to rigorously go over the idea of whether or not it could be true to say stuff like
01:03:08 -!- ihope has changed nick to lkoko.
01:04:11 <lkoko> Yours is "kollololloo"!
01:05:21 <lkoko> And k is b-like, not k-like.
01:06:00 <lkoko> It's a bloopy version of oklopol.
01:08:17 <lkoko> Oh, I missed the fact that k and p are both oklopol letters.
01:19:31 -!- TheBlunderbuss has joined.
01:33:27 <lilja> should I write or sleep?
01:33:46 -!- TheBlunderbuss has left (?).
01:34:39 <lilja> but I'm quite sleepy
01:35:12 <psygnisfive> or, go into a hypnogogic state and get really fucked up visions then write them down
01:35:17 <lilja> such a difficult decision
01:37:12 <oklopol> lkoko: i do something with licence numbers
01:37:17 -!- lkoko has changed nick to ihope.
01:37:29 <oklopol> the finnish licence number is of the form CCC-NNN
01:37:44 <ihope> Ooh, hypnogogic states are fun.
01:37:50 <ihope> The C can be a letter or a number?
01:38:37 <oklopol> basically, you determine the order of the letter
01:38:55 <oklopol> and the idea is to get the number to have the digits in the same order
01:39:03 <oklopol> by doing incs and decs to them
01:39:57 <oklopol> so for AGC-645 you'd do something like 645 -> 545 -> 445 -> 455 -> 465
01:40:23 <oklopol> small scores are better than big ones
01:40:58 <oklopol> i do this to every licence number i see, usually, if i see no zeroes for a while, i get a bit frustrated
01:41:50 <oklopol> less complex than yours, sadly
01:42:07 <oklopol> i love discovering weird habits like this and letting them grow into obsessions
01:42:34 <psygnisfive> ihope, edison supposedly induced hypnogogic states :o
01:44:27 <lilja> I have no odd habits
01:44:30 <ihope> oklopol: oh, wonderful. :-)
01:44:36 <ihope> lilja: it's not too late to get one!
01:44:39 <lilja> except perhaps the hand touching thing
01:44:47 <ihope> Pick an abstract thing.
01:45:26 <lilja> tja, that'd be good
01:46:13 <oklopol> i of course have tons of stuff i do without realizing, but this is the only one that actually requires any computation
01:46:21 <oklopol> the rest are mostly visual things
01:46:55 <oklopol> like finding convex covers, moving dots on the ceiling to form a circle and stuff like that
01:46:57 <ihope> Like estimating whether a line through the laptop's plane of symmetry intersects a nearby glass?
01:47:01 <lilja> oklopol: those aren't that weird
01:47:26 <oklopol> lilja: indeed they aren't, as i said, simple visual things
01:47:43 <oklopol> ihope: yeah all kinds of intersections
01:48:00 <oklopol> but those are a bit less interesting than the reorderings, as i often have semi-complex rules for them
01:48:45 <ihope> I was outside one day when I realized that if I lay on the ground and looked around in circles, the sky would appear to be enclosed by the ground, and weirdness would ensue.
01:50:28 <ihope> If I practiced that enough, maybe I'd be able to achieve 360-degree vision in a lucid dream. :-)
01:51:12 -!- GreaseMonkey has joined.
01:51:13 <oklopol> i recall you tried and failed, at some point
01:51:19 <ihope> Yeah, pretty much.
01:51:28 <ihope> I guess I do have one occasionally, though never a very good one.
01:51:50 <ihope> "Whoa, I'm dreaming." And then I end up crashing into a nearby wall and everything goes dark, or something.
01:52:47 <ihope> (Though of course you don't measure spheres in degrees, do you? Let's see, the circumference of a unit circle is 2pi, while the surface area of a unit sphere is... hmm, the derivative of 4/3*pi*r^3 at r = 1, which is 4pi. So I guess a sphere has 720 square degrees.)
01:52:55 <oklopol> nowadays half of my dreams happen on irc
01:53:09 <ihope> (Wait, that's not right, is it?)
01:53:10 <psygnisfive> i need someone to sit for me as i try weird shit like inducing hypnogogic states.
01:53:41 <oklopol> right, i guess i know what that means
01:53:43 <psygnisfive> someone who sits around and makes sure you're safe while you trip.
01:54:01 <ihope> Pff, as if hypnogogic states or lucid dreams were unsafe in any way. :-)
01:54:21 <oklopol> ihope: he just wants me to come.
01:54:32 <ihope> (Unless you have schizophrenia or something, in which case you should seek a professional. A professional who knows about lucid dreaming, of course.)
01:56:56 <oklopol> mental conditions are fun, i wish i had one
01:57:16 * ihope refrains from mentioning that sanity is a mental condition
01:57:28 <ihope> (And fatal familial insomnia.)
01:59:09 <psygnisfive> oklopol, lilja, when is are your birthdays?
02:02:14 <oklopol> perhaps we should celebrate these days with a week long orgy
02:02:27 <oklopol> psygnisfive: what is your age
02:03:24 <ihope> "An orgy (όργιον) was a secret cultic congregation at nighttime in Ancient Greek religion, overseen by an orgiophant." Interesting.
02:04:02 <psygnisfive> orgiophant, a subspecies of the elephant, known for their proclivity towards large sexual gatherings.
02:08:12 <psygnisfive> lilja, you're a crazy sexually liberal finn, whats the perviest thing you'd do
02:13:54 <lilja> oklopol's making waffles!
02:14:38 -!- Corun has joined.
02:14:42 <psygnisfive> and dont give some silly pervy thing like rimming
02:15:00 <psygnisfive> like "oh i love dog cock" or something. something INTERESTING.
02:16:54 <psygnisfive> this is boring. you're not saying anything interesting. :(
02:17:49 <ihope> Glass stir rods are very useful, actually.
02:18:06 <ihope> I don't know what that is.
02:18:52 <ihope> Just one of the many possibilities.
02:19:33 <ihope> What are pervs, exactly?
02:20:21 <psygnisfive> i have a picture that actually highlights all of the things i'd do, off the fetish map from deviant desires
02:20:50 <psygnisfive> but i wanna know the PERVIEST thing you're into
02:21:57 <oklopol> what's boring about rimming?
02:24:02 <oklopol> psygnisfive: yeah thought so, but hadn't read your next two lines yet
02:24:10 <oklopol> not that i'm going to answer still :D
02:24:18 <oklopol> but yeah, everyone does it
02:25:25 <oklopol> i like pretty much everything
02:25:53 <ihope> I might be into one of these things.
02:26:09 <ihope> I'm not familiar with your terminology.
02:26:34 <ihope> Besides, I'm 15, you perverts. :-P
02:26:42 <oklopol> i'm sure ihope cares about the details
02:27:02 <oklopol> ihope: i'm pretty sure i was more perverted than now when i was 15 :P
02:27:24 <ihope> Hmm, none of those, I think.
02:27:33 <psygnisfive> ok well whats your perviest interest, ihope.
02:27:46 <oklopol> psygnisfive: specifically, i will not answer on this channel, if asked with a serious tone
02:28:00 <psygnisfive> so you'll answer if i ask with a humorous tone?
02:28:02 <oklopol> i don't see that as "appropriate" :o
02:28:13 <oklopol> well i've talked about scat here with bsmntbombdood
02:32:20 <oklopol> we had #esoteric-sex a while back
02:32:42 <psygnisfive> then i came and turned #esoteric into that? :p
02:32:47 -!- Corun has quit ("This computer has gone to sleep").
02:32:58 <ihope> Hey, I've only made out with Ashley and Ethan so far? I need to make out with Mission as well.
02:33:15 <ihope> I'm already in love with the three of them, so it should be no trouble.
02:33:23 <ihope> Yes, I know Mission is a weird name. I didn't name her.
02:35:15 <ihope> There's also this guy named Ash that I'd like to love if I can...
02:36:31 <ihope> Does he have The Sims Life Stories too?
02:41:42 <ihope> Well, I guess furry has a stereotype of being fetishy anyway.
02:42:45 <ihope> Now you're going to tell me everything else I say is normal. :-P
02:43:36 <psygnisfive> but since you're a fur. i'd give you a 50% chance of being into zoo
02:45:21 <ihope> Not that, no. I'm the huggy type. :-P
02:47:03 <ihope> The kind who would like hugging.
02:47:56 <psygnisfive> but zoo isnt about the intimacy so i'll assume you're into it. :P
02:48:25 <ihope> I have a pet cat. I do not do anything "special" to her. :-P
02:49:16 <psygnisfive> with plenty of horse-oriented fantasy but for obvious reasons it's hard to do with male horses.
02:50:16 <ihope> I heard about someone who had heard about someone who had supposedly done that.
02:50:31 <ihope> Heard someone who had heard about someone, rather.
02:50:45 <psygnisfive> its dangerous. ive seen it, and its usually messy and silly looking and probably not terribly fun.
02:51:01 <psygnisfive> tho i hear llamas or a related species have 3 foot prehensile cocks.
02:51:09 <ihope> I wouldn't want to do it.
02:51:20 <ihope> Relative to their length, or the size of the animal, or...
02:51:23 <psygnisfive> you'd totally hit that 3 foot prehensile cock wouldnt you
02:51:54 <ihope> You pervert. You're a sicko.
02:52:19 <ihope> I do find it interesting that humans are one of the few animals... oh, I'll leave that for a later discussion.
02:52:48 <psygnisfive> and tusho's a girl, so god knows what would bother him.
02:53:15 <ihope> Just like how English is one of the few (if not the only) languages where the words for meats and the words for the animals they come from are different.
02:53:37 <ihope> Pork from pigs, beef from cows, though chicken does in fact come from chickens.
02:54:19 <psygnisfive> but its just a note that thats why the words are porc and beef
02:54:34 <ihope> Something like pork and beef being from Old French and pigs and cows being Germanic Something.
02:55:27 <psygnisfive> well theres this old trope that the words for the meat came from french because the aristocracy was french and were the only ones who could afford the meat as food
02:55:38 <ihope> Yeah, that's what I heard.
02:55:46 <psygnisfive> and the words for the animals were old english since the people who raised them were OE speakers and never ate the animals because of cost
02:55:59 <ihope> I think I've heard that, too.
02:57:38 <psygnisfive> anyone have any good reads on computation theory?
02:58:27 <ihope> Hmm, this channel has gone from sex back to computation? I'll have to finish my sentence, then.
02:58:47 <ihope> Humans are one of the few animals without an erectile bone, I think it is.
02:58:57 <oklopol> psygnisfive: i have a nice one in finnish.
02:58:59 <ihope> I'm not sure how those things work.
02:59:09 <oklopol> i don't know about one of the few
03:01:42 <ihope> Uh oh. I hope I know something you don't.
03:02:26 <ihope> My name comes from... darker times.
03:02:55 <ihope> My ancestors made me swear an oath that I would never disclose the origin of my name.
03:03:08 <ihope> Oh, and I went and told you. Darn it.
03:04:06 <psygnisfive> his presence has the unfortunate side effect of always coinciding, not by his actions, with great amounts of death and destruction
03:04:14 <ihope> But it is a very ancient name. You know how I go by the name "Ivan Hope CXXVII" where a name-like name is warranted?
03:04:28 <oklopol> ihope: why would you want to know something we don't?
03:04:40 <ihope> I don't want to lose. :-)
03:05:03 <psygnisfive> and yet discovering you dont know something means you win.
03:05:34 <psygnisfive> pikhq: whats your perviest fantasy/fetish/kink
03:05:44 <oklopol> ash is this guy on a tv show
03:05:47 <pikhq> oklopol: Fair 'nough.
03:06:01 <pikhq> psygnisfive: I can't believe I walked into this.
03:06:10 <psygnisfive> i heard an aussie aboriginal named ash dargan play didge once
03:06:14 <oklopol> pokemon joke just in case you didn't.
03:06:54 <psygnisfive> this is #esoteric. everyones either a furry, a zoo, a scathead, or finnish.
03:07:13 <pikhq> None of the above.
03:07:25 <ihope> I read Freefall, by (gasp!) the way; did you know that?
03:07:37 <ihope> Oh, BDSM, that's an interesting case.
03:07:47 <pikhq> Definitely into girls. :p
03:07:48 -!- oerjan has joined.
03:07:55 <pikhq> But that's not a fetish, now is it?
03:08:02 <ihope> I'm sure I'll be into girls one of these days.
03:09:02 <oerjan> i could tell you, but then i would have to kill you
03:09:03 <pikhq> oerjan: Yes, *that* is what you just walked in to.
03:09:16 <psygnisfive> im somewhat into gore. and vore. so tell me.
03:09:48 <pikhq> I get off on tentacle pron. There, that suffice?
03:10:28 * oerjan is starting to regret he didn't check the logs _first_
03:10:39 <pikhq> Most people find it about as bad as guro.
03:10:41 <psygnisfive> because if he had, he'd be masturbating right now
03:10:57 <psygnisfive> i figured tentacle rape was one of the lesser fetishes
03:11:19 <psygnisfive> given that its essentially Multiple Massive Prehensile Cocks
03:11:25 <psygnisfive> and really, who DOESNT love multiple massive prehensile cocks
03:12:00 * oklopol imagines tusho yelling COCKS out loud
03:13:06 <ihope> Just an ordinary brain fetish.
03:13:41 <oerjan> in an injective and epic way
03:14:20 <psygnisfive> we should invent new terms for sexualities
03:14:26 <psygnisfive> i submit bijective as a new term for bisexual.
03:15:06 <psygnisfive> bijection is when you cum in a guy and a girl at the same time.
03:15:06 <oklopol> bijection would make no sense for bisexuality
03:15:16 <oerjan> monic clearly implies masturbation
03:15:19 <oklopol> except for the punny stuff
03:15:26 <ihope> oerjan: automorphism.
03:15:32 <ihope> A bijection could be defined as a both-ways injection, no?
03:16:05 <psygnisfive> bijection could alternatively mean oral-anal/vaginal double penetration
03:16:35 <pikhq> psygnisfive: Ya really.
03:16:38 <psygnisfive> i love the enthusiasm with which you guys picked up this topic
03:17:01 <pikhq> (BTW, guro? *shudder*)
03:17:20 <psygnisfive> ::stabs pikhq in the side then fucks the hole::
03:17:26 <ihope> Hmm, I suddenly realize I don't actually know what "injective" means.
03:17:49 <ihope> psygnisfive: oh, I saw that in a playground once.
03:17:52 * pikhq grows several prehensile cocks, heads off to another channel to search for girls
03:18:12 <pikhq> Hmm. Perhaps I should put on my robe and wizard hat?
03:18:27 <ihope> To be specific, I saw "i want to slit your throat and fuck the wound" carved into a woody thing.
03:18:35 <ihope> That was back when I thought the word meant "infect". It made sense.
03:18:55 * oerjan notes that somewhere on the internet there are people who _do_ have a robe and wizard hat fetish (rule thirty-something)
03:19:25 <oklopol> ...i wanna push my face in and feel the swoon, wanna dig inside, find a little bit of me, coz something something if you don't come clean
03:19:34 <oklopol> where wormwood meets my pesticide
03:19:41 <oerjan> oklopol, now even ruining people's sweet childhood memories
03:19:42 <oklopol> you can never die, coz you were never alive
03:20:05 <oklopol> i don't generally like it, but i like slipknot
03:20:09 <oerjan> also, ruining my stomach
03:20:12 <oklopol> it's not really a good example of the genre
03:22:32 <oklopol> i simply like the voice of the singer, and they do have nice riffs, although admittedly don't know how to vary them
03:22:58 <psygnisfive> numetal lyrics are also mindnumblingly stupid
03:26:05 <ihope> Wow, how convenient. My Sim has the Romance aspiration. He got the high-level want "Make Out with Three Sims", so I called over a third Sim and had him make out with her. Then the high-level wants "WooHoo in Bed" and "WooHoo in Hot Tub" appeared, so I had them WooHoo in a hot tub and now they're headed for bed.
03:26:42 <ihope> He also has the "Public WooHoo" want, so there's yet another thing I can try.
03:27:21 <ihope> The Sims Life Stories.
03:27:39 * oerjan now just needs to know what WooHoo means. or maybe not.
03:28:54 <ihope> And he also has the "WooHoo with 5 Different Sims" want; I'll work toward that one.
03:29:52 <ihope> Aww, and I'm just about to ask her to stay the night or something when she says it's time to go home.
03:30:41 <oklopol> just press "woohoo hand" and you get the same amount of happy points
03:33:32 <ihope> Oh, now I remember why killing your Sims is advantageous.
03:33:41 <ihope> It makes their paintings more valuable.
03:34:39 <pikhq> Now I wish The Sims would work under WINE.
03:34:47 <ihope> Have too many Sims? Don't bother with moving them out; just have one stand outside until a satellite falls on them.
03:34:52 <pikhq> (or that I had The Sims 2 (that works in WINE, right?))
03:35:04 <ihope> Or let them get devoured by flies.
03:37:35 <ihope> Public WooHoo happens inside a Clothing Booth, so let's see where there's one of those...
03:37:53 <psygnisfive> im gonna have a roommate this fall who's into public sex
03:40:58 <pikhq> Hmm. I should probably talk to my roommate this fall. . .
03:41:24 <pikhq> And mutter about how my college decided to ask for roommate requests, only to completely ignore them.
03:41:48 <oklopol> is he a total doodoo head?
03:47:10 <pikhq> Dunno; not talked to him.
03:47:21 <pikhq> The guy I *asked* for is totally awesome.
03:47:32 <pikhq> (and tends to lurk in #esoteric)
03:49:08 <oerjan> but, but, i am not going into college...
03:49:37 <ihope> I'm not going to refer to him by any other name from now on. :-P
03:52:40 <pikhq> ihope: No, Cherez.
03:53:02 <pikhq> He's en route from LA to Kansas City ATM, so he's not on. ;)
03:53:21 <ihope> I have a feeling my referring to Seth by his name has been retaliated against.
03:53:32 <pikhq> oerjan: Also, you and I are in completely different continents.
03:53:52 <ihope> Some would say that the preposition does not belong at the end of that sentence. I wonder how they would rephrase that.
03:53:56 <oerjan> pikhq: hey that was what i was going to say :D
03:54:15 <ihope> Something like "I have a feeling my referring against to Seth by his name has been retaliated.", I suppose.
03:55:04 <oerjan> i thought the point was to get the preposition in front of its complement [?]
03:55:40 <pikhq> I say that English doesn't have a formal grammer, so feel free: prepositions are something sentences may be ended with.
03:55:57 <oerjan> as in other germanic languages
03:56:29 <oerjan> in norwegian trying to get the preposition _not_ last would require using archaic pronouns
03:57:14 <psygnisfive> http://tvtropes.org/pmwiki/pub/images/1.gif
03:57:30 <psygnisfive> that double cheese burger is totally fuckable.
04:04:23 <pikhq> ... Do they know WTF they're talking about?
04:05:16 <psygnisfive> let me read it over and see why you're probably wrong
04:06:04 <psygnisfive> people who say that you shouldnt end a sentence with a preposition are idiots who dont understand why you very well can do that.
04:08:35 <pikhq> I say, if Shakespeare could do it, then I can.
04:09:07 <pikhq> (my English gets a bit odd when I'm in the mood to wax Shakespearean. ;))
04:09:38 <psygnisfive> shakespearean english is artificial poetic prose, you know. during his time noone spoke like that.
04:10:21 <pikhq> Some lines were written how the commoner would speak.
04:10:32 <pikhq> (typically the lower-class folk within his plays)
04:10:45 <pikhq> However, I *don't care*.
04:11:01 <pikhq> I also wax poetic at times. ;)
04:11:16 <pikhq> bsmntbombdood: Never read him beyond what you had to do for class?
04:11:39 <pikhq> Shakespeare as taught in school sucks balls.
04:12:03 <pikhq> Shakespeare enjoyed on one's own time is actually worthwhile.
04:12:05 <oerjan> Three quarks for muster Mark
04:12:15 * ihope eats psygnisfive's apostrophe
04:12:36 <psygnisfive> i think it should be something related to like
04:13:03 <ihope> I guess the deprepositioning of that sentence way up there would be something like "I have a feeling it has been retaliated against my referring to Seth by his name".
04:13:06 <psygnisfive> i think i associate it with that because of some story
04:13:18 <ihope> Wait, that doesn't work, either.
04:14:04 <psygnisfive> you're trying to un-strand the preposition in "I have a feeling my referring to Seth by his name has been retaliated against."?
04:14:23 <pikhq> ihope: That sounds ridiculously pretentious.
04:14:50 <psygnisfive> I have a feeling someone's retaliated against my referring to Seth by his name.
04:14:53 <pikhq> This coming from a guy who has been accused of being 'as pedantic as the Comic Book Guy'.
04:14:55 <ihope> pikhq: it's also weird and doesn't actually do anything.
04:15:19 <ihope> psygnisfive: but that introduces a "someone". You're not allowed to do that. :-)
04:15:35 <pikhq> psygnisfive: Also, that ad?
04:15:47 <psygnisfive> the active form would require an explicit agent
04:15:49 <pikhq> That's almost as stupid as "Head On".
04:16:15 <ihope> Also, my mom is a fan of sentences such as "I have an alarm clock that I know when it will go off", sticking an entire sentence inside that type of "that" phrase.
04:16:23 <psygnisfive> you cant exactly passivize "X retaliated against Y" without stranding the preposition because Y isnt a direct object
04:16:38 <psygnisfive> and since your version IS passive and thus thats the source of the stranding
04:16:47 <psygnisfive> to remove the stranding, you have to make it active.
04:17:18 <psygnisfive> but the reason you give is not the reason its odd. :)
04:17:26 <ihope> I guess you could fix it by saying "I have an alarm clock that has me know when it will go off".
04:17:58 <ihope> Isn't sticking a whole sentence in into a "that"... wrongful?
04:18:08 <psygnisfive> I think that you dont know what you're talking about.
04:18:25 <psygnisfive> But it's still true that your mom knows when the alarm clock will go off.
04:18:36 <ihope> I've never heard anyone but my mom say such a thing.
04:18:40 <psygnisfive> and i think that she's well aware of the intriguing nature of her sentences.
04:18:49 <psygnisfive> ihope, i guarantee that you've said such things yourself.
04:18:59 <ihope> Indeed, on some occasions.
04:19:11 <psygnisfive> the sentence she used however is still peculiar
04:19:23 <ihope> Why is it peculiar?
04:19:41 <ihope> That's what I said.
04:20:04 <psygnisfive> you said it was because of the whole sentence.
04:20:05 <pikhq> ihope: I use it quite commonly.
04:20:09 <ihope> In something like "I have an alarm clock that has been painted pink", the thing inside "that" is "has been painted pink", which is not a full sentence.
04:20:31 <ihope> In "I have an alarm clock that I know when it will go off", the thing inside "that" is "I know when it will go off", which is.
04:21:00 <pikhq> "I have an alarm clock that I painted pink." -- fairly simple example. . .
04:21:12 <pikhq> And that form is ridiculously common in English.
04:21:18 <psygnisfive> its NOT acceptable when one of the arguments to the verb of the relative clause is the head of the noun phrase that the relative clause modifies.
04:21:44 <pikhq> (It's also fairly natural in Esperanto, FWIW)
04:21:57 <psygnisfive> you cant use a pronoun to refer back to the noun that the enclosing clause modifies.
04:22:23 <psygnisfive> [NP ... N{i} ... [C ... it{i} ...]] is invalid
04:22:23 <ihope> pikhq: I'd interpret "I painted pink" there as part of a sentence such as "it I painted pink", an odd way of saying "I painted it pink".
04:22:45 <ihope> "I painted pink" is syntactically normal, semantically weird.
04:22:52 <psygnisfive> where N{i} and it{i} are coindexed to indicate coreferentiality.
04:23:10 <psygnisfive> actually its not syntactically normal either
04:23:43 <psygnisfive> its only syntactically normal if one of those arguments has a null phonological (and thus typographical) form
04:23:57 <psygnisfive> well, it doesnt if you're using a different verb paint
04:24:13 <ihope> Hmm, so "I paint pikhq" is "I paint pikhq <null>"?
04:24:52 <pikhq> Your assertion that paint is binary.
04:25:01 <ihope> You said it's only syntaxtically normal if one of those arguments has a null phonological and thus typographical form.
04:25:07 <pikhq> Care to reformat that into sexp?
04:25:26 <psygnisfive> "pink" in the original sentence is not an argument to the verb.
04:25:46 <psygnisfive> well, it could be, depending on your interpretation, but that would make the verb ditransitive.
04:25:48 <pikhq> It's an adjective.
04:25:59 <ihope> In "I have an alarm clock that I painted pink.", "pink" is not an argument to "painted"?
04:26:03 <psygnisfive> if anything, "pink" is an adverbial modifier indicating the result of the painting.
04:26:19 <psygnisfive> tho it could alternatively be an argument to a ditransitive
04:26:21 <pikhq> Let's try to make a parse tree out of this mess.
04:26:24 <ihope> "I have a paint color that I painted pikhq".
04:26:34 <psygnisfive> which framework do you want the parse trees in
04:26:46 <psygnisfive> I can give you Principles and Parameters, as well as Minimalism
04:27:38 <ihope> "I have an alarm clock that I painted pink." That's "have" modified with "I" and "an alarm clock that I painted pink", which is "an alarm clock" modified with "that I painted pink", which is "that" containing "I painted pink", which is "painted" modified with "I" and "pink"?
04:27:53 <ihope> (And "an alarm clock" is "an" containing "clock" modified with "alarm".)
04:28:02 <pikhq> I don't care, just stick it in a binary tree. :p
04:28:25 <ihope> psygnisfive: specified?
04:28:41 <psygnisfive> I is in a specifier relationship with have
04:28:45 <pikhq> Hmm. Is psygnisfive a linguistics major or some such? :p
04:28:56 <psygnisfive> tho the other uses of modified are wrong as well.
04:29:07 <pikhq> Whereas the rest of us are mere dabblers (at best).
04:29:14 <ihope> Should they be "specified" as well?
04:30:14 <psygnisfive> thats the phenomena this sentence exhibits, btw, that makes "I painted it pink" an invalid relative clause ;)
04:32:03 * pikhq has fun with his unrestricted grammar.
04:32:28 -!- ihope has quit (Read error: 104 (Connection reset by peer)).
04:33:01 * oerjan even unrestricted fun more a with _totally_ has grammar
04:34:10 <pikhq> oerjan: I meant 'unrestricted' in the sense that it can only be parsed using a Turing machine, not in the sense of having no rules.
04:34:38 <pikhq> Though actually, I'm not sure: does English have a type 0 grammar?
04:34:39 <oerjan> but you are not a Turing machine. how can you parse it then? :D
04:35:09 <pikhq> I do a good impression thereof.
04:35:24 <psygnisfive> [CP [C' [TP [DP [D' [NP [N' [N 'I']]]]] [T' [T <pres>] [VP <I> [V' [V 'have'+pres] [DP{i} [D' [D 'an'] [NP [N' [N 'alarm clock'] [CP [C' [C 'that'] [TP [DP [D' [NP [N' [N 'I']]]]] [T' [T <-ed>] [VP <I> [V' [V' [V 'paint'+'-ed'] PRO{i}] [AdvP [Adv' [Adv [Adj 'pink']]]]]]]]]]]]]]]]]]]]
04:35:45 <oerjan> while psygnisfive just seemed to fail the Turing Test :D
04:36:10 <pikhq> No, I think I get what he's doing there. . .
04:36:31 <pikhq> Basically, he's demonstrated knowledge of the formal grammar of English.
04:37:12 <pikhq> I'm surprised that you actaully did it, that's all. :p
04:37:33 <psygnisfive> you should see what hoops we jumped through in syntax
04:38:15 <pikhq> I'm afraid my knowledge of grammars & syntax is a bit more rudimentary than yours.
04:38:27 <psygnisfive> "John was made to believe that Fido seemed to be jumping through hoops" was a common enough structure
04:38:33 <pikhq> We in the computer science field tend to make our grammars easy to parse.
04:39:02 <pikhq> I don't think I've seen a programming language with grammar harder to parse than type 1.
04:39:23 <pikhq> And yes, oerjan: most programming languages are type 2.
04:39:29 <psygnisfive> tho i suspect its only Type 0 thanks to post-linearization techniques. maybe.
04:42:46 <oerjan> Now that was certainly minimalist
04:44:07 <psygnisfive> [CP [TP [DP [NP 'I']] [T' [T pres] [VP <I> [V 'have'] [DP [D 'an'] [NP [N 'alarm clock'] [CP [C 'that'] [TP [T pst] [DP [NP 'I']] [VP <I> [V' [V' [V 'painted'] PRO{i}] [AdvP [Adj 'pink']]]]]]]]]]]]
04:44:59 <psygnisfive> left out is the null complement in the highest CP
04:45:35 <pikhq> And I thought I'd never see something geekier than drawing out a parse tree for some Def-BF code by hand. :p
04:45:41 <psygnisfive> tho given the relative clarity of what each segment is, the minimalist tree would often just be
04:48:20 <psygnisfive> [CP [TP [DP I] [T' pres [VP <I> [V' have [DP an [NP alarm_clock [CP that [TP I [pst [VP <I> [V' [painted PRO{i}] pink]]]]]]]]]]]
04:48:30 <psygnisfive> thats closer i think to a normal minimalist markup
04:48:38 <psygnisfive> tho we'd just use trees that make it clearer
04:49:52 <psygnisfive> pikhq: if you want to see the HEIGHT of fucking geekery
04:50:00 <psygnisfive> you should come and sit in on one of my ling classes
04:50:30 <psygnisfive> ive made nerdy linguistics tee-shirts that only nerdy linguists like me and my friends would get
04:50:47 <psygnisfive> speaking of which, i need to work on some designs for them :O
04:52:51 <psygnisfive> btw, Naive Syntax parse: [S [NP [N 'I']] [VP [V 'have'] [NP [D 'an'] [N 'alarm clock'] [CP [C 'that'] [S [NP [N 'I']] [VP [V 'painted'] <it> [AdvP [Adj 'pink']]]]]]]]
04:53:17 <psygnisfive> which you'll notice is NOT binary branching
04:53:35 <pikhq> psygnisfive: You want the height of geekery?
04:53:45 <pikhq> Keep in mind that I have yet to entire college.
04:54:36 <oerjan> don't _do_ that to linguistics majors. they might lock up.
04:55:01 <pikhq> oerjan: Don't do what?
04:55:24 <pikhq> It's nearly midnight here; forgive me.
04:55:40 <psygnisfive> oerjan, much to your chagrin, i'm sure, most linguists are not prescriptivists, nor pedants about spelling
04:55:54 <pikhq> Most programmers are, however.
04:56:30 <pikhq> I was imagining you beating people with flying rodents, actually.
04:56:38 <pikhq> Much more amusing thought.
04:56:49 <oerjan> you _are_ however pedantic about people making fun of you, i see :D
04:56:54 <psygnisfive> i use this: http://members.wri.com/jeffb/transformers/NightscreamBat.jpg
04:57:32 <psygnisfive> i do that merely because its a common misconception that linguists are school marm grammarians
04:57:57 <psygnisfive> which is about as reasonable as saying that haskellians are fans of GOTO.
04:58:21 <pikhq> I actually think of linguists in a bit of a more positive light.
04:58:37 <pikhq> Probably because, if I weren't doing math/computer science, I'd probably be a linguistics major.
04:58:50 <oerjan> http://www.urbandictionary.com/define.php?term=marm
04:59:00 <pikhq> I'm already doing a dual major.
04:59:10 <pikhq> I'm not *that* insane.
04:59:20 <pikhq> (some would debate that)
04:59:24 <psygnisfive> im probably going to do CS+Ling when i get to grad school
04:59:44 <pikhq> You've seen my code.
04:59:56 <psygnisfive> Math, CS, and Linguistics are, in the theoretical realms of each, identical in many ways.
05:00:20 <pikhq> CS and linguistics' overlaps are fairly obvious.
05:00:30 <psygnisfive> i mean, in theory of computation, whats the most common way of ranking computation power?
05:00:39 <pikhq> Especially automata theory & grammar theory. . .
05:01:15 <psygnisfive> anarchosyndicalist, in case you were wondering.
05:01:49 <psygnisfive> theres this website that does this thing where you put in your major and click through various scenarios of The Future
05:02:08 <pikhq> Fuck that: cryptoanarchy if you must be without rule. :p
05:02:10 <psygnisfive> one of them talks about going into CompLing
05:02:27 <psygnisfive> and how any computational linguist can whoop your ass when it comes to both language AND computer science
05:02:43 <psygnisfive> so you're an anarchist but you pretend to be a republican?
05:03:16 <pikhq> Cryptoanarchy refers to the usage of cryptography to create an unruled network.
05:03:53 <pikhq> It's meant as a pun.
05:04:02 <pikhq> Feel free to groan.
05:04:25 <psygnisfive> all of my linguistics tee-shirts are puns. :)
05:05:29 <lilja> I'm going to sleep
05:05:41 <lilja> it's already bright outside :\
05:06:00 <psygnisfive> when i was in europe it was staying light until 10pm
05:06:01 <oerjan> i'm a frayed that pun was a bit of a stretch to me...
05:06:44 <psygnisfive> im also going to make a shirt with 7 thumb tacks painted on it, large-like
05:07:00 <psygnisfive> each with the name of a different one of the seven deadly sins on it
05:07:00 <lilja> anyways, good night or something
05:07:15 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
05:07:54 <psygnisfive> everyone ive told that to has had to think about it, and still didnt get it
05:08:02 <psygnisfive> except this one girl, whos my best friend at school
05:16:16 -!- oerjan has quit ("Need a break").
05:54:43 -!- pikhq has quit ("leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:33:52 -!- oerjan has joined.
09:42:43 <oerjan> http://tvtropes.org/pmwiki/pmwiki.php/Main/ItsQuietTooQuiet
09:43:08 <oerjan> (standard tvtropes warnings apply)
09:49:48 -!- AnMaster has quit (Remote closed the connection).
10:28:52 -!- tusho has joined.
10:30:22 -!- oerjan has quit ("leaving").
10:30:34 -!- GreaseMonkey has quit ("HydraIRC -> http://google.com <- Go find something better").
11:01:30 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
11:27:34 -!- Judofyr has joined.
11:43:34 -!- AnMaster has joined.
12:32:48 -!- oklofok has joined.
12:35:13 -!- AnMaster has quit ("thunderstorm").
12:50:08 -!- oklopol has quit (Read error: 110 (Connection timed out)).
12:56:28 -!- RedDak has joined.
13:14:13 -!- AnMaster has joined.
13:22:00 <oklofok> 06:21… psygnisfive: you cant use a pronoun to refer back to the noun that the enclosing clause modifies. <<< what? you can't say "i like sheep that take care of themselves"?
13:22:27 <tusho> no, that's illegal to say
13:22:31 <tusho> we'll arrest you if you do
13:22:49 <oklofok> i'm pretty sure the weirdness in ihope's sentence was just that you should have a sentence without a subject as the thing after "that", and the thing "that" refers to will then be the subject.
13:23:03 <oklofok> and here, "I" was the subject
13:38:15 <oklofok> in lalna i combined focus and that kind of referring so that you'd do (i like (sheep take care of themselves)), and for the inner sentence put focus on sheep
13:39:08 <oklofok> this is the same thing you often see in oklotalk (although of course just because objects normally behave like that, you couldn't extract "care" from that sentence in oklotalk)
13:47:57 -!- Corun has joined.
13:59:11 -!- Corun has quit ("This computer has gone to sleep").
14:12:48 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
14:40:59 -!- Corun has joined.
15:06:39 -!- lilja has joined.
15:09:19 -!- pikhq has joined.
15:25:17 -!- atsampson has quit (Read error: 60 (Operation timed out)).
15:25:39 -!- atsampson has joined.
15:36:57 -!- Hiato has joined.
15:44:22 -!- atsampson has quit (Read error: 104 (Connection reset by peer)).
15:44:34 -!- atsampson has joined.
16:11:42 -!- AnMaster has quit ("thunderstorm").
16:12:31 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
16:13:10 -!- Hiato has quit ("Leaving.").
16:24:51 -!- olsner has joined.
17:29:33 -!- AnMaster has joined.
17:34:06 -!- deveah has joined.
17:36:37 -!- Corun has quit ("This computer has gone to sleep").
17:50:27 -!- Slereah__ has joined.
17:56:00 <deveah> i see most esoteric ppl are interested in roguelikes too
18:01:37 <AnMaster> deveah, and why do you see that I wonder?
18:02:31 <deveah> zzo38, for example, made a roguelike
18:02:47 <tusho> yeah but that's zzo
18:02:50 <tusho> he does everything
18:03:00 <deveah> I made and am making roguelikes and I'm an esoterikker too
18:04:24 <deveah> tusho, when I was your age, I did almost everything too :D
18:04:36 <tusho> i dunno how old he is
18:05:21 <deveah> try a bit of everything before you're too old to do anything :)
18:07:01 <deveah> omg you can really use more than two letters in one line!
18:07:45 <AnMaster> hm... you wouldn't believe this, but it is true, I just met a blind user who enjoyed flightsimulators today....
18:07:57 -!- timotiis has joined.
18:09:25 <tusho> deveah: shut up, okoing is sacred
18:09:55 <tusho> just add a k to the beginning
18:11:04 <lilja> utututututututututu
18:12:00 <tusho> deveah: you cannot be told what okoing is
18:12:03 <tusho> you must experience it yourself
18:12:10 <tusho> and oklopol is not here for a demonstration
18:12:21 <tusho> you will gain enlightenment one day, of that I am sure
18:14:48 <AnMaster> odd I have seen oklopol quite a few times and I never seen okoing before
18:15:38 <deveah> no, I've been here before a few times
18:28:32 -!- deveah has left (?).
18:36:18 <psygnisfive> i oversimplified it when i said that yesterday
18:37:43 -!- oklofok has quit (Read error: 60 (Operation timed out)).
18:38:25 <psygnisfive> but in this specific example, the reason you can't actually use "it" is because it's the wrong pronoun
18:38:47 <psygnisfive> the RIGHT pronoun is PRO which has no spoken form.
18:39:46 <psygnisfive> or atleast thats the P&P/Minimalist interpretation :D
18:46:30 -!- Corun has joined.
18:53:44 -!- psygnisfive has changed nick to augur.
18:54:19 -!- augur has changed nick to Guest53704.
19:08:48 -!- Corun has quit ("This computer has gone to sleep").
19:12:02 -!- oklopol has joined.
19:18:28 <pikhq> *, I'm sorry about the delay on Def-BF. . .
19:18:44 <pikhq> As my excuse, I offer this: Half-Life 2 kicks some major ass.
19:33:40 -!- Corun has joined.
19:33:42 <tusho> AnMaster: Very valid.
19:34:23 -!- atsampson has quit (Read error: 104 (Connection reset by peer)).
19:34:28 <tusho> AnMaster: So it's not OK to enjoy a game a lot and therefore play it instead of working on an esolang for a bit?
19:34:36 -!- atsampson has joined.
19:35:08 <tusho> what did you say then?
19:35:32 <tusho> and your intended meaning?
19:35:37 <tusho> I can't extract another one
19:35:53 <AnMaster> well that is a different question that I will be happy to answer
19:36:18 <AnMaster> I meaning was that "half life 2"
19:36:25 <AnMaster> due to not being open source ;P
19:36:36 <tusho> yes, I'm aware you're an unreasonable zealot
19:36:40 <tusho> you didn't have to point that out again
19:36:48 <tusho> you demonstrate it daily..
19:37:17 <AnMaster> + another reason was pure selfishness
19:37:26 <oklopol> i'm less afraid of open source nowadays
19:37:28 <AnMaster> pikhq, where are the the specs on Def-BF?
19:37:36 <AnMaster> if you make no progress I may implement it myself
19:38:00 <pikhq> http://www.nonlogic.org/dump/text/1215028173.html
19:38:05 -!- timotiis has quit (Read error: 110 (Connection timed out)).
19:38:41 <AnMaster> % jump to absolute address in code
19:38:52 <AnMaster> pikhq, does 0 equal first code cell?
19:39:14 <AnMaster> so the program is loaded starting at 0x0?
19:39:39 <AnMaster> and what parameter does % take?
19:40:00 <AnMaster> pikhq, that spec doesn't define some quite important stuff needed to make an implementation
19:40:31 <tusho> AnMaster: Because, guess what, they were implementing it -themselves-
19:40:44 <AnMaster> like: where does the constant ? wants appear from
19:40:54 <tusho> I don't think they were thinking "WHAT IF PIKHQ IS PLAYING HALF LIFE 2. WE'D BETTER LET OTHER PEOPLE IMPLEMENT IT"
19:41:11 <AnMaster> this is a reasonable explanation
19:41:23 <AnMaster> but shouldn't ESO have pointed out this issue?
19:42:06 <oklopol> it's been an active topic on #eso for the past few days
19:42:19 <AnMaster> pikhq, ok I can see one big issue
19:42:27 <AnMaster> pikhq, the pointers are 8 bit?
19:42:39 <oklopol> always with the exact sizess :)
19:43:20 <AnMaster> pikhq, well how large are the pointers, and how large are the cells?
19:43:59 <AnMaster> pikhq, so could be 64-bit or 32-bit or such? do you have some standard library to define bitwise operations and so on?
19:44:04 <AnMaster> a standard library would be great
19:44:14 <pikhq> A standard library is implicit. . .
19:44:18 <AnMaster> because a compiler could optimize those into C function implemented in the compiler
19:44:29 <pikhq> Also, note that functions are pass by reference.
19:44:31 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
19:44:51 <AnMaster> pikhq, interesting, I may code a compiler to C code, could be fun
19:45:09 <AnMaster> not today, got to leave soon, but maybe the next few days
19:45:41 -!- bsmntbombdood has joined.
19:47:04 <AnMaster> pikhq, where is the standard library specs?
19:47:36 <AnMaster> and where are you working on def-bf, who is on the standard committee
19:48:14 <AnMaster> where should I apply for a membership?
19:48:44 <AnMaster> well I will ask ais when I see him next then
19:48:50 <tusho> actually i'm in charge
19:48:55 <tusho> ais just has sudoers :P
19:51:48 <AnMaster> pikhq, how can a def-bf program find out stuff about the system, say how much memory exists?
19:51:56 <AnMaster> and what should happen when it runs out of memory?
19:52:36 <AnMaster> what should an implementation do once it can't allocate more memory for the program, or on a division by zero and so on
19:54:09 <AnMaster> pikhq, how are pointers to ? and such encoded? as hexdecimal? with a leading 0x?
19:54:20 <AnMaster> there are lots of holes in that standard I'm afraid to say :(
19:54:40 <tusho> AnMaster: esolangs aren't known for their completeness
19:55:12 <AnMaster> tusho, funge being an exception (yes 98 had weaknesses but far from as much)
19:55:27 <tusho> funge-93 is pretty incomplete.
19:55:37 <tusho> it's not surprising
19:55:40 <tusho> because it doesn't really matter.
19:56:03 <AnMaster> so it is surprising that the 98 one is as complete as it is?
19:56:17 <tusho> funge-98 is just an anti-tarpit
20:04:20 <AnMaster> pikhq, are # and ; for the data or instruction pointers?
20:05:04 <AnMaster> in fact I just got an idea, I could easily implement the tire 1 (basic commands) in bash
20:05:51 <AnMaster> but you remember my brainfuck interpreter in bash? :P
20:12:31 -!- Ilari has quit (clarke.freenode.net irc.freenode.net).
20:12:31 -!- Dewi has quit (clarke.freenode.net irc.freenode.net).
20:12:31 -!- Slereah__ has quit (clarke.freenode.net irc.freenode.net).
20:12:31 -!- fizzie has quit (clarke.freenode.net irc.freenode.net).
20:12:31 -!- pikhq has quit (clarke.freenode.net irc.freenode.net).
20:12:31 -!- Judofyr has quit (clarke.freenode.net irc.freenode.net).
20:12:31 -!- lifthras1ir has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- shachaf has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- Polar has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- Corun has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- sebbu has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- Quendus has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- AnMaster has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- bsmntbombdood has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- olsner has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- lilja has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- tusho has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- Deewiant has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- lament has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- Guest53704 has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- mtve has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- dbc has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- moozilla has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- SimonRC has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- cmeme has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- atsampson has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- oklopol has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- puzzlet has quit (clarke.freenode.net irc.freenode.net).
20:12:32 -!- GregorR has quit (clarke.freenode.net irc.freenode.net).
20:13:31 -!- bsmntbombdood has joined.
20:13:31 -!- atsampson has joined.
20:13:31 -!- Corun has joined.
20:13:31 -!- oklopol has joined.
20:13:31 -!- Slereah__ has joined.
20:13:31 -!- AnMaster has joined.
20:13:31 -!- olsner has joined.
20:13:31 -!- pikhq has joined.
20:13:31 -!- lilja has joined.
20:13:31 -!- Judofyr has joined.
20:13:31 -!- tusho has joined.
20:13:31 -!- Ilari has joined.
20:13:31 -!- Guest53704 has joined.
20:13:31 -!- sebbu has joined.
20:13:31 -!- Dewi has joined.
20:13:31 -!- puzzlet has joined.
20:13:31 -!- Deewiant has joined.
20:13:31 -!- lament has joined.
20:13:31 -!- mtve has joined.
20:13:31 -!- GregorR has joined.
20:13:31 -!- fizzie has joined.
20:13:31 -!- lifthras1ir has joined.
20:13:31 -!- shachaf has joined.
20:13:31 -!- Quendus has joined.
20:13:31 -!- moozilla has joined.
20:13:31 -!- Polar has joined.
20:13:31 -!- cmeme has joined.
20:13:31 -!- dbc has joined.
20:13:31 -!- SimonRC has joined.
20:13:56 <pikhq> Which means questions such as "what should it do when it can't malloc any more" are fruitless: that is OS defined. . .
20:13:56 <pikhq> And possibly defined from within Def-BF.
20:19:10 <AnMaster> pikhq, but assume you make a version that compiles to C code
20:19:22 <AnMaster> that should run under a hosted environment
20:20:52 <AnMaster> pikhq, for a system programming language , and . make no sense
20:21:07 <AnMaster> def-bf itself would define stdio
20:21:18 <pikhq> I'm assuming that they would call out to a couple of stubs.
20:21:23 <pikhq> BTW, this is not my spec. ;)
20:21:46 <AnMaster> pikhq, how do you plan to implement it then if you don't know?
20:22:16 <AnMaster> <pikhq> I'm assuming that they would call out to a couple of stubs.
20:22:27 <AnMaster> "assuming" implies "not knowing for sure"
20:22:28 <pikhq> That's an implementation-defined detail. ;)
20:22:51 <AnMaster> pikhq, what about format for pointers?
20:24:08 <AnMaster> pikhq, also how can you make sure you don't collide with wherever the the stacks and variables are stored?
20:29:56 -!- pikhq has quit (Read error: 104 (Connection reset by peer)).
20:34:25 -!- pikhq has joined.
20:37:19 <AnMaster> <AnMaster> pikhq, also how can you make sure you don't collide with wherever the the stacks and variables are stored?
20:37:26 <AnMaster> pikhq, I never got an answer before you timed out
20:37:36 <pikhq> Because I never saw that. ;)
20:37:54 <AnMaster> for the <AnMaster> pikhq, what about format for pointers?
20:38:02 <AnMaster> didn't saw an answer to that either
20:38:12 <pikhq> First, read up on assembly. ;)
20:38:23 <AnMaster> pikhq, well this is about Def-BF
20:38:29 <AnMaster> I need to know what format it is stored in
20:38:37 <AnMaster> pikhq, and yes I know AT&T syntax quite well
20:38:51 <pikhq> ('how can you make sure you don't collide with whereever the stack and variables are stored?' Careful coding.)
20:39:08 <pikhq> As for the format for arguments to ? ? Ask Rodger.
20:39:08 <AnMaster> so the implementation got to define where it will put variables in other words
20:39:26 <AnMaster> and I got to sleep in about an hour
20:39:37 <AnMaster> pikhq, you will need to ask as well
20:39:42 <AnMaster> once you get around to implementing
20:39:56 <AnMaster> pikhq, I plan to do this as two tires
20:40:13 <AnMaster> that can be reused by different implementations
20:40:23 -!- Hiato has joined.
20:40:28 <AnMaster> it will just take the "High-level programming:" and turn it into "Basic commands:"
20:40:46 <AnMaster> I guess you could reuse that as well, but I will implement tire 1 first
20:40:56 <pikhq> Which is great and all, except that the high-level programming is a bit easier to futz with in some cases. :p
20:41:19 <AnMaster> you mean you don't separate the layers?
20:41:27 <tusho> OMG!!! HE DOESN"T SEPERATE THE LAYERS!
20:41:28 <pikhq> To implement that preprocessor, you would need to write your own linker.
20:41:50 <pikhq> Believe me when I say you don't want to write your own linker.
20:42:14 <pikhq> Especially if you want Def-BF on more than one OS.
20:42:18 <AnMaster> pikhq, in my implementation this will compile into a virtual machine more or less
20:42:29 <AnMaster> because the specs doesn't say anything about other stuff
20:42:56 <oklopol> i don't believe in assembly
20:42:59 <AnMaster> but it will assume there is nothing else outside the Def-BF code
20:43:05 <oklopol> has anyone even ever seen it, really? no.
20:43:19 <pikhq> My idea involves compiling to x86 assembly already in protected mode with the A20 line set up right. . .
20:43:20 <oklopol> you don't wanna thank me for this.
20:43:24 <tusho> You call that fuzzy vision assembly?
20:43:34 <tusho> You have no proof.
20:43:44 <tusho> However, pure logic leads us to the conclusion that THERE IS NO ASSEMBLY.
20:43:48 <pikhq> And for anything else that the Def-BF code needs to do for an OS? Well, that's why we have assembly.
20:43:51 <tusho> Belief in assembly counts as a _DELUSION_.
20:43:56 <AnMaster> pikhq, intel syntax is horrible
20:44:03 <oklopol> anyway, assembly is more like those quantum physics. they might seem to explain the phenomena, but no, something that weird simply can't be the truth
20:44:17 <pikhq> AnMaster: Intel CPUs are terrible.
20:44:21 <tusho> oklopol: actually I think assembly is more like god
20:44:25 <tusho> not in that it's awesome
20:44:33 <tusho> assembly just does not exist.
20:44:44 <pikhq> AMD's a good implementation of a crap architecture. :p
20:44:45 <tusho> AnMaster: Grammar correction - 'I have an AMD.'
20:45:00 <tusho> Ironically, I made an error there.
20:45:05 <tusho> Should have been 'grammatical correction'.
20:45:11 <tusho> AnMaster: Only in LOLCODE.
20:45:29 <AnMaster> or if you are a cat, but right then it's LOLCODE anyway
20:45:30 <oklopol> "i got amd" is valid practical english
20:45:43 <tusho> oklopol: no. not really.
20:46:17 <tusho> uncomfortable to read.
20:46:20 <AnMaster> pikhq, anyway I don't see why you can't separate the tires?
20:46:59 <AnMaster> btw you will find this horrible tusho
20:47:02 <pikhq> Because I don't want my own implementation of ld for each and every CPU this will run on. . . Or each and every OS, for that matter.
20:47:07 <oklopol> tusho: well sure, sure, but i think that's more the kind of error native ppl make
20:47:31 <tusho> AnMaster: That's how my Underload compiler worked...
20:47:40 <AnMaster> for a compiler it is ok I guess
20:47:43 <tusho> *You're* the one paranoid about C being all nice and clean.
20:47:59 <AnMaster> for loops I will try to output while loops or so
20:48:11 <pikhq> AnMaster: Compiling to C in this case is no easier than compiling to assembly, though.
20:48:26 <AnMaster> pikhq, yes it is for me, since my asm is rusty
20:48:45 <AnMaster> pikhq, and two implementations can't be worse than one
20:49:26 <AnMaster> pikhq, where are the specs for the standard library btw?
20:50:24 <AnMaster> pikhq, does the high level code have strings?
20:50:44 <AnMaster> the standard doesn't say anything about it
20:50:49 <pikhq> There is none specified yet.
20:50:52 <AnMaster> and I guess I can assume the standard is complete
20:51:06 <oklopol> du bist für den glendern gestrongen
20:51:07 <AnMaster> pikhq, well I guess the lower level part of it is complete?
20:54:45 <AnMaster> and for location of stacks and direction of growing, I'll make that command line arguments
20:54:57 <AnMaster> pikhq, oh and my C implementation will be 64-bit clean ;P
20:57:28 <AnMaster> pikhq, want to see my quick notes for implementation?
20:57:30 <AnMaster> http://rafb.net/p/HCfcDL41.html
20:57:51 <pikhq> But my assembly implementation will be suitable for OS development.
20:58:17 <AnMaster> pikhq, but the standard says nothing about that
21:08:05 <tusho> AnMaster: Def-BF is intended for kernel development.
21:08:34 <AnMaster> tusho, nothing in the standard saying so :P
21:08:47 <tusho> I guess you haven't been following Def-BF then.
21:08:52 <tusho> The only thing that makes it interesting is kernel devleopment.
21:09:05 <AnMaster> but I take the standard as the ultimate reference
21:09:21 <AnMaster> tusho, btw I need some advice, I'm thinking about buying a laptop, what hardware would you go for?
21:09:32 <AnMaster> think high end, flight simulator
21:09:57 <tusho> AnMaster: MacBooks are pretty cheap, but yeah, I don't think they have good 3D.
21:09:59 <tusho> How about ThinkPads?
21:10:04 <tusho> I've heard good things about them.
21:10:10 <AnMaster> tusho, I got no idea, I never bought a laptop before
21:10:12 <tusho> (I actually said Apple to infuriate you :p)
21:10:18 <tusho> AnMaster: Well ThinkPads can come with linux, iirc
21:10:32 <tusho> AnMaster: What I mean is that they're linux friendly.
21:10:43 <tusho> I saw a good wiki about them once
21:10:49 <tusho> AnMaster: http://www.thinkwiki.org/wiki/ThinkWiki
21:10:57 <tusho> has loads of details on all the models - maybe something good
21:12:29 <AnMaster> needs wifi with WPA2 (AES), ability to run flightgear, a CD drive, a decent screen, a large harddrive, not to expensive and not too heavy...
21:12:52 <tusho> http://www.thinkwiki.org/wiki/ThinkWiki
21:17:43 -!- Hiato has quit ("Leaving.").
21:19:09 <AnMaster> pikhq, where will your implementation store the stacks?
21:19:16 <AnMaster> pikhq, somewhere in the memory I assume?
21:21:29 <pikhq> The stack segment.
21:21:46 <tusho> <AnMaster> segment...
21:21:54 <AnMaster> pikhq, that is something not specified by the standard againt
21:22:01 <pikhq> No, of course not.
21:22:04 <tusho> AnMaster: Dude, it's IMPLEMENTATION-DEFINED.
21:22:09 <tusho> Plus, that would make it non-portable.
21:22:11 <tusho> I thought you hated that?
21:22:12 <AnMaster> pikhq, but doesn't x86 share a stack for calling and for data?
21:22:22 <AnMaster> and data pointer stack would be separate
21:22:28 <AnMaster> "%/: and #/; both operate on their own stacks"
21:22:59 <AnMaster> so it doesn't answer my question
21:22:59 <pikhq> There's also ds:0.
21:23:31 <AnMaster> anyway is this segment as in "segments vs. paging"?
21:23:32 <pikhq> I'm afraid my compiler won't work well in a flat memory space. ;)
21:23:43 <AnMaster> I plan to implement a flat memory space you see
21:23:58 <AnMaster> because that is what everyone does these days
21:24:09 <AnMaster> does any "real" OS use segmentation?
21:24:41 <pikhq> Actually, I think OpenBSD uses it to emulate the NX bit.
21:25:03 <AnMaster> pikhq, but it doesn't use it if system got PAE I bet?
21:25:47 <AnMaster> pikhq, however I would like to see your compiler working in a flat memory model
21:25:54 <pikhq> Not all PAE processors support NX.
21:26:22 <pikhq> For example: everything newer than a Pentium and older than an Athlon 64.
21:28:29 <tusho> AnMaster: my CPU *has* NX
21:28:45 <tusho> AnMaster: Grammatical fix.
21:28:57 <tusho> I don't think I've seen AnMaster use 'got' correctly yet, actually, so he could just replace 'got' with 'has' all the time :-P
21:28:59 <AnMaster> tusho, it is how it is said in Swedish
21:29:05 <tusho> AnMaster: i guessed
21:29:46 <tusho> AnMaster: in which context
21:29:56 <AnMaster> tusho, that "it is is how it is said in Swedish"
21:30:30 <oklopol> what is all this low level weirdness on my #esoteric
21:31:37 <oklopol> AnMaster: be careful when answering me, i'm rarely as clueless as i seem to be :D
21:32:01 <oklopol> i'm usually just making an obscure statement for no reason whatsoever.
21:32:11 <AnMaster> pikhq, anyway my implementation will follow the standard as defined currently
21:32:25 <AnMaster> pikhq, apart from further information on format of ? operand
21:32:41 * oklopol implements def-bf in python
21:32:51 <tusho> AnMaster: I don't really think he cares much about your implementation; he seems to be interested in it for the kernel development
21:32:59 <oklopol> i won't :P i have enough projects already :D
21:33:01 <tusho> which is the only interesting aspect, I find
21:33:21 <AnMaster> however the linux kernel is in C
21:33:49 <AnMaster> actually I can see how to keep the layers apart and support functions in the lower layer
21:33:54 <AnMaster> so you can get a lot of C functions
21:34:06 <tusho> AnMaster: The linux kernel has hefty asm.
21:34:23 <tusho> Not the most important parts.
21:34:34 <AnMaster> only the arch specific stuff includes asm really
21:35:06 <AnMaster> tusho, because the linux kernel is portable
21:35:52 <AnMaster> pikhq, an idea: separate the target specific code from the generic code
21:36:02 <AnMaster> pikhq, to make it easy to generate, say x86_64 code or ppc code
21:36:34 <pikhq> Well, yes; that's just fairly standard frontend/backend stuff.
21:36:44 <AnMaster> just make sure to do it that way
21:36:56 <AnMaster> pikhq, you could even make a C backend I guess
21:37:10 <pikhq> Trivially, rather.
21:37:14 <AnMaster> that could be run as the kernel?
21:37:43 <AnMaster> or some glue C and run in userspace?
21:37:58 <AnMaster> pikhq, there is a good reason for that too
21:37:59 -!- edwardk has joined.
21:38:04 <AnMaster> debugging in user space is easier
21:38:35 <pikhq> Bochs is a godsend for kernel debugging.
21:39:02 <AnMaster> pikhq, still user space is easier
21:39:18 <edwardk> a random aside, is anyone here in the Seattle area?
21:39:52 <oklopol> yeah is seattle in that us everyone keeps talking about?
21:40:19 <AnMaster> if I said I was close to Hallsberg
21:40:25 <AnMaster> what country would that imply?
21:40:30 <edwardk> pikhq: heh, we should hit a bar or something some time when I'm back there.
21:40:38 <pikhq> edwardk: Underage.
21:40:56 <tusho> AnMaster: The USA is an economic and political superpower and one of the largest and most populated nations in the world.
21:40:59 <pikhq> It was a random guess.
21:41:04 <tusho> I wouldn't say it's unfair rather than inevitable.
21:41:19 <AnMaster> they still don't own the world
21:41:32 <pikhq> AnMaster: Do you know where New York City is? :p
21:41:39 <AnMaster> pikhq, I do happen to do that yes
21:41:49 <pikhq> Good; you have *one* of our cities.
21:41:57 <AnMaster> pikhq, but do you know where Stockholm is?
21:42:12 <AnMaster> because I know where in US New York is
21:42:26 <AnMaster> and I know where in UK London is
21:42:28 <tusho> Well, I don't know the positions of many places.
21:42:31 <oklopol> AnMaster: but do you know where new york city is in new york?
21:42:34 <tusho> Pretty much only a few places in the UK.
21:42:40 <pikhq> Ah; no. You see, European countries tend to be approximately the same size as our *states*. . .
21:42:54 <oklopol> pikhq: yeah, going for that exact analogy
21:42:54 <AnMaster> oklopol, no, but I didn't ask where in Stockholms Län the city is
21:43:02 <AnMaster> oklopol, which would be the same question
21:43:05 <oklopol> AnMaster: combine what i and pikhq said
21:43:09 <pikhq> And generally, we don't even remember where in a state a city is unless we're in that state.
21:43:24 <AnMaster> pikhq, maybe, but not really relevant
21:43:44 <pikhq> Except that New York and Sweden are roughly the same size.
21:43:56 <oklopol> anyway, i think it's just fair to assume non-americans know usa, and not the other way around, since this is usually the case
21:43:59 <AnMaster> Sweden is as long as New York to Florida iirc
21:44:07 <oklopol> i probably know the states as well as an average american
21:44:42 <AnMaster> pikhq, so your argument doesn't really hold
21:44:47 <AnMaster> yes I agree it is nowhere as wide
21:45:07 <AnMaster> Sweden's area is larger than UK at least
21:45:09 <pikhq> Fine. New York is merely a fourth the area. Fine. s/New York/The East Coast/
21:45:32 <AnMaster> population is smaller in Sweden though
21:45:47 <AnMaster> but you couldn't even say in what part of Sweden Stockholm is
21:45:56 <tusho> AnMaster: He's American.
21:45:58 <oklopol> of course going by what they say about the intelligence of the average american, i know a lot more about the states than they :D
21:45:59 <pikhq> Sorry; I'm used to being out west. . .
21:45:59 <tusho> Are you surprised?
21:46:10 <tusho> GASP! He knows more about his country than Sweden. How amazing.
21:46:28 <AnMaster> of course you know more about your own country
21:46:38 <AnMaster> Americans assume the rest of the world do too
21:46:53 <AnMaster> which is not a nice way to behave
21:47:07 <tusho> Not anyone in here, certainly.
21:47:12 <AnMaster> I don't assume ppl know as much about Sweden as Americas assume Swedes know about America
21:47:27 <AnMaster> not just Americans here, but other places too
21:47:31 <tusho> Anyway, I know that Stockholm is in Sweden. So your argument against people wondering why you don't know where Seattle and Boston are is invalid.
21:47:51 <AnMaster> tusho, not really, Stockholm is the capital after all
21:48:11 <AnMaster> and yes I know where Washington DC is
21:48:11 <oklopol> AnMaster: can you pinpoint d.c.?
21:48:24 <AnMaster> oklopol, east cost, south of New York
21:48:28 <tusho> oklopol: he replied in -0.2 seconds
21:48:32 <AnMaster> can't say exactly where, but quite close
21:48:49 <AnMaster> and I don't ask for GPS coordinates the other way either
21:49:15 <oklopol> about the location of stockholm
21:49:19 -!- CakeProphet has joined.
21:49:20 <AnMaster> I just want east or west Sweden, or North/Middle/South
21:49:23 <oklopol> imagine finland and sweden as a set of cock and balls
21:49:36 <oklopol> stockholm is at the bottom of the glans
21:49:43 <tusho> That's an interesting analogy.
21:49:51 <pikhq> AnMaster: It's easier for US citizens to assume other people know about the US. . . First, we don't deal with other countries on a regular basis. . .
21:49:54 <tusho> I like AnMaster's UGH reaction, though.
21:50:11 <AnMaster> tusho, it is comparing countries to them
21:50:14 <pikhq> Our country is similar in size to continents...
21:50:32 <tusho> Whose genitals is it?
21:50:36 <tusho> Or are they severed?
21:50:48 <CakeProphet> pikhq: in general, non-US people do know way more about the US than we know about their countries.
21:51:08 <pikhq> It's approximately the same size as Europe.
21:51:23 <AnMaster> pikhq, then North America = continent. USA = sizeof(continent). North America consists of Canada and USA (and Mexico?)
21:51:50 <pikhq> Canada is also about the same size as Europe. . .
21:51:56 <CakeProphet> and I don't really think it arises as a consequence of Americans being vain/egotistical/other-adjective
21:51:57 <AnMaster> sizeof(continent) == sizeof(continent) + sizeof(Canada) + sizeof(Mexico)
21:52:02 <pikhq> North America is a fucking large continent.
21:52:12 <tusho> Canada is the size of Europe?
21:52:16 <tusho> Well I didn't know that.,
21:52:57 <pikhq> Canada and the US are both about 10 million square kilometers in area. (9 million if you only count land claims)
21:53:47 <pikhq> The EU is only about 4, though.
21:53:59 <AnMaster> oklopol, in your odd analogy above.. what about Norway?
21:54:22 <CakeProphet> but I can definetely agree that... North American countries are... way way bigger.
21:54:52 <pikhq> CakeProphet: Than European countries? By orders of magnitude.
21:54:59 <AnMaster> <CakeProphet> pikhq: in general, non-US people do know way more about the US than we know about their countries. <-- yes... that is sad
21:55:09 <AnMaster> it shows how uninformed most Americans are
21:55:43 <pikhq> AnMaster: Once again: most US citizens don't typically leave the US on a regular basis.
21:55:53 <AnMaster> CakeProphet, pinpoint the capital of Norway
21:56:17 <pikhq> I'd guess that it's roughly equivalent to the amount of people that leave Europe on a regular basis.
21:56:30 <tusho> AnMaster is being pretty fracking rude with his stereotypes of Americans.
21:56:30 <pikhq> AnMaster: Capital of Colorado?
21:56:47 <tusho> Ooh ho. Nice one pikhq.
21:56:52 <AnMaster> pikhq, no clue, but capital of US yes. but I'm talking about countries
21:57:07 <tusho> AnMaster: The sizes are the same ..
21:57:17 <tusho> So this is a fair comparison, AnMaster.
21:57:27 <AnMaster> but legally countries are countries
21:57:35 <AnMaster> and it is a fair comparsion that way
21:57:42 <tusho> It's not a useful definitino.
21:57:47 <tusho> We're talking about humans.
21:58:11 <CakeProphet> I think it's just a consequence of relevance. The capital of France is simply not useful information on most days in the US.
22:00:01 <CakeProphet> it's not that the average American doesn't respect the existence of such countries. They are simply too disconnected, perhaps less by choice and more by environment.
22:01:25 <oklopol> 23:53… AnMaster: oklopol, in your odd analogy above.. what about Norway? <<< indeed, what about norway? i didn't mention it.
22:02:56 <CakeProphet> I'm not sure if the capital of Georgia is internationally relevant or not.
22:04:05 <oklopol> wouldn't have remembered the capital
22:04:21 <pikhq> It's barely even locally relevant. :p
22:04:45 <pikhq> See? Who cares about Atlanta?
22:04:56 <CakeProphet> when you are attempting to make a cross-country flight
22:05:19 <oklopol> anyway i doubt AnMaster knows even all european capitals, just scandinavia + the ones that are historically relevant
22:05:57 <oklopol> we have all kinds of fucking schiblamastads here
22:06:35 <CakeProphet> airport, Coke, CNN (Turned Broadcasting) = Atlanta
22:08:05 <CakeProphet> probably from history class... lolcoldwar.
22:11:38 <tusho> CakeProphet: Georgia has some cool bands!
22:11:57 <CakeProphet> ...I just got back from a huge camp out thing.
22:12:13 -!- RedDak has joined.
22:12:23 <CakeProphet> there was seriously this amazing drummer who was like... inbred.
22:13:39 <tusho> i dunno Guest53704
22:17:21 -!- Guest53704 has changed nick to psygnisfive.
22:22:33 -!- Corun has quit ("This computer has gone to sleep").
22:32:29 -!- Corun has joined.
23:06:58 -!- olsner has quit ("Leaving").
23:09:20 <oklopol> in which languages can you do the following: create an object that stores the average value of some variable for a certain amount of updates
23:09:47 <oklopol> and you want to know what the average speed is for a certain amount of cycles
23:09:58 <edwardk> any stream processing language, lucid for instance
23:09:58 <oklopol> so you'd make an averagestorer
23:10:09 <oklopol> edwardk: i haven't finished yet
23:10:54 <oklopol> you would usually have to store each and every value that's been given as an update
23:11:07 <oklopol> as someone might query what the overall average is, at any point
23:11:45 <oklopol> now the point was, err, are there languages that let you see whether the code has any non-precompilable calls to the getaverage function
23:11:57 <oklopol> so that you could use it when deciding the internal storage for the class storing the averages
23:12:11 <oklopol> this is something i've been wanting to add to some language of mine
23:12:25 <oklopol> but i wonder whether languages actually have it, as i haven't heard about such
23:21:06 -!- Corun has quit ("This computer has gone to sleep").
23:33:28 -!- Corun has joined.
23:44:45 -!- edwardk has left (?).
23:49:31 -!- Corun has quit ("This computer has gone to sleep").
23:54:49 -!- Corun has joined.
23:54:56 -!- Sgeo has joined.
00:01:22 <CakeProphet> oklopol: like... introspection of code behavior?
00:05:22 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
00:19:08 -!- tusho has quit.
00:47:43 <pikhq> Hmm. Question: should I cease my current "stuck in the mountains, not shaved for weeks" look and go back to my usual goatee?
00:49:11 <oklopol> i just mean an object, when created, would get to know if it's only used in simple ways
00:49:20 <psygnisfive> oklopol your girlfriend is interrogating me! :(
00:49:55 <oklopol> pikhq: keep the current one
00:50:26 -!- bwr has joined.
00:50:28 <pikhq> CakeProphet: But I like having a goatee.
00:50:28 <oklopol> i think that might be interesting.
00:50:54 <CakeProphet> pikhq: trimming does not require the losing of a goatee.
00:50:55 <oklopol> and i always like languages hanging on the edge of being impossible to implement :D
00:51:14 <CakeProphet> it just wouldn't straightforward, you know.
00:51:17 <oklopol> CakeProphet: it is in general, yes
00:51:29 <oklopol> but in most cases the object would just get the "no idea how you're used" message
00:51:55 <CakeProphet> well, it depends on what kind of interpreter/compiler you have to.
00:52:00 <CakeProphet> if it's a single-pass interpreter, for example.
00:52:08 <pikhq> CakeProphet: You suggested trimming, but keeping my current look. Which means: trimmed full beard, not a goatee. :p
00:52:11 <CakeProphet> then, I think, you'd need to initialize it at that state.
00:52:42 <oklopol> CakeProphet: i'm not following you.
00:53:01 <oklopol> it would have to be compiled.
00:53:15 <CakeProphet> well... you can't know how an object is used at the point its created... so it would be impossible to give it anything but a don't know message.
00:53:31 <oklopol> right, yeah, that's not possible.
00:53:40 <oklopol> but it would most likely be compiled
00:53:49 <CakeProphet> if you compile... or do something inbetween... then you can analyze how it is used later... before its created at runtime.
00:54:09 <oklopol> i think i'll try adding that to straw
00:54:20 <oklopol> with that and the mutation stuff, it would actually be quite a unique piece of art.
00:55:07 <oklopol> no straw lesson will be given today, in case someone would've been interested
00:55:18 <CakeProphet> ...why do I not have links to any of your language specs.
00:55:30 <oklopol> because i rarely spec them
00:56:05 <oklopol> perhaps i could spec straw up at least a bit.
00:58:13 <bwr> is there a link to straw?
00:58:38 <oklopol> there is a link to one short example, but i'm afraid even that is a bit outdated
00:58:52 <oklopol> www.vjn.fi/oklopol/straw.txt
00:59:00 <oklopol> it's a lot more static nowadays
00:59:47 <oklopol> but, one of the fun things is already there
01:00:08 <bwr> what's that
01:00:33 <oklopol> basically, if you do "n = 1", you can add 1 to n so that n changes value by doing n._inc
01:00:51 <oklopol> and if you did n.inc, you'd get n+1 without modifying n
01:01:13 <oklopol> and the fun part is, you can just write the code to do either of these two, and you can immediately use both ways
01:01:53 <oklopol> compile-time checks for making sure methods without an underscore don't modify the program state
01:02:05 <bwr> oh that's neat
01:02:27 <oklopol> yeah, but that's basically the tip of the iceberg, i have quite a lot of ideas for this one
01:02:50 <oklopol> been piling up the ideas too practical for esolangs into it :P
01:04:12 <oklopol> i'll try to write the AverageKeeper class and see if i find a nice way to do the "optimization hints"
01:04:28 <CakeProphet> I have a affinity with languages that use their source code as their primary data structure.
01:04:42 <bwr> like lisp?
01:04:49 <oklopol> bwr: lisp does not do that
01:05:00 <bwr> what do you mean then
01:05:15 <oklopol> say befunge without a stack, and just p/g
01:05:29 <bwr> yea, i've used befunge
01:05:34 <bwr> but i always used the stack
01:05:52 <oklopol> well p and g set/read a value to/from the program space
01:06:02 <bwr> i get it now
01:06:20 <oklopol> basically, that any conceptual memory and instruction pointers would exist in the same space
01:06:28 <oklopol> the von neumann structure i guess
01:06:29 <CakeProphet> dupdog literally just used the entire source code
01:06:33 <bwr> befunge is the one esolang i have done anything with :P it was fun
01:06:39 -!- garotosopa has joined.
01:06:52 <CakeProphet> I'd like something more structured though.
01:07:02 <oklopol> befunge is quite nice to program, yes
01:07:15 -!- garotosopa has left (?).
01:11:58 <CakeProphet> ggggggggggggggggggggggggg?(gggggggg?gggggggggggggggg?ggggggggggggg?)
01:13:32 <CakeProphet> if the instructions in codehere manipulated the code in codethere.
01:21:14 <CakeProphet> the brackets tell you which instructions modify what.
01:21:31 <bwr> are there any befunge compilers that actually compile? the only ones i've seen wrap the befunge in a C interpreter and then you compile it.
01:21:52 <bwr> CakeProphet: that's weird
01:22:01 <oklopol> bwr: it's not really compilable
01:22:23 <CakeProphet> bwr, ...thank you. that is now my cue that I've found a decent idea.
01:22:23 <oklopol> because you have such immense control over the codespace as a 2d structure
01:23:06 <bwr> that doesn't seem like that big of a problem
01:23:45 <bwr> CakeProphet: i'll be interested to see how that works
01:24:20 <oklopol> well at the very least you need to have a compiler in the executable, and you have to have the source there too, in some form, as the code can be changed on the fly.
01:24:34 <CakeProphet> it also gives you the ability to have binary instructions... sort of.
01:24:51 <oklopol> a befunge program can read any byte in the source, so the source must actually exist at runtime.
01:26:01 <CakeProphet> like "this instruction does such and such if the source code being modified, source code A, contains more instructions than the source code that A modified, source code B"
01:26:56 <bwr> i am confused
01:27:58 <CakeProphet> and some other instructions that reverse words
01:28:56 <CakeProphet> and something like la da la da > de do de do <
01:30:45 * CakeProphet is trying to find the eureka moment... where it figures out how everything will become usable.
01:43:47 <oklopol> http://www.vjn.fi/pb/p565622232.txt straw is getting a bit more oklo :)
01:43:59 <oklopol> the rewriting syntax will probably change
01:44:54 <oklopol> #calls {{ this.getavg( ?s ) }} is the interesting part, special keyword that kinda searches the code for a certain expression
01:45:31 <oklopol> so you'd get a list of calls to the method calculating the average
01:45:42 <oklopol> isn't conceptually all that pretty, but that's not my point anyway here
01:46:17 <oklopol> i should unify the syntax a bit though
01:46:30 <oklopol> all kinds of prefixes and brackets flying about
01:47:17 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
01:51:57 <oklopol> http://www.vjn.fi/pb/p464321425.txt dropped the highlevel rewriting, <<<...>>> is now simply a list of occurrances
01:52:24 <oklopol> except as a right-side of a substitution, where it is kinda highlevel again :)
01:53:42 <oklopol> actually @ "dotPrefixed.setvar = <<< this.?var = ?var >>>" the <<<...>>> notates a simple quoted piece of code
01:53:47 -!- cherez has joined.
01:53:50 <oklopol> so guess i should use a different bracket type
01:54:03 -!- cherez has quit (Client Quit).
01:54:23 <oklopol> basically i'm just defining here that you can use the syntax .var in a method's parameter list to set a field
01:56:43 <oklopol> *** separates the two tiers, kinda, if you have n tiers, where n!=1, the first two would be parsed, then the first one run, but all <<<...>>>'s referring to the second code
01:57:01 <oklopol> so you can define new syntax in an imperative fashion in the language itself
01:57:18 <oklopol> this is all a bit ugly in a language where syntax isn't initially simple
01:59:05 -!- cherez has joined.
03:05:50 -!- oerjan has joined.
03:31:46 <Slereah__> I don't even know where the curly brackets come from.
03:32:06 <Slereah__> They're supposed to enclose multiple lines :o
03:32:20 <Slereah__> Where do those one line curly brackets come from?
03:36:12 <oerjan> sure it was, before the mutations started
03:37:47 <oerjan> ah it is all clear now. evolution is the work of satan. we were really supposed to all be happy single-celled bacteria
03:38:06 <CakeProphet> ....why does everyone care about terseness
03:38:18 <Slereah__> WHAT'S WRONG WITH AUTOREPLICATING RNA STRANDS?
03:38:22 <oerjan> no, bacteria. the singular is bacterium.
03:38:47 <oklopol> what the fuck http://www.youtube.com/watch?v=Cg1e77lRRjk&NR=1
03:38:49 <oerjan> those were just the prototype
03:39:49 <oklopol> this girl seriously needs a timecube of her own
03:40:20 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
03:40:33 <Slereah__> I can't understand anything she says
03:40:34 <psygnisfive> she might be just talking about vedic junk
03:40:46 <Slereah__> SPEAK WITH ONLY ONE VOICE, CRAZY WOMAN
03:40:47 <oerjan> Slereah__: she could be just using the Royal We
03:40:53 <oklopol> what is this vedic i've been hearing for the past 5 minutes?
03:41:09 <CakeProphet> "dude, if you start at 1 and break a circle into 9 equal parts. 0 IS 9"
03:41:10 <oerjan> vedic == ancient indian, essentially
03:41:13 <Slereah__> Wasn't there a story about Wiener and a squiggle?
03:41:45 <Slereah__> Like he was with a collegue in front of a blackboard with just a squiggly line on it
03:42:09 <oerjan> yes, modulo 9, 9 is a lot like 0
03:42:11 <Slereah__> And they were very absorbed by the reflection
03:42:26 <Slereah__> And no one ever knew what it meants :o
03:42:41 <Slereah__> Of course, it's hard to know with Wiener's anecdotes
03:42:57 <oklopol> i think i should devote my life to killing people who don't know the difference between a number and its base 10 representation.
03:43:14 <oklopol> they just get me so fucking angry
03:43:22 <oerjan> was wiener's famous dachshound involved?
03:43:57 <Slereah__> Just tell that exact same story around you
03:44:32 <oklopol> i think i should do a sleep to now sleep. ->
03:44:50 <oerjan> that may be for the best
03:48:43 <oklopol> fresh batch coming soon just ya wait ::::)
03:49:05 <oklopol> but seriously, i sleep now, and no, you will not be getting naked pictures tonight :P
03:49:20 * oerjan is reminded of a dilbert cartoon where dilbert cuddles himself in front of camera to convince his mother he has a girlfriend
03:53:48 <Slereah__> There was also an episode of Dilbert.
03:54:02 <Slereah__> And then you see Asok hugging himself.
04:01:33 <oklopol> lol, once again some old math problem i heard ages ago pops into my head just as i'm about to sleep, and i just solve it instantly
04:01:52 <oklopol> in case i recall that one problem correctly, would have to ask ihope
04:03:44 <oklopol> i think it was like, basically, you have a 2d tilemap, cell at x,y connected to those (x',y') with abs(x-x')==1 xor abs(y-y')==1
04:04:19 <oklopol> you have to find the biggest structure such that by removing a cell there are no connected structures of size n or bigger
04:05:12 <oklopol> "2d tilemap, cell at x,y connected to those (x',y') with abs(x-x')==1 xor abs(y-y')==1" was a very weird explanation.
04:05:40 <oklopol> so that nodes are connected to their four neighbors
04:06:51 <oklopol> he was wondering whether the obvious solution, a cross of height and width 2n+1
04:07:09 <oklopol> well, it's clear we can only separate four structures with removing one node
04:07:31 <oklopol> you have an initial connected structure
04:07:49 <oklopol> such that there are no connected structures of size n or bigger anymore
04:07:58 <oklopol> the problem is to find the biggest such structure
04:08:33 <psygnisfive> i mean, all we have i think so far is just a square grid and "maximize the size of this square grid"
04:08:42 <oklopol> you need to be able to split it into structures less than n in size by removing some node
04:09:30 <psygnisfive> your explanation is whats hard, but thats ok. go to sleep.
04:10:10 <oklopol> the problem: for some n you need to find the largest connected structure such that there is a node whose removal will split the structure into structures less than n in size
04:10:32 <oklopol> algorithm is a function from an integer n to such a structure
04:10:48 <psygnisfive> and what determines what n is? and what determines the shape of the structure? etc
04:10:50 <oklopol> the algorithm we're looking for
04:11:02 <oklopol> psygnisfive: you need to find it for any given n
04:11:13 <psygnisfive> do all nodes need to be connected to 4 other nodes?
04:11:26 <oklopol> no, just some structure consisting of nodes on a grid like this
04:12:16 <psygnisfive> ok, take an infinitely large square grid and remove two intersecting axes, and add a node that connects the four at the corners
04:12:27 <oklopol> the problem: for all n you need to find the largest connected structure such that there is a node whose removal will split the structure into structures less than n in size
04:12:42 <psygnisfive> granted, the substructures are also i guess infinitely large
04:12:55 <psygnisfive> but it works for all squares that could form those corners
04:13:07 <oklopol> psygnisfive: so what do you remove to get it to split into structures less than n in size?
04:13:19 <oklopol> if you remove the middle cell, you get four infinite structures
04:13:28 <oklopol> n need not be infinity, that's one of the trivial cases
04:13:47 <psygnisfive> but you do split it into structures smaller than the original one
04:13:49 -!- vollmond has joined.
04:14:19 <psygnisfive> because obviously you can just add more nodes to any of the substructures so long as they dont connect the substructures
04:14:24 <oklopol> there is no largest such structure? there are multiple equally good structures in size.
04:14:39 <psygnisfive> take four squares and connect them at the corner
04:14:51 <psygnisfive> if n is three you have what sort of structure?
04:14:57 <oklopol> you saying you can have the initial structure infinite?
04:15:11 <oklopol> that's not the biggest you can do
04:15:27 <psygnisfive> well let me just make sure im getting this correct
04:15:51 <psygnisfive> if n is three, what is an example of such a structure
04:16:19 <psygnisfive> i need to see an example of possible structures
04:16:25 <oklopol> http://www.vjn.fi/pb/p333224163.txt
04:16:34 <oklopol> this is the largest possible
04:16:55 <oklopol> because by removing the middle you get four structures of size 2
04:17:07 <oklopol> you define largest by the fact there is no larger one.
04:17:26 <oklopol> the problem was just proving this, which is of course trivial
04:18:01 <oklopol> trivial, but still scary when it just slams into your face when you're trying to sleep :P
04:18:18 <psygnisfive> so im not entirely sure i follow still but
04:18:50 <oklopol> the problem: for all n you need to find the largest connected structure such that there is a node whose removal will split the structure into structures less than n in size
04:19:01 <oklopol> because it can be any integer
04:19:04 <psygnisfive> if thats the case then the largest structure will always be (n-1)*4+1 in size
04:19:25 <oklopol> the problem was just proving that
04:19:41 <oklopol> err that there's no bigger one
04:19:45 <psygnisfive> the middle node divides the single node into at most four smaller nodes
04:20:01 <psygnisfive> since no node can connect to more than 4 other nodes
04:20:11 <psygnisfive> thus the biggest would have 4 substructures as a result
04:20:21 <psygnisfive> since no substructure can have more than n nodes
04:20:30 <oklopol> yes, the gist is simply that removing a node that can have at most 4 edges from it to others can only split the graph into 4 subgraphs
04:20:40 <psygnisfive> thus each of the four substructures has n-1 nodes
04:21:12 <psygnisfive> i dont see why this is an interesting problem
04:21:30 <oklopol> i can give you the other one i solved
04:21:35 <oklopol> i wasn't trying to solve it
04:21:43 <oerjan> because otherwise he won't be _able_ to sleep
04:21:51 <psygnisfive> you werent trying to but you did solve it? :P
04:21:52 <oklopol> i wasn't trying to solve it, i just solved it
04:21:54 -!- Corun has quit ("This computer has gone to sleep").
04:22:00 <oklopol> the other one is more interesting
04:22:07 <oerjan> also, after this mess i'm not sure if he will be able to anyhow
04:23:12 <oerjan> well sure, for me it's morning so i don't need to sleep...
04:23:13 <oklopol> so, at the topmost row of the matrix you have numbered nodes from 1 to N
04:23:59 <oklopol> now, you take kinda steps towards the bottom
04:24:16 <oklopol> so that each of these numbers can move either left or right one step each time you go one row down
04:24:40 <oklopol> but, no two nodes with the adjacent numbers can be more than 1 column apart, ever
04:24:48 <oklopol> so you have kinda like a chain
04:25:09 <oerjan> you mean separated by more than one column?
04:25:13 <oklopol> to prove that there is no set of movements that makes this chain move away from the matric
04:25:36 <oklopol> you can move out of it just by moving one right from the right edge or the other way around
04:25:49 <oklopol> matrix was just an explanation of the form, not anything mathematical.
04:26:39 <oerjan> can a number stay in place?
04:26:52 <oklopol> it can move right, left, or stay put
04:27:08 <oerjan> and all numbers move or stay simultaneously at each step
04:27:09 <oklopol> two can be on the same spot.
04:27:24 <oklopol> just that you can't have adjacent numbers two apart
04:27:41 <oklopol> otherwise everything can move freely, although at most one to either direction on each step
04:28:00 <psygnisfive> no two neighboring numbers can different by more than 1
04:28:11 <oerjan> what is preventing you from eventually merging all numbers into one spot then?
04:28:20 <oklopol> but that doesn't solve it.
04:28:29 <psygnisfive> oerjan: all numbers move simultaneously in each row
04:28:33 <oklopol> the goal is to get them all out of the matrix before the last row
04:28:35 <oerjan> and then move them in tandem whereever you want
04:28:58 <oklopol> oerjan: there are only N rows
04:29:04 <oerjan> oh so you have a limited number of steps
04:29:04 <psygnisfive> ah so you mean move them all N to the left or right in less than N steps
04:29:39 <oerjan> i see. 1 doesn't have time to leave right, N doesn't have time to leave left?
04:29:51 <oklopol> oerjan: no, they can leave at either end
04:29:56 <psygnisfive> move an object left or right by a total of N places in under N moves, moving only one place at a time
04:30:06 <oerjan> um then what's the problem?
04:30:11 <oklopol> psygnisfive: err not exactly
04:30:17 <oerjan> move N left, move N and N-1 left, and so on
04:30:25 <oklopol> if there wasn't the constraint that adjacent numbers need to be adjacent
04:30:27 <oerjan> if there is time enough
04:30:36 <oklopol> you could just move half out from the left, and half out the rightt
04:30:57 <psygnisfive> but i thought you said the whole row had to move as one?
04:30:58 <oerjan> oklopol: what is preventing you from moving all left as fast as you can?
04:31:10 <oklopol> oerjan: you won't get the last one out
04:31:32 <oerjan> oklopol: in other words, there isn't time for N to leave left, which i already asked
04:31:54 <oerjan> i thought you said there was
04:32:07 <oklopol> err i prolly misunderstood
04:32:25 <oerjan> in other words, 1 _must_ leave leftwards, N _must_ leave rightwards.
04:32:32 <psygnisfive> the minimum number of steps is Ceiling(N/2)
04:33:06 <oklopol> psygnisfive: you won't get the last one out
04:33:16 <oerjan> this implies at least _some_ adjecent numbers must leave in different places, a contradiction
04:34:28 <psygnisfive> and N-m steps if you go in the other direction
04:36:13 <oklopol> psygnisfive: so far so good
04:36:43 <psygnisfive> for item N/2 and N/2+1 for an even N, the number of steps left for item N/2 is the same as the number of steps right for item N/2+1
04:37:21 -!- vollmond has quit (Nick collision from services.).
04:37:45 <psygnisfive> so for even N, after N/2, going left will increase the number of steps
04:37:48 <oklopol> oerjan: anyway that was, for some reason, confusing to me when i first heard it... although probably i was just not really familiar with the concept of "knowing, yet proving"
04:38:03 <oklopol> not confusing, but i didn't come up with a proof
04:38:16 <psygnisfive> for N/2 for odd N, it doesnt matter which direction you choose since its in the middle.
04:38:28 <psygnisfive> tho that explanation is painful and unnecessary.
04:38:58 <oklopol> psygnisfive: err was that the proof?
04:39:16 <oklopol> err okay, i don't see a proof there
04:39:50 <oklopol> it seems you've proved for all N, for any item in the toprow, there is a way to get it out in N-1 steps
04:40:07 <psygnisfive> i proved that its possible to get it out in Ceil(N/2) steps
04:40:33 <psygnisfive> for items < N/2, move left, for items > N/2 move right
04:40:55 <oklopol> first of all you *cannot* solve that
04:41:04 <oklopol> this is about proving it's impossible
04:41:26 <oklopol> the constraint that two adjacent numbers cannot be apart more than one column is there.
04:41:45 <psygnisfive> ok you need to go back and specify what that means i think
04:41:56 <psygnisfive> because your previous explanation permitted what i just said.
04:42:24 <oklopol> where there are two indices A and B such that |A-B|>1 and |array[A]-array[B]|=1
04:42:53 <oklopol> all adjacent numbers need to be at most one column apart
04:43:04 <psygnisfive> but what does adjacent mean in this context.
04:43:52 <oklopol> yeah, it's not, the point was to prove tat
04:44:10 <psygnisfive> well that proof was part of the set up for the other longer one i did :P
04:44:25 <oklopol> err can you show it again?
04:44:51 <psygnisfive> moving left will take m steps since its m from the edge
04:45:26 <psygnisfive> given that you cannot separate the items but more than 1 space
04:45:29 <oklopol> i like interrupting a long explanation like that, just continue :)
04:46:09 <psygnisfive> you cannot spread the items in any way that leaves a gap N in size between two items
04:46:16 <psygnisfive> meaning spreading them all apart will do no good
04:46:32 <psygnisfive> because atleast one will still be in the square
04:46:57 <psygnisfive> thus only moving them in the same direction is a way of getting them out of the square
04:47:12 <psygnisfive> and that means that it would take N steps for item N
04:47:30 <psygnisfive> which violates the constraint that it be done in <N steps
04:48:25 <oklopol> yes, the gist is simply realizing to solve this you would need to get some adjacent numbers out the opposite ends leading to a contradiction, as oerjan said
04:48:41 <psygnisfive> i mean, its trivial to understand visually.
04:49:36 <psygnisfive> meaning that with no spreading, item N will still be inside the square
04:49:44 <psygnisfive> with spreading, item N/2 will still be in the square
04:50:03 <oklopol> psygnisfive: i'd say the mathematical way to say it is quite simple
04:50:36 <oklopol> well that's one way to see it
04:51:01 <psygnisfive> the extreme possibilities cant solve it, and therefore no intermediate possibilities can.
04:51:54 <oklopol> there's no difference between a formal proof and an intuitive one, except that the intuitive one can rely on construct that need not necessarily exist
04:52:04 <oklopol> but yeah, this one is trivial to see, and trivial to put to maths
04:52:07 <psygnisfive> that, and formal proofs are a bit more rigorous
04:52:32 <psygnisfive> but i dont see why this is an interesting problem.
04:52:50 <oklopol> this is more the grunt work exercise, in your terms, yes
04:53:08 <oklopol> perhaps i should, at some point
04:53:13 <oklopol> it's just i'm not at all tired
04:55:52 <oklopol> also the only software i had for the webcam broke
04:56:31 <oklopol> i'm on skype, but that's not gonna happen :P
05:01:17 -!- poiuy_qwert has joined.
05:11:47 <psygnisfive> something with a completely different perspective on computation
05:15:45 <oerjan> sometimes, xkcd is ... weird.
05:15:56 <oerjan> that's one reason why we love it, i assume
05:16:09 <psygnisfive> i mean, i know it HAS, most new paradigms are like that
05:16:23 <psygnisfive> because i like weird and different models of computation
05:16:57 <oklopol> psygnisfive: it was not a tease, i was actually going to show you my face on webcam.
05:17:12 <oklopol> it's just my computer crashed for 15 minutes
05:18:04 -!- pikhq has quit ("leaving").
05:18:15 <oklopol> for some reason this program i used to use the webcam with, or used once trying to check if it works, crashed when i retried it a while ago
05:18:21 <oklopol> crashing the whole computer for ages
05:19:03 <oklopol> now, at first it seemed that if skyped does it also, then might be something @ my configurations, and vista's just taking its usual approach to that kinda thing
05:19:37 <oklopol> skype opened the fucking program that crashes this computer when opened the webcam feed with, just after i'd gotten it to quit
05:19:56 <oklopol> i don't know whether it's skype, or just trying to access the webcam
05:20:22 <oklopol> nah, i can do most things with my current set.
05:20:36 <oklopol> watch videos, irc and code
05:21:03 <oklopol> not sure if i can live with that, need to ponder the issue
05:21:24 <oklopol> got pretty tired looking at the black screen
05:53:18 -!- oerjan has quit ("Omnibus").
06:15:33 <CakeProphet> I would not expect so much win from a pop type.
06:18:08 -!- olsner has joined.
06:19:21 -!- GreaseMonkey has joined.
07:31:05 -!- olsner has quit ("Leaving").
07:54:17 <AnMaster> <oklopol> anyway i doubt AnMaster knows even all european capitals, just scandinavia + the ones that are historically relevant
07:54:36 <AnMaster> Madrid, Paris, Rome, Berlin, London, what more do you want?
07:56:21 <AnMaster> and of course Oslo, Helsinki, Stockholm, Copenhagen
07:56:54 <AnMaster> Warsawa (or is it Warsaw in English?)
07:57:33 <AnMaster> Hm Turkey, that would be Ankara
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:07:06 <fizzie> You've pretty much left most of Eastern Europe out. There's at least Tallinn, Riga, Vilnius, Budapest, Prague, Bucharest. And that's very much not an exhaustive list. (Also at least Vienna, Bern missing in Western/Central Europe.)
08:23:54 -!- poiuy_qwert has quit.
08:36:49 -!- deveah has joined.
08:44:53 -!- Slereah_ has joined.
08:52:11 <GregorR> AnMaster, fizzie: Now list all the state capitals of the US states and Canadian provinces :P
09:02:14 <fizzie> No idea about those. My knowledge of European geography is poor enough; of the other continents it's pretty much non-existent.
09:03:16 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
10:19:07 <AnMaster> I can do a bit better in Asia I think
10:19:40 <AnMaster> Seul (English spelling?), Tokyo, Bejing (again spelling, it is spelled "Peking" in Swedish...)
10:20:36 <AnMaster> Singapore, or is that part of China nowdays?
10:21:37 <AnMaster> Kuala Lumpur, Kathmandu, Islamabad
10:22:54 <AnMaster> Naypyidaw is Burma, not sure about spelling
10:24:29 <AnMaster> that's all in North America iirc
10:26:47 <AnMaster> Pretoria, Dakar, Dar es Salaam
10:31:42 -!- tusho has joined.
10:33:43 <Deewiant> Peking is valid in English as well, the more common is Beijing
10:34:13 <AnMaster> still I think I managed rather good
10:34:33 <AnMaster> compared to what most Americans manage about Europe
10:34:34 <Deewiant> don't know about that Burma one
10:34:49 <tusho> jesus christ AnMaster is still bitching about that?
10:35:03 <AnMaster> <GregorR> AnMaster, fizzie: Now list all the state capitals of the US states and Canadian provinces :P
10:35:27 <AnMaster> Deewiant, about the Burma one, I remember it from the news about the protests in Burma last year
10:35:28 <tusho> AnMaster: let's put it this way
10:35:34 <AnMaster> otherwise I wouldn't have known it
10:35:42 <tusho> knowledge about Sweden = isn't going to help anyone in the USA for shit
10:35:44 <AnMaster> tusho, I listed lots of capitals
10:36:03 <tusho> knowledge about USA for Swedes = helpful because it's one of the most powerful countries in the world and certainly the most noticable
10:36:14 <puzzlet> AnMaster: what's wrong with Sri Jayawardenapura-Kotte? ;)
10:36:29 <AnMaster> puzzlet, eh? don't think I know what that one is
10:36:43 <puzzlet> i've pasted that one from Wikipedia though
10:37:35 <tusho> AnMaster: see? You don't care that you know nothing about Sri Lanka.
10:37:38 <tusho> It's not relevant to you.
10:38:36 <tusho> Well don't call out on americans for not knowing much about Sweden. It's the same.
10:51:18 <tusho> http://en.wikipedia.org/wiki/Criticism_of_the_APL_programming_language
10:51:22 <tusho> http://en.wikipedia.org/wiki/APL
10:51:27 <tusho> http://en.wikipedia.org/wiki/APL_(programming_language)
10:52:35 -!- GreaseMonkey has quit ("HydraIRC -> http://google.com <- Go find something better").
11:19:56 <deveah> what's that s/foo/bar thing?
11:22:19 <tusho> deveah: look it up.
11:22:26 <tusho> http://en.wikipedia.org/wiki/Regular_expression
11:25:58 <oklopol> deveah: it's not just a regex
11:26:27 <oklopol> you find "from" from something someone said, usually the one doing the s thing, and replace it with "to"
11:26:45 <oklopol> so if i had typoed something to soemthnig there
11:27:21 <oklopol> s/a/b/ and s/a/b are both used
11:28:04 <oklopol> a can be any regexp, so you can do more complex stuff inside it to match something other than just a simple string, assuming your listeners aren't monkeys
11:34:02 -!- deveah has left (?).
12:03:05 -!- Sgeo has joined.
12:05:20 -!- sebbu has quit (Read error: 113 (No route to host)).
12:10:18 -!- sebbu has joined.
12:17:27 * Sgeo might get his computer back today!
12:18:11 * tusho might spam the same message in all channels today!
12:23:52 -!- Slereah__ has joined.
12:27:49 -!- tusho has quit ("And then-").
12:35:46 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
12:52:13 -!- Slereah_ has joined.
13:04:29 -!- tusho has joined.
13:10:26 -!- Corun has joined.
13:12:47 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
14:02:47 -!- Slereah__ has joined.
14:11:33 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
14:17:41 -!- Corun has quit ("This computer has gone to sleep").
14:25:20 -!- Corun has joined.
14:38:16 -!- ais523 has joined.
14:40:58 <Sgeo> WTF http://nethack.devnull.org/ why would a page give 400?
14:41:24 <psygnisfive> same reason all webpages would give a 400 error?
14:41:35 <tusho> WTF why would a page give a 404
14:41:40 <tusho> http response codes??
14:41:44 <tusho> why would you use those??
14:41:58 <Sgeo> tusho, why is it giving 400 not 404?
14:42:07 <tusho> Sgeo: Why is it giving 500 and not 404?
14:42:10 <tusho> Because they're different errors.
14:42:44 <Sgeo> But how is the browser trying to access it a 400? Isn't that for if I were to do ASDF instead of GET or somesuch thing?
14:43:04 <tusho> The server thinks the browser's request was bad.
14:43:23 <tusho> It's a server problem.
14:44:19 -!- pikhq has joined.
14:47:26 -!- ais523 has quit ("restarting X").
14:48:42 -!- ais523 has joined.
15:12:11 <tusho> ais523: seen the icfp entry in tex?
15:12:16 <tusho> http://sdh33b.blogspot.com/2008/07/icfp-contest-2008.html
15:12:25 <ais523> no, I haven't, but I knew it existed
15:14:04 -!- Corun has quit ("This computer has gone to sleep").
15:17:43 * pikhq groans while listening to people behind me updating a Mac. . .
15:18:07 <pikhq> You'd *think* that 'It Just Works' package management would be taken advantage of by Apple. . .
15:19:22 <tusho> pikhq: I've never had any problems with upgrading macs.
15:19:49 <pikhq> "We have to update foo, then bar, then baz, then qux..."
15:20:03 <psygnisfive> weird. what software are they talking about>
15:20:04 -!- tusho has quit ("And then-").
15:20:15 <pikhq> The OS, iTunes, Office, Firefox, etc.
15:20:29 <psygnisfive> the OS and iTunes updates are one click in software update
15:20:41 <psygnisfive> anything else is just software stuff external to it being a Mac.
15:20:51 <pikhq> Maybe I'm just spoiled by 'apt-get update&&apt-get upgrade' or 'emerge --sync&&emerge -avuDN world'.
15:21:14 <psygnisfive> i dont know how those word, so i cant comment.
15:21:19 <ais523> pikhq: it's even easier nowadays, you can do it from the GUI so you don't have to remember how apt-get works
15:21:36 <psygnisfive> i presume they update all apps that you have that are acquirable via apt-get?
15:21:45 <ais523> psygnisfive: that's it
15:21:51 <pikhq> They update every single program on a Linux box from the command line (the first is for Debian or Ubuntu, the second is for Gentoo).
15:21:54 <ais523> update lets you know which ones can be updated
15:21:57 <ais523> upgrade does the update
15:22:34 <pikhq> Hmm. Now, when was apt first written? '97?
15:22:36 <ais523> pikhq: actually, you don't need the first for ubuntu at all, it does the apt-get update automatically in the background as it doesn't change anything, and gives you an icon to click on to do the apt-get update if it's needed
15:22:43 <psygnisfive> dont know how well it'd work on a mac, tho, given that mac apps are all Cocoa
15:23:01 <psygnisfive> ive used apt-get on my mac but only for nix programs that never fucking work. :P
15:23:32 <psygnisfive> thats one reason i do my best to avoid linux. as much as i like linux, you have to be torvalds to get the damn thing to work.
15:23:38 <ais523> psygnisfive: not any more
15:23:53 <ais523> well, I'm not Torvalds
15:23:59 <ais523> I use the command line because I like it
15:24:05 <psygnisfive> ubuntu comes with no disk partitioner? what nonsense is this
15:24:05 <ais523> but I've done things GUI-style without trouble too
15:24:07 <oklopol> ubuntu was the easiest os i've ever seen
15:24:13 <psygnisfive> and then to install a partitioner, forget it
15:24:14 <ais523> psygnisfive: it has a disk partitioner in the install
15:24:22 <pikhq> ... But it *does* have a partitioner.
15:24:24 <oklopol> anything you wanna do, just ask here and write a line to the console :)
15:24:34 <psygnisfive> ais: i wasn't looking for one on the install
15:24:52 <pikhq> Gparted on Ubuntu, Qtparted on Kubuntu.
15:25:10 <psygnisfive> the ubuntu website provided instructions for installing gparted
15:25:14 <pikhq> Or, if you're willing to use the command line, fdisk.
15:25:31 <pikhq> Um. . . There shouldn't need to be instructions.
15:25:42 <pikhq> "In the package manager: install gparted."
15:26:54 <pikhq> If Google is down, then I think we have bigger issues to worry about.
15:27:02 <pikhq> Such as the nuking of California.
15:28:02 <pikhq> The command line, in theory, is not that hard to use on Linux. . .
15:28:09 <pikhq> Especially for package installation.
15:28:45 <pikhq> To install gparted on Ubuntu from the command line, for example? : sudo apt-get install gparted
15:28:49 <psygnisfive> i have a problem with the shit that doesnt work
15:29:10 <psygnisfive> which in my experience seems to be every god damned thing that requires the CL
15:29:33 <ais523> I'm just trying through the GUI
15:29:37 <ais523> Applications | Add/Remove
15:29:41 <ais523> and I searched for "partition"
15:29:53 <ais523> and "GNOME Partition Editor" was the only thing the search turned up
15:30:00 <ais523> I could just click on it and click on install now, and it would work
15:30:14 <psygnisfive> i didnt even know you could add programs like that. :D
15:30:46 <ais523> well, on Windows, Add/Remove only removes stuff
15:30:54 <ais523> on Ubuntu, and many other Linux distros, it adds stuff too
15:31:01 <ais523> and it has a pretty good range of things to add
15:31:09 <ais523> ofc behind the scenes it just runs the relevant apt-gets
15:31:14 <psygnisfive> im used to just downloading apps from their makers website.
15:31:17 <ais523> and gives you a pretty GUI for them
15:31:36 <ais523> psygnisfive: the issue with that is you end up with about 20 different auto-updaters in your system tray; on Ubuntu there's only 1
15:32:18 <psygnisfive> maybe ive been trying to install apps all wrong
15:32:33 <psygnisfive> i usually just follow the CL instructions on the netosphere
15:32:51 -!- Corun has joined.
15:34:11 <pikhq> If it's not of the form 'sudo apt-get install package-name', then the CL instructions are shit. Of course, the GUI is fairly handy if you're not a command line guru.
15:34:55 <psygnisfive> its the same if i compile it myself too tho.
15:34:59 -!- tusho has joined.
15:35:01 <ais523> psygnisfive: the command-line is normally harder if you're not used to it, but faster if you are
15:35:10 <psygnisfive> i tried installing gparted and i got some dependency errors
15:35:28 <psygnisfive> then i tried some other method, i forget what, and it worked no errors
15:35:31 <pikhq> ... Dependency *errors*? WTF?!?
15:35:47 <psygnisfive> i followed the instructions and it started installing JAVA.
15:35:49 <ais523> normally that means it depends on things that you told it not to download
15:35:51 <pikhq> Whatever instructions you were using were shit.
15:36:09 <psygnisfive> i think they were the instructions from the gparted people ;_;
15:36:22 <psygnisfive> well, i say "people" like there is such a thing
15:36:38 <tusho> ais523: I am running a script that tries to find a self-hashing crc32
15:36:46 <tusho> Until x == crc32(x)
15:36:54 <ais523> what if that enters a loop?
15:36:55 <tusho> Is this going to terminate in my lifetime?
15:37:14 <ais523> well, at least CRC32's reverse-engineerable
15:37:14 <tusho> psygnisfive: Uh, no.
15:37:18 <tusho> It just depends on CRC32's definition
15:37:26 <ais523> so you'd just have to solve a degree-33 polynomial
15:37:28 <tusho> We can make a pretty good guess.
15:37:36 <tusho> ais523: I just wanted an intuition, sheesh
15:37:37 <ais523> tusho: CRC32's a polynomial in base 2
15:39:42 <tusho> ais523: any intuitions?
15:39:54 <tusho> it's been going for a while
15:40:10 <ais523> tusho: it's very likely to end up in a loop, I think
15:42:40 * tusho considers a good hashing function to find a self-hash in
15:43:04 -!- Dewio has joined.
15:45:45 <AnMaster> ais523, updated yet? I'm working on a Def-BF implementation in C now
15:45:51 <ais523> AnMaster: pushing write now
15:46:07 <AnMaster> it will follow the standard. but... it will do it completely strange
15:46:12 <ais523> although I haven't added all those warnings you wanted, or unwarninged my own code
15:46:52 <AnMaster> ais523, if you were to parse a language like C, what would you use? I have no experience with flex or bison or such
15:47:05 <ais523> AnMaster: I'd use flex/bison
15:47:12 <ais523> or lex/yacc, the original versions of such
15:47:25 <ais523> AnMaster: flex and bison work together
15:47:30 <ais523> although it's possible to use just one of them
15:47:34 <ais523> flex tokenises the source
15:47:38 <ais523> bison parses sequences of tokens
15:47:38 <AnMaster> the language is rather simple really, brainfuck + a few instructions + functions
15:48:09 <AnMaster> ais523, so how would a flex file look for, say, brainfuck?
15:48:19 <ais523> it would be very simple for Brainfuck
15:48:28 <ais523> just a list of the possible characters
15:48:31 <ais523> and a token name for each one
15:49:16 <ais523> AnMaster: well, lexing would still be simple, as both { and } (say) are tokens, you'd match the { to the } in the parser
15:49:21 <AnMaster> the blocks use define: functionname[a, b, c, ...] [ bf code ]
15:49:53 <AnMaster> so it need to make a difference between what type of [ I assume?
15:50:38 <ais523> well, if you're using [ for two different things depending on context, you parse them both into [ in the lex/flex code and let yacc/bison tell the contexts apart
15:51:04 <AnMaster> ais523, file endings for flex is .l isn't it? and what is it for bison?
15:51:35 <ais523> there's lexer.l and oil.y and parser.y in C-INTERCAL if you want something to look at
15:51:40 <ais523> oil.y is a lot simpler than parser.y
15:51:41 -!- oklopol has quit (Read error: 113 (No route to host)).
15:51:43 -!- Corun has quit ("This computer has gone to sleep").
15:51:46 <ais523> because OIL is a lot neater than INTERCAL syntax-wise
15:52:07 <pikhq> AnMaster: Well, I could hand you my lexer for Def-BF. . . I'd hand you my parser, but it doesn't work.
15:52:11 <AnMaster> We have conflicts in the following files:
15:52:11 <AnMaster> Finished pulling and applying.
15:52:13 <pikhq> Shift/reduce conflicts galore.
15:52:16 -!- Dewio_ has joined.
15:52:35 <AnMaster> how do I make it throw away my version
15:53:28 <ais523> AnMaster: I haven't had a conflict before
15:53:33 <ais523> I think you edit the file to be what you want
15:53:36 <ais523> then call darcs resolve on it
15:54:52 -!- Dewi has quit (Nick collision from services.).
15:54:56 -!- Dewio_ has changed nick to Dewi.
15:56:53 <ais523> although normally the regexness isn't used except in cases like [0-9]+
15:56:55 <AnMaster> so, say \[[-+]\] would match [-] and [+]
15:57:07 <AnMaster> also first match selected I guess
15:57:12 <ais523> AnMaster: longest match, I think
15:57:40 <AnMaster> ais523, yacc just wants numbers in in-data?
15:57:49 <ais523> it wants token numbers
15:57:58 <ais523> each of which can have some data carried along with it
15:57:58 <AnMaster> and they are just defined somewhere?
15:58:08 <ais523> in the %token at the top
15:58:18 <ais523> basically you say %token followed by all your data
15:58:33 <ais523> and it outputs a header file
15:58:37 <ais523> giving a unique number to each token
15:58:40 <AnMaster> hrrm there is oil.y but no oil.l?
15:58:49 <ais523> AnMaster: yes, I did the lexing for OIL by hand, as it was simple
15:58:58 <ais523> you'll see the yylex function written, in C, at the bottom of that file
15:59:27 <AnMaster> if a special brainfuck instruction take an argument how do you do then
15:59:36 <AnMaster> ? takes a hex number as a parameter
16:00:40 <tusho> wow, ais523 is a walking yacc tutorial.
16:01:06 <ais523> AnMaster: it would be %token <int> SPECIALINSTRUCTION
16:01:10 <ais523> to define the token in the yacc file
16:01:18 <ais523> then you'd have to make sure yylex passed it an int somehow
16:01:22 <ais523> that's what %union is for
16:01:29 <ais523> but it's slightly complicated
16:03:36 <pikhq> In general, parsers and lexers are complicated, even if you know what you're doing.
16:04:29 <AnMaster> I written simple parsers in bash and such
16:04:41 -!- Dewio has quit (Read error: 101 (Network is unreachable)).
16:05:18 <AnMaster> ais523, say, if I expect the ? instruction to have a 64-bit value as a parameter, which is what I do
16:05:45 <AnMaster> oh looking at lexer.l it seems you use \( \), just like regexes
16:05:58 <ais523> yes, that's how it works
16:06:05 <ais523> and if you look at the { } block after it
16:06:05 <pikhq> Flex actually uses regexps. ;)
16:06:08 <tusho> Parsec is pretty much the only simple parser.
16:06:17 <ais523> it takes that value and atois it into a number
16:12:15 <tusho> LINERIDER REQUIRES SILVERLIGHT
16:13:31 * pikhq mutters about Silverlight being the worst thing for mankind since mankind
16:13:43 <ais523> not quite, but it's pretty bad
16:13:51 <tusho> LINERIDER WAS TOTALLY AWESOME
16:13:54 <tusho> NOW THEY'RE REQUIRING SILVERLIGHT
16:14:03 <tusho> YOU COULD HAVE DONE IT WITH FLASH TRIVIALLY YOU IDIOTS.
16:14:12 <tusho> WHY DEPEND ON SOME SHIT THAT ONLY WORKS ON WINDOWS AND SUCKS EVEN THEN
16:14:15 -!- Ilari has quit (""Won't be back for a while..."").
16:14:57 <AnMaster> ais523, an issue, seems like yyval stuff is 32-bit?
16:15:57 <ais523> AnMaster: you can choose the type of the data you send
16:16:02 <ais523> there's an int, always, for the token type
16:16:08 <ais523> and data it carries along with it which can be any type
16:16:48 <AnMaster> ?0x([0-9]+) { yylval.numval = atoll(yytext); return tok_pop; }
16:17:24 <ais523> AnMaster: you need to define yylval.numval, that's what the %union directive's for
16:17:39 <ais523> you can define it as long long, because that's what you want
16:18:16 <AnMaster> hm so how do you bind them together
16:19:41 <ais523> you can get yacc to generate the header file if you like
16:20:12 <ais523> in fact that's what messed up oklopol's C-INTERCAL installation recently, I accidentally gave them the wrong yacc-generated header file and all the token numbers were wrong
16:23:56 <ais523> AnMaster: they're references to regexen defined earlier in the file
16:24:06 <ais523> if you scroll up, you'll see their definitions
16:24:13 <AnMaster> also I guess // comments would be like: //.*$
16:24:34 <ais523> because I'm not sure which chars have to be escaped
16:24:43 <ais523> safest to escape all the punctuation chars
16:25:10 <AnMaster> hm... does it have to be a tab to separate the regex from the code processing it?
16:25:57 -!- Corun has joined.
16:27:08 <ais523> AnMaster: any whitespace works
16:27:18 <ais523> tabs are neater, though
16:27:50 -!- Slereah_ has joined.
16:29:20 <AnMaster> ais523, you said longest match? but what if a short one should take precedence?
16:29:48 <ais523> AnMaster: how could that be shorter than the thing that accidentally takes precedence over it?
16:29:54 <ais523> the longest-match rule is good for keywords
16:30:02 <ais523> if you end up violating it you're probably doing things wrong
16:30:11 <ais523> AnMaster: a multiline match that // commenting should take precedence over?
16:30:28 <AnMaster> ais523, a string beginning inside the // comment
16:30:43 <ais523> AnMaster: it's longest match from each particular point
16:33:50 <AnMaster> pikhq, what is a valid variable name and function name in Def-BF?
16:34:43 <pikhq> I'm saying [[:alpha:]_\-][[:alphanum:]]*
16:34:56 <pikhq> [[:alpha:]_\-][[:alphanum:]_\-]*
16:35:55 <AnMaster> pikhq, import: is anything until end of line?
16:36:35 <ais523> not sure, I'd recommend strdup
16:36:38 <pikhq> AnMaster: I'd assume so.
16:36:49 <ais523> I can't see why lex would be making deep copies itself
16:36:54 <ais523> because normally you don't need them
16:37:04 <ais523> only for identifiers do you need them
16:37:06 <pikhq> Though one may want to pester Rodger soon as he decides to /join #esoteric.
16:37:14 <ais523> and in professional compilers they tend to be hashed
16:37:17 <pikhq> He's currently on Freenode.
16:37:33 <pikhq> I'd start with strdup.
16:38:00 <pikhq> If you find yourself wanting a hash map for usage later, then it's not too hard to move to from strdup. . .
16:38:17 <AnMaster> define: functionname[var, var, var, ...]
16:38:24 <AnMaster> can't do that in one single regex really
16:38:41 <pikhq> That's done in Yacc, not Lex, for starters.
16:38:58 <AnMaster> so would doing something like: ^import:{W}(.+)$ { yylval.str = strdup(yytext); return tok_import; }
16:39:22 <ais523> so you don't use it to match brackets or anything like that
16:39:34 <ais523> basically you're there defining import to be outside the normal structure of the language
16:39:37 <ais523> which may be what you want
16:40:01 <AnMaster> well it will take a filename as parameter
16:40:02 <pikhq> Believe me, import: is a token.
16:40:09 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
16:40:18 <pikhq> So, that's probably valid.
16:40:24 <AnMaster> pikhq, oh? but it will be resolved at compile time right?
16:40:45 <pikhq> Though I *think* that line will have yytext also including the "import:" string.
16:40:46 <ais523> AnMaster: what do you mean by that?
16:40:54 <pikhq> *That* is probably not what you want.
16:41:02 <ais523> pikhq: yes, I think so, there's a different directive to get the first () group IIRC
16:41:07 <ais523> but it's a while since I messed with that particular syntax
16:41:22 <pikhq> I recommend pulling up the flex manual.
16:41:32 <ais523> yes, info flex is excellent
16:41:42 <pikhq> GNU's documentation generally is.
16:41:52 <AnMaster> pikhq, I'm looking at it's website's doc
16:42:07 <pikhq> Same exact documentation.
16:42:30 <pikhq> Just a different argument to infotex to make it output HTML instead of .info, after all.
16:42:44 -!- RodgerTheGreat has joined.
16:43:44 <AnMaster> in Def-BF how are the arguments to ? given?
16:43:54 <pikhq> RodgerTheGreat: AnMaster is the guy working on Def-BF (obviously). Enjoy. ;)
16:44:21 <AnMaster> RodgerTheGreat, I'd assume hexdecimal for now
16:44:33 -!- Corun has quit ("This computer has gone to sleep").
16:44:37 <RodgerTheGreat> I think the original idea was to allow both 0x1234 and regular integer representations
16:45:01 <RodgerTheGreat> having both would be convenient, but you can have just hex at the lowest level if you want
16:45:03 <pikhq> Since it might be a while before I actually get Def-BF sanely working, I'll end up following AnMaster's semantics for the most part.
16:45:05 <tusho> RodgerTheGreat: anmaster's implementation is a VM in C, just FYI
16:45:14 <tusho> not the to-the-metal one you were going to do, iirc
16:45:32 <AnMaster> as I'm learning flex/bison at the same time
16:45:51 <pikhq> Hell, if his implementation is flexible enough, I'll just make an asm backend.
16:45:52 <RodgerTheGreat> and if it makes it easier to develop while it builds interest, it's a good tradeoff
16:46:38 <AnMaster> the pre-processor will strip all function information and such, and just generate the basic commands part
16:47:27 -!- oklopol has joined.
16:47:40 <AnMaster> RodgerTheGreat, what about standard library?
16:48:04 <AnMaster> the second tier will generate one additional instruction, "use compiler implementation of this standard library function"
16:48:24 <RodgerTheGreat> AnMaster: I intended for the standard library to be coded in the language whenever remotely possible
16:48:36 <AnMaster> yes but the compiler could optimize some
16:48:56 <RodgerTheGreat> some kind of external call (to C functions, for example, as pikhq has been thinking about) would be useful though, yes
16:50:22 <RodgerTheGreat> I'd say, write the standard libs first, and then say somewhere in the spec that compilers may substitute their own implementations as long as they produce the same behavior
16:50:25 <AnMaster> my apps will be called: dbc and dpp
16:50:49 <pikhq> RodgerTheGreat: I'd also recommend differentiating between a hosted and freestanding implementation, as C does.
16:51:23 <pikhq> (a hosted implementation is running on a working OS, with a stdlib. A freestanding implementation is on bare metal: no stdlib)
16:51:54 <RodgerTheGreat> well, I figure at least initially we'll go with an entirely statically-linked scheme
16:52:22 <RodgerTheGreat> as I imagine that's the implementation difference between those approaches
16:53:23 <ais523> RodgerTheGreat: they're terms in the C standard, "hosted" means you're guaranteed to have all the standard library and main works as you expect, "freestanding" means that only a small amount of the stdlib need be there (for instance you might not have printf) and the calling conventions can be strange
16:53:48 <pikhq> A freestanding implementation has barely anything.
16:54:30 <pikhq> GCC's freestanding mode, IIRC, just has a few builtin functions from math.h.
16:54:39 <RodgerTheGreat> well, when I say "standard library", I tend to think of it like the Java API- it's a set of tools you're guaranteed to have in every implementation, thus the value of writing them in the language itself.
16:54:55 <AnMaster> http://rafb.net/p/cq8ROs23.html
16:55:02 <pikhq> A systems programming language can't be that way. ;)
16:55:09 -!- lilja has joined.
16:55:41 <RodgerTheGreat> pikhq: that isn't necessarily true. The standard library doesn't need to be huge and sprawling
16:55:46 <pikhq> Realistically, it *will* be running in environments without anything set up except maybe the BIOS.
16:56:17 <pikhq> And if it's starting up from 32-bit mode on an x86, it won't even have that.
16:57:03 <RodgerTheGreat> I'm imagining the standard library as consisting of things like array manipulation, string stuff, complex math, possibly some simple data structures and a few I/O helper functions
16:57:31 <RodgerTheGreat> I'm not saying it should come standard with an XML parser or something
16:57:39 <ais523> with freestanding, you mostly just get things like limits.h and setjmp
16:57:42 <ais523> nothing fancy like malloc
16:57:56 <pikhq> You're saying something closer to PEBBLE's standard macros, then.
17:01:33 <RodgerTheGreat> but I hope it's clear that all of those things can be cleanly and portably implemented in Def-BF itself, so there's no reason for them not to be available at compile-time
17:02:43 <tusho> RodgerTheGreat: You need malloc for string manip.
17:09:55 -!- Hiato has joined.
17:13:57 <tusho> AnMaster: OK, most of the time, for most operations.
17:14:03 <AnMaster> memcpy(), strstr(), there are a few
17:14:28 <ais523> tusho: you don't need malloc for string manipulation, just to make new strings
17:14:34 <ais523> which you often want to do as a result of string manipulation
17:14:36 <tusho> ais523: sometimes you do!
17:14:41 <ais523> in-place manipulation rarely needs malloc
17:14:52 <ais523> tusho: even an in-place concat doesn't need malloc if you have the space beforehand
17:14:59 <ais523> which you can do in many circumstances
17:15:06 <AnMaster> tusho, what about passing pointers to pre-allocated buffers around
17:15:11 <tusho> well yes these are all very valid
17:15:25 <tusho> RodgerTheGreat envisioned array manipulation and data structures
17:15:31 <tusho> i'll bet you're gonna need malloc somewhere along the line for THEM
17:15:43 <tusho> perhaps def-bf should have a two tier library, RodgerTheGreat, pikhq
17:15:49 <tusho> tier one will run on even the bare metal
17:15:55 <tusho> tier two requires things like malloc and other niceties
17:16:12 <tusho> so you can use tier one to implement all the basics for an OS and then get tier two
17:19:47 <AnMaster> hm is a recursive parser stupid or?
17:20:06 <RodgerTheGreat> AnMaster: sometimes it's really easy to implement that way
17:20:18 <AnMaster> yes it is here in the low level tier
17:21:35 <RodgerTheGreat> in general I think we should be thinking about eventually making this self-hosting (which is important for it to become a serious systems programming language of any kind), so we shouldn't make use of things we don't know how to implement ourselves
17:22:29 <AnMaster> RodgerTheGreat, I don't plan to write a Def-BF compiler in Def-BF
17:22:50 <pikhq> I would be quite willing to, once I know a hell of a lot more about parsers.
17:23:01 <pikhq> I know *just* enough to use Yacc ATM.
17:23:02 <oklopol> AnMaster: well there are other people who know how to code
17:23:26 <oklopol> yacc is for noobs, parsers should be written manually :P
17:23:44 <pikhq> Once I know enough to hand-write, say, a recursive descent parser, then I'd be quite willing to implement Def-BF in Def-BF.
17:24:17 <oklopol> it's not as hard as you'd think
17:24:48 <ais523> oklopol: I actually wrote an LALR(1) parser in VBA once
17:24:52 <AnMaster> well for now I will. parse it as hexdecimal
17:24:54 <ais523> back when I didn't have access to any decent programming languages
17:25:11 <RodgerTheGreat> it takes time and can be a little tedious, but it isn't tremendously hard if the syntax is straightforward
17:25:14 <oklopol> i heard about parsing during my python time
17:25:49 <oklopol> and that is something i never invented myself
17:26:14 <pikhq> oklopol: I might just wait for the college class on it.
17:26:20 <pikhq> Key word: *might*.
17:26:28 * tusho wants to see oklopol's Parserless Languge
17:26:39 <pikhq> We'll see once I've got a Def-BF kernel running. ;)
17:26:47 <tusho> oklopol: but just about everything is a parser
17:26:49 <tusho> e.g. a brainfuck parser
17:26:53 <oklopol> i have this one basic with operator precedence and all, without parsing
17:26:59 <tusho> you still parse it
17:27:00 <oklopol> just strings and rewrite rules :))
17:27:03 <tusho> it's just mingled with the interpretation
17:27:09 <ais523> tusho: what about MiniMAX?
17:27:11 <oklopol> err well yes, i read the strings.
17:27:16 <oklopol> but i don't use anything like lists
17:27:20 <ais523> the version where you have to write the program in binary doesn't seem to need a parser
17:27:22 <tusho> ais523: that's about as close to parserless as youc an get
17:27:24 <ais523> you just blit the program into memory
17:27:31 <oklopol> tusho: well duh, that's not what i meant and you know it
17:27:50 -!- olsner has joined.
17:28:23 <oklopol> if you have "parsing" to mean that the interpreter reads your source before it executes it, then yes, everything needs to be parsed
17:28:43 <oklopol> except for a few languages where programs are empty, in which case it's not clear
17:29:21 <oklopol> i guess you could say i never had a separate parsing stage, jsut.
17:30:53 <ais523> oklopol: what if the program's just blitted into memory?
17:32:35 <oklopol> well then you're not really doing the interpreting yourself
17:32:45 <oklopol> i'd say the processor will still parse
17:32:50 <oklopol> err, well not the processor
17:32:58 <oklopol> that guy who gives it the shit to run
17:34:31 * oklopol shows extreme knowledge about hardware
17:39:20 <AnMaster> yay what a nice recursive parser I made
17:42:09 -!- Corun has joined.
17:42:40 <oklopol> anyone have a nice java disassembler nearby?
17:51:39 -!- Slereah__ has joined.
18:05:38 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
18:05:50 -!- Slereah_ has joined.
18:17:03 <psygnisfive> since its obviously not a set, nor is it an identity
18:19:21 <lament> well, not the song, the singer is whiny.
18:23:09 <AnMaster> http://rafb.net/p/fdXBOV79.html
18:23:34 <pikhq> Sweet; you can parse Brainfuck.
18:23:37 <tusho> Congratulations you implemented brainfuck.
18:23:56 <tusho> AnMaster: You parsed all of it apart from the bit that wasn't brainfuck.
18:24:01 <tusho> You can parse brainfuck! Awesome.
18:24:14 <tusho> You can't parse brainfuck.
18:26:24 <AnMaster> tusho, oh the bug was in the tree dumping code
18:26:30 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
18:30:18 * pikhq will be sure to steal your parser. :p
18:30:40 <pikhq> Hmm. Out of curiosity, why are you having [-] as its own little bit of syntax?
18:31:40 <ais523> pikhq: that's how e's optimising it
18:31:47 <ais523> but that should be in the parser not the lexer really
18:32:27 <tusho> It shouldn't be in the parser.
18:32:31 <tusho> It should be in a seperate optimizer step.
18:32:36 <pikhq> That should be a transformation on the parsed tree.
18:32:36 <tusho> So that [><-] can be optimized.
18:32:42 <tusho> So that >< is eliminated
18:32:52 <tusho> i think that's called peephole optimization
18:33:03 <pikhq> I guess your optimization is just not yet done, then.
18:33:05 <AnMaster> tusho, well the >< step isn't implemented yet
18:33:14 <ais523> maybe I should make a Brainfuck version of OIL...
18:33:16 <AnMaster> currently the optimize step only handles [-] and [+]
18:33:26 <tusho> ais523: nah, the compiler language is more expressive for this
18:33:31 <AnMaster> it will handle renumbering and so on
18:33:32 <tusho> since there's a lot of complex opts
18:33:37 <tusho> that need a lot of computation and lookahead/behind
18:34:03 <AnMaster> however the [-] is converted to a single new token in the optimize step
18:34:07 -!- Corun has quit ("This computer has gone to sleep").
18:34:54 <pikhq> Convert that [-] to ?0x0. ;)
18:35:26 <AnMaster> pikhq, well it is it's own value now, as I thought brainfukc
18:35:32 <AnMaster> brainfuck* but that would work
18:36:29 <AnMaster> also for most other things the param will be count of instruction
18:36:40 <AnMaster> will also be done in optimizer
18:37:41 <pikhq> Hmm. This makes me half-tempted to learn how to write a GCC frontend.
18:46:55 -!- 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"").
18:52:57 -!- Corun has joined.
18:56:17 <AnMaster> psygnisfive, because it's first time I do it I guess
18:56:28 <tusho> i guess AnMaster can implement basic esolangs, and optimize things to hell
18:56:30 <tusho> that'd explain cfunge
18:56:39 <psygnisfive> i mean, i guess its hard because C requires that you fuck with strings in nasty ways but
18:56:47 <tusho> psygnisfive: still not that hard
18:56:55 <AnMaster> psygnisfive, no string handling needed really
18:56:55 <tusho> i mean a lot of the time you can just print it out as you go
18:57:04 <AnMaster> just trying to figure out how to generate code the best way
18:57:10 <tusho> AnMaster: fprintf.
18:57:21 <tusho> and a switch around the type of the instruction in a main loop
18:57:26 <AnMaster> it was how to use gotos and so
18:58:11 <AnMaster> the generated code will use gotos
18:58:16 <AnMaster> it's the only sane way for jump
18:58:25 <tusho> i mean goto is fine in generated code
18:58:26 <AnMaster> % jump to absolute address in code
18:58:26 <AnMaster> : resume execution from previous address
18:58:28 <tusho> but why do you need to use it
18:59:01 <tusho> psygnisfive: blame AnMaster
18:59:12 <psygnisfive> someone should make a keyboard map that swaps space and return
18:59:37 <psygnisfive> i downloaded the Theory of Computation torrent
19:00:20 <oklopol> send i like virtual bookers
19:00:33 <oklopol> well that's a bit too much send like 29 of them
19:00:52 <oklopol> just take some bits of the torrent file and i think that'll do it
19:02:19 -!- cherez has quit ("Leaving.").
19:04:15 <psygnisfive> http://www.wellnowwhat.net/transfers/Theory%20of%20Computation.zip
19:07:02 <tusho> psygnisfive: AnMaster thinks that he's being spied on
19:07:04 <tusho> downloading illegal material.
19:07:13 <AnMaster> which is why I won't do it anyway
19:07:16 <Deewiant> and he thinks that https would help
19:07:43 <tusho> Deewiant: I was leaving that bit of humour to the reader.
19:07:48 <tusho> Subtlety and all that.
19:08:23 <tusho> don't worry AnMaster
19:08:27 <tusho> they're probably DIRTY PDFs
19:08:29 <tusho> you couldn't read them anyway
19:09:08 <AnMaster> I think... I will have to use setjmp
19:09:25 <AnMaster> but it is the only possible way to do resume from jump
19:09:33 * tusho bets AnMaster's code generator handles indentation
19:10:22 <tusho> AnMaster: are you planning on submitting -object code- to a C Beauty Contest or something
19:10:24 <tusho> because you are batshit fucking insane
19:10:47 <tusho> AnMaster: I was being sarcastic
19:10:50 <AnMaster> I wouldn't have done it unless you mentioned it
19:11:53 <pikhq> God gave man indent(1) for a purpose.
19:12:06 <AnMaster> or I could use the computed goto's of gcc
19:12:07 -!- Corun has quit ("This computer has gone to sleep").
19:12:11 <AnMaster> but I don't want to be gcc specific
19:13:44 <tusho> pikhq: God gave us AnMaster so that we could say things like that and they would go straight from his ears to /dev/null,
19:13:50 <tusho> Why God was so evil I will never know.
19:14:09 <AnMaster> tusho, actually I won't indent the code
19:14:13 <pikhq> And Jesus his PFY.
19:14:25 <AnMaster> but doesn't C-INTERCAL indent it's code?
19:14:34 <tusho> AnMaster: It's not amusing.
19:14:38 <tusho> It's something you would do.
19:14:59 <tusho> not fully, AnMaster
19:15:05 <tusho> i.e. like 3 lines of code
19:17:15 <AnMaster> actually I will have to generate gcc specific code
19:20:00 <tusho> AnMaster: use a switch
19:20:21 <tusho> then to 'goto var'
19:20:29 <tusho> pretty standard stuff
19:20:35 <tusho> and switch fallthrough makes it work elegantly
19:20:47 <AnMaster> oh I can't do loops as while blocks I guess, I need to jump into them
19:21:09 <AnMaster> tusho, yes I see what you mean
19:21:17 <tusho> AnMaster: yes you can
19:21:19 <tusho> switch is freeform
19:21:29 <tusho> will go to the toplevel switch
19:21:38 <AnMaster> oh yes.... forgot that C "feature"
19:21:45 <AnMaster> that you can jump into other blocks
19:21:58 <tusho> congrats, you're a duff-devicer ("one who abuses the freeform behaviour of switch in C").
19:22:47 <AnMaster> yes I know about duff's device
19:22:55 <lament> is there a reason for switch behaving the way it does?
19:23:27 <oklopol> so that noobs would fail and you could laugh at them?
19:24:22 <tusho> lament: it's simpler to implement
19:24:29 <tusho> and it allows for tricks like this
19:24:34 <tusho> which was relevant in the 70s
19:24:45 <tusho> switch () { ... } is just a goto
19:24:48 <tusho> and 'case x' a label
19:24:51 <tusho> thus why it's case x:
19:24:54 <tusho> not case (x) { ... }
19:25:07 <AnMaster> tusho, most likely it is a goto into a jump table
19:25:18 <AnMaster> which then points to the code bit in question
19:25:40 <AnMaster> so you can just do something like: JUMP_RELATIVE_PC variable
19:25:55 <lament> tusho: i don't buy that
19:26:02 <tusho> lament: then don't
19:26:28 <oklopol> case'0':case'1':case'2': etc
19:26:41 <oklopol> not that i know, just always assumed
19:27:03 <oklopol> psygnisfive: what upload? :D
19:27:21 <oklopol> where did you upload them?
19:27:30 <tusho> the reason is that partly oklopol
19:27:33 <tusho> case a: case b: case c:
19:27:35 <psygnisfive> http://www.wellnowwhat.net/transfers/Theory%20of%20Computation.zip
19:27:43 <tusho> and the easiest way to do that?
19:29:34 <oklopol> reasons raisins, no one cares about reasons
19:39:02 -!- Corun has joined.
20:23:20 <oklopol> sorry, it's just i've never used that so that it made even remotely sense.
20:25:13 -!- kotrin has joined.
20:26:22 -!- kotrin has left (?).
20:38:45 <AnMaster> well it generates a executable that compiles now
20:46:59 <tusho> You know, AnMaster, Def-BF isn't exactly hard.
20:47:13 <AnMaster> tusho, well I never generated C code before
20:47:22 <tusho> Yeah because generating C is so hard
20:48:32 <oklopol> i've generated c code manually, like a true codar
20:48:58 <AnMaster> tusho, but I admit this is my first compiler
20:49:01 <oklopol> bow before me and shit, this stuff is bigger than ya.
20:49:03 <AnMaster> as in compile to other language
20:49:28 * tusho bows before oklopol
20:49:38 <AnMaster> pikhq, I figured out one extra instruction I need when optimizing, constant call
20:49:48 <AnMaster> pikhq, if the instruction just before is a load constant
20:55:57 <oklopol> constant call, it's the friend of the damned, press its buttons and you'll know its name...
20:58:53 -!- Corun has quit ("This computer has gone to sleep").
21:02:42 -!- Hiato has quit ("Leaving.").
21:03:03 <oklopol> I'm the Scatman....repeat after me
21:03:03 <oklopol> It's a scoobie oobie doobie scoobie doobie melody
21:03:05 <oklopol> I'm the Scatman....repeat after me
21:03:05 <oklopol> It's a scoobie oobie doobie scoobie doobie melody
21:03:41 <oklopol> the actual chorus @ the lyrics i copied from...
21:04:23 <oklopol> although i guess that's funnier.
21:04:55 <oklopol> perhaps i still do, haven't heard it for ages
21:09:28 <psygnisfive> in the music video theres this boy thats hot
21:09:59 <oklopol> if it rhymes it must be true.
21:12:19 <AnMaster> I will do just to irritate tusho
21:12:41 <tusho> actually mmap is less work than reallocating a buffer all the time
21:18:12 -!- pikhq has left (?).
21:34:19 -!- Corun has joined.
21:37:31 <AnMaster> RodgerTheGreat, what is the file extension for Def-BF?
21:43:26 -!- atsampson has quit (Read error: 104 (Connection reset by peer)).
21:44:31 <AnMaster> oh wait call doesn't work completely
21:44:48 <tusho> RodgerTheGreat: .bf is befunge
21:44:52 <tusho> may I suggest .defb
21:45:04 -!- atsampson has joined.
21:45:58 <AnMaster> tusho, he said .dbf not .defbf
21:46:29 <tusho> 'bf' means befunge in file extensions
21:46:33 <tusho> so .defb is better
21:46:54 <tusho> .defbf would be acceptable also
21:47:14 <tusho> AnMaster: that's why I pinged RodgerTheGreat
21:47:31 <AnMaster> $ ./dbc -o tmp/helloworld.c tmp/helloworld.b
21:47:31 <AnMaster> File written to tmp/helloworld.c, to compile use:
21:47:43 <tusho> RodgerTheGreat: conflicts with database
21:47:49 <tusho> that's a common sqlite extension
21:47:54 <AnMaster> RodgerTheGreat, call stack is broken
21:48:02 <Deewiant> tusho: there are always conflicts
21:48:13 <tusho> Deewiant: but .defb and .defbf are unlikely to.
21:48:18 <Deewiant> if you want one <= 4 chars, at least
21:49:18 <Deewiant> sorry, it's a "Data Flask Data Formula File"
21:49:19 <AnMaster> ==2443== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 5 from 1)
21:49:19 <AnMaster> ==2443== malloc/free: in use at exit: 0 bytes in 0 blocks.
21:49:19 <AnMaster> ==2443== malloc/free: 114 allocs, 114 frees, 5,088 bytes allocated.
21:49:21 <Deewiant> http://filext.com/file-extension/dfb
21:49:30 <tusho> Deewiant: .db is pretty conflicty though.
21:49:40 <tusho> and bf means befunge in file extensions
21:49:42 <Deewiant> sure, but on the other hand that makes it a good file extension in some cases
21:49:47 <AnMaster> ==2559== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 5 from 1)
21:49:47 <AnMaster> ==2559== malloc/free: in use at exit: 0 bytes in 0 blocks.
21:49:47 <AnMaster> ==2559== malloc/free: 1 allocs, 1 frees, 65,536 bytes allocated.
21:49:53 <Deewiant> in this case, though, I wouldn't go with it.
21:51:04 <AnMaster> the file extension of brainfuck is .b
21:52:02 <AnMaster> Deewiant, well I give same issue
21:52:11 <Deewiant> and why would you care about DOS
21:52:15 <AnMaster> as Def-BF is a system programming language
21:52:20 <AnMaster> what if they port FreeDOS to it?
21:52:47 <Deewiant> freeDOS supports beyond 8.3 doesn't it?
21:53:05 <AnMaster> anyway I know a good extension
21:53:21 <Deewiant> anything 1-char is taken many times over
21:53:29 <Deewiant> anything 2-char is taken at least once
21:53:53 <AnMaster> Deewiant, sure .c is taken more than once?
21:54:05 <tusho> AnMaster: of course
21:54:09 <Deewiant> http://filext.com/file-extension/c
21:54:21 <tusho> not all the world is C, AnMaster
21:54:37 <lament> actually, all the world is C.
21:57:00 <AnMaster> Program and/or Extension Function [What's This?] Company [What's This?]
21:57:14 <AnMaster> Program and/or Extension Function [What's This?] Company [What's This?]
21:58:03 <Deewiant> yeah, it's crap because it's case-insensitive
21:58:17 <tusho> Deewiant: just about everything should be case-insensitive really
21:58:21 <tusho> filesystems, web servers
21:58:28 <tusho> humans _don't_ distinguish things just based on their case
21:58:33 <tusho> so it's really stupid
21:59:29 <Deewiant> depends on the language, of course
21:59:44 <Deewiant> but most things are built with English in mind
22:01:08 <tusho> Deewiant: 'God' vs 'god' is a ridiculous religious notion and requires explicit effort from humans.
22:01:17 <tusho> It wouldn't happen if they weren't commanded to by 'God'.
22:01:50 <lament> "I helped my uncle Jack off a horse" vs. "I helped my uncle jack off a horse"
22:01:58 <Deewiant> ah yes, that's the good example :-)
22:02:45 <tusho> names are the exception
22:02:57 <tusho> however, consider http://awesomefamily.org/Jack/
22:03:00 <lament> "God" is similar to a name
22:03:02 <Deewiant> and we were talking file _names_ right ;-)
22:03:03 <tusho> http://awesomefamily.org/jack/
22:03:11 <tusho> in English text, for names, it matters.
22:03:18 <tusho> In filenames, I doubt it ever will.
22:03:37 <lament> that's why all sane operating systems are already case-insensitive :D
22:03:58 <Deewiant> case-sensitivity but with case-insensitive matching might be a good middle ground
22:04:15 <lament> Deewiant: and that's exactly what Windows and OS X do.
22:04:17 <Deewiant> e.g. Jack and jack are different but if you only have one, any case matches it
22:04:38 <Deewiant> the way I see it you could still have both Jack and jack coexist
22:04:43 <lament> i thought you could have both Foo.txt and foo.txt but you can't :(
22:04:47 <Deewiant> in Windows you can't, at least
22:04:56 <tusho> lament: that is just confusing though
22:05:03 <tusho> it leads to nothing but mistakes
22:05:24 <tusho> case-insensitive but case-preserving is basically the sane way to do this
22:05:36 <tusho> In fact you can generalise it
22:05:45 <tusho> matching-insensitive but creation-preserving
22:05:45 <lament> perhaps the biggest argument against case sensitivity is that it's just too difficult in general
22:05:49 <Deewiant> in Windows you can't rename something changing only its case :-/
22:05:49 <lament> although it works fine for English
22:05:52 <tusho> that can apply to tons of stuff
22:05:59 <tusho> Deewiant: that is a flaw, yes
22:06:02 <tusho> same with os x's HFS
22:06:06 <tusho> you have to go to another temp name
22:06:09 <tusho> that is just a technical flaw
22:06:16 <lament> it works for me in OS X
22:06:29 <tusho> lament: open up a terminal
22:06:33 <tusho> mv foo.txt Foo.txt
22:06:51 <lament> both with mv and in Finder
22:07:11 <tusho> % mv test.txt Test.txt
22:07:11 <tusho> mv: `test.txt' and `Test.txt' are the same file
22:07:17 <tusho> maybe leopard fixed t
22:07:43 <tusho> but I assume he is
22:07:47 <tusho> since he mentions case-insensitivty
22:07:52 <tusho> also installing OS X on non-HFS stuff is a bitch
22:07:54 <lament> how do i see what the filesystem is?
22:07:59 <tusho> lament: disk utility
22:08:38 <lament> "Format :Mac OS Extended (Journaled)"
22:09:05 <Deewiant> haven't tried Vista in this regard, maybe they fixed that there, too ;-)
22:09:49 <tusho> 'hopeful' and vista, *g*
22:10:39 <Deewiant> tusho: this is more of that subtlety you were telling me about. ;-)
22:10:59 <tusho> Deewiant: it only applies to other people
22:11:09 <lament> the problem with case sensitivity is that it's too hard
22:11:15 <lament> unless you restrict yourself to English
22:24:29 -!- pikhq has joined.
22:25:52 <oklopol> well actually i think you've always been able to do it in explorer
22:28:07 <Deewiant> hmm, apparently I'm talking out of my ass and you can
22:28:15 <Deewiant> I wonder what it was that didn't work then
22:33:17 -!- Corun has quit ("This computer has gone to sleep").
22:33:28 <tusho> would you live in a police state
22:33:49 <pikhq> Because, properly speaking, that would be a ninja state.
22:36:33 <oklopol> well life would be the exact same really
22:36:55 <oklopol> heh, god i love ninja jokes
22:37:05 <oklopol> ninja parade & ninja tea party ftw
22:37:16 <tusho> oklopol: exact same ... except for ...
22:37:23 <Deewiant> I wouldn't live in a police state, especially one where the cops can kill you without you ever noticing they're there
22:37:44 <tusho> NINJA POLICE STATE.
22:38:37 <Deewiant> hence police state, hence I wouldn't live there, given the choice. :-P
22:38:43 <tusho> WHAT IS WRONG WITH YOU.
22:38:47 <tusho> FUCKIN' NINJA POLICE.
22:39:10 <Deewiant> ninjas are cool only when they're not actively trying to mess with you
22:39:41 <tusho> Ninjas are the DEFINITION OF COOL POLICE.
22:39:49 <tusho> Therefore, Ninja police state = Cool police police state
22:40:19 <Deewiant> no matter how cool that's still a police state. Sorry! ;-)
22:40:51 <pikhq> It's cool * -cool.
22:41:11 <pikhq> It's therefore worse than being just -cool (or, that is, uncool).
22:42:06 <tusho> pikhq: But it's NINJA POLICE STATE
22:42:15 <tusho> That's (cool*A(g64,g64))+-cool
22:42:21 -!- Slereah__ has joined.
22:42:30 <tusho> Slereah_: Would YOU live in a ninja police state?
22:42:35 <tusho> A police state, but the police are NINJAS.
22:43:45 <pikhq> tusho: Times, not plus. :p
22:54:48 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
22:55:11 -!- Slereah_ has joined.
23:01:59 -!- Judofyr has quit.
23:06:25 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
23:09:24 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
23:28:22 -!- Slereah__ has joined.
23:45:03 -!- Corun has joined.
23:47:27 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
23:47:39 -!- Slereah_ has joined.
23:48:57 <pikhq> Some days, I hate Gentoo.
23:49:09 <pikhq> "No disk space available". . .
23:49:21 <pikhq> When the partition in question is only 70% used. . .
23:50:20 <pikhq> If I get that error again, now that the disk is only 56% used, I'm kicking someone in the shin.
23:50:29 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
23:51:12 <oklopol> okay i sense there is something wrong, but i don't know what, because my train of thought got intercepted
23:56:16 <oklopol> the fun thing is i have no idea whether it's a seriously depressing thought, or something like "this is a bad name for this function"
23:56:21 <oklopol> it often takes ages to remember what it was
23:56:55 <oklopol> failed an oko on a channel, and kinda only half-noticed i did.
23:57:09 <oklopol> usually they're at least a little worse :)
00:02:10 -!- Corun has changed nick to NotAFly.
00:02:43 -!- NotAFly has changed nick to Corun^NAF.
00:07:38 -!- cmeme has quit ("Client terminated by server").
00:07:49 -!- cmeme has joined.
00:16:22 -!- Slereah__ has joined.
00:21:18 -!- Corun^NAF has changed nick to SteveWobs.
00:21:52 -!- SteveWobs has changed nick to Corun.
00:22:01 <oklopol> psygnisfive: www.vjn.fi/oklopol
00:34:16 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
00:36:15 -!- tusho has quit.
00:53:29 -!- Slereah_ has joined.
01:06:32 -!- calamari has joined.
01:12:37 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
01:46:08 -!- RodgerTheGreat has quit (Read error: 60 (Operation timed out)).
02:09:30 -!- Slereah__ has joined.
02:16:03 -!- cherez has joined.
02:28:28 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
03:06:45 -!- CakeProphet_ has joined.
03:07:19 -!- CakeProphet has quit (Nick collision from services.).
03:07:25 -!- CakeProphet_ has changed nick to CakeProphet.
04:22:16 -!- RodgerTheGreat has joined.
04:27:42 -!- Corun has quit ("This computer has gone to sleep").
05:01:20 -!- pikhq has quit ("leaving").
06:05:16 -!- GreaseMonkey has joined.
06:33:54 -!- cmeme has quit ("Client terminated by server").
06:34:05 -!- cmeme has joined.
07:10:10 -!- augur has joined.
07:10:10 -!- psygnisfive has quit (Read error: 54 (Connection reset by peer)).
07:10:42 -!- augur has changed nick to Guest76788.
07:55:05 -!- calamari has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:20:39 -!- CakeProphet has quit ("lolwhut?").
09:23:57 -!- CakeProphet has joined.
09:26:09 -!- olsner has quit ("Leaving").
10:26:54 <AnMaster> <pikhq> Some days, I hate Gentoo.
10:26:54 <AnMaster> <pikhq> "No disk space available". . .
10:26:54 <AnMaster> <pikhq> When the partition in question is only 70% used. . .
10:26:54 <AnMaster> <pikhq> If I get that error again, now that the disk is only 56% used, I'm kicking someone in the shin.
10:27:12 <AnMaster> ext2/3 reserves some space for root
10:27:49 <AnMaster> can be changed using tune2fs or whatever it is called
10:28:59 -!- tusho has joined.
10:29:35 <tusho> AnMaster: You need to support locales in a modern OS already.
10:29:45 <AnMaster> tusho, yes but it will differ between locales
10:29:50 <AnMaster> so on some it should be the same
10:30:02 <tusho> AnMaster: no not really
10:33:23 -!- Judofyr has joined.
10:35:22 -!- GreaseMonkey has quit ("HydraIRC -> http://google.com <- Go find something better").
10:36:59 <AnMaster> wtf, this valgrind error makes no sense
10:37:19 <AnMaster> I did realloc the block to a size to cover this memset, and yet it says that:
10:37:21 <AnMaster> memset(newblock+oldlen, 0, newlen-oldlen);
10:37:30 <AnMaster> the address "newblock+oldlen" is invalid
10:37:44 <AnMaster> but a "VALGRIND_CHECK_MEM_IS_ADDRESSABLE(newblock, newlen);" before says it is ok
10:37:53 <AnMaster> and yes newlen is larger than oldlen
10:57:39 -!- Judofyr has quit.
12:01:57 -!- oklopol has quit (Read error: 113 (No route to host)).
12:09:32 <AnMaster> my optimizer seem to work well btw
12:09:38 -!- oklopol has joined.
12:10:26 <AnMaster> is it worth optimizing [[...]] where ... is any code
12:10:37 <AnMaster> because that would be the same as [...]
12:10:42 <tusho> optimize everything
12:10:54 <AnMaster> tusho, there is an issue with this
12:11:07 <tusho> AnMaster: optimize all you can
12:11:12 <AnMaster> you can no longer jump into the middle of a pointer
12:11:29 <AnMaster> tusho, any optimizing breaks in fact
12:11:35 <tusho> AnMaster: then don't
12:12:26 <AnMaster> I have written a good brainfuck optimizer. I guess I will make it a stand-alone program
12:13:31 <AnMaster> in fact you can't optimize Def-BF at all when it comes to +++ or ---
12:13:52 <AnMaster> maybe generate alternative code versions?
12:13:58 <AnMaster> depending on where into that you jump
12:14:13 <AnMaster> tusho, what do you think of that?
12:14:19 <oklopol> why not both optimize and make jumps correct?
12:14:26 <tusho> oklopol: impossible
12:14:36 <AnMaster> oklopol, if you have +++++, you could jump into the middle of that
12:14:39 <tusho> oklopol: you can jump to an arbitary pointer location
12:14:55 <oklopol> i don't see what's hard about keeping both versions
12:14:55 <tusho> oklopol: so if you compact it into 5+
12:14:58 <tusho> you can't jump into the middle
12:15:29 <AnMaster> but yes keeping both versions could work
12:15:36 <oklopol> anyway, just have both versions, and when entering a loop from the start, use the optimized one, when jumping, use the original
12:16:20 <AnMaster> oklopol, the generated code would be even messier
12:16:28 <tusho> and hueg liek xbox
12:16:30 <tusho> don't do it AnMaster
12:16:45 <oklopol> err, just do what i said earlier
12:16:50 <oklopol> that's like 4 lines of code
12:17:02 <tusho> how is that just 4 lines of code
12:17:04 <tusho> that's a stupid idea
12:17:18 <AnMaster> that would be optimized into a NOP
12:17:39 <AnMaster> for a sample of the generated code: http://rafb.net/p/5ncCMZ55.html
12:17:42 <oklopol> well i guess if you don't do exactly what i just said there
12:17:52 <AnMaster> +++++-->>><<[-]---+++<>++---<-+>-[->+><-<]
12:18:18 <AnMaster> as you see you can easily optimize [->+><-<] into load constant 0
12:18:36 <tusho> AnMaster: you should explicitly decopyright the generated code
12:19:01 <oklopol> tusho: what's the problem with my approach?
12:19:07 <tusho> oklopol: it's hard to implement in c
12:19:12 <tusho> and results in hueg bloat of the generated code
12:19:29 <AnMaster> tusho, what do you think about the rest of the generated code?
12:19:37 <oklopol> err, you'd have at most twice the amount of code loaded
12:19:38 <tusho> AnMaster: it's nice
12:19:41 <tusho> apart from the CamelCase ;)
12:19:54 <tusho> /* ] */ case 41: ; }
12:20:19 <AnMaster> tusho, you need the ; to not get a compiler error :P
12:20:32 <AnMaster> I will insert a newline there then
12:21:00 <tusho> but yeah, switch being like that is awesome.
12:21:03 <AnMaster> tusho, unusual for you to like something I coded
12:21:09 <oklopol> anyway just have two versions of all functions and you could trivially implement what i said
12:21:24 <tusho> AnMaster: that generated code is good.
12:21:36 <AnMaster> tusho, with optimizer it gets just a few line
12:21:46 <tusho> AnMaster: i would just omit the optimizer
12:21:51 <tusho> better to have a 'proper' implementation
12:22:26 <oklopol> tusho, really, how would it be hard :D
12:22:44 <tusho> AnMaster: http://en.wikipedia.org/wiki/Seppuku
12:22:54 <tusho> Seppuku (切腹, Seppuku? "stomach-cutting") is a form of Japanese ritual suicide by disembowelment. Seppuku was originally reserved only for samurai. Part of the samurai honor code, seppuku has been used voluntarily by samurai to die with honor rather than fall into the hands of their enemies, as a form of capital punishment for samurai who have committed serious offenses, and for reasons that shamed them. Seppuku is performed by plunging a sword into the a
12:22:57 <AnMaster> anyway parser, optimizer and emitter are all recursive
12:23:40 <oklopol> you have two versions of each func, the optimized and non-optimized ones, the non-optimized version just runs one loop, then calls the optimized one, all jumps would be to the non-optimizing ones
12:24:24 <oklopol> non-optimized just runs one cycle, rather
12:24:27 <AnMaster> oklopol, these are not in loops
12:24:42 <AnMaster> oklopol, these are stuff like merging +++ into "add 3" *anywhere*
12:25:03 <AnMaster> or >>>> into "go left 4 steps"
12:25:08 <oklopol> the program is just a loop that's executed once, for our purposes
12:25:38 <oklopol> you couldn't do that case:while(){ case:oper case:} thing
12:26:27 <oklopol> but i wouldn't say that'd be a loss
12:27:26 <AnMaster> oklopol, def bf got a "call" and a "return"
12:28:18 <oklopol> w/e, do what you want, all i'm saying is it's trivial to have optimization and still have jumps correct
12:28:37 <tusho> trivial but a stupid way of doing it
12:28:41 <AnMaster> tusho, http://rafb.net/p/ywcGVz68.html is the (wrongly) optimized way
12:28:46 <tusho> AnMaster: i say just KISS and don't optimize
12:28:56 <tusho> at least you'll have your mind at the end
12:29:02 <oklopol> you said it'd be huge earlier, but that's total bullshit
12:29:39 <oklopol> i'm not saying he should optimize, i'm just asking what's wrong about my way of doing it
12:29:54 <AnMaster> tusho, I can see how to do it properly, it means emit unoptimized, but jumps to the first in an optimized set instead cause the single instruction followed by a jump to the end of it
12:30:04 <tusho> AnMaster: it's inelegant though
12:30:11 <tusho> and the speed you get from your optimization isn't worth the inelegance
12:30:14 <tusho> just keep it simple
12:30:19 <tusho> rip out the optimizer
12:30:24 <AnMaster> tusho, optimize needs -O option anyway
12:30:33 <tusho> AnMaster: so yeah, just don't bother optimizing
12:30:50 <AnMaster> tusho, I think I will try to do it, and do it properly
12:30:59 <AnMaster> this will include the keep alt way thing
12:31:08 <tusho> heh. enjoy your pain.
12:31:11 <AnMaster> I will need to rewrite the optimizer a bit of course
12:31:16 <AnMaster> currently it is just node merging
12:35:21 <AnMaster> <oklopol> AnMaster: good choice <-- what is?
12:36:03 <AnMaster> oklopol, oh btw I do it in two passes
12:36:08 <oklopol> implementing some form of optimization
12:36:21 <AnMaster> want to see the optimizer code?
12:36:51 <AnMaster> http://rafb.net/p/lQlzyr62.html
12:38:39 <AnMaster> tusho, what do you think about that?
12:38:47 <tusho> you'll feel better
12:39:10 <AnMaster> tusho, but is it good for plain bf?
12:51:43 -!- Sgeo has joined.
12:58:55 <tusho> http://www.simplynoise.com/ <-- pink noise @8% = nice for coding
13:21:42 <tusho> I just wrote a tiny, but very useful, personal wiki in 78 lines of code.
13:21:49 <tusho> And it hooks in with git, so I can just 'git commit', f5.
13:22:48 -!- Corun has joined.
13:36:11 <tusho> using the 'rake' tool
13:36:16 <tusho> which is like a souped-up make for ruby
13:36:41 <tusho> i can use Erb templates to embed ruby in my pages, there's a full template that handles every page, and it'll copy a stylesheet to the generated pages if you have one
13:36:44 <tusho> so, really, I can do anything
13:36:53 <AnMaster> if I ever wrote a make tool, I would call it demolish
13:37:03 <tusho> rake is less typing though
13:37:08 <tusho> kind of like version control systems
13:37:13 <tusho> your number one problem - get a two letter name
13:37:21 <tusho> however it has to be easy to type
13:37:28 <tusho> 'git' wins over 'hg' because hg is too close together
13:37:33 <AnMaster> bzr, git, svn, cvs, hg, darcs!?, monotone!?
13:37:45 <tusho> darcs is totally fail on that aspect :)
13:38:10 <tusho> AnMaster: oh and the wiki markup language is Markdown
13:38:15 <tusho> with one extra hack
13:38:27 <tusho> if you do a local link
13:38:33 <tusho> that is, no protocol
13:38:37 <tusho> it'll add .html to the end
13:38:51 <tusho> so: [page of ideas](ideas)
13:38:53 <tusho> links to ideas.html
13:39:01 <tusho> to mimic wiki links
13:39:46 <AnMaster> I think... I will have to parse the tree backwards
13:39:56 <AnMaster> but that seems totally strange
13:40:00 <tusho> AnMaster: oh and you'll hate this-
13:40:09 <tusho> the only thing it recognizes for no protocol right now
13:40:10 <AnMaster> or I will have to double-back all the time
13:40:14 <tusho> is "doesn't start with http[s]://"
13:40:28 <tusho> but then it's trivial to code that and I'm not linking to gopher or nntp any time soon
13:40:32 <tusho> I might add a provision for mailto
13:40:45 <tusho> AnMaster: heh, fine
13:40:59 <AnMaster> tusho, I have been thinking about gophers. as in gopher + ssl ;)
13:41:10 <tusho> gophers://lots.of.them/
13:41:24 <AnMaster> well with ICANN doing that to the domainnames...
13:41:25 <tusho> GET gophers://pray/
13:41:38 <tusho> USE gophers://pray/ ON gophers://lots.of.them/
13:41:41 <AnMaster> tusho, didn't get that reference
13:41:46 <tusho> AnMaster: 'gopherspray'
13:42:02 <tusho> which is a reference to monkey island
13:42:09 <tusho> in which it was like fly spray
13:42:14 <tusho> in that it got rid of gophers
13:42:31 <AnMaster> odd game where such an item exists
13:43:05 <AnMaster> anyway I can see how to generate the code now anyway
13:43:05 <tusho> AnMaster: Monkey Island is pretty odd...
13:43:39 <AnMaster> if it isn't 0, then add a jump right after the rest of instruction code
13:43:45 <AnMaster> without generating a new instruction
13:44:20 <tusho> my rakefile has a bug
13:44:25 <tusho> it seems rake isn't picking up on changes to pages
13:44:26 <AnMaster> I kind of need to parse it backwards
13:44:35 <AnMaster> but that would be impossible for loops
13:44:44 <AnMaster> unless I add a loop end pointer too
13:45:10 <AnMaster> + a metadata header instead of just a root node
13:48:04 <tusho> AnMaster: my wiki thing even has a server task
13:48:13 <tusho> so you can do 'rake serve 1>/dev/null 2>&1 &'
13:48:18 <tusho> and edit, git commit, refresh, etc
13:48:31 <tusho> then 'rake deploy' to push the pages to a webserver
13:49:20 <tusho> i didn't write my own http server
13:49:26 <tusho> i just used the one in the ruby stdlib :p
13:49:40 <tusho> it's not for production use
13:49:41 <AnMaster> tusho, maybe httpd() should be in libc too :P
13:49:44 <tusho> it's just a little server for developing web apps
13:49:50 <tusho> AnMaster: ruby's stdlib is modular
13:50:03 <tusho> i don't see a problem with it it's minimal and slow
13:50:10 <AnMaster> make that: <AnMaster> tusho, maybe httpd() should be in libstdc++ too :P
13:50:11 <tusho> so just the ticket for this :P
13:50:22 <tusho> AnMaster: well no, ruby's stdlib has just about everything
13:50:25 <tusho> it's more like perl's stdlib
13:50:48 <tusho> if you want something, you 'require' it
13:50:54 <tusho> AnMaster: not quite.
13:51:13 <tusho> but, zlib, ftp/http/imap/pop/smtp/telnet clients, option parser, mini http server...
13:51:34 <tusho> just useful stuff that you use almost every day
13:51:43 <tusho> AnMaster: in what sense
13:51:52 <AnMaster> like constructing structs for FFI
13:52:27 <tusho> AnMaster: an ffi isn't built in but there's a very rich library that's readily available
13:52:31 <tusho> and it has a nice extension mechanism
13:52:39 <tusho> outside of the build-ffi-from-inside
13:53:49 * tusho figured out how to add an 'Edit' link
13:55:26 -!- Corun has quit ("This computer has gone to sleep").
14:19:52 -!- pikhq has joined.
14:20:38 -!- pikhq has left (?).
14:20:44 -!- pikhq has joined.
14:23:04 -!- lilja has quit (Read error: 110 (Connection timed out)).
14:57:13 -!- sebbu2 has joined.
15:04:41 <AnMaster> pikhq, it is very hard to optimize Def-BF
15:04:55 <AnMaster> as you need to be able to jump into the middle of a ----
15:05:04 <AnMaster> so you need to emit several code versions
15:05:49 <AnMaster> +++++-->>><<[-]---+++<>++---<-+>-[->+><-<]
15:06:03 <AnMaster> you need to be able to jump into the middle of each instruction
15:06:46 <pikhq> Yeah, Def-BF *is* a tiny bit of a bitch to optimize. . .
15:07:01 -!- sebbu has quit (Read error: 113 (No route to host)).
15:07:01 -!- sebbu2 has changed nick to sebbu.
15:07:55 <AnMaster> pikhq, it can already optimize it well based on brainfuck rules
15:08:14 <AnMaster> but can't see how I could do that
15:08:21 <AnMaster> need to be done at higher level
15:08:43 <AnMaster> pikhq, is the ? instruction valid in high level code? I mean can it jump freely at that level?
15:09:00 <pikhq> High level code is a superset of low level coded.
15:09:13 <AnMaster> pikhq, yet you can't know location of your code
15:09:19 <AnMaster> or how can you get address of a function?
15:09:27 <pikhq> However. . . RodgerTheGreat: How do you feel about adding a function attribute setup?
15:09:59 <AnMaster> pikhq, I refuse to implement that
15:10:17 <AnMaster> pikhq, my code can properly emit unoptimized low level code
15:10:23 <pikhq> It'd make optimising a bit more efficient. . .
15:10:24 <AnMaster> and got a good brainfuck optimizer
15:10:39 <AnMaster> that doesn't yet handle the jump stuff
15:10:41 <pikhq> If you can mark a function as, say, never being jumped into.
15:10:53 <AnMaster> that have to happen at high level
15:11:03 <AnMaster> I'm doing it as preprocessor + low level remember
15:11:17 <pikhq> Well, that's no use to you.
15:11:29 <AnMaster> pikhq, I will push my low level stuff somewhere
15:11:56 <pikhq> Hrm. Jebus. For a second time, I'm thinking "Hmm. Maybe I could just let GCC's optimization code do its magic?"
15:12:32 <AnMaster> pikhq, feel free to reuse my code. it is GPL3
15:12:44 <AnMaster> pikhq, when you get home do it then
15:12:58 <pikhq> Simple enough to emerge.
15:13:03 <AnMaster> bzr branch http://rage.kuonet.org/~anmaster/bzr/defc
15:13:36 <AnMaster> pikhq, in return I want the needed flex/bison stuff ;P
15:13:56 <pikhq> The Bison stuff is by no means done ATM.
15:14:09 <pikhq> Namely: it has about 60 shift/reduce conflicts.
15:14:14 <pikhq> (I wrote it late at night)
15:14:22 <AnMaster> what is a shift/reduce conflict?
15:14:32 <AnMaster> pikhq, and couldn't you pastebin the flex part of it then?
15:14:35 <pikhq> Ambiguity in the syntax as written.
15:14:53 <pikhq> I don't have the Flex part on me, but I could hand you it with ease.
15:15:02 <pikhq> Well, when I get back home.
15:15:09 <AnMaster> pikhq, how long will that take?
15:15:39 <AnMaster> pikhq, I will be sleeping then
15:16:10 <AnMaster> so better fix the bison as well
15:16:17 <AnMaster> and pastebin when you go to bed or whatever
15:16:29 <pikhq> I make no promises on fixing the Bison; I'm addicted to HL2 and Portal ATM. ;p
15:16:52 <AnMaster> pikhq, pastebin the non fixed version if it isn't fixed
15:21:08 <tusho> cool, I added a blog display to my personal wiki without touching the actual code
15:21:19 <tusho> since it can embed ruby I just wrote 16 lines of index page
15:21:34 <tusho> AnMaster: don't worry, it wasn't through an xml configuration language
15:21:40 <AnMaster> I know how to solve it! I write the optimzier in bash
15:22:01 <AnMaster> tusho, I do have one system() call
15:22:14 * tusho also added, to the development server, a thing that makes /edit/pagename open up the page in my editor
15:22:23 <tusho> and the template always links to the local /edit/ never on the server (where it won't exist)
15:22:27 <tusho> so i can edit stuff super-trivially
15:22:37 <tusho> AnMaster: nothing wrong with that...
15:22:49 <tusho> just "editor filename" in a handler :P
15:24:09 <AnMaster> tusho, you are off your chump (to quote the OpenBSD release song)
15:46:11 <AnMaster> pikhq, here is an example of unoptimized code:
15:46:13 <AnMaster> http://rafb.net/p/d6e1bD56.html
15:47:16 <AnMaster> pikhq, about "don't jump into" attribute, it could indeed help
15:47:28 <AnMaster> pikhq, because I could optimize some stuff at higher level
15:47:38 <AnMaster> + have an extended syntax to pass some of that onwards
15:54:30 <AnMaster> tusho, aren't you going to download the code?
15:54:58 <AnMaster> anyway I know how do pass the "may optimize bit"
15:55:26 <AnMaster> 1) marker in code for begin/end may optimize bit
15:55:47 <AnMaster> 2) place all such functions at the end
15:55:51 <pikhq> Something a bit like GCC's __attribute__.
15:56:11 <RodgerTheGreat> I'm uncertain what you mean by a function that's never jumped into.
15:56:43 <pikhq> You have a jump instruction inside of Def-BF. . .
15:57:01 <pikhq> In theory, one could be doing long jumps all over the place.
15:59:21 -!- Slereah_ has joined.
16:00:14 <RodgerTheGreat> however, in the high-level language you can disallow inter-function jumps
16:00:29 <pikhq> Well, that is handy.
16:00:51 <RodgerTheGreat> solves a lot of the really nasty stack-smashing you could get otherwise
16:01:03 <pikhq> I guess if someone *really* wants longjmp, then they'd have to call out to the C library.
16:01:18 <RodgerTheGreat> and I can't imagine a reason a well-formed high level program would need one
16:01:35 <pikhq> It's actually used in C from time to time.
16:01:47 <pikhq> Though I'm convinced that most people do it just to piss me off. :p
16:02:16 <RodgerTheGreat> but yes- just make it impossible from the high-level language. It's nasty and we don't need it
16:02:17 <AnMaster> so mark a function as "don't jump into this"
16:02:26 <AnMaster> RodgerTheGreat, we want function pointers
16:03:41 <AnMaster> well until I got good specs on high level language I can't implement it
16:03:52 <RodgerTheGreat> because making a call on a function pointer is a real function call, while a longjump just goes straight to a chunk of code without doing any stack housekeeping
16:04:31 <RodgerTheGreat> the original spec isn't very detailed, but pikhq and I have made great strides toward hammering out a complete spec
16:04:32 <pikhq> So, basically, you say 'fuck longjmps?'
16:04:39 <pikhq> I think I agree with that. ;)
16:04:49 <AnMaster> RodgerTheGreat, I have implemented the low level part
16:04:56 <AnMaster> bzr branch http://rage.kuonet.org/~anmaster/bzr/defc
16:05:04 <RodgerTheGreat> we shouldn't design a major feature of the language around an obscure case
16:05:07 <pikhq> In which case, libc should be used, I gather?
16:05:35 <AnMaster> RodgerTheGreat, what if you want to implement a POSIX OS in it
16:05:51 <AnMaster> not that i think anyone will do this...
16:06:52 <RodgerTheGreat> that's the entire point of allowing people to call C functions- if there are extremely obscure, nasty things they need to do, they can make a little C wrapper for it.
16:10:05 <AnMaster> RodgerTheGreat, well calling C function would be possible
16:10:12 <AnMaster> but there is nothing in the API about it
16:10:19 <AnMaster> RodgerTheGreat, still what do you think of my code?
16:11:47 <AnMaster> <AnMaster> bzr branch http://rage.kuonet.org/~anmaster/bzr/defc
16:12:10 -!- Corun has joined.
16:12:17 <AnMaster> RodgerTheGreat, it is a version control system
16:12:49 <AnMaster> RodgerTheGreat, it's multiple files
16:12:51 <Deewiant> the code isn't visible without a bzr client, hmh
16:13:00 <AnMaster> Deewiant, yeah webui is broken
16:13:06 <AnMaster> can't get that to work with last python
16:13:37 <AnMaster> Deewiant, the server doesn't know anything about bzr
16:13:47 <RodgerTheGreat> well, I'm too lazy to install this program. Fix your web frontend or upload a tar of your code somewhere
16:17:34 <AnMaster> RodgerTheGreat, you need cmake to compile it
16:17:54 <AnMaster> current it is low level code only
16:20:18 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
16:20:32 <RodgerTheGreat> why, praytell, do you store a NULL in the last element of your string arrays?
16:21:06 <AnMaster> RodgerTheGreat, that is to mark the end
16:21:11 <tusho> RodgerTheGreat: c strings end with a null byte,.
16:21:11 <AnMaster> for (size_t i = 0; helpermacros[i]; i++) {
16:21:11 <AnMaster> fprintf(f, "%s\n", helpermacros[i]);
16:21:34 <AnMaster> tusho, well here it was NULL to mark end of "static const char* helpermacros[]"
16:21:42 <tusho> AnMaster: well OK yeah
16:21:52 <tusho> if you have something that you wanna traverse in c with size that might change
16:21:55 <tusho> terminate it with NULL, basically
16:22:03 <AnMaster> tusho, yes indeed it may change a lot here :)
16:22:21 <pikhq> RodgerTheGreat: Learn C. :p
16:22:43 <Deewiant> or to use sizeof and calculate it without having to store anything.
16:23:15 <tusho> RodgerTheGreat: if it doesn't change at runtime, yeah
16:23:59 <AnMaster> it doesn't change at runtime indeed... but I edit it a lot
16:24:09 <AnMaster> and this was coded at late night
16:24:09 <tusho> AnMaster: so use sizeof
16:24:11 <pikhq> If it's a global, there's no sense in NULL termination. If it's not a global, there's *probably* no sense in NULL termination.
16:24:12 <tusho> sizeof(helpermacros)
16:24:28 <tusho> AnMaster: i don't see another reason
16:24:31 <tusho> why not use sizeof?
16:24:57 <pikhq> And if you're going to have the array change size at runtime, you'll have the array size stored somewhere, anyways.
16:25:04 <pikhq> Well, unless you like memory leaks.
16:25:13 <AnMaster> and 1) it works 2) is 4 or 8 (depending on arch) bytes worth this argument?
16:25:15 <tusho> pikhq: memory leaks YAY
16:25:22 <pikhq> And it rights no memory leaks or else it gets the hose again.
16:25:59 <RodgerTheGreat> if I didn't bitch about at least one part of your code, you would accuse me of not looking at it
16:26:21 <pikhq> (I'm mister 'write assembly programs smaller than the smallest legal ELF header' :p)
16:27:03 <tusho> pikhq: You didn't write that article. :P
16:27:26 <pikhq> tusho: No, I just went through it, discovered that his code didn't work on my kernel, and wrote my own.
16:27:50 <AnMaster> pikhq, there are no memory leaks
16:28:10 <pikhq> AnMaster: "If you're going to have the array change size at runtime".
16:28:30 <pikhq> http://pikhq.nonlogic.org/hello.asm My version.
16:28:45 <AnMaster> anyway I'm trying to work out how to do the optimizer the right way
16:28:46 <pikhq> Though I might have a better one around; lemme check.
16:28:59 <AnMaster> the actual optimizer... not so
16:29:27 <RodgerTheGreat> I wonder if I still have that 412-byte pong game I wrote a while back...
16:30:09 <AnMaster> to be your code looks like nasm syntax
16:30:18 <pikhq> There's my better version. :)
16:30:29 <pikhq> I'm going for AT&T; just give me a sec.
16:34:45 <pikhq> Hrm; I seem to have forgotten the details of gas's constant syntax.
16:35:16 <pikhq> http://pikhq.nonlogic.org/hello-2.asm This is my better one, though it's in nasm syntax still.
16:35:54 <AnMaster> pikhq, and that is a syntax I can't read at all
16:36:06 <pikhq> Argh. And that one doesn't seem to run correctly.
16:36:16 <AnMaster> pikhq, as in: I can understand gcc -S output
16:36:21 <pikhq> It was a while ago.
16:55:02 <AnMaster> I think I got the new optimize working, except the translation of [-] into ?0x0
16:55:23 <AnMaster> pikhq, it doesn't work correctly yet
16:55:42 <AnMaster> the tree store the old stuff too now
16:58:13 <oklopol> pikhq: i don't get it, where's the loop?
16:58:24 <oklopol> or does 80 print a null-terminated string?
16:58:41 <pikhq> It calls a syscall. Will describe in more detail when I get back.
16:58:56 <oklopol> not that there's a null-terminated string there, actually
17:00:24 <AnMaster> I thought SYSCALL/SYSRET was used these days
17:04:50 <AnMaster> code is generated backwards in parts
17:05:57 <AnMaster> oh wait I think I see what I do
17:09:36 -!- Corun has quit ("This computer has gone to sleep").
17:14:30 -!- oerjan has joined.
17:20:51 * pikhq returns from lunch
17:22:14 <AnMaster> pikhq, RodgerTheGreat: is it valid to extend the low level code with additional instructions that would be generated by the preprocessor
17:22:21 <AnMaster> for example I'm thinking about a marker:
17:22:38 <AnMaster> I would probably use "o" for it
17:23:25 <RodgerTheGreat> you can add stuff for your post-optimizer, but it shouldn't be anything that affects execution, i.e. if they're interpreted as comments the program should still run just fine
17:23:59 <pikhq> oklopol: I call the 'write' syscall.
17:24:19 <pikhq> Write doesn't take a null-terminated string, it takes a file descriptor, a string, and a string size.
17:24:21 <AnMaster> RodgerTheGreat, here it would be "allow jump breaking optimizing" and "don't allow"
17:25:09 <AnMaster> RodgerTheGreat, there would be another for "function call to compiler provided standard library function"
17:25:21 <pikhq> AnMaster: In most cases, one should use Linux's syscall call gate, which is an address in memory containing code that does the most efficient syscall method for the CPU in question. . .
17:25:29 <pikhq> On all Linux systems, however, int 0x80 is valid.
17:25:36 <pikhq> Well, all Linux x86 systems.
17:25:47 <AnMaster> RodgerTheGreat, after all the code is just the internal representation used between preprocessor and compiler
17:26:11 <AnMaster> it will probably be written to a temp file simply
17:26:21 <AnMaster> currently I can't use a pipe as I mmap() the file
17:31:39 <AnMaster> actually if literal # is forbidden in high level code, I could just insert special target marker dumb opcodes
17:32:05 <AnMaster> but they would stop any optimizing across the border
17:32:10 <AnMaster> pikhq, RodgerTheGreat does that wound sane?
17:33:08 -!- Guest76788 has changed nick to augur.
17:33:16 -!- augur has changed nick to psygnisfive.
17:33:22 <AnMaster> RodgerTheGreat, you said it would be?
17:33:35 <RodgerTheGreat> I was suggesting you place some restrictions on what it can do
17:33:56 <psygnisfive> someone else apparently has the "augur" username and it keeps kicking me off it
17:34:02 <oerjan> AnMaster: as you can see by the number, it's just a clone
17:34:07 <psygnisfive> and yet "augur" is never online unless i'm on! >_<
17:34:42 <tusho> psygnisfive: it's their nickname.
17:34:46 <AnMaster> RodgerTheGreat, well got details for it?
17:35:02 <psygnisfive> and only sometimes does nickserv actually kick me off
17:35:26 <tusho> psygnisfive: yes they do exist
17:35:35 <tusho> nickserv: Information on augur (account knotty):
17:35:35 <tusho> [17:34] nickserv: Registered : Feb 23 05:35:37 2005 (3 years, 21 weeks, 3 days, 10:58:53 ago)
17:35:36 <tusho> [17:34] nickserv: User reg. : Jul 31 21:07:04 2004 (3 years, 50 weeks, 6 days, 19:27:26 ago)
17:35:36 <tusho> [17:34] nickserv: Last seen : (about 0 weeks ago)
17:35:36 <tusho> [17:34] nickserv: User seen : now
17:35:48 <tusho> they've had it for 3 years and they're still using it. don't think you have a claim to it
17:35:50 <psygnisfive> tusho, thats because i changed my nick to it. :P
17:36:06 <tusho> that only updates if they identify
17:36:10 <tusho> that only updates if they identify
17:36:20 <tusho> so they have identified it in the past week
17:36:46 <AnMaster> psygnisfive, just don't use that nick then
17:36:55 <oerjan> it says "account knotty" maybe that is online?
17:37:52 <oerjan> (online but away, according to whois)
17:38:52 <AnMaster> RodgerTheGreat, so when will % be allowed in high level code?
17:39:43 <AnMaster> well I'm leaving at 11 (UTC+2 or CEST)
17:43:02 -!- tusho_ has joined.
17:43:03 <oerjan> 4 1/4 more hours. PING.
17:45:02 <AnMaster> tusho_, I added a marker that toggles "can optimize away instructions freely" "can't do it"
17:45:11 <AnMaster> I may get the full optimizing working later
17:47:53 <AnMaster> oklopol, the problem is that walking the tree is much harder now
17:48:06 <AnMaster> but now I can't remove the nodes
17:54:35 <oklopol> AnMaster: i'm a pythonist, theory = practise for me
17:54:45 <oklopol> also my o had nothing to do with your prob :P
17:56:56 * oerjan assumed it was an oko seed, but wasn't in the mood
17:57:39 <psygnisfive> thats disgusting, oklopol wouldn't leave cum in the chatroom like that
17:57:48 -!- tusho has quit (Connection timed out).
17:59:02 <oerjan> not sure if it counts as cum - are okos animal, vegetable or mineral?
17:59:38 <tusho_> psygnisfive: big sexy finnish minerals
17:59:52 <psygnisfive> photo-synthesizing silicon-based 4-legged creatures
18:01:06 -!- oerjan has quit (Remote closed the connection).
18:01:15 -!- oerjan has joined.
18:03:18 <oerjan> no, there was a network error
18:04:38 <oerjan> the network here seems slow today, so there was a timeout
18:25:24 <AnMaster> I managed to get it to run that far
18:25:41 <tusho_> 71mb of compiler output?
18:25:43 <tusho_> Your compiler sucks :P
18:25:50 <AnMaster> tusho_, look... it is the lostking
18:26:03 <tusho_> i've written BF compilers
18:26:05 <AnMaster> with optimizing the output is "just" 38 MB
18:26:07 <tusho_> they compile lostkng trivially
18:26:23 <AnMaster> tusho_, too much indention and nice code
18:26:23 <tusho_> pikhq's pfuck compiles it in under a second
18:26:46 <AnMaster> tusho_, and the code generation took about 2 seconds
18:27:12 <pikhq> It also does it in a fairly small amount of space.
18:27:19 <pikhq> Lemme just check how much. ;)
18:27:25 <oklopol> tusho_: you haven't happened to learn python bytecode? you said you might :P
18:27:30 <AnMaster> pikhq, mine generates readable C code
18:27:35 <AnMaster> as I needed that when debugging
18:27:43 <oklopol> i wanna make my own dis module
18:32:20 <pikhq> Of course, it takes for-fucking-ever to compile with GCC. . .
18:33:07 <oklopol> i'm going to go waste some serious time now ->
18:33:08 -!- oklopol has quit (Client Quit).
18:34:22 <AnMaster> tusho_, by removing indention and such I got it down to 25 MB output
18:37:50 <pikhq> What's it like when compiled?
18:38:04 <pikhq> (don't use -O unless you want to wait a year)
18:39:47 -!- Hiato has joined.
18:40:12 <AnMaster> thanks to a small bug in the optimizer
18:40:24 <tusho_> pikhq: I once made gcc hang on -O3.
18:40:25 <AnMaster> it sometimes forgot to optimize more than 3 instructions together
18:41:08 <AnMaster> well I'm waiting for gcc to compile this
18:41:20 <pikhq> tusho_: It's easy with LostKng.
18:42:40 <pikhq> God, I love PEBBLE and PFUCK. . .
18:45:32 <RodgerTheGreat> pikhq: this reminds me of something- remember when we were playing around with variable allocation to attempt to create shorter programs by eliminating some < and >'s?
18:45:39 <AnMaster> case 86: while (cells[dataptr] != 0) {
18:46:11 <RodgerTheGreat> our heuristics failed, but we never tried bruteforcing or doing a genetic algorithm with resultant program length as a fitness value
18:46:40 <pikhq> Great. Now you might have me back in on PEBBLE instead of Def-BF.
18:48:06 <pikhq> AnMaster: Don't worry; I'm in a Brainfucking mood right now.
18:48:29 <pikhq> Though I might end up writing a Def-BF backend for PEBBLE, that's about the extent of what I'll do to PEBBLE today.
18:48:36 <RodgerTheGreat> pikhq: bruteforcing would cost about n!, where n is the number of variables in a program. This can get rather expensive, but arrays cost no more than any other variable type and there are a few ways we can reduce the scope of bruteforcing
18:49:09 -!- olsner has joined.
18:49:38 <pikhq> RodgerTheGreat: Heuristics might be better with a proper compiler. If you will recall, my attempts at sticking heuristics in PEBBLE were fairly hacky, due to PEBBLE's design.
18:50:27 <RodgerTheGreat> well, the heuristics we came up with certainly *seemed* like they would produce good results...
18:58:33 <AnMaster> (ulimit -m 1075200 ;gcc -O0 -std=c99 -o lostking out.c; )
19:21:26 <AnMaster> pikhq, RodgerTheGreat: gcc is still compiling
19:21:54 <pikhq> Hrm. I guess that's what you get for having something resembling Duff's device in there. ;)
19:22:09 <AnMaster> pikhq, why would that cause it?
19:22:26 <AnMaster> pikhq, anyway it is the only sane way to compile it when you do jumps
19:22:36 <AnMaster> no jumps in lostkingdom though
19:22:45 <AnMaster> if you think that is the cause?
19:23:17 <pikhq> LostKng.b is a freaking gigantic program. . . And Duff's device-esque things will take for-fucking-ever to compile on that scale.
19:23:31 <AnMaster> pikhq, why will it slow down though?
19:23:42 <pikhq> Keep in mind that the compiler is probably composing the world's largest jump table.
19:24:16 <pikhq> That is going to be a fucking huge binary.
19:24:21 <AnMaster> so if I strip all the case: that won't be needed for lostkingdom anyway...
19:24:21 <pikhq> I feel sorry for the linker.
19:24:38 <pikhq> Though it will still take a while.
19:25:18 <tusho_> i wanna see the hugefuckingjumptable
19:25:45 <tusho_> that won't give a huge jump table AnMaster
19:25:50 <pikhq> tusho_: You're welcome to try.
19:26:07 <tusho_> pikhq: I am actually using this box
19:26:38 <pikhq> Hrm. I kinda half-wonder if AnMaster was using leibniz for that.
19:26:42 <AnMaster> tusho_, you can try it out using my last version of the compile
19:27:00 -!- Hiato has quit ("Leaving.").
19:27:09 <pikhq> That would be a 'no'.
19:27:25 <tusho_> i assume AnMaster knows who the mathematician is
19:27:25 <pikhq> Leibniz is the main server of Nonlogic.
19:27:43 <tusho_> AnMaster: you know who http://en.wikipedia.org/wiki/Gottfried_Leibniz is right
19:28:51 <AnMaster> I think, that computed goto, though gcc specific, may work better
19:31:31 <tusho_> computed goto kind of sucks though.
19:31:41 <tusho_> you won't get fun duff device things.
19:31:45 <pikhq> Computed goto is probably better.
19:32:06 <oerjan> no, goto blows. it's come from that sucks.
19:32:58 -!- Sgeo has quit (Connection timed out).
19:33:55 <pikhq> Hmm. Computed come from, anyone?
19:34:21 <oerjan> i think CLC-INTERCAL has it, or perhaps both
19:36:07 <tusho_> computed come from is, like, intercal's hallmark
19:37:33 <psygnisfive> what was that thing you suggested i get to go along with musicbrainz
19:38:13 <tusho_> psygnisfive: musicbrainz picard
19:38:28 <tusho_> it's picard, which is musicbrainz's tagger
19:38:30 <psygnisfive> right, but didnt you suggest some other thing to go with it? a plugin or something
19:38:54 <tusho_> but really, i'd just use picard
19:39:24 <tusho_> musicbrainz isn't a program
19:39:34 <tusho_> http://musicbrainz.org/ftpmirror/pub/musicbrainz/users/robert/picard-0.9.0beta1-build2.dmg
19:39:42 <tusho_> http://musicbrainz.org/ftpmirror/pub/musicbrainz/users/robert/picard-0.9.0beta1-build2.dmg
19:39:56 <tusho_> not all taggers are equal
19:40:11 <psygnisfive> well the musicbrainz db doesnt have all my songs
19:40:22 <tusho_> you're just using your tagger wrong
19:40:28 <tusho_> which brings me back to my previous point
19:40:40 <tusho_> musicbrainz has everything, more or less.
19:40:47 <psygnisfive> because theres so much you can do wrong when theres only one button: "find tags"
19:41:26 <Deewiant> I had to add a couple of artists and a record label a few weeks back just to add one CD
19:41:39 <tusho_> Deewiant: ok, well i've never seen a track that musicbrainz didn't have
19:41:48 <Deewiant> you just listen to too mainstream music ;-)
19:41:52 <tusho_> but I don't accept that it can't find over 50% of psygnisfive's tracks
19:42:11 <Deewiant> depends on what he means by 'tracks', I guess
19:42:11 <psygnisfive> well, granted, it seems that the majority of the tracks are actually partials
19:42:18 <psygnisfive> so im getting rid of those and trying again
19:42:30 <Deewiant> musicbrainz has probably less than 10% of all of my music
19:42:49 <Deewiant> but when it comes to stuff that's actually been released and in stores, it certainly has most.
19:44:54 <Deewiant> I usually don't tag non-store stuff
19:44:57 <psygnisfive> my musical tastes are.. well.. esoteric :D
19:45:40 <Deewiant> stuff like game soundtracks that have been ripped from the original data files, free stuff people release on the 'Net... I just go with the tags they have, they're canonical as that's the original format
19:46:29 <Deewiant> hell, most of my music is in file formats that Picard doesn't support :-P
19:46:34 <tusho_> i just tag my stuff manually
19:46:42 <tusho_> using wikipedia + other stuff as a reference
19:46:57 <tusho_> Deewiant: Any musepack in there?
19:46:59 <Deewiant> I first apply the Musicbrainz tags and then sometimes correct them
19:47:19 <tusho_> psygnisfive: well yeah exactly
19:47:21 <psygnisfive> and if there were over a thousand items that i need to tag
19:47:36 <tusho_> tag the names by what the song sounds like
19:47:43 <tusho_> like if it says 'hello' a lot
19:47:47 <tusho_> set the title to 'hello'
19:47:55 <tusho_> name the albums after what the whole album feels like
19:47:55 <psygnisfive> luckilly for me it seems that about half the files, if not more, are only file fragments (god only knows how that happens...)
19:47:59 <tusho_> and invent a name for the group
19:48:02 <tusho_> then draw album art for it
19:48:14 <tusho_> Deewiant: well, multiple words
19:48:28 <tusho_> and put it on the web so we can compare
19:48:28 <Deewiant> "almost good" "very good" "quite bad" "a-ok"
19:48:36 <tusho_> Deewiant: i said words that are in the song
19:48:45 <tusho_> unless you have songs whose lyrics consist of "almost good"
19:48:46 <psygnisfive> do you know if MP3's have some tag-based garbage that lets them start and stop in subsections of the song?
19:48:49 <Deewiant> "what the whole album feels like"
19:48:50 <tusho_> and I kind of meant like
19:48:53 <psygnisfive> or do they necessarily play from beginning to end
19:48:54 <tusho_> "death metal piggy slaughter"
19:49:13 <psygnisfive> because i dont see how its possible that half of a song could've been lost or deleted
19:49:16 <Deewiant> it's just a compressed stream with tags.
19:49:30 <Deewiant> neither do I but it does happen. :-P
19:49:46 <Deewiant> or rather, I've never seen it happen, but partial files exist.
19:54:14 <AnMaster> however no way I will try to debug lostking
19:54:24 <AnMaster> I will simply try to debug easier cases
19:56:54 <AnMaster> psygnisfive, these are esolangs?
20:07:01 -!- oerjan has quit ("ZZZZZZZZZZZZ").
20:15:50 <AnMaster> pikhq, ok I will do two things: 1) add attribute to mark function as "no jumps into this" 2) I will add support for not generating labels in that area
20:19:01 <AnMaster> pikhq, RodgerTheGreat: about the instruction pointers... are they machine pointers... or code pointers
20:19:17 <AnMaster> as in does every brainfuck instruction take one cell
20:21:08 <AnMaster> that is just a parameter for ?
20:21:41 <AnMaster> RodgerTheGreat, if you generate ASM each instruction will likely take more than one actual CPU address
20:22:16 <AnMaster> there is no 1-to-1 mapping between source code size and generated code size
20:23:06 <RodgerTheGreat> which is why adding metadata for a low-level def-bf -> ASM converter will probably make a lot of sense
20:23:20 <AnMaster> RodgerTheGreat, and you want ?0xXXXXXXXXXXXXXXXX to take two cells?!
20:24:14 <AnMaster> you can select at compile time
20:24:25 <pikhq> RodgerTheGreat: Perhaps, say, a jump table? :p
20:24:30 <AnMaster> RodgerTheGreat, however it isn't stored like that
20:25:02 <AnMaster> RodgerTheGreat, I see it as a parameter that can be embedded in the same byte
20:27:39 <AnMaster> this makes it possible to jump to the 0x... part
20:27:46 <AnMaster> RodgerTheGreat, did you intend that?
20:27:54 <AnMaster> and what the heck would the result be?
20:28:12 <RodgerTheGreat> it's possible to do a lot of screwy things with a jump instruction
20:28:30 <AnMaster> RodgerTheGreat, well what would the result be?
20:28:43 <pikhq> Undefined behavior.
20:28:48 <AnMaster> mine won't allow jump to it, or if it did I would make it cause a exit simply
20:30:23 <pikhq> RodgerTheGreat: Hmm. I wonder. . . You think maybe I can get away with trying to make each instruction use the same amount of space? :p
20:30:39 <AnMaster> pikhq, I don't that is possible on x86
20:30:49 <pikhq> AnMaster: With adding nops.
20:31:23 <pikhq> If I can get each individual Def-BF instruction to fit in 4 bytes, then I am t3h awesome. :p
20:31:36 <pikhq> (definitely impossible)
20:31:47 <AnMaster> pikhq, well maybe if you do CALL for some
20:31:55 <AnMaster> to jump to some compiler provided functions
20:32:14 <pikhq> A pointer is 4 bytes.
20:32:28 <AnMaster> pikhq, so nop is a bad and space wasting idea
20:32:34 <RodgerTheGreat> pikhq: whatever you come up with will most likely be nonportable to other architectures, so it will ultimately have limited value
20:32:43 <AnMaster> that's shorter pointer isn't it?
20:32:48 <pikhq> Jump table is a possibility.
20:32:59 <pikhq> Except that it would be fucking insane.
20:32:59 <AnMaster> pikhq, well jump tables every x bits
20:33:33 <pikhq> RodgerTheGreat: It gets hard as hell when you start thinking about actually *doing* it.
20:33:39 <AnMaster> RodgerTheGreat, my implementation is portable
20:33:56 <pikhq> You *know*, if we assume a virtual machine, instead of real hardware, this is trivial.
20:34:26 <AnMaster> pikhq, still it is good to have several implementations
20:34:32 <AnMaster> anyway mine isn't virtual machine
20:34:42 <AnMaster> insane C code... but C code...
20:35:21 <RodgerTheGreat> I plan to write a VM that runs low-level Def-BF as bytecode
20:35:55 <RodgerTheGreat> giving it a good debugger will likely be a very useful tool
20:40:37 <AnMaster> RodgerTheGreat, yes makes sense
20:40:58 <AnMaster> RodgerTheGreat, make sure to make the license for the flex/bison files you use GPL compatible
20:41:26 <RodgerTheGreat> after all, I don't think speed or memory usage will be of concern for quite a while
20:41:37 <AnMaster> anyway I got the first working (not saying bug free) implementation of the low level def-bf
20:41:45 <RodgerTheGreat> I don't plan on using flex or bison and I don't use the GPL when I license software
20:41:55 <AnMaster> RodgerTheGreat, but GPL compatible?
20:41:59 <AnMaster> as in BSD or something like that
20:42:42 <RodgerTheGreat> the WTFPL is a perfectly valid free software license: http://sam.zoy.org/wtfpl/
20:43:05 <AnMaster> RodgerTheGreat, is it GPL compatible?
20:44:13 <AnMaster> anyway it is good to have many implementations to compare with
20:44:22 <AnMaster> helps finding bugs or unclear part of the standard
20:45:27 <RodgerTheGreat> I would strongly urge anyone wishing their code to be part of the Def-BF reference implementation, when it's complete, to use either the WTFPL or the BSD public license.
20:49:33 <AnMaster> no need to reuse if you don't want to
20:50:18 <RodgerTheGreat> but GPL3 isn't going to cut it for a standardized distribution
20:50:22 <AnMaster> however I could dual license parts under BSD if you wish to reuse something
21:01:50 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
21:05:20 -!- Hiato has joined.
21:05:42 -!- Hiato has quit (Client Quit).
21:11:10 -!- Sgeo has joined.
21:13:40 -!- pikhq has left (?).
21:30:09 -!- Slereah_ has joined.
21:56:16 <AnMaster> tusho_, Deewiant: another thought about case sensitivity....
21:56:25 <AnMaster> the thing about "only makes a difference in names"
21:56:38 <AnMaster> well in German any noun got upper case first letter
21:57:02 <AnMaster> tusho_, no idea if there are any verbs spelled like nouns
21:57:03 <tusho_> because 'foobar' and 'Foobar' are both the same thing in german
21:57:03 <psygnisfive> straight up now baby do you really wanna love me forever oh oh oh
21:57:06 <tusho_> that is there's no ambiguity
21:57:06 <Deewiant> in German, all nouns can be considered as names for the object they represent
21:57:14 <tusho_> so case-preserving is OK
21:57:17 <Deewiant> or that's how I've always seen it. But then, I'm not German. :-P
21:57:22 <tusho_> AnMaster: it's rare enough for it not to matter
21:57:34 <Deewiant> and this is what I meant by everybody caring only about English ;-)
21:57:37 <AnMaster> well no idea as I don't speak German
21:58:07 <AnMaster> Deewiant, we still got locales
21:58:21 <AnMaster> you need to special case a lot
21:58:26 <psygnisfive> listen, im eating bratwurst and sauerkraut, therefore i can answer any questions you have on german
21:58:44 <AnMaster> Deewiant, as in "not easy to code"
21:58:54 <AnMaster> a-z are a range in ASCII and unicode
21:59:15 <Deewiant> fortunately unicode generally provides the information
21:59:39 <AnMaster> Deewiant, one language could have ä as lowercase of Ä
21:59:41 <Deewiant> so it boils down to reading data and then x = uppercase[x], unless you have a memory constraint (TBH I don't know how big such tables would be)
21:59:46 <AnMaster> but another could have it as separate char
22:00:04 <Deewiant> well sure, it's not a fully solved problem
22:00:19 <Deewiant> I didn't really understand your point just now, but yes, it's not entirely trivial
22:00:20 <AnMaster> psygnisfive, no one is coding atm
22:00:57 <psygnisfive> ok whats the problem you're trying to solve
22:01:23 <tusho_> and case insensitivety
22:02:08 <Deewiant> "non-ascii" should really be the default these days, it's "only ascii" that should be the special case :-P
22:02:17 <tusho_> but it depends on the locale
22:02:20 <tusho_> what is case-equivilent
22:02:25 <tusho_> we're tryign to resolve that issue
22:02:45 <psygnisfive> ask apple? im sure they've got that junk figured out. :P
22:03:03 <tusho_> ^^^^^^^^^ read up and see why
22:03:21 <tusho_> it's pretty freakin' good
22:03:33 <psygnisfive> but for certain character sets its just.. idiotic.
22:04:06 <tusho_> now who wants to buy me tusho.org so I can deploy this awesome software :>
22:04:32 <psygnisfive> i'd like to deploy MY software on your domain, if you know what I mean
22:05:32 -!- Slereah__ has joined.
22:07:26 <tusho_> http://uuner.doslash.org/forfun/sedtris.sed
22:07:34 <tusho_> http://samhuri.net/sedtris.png
22:10:44 <tusho_> # Julia Jomantaite <julia.jomantaite@gmail.com>
22:11:21 -!- bwr has quit (Connection timed out).
22:22:36 <tusho_> beh. stupid domains and their 'costing money'
22:23:28 <psygnisfive> =-[p0-=-09--io-[][-][-ikjmkoplom,,l., ,.==, ;.,
22:23:47 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
22:24:44 <psygnisfive> tho we should make a programming language where that's the cat program
22:24:54 -!- Judofyr has joined.
22:30:00 <tusho_> not on tusho.org, but, heck, that's a detail :p
22:30:02 <tusho_> http://tusho.eso-std.org/
22:30:26 <tusho_> powered by about 100 lines of ruby and for the blog index a mash of markdown and erubis.
22:30:47 <tusho_> http://tusho.eso-std.org/blog/json_in_html.html <-- the only even mildly interesting bit of content, to save you the trouble
22:31:24 <Judofyr> have you bought tusho.org?
22:31:39 <tusho_> anyway, I just wrote this mishmash of software today as a spur of the moment thing
22:31:41 <Judofyr> I'm pretty pleased with DreamHost (for domains)
22:31:58 <tusho_> i was getting too bogged down in writing the most awesomest software evarr instead of just actually getting something i can put content on
22:32:04 <tusho_> which is why, e.g. the css file is only one line...
22:32:30 <tusho_> anyway, I use slicehost for hosting
22:32:33 <tusho_> and I think mydomain for domains
22:32:38 <tusho_> then they put up the price 300%
22:32:40 -!- oklopol has joined.
22:33:17 <tusho_> Judofyr: http://github.com/tusho/wit/tree/master here's the code powering it if you're interested
22:33:23 <tusho_> the readme has the blog code
22:33:51 <tusho_> psygnisfive: :| don't.
22:33:55 <tusho_> or if you do give it to me.
22:33:58 -!- ihope has joined.
22:34:07 <tusho_> come on psygnisfive :\
22:34:35 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
22:35:12 -!- Judofyr has joined.
22:35:56 <ihope> Perhaps we should make 'v' a standard scheme name for vjn.cc addresses, so we can replace the link in the topic with v:x.
22:36:03 <Judofyr> and I'm pretty pleased with Webby: http://judofyr.net/posts/building-a-website-with-webby.html
22:36:47 <tusho_> Judofyr: how on earth could I use something i didn't write
22:37:07 <tusho_> Judofyr: the neat thing about my site is you see that 'Edit locally' link?
22:37:15 <tusho_> it points to http://localhost:8080/edit/pagename
22:37:19 <tusho_> which opens textmate on the right file
22:37:30 <tusho_> so as long as I keep the development version up, I can just edit it directly there
22:37:37 <tusho_> and a git post-commit hook automatically regenerates the html, so:
22:37:56 <tusho_> click edit link --> edit --> ctrl-shift-g 2 <summary> <return> --> rake deploy
22:38:20 <tusho_> oh and re: that article about webby
22:38:20 <tusho_> All you have to do is require 'rss/rss' and Time#iso8601 is at
22:38:26 <tusho_> you don't need to require anything for that
22:39:15 <Judofyr> "undefined method `iso8601' for Tue Jul 22 23:39:00 +0200 2008:Time (NoMethodError)"
22:39:32 <tusho_> it's something that requires
22:39:49 <tusho_> something that erubis, rdiscount or webrick depend on i guess
22:39:57 <tusho_> and that's all the rakefile requires
22:40:23 -!- CakeProphet_ has joined.
22:40:59 <Judofyr> require 'time' is all you need!
22:41:35 -!- CakeProphet has quit (Nick collision from services.).
22:41:36 -!- CakeProphet_ has changed nick to CakeProphet.
22:45:22 <Judofyr> tusho_: what happened to gordon?
22:45:53 <tusho_> Judofyr: the flash implementation for Rack?
22:46:00 <tusho_> turns out it's pretty hard
22:46:30 <tusho_> basically it's hard to hook into the place in rack
22:46:39 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
22:47:00 <tusho_> yeah that's what I was going for
22:47:28 -!- Slereah__ has joined.
22:47:44 -!- atsampson has quit (Read error: 113 (No route to host)).
22:59:17 -!- Slereah_ has joined.
23:06:46 -!- atsampson has joined.
23:09:46 -!- Sgeo has quit (Connection timed out).
23:10:12 <olsner> is everything german like that!?
23:11:18 <olsner> what was it the name meant btw? einsturzende neubauten?
23:23:06 <tusho_> olsner: collapsing new buildings or something i think
23:23:16 <tusho_> found through wikisurfing, naturally
23:23:32 <tusho_> collapsing being an adjective
23:23:39 <tusho_> 'new buildings that are collapsing'
23:23:55 <olsner> ah, I recognize that... but was unsure if that was what it meant or what it *didn't* mean :P
23:24:30 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
23:24:56 <tusho_> http://tusho.eso-std.org/blog/universal_edit_button.html
23:25:08 <tusho_> ^ why Universal Edit Button is nice in practice but incredibly flawed in implementation
23:25:09 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
23:25:13 <oklopol> yeah that's what my german intuition says as well
23:25:58 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
23:26:23 -!- Judofyr has joined.
23:30:23 -!- Corun has joined.
23:32:48 -!- bwr has joined.
23:43:48 <tusho_> does anyone want to upmod http://www.reddit.com/comments/6szns/ two assholes have downmodded it because they're assholes :P
23:47:18 <Judofyr> tusho_: you should link to the new URL! http://www.reddit.com/r/programming/comments/6szns/Universal_Edit_Button_great_idea_in_theory_very/
23:47:30 <tusho_> Judofyr: i just looooooooooooove bloated urls
23:47:36 <tusho_> I remember when reddit didn't force www.
23:47:42 <tusho_> http://reddit.com/comments/6szns
23:48:08 <Judofyr> you can still link to that URL, though
23:48:21 <tusho_> psygnisfive: that's the comments.
23:48:25 <tusho_> it's the article above that.
23:48:59 <tusho_> psygnisfive: it only requires a username and password and automatically registers and logs you in
23:49:08 <tusho_> and when you click the up arrow it pops up the registration automatically
23:49:11 <tusho_> i dont' see how thats a barrier :P
23:49:42 <tusho_> its at 0 points now, 1 more point would push it on to the main page I believe due to the mover algorithm stuff
23:49:48 <tusho_> if you do it i'll wub you 4eva
23:49:53 <Judofyr> tusho_: in related news, I just passed 200 karma :D
23:50:08 <tusho_> Judofyr: in related news, I have just 14 karma from one submission :D
23:50:17 <tusho_> someone else downvoted it
23:50:31 <Judofyr> I got 25 for translating it to norwegian :)
23:50:47 <tusho_> i don't actually see why the article warrants downvoting :|
23:51:06 <tusho_> (I only have 807 comment karma too. People just can't accept someone who's INFALLABLY RIGHT)
23:51:07 <Judofyr> I usually never downvote...
23:51:35 <Judofyr> 245 comment karma here....
23:51:41 <tusho_> heh, from a comment on a submission you just made
23:51:42 <tusho_> {And ... don't forget about RAA. Many projects don't register at RAA. IMHO RAA should be the central catalog for software written in ruby no matter how and where it is hosted.}
23:51:59 <tusho_> i completely forgot about that thing because it's dead and useless.
23:55:05 <tusho_> but i still know what a MUD is
23:55:29 <Judofyr> I know what a MUD is, but I've never played one :P
23:55:35 <oklopol> i'm so old i'd already forgotten what a mud is.
23:55:47 <tusho_> "BBS? You kids today."
00:00:01 -!- sebbu has quit (No route to host).
00:00:58 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
00:01:44 -!- CakeProphet_ has joined.
00:01:50 -!- CakeProphet_ has changed nick to CakeProphet.
00:09:14 -!- tusho_ has quit.
00:12:50 -!- sebbu has joined.
00:17:03 -!- sebbu has quit (clarke.freenode.net irc.freenode.net).
00:17:05 -!- ihope has quit (clarke.freenode.net irc.freenode.net).
00:17:05 -!- cherez has quit (clarke.freenode.net irc.freenode.net).
00:17:05 -!- puzzlet has quit (clarke.freenode.net irc.freenode.net).
00:17:05 -!- GregorR has quit (clarke.freenode.net irc.freenode.net).
00:17:22 -!- sebbu has joined.
00:17:22 -!- ihope has joined.
00:17:22 -!- cherez has joined.
00:17:22 -!- puzzlet has joined.
00:17:22 -!- GregorR has joined.
00:28:45 <CakeProphet> CakeProphet reply to: psygnisfive with: 'nm la'
00:30:58 <CakeProphet> CakeProphet replyto: psygnisfive with: 'nm la'
00:31:29 -!- psygnisfive has changed nick to psygnisfive[brb].
00:35:42 -!- olsner has quit ("Leaving").
00:44:16 -!- psygnisfive[brb] has changed nick to psygnisfive.
00:50:14 <CakeProphet> I like IOs message syntax more so than smalltalks.
00:50:36 <CakeProphet> though it doesn't allow you to have things like replyto: and then replyto:with:
00:51:19 <CakeProphet> non-alphanumeric characters don't require a space
00:52:18 <psygnisfive> i really wanna fuck around with a language that has nat-lang like prepositions
00:52:19 <CakeProphet> so this makes sense: if(x==2, "Hello, World!" println)
00:54:04 -!- psygnisfive has changed nick to psygnisfive[away.
00:56:52 <CakeProphet> that's pretty much how smalltalk does conditionals
01:00:48 <CakeProphet> because lisp has macros that pretty much make their own rules.
01:07:20 -!- psygnisfive[away has changed nick to psygnisfive.
01:08:10 <CakeProphet> there's functions... and then there's macros.
01:08:20 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
01:08:28 <psygnisfive> macros might as well just be lazy evaluation.
01:08:56 -!- Judofyr has joined.
01:09:25 <CakeProphet> psygnisfive: ...I am saying that lisp is not uniform.
01:09:48 <CakeProphet> it has functions and macros... two seperate things.
01:10:25 <CakeProphet> ...it lumps both of them together with the same syntax and claims that everything is computed via the same inner workings.
01:10:51 <psygnisfive> ive never heard anyone claim that everything is computed via the same parts of eval/apply
01:12:30 <CakeProphet> it does annoy me though... that they look the same. You don't tell if you're dealing with a function or a macro unless you've read some sort of documentation or seen the source code for it
01:13:04 <psygnisfive> ive never used macros so i cant really know one way or another
01:13:24 <CakeProphet> ...it doesn't matter usually, because if you're using a function/macro you pretty much already know what to expect.
01:14:13 <CakeProphet> psygnisfive: pretty much all of the control flow in lisp is done with macros.
01:15:22 <psygnisfive> i dont know if i like the syntax for it in scheme but
01:17:33 -!- psygnisfive has changed nick to psygnisfive-away.
01:24:41 -!- puzzlet_ has joined.
01:26:14 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
02:06:17 -!- pikhq has joined.
02:34:06 -!- psygnisfive-away has changed nick to psygnisfive.
02:34:38 <ihope> I wonder how many of you are people who would be interested in Normish (a.k.a. rootnomic) but aren't aware of its existence. >:-)
02:35:28 <ihope> Nomic in general is a game of changing rules: usually, a player proposes some change to the rules (or other part of the state of the game), and if it passes a vote, it's implemented.
02:35:48 <ihope> Normish is the same, but proposals are executables, and if they pass a vote, they're run as root.
02:36:15 <ihope> I'm sure eventually it will have politics and a stock market and a justice system and such. :-P
02:36:50 <ihope> Though I haven't done anything impressive with it yet.
02:44:13 <ihope> Like a proposal system that does anything more than count the number of people that have a copy of a file in their ~/proposals directory...
02:47:27 <ihope> So far, nobody has any points. I guess that doesn't do a good job of encouraging competitive people.
02:47:45 <ihope> I plan on getting a point as soon as possible.
03:08:13 <psygnisfive> ihope, what should we make our aithingy do
03:08:47 <ihope> We should make it write proposals for Normish. :-P
03:09:00 <ihope> (More likely, it would buy and sell things on Normish.)
03:09:05 <ihope> Make it build more of itself.
03:09:14 <psygnisfive> oh, btw, i figured out a way to do like.. a neural network using map and reduce
03:11:10 <psygnisfive> MapReduce has more than just map and reduce
03:11:15 <psygnisfive> surely you guys know what maps and reduces are
03:12:15 <RodgerTheGreat> I'm no haskell coder, but I'm sure I know what you're talking about by some other name
03:12:38 <RodgerTheGreat> a map would naturally be something like what the data structure does
03:13:20 <RodgerTheGreat> and a reduce seems like a general term for operations like summing and concatenation
03:14:04 <psygnisfive> concatenation being reduce with ++ or whatever
03:14:12 <RodgerTheGreat> so a reduce is the application of any commutative operator to a list of elements?
03:16:09 <ihope> map here refers to applying one function to every element of a list, yes?
03:16:23 -!- puzzlet_ has changed nick to puzzlet.
03:16:46 <psygnisfive> googles MapReduce is not just a map then a reduce
03:17:04 <psygnisfive> really what it is is a map, then a sort-into-buckets-by-some-criteria, then a reduce
03:17:45 <psygnisfive> the way i figure its a map+reduce problem is
03:18:03 <psygnisfive> in a neural network that uses discrete time units, each state is a function of the last state
03:18:07 -!- bsmntbombdood has quit.
03:18:45 -!- bsmntbombdood has joined.
03:18:48 <psygnisfive> for each node (map), its a result of averaging the sum (reduce) of the weighted inputs (map)
03:19:11 <psygnisfive> so you have to map some "update" function over each neuron to produce the networks next state
03:19:45 <psygnisfive> the update function being something that reduces with + the result of mapping a get-and-weight-input function over the inputs list for that node
03:21:43 <psygnisfive> ofcourse, for learning you need yet another map of some sort
03:22:10 <psygnisfive> and it might ultimately be better to have the whole thing be object oriented and let it run itself, but you get the idea anyway :p
03:22:19 <psygnisfive> and itd be fun to see if such a thing could be done
03:44:42 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
03:44:56 -!- Judofyr has joined.
03:59:00 <ihope> It has no denotative meaning.
04:22:45 -!- Corun has quit ("This computer has gone to sleep").
04:41:50 <psygnisfive> i know what an interjection is, thank you :p
05:09:18 <ihope> I meant that this particular interjection has no denotative meaning; many interjections do have denotative meanings to some extent.
05:09:39 <ihope> Then again, it's difficult to lie with an interjection.
05:27:02 -!- Judofyr_ has joined.
05:27:02 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
06:12:21 -!- pikhq has quit ("leaving").
06:52:18 -!- CakeProphet has quit (Remote closed the connection).
06:54:46 <Deewiant> AnMaster: got a mail from Mike Riley
06:55:01 <Deewiant> says he's feeling like bringing RC/Funge-98 to Mycology standards
07:10:48 -!- augur has joined.
07:10:48 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
07:11:17 -!- augur has changed nick to Guest40729.
07:24:12 -!- Guest40729 has changed nick to psygnisfive.
07:33:33 -!- olsner has joined.
07:38:23 -!- Judofyr has joined.
07:38:23 -!- Judofyr_ has quit (Read error: 104 (Connection reset by peer)).
07:56:08 -!- puzzlet_ has joined.
07:56:45 -!- puzzlet has quit (Remote closed the connection).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:51 <AnMaster> Deewiant, what about getting a website up somewhere?
08:30:40 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)).
08:31:45 -!- puzzlet has joined.
09:05:48 -!- olsner has quit ("Leaving").
09:07:20 -!- CakeProphet has joined.
09:26:26 <oklopol> reduce is just a specialization of a catamorphism
10:07:55 -!- oklopol has quit (Read error: 113 (No route to host)).
10:11:25 <Deewiant> AnMaster: beats me, but I'm sure that if he's going to want to release software he's going to put it on the 'Net somewhere. :-P
10:16:13 <AnMaster> hrrm Def-BF really needs a nop instruction
10:18:48 <AnMaster> anyway in blocks marked as "may optimise" it can now also optimize constant jumps/data pointer pushes
10:20:27 <AnMaster> RodgerTheGreat, about stdlib, got any details of functions that will be in it?
10:20:52 <AnMaster> I will release my stdlib code under some BSD style license btw
10:21:23 <AnMaster> however I will most likely implement parts in optimized C for use in the compiler
10:22:37 -!- tusho has joined.
10:22:56 <AnMaster> Deewiant, but tell tusho about it, he will like it, and think of the TRDS bit too
10:23:16 <tusho> whose been using my nick
10:23:24 <tusho> what we talkin' bout
10:23:34 <AnMaster> <Deewiant> AnMaster: got a mail from Mike Riley
10:23:34 <AnMaster> <Deewiant> says he's feeling like bringing RC/Funge-98 to Mycology standards
10:23:34 <tusho> the thing you told Deewiant
10:23:37 <AnMaster> <AnMaster> Deewiant, what about getting a website up somewhere?
10:23:40 <AnMaster> <Deewiant> AnMaster: beats me, but I'm sure that if he's going to want to release software he's going to put it on the 'Net somewhere. :-P
10:23:57 <tusho> i release software telepathically
10:24:57 <AnMaster> anyway I don't think using duff's device will be such a problem when you compile from high level code
10:25:19 <AnMaster> as you will have an attribute to mark code as "not a jump target"
10:36:05 -!- Judofyr_ has joined.
10:36:05 -!- Judofyr has quit (Read error: 54 (Connection reset by peer)).
11:13:03 -!- Judofyr_ has quit.
11:26:42 <Deewiant> AnMaster: ah, hey, good point, maybe I'll finally get something to compare my implementation of TRDS against :-)
11:32:24 <AnMaster> tusho, you said you wanted case insensitivity before?
11:32:31 <tusho> groan not this again
11:32:41 <AnMaster> tusho, does that include nomics? :P
11:32:57 <tusho> AnMaster: i'd point out that your proposal did not introduce case insensitivity
11:33:02 <tusho> as it required actions to be in uppercase
11:33:22 <tusho> (anyway, nomics are prime candidates for "Fucking With Your Mind")
11:33:30 <tusho> (and case sensitivity certainly does that)
11:33:48 <AnMaster> C is case sensitive, yet this doesn't "fuck with my mind" as you said
11:37:49 <AnMaster> tusho, English is more like some sort of RPC language
11:38:07 <AnMaster> it is used to send data and requests, not to program the "units"
11:43:11 <AnMaster> tusho, what do you think of lemon (as in the parser generator)
11:43:45 <AnMaster> is it easier or harder than flex?
11:48:45 <AnMaster> tusho, ever tried to mmap() an empty file?
11:48:55 <AnMaster> you get some interesting results
11:49:06 <AnMaster> "Couldn't mmap() input file: Invalid argument"
11:49:10 <tusho> lemon is a parser generator
12:40:56 -!- Sgeo has joined.
13:15:59 <AnMaster> RodgerTheGreat, for function names, can you reserve some namespace for compiler provided functions? As in non-standard ones.
13:16:06 <AnMaster> maybe the prefix __ would be good?
13:17:06 <AnMaster> this will be needed to implement some stuff
13:26:52 -!- Sgeo has quit ("Ex-Chat").
13:32:42 <AnMaster> we need some sort of "external" too
13:32:49 <AnMaster> well I'm writing a suggested extension spec
14:19:39 -!- pikhq has joined.
14:27:20 <AnMaster> pikhq, how is a variable declared in Def-BF?
14:27:38 <pikhq> var: var_name value
14:27:59 <AnMaster> pikhq, how do you later assign it?
14:28:30 <AnMaster> pikhq, and the string "var:" is not in the standard
14:28:43 <pikhq> You and I must be reading different standards.
14:28:57 <pikhq> Hrm. Lemme find it.
14:29:21 <pikhq> Argh. Can't find it.
14:29:41 <pikhq> Believe me, variables are defined via var:.
14:31:21 <AnMaster> pikhq, http://nonlogic.org/dump/text/1216819756.html
14:31:26 <AnMaster> that is my suggestion at extension
14:31:39 <AnMaster> pikhq, also how did the flex/yacc stuff work out?
14:31:46 <AnMaster> pikhq, can you pastebin what you currently got
14:31:57 <pikhq> RodgerTheGreat: *prod of doom*
14:32:04 <pikhq> AnMaster: Real life got in the way.
14:32:12 <AnMaster> pikhq, well just pastebin what you got then
14:32:27 <pikhq> It and I are on different systems.
14:32:49 <AnMaster> well I will leave at the same time as I did yesterday (23:00 UTC+2)
14:33:04 <AnMaster> so if you get home at same time I will get it tomorrow. sigh
14:35:45 <AnMaster> pikhq, any comments on suggestions at http://nonlogic.org/dump/text/1216819756.html
14:35:58 -!- Corun has joined.
14:36:21 <pikhq> Seem like good suggestions.
14:37:03 <AnMaster> pikhq, anyway I'm waiting for you before I can make any progress (flex/yacc stuff is what is needed now)
14:37:27 <pikhq> I recommend trying the Yacc stuff on your own.
14:37:41 <pikhq> Hrm. Actually, I might be able to provide the Flex code now.
14:39:01 <pikhq> svn://nonlogic.org/pikhq/defbf/trunk
14:40:43 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
14:41:49 -!- puzzlet has joined.
14:44:47 <pikhq> I remember there was a good reason for it. . . I just don't recall ATM.
14:45:32 <pikhq> Ah. It indicates to lex whether or not there is another file to process.
14:45:44 <pikhq> If yywrap returns 1, then lex doesn't process another file.
14:49:03 <AnMaster> pikhq, wouldn't that be needed for import:?
14:49:24 <pikhq> Yes. That's just not been implemented yet. . .
15:25:02 <ihope> tusho: why did you leave rootnomic?
15:30:12 -!- Corun has quit ("This computer has gone to sleep").
15:33:48 -!- Corun has joined.
15:47:28 <tusho> ihope: the implementation's hideous usage and constraints
15:48:51 -!- puzzlet_ has joined.
16:01:17 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
16:05:08 <pikhq> Once again, I would like to say that Andy McKee is fucking awesome.
16:05:22 <pikhq> Also, new DC on 'Friday'.
16:06:24 <pikhq> New DC when DC recovers from a bicycle wreck.
16:06:46 <pikhq> He just got out of the ER yesterday, so, well, there goes Dresden Codak.
16:07:03 <pikhq> And he can't draw ATM.
16:07:26 <tusho> RodgerTheGreat: what do you mean 'riiiight'?
16:07:41 <tusho> isn't it okay to not draw comics immediately after coming out of ER?
16:08:28 <RodgerTheGreat> if you consider aaron's history with this strip you'd start to see my point here
16:09:29 <RodgerTheGreat> for the last 6 months or so, diaz has been doing DC for a living. In this time we've had what- 4 pages?!?
16:09:37 <pikhq> More than that. . .
16:09:50 <pikhq> But definitely not the 'once a week' schedule he claimed.
16:10:04 <tusho> i don't read that comic
16:10:09 <tusho> so, i'll just assume you're right :p
16:10:26 <pikhq> The most annoying part?
16:10:30 <RodgerTheGreat> tusho: then limit your brilliant commentary to your areas of knowledge
16:10:34 <pikhq> The comic is so damned good that we stick around.
16:10:44 <tusho> RodgerTheGreat: sheesh; don't be so snappy
16:10:54 <pikhq> So we can't even just ignore it.
16:11:19 <tusho> abuse? wtf? what the fuck have I ever done to you? the only thing I know about you is that you randomly started calling me a little pest a while back and I have no fucking idea why.
16:11:25 <tusho> so to hell with that shit.
16:12:23 <tusho> it just looked as a reply due to its proximity with the previous reply
16:12:29 <tusho> and in relation to my response
16:12:43 -!- MikeRiley has joined.
16:17:58 <pikhq> RodgerTheGreat: This may sound awful, but. . . I think that DC's update schedule will be indistinguishable from normal because of this.
16:19:16 <RodgerTheGreat> this dude's entire job is creating this comic, and he can barely keep a MONTHLY update schedule
16:19:30 <RodgerTheGreat> the pages are well done, but they honestly couldn't take more than 2 or 3 days
16:19:48 <pikhq> One which he kept when he also had a full time job on the side.
16:20:19 <pikhq> I love the comic, but *damn*.
16:20:51 <RodgerTheGreat> so I have difficulty interpreting him as anything other than either an *incredibly* unlucky victim of circumstance or a tremendous lazy jackass
16:21:31 <RodgerTheGreat> he's exceeded the previously existing fred gallagher benchmark by a wide margin
16:25:42 <pikhq> Kinda sad to compare to other webcomics with an insanely good update schedule. . .
16:26:44 <tusho> he has the right to be lazy you know :P
16:26:47 <pikhq> General Protection Fault, for example, was updated daily for 7.75 years (dropped down to weekly, then 3 times a week, due to him having a son)
16:26:48 <tusho> you're living proof if you still read it...
16:26:49 <RodgerTheGreat> are you kidding? Gallagher's update schedule is terrible. He's only updated about half of the days he was supposed to over the run of the comic- even less if you don't count "art days" and "T-shirt guy dom" as comics
16:27:20 <tusho> anyway, who is going to buy http://c-jump.com/ and report back to us on how fun it is
16:27:24 <pikhq> This in addition to the artist having a full time programming job.
16:28:22 <RodgerTheGreat> that looks like a really boring board game, but a valiant effort
16:29:45 <tusho> i think it'd be rather amusing
16:29:51 <tusho> needs more duffs device, though
16:29:53 * sebbu is playing metal slug 7 EU version
16:30:31 <tusho> sebbu: while typing?
16:30:57 -!- Sgeo has joined.
16:30:59 <pikhq> http://en.wikinews.org/wiki/Rhode_Island_man_arrested_with_highest_DUI_blood-alcohol_reading_ever
16:31:15 -!- cherez has quit (Read error: 104 (Connection reset by peer)).
16:31:24 <RodgerTheGreat> c-jump facts: Skiing and snowboarding is a perfect programming analogy.
16:31:31 <pikhq> I refuse to believe the man is alive.
16:31:41 <RodgerTheGreat> oh, of course. How did I never see this perfect analogy before
16:31:52 <pikhq> Though his organs may be well-preserved.
16:31:53 * Sgeo knows little about alcohol
16:32:05 <tusho> RodgerTheGreat: how about a language that co-ordinates some skiiers and snowboarders
16:32:16 <tusho> to create the most impractical, slow and error-prone TC language ever
16:32:30 <pikhq> Sgeo: A BAC of 0.400 makes most people comatose.
16:32:48 <pikhq> And 0.500 is basically fatal.
16:33:08 <RodgerTheGreat> include references to ski-culture and oodles of nasty multithreading bits
16:33:23 <tusho> RodgerTheGreat: the whole thing is nasty multithreading, really, isn't it
16:33:24 <RodgerTheGreat> pikhq: at that point, his blood would be a quite potent alcoholic beverage
16:33:38 <tusho> oh, and the optimum method of using it is when the skiiers and snowboarders are all around the world
16:33:46 <tusho> and stop every now to use a laptop with irc to co-ordinate
16:33:54 <tusho> if by 'optimum' you mean 'even less accurate'
16:34:16 <RodgerTheGreat> "Sima... semaph... oh, to hell with it- just hang loose brah!"
16:35:51 <pikhq> RodgerTheGreat: I think there's less alcohol in some hard liquors. . .
16:36:13 <pikhq> What did the guy do, chug a gallon of everclear?
16:37:24 <RodgerTheGreat> I can't imagine how that wouldn't just denature his red blood cells, halt oxygen transport and kill him instantly
16:38:02 <RodgerTheGreat> let alone the fact that that's enough alcohol to shut down his fucking brain stem
16:38:31 <tusho> Say AnMaster, do you know where ais is?
16:38:55 <pikhq> That's enough alcohol to *preserve* his body.
16:40:23 <RodgerTheGreat> ever rubbed a lemon on some meat and then looked at it under a microscope?
16:40:31 <tusho> "ever rubbed a lemon on some meat and then looked at it under a microscope?"
16:40:34 <tusho> Why yes, I do it all the time!
16:44:09 <AnMaster> RodgerTheGreat, what did you think about the extension suggestion I had?
16:44:14 <AnMaster> http://nonlogic.org/dump/text/1216819756.html that is
16:49:53 <RodgerTheGreat> ok, some of this has been addressed in this example, which provides a more concrete view of syntax and usage: http://nonlogic.org/dump/text/1216828051.html
16:51:32 <RodgerTheGreat> exiting in the current spec is possible in two ways- calling a % with nothing on the jump stack or reaching the end of code, so I don't think an explicit addition to the language is necessary
16:51:37 -!- cherez has joined.
16:52:05 <RodgerTheGreat> the stack-based version of that can be translated into assembly quite easily by initializing the jump stack with the address of a "Halt" or similar instruction
16:54:40 <AnMaster> RodgerTheGreat, what about attributes?
16:54:58 <AnMaster> RodgerTheGreat, also prefixes I guess make sense
16:58:01 -!- MikeRiley has quit ("Leaving").
17:03:05 -!- MikeRiley has joined.
17:17:30 -!- Corun has quit ("This computer has gone to sleep").
17:32:35 -!- iano has joined.
17:33:13 -!- iano has left (?).
17:46:35 -!- Corun has joined.
17:49:51 <Deewiant> AnMaster: woo, got a copy of Cat's-Eye's Befunge diagnostics from Mike
17:49:57 <Deewiant> turns out that 3k4 should push 4 fours on stack :-(
17:50:15 <MikeRiley> according to chris that is what it is supposed to do...
17:50:26 <MikeRiley> and cat's eye diagnostics work that way...
17:51:02 <MikeRiley> thanks for pointing out my { mistake,,,,i wonder if that was a typo in the specs,,,seems kinda worthless to work that way...
17:51:53 <Deewiant> but then, even if it pushed on the TOSS I think it'd be quite useless :-P
17:52:29 <MikeRiley> yeah, i cannot really see much use for it there either,,,
17:52:30 <Deewiant> what are you going to do with a bunch of zeroes anyway, aside from the fact that you can push them by just using 0
17:52:36 <MikeRiley> but that would at least make more sense...
17:52:58 <MikeRiley> just in case you want some zeros for some stupid reason...
17:53:30 -!- Dewi has quit (Read error: 110 (Connection timed out)).
17:53:39 <MikeRiley> i will modify my interpreter to work like the specs,,,
17:53:39 <AnMaster> <Deewiant> AnMaster: woo, got a copy of Cat's-Eye's Befunge diagnostics from Mike
17:53:39 <AnMaster> <Deewiant> turns out that 3k4 should push 4 fours on stack :-(
17:54:00 <MikeRiley> but that is what chris told me long ago...
17:54:07 <Deewiant> and that's what the Cats-Eye diagnostics say
17:54:16 <AnMaster> well give me a reason it is so
17:54:25 <AnMaster> I'd say it is a bug in that "Befunge diagnostics"
17:54:25 <MikeRiley> the only exception to k was 0k was supposed to skip an instruction...
17:54:28 <Deewiant> you don't get into all these special cases like we do currently
17:54:40 <Deewiant> you can just do while (n--) foo();
17:54:42 <MikeRiley> i agree,, i would prefer k to work such that you can iterate once.
17:54:45 <Deewiant> with the exception that if (n == 0) move();
17:55:02 <AnMaster> no way, either entering from left or right 3k4 will push 4 fours on the stack
17:55:04 <MikeRiley> that was chris' original intent, no special cases
17:55:09 <AnMaster> either it will push 3 fours, or 4 threes
17:55:19 <Deewiant> yeah, that's what you'd think isn't it :-P
17:55:26 <Deewiant> of course, the spec says nothing on the matter
17:55:28 <MikeRiley> that is what i originally thought.
17:55:37 <AnMaster> give me a reason it doesn't act like I say it should
17:55:42 <MikeRiley> Rc/Funge-98 originally worked that way, until chris pointed out to me that it was wrong
17:55:45 <AnMaster> apart from "bug in diagnosis tool"
17:55:49 <Deewiant> AnMaster: the spec doesn't say that k skips over its instruction
17:56:06 <AnMaster> Deewiant, the 108 specs do say that. this will be interesting
17:56:11 <MikeRiley> exactly, it just says it executes the next instruction,,,but does not speciy that it moves the IP
17:56:12 <Deewiant> it only says that it executes it 0 times if given 0
17:56:16 -!- Corun has quit ("This computer has gone to sleep").
17:56:31 <Deewiant> it doesn't say that it moves past it if given 0, either. :-P
17:56:40 <AnMaster> Deewiant, got this diagnosis thing anywhere?
17:56:50 <MikeRiley> technically no, other than it says the 0k will not execute the next instruction
17:57:04 <MikeRiley> the cat's eye diagnostics are on my site now
17:57:10 <MikeRiley> http://www.elf-emulation.com/funge/
17:57:28 <Deewiant> AnMaster: use that then, can't be bothered :-P
17:57:29 <tusho> oh MikeRiley is the funge guy
17:57:32 <MikeRiley> that stupid k instruction has always been a problem!! eheheheheeh
17:57:44 <AnMaster> Deewiant, anything else where it disagrees with mycology?
17:57:51 <Deewiant> AnMaster: haven't run it yet, actually
17:58:07 <AnMaster> got some other stuff to finish
17:58:46 <AnMaster> how does this disagnosis thing isn't on catseye.tc?
17:58:50 <Deewiant> MikeRiley: hey, 1.0.8! What's new WRT 1.0.7
17:59:04 <Deewiant> there's a link to it somewhere there but it's broken
17:59:09 <Deewiant> and I couldn't find it anywhere
17:59:10 <MikeRiley> bug fixes mainly bewteen 1.0.7 and 1.0.8...
17:59:16 <Deewiant> but evidently Mike had a copy squirreled away :-)
17:59:25 <MikeRiley> yep, from back when i was dealing with chris on this...
17:59:32 <MikeRiley> good thing i kept a copy!!! eheheheheeh
18:00:09 <MikeRiley> personally, i think k should be more properly defined,,,,i like the ability to iterate once and then skip....
18:00:26 <MikeRiley> being able to execute an instrucion 0 or 2+ seems weird to me...
18:00:37 <AnMaster> thread 2 startedthread 1 startedFAIL no stackFAIL
18:00:54 <AnMaster> Deewiant, anyway it is much harder to parse the output of this tool
18:01:15 <Deewiant> sure, mycology was partly designed for it to be easy to see what's going on
18:01:21 <AnMaster> sh: line 0: type: diag3c.b98: not found <-- not sure what the heck it is trying to do there
18:01:36 <Deewiant> AnMaster: trying to use 'i' mayhaps
18:01:36 <MikeRiley> diag3.b98 loads diag3c as an overlay
18:02:13 <AnMaster> but what does it expect? that I have it chmod +x and have PATH include current dir?
18:02:28 <Deewiant> okay, so diag1.b98 loops infinitely
18:02:47 <Deewiant> or then it just takes a long time
18:02:56 <ihope> tusho: would you come back if rootnomic's proposal system were replaced with something better?
18:03:03 <MikeRiley> there is an html file in the archive, which shows the output from the diagnosics,,,what it should look like..
18:03:08 <AnMaster> MikeRiley, can you beat that time ;P
18:03:15 <tusho> ihope: already discussed this
18:03:18 <Deewiant> diag3.b98 outputs the @v-figure twice
18:03:25 <Deewiant> MikeRiley: ignore him, he's a performance freak
18:03:34 <tusho> i never started it
18:03:40 <AnMaster> Deewiant, it outputs it once here
18:03:42 <Deewiant> ookay, diag3b.b98 also loops infinitely
18:03:54 <tusho> MikeRiley: By performance freak, we mean posix_fadvise.
18:04:02 <tusho> See, he doesn't actually optimize algorithms or do where it's needed.
18:04:04 <Deewiant> diag3c outputs nothing at all.
18:04:07 * ihope tries to remember what tusho said when we discussed this before
18:04:08 <tusho> He just sticks posix_ in front of every function.
18:04:19 <Deewiant> diagt gives what it gave for AnMaster.
18:04:28 <Deewiant> excellent, looks like I have something to do this weekend. :-)
18:04:30 <AnMaster> Deewiant, any idea what is wrong then?
18:04:42 <Deewiant> and not gonna look in any detail right now
18:04:43 <MikeRiley> Instructions Executed: 793 in 758 cycles
18:04:47 <AnMaster> Deewiant, well please tell me what the issues were when you find them, as I got a busy weekend
18:04:57 <AnMaster> MikeRiley, a good hash library?
18:05:04 -!- Dewi has joined.
18:05:05 <Deewiant> AnMaster: rolled his own I believe
18:05:09 <AnMaster> MikeRiley, or using static memory model stuff?
18:05:15 <tusho> AnMaster: how about sane optimizations
18:05:20 <tusho> as opposed to your rather random attempts
18:05:24 <MikeRiley> yes, that was on the static model. let me try it on the dynamic
18:05:36 <AnMaster> MikeRiley, that should be more interesting :)
18:05:40 <Deewiant> MikeRiley: there's a bug in your dynamic, unless you applied one of my patches
18:05:49 <MikeRiley> Instructions Executed: 793 in 758 cycles
18:06:00 <MikeRiley> i already applied that patch, thanks!!!
18:06:21 <Deewiant> MikeRiley: so it was correct? I just hacked something that worked, but it could be a symptom of something else
18:06:31 <Deewiant> adding a "+1" somewhere didn't seem too smart :-P
18:06:36 <AnMaster> MikeRiley, hrrm. I need to take a look at your memory model, except your code wasn't very clean, nor well documented ;P
18:06:50 <Deewiant> especially where it's surrounded by two lines where there are no "+1" but which do essentially the same thing
18:06:52 <MikeRiley> nope,,,it is horrible!!! ehehehehehe i am working on cleaning it up...
18:07:14 <MikeRiley> yeah, i thought that strange too,,,,need to look at that section more,,,been so long since i have looked at that code...
18:07:15 <ihope> I guess tusho isn't interested in rootnomic for the time being no matter what happens.
18:07:30 <Deewiant> AnMaster: got any RC/Funge-98 fingerprint documentation you want to complain about? I can't think of any offhand
18:09:00 <AnMaster> MikeRiley, cfunge can be found at http://rage.kuonet.org/~anmaster/cfunge/
18:09:48 <tusho> cfunge aims to be fast and standard conforming. cfunge also aims to never crash. This may seem an odd statement, surely every software aims for that? But cfunge aims to never crash on any input except possibly due to out of memory error (and even then the "crash" should be "graceful", as in a message telling what happened). Sadly it is common for other Funge interpreters to crash on obscure input (division by zero in some fingerprint, not checking array bou
18:09:50 <tusho> i love how you say 'we'
18:10:08 <AnMaster> tusho, yes it makes it "sound" professional ;P
18:10:20 <AnMaster> and I don't care what you think
18:10:23 <tusho> Today the cfunge Developer Committee passed, with a 7-53 vote, to enable a new switch which, when enabled, would increase the speed by 500% at the cost of not running any programs.
18:10:25 <MikeRiley> i have found the cfunge site, want to try it...
18:10:33 <tusho> cfunge 73.1 is being profiled and will be released in 5 years.
18:11:17 <MikeRiley> what do you not understand about FNGR?? that way i know how to write the documentation better for it...
18:11:30 <AnMaster> MikeRiley, no it just breaks the Funge specs
18:12:01 <MikeRiley> if it breaks something important,,,then i need to fix it,,,
18:12:15 <AnMaster> I haven't looked as closely at your code as Deewiant has
18:12:47 <MikeRiley> as i intended it, it should not break the specs at all...
18:12:48 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
18:13:12 <Deewiant> IIRC it assumes one fingerprint stack
18:13:16 <MikeRiley> other than the fact it changes how ( and ) work depending on what mode it is nn
18:13:19 <Deewiant> whereas the spec has one stack for each of A-Z
18:13:34 <MikeRiley> the fingerprint stack covers all the A-Z ...
18:13:45 <AnMaster> so you can unload and load totally random and end up with one half fingerprint
18:14:03 <MikeRiley> there might be a bug in my implementation...
18:14:16 <AnMaster> of course, any complex enough software will have bugs
18:14:18 <MikeRiley> but FNGR should conform if it is implemented correctly...
18:14:20 <Deewiant> I think RC/Funge-98 does fingerprints basically wrong, yes
18:14:30 <Deewiant> and I do think that FNGR can't possibly conform
18:14:36 <Deewiant> although I can't remember the details right now.
18:14:55 <Deewiant> this is what ccbi -p outputs on the subject:
18:14:55 <Deewiant> The "FNGR" fingerprint is unimplemented because it is incompatible with the
18:14:55 <Deewiant> way fingerprint loading and unloading is described in the Funge-98
18:14:55 <Deewiant> In particular, the Funge-98 spec speaks of having a stack of semantics for
18:14:58 <Deewiant> each instruction in the range ['A', 'Z'], while the "FNGR" fingerprint
18:15:00 <Deewiant> describes having just one fingerprint stack.
18:15:03 <Deewiant> (Incidentally, this is one reason why RC/Funge-98 fails some of the Mycology
18:15:05 <Deewiant> tests related to the fingerprint mechanism.)
18:15:22 <MikeRiley> my implemenation could be faulty....
18:15:29 <MikeRiley> but from my understanding of the specs...
18:15:43 <MikeRiley> loading a fingerprint overloads the A-Z instructions...
18:15:44 <AnMaster> the specs are unclear in a lot of areas
18:15:51 <AnMaster> which is why I'm working on Funge108 specs
18:15:54 <MikeRiley> if another fingerprint is loaded it overloads the overloaded ones...
18:15:56 <Deewiant> the spec is rather clear on this one, though
18:16:04 <Deewiant> http://catseye.tc/projects/funge98/doc/funge98.html#Fingerprints
18:16:08 <MikeRiley> for any instruction not defined, it will fall through to the previous fingerprint...
18:16:25 <AnMaster> MikeRiley, this is true, but what happens when you unload out of order?
18:16:39 <AnMaster> even if it isn't in the same fingerprint
18:16:41 <Deewiant> you can load ROMA which provides M
18:16:48 <Deewiant> and then unload MODU, which also provides M
18:16:49 <MikeRiley> depends on the mode you are using FNGR in,,,
18:16:57 <Deewiant> even though you didn't load MODU
18:17:12 <Deewiant> and the result should be that M is now whatever was loaded before ROMA
18:17:29 -!- Hiato has joined.
18:17:30 <AnMaster> or, load ROMA, load MODU, unload ROMA, now M will map to ROMA again
18:17:34 <MikeRiley> except that FNGR and change the order of the overloads...
18:18:09 <tusho> AnMaster: i think you should drop funge108
18:18:14 <tusho> about 3-7 people use funge98
18:18:18 <Deewiant> "Get number of fingerprints loaded" - impossible to know
18:18:19 <tusho> about, uhh, 1 will use funge108
18:18:28 <tusho> funge98 is ambiguous, but mycology specifies it well enough
18:18:55 <AnMaster> but it says nowhere mycology is the only interpretation :P
18:20:15 <Deewiant> MikeRiley: reading it through now, if you drop the idea of a covers-all fingerprint stack (i.e. don't use it to specify what the instructions do) I think FNGR might be possible
18:20:43 <MikeRiley> hmmm,,,will have to think about that...
18:20:50 <Deewiant> "Tag stack entry n with new fingerprint fp"?
18:20:56 <tusho> AnMaster: so what, all 7 people who use it know about mycology
18:21:18 <MikeRiley> the fp is the same as the hex equivalent of the name,,,,
18:21:25 <tusho> you can yell "de facto", but there's nothing wrong with that, and besides, if all 7 users agree on it it's not really de facto any more.
18:21:29 <MikeRiley> in essence t allows you to rename a loaded fingerprint
18:21:39 <Deewiant> since again, you can't know what fingerprints are loaded.
18:22:03 <MikeRiley> the FNGR extension does however know what is loaded...
18:22:05 <Deewiant> all those instructions should modify only one of the instructions A-Z
18:22:23 <Deewiant> load FNGR, load ROMA, unload NULL
18:22:33 <Deewiant> all the ROMA instructions are gone now
18:22:57 <MikeRiley> if you have FNGR, ROMA, and NULL loaded....
18:23:07 <MikeRiley> then unloading NULL, you will still have the semantics for FNGR and ROMA
18:23:23 <MikeRiley> if NULL is unloaded without being loaded first, then nothing should happen...
18:23:58 <Deewiant> MikeRiley: the spec says this explicitly
18:24:00 <Deewiant> The corresponding ) "Unload Semantics" instruction unloads the semantics for a given fingerprint from any or all of the instructions A to Z (even if that fingerprint had never been loaded before).
18:24:05 <MikeRiley> as far as using FNGR, nothing should happen, would have to look at how the specs deal with ,,,, hold on...
18:24:07 <Deewiant> had never been loaded before)*
18:24:21 <AnMaster> <MikeRiley> if NULL is unloaded without being loaded first, then nothing should happen...
18:24:26 <Deewiant> hence, you can essentially forget about N and T
18:24:34 <Deewiant> I don't see how those can possibly work
18:24:35 <MikeRiley> unloads the semantics for a given fingerprint,,,not necesarily semantics for another just because it was not loaded...
18:24:58 <AnMaster> MikeRiley, the spec agree with Deewiant above
18:25:27 <MikeRiley> well,,,,FNGR is a feral extension afterall....
18:25:37 <MikeRiley> to does change the nature of the interprter if you have it loaded...
18:26:16 <AnMaster> MikeRiley, but this shouldn't affect the behaviour if it isn't loaded
18:26:39 <MikeRiley> i agree, if it is not loaded, then the spec behaviour is what should happen
18:26:48 <AnMaster> MikeRiley, which, iirc, doesn't
18:27:23 <MikeRiley> afterall, my interpreter was written to my interpretation of the specs...
18:27:30 <MikeRiley> and in some cases, the specs are not terribly clear...
18:27:39 <MikeRiley> so and arbitrary decisions were made...
18:27:46 <MikeRiley> i could certainly have picked wrong with this one...
18:28:08 <Deewiant> I think other interpreters agree with the model we're explaining but I can't remember exactly
18:28:15 <AnMaster> no offence meant, but the text "(even if that fingerprint had never been loaded before)" seems pretty clear to me.
18:28:30 <MikeRiley> i see that,,,,but wonder if that was the intent...
18:28:37 <Deewiant> why would it be there, if not?
18:28:39 <MikeRiley> since it is in the section talking about layering fingerprints...
18:29:01 <Deewiant> and in general, I prefer to adhere to the letter of the spec and not the intent
18:29:07 <AnMaster> but I'm pretty sure Deewiant is correct here
18:29:24 -!- Corun has joined.
18:30:56 <tusho> Deewiant: and in general, I prefer to adhere to the letter of the spec and not the intent
18:30:58 <tusho> you must hate malbolge
18:31:01 <MikeRiley> but it also says "unloads the semantics for a given fingerprint" not necesarily unloads a specificly bound definition
18:31:23 <Deewiant> MikeRiley: my interpretation of that is, again, why would it say that so explicitly if it would just do nothing
18:31:37 <MikeRiley> i agree,,,,it is a confusing point...
18:31:49 <tusho> Deewiant: the implementation swaps an instruction from the spec
18:31:52 <Deewiant> I heard the spec there was buggy in some regard
18:31:56 <tusho> and _all_ programs and implementations use the implementation's version
18:31:57 <AnMaster> MikeRiley, I think Deewiant is correct, and iirc the other interpreters does it that way
18:31:58 <tusho> rather than the spec
18:32:04 <MikeRiley> just like k,,,,i wonder if the the intent and what was written were not the same...
18:32:10 <Deewiant> tusho: so, firstly, "in general", and secondly, yes. ;-)
18:32:32 <Deewiant> AnMaster: can't remember. it doesn't support many fingerprints (NULL and ROMA only IIRC) so I may not even have tested it.
18:32:58 <MikeRiley> not to mention FBBI itself does not conform well to the spec...
18:33:05 <AnMaster> MikeRiley, also. I hate TRDS ;P, it isn't just feral, it is wild
18:33:28 <AnMaster> and I don't plan to implement it
18:33:30 <Deewiant> though the reference implementation doesn't work at all :-P
18:33:39 <MikeRiley> i saw somebody mention about time travelling IPs, just had to try it!!! eheheheheeheheh
18:33:56 <AnMaster> MikeRiley, does that include testing it? hm
18:33:56 <Deewiant> amazingly enough your spec is actually consistent and can work :-)
18:34:10 <MikeRiley> in mine some of it works and some does not,,,never really finished that module...
18:34:28 <AnMaster> MikeRiley, I understand why you didn't finish it
18:34:37 <MikeRiley> yeah, it is really a beast!!! eheheheheheeheh
18:35:12 <MikeRiley> my implementation supports stop and start time, space jumps and single ip time jumps....multiple time travelling ips do not work properly in mine...
18:35:24 <MikeRiley> well,,,i am an unusual person!!! eheheheheeheheh
18:35:43 <Deewiant> MikeRiley: implementing TRDS meant changing all of: main function, IP structure, Befunge-space structure, unrelated instructions (, and .)
18:35:50 <AnMaster> MikeRiley, anyway I had issues with colliding handprints, so my idea is to replace it with URIs
18:35:53 <Deewiant> oh, and instruction execution function of course
18:36:02 <Deewiant> MikeRiley: oh, that reminds me
18:36:23 <Deewiant> you only specify, and implement, that , and . don't do anything twice
18:37:03 <MikeRiley> hmmmm,,,,cannot remember about , and . in that module...
18:37:15 <Deewiant> well, you'll get there eventually, maybe. :-P
18:37:49 <MikeRiley> where did i say that , and . dont do anything twice???
18:37:59 <AnMaster> Deewiant, anyway I got no idea if I passed part 3 of that catseye diagnosis tool
18:38:05 <AnMaster> it is hard to interpret the output
18:38:18 <MikeRiley> anmaster: there is an html file that shows what should be output
18:38:27 <Deewiant> MikeRiley: I hope I didn't invent it :-D let me see
18:38:55 <tusho> I think 'funge-108' should replace 'PSOX' as a meme
18:38:59 <MikeRiley> you probably did not invent it,,,,but i do not see in the spec where i mentioned it...
18:39:00 <AnMaster> well the environment of course differs
18:39:02 <tusho> Not catchy enough harumph
18:39:14 <MikeRiley> yes, the environment and command line would be different...
18:39:27 <tusho> AnMaster: you're writing a befunge spec, I think I can be as silly as I like
18:39:34 <Deewiant> MikeRiley: okay, great, you don't specify it, you only implement it :-)
18:39:49 <MikeRiley> ok,,,,,i do???? i will have to look at that again...
18:40:01 <MikeRiley> i wonder why i did that......hmmmmmmm
18:40:06 <tusho> MikeRiley: how, exactly, do you vocalise ,,,,?
18:40:16 <tusho> I get that , is a pause, . a longer pause and ... a longer one
18:40:17 <AnMaster> MikeRiley, with all those ,,,, I first thought it was befunge code ;P
18:40:20 <tusho> but what does ,,,,,,,, sound like?
18:40:21 <Deewiant> so that IO would happen only once
18:40:33 <Deewiant> tusho: a lot of short pauses really fast
18:40:46 <tusho> Deewiant: 'Ok * * * * * I do?'
18:40:53 <tusho> heavy breathing, I guess
18:41:03 <tusho> Or maybe ,,,,,, = ...
18:41:10 <Deewiant> MikeRiley: but, that doesn't really work. I can't remember why, but IO will happen more than once, at least with that simple a scheme. :-)
18:41:12 <MikeRiley> i see it now,,,,it does not print before a given time....not sure why i did that....
18:41:32 <Deewiant> like said, it makes sense that IO should happen only once, and not when traveling back in time
18:41:33 <AnMaster> tusho, no he is just outputting the string he just wrote >:#,_@
18:41:34 <MikeRiley> as far as i am concerned,,,io should happen anytime that it is encountered...
18:41:52 <AnMaster> using this at the end of the irc line is better though ;) >:#,_@
18:42:07 <tusho> >:#,_@ is one fucked up smiley
18:42:16 <MikeRiley> trouble is,,,that code was written 10 years ago!!!! and poorly documented!!!! eheheheheeheheheheheheheh
18:42:23 <tusho> AnMaster: shut up you
18:42:34 <AnMaster> tusho, useful to print a 0"gnirts"
18:42:41 * tusho rips off AnMaster's head
18:42:53 <AnMaster> a 12 year old isn't strong enough for that ;P
18:43:19 <AnMaster> well it was you who went to crazy measures to prove it
18:43:23 <MikeRiley> i guess i need to dig out my old TRDS test program and see if i can come up with a reason for the IO.....more than likely i will just remove it....
18:43:31 <tusho> i thought that was
18:43:33 <tusho> the point of trds :)
18:43:59 <MikeRiley> specs do not mention that io does not repeat...as such....io should occur anytime it is encountered...
18:44:02 <AnMaster> tusho, if you can't even code befunge (I got sound proofs you say you can't), why do you care?
18:44:14 <tusho> AnMaster: am I not allowed to talk about befunge?
18:44:15 <Deewiant> MikeRiley: if you end up telling me that it's forgotten debug code I might be somewhat annoyed :-D
18:44:15 <tusho> sorry for intruding
18:44:19 <MikeRiley> maybe i had those in there for testing reasons....
18:44:24 <tusho> i'll make sure to stay out of the befunge clique conversations in future
18:44:32 <AnMaster> tusho, but you may want to learn it
18:44:47 <tusho> not really interested in learning it, but trds is fun
18:45:00 <AnMaster> tusho, to allow you to contribute to the vibrant Funge community ;P
18:45:21 <tusho> Deewiant: oh god yes
18:45:24 <tusho> that would be like
18:45:25 <AnMaster> Deewiant, that would be a 64-bit only fingerprint?
18:45:27 <tusho> one of the 3 good brainfuck clones
18:45:33 <MikeRiley> i guess i really created a mess when i defined that module!!! eheheheheheheeheheheheheh
18:45:36 <tusho> AnMaster: it'd be brainfuck+trds
18:45:47 <AnMaster> MikeRiley, you certainly created a headache for some
18:45:49 <Deewiant> MikeRiley: yep, and now you can't just remove it since I implemented it! :-D
18:46:01 <MikeRiley> yep....going to have to keep it now!!!! eheheheheeh
18:46:27 <AnMaster> anyway got the fingerprint spec page up somewhere?
18:46:30 <MikeRiley> unless i use the TRDS module to go back in time before the TRDS module was actually defined!!! ehehehehehe
18:46:39 <AnMaster> I got my copy from waybackmachine
18:46:42 <MikeRiley> all of my funge related materials are now on my site...
18:46:49 <tusho> Deewiant: ^___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________^
18:46:50 <Deewiant> MikeRiley: but IO happens anyway, so you can't prevent it! ;-)
18:47:00 <tusho> AND MY EYES. THEY ARE POINTING UPWARDS
18:47:09 <AnMaster> MikeRiley, thank to bibtex I can easily update the reference to it in funge-108 ;P
18:47:15 <tusho> Deewiant: ^_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________^
18:47:24 <tusho> ... uh, just ignore me
18:48:39 <AnMaster> MikeRiley, um http://web.archive.org/web/20020816190021/http://homer.span.ch/~spaw1088/funge.html is what I used before
18:49:03 <AnMaster> MikeRiley, it doesn't seem to match any of the pages
18:49:36 <AnMaster> MikeRiley, where are your minifunge specs?
18:49:50 <Deewiant> AnMaster: did you look at all?
18:49:52 <Deewiant> AnMaster: http://www.elf-emulation.com/funge/rcfunge_manual.html
18:50:01 -!- Corun has quit ("This computer has gone to sleep").
18:50:03 <AnMaster> Deewiant, I couldn't find mini funge there
18:50:31 <MikeRiley> the one on spaw1088 has been gone for 8 years or so...
18:50:43 <MikeRiley> that was when i was living in switzlerland,,,,and i am no longer there...
18:50:46 <Deewiant> given that the archive page is from 2002-08-16, not even 6 yet ;-)
18:50:56 <AnMaster> MikeRiley, well not 8... the version was from August 2002
18:51:01 <AnMaster> which was the last version I found
18:51:19 <MikeRiley> well,,,do not know where that came from,,,i left switzlerland in 2000,,, and left that website behind when i did...
18:51:33 <AnMaster> MikeRiley, it stayed around for some time then
18:51:34 <Deewiant> guess it was up for two years :-)
18:51:44 <MikeRiley> amazing!!! since i was not even paying for it!!!
18:52:04 <MikeRiley> at any rate,,,,all current materials are now on my current site...
18:52:04 <AnMaster> well anyway, did you have some site in-between?
18:52:20 <AnMaster> MikeRiley, just want to know if there are any changes to mini funge or the fingerprints
18:52:41 <MikeRiley> only things that changed between the versions are bug fixes...
18:52:52 <MikeRiley> but have been thinking about some additional fingerprints....
18:53:17 <AnMaster> MikeRiley, I use bibtex, what year do I put in for http://www.elf-emulation.com/funge/rcfunge_manual.html ?
18:53:28 <MikeRiley> see if i can come up with something more complicated than TRDS!!! eheheheheeheheheheheheh
18:53:36 <Deewiant> see if anybody implements it ;-)
18:53:50 <MikeRiley> good question,,,,just use this year....
18:53:57 <AnMaster> MikeRiley, I have already I think, well almost
18:54:11 <MikeRiley> i guess i should change the version number in the manual tho...
18:54:17 <AnMaster> or even started implementation
18:54:36 <AnMaster> MikeRiley, what do you think about that idea?
18:55:54 <AnMaster> CFFI I call the fingerprint, I can pastebin the (outdated) draft if you want, it won't be implemented that way at all, but it was a first draft, that's all
18:56:06 <AnMaster> the current version is only in my head atm
18:57:11 <AnMaster> MikeRiley, http://rafb.net/p/LuSAw897.html
18:57:27 <AnMaster> MikeRiley, also ais523 (intercal maintainer) may have beat you to making something worse
18:57:46 <AnMaster> he made a fingerprint (based on cfunge) totally replacing main loop that makes it integrate into C-INTERCAL
18:57:56 <AnMaster> using computed COME FROM and such inside the funge
18:58:14 <AnMaster> but I think TRDS is more complicated still ;P
18:58:40 <MikeRiley> yeah, that module is something else....
18:59:09 * AnMaster looks for the docs of IFFI (the C-INTERCAL <-> Befunge linking stuff)
19:00:11 -!- Sgeo has joined.
19:00:40 <AnMaster> MikeRiley, http://code.eso-std.org/c-intercal/doc/ick.txt
19:00:49 <AnMaster> MikeRiley, see "14.2.2 The IFFI Fingerprint"
19:01:13 <AnMaster> I don't understand parts of it
19:02:19 <AnMaster> RodgerTheGreat: decided anything about function attributes in Def-BF yet?
19:05:52 <AnMaster> MikeRiley, but I think TRDS is worse than IFFI, don't you?
19:06:54 <AnMaster> MikeRiley, still what do you think of IFFI :)
19:07:25 <AnMaster> I guess cfunge, or rather C-INTERCAL with patches cfunge, will be the only implementation to ever implement it
19:07:56 <AnMaster> MikeRiley, I mean it needs to tie into a INTERCAL interpreter really
19:09:17 <MikeRiley> last time i messed with intercal, i just made an iterpreter, but never really messed with the language much,,,,Befunge came along and that took my interest...
19:10:51 <AnMaster> well INTERCAL is pretty hard to interpret too
19:12:18 <MikeRiley> yep agree, had a really fun time building my interprter for it...
19:12:52 <AnMaster> well befunge is easy to parse, like brainfuck in that aspect
19:13:23 <MikeRiley> yes, easy to parse, sometimes not so easily to implement....
19:13:46 <AnMaster> MikeRiley, your dynamic memory model, what exactly is it?
19:14:10 <AnMaster> mind you I haven't really looked at the code yet
19:14:22 <AnMaster> mainly because I had issues reading it
19:15:08 <MikeRiley> not sure,,,,need to look at it again...
19:15:16 -!- Corun has joined.
19:15:52 <AnMaster> MikeRiley, I use a hash array with struct { x, y } as the key, it is quite speedy but not as good as your code
19:16:11 <AnMaster> need to try it on my cpu to be sure
19:16:43 <MikeRiley> my code is just a dynamic array,,,looking at it right now...
19:16:53 <AnMaster> hm. that could cause issues if you put something using p in some huge cell
19:17:48 <AnMaster> you will need 2^32 * 2^32 * 4 (assuming sizeof(fungeCell) == 4) for each sector
19:18:02 <AnMaster> not sure, but something huge like that anyway
19:18:24 <AnMaster> and I use 64-bit cells (optionally, selectable at compile time)
19:18:58 <AnMaster> MikeRiley, sure that is the dynamic memory model then?
19:21:08 <MikeRiley> well,,,,not 100% positive,,,,need to study the code a bit more...
19:22:15 <MikeRiley> that part of the code was a quick and dirty memory manager,,,i normally used it in the static mode...
19:22:25 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
19:22:26 <MikeRiley> so i need to refamilirize myself with it....
19:22:46 <AnMaster> Deewiant, figured what's wrong with threads yet?
19:23:03 <Deewiant> AnMaster: not going to do anything until the weekend probably
19:23:10 <Deewiant> just ran them through and left it at that
19:23:13 <MikeRiley> it is a dynamic array,,,with a twist...
19:23:22 <AnMaster> Deewiant, anyway I figured what was wrong with the "sh" line
19:23:29 <AnMaster> it is assuming some f*cking dos crap
19:23:46 <AnMaster> instead of "find path to binary"
19:23:53 <AnMaster> which I don't think dos even have
19:24:05 <Deewiant> now you see why Mycology doesn't test = ;-)
19:24:20 <MikeRiley> yep,,,, = is problamatic to be able to test...
19:24:36 <AnMaster> well I do have a test in my small cfunge test collection
19:24:45 <Deewiant> and I presume it assumes POSIX?
19:24:58 <MikeRiley> my dynamic model uses a dynamic cell array, each cell has an address associated with it...
19:25:08 <MikeRiley> so putting values into large cells will not cause memory issues...
19:25:19 <AnMaster> http://rafb.net/p/JM3RtR74.html
19:25:31 <MikeRiley> the cell array is then organized into rows...
19:25:46 <AnMaster> MikeRiley, how do you look up a specific cell?
19:26:10 <MikeRiley> looks like each row is stored togetehr in the array...
19:26:12 <AnMaster> but that is a O(n) operation to search through?
19:26:29 <AnMaster> what if you need to insert stuff then?
19:26:52 <MikeRiley> if you insert, it just adds a cell into the appropriate row....
19:27:03 <AnMaster> you said it was stored together
19:27:06 <MikeRiley> inserting can be slow!!! depending on what the size of the array is and where it is placed...
19:27:09 <AnMaster> but what if it won't fit into that
19:27:57 <AnMaster> I think cfunge's is "reasonable speed in all cases but not extremely fast in any"
19:28:11 <AnMaster> it just uses the first hash library I found out there
19:28:12 <MikeRiley> there is an array that contains row addresses...
19:28:20 <AnMaster> Deewiant, my hash library is slow
19:28:29 <MikeRiley> and then after that appropriate row is found,,,it will move along the row to ge tthe cell...
19:28:43 <AnMaster> Deewiant, yes but I wrote a Befunge93 in bash it was *even* slower
19:29:04 <AnMaster> heck it took several minutes to go through the Befunge-93 part of mycology
19:29:05 <Deewiant> bash slower than C? say it ain't so
19:29:18 <MikeRiley> i got to run for awhile, be back later
19:29:26 <AnMaster> MikeRiley, oh I'm a bash fan btw
19:29:44 <AnMaster> and I wrote a brainfuck interpreter in bash
19:29:50 -!- MikeRiley has quit ("Leaving").
19:32:02 <AnMaster> Deewiant, iterate.c is the file with most "finally made this work" commits to it
19:32:31 <Deewiant> I'm going to add an option, probably
19:32:39 <Deewiant> because I think k is somewhat useless like that
19:32:55 <AnMaster> Deewiant, sounds like a good idea
19:33:06 <Deewiant> so default to the spec, but allow useful behaviour as well :-P
19:33:32 <AnMaster> however you can never get just one iteration?
19:34:03 <AnMaster> well Funge-108 will follow the way you did it Deewiant
19:34:18 <Deewiant> it might be nicer to simplify it from that
19:35:01 <Deewiant> no, I'm talking about the 108 way
19:35:21 <Deewiant> I think it'd be simpler if you said that after k, the IP always moves
19:35:44 <Deewiant> then you don't need special casing for anything
19:36:07 <Deewiant> it's just, do instruction given number of times, and move
19:36:49 -!- oerjan has joined.
19:36:56 <AnMaster> Deewiant, heck I will need to write at Rationale for that change now :P
19:37:44 <AnMaster> Deewiant, anyway what bothers me now is that I can't figure out where in the Iterate code I take the extra step forward
19:38:01 <AnMaster> Deewiant, you seen my iterate code?
19:38:18 <Deewiant> nah, haven't looked at cfunge's source pretty much at all
19:38:22 <AnMaster> if not it is at http://rafb.net/p/Rs018T84.html
19:39:05 <AnMaster> there is a small indention error at the end though
19:39:12 <AnMaster> ignore it as I fixed that locally now
19:39:37 <AnMaster> Deewiant, well apart from that?
19:39:42 <Deewiant> and you can't find it? it's at the end, no?
19:39:51 <Deewiant> looks like it's pretty much copied from CCBI :-P
19:40:06 <AnMaster> Deewiant, I did copy some stuff from ccbi on this
19:40:13 <AnMaster> as it was bloody hard to get right
19:40:38 <AnMaster> Deewiant, I done similar in some fingerprints, TURT for example
19:40:47 <AnMaster> while I don't think FPDP is based on your at all
19:41:26 <AnMaster> Deewiant, nor is my fingerprint manager code based on your code at all
19:42:12 <AnMaster> (because your is so D specific)
19:42:57 <Deewiant> you can do the same with #define
19:43:04 <Deewiant> nothing too fancy there, I don't think
19:43:19 <Deewiant> i.e. nothing you couldn't do with #define :-)
19:43:20 <AnMaster> Deewiant, well you can check the way I do it
19:43:59 <AnMaster> Deewiant, I got a script that looks as some "fingerprint spec files" that contains details of what instructions they implement, if they are safe or not and so on
19:44:09 <AnMaster> then it generates an array from it
19:44:17 <AnMaster> which I later can do a binary search in
19:44:27 <Deewiant> I could do something similar, but with templates and string mixins ;-)
19:44:33 <Deewiant> so there's no need to run a script
19:44:37 <AnMaster> Deewiant, I do it with a bash script
19:45:20 <AnMaster> returning false if I reach an index that is higher than the wanted one
19:46:05 <AnMaster> // ORTH - Orthogonal Easement Library
19:46:05 <AnMaster> { .fprint = 0x4f525448, .uri = NULL, .loader = &FingerORTHload, .opcodes = "AEGOPSVWXYZ",
19:46:05 <AnMaster> .url = "http://catseye.tc/projects/funge98/library/ORTH.html", .safe = true },
19:46:05 <AnMaster> // PERL - Generic Interface to the Perl Language
19:46:05 <AnMaster> { .fprint = 0x5045524c, .uri = NULL, .loader = &FingerPERLload, .opcodes = "EIS",
19:46:06 <AnMaster> .url = "http://catseye.tc/projects/funge98/library/PERL.html", .safe = false },
19:46:09 <AnMaster> Deewiant, it looks like that ^
19:47:13 <AnMaster> Deewiant, then it calls the .loader function pointer
19:47:22 <AnMaster> Deewiant, which registers the functions
19:47:35 <AnMaster> #define ManagerAddOpcode(fprint, opcode, name) \
19:47:36 <AnMaster> if (!OpcodeStackAdd(ip, (opcode), &Finger ## fprint ## name)) \
19:47:52 <AnMaster> then for example:ManagerAddOpcode(FIXP, 'U', atan)
19:48:10 <AnMaster> and finally we got: static void FingerFIXPatan(instructionPointer * ip)
19:49:38 <Deewiant> I'm really not that interested TBH :-) whatever works for you
19:49:56 <AnMaster> Deewiant, well my solution is rather simple really :)
19:50:12 -!- CakeProphet has quit (Remote closed the connection).
19:50:16 <AnMaster> Deewiant, also I can generate templates for the fingerprint *.c files
20:02:32 -!- lilja has joined.
20:03:29 <AnMaster> "k executes the instruction at k itself, then it move ip forward one step (with respect to current delta)."
20:03:32 <AnMaster> Deewiant, does that sound good ^
20:04:10 <Deewiant> and I'd clarify what "the instruction at k itself" means
20:04:37 <AnMaster> The k ``Iterate'' instruction pops a value n off the stack.
20:04:37 <AnMaster> Then it finds the next instruction in Funge-space in the path of the IP (note that this cannot be a marker such as space or ;), treats it as an instruction (with the exceptions below), executing it n times.
20:04:39 <Deewiant> I'd say "executes the instruction without moving away from the k" or something
20:04:57 <Deewiant> and then have a 1k[ or something
20:04:59 <AnMaster> Deewiant, what if the instruction is some "jump" instruction, say, from SUBR?
20:05:39 <AnMaster> Deewiant, exception: spaces and ;;
20:05:44 <AnMaster> it should reach past the spaces
20:06:04 -!- olsner has joined.
20:06:05 <Deewiant> yeah, not a special case if you implement it right
20:06:08 <AnMaster> "That code would execute f three times, after wrapping once."
20:06:23 <AnMaster> Deewiant, this is what C. Pressy wanted
20:06:30 <AnMaster> I did forward the mail didn't I?
20:07:01 <AnMaster> Deewiant, what is your gpg key? <evil grin>
20:07:05 <Deewiant> in any case, like said, that's fine and not a special case
20:07:33 <Deewiant> http://iki.fi/deewiant/files/misc/public.key
20:07:35 <AnMaster> Deewiant, the FRA law made me paranoid
20:08:04 <Deewiant> it's just an invitation for the NSA to crack it
20:08:35 <AnMaster> gpg: key B7E8FA08: public key "Matti Niemenmaa <matti.niemenmaa@kolumbus.fi>" imported
20:08:35 <AnMaster> gpg: key DEDF0F79: public key "Matti Niemenmaa <matti.niemenmaa@iki.fi>" imported
20:09:37 <AnMaster> Deewiant, what is the fingerprint?
20:09:51 <AnMaster> is it "4517 8F90 84CF C529 7382 2B84 B9D3 F95E DEDF 0F79"?
20:11:27 <oerjan> programmers are scary people. all fixated on execution.
20:12:34 -!- MikeRiley has joined.
20:12:48 <Deewiant> AnMaster: uploaded a fixed file which should have only the latter key
20:12:59 <MikeRiley> i remember what TRDS is doing with the , and . commands...
20:13:16 <Deewiant> and should it be in the spec? :-)
20:13:42 <MikeRiley> in reality, and running ip will and should output everytime it encounteres , or .
20:14:12 <MikeRiley> what is happeining in mine,,,,,when jumping to the past, my interpreter resets the destiantion time state by running from time 0 up to the jump point...
20:14:27 <MikeRiley> during this,, no output should be happening,,,since this is not where the ip jumped....
20:14:38 <MikeRiley> i knew there had to be a reason!!! eheheheeheheh
20:14:49 <Deewiant> you admit that it's a bug that it will rerun i and o, for instance? :-)
20:15:10 <Deewiant> or & and ~, which are worse :-P
20:15:23 <AnMaster> but you need to buffer all input then
20:16:00 <MikeRiley> no,,,,since depending on 3what you were doing with i and o, you need to replicate what the files were at the time of the destination jump
20:16:13 <Deewiant> and, that's impossible in the general case.
20:16:23 <MikeRiley> in the general case, that is true...
20:16:37 <Deewiant> and if the files are just streams, frontends to sockets for instance?
20:16:38 <MikeRiley> but if the files were created by the program, then it would be right...
20:16:54 <Deewiant> e.g. output to /dev/tty0 or whatever
20:16:55 <MikeRiley> that would be classified as an implementation problem...
20:17:13 <Deewiant> I think it could also be classified as a spec problem
20:17:16 <AnMaster> MikeRiley, what about input then?
20:17:16 <MikeRiley> i suppose if it really mattered, the interpreter needs to be able to replicate what the state of those were...
20:17:21 <Deewiant> since it explicitly says that you can rerun from the start :-)
20:17:33 <AnMaster> MikeRiley, and what about output and input in fingerprints?
20:18:02 <MikeRiley> if running from point 0 to catch up,,,then in theory the necessary fingerprints would be there at the time of arrival...
20:18:04 <Deewiant> MikeRiley: what I'd do if I were you is say that doing input/output in a TRDS program is undefined behaviour ;-)
20:18:04 <AnMaster> Deewiant, how does HRTI interact with TRDS btw?
20:18:29 <AnMaster> MikeRiley, what if the fingerprints give different results next time?
20:18:31 <MikeRiley> HTRI will be completely UNDEF within TRDS
20:18:31 <Deewiant> AnMaster: not by going back in time to see what the timer would have been earlier. ;-P
20:19:15 <MikeRiley> i know that the TRDS module raises lots of questions about some things,,,,,but i guess time travel is quirky that way....
20:19:17 <AnMaster> Deewiant, you need that "future past didn't happen" tense that Douglas Adams suggested
20:19:53 <Deewiant> MikeRiley: but yeah, I'd say that any input is undefined, and outputting to anything except stdout/stderr also is
20:19:59 <MikeRiley> i agree, will consider i, o, and = and the input funcitons to be UNDEF...
20:20:13 <AnMaster> MikeRiley, what about output from BASE and such?
20:20:20 <Deewiant> and that it's allowed for an interpreter to reprint , and . and so forth
20:20:27 <AnMaster> it shouldn't be printed again at next run
20:20:45 <MikeRiley> reprint of , and . is fine,,,,but if you are using the method of starting from 0 and going to the jump point, no output should be generated...
20:20:57 <psygnisfive> has anyone ever tried doing derivations of a formal language by piling on restrictions to, and deriving new constrained rules from, S*?
20:21:01 <Deewiant> MikeRiley: I'd add something about IO in the spec if I were you
20:21:25 <Deewiant> i.e. any file IO or input in general is undefined in an entire TRDS program
20:21:36 <Deewiant> if you ever jump backwards in time
20:21:39 <psygnisfive> AnMaster, all languages are subsets of the kleene star of the alphabet
20:21:43 <Deewiant> if you jump forwards or use the freezer, it's fine, no?
20:21:45 <AnMaster> MikeRiley, well of course BASE, FPSP/FPDP, and other ones doing output should be fixed
20:21:52 <AnMaster> to not output up to that point either
20:22:03 <MikeRiley> yes,,,,since jumping forward does not require any state to be maintained...
20:22:25 <MikeRiley> i would output up to a future jump, IF and only if there is another ip running that is still running in normal time
20:22:34 <AnMaster> psygnisfive, I'm much more down to earth programmer
20:22:37 <psygnisfive> AnMaster, I take it you dont know anything about formal languages?
20:23:05 <psygnisfive> and C has a bunch of keywords (int, return, if, etc)
20:23:37 <psygnisfive> and also a bunch of things like regexp-defined things like "names" that are used for variables, etc.
20:23:49 <olsner> that's almost the same as saying that any language is a subset of all matches for the regexp .* ... or, really, that a language is a set of strings of an alphabet
20:23:54 <RodgerTheGreat> someone said my name earlier, and I lost what they said in the backbuffer
20:23:55 <MikeRiley> anmaster: i agree, other output functions need to be fixed to not output when running null time (time between 0 and jump point)
20:23:59 <psygnisfive> that's the "alphabet" of the formal language of C
20:24:14 <olsner> (re subsets of kleene stars)
20:24:22 -!- ais523 has joined.
20:24:23 <AnMaster> MikeRiley, guess why I decided to not implement TRDS?
20:24:44 <ais523> Deewiant: becuase he's sane?
20:24:44 <MikeRiley> do not blame you,,,,that module is terribly convoluted to implement
20:24:46 <AnMaster> psygnisfive, sounds like you are writing a lexer
20:24:48 <psygnisfive> that is, a string contraining any number of those symbols
20:24:58 <AnMaster> psygnisfive, but wtf is a "kleene star"?
20:25:23 <oerjan> oh kleene star. i was reading it as kleisli star and thought you were doing something _really_ weird.
20:25:26 <ais523> I'm on Mibbit so had to scroll down to see who was online
20:25:27 <psygnisfive> any number of the items in the set strung together
20:25:52 <AnMaster> ais523, why have you been away so long?
20:26:04 <AnMaster> psygnisfive, um a sec, too many convos at the same time
20:26:12 <psygnisfive> because its any number of symbols in S* put together into a string.
20:26:36 <ais523> AnMaster: sleep pattern out of sync, meaning I've been awake overnight and asleep in the daytime, combined with needing to commute to use the Internet, combined with the door to my department breaking so I couldn't get into it except during working hours
20:27:05 <AnMaster> ais523, hope that is fixed now :)
20:27:17 <ais523> this is not my usual computer lab, nor my usual computer
20:27:17 <olsner> oerjan: is that (.*.) = (=<<)?
20:27:21 <ais523> it's open until midnight my time though
20:27:26 <ais523> so if all else fails I can just use this one
20:27:33 <AnMaster> ais523, but with your own computer I hope?
20:27:49 <ais523> although it's a pain to use a laptop here
20:27:56 <ais523> compared to my usual place
20:27:58 <olsner> http://haskell.org/pipermail/haskell/2003-August/012438.html says something about kleisli stars and >>=
20:28:02 <ais523> AnMaster: only a few desks to put it on
20:28:08 <ais523> there is wlan, pretty good wlan at that
20:28:14 <ais523> just lack of space to place a laptop
20:28:40 <olsner> oerjan: >=> seems to be same as the @@ operator in that post
20:28:49 <ais523> AnMaster: there's a desktop computer on every desk
20:28:49 <AnMaster> psygnisfive, you lost me anyway, don't try to bother
20:28:59 <ais523> and it's hard balancing a laptop on top of a desktop and still using it
20:29:06 <ais523> and it is sometimes crowded, although not right now
20:29:15 <AnMaster> ais523, is there any space just outside it?
20:29:25 <AnMaster> ais523, wlan isn't restricted by walls
20:29:43 <oerjan> anyway, it's the composition operator of the kleisli category
20:30:00 <ais523> AnMaster: yes, I know, there is a bit of space near which I use a laptop with on occasion but that's a bit crowded, and there's only a small amount of nearby space which won't get rained on
20:30:11 <ais523> this lab is so big it takes up two entire floors of a building
20:30:12 <psygnisfive> Do I need to do a little tutorial on Formal Languages for you kids? :P
20:30:17 <ais523> and I don't have access to the other floors
20:30:26 <psygnisfive> who here knows anything about formal languages?
20:30:30 <ais523> it's used by a department I don't belong to
20:30:56 -!- psygnisfive has set topic: http://vjn.cc/x | Should PsygnisFive do a tutorial on Formal Languages? Yes: 0, No: 0.
20:31:06 <AnMaster> ais523, some major stuff with funge, 1) catseye test suite found, turns out we all got k wrong
20:31:17 <AnMaster> ais523, 2) RC/Funge author found too
20:31:46 <ais523> that is news, it reminds me of when I found that CLC-INTERCAL and J-INTERCAL both existed
20:31:57 <ais523> I'd heard of them, of course, but they were both hard to track down at the time
20:32:03 <ais523> AnMaster: 3k4 == 4444 is obvious
20:32:06 <AnMaster> ais523, because it *doesn't* jump over
20:32:12 <Deewiant> ais523: 1) being a consequence of 2)
20:32:30 <ais523> and not jumping is one of the semantics I suggested for 'fixing' it a while ago
20:32:40 <AnMaster> ais523, that breaks stuff though
20:32:44 <Deewiant> the problem is that then there's no way to iterate only once
20:32:45 <ais523> seems it was fixed in the first place...
20:32:47 <AnMaster> ais523, as 0k will do 0 iterations
20:32:47 <Deewiant> if there were, I'd be fine with it
20:33:13 <Deewiant> because the idea is you'd have a variable
20:33:19 <Deewiant> and now you'd have to check whether it's 1
20:33:42 <ais523> maybe you should use a non-k-based loop, then
20:33:44 <MikeRiley> i agree that the inability to iterate only once is a problem,,,,
20:33:51 <AnMaster> Deewiant, you already need to check what the variable is
20:33:54 <Deewiant> ais523: I suggested to AnMaster that the way to go is to have it always move
20:33:57 <AnMaster> to reflect on negative values and so on
20:33:57 <ais523> are you sure that 0k == z#?
20:34:15 <AnMaster> Deewiant, and that is what I selected for Funge108
20:34:19 <Deewiant> ais523: the spec is quite explicit about that. unless it was meant that 0k == z in which case it's just pointless.
20:34:35 <ais523> anyway, what does 1k^ do with the newly-discovered spec?
20:34:51 <Deewiant> 1k^ is the same as 2k^ is the same as 99**k^
20:35:22 <Deewiant> MikeRiley: did you read the end of my mail yet, by the way?
20:35:27 <Deewiant> where I forwarded that little spiel on k
20:35:49 <AnMaster> ais523, that will jump forward 5 times from k I think
20:35:55 <Deewiant> so what do you think about the double k thing
20:36:10 <ais523> it jumps forward 4, and then doesn't move forwards so hits the original #?
20:36:12 <ais523> that doesn't make sense
20:36:19 <Deewiant> it jumps forward 4, and then moves
20:36:23 <MikeRiley> if you had 4k#12345 the next instruction should be the 4....
20:36:48 <AnMaster> MikeRiley, what if you got 22k4
20:36:50 <ais523> MikeRiley: I agree, I think
20:36:55 <Deewiant> AnMaster: it's equivalent to 5k# under what CCBI currently does, yes
20:37:07 <MikeRiley> 22k4 will give you 3 4s on the stack...
20:37:33 <MikeRiley> 22kk4 hurts my head!!! eheheheheheeh
20:37:41 <ais523> it hurts everyone's head, I think
20:37:54 <AnMaster> rest assured that Funge-108 defines it:
20:38:01 <MikeRiley> but i would think that 2k4 would be executed twice...
20:38:06 <ais523> it reminds me of the time they found a paradox in the Magic: The Gathering rules
20:38:06 <AnMaster> • k on a nested k (as in 22kk4) is implementation defined. The implementation may do either of these:
20:38:07 <AnMaster> – The interpreter MAY reflect.
20:38:07 <AnMaster> – Or it MAY implement it as k executing k two times. The second k would then pop a new iteration count every time. This means that the second time the nested k executes, it will execute 4 times (as the previous time the nested k executed it pushed 4).
20:38:13 <ais523> and took huge pains trying to sort it out
20:38:26 <ais523> one famous player even suggested that the game should be a draw if the situation came up
20:38:29 <AnMaster> Deewiant, ccbi does that already
20:38:56 <AnMaster> Deewiant, so how do you explain that you don't want reflection
20:39:03 <AnMaster> if you want a sane behaviour then....
20:39:09 <Deewiant> AnMaster: CCBI doesn't reflect on nested k...
20:39:17 <ais523> Deewiant: Opalescence makes all enchantments into creatures, Humility prevents creatures having any effect
20:39:21 <AnMaster> Deewiant, what does CCBI do then?
20:39:25 <MikeRiley> i would not think that reflection on nested k would be right...
20:39:28 <ais523> therefore if they're both out at once, you get a paradox
20:39:42 <Deewiant> AnMaster: something like the latter, not sure exactly
20:39:53 <AnMaster> anyway the naive implementation of k would do this:
20:40:19 <AnMaster> 3) this execution will now fetch the next instruction, which will be k
20:40:49 <MikeRiley> since the k calls for finding the next instruction in the path of the ip
20:41:10 <Deewiant> the next k pops the 2, so it pushes two 4s
20:41:13 <MikeRiley> the next k, still with the ip on the first k,,,would end up find the k again...
20:41:15 <AnMaster> Deewiant, as the second k executes *at* the first k... it will fetch the next instruction from current position
20:41:35 <MikeRiley> with that idea,,,,nested k cannot really do much...
20:41:36 <AnMaster> k is really the only *multichar* instruction in befunge
20:42:14 <MikeRiley> it is in that it uses the next character to define what it will do...
20:42:18 <Deewiant> AnMaster: it'll terminate anyway though, since it'll pop zero at some point
20:42:20 <AnMaster> really the *sane* way would be to take the instruction to execute on the stack
20:42:23 <MikeRiley> but it still is a single command...
20:42:31 <AnMaster> ais523, hm true but that doesn't cause those issues
20:42:55 <AnMaster> Deewiant, so please suggest a sane way to solve nested k
20:42:58 <ais523> AnMaster: well, what does 3k'abc do?
20:43:10 <AnMaster> tell me what the heck that should do
20:43:27 <Deewiant> AnMaster: k doesn't say it finds the instruction from where it's executed
20:43:33 <Deewiant> k says it finds the next instruction from where the k is
20:43:48 <Deewiant> so an inner k should find the following instruction, not itself
20:43:49 <MikeRiley> correct,,,,and it does not specify that the ip moves when the found instruction is executed
20:44:07 <AnMaster> Deewiant, but it should execute all at the first k?
20:44:18 <MikeRiley> i believe it should execute at the first k...
20:44:22 <Deewiant> again, it doesn't say that it executes instructions where it is executed
20:44:29 <Deewiant> it executes instructions at where it is. :-)
20:44:42 <Deewiant> and have fun implementing that ^_^
20:44:42 <AnMaster> this will make iterate.c a lot more complex
20:45:12 <ais523> so does 1k^ go upwards from the k?
20:45:22 <MikeRiley> i would say that it goes upwards from the k
20:45:31 <AnMaster> ais523, yes but 1k] will turn 180 degrees
20:45:38 <AnMaster> ais523, anyway 2k^ will also go up
20:45:39 <Deewiant> by what the spec says, the interpreters do, or what 108 says? :-)
20:45:45 <Deewiant> 3 possibilities here, at least. :-P
20:45:47 <ais523> AnMaster: I'm not so sure
20:46:05 <MikeRiley> and go down from the k at the conculsion
20:46:07 <ais523> I think there's an argument to be made that 2#^k< goes upwards from the k
20:46:17 <ais523> because the k executes the < then the ^
20:46:22 <ais523> because the command it's "looking at" changes
20:46:29 <ais523> because the direction of processing changes
20:46:36 <MikeRiley> the command k executes is in the path of the IP..
20:46:41 <ais523> but they change what the k refers to
20:47:08 <ais523> does k look at which instruction to execute just before it executes it or just before the k?
20:47:12 <ais523> I'm arguing it only hits the < once
20:47:20 <AnMaster> Deewiant, it doesn't hit the < twice according to ais523
20:47:20 <ais523> because after the first < the k is pointing at the ^ not the <
20:47:29 <MikeRiley> k is supposed to look at the next valid instruction in the current path of the ip
20:47:30 <AnMaster> Deewiant, he says k looks ahead at each iteration
20:47:43 <Deewiant> I don't think that's what the spec says
20:47:52 <Deewiant> although it doesn't say much of anything. ;-)
20:48:00 <Deewiant> " Then it finds the next instruction in Funge-space in the path of the IP (note that this cannot be a marker such as space or ;), treats it as an instruction, executing it n times."
20:48:11 <ais523> AnMaster: I'm not convinced it works like that, but that's certainly worth consideration
20:48:15 <MikeRiley> Then it finds the next instruction in Funge-space in the path of the IP (n
20:48:23 <ais523> but I think < twice seems most similar to the Funge-98 spec
20:48:26 <Deewiant> ais523: not "it n times does the following: finds the next, executes it"
20:48:26 <AnMaster> ais523, you had to make us even more confused?!
20:48:44 <Deewiant> AnMaster: that is maybe worthwhile though
20:48:57 <Deewiant> doesn't sound like too bad an idea, at least. :-)
20:49:21 <Deewiant> that'd be really cool actually
20:49:24 <ais523> maybe I should make a fingerprint with one command K
20:49:32 <ais523> which is a fixed and properly specified version of k
20:49:33 <AnMaster> you need to check it at each iteration
20:49:48 <Deewiant> ais523: just make sure it's reasonably implementable as well :-)
20:49:57 <Deewiant> AnMaster: not that expensive...
20:50:08 <AnMaster> ais523, however your idea got some issues
20:50:11 <Deewiant> AnMaster: and anyway, you only need to check if the delta/pos changed
20:50:19 <AnMaster> ais523, then 2k#12 will executes #2
20:50:56 <ais523> but k# is arguably a silly think to write anyway
20:51:10 <ais523> I certainly wouldn't rely on a particular meaning of that if trying to write a portable Funge program
20:51:22 <Deewiant> if you don't actually read the spec I'd say it's quite logical to think of that
20:51:52 <Deewiant> "jump N times", so it's like j, no
20:52:31 <Deewiant> unless you think about it too deeply :-P
20:52:41 <AnMaster> Deewiant, more or less, with the quirk that it jumps from the j
20:53:01 <Deewiant> like said, unless you think about it too deeply
20:53:25 <Deewiant> mostly in response to 2008-07-23 22:50:56 ( ais523) but k# is arguably a silly think to write anyway
20:54:26 <AnMaster> MikeRiley, anyway cfunge contains some test programs that could be useful
20:54:43 <MikeRiley> i would like to take a look at those as well..
20:54:50 <AnMaster> MikeRiley, the mycology test for TURT is quite imcomplete
20:54:57 <AnMaster> I wrote a slightly more extensive one
20:55:08 <AnMaster> then there is the negative j + wrap test
20:55:25 <Deewiant> did you write a proper TURT test, then?
20:55:33 <ais523> Deewiant: planning to add IFFI to Mycology?
20:55:50 <AnMaster> ais523, he can't really, it would not work well
20:55:57 <AnMaster> as you need to initialize a lot
20:56:04 <AnMaster> ais523, write your own test suite for it
20:56:17 <AnMaster> not that anyone will implement it I think
20:56:21 <ais523> although it just outputs numbers
20:56:28 <ais523> and in theory it works to langs other than INTERCAL
20:56:29 <AnMaster> ais523, extensive? what about corner cases?
20:56:40 <ais523> AnMaster: there's one corner case I've tested
20:56:46 <ais523> I can't think of any other corner cases at the moment
20:56:50 <ais523> that doesn't mean they don't exist
20:57:07 <AnMaster> ais523, after all you can go into negative funge space in Funge-98
20:57:14 <ais523> AnMaster: they're actually large positive arguments because all INTERCAL numbers are unsigned
20:57:29 <ais523> although I don't test things that should cause reflections, nor things that should cause INTERCAL fatal errors
20:57:31 <AnMaster> ais523, well... Befunge isn't, could be worth testing thus
20:58:09 <ais523> but something like 1-R is an instant fatal error anywhere R is legal
20:58:11 <AnMaster> ais523, say, negative a mark or whatever at -24842,-1231
20:58:15 <ais523> because that's guaranteed to cause an error in the INTERCAL code
20:58:28 <ais523> AnMaster: ah, you mean jumping to negative funge-space?
20:58:44 <AnMaster> ais523, and for negative arguments, shouldn't it just reflect?
20:58:48 <ais523> I don't see why that would be different to jumping to positive funge-space as the coordinates aren't given as arguments to the command
20:59:17 <ais523> AnMaster: no, RESUME with -1 as an argument is equivalent to RESUME with 4294967295 as an argument, which is larger than the size of the stack
20:59:25 <AnMaster> "jumping to negative funge-space" <-- why does that make me think of treknobabel?
20:59:58 <AnMaster> shouldn't you check range first? and properly convert it
20:59:59 <ais523> AnMaster: maybe Star Trek computers are all programmed in Befunge-1008 or something
21:00:16 <ais523> AnMaster: I do, I actually have code to simulate the 32-bit wraparound
21:00:24 <oerjan> http://tvtropes.org/pmwiki/pmwiki.php/Main/ReversePolarity
21:00:33 <oerjan> (standard warning applies)
21:00:44 <olsner> oerjan: my thought exactly :) "reverse polarity!"
21:00:50 <AnMaster> oerjan, apart from "the page will timeout"
21:00:54 <ais523> AnMaster: basically it checks for a negative argument and errors as if it had wrapped around to a large positive integer
21:01:01 <oerjan> http://tvtropes.org/pmwiki/pmwiki.php/Main/TVTropesWillRuinYourLife
21:01:04 <MikeRiley> another thought on k,,,,is 0k really an exception??? think about ti this way,,,,,,0k^ will not execute the up at the k,,,,,move the ip forward to the ^ when complete and then execute the ^ in the next instruction cycle....
21:01:31 <MikeRiley> so really it just changes where the up command is executed...
21:01:59 <AnMaster> MikeRiley, but is that really useful?
21:02:17 <MikeRiley> after all it becomes a decision branch at that point...
21:02:23 <ais523> so 1k^ goes up at the k and 0k^ goes up at the ^
21:02:28 <MikeRiley> depending on whether or not it is zero...
21:02:51 <MikeRiley> then there are no exceptions at all on how k is executed...
21:03:17 <oerjan> AnMaster: no timeout here
21:05:46 -!- pikhq has left (?).
21:11:22 -!- Hiato has quit ("Leaving.").
21:11:45 -!- psygnisfive has set topic: http://vjn.cc/x.
21:19:28 -!- Corun has quit ("This computer has gone to sleep").
21:26:31 -!- RedDak has joined.
21:29:15 <ihope> "A pages you tried to acess does no exist on this servers." Cool.
21:29:40 <ihope> So no http://vjn.cc/x/at/logs/public.
21:36:57 <ais523> ihope: vjn.cc/x is a redirect to the #esoteric logs
21:37:04 <ais523> they were golfing the subject
21:41:20 -!- Corun has joined.
22:03:53 -!- puzzlet_ has quit (Remote closed the connection).
22:03:58 -!- puzzlet has joined.
22:10:51 -!- ais523 has quit ("mibbit.com: I would put some INTERCAL here, but it's difficult to improvise INTERCAL that complicated if you don't have it sa).
22:22:55 -!- pikhq has joined.
22:32:00 -!- Corun has quit ("This computer has gone to sleep").
22:42:43 -!- oerjan has quit ("Good night").
22:43:12 -!- Corun has joined.
22:43:14 -!- juokaz has joined.
22:43:37 <ihope> BF 1,000,000: ++++++++++[>++++++++++<-]>[>++++++++++<-]>[>++++++++++<-]>[>++++++++++<-]>[>++++++++++<-]>[.-]
22:43:44 <ihope> It's very golfable, I'm sure.
22:44:10 <juokaz> Hello, have anybody seen something like this '5vR@5|(1+3@+5@|(Ym@'?
22:45:03 <ihope> Where did you find that?
22:46:01 <juokaz> It is like a game, I am given this phrase and i need to find out answer. I think that it can be some of esoteric languages script.
22:46:58 <ihope> This sounds more like recreational codebreaking than esoteric programming. Perhaps ##crypto would have something to offer, though I think they're really more about actual cryptology.
22:48:58 <RodgerTheGreat> yeah, that string doesn't resemble any language I'm aware of
22:51:02 <tusho> it'd be neat if that was a language
22:51:44 <juokaz> I've checked all wiki languages, where was some like it, but noting equal.
22:52:21 <RodgerTheGreat> my first instincts were 1337 and toadskin, but it doesn't look valid for either
22:53:50 <tusho> juokaz: what is the situation?
22:53:54 <tusho> maybe context will help
22:54:26 -!- MikeRiley has quit ("Leaving").
22:54:50 <juokaz> There is no context :( I have this string, and no clues. It's like a game, like I said
22:56:07 <tusho> juokaz: what, did you just find the string on your HD
22:56:11 <tusho> there's obviously some context to getting it
22:57:02 <RodgerTheGreat> and let's hope it's a program, because a non-trivially encrypted string of that length is probably unbreakable
22:57:20 <juokaz> Context is web based game (not in eglish). There is a question named "Just", with that string as text. There is nothing else.
22:59:18 <pikhq> Seems like it would require some cryptanalysis.
22:59:48 <pikhq> Which of several would you like?
22:59:50 <RodgerTheGreat> pikhq: my thoughts exactly, but as I said there isn't much to work with
23:00:12 <psygnisfive> like.. with something that converts ints to that number of +'s, negative ints to that number of -'s, etc?
23:00:13 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
23:00:46 <pikhq> Well, PEBBLe is overkill for that.
23:00:48 <tusho> juokaz: link to the page?
23:00:50 <tusho> how did you find the page?
23:01:17 <RodgerTheGreat> juokaz: try some shift, vigenere and substitution cypher breaking tools
23:01:42 <RodgerTheGreat> work from the assumption that instead of wrapping in the alphabet you're wrapping in ASCII
23:01:53 <tusho> and also context ;)
23:02:08 <RodgerTheGreat> I'd just try a 1-25 letter shift and see if anything comes out looking sane
23:02:38 <RodgerTheGreat> I made a few tools along these lines, but they're in C so I hate modifying them
23:03:25 <RodgerTheGreat> information theory tells me that if it's a program it generates very little output. Thus, for any reasonably sized clue it's probably encryption
23:03:59 <tusho> RodgerTheGreat: i bet it's compressed
23:04:22 <RodgerTheGreat> psygnisfive: PEBBLe is a very powerful macro system for BF that pikhq developed
23:05:37 <RodgerTheGreat> tusho: as I said, information theory suggests that a program like that can only produce output containing a small amount of information. This is true regardless of wether it's compressed.
23:05:52 <tusho> RodgerTheGreat: mm, but if it's just encrypted, it's damn short
23:06:01 -!- fizzie has quit (clarke.freenode.net irc.freenode.net).
23:06:01 -!- puzzlet has quit (clarke.freenode.net irc.freenode.net).
23:06:01 -!- lilja has quit (clarke.freenode.net irc.freenode.net).
23:06:01 -!- lifthras1ir has quit (clarke.freenode.net irc.freenode.net).
23:06:01 -!- shachaf has quit (clarke.freenode.net irc.freenode.net).
23:06:11 <tusho> so i bet it's some kind of combination of encryption and compression
23:06:11 -!- fizzie has joined.
23:06:11 -!- lifthras1ir has joined.
23:06:11 -!- shachaf has joined.
23:06:11 -!- lilja has joined.
23:06:11 -!- puzzlet has joined.
23:06:27 -!- olsner has quit ("Leaving").
23:06:45 <pikhq> s/PEBBLe/PEBBLE/...
23:07:09 <RodgerTheGreat> I just spelled it like you did because I never knew what the aconym meant.
23:07:27 <tusho> RodgerTheGreat: portable esoteric brainfuck based language, eh?
23:07:34 <tusho> it's sad that i know that :)
23:07:45 <tusho> psygnisfive: it has tcl's syntax
23:07:56 <tusho> and basically consists of macros + a stdlib of them
23:08:02 <tusho> and, like, a few primitives for outputting brainfuck code
23:09:32 <RodgerTheGreat> ah, I remember the first assignment in my cryptography class. My teacher had explained a few basic cyphers, but no cryptanalysis stuff. He hands us all a sheet with alphanumeric gibberish and told us "decrypt that. It's due tomorrow"
23:09:44 <psygnisfive> apple was developing a professional version of apple script
23:10:03 <psygnisfive> "the first character of every word whose style is bold"
23:10:05 <tusho> psygnisfive: saw that on daring fireball
23:10:05 <RodgerTheGreat> it was the most fun I think I've ever had in a math course, hacking into the wee hours of the night until I started unravelling it
23:10:10 <tusho> { words | bold }.character[1]
23:10:16 <tusho> with an == in there somewhere
23:10:29 -!- Corun has quit ("This computer has gone to sleep").
23:10:34 <tusho> psygnisfive: is the lack of explicit binding?
23:10:39 <tusho> 'cause I think that's pretty neat too
23:10:46 <tusho> in fact, i'm considering implementing a lang with that syntax
23:10:55 <psygnisfive> is that you're doing a dot-property access on a group of things, where the dot is really applicable to members of the group
23:11:06 <tusho> kind of like an array programming language
23:11:33 <psygnisfive> i think it only makes sense for simple collections, that are not objects
23:11:50 <tusho> psygnisfive: array programming languages apply it to everything
23:11:55 <psygnisfive> i mean, obviously if sets were objects and had properties of their own, you'd be kind of messed up
23:12:01 <psygnisfive> does .character apply to the set, or the members?
23:12:09 <tusho> not really, I think apl has a sort of syntax for working that out
23:12:22 <RodgerTheGreat> ah yes... the first one started off "GENTLEMENDONOTREADEACHOTHERSMAIL..."
23:12:23 <tusho> like, either set..length for the set's length or set..character[1]
23:13:22 <tusho> yeah apl&k&j take it a little too far.
23:13:40 <psygnisfive> apl might as well be considered an esolang that went mainstream
23:14:03 <tusho> apl never really was THAT mainstream
23:14:06 -!- juokaz has quit (Remote closed the connection).
23:14:45 <tusho> puzzle guy is gone
23:14:52 <psygnisfive> i mean, i can see standard stuff like set notation junk
23:17:42 <pikhq> psygnisfive: http://pikhq.nonlogic.org/pebble.php
23:18:22 <pikhq> If you want some examples aside from the stdlib, I've got a few. . .
23:18:56 <pikhq> It's in the tarball.
23:19:14 <psygnisfive> tusho: i think thats something that obviously should be in my quantifier language
23:19:23 <pikhq> It also has documentation on the stdlib.
23:20:12 <tusho> psygnisfive: { numbers | odd }.sum
23:20:19 <tusho> and as for the mapping thing
23:20:24 <tusho> { words | style == bold }:characters[1]
23:20:28 <tusho> the ':' is magical
23:20:36 <psygnisfive> since that clearly means sum over the set not the members
23:20:48 <tusho> the : is what specifies 'over members'
23:21:03 <psygnisfive> well, in my quantifier language im going to handle it differently
23:21:27 <psygnisfive> i like this, we need to think of more interesting things to do
23:21:48 * tusho is just going to spurt out random code samples until the language forms in his head
23:22:35 <tusho> in fact psygnisfive
23:22:43 <tusho> sum { numbers | odd }
23:22:48 <tusho> { numers | odd }.succ
23:23:01 * pikhq is just going to shove PEBBLE down psygnisfive's throat
23:23:15 <tusho> psygnisfive: mm, i think mine could have merits though
23:23:22 <tusho> i wish that paper had more examples of it
23:24:29 <tusho> object orientation is reverse CPS
23:24:51 <psygnisfive> do this then do this to that then do this to that
23:25:00 <tusho> reading nested stuff is a bitch
23:25:10 <tusho> a mostly-stream workflow is far easier to grasp
23:25:38 <psygnisfive> someone should make a language thats like haskell in its function application syntax, only in reverse
23:25:49 <tusho> psygnisfive: concatenative
23:25:56 <tusho> i know what you mean
23:26:01 <psygnisfive> then any function call can look like a method call
23:26:01 <tusho> I spurted some examples of it in #haskell
23:26:03 <tusho> turn sout it kinda sucks.
23:26:14 <psygnisfive> or you could go back and forth at will with some notation
23:26:21 <tusho> stuff.map(succ).first
23:27:02 <psygnisfive> maybe : could be that syntax to counterpoint .
23:27:35 <tusho> hmm, i thought of a good alt. to :
23:27:38 <tusho> because it digs in
23:27:44 <tusho> { words | style == bold }->character[1]
23:27:46 <tusho> see the metaphor>?
23:27:51 <tusho> psygnisfive: very C, actually
23:28:02 <tusho> and the point is that it's quite clear what it does once you've had it explained
23:28:06 <tusho> since the visual meatphor is strong
23:28:07 <psygnisfive> true, but perl and php use it exclusively for method access
23:28:22 <tusho> yeah, well, whatever they wanna do :P
23:28:30 <tusho> but c has it, and i think it's a good visual metaphor -for this use-
23:28:47 <tusho> { { words | bold } italic } <-- don't like this
23:29:10 <tusho> words.{bold}.{italic}->character[1]
23:29:42 <tusho> {{words|bold}|italic}
23:29:53 <psygnisfive> that still doesnt make much sense i dont think
23:29:58 <tusho> psygnisfive: { set | condition }
23:30:03 <tusho> filter set by condition
23:30:06 <tusho> { words | bold } = bold words
23:30:10 <tusho> { foo | italic } = italic foos
23:30:17 <tusho> { { words | bold } | italic } = bold italic words
23:30:26 <tusho> ofc you can do bold && italic
23:30:45 <tusho> words.filter{ bold && italic }->character[1]
23:30:50 -!- Corun has joined.
00:13:08 <psygnisfive> someone should make a programming language that weeaboos could use
00:16:32 <psygnisfive> using a function as a predict necessarily requires the syntax <item> が <function> ですか。
00:27:28 <tusho> isn't japanese stack-based?
00:28:10 <RodgerTheGreat> most languages (the ones with parentheses at least (that I'm aware of)) are stack-based
00:29:05 <psygnisfive> i mean, most formal models of japanese syntax make it almost completely, if not entirely, head final
00:29:30 <psygnisfive> but i wouldnt say that head-final-ness = stack-based
00:30:17 <tusho> RodgerTheGreat: you could have been more subtl
00:32:40 <psygnisfive> tusho, why do you ask about japanese being stack-based?
00:32:53 <tusho> psygnisfive: just that it wouldn't be very hard to make it into a programming language
00:33:01 <tusho> it would, obviously
00:33:11 <psygnisfive> heh. it would it more ways than you know :)
00:33:35 <tusho> yeah I figured that like 0.1 seconds after saying it
00:34:00 <psygnisfive> tho it would be easier than english i guess
00:38:48 <psygnisfive> in japanese, conditionals can be done with conjugations on verbs or similar
00:50:44 -!- tusho has quit.
00:51:11 -!- Corun has quit ("This computer has gone to sleep").
00:55:50 -!- Corun has joined.
01:21:52 -!- Sgeo has joined.
01:56:26 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
03:13:58 -!- puzzlet_ has joined.
03:26:52 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
03:27:39 -!- puzzlet_ has changed nick to puzzlet.
04:06:07 -!- Corun has quit ("This computer has gone to sleep").
04:25:00 <ihope> Hmm, who was it who had us all talking about sex in here?
04:25:43 <ihope> Was it you, psygnisfive? I have no idea, really, apart from that it wasn't someone I recognize easily, and their nick was a bit longer than mine.
04:25:44 <RodgerTheGreat> ihope: I'm going to go with "any female" for the $500, regis
04:27:31 <ihope> Turns out that wasn't a sexual desire at all. Sorry.
04:28:38 -!- pikhq has quit ("leaving").
04:29:03 <ihope> Now is not the time to tell you that. :-P
04:29:44 <ihope> Older than ehird, who I imagine will have his oldth birthday this year, or maybe next.
04:29:59 <psygnisfive> every year everyone has their oldth birthday.
04:31:01 <ihope> Actually, old = 13.
04:31:19 <psygnisfive> well in that case yes, this is true about tusho.
04:31:56 <ihope> Though then you're only mostly old, until you turn 18, in which case you're completely old, and then you turn 70 and become thoroughly old.
04:32:06 <ihope> s/in which case/at which time/
04:32:49 <ihope> Nothing happens in that gap, apart from the Shive Transition, which happens at 25, and has the effect of allowing you to rent a car.
04:33:17 <psygnisfive> damnit, theres goes any hope of sexing you.
04:33:36 <ihope> Oh, by no means! Unless you're male or something.
04:35:17 <psygnisfive> ::pet:: dont worry, it only hurts the first few times ;O
04:35:49 <psygnisfive> oh, speaking of rape, i have 29 books on theory of computation. do you want?
04:36:04 <ihope> If you can send them to me, yes.
04:36:22 <psygnisfive> http://www.wellnowwhat.net/transfers/Theory%20of%20Computation.zip
05:06:02 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
05:09:54 -!- cmeme has joined.
05:16:27 -!- CakeProphet has joined.
05:21:19 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
05:22:15 -!- GreaseMonkey has joined.
05:24:40 -!- moozilla has joined.
06:13:08 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
06:16:57 -!- puzzlet_ has joined.
06:17:40 -!- puzzlet has quit (Remote closed the connection).
06:34:26 -!- CakeProphet has quit (Remote closed the connection).
06:59:32 -!- CakeProphet has joined.
07:11:34 -!- psygnisf_ has joined.
07:11:34 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
07:12:38 -!- olsner has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:17:24 -!- Polar has quit (clarke.freenode.net irc.freenode.net).
08:17:25 -!- Quendus has quit (clarke.freenode.net irc.freenode.net).
08:17:50 -!- Quendus has joined.
08:17:50 -!- Polar has joined.
08:32:01 -!- olsner has quit ("Leaving").
09:19:01 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
09:21:22 -!- moozilla has joined.
10:31:17 -!- GreaseMonkey has quit ("HydraIRC -> http://google.com <- Go find something better").
10:31:44 -!- tusho has joined.
12:13:30 -!- oklopol has joined.
12:16:25 -!- lilja has joined.
12:55:26 -!- moozilla has quit (clarke.freenode.net irc.freenode.net).
12:57:23 -!- moozilla has joined.
12:58:40 -!- Sgeo has joined.
13:32:47 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
13:54:23 -!- Hiato has joined.
13:55:48 -!- Corun has joined.
13:56:27 -!- Corun has quit (Client Quit).
13:57:07 -!- Corun has joined.
13:57:50 -!- Corun has quit (Read error: 54 (Connection reset by peer)).
14:01:01 -!- Corun has joined.
14:37:03 -!- pikhq has joined.
14:37:42 -!- Corun_ has joined.
14:42:46 -!- Corun has quit (Nick collision from services.).
14:42:54 -!- Corun_ has changed nick to Corun.
14:56:48 -!- Corun_ has joined.
15:02:25 -!- Hiato has quit ("Leaving.").
15:04:59 -!- Corun has quit (Read error: 110 (Connection timed out)).
15:10:41 <AnMaster> does anyone know if there is some C escape sequence for "Form Feed", like \n for Line Feed and \r for Carriage Return?
15:11:02 -!- Corun_ has quit ("This computer has gone to sleep").
15:14:24 <SimonRC> Next time try the first link Google gives
15:14:38 <SimonRC> http://gd.tuwien.ac.at/languages/c/cref-mleslie/FUNCTIONS/escape.html
15:16:18 <AnMaster> btw anyone know what the form feed was actually used for?
15:16:34 <AnMaster> I mean, it is one of those control chars like vertical tab that simply isn't used today
15:24:44 <tusho> emacs source has vertical tabs
15:28:08 <AnMaster> tusho, sure it isn't formfeeds?
15:29:11 <pikhq> I'm well aware of Emacs' usage of form feeds to seperate chunks of code into logical pages. . .
15:29:36 <pikhq> (Emacs, of course, supports the use of this convention)
15:35:02 <pikhq> For my first programming assignment in college, should I use digraphs just to give the grader a headache? :p
15:35:39 <pikhq> An amendment to the C standard in '94 added digraphs.
15:36:02 <AnMaster> does gcc support it without the -trigraphs switch?
15:36:12 <AnMaster> pikhq, also what about the bison code?
15:37:03 <pikhq> %:include <stdio.h>
15:37:06 <pikhq> int main()<%char foo<::> = "Hello, world!\n";printf(foo);%>
15:37:13 <pikhq> Didn't get anywhere with it.
15:37:25 <AnMaster> pikhq, but at least you pastebinned it somewhere?
15:37:50 <pikhq> I make no guarantees about such things happening when it's not the weekend.
15:46:38 -!- Corun_ has joined.
15:54:04 -!- MikeRiley has joined.
15:57:54 <tusho> pikhq: what is <::>
15:58:50 -!- eth01 has joined.
15:58:54 -!- eth01 has left (?).
16:08:31 <SimonRC> tusho: that bit was evidentally invented by someone who didn't like lexer-writers
16:09:24 <pikhq> And by someone who liked obfuscated C.
16:13:12 <SimonRC> can you mix mono-, di-, and tri-graphs?
16:14:30 <pikhq> You want even more insanity?
16:14:39 <pikhq> Digraphs, like monographs, are considered tokens.
16:14:44 <pikhq> Trigraphs are preprocessed.
16:14:48 <pikhq> tusho: The ordinary characters.
16:19:14 <AnMaster> In format English, if I want to put a footnote after a sentence, should the number be after or before the period?
16:20:14 <pikhq> I suggest 'whatever LaTeX does'.
16:20:39 <AnMaster> pikhq, it depends on where you put the footnote symbol iirc
16:21:01 <pikhq> Well, I firmly don't know.
16:26:28 <SimonRC> well, you could just do the logical thing
16:26:43 <SimonRC> if it refers to the whole sentance, put it outside
16:36:56 -!- Corun_ has quit ("This computer has gone to sleep").
17:02:30 -!- Hiato has joined.
17:03:51 <SimonRC> pikhq: that obfuscated bubble sort has some nasty undefined constructs in it
17:04:05 <pikhq> SimonRC: It assumes GNU C, obviously.
17:04:20 <pikhq> What other undefined constructs do you refer to, though?
17:04:30 <SimonRC> it uses and increments a variable in one expression
17:05:55 <SimonRC> you do the same thing elsewhere
17:06:06 <pikhq> I think that's well-defined in GNU C, however.
17:06:14 <SimonRC> pikhq: and non-pedantic compilers can make your code break
17:06:42 <pikhq> Non-GCC compilers choke on it already.
17:06:52 <tusho> if it's a footnote about the whole sentence
17:06:53 <pikhq> Expression statements are a GCC-only feature.
17:06:58 <tusho> if it's about the last part of the sentence
17:07:16 <SimonRC> the first code block is gratuitous; you can use comma-expressions
17:07:18 <tusho> This was covered in J's sucky article[1].
17:07:18 <tusho> [1]: http://j.com/sucky
17:07:35 <tusho> On another note, I hate J.[1]
17:07:35 <tusho> [1]: http://cool.com/why_i_hate_j
17:07:47 -!- Tritonio__ has joined.
17:07:49 <SimonRC> tusho: looks like how I'd do it
17:08:15 <tusho> SimonRC: I also follow Djikstra's parenthesis stuff, mostly
17:08:30 <AnMaster> pikhq, got a link to your implementation that you were discussing?
17:08:38 <tusho> Foo. (If a whole sentence is a parenthesized note, the period goes within the parens.) Bar.
17:08:45 <tusho> and starts with a caps
17:08:51 <pikhq> http://pikhq.nonlogic.org/bubble.c
17:08:56 <SimonRC> tusho: well duh; that's obviously the correct way to do it
17:09:05 <tusho> that was just the first part
17:09:12 <tusho> anyway, I now realise I don't quite follow djik's conventions
17:09:18 <tusho> Foo (if, however, it's within a sentence, start with a lowercase letter and end it outside).
17:09:18 <SimonRC> (the "well duh" was partly ironic, BTW)
17:09:29 <tusho> "If a whole sentence is a quote, within."
17:09:35 <SimonRC> tusho: yep, that's how I do it too
17:09:37 <tusho> If, however, I am just quoting "you suck", outsid.
17:09:41 <pikhq> No; my golfed version uses the preprocessor, and counts as a one-liner. :p
17:09:42 <tusho> (that is non-standard)
17:09:50 <tusho> standard is putting the comma in the quote
17:09:52 <tusho> which is braindead
17:09:58 <pikhq> (don't have it handy; it's on frodo, which I won't have access to for a couple more weeks yet)
17:10:05 <AnMaster> pikhq, hah, well afk for a bit, food
17:10:12 <AnMaster> pikhq, tell me how it works though when I get back
17:10:15 <SimonRC> pikhq: I suspect that the other two code blocks could be removed too if you turned the whole program into a state machine.
17:10:26 <pikhq> It's just bubble sort.
17:10:31 <pikhq> SimonRC: Meh; too much effort.
17:10:41 <SimonRC> (for fun, do it with recursion on main and ?: as the only control structures)
17:11:10 <tusho> (reference to http://rghosh.free.fr/essays/quescol.html, some idiot's article)
17:11:16 <tusho> (he advocates writing JS with mainly recursion and ?:)
17:11:33 <tusho> skip to /* parse a CSV line recusively, in quescol style */
17:11:42 <tusho> also note JS' lack of tail recursion
17:12:18 <SimonRC> otherwise, that would be a nice functional style
17:12:23 -!- Tritonio__ has quit (Client Quit).
17:12:27 <tusho> SimonRC: apart from the syntax
17:12:33 <tusho> so, apart from the whole point of it, it's nice ;)
17:12:43 <tusho> also the fact that its totally non-idiomatic
17:12:50 <tusho> so you're basically making it hell for anyone else to read or modify it
17:13:42 <SimonRC> my quoting style would put the punctuation in the quoted text if it was part of the quoted text. Note that I would distinguish quoting the whole contents of a sentance and quoting the whole sentance.
17:16:22 -!- MikeRiley has quit ("Leaving").
17:17:52 -!- Hiato has quit (Read error: 104 (Connection reset by peer)).
17:18:08 <SimonRC> needs slightly better indenting and more pares, but otherwise quite readable
17:18:15 -!- Corun has joined.
17:18:37 <SimonRC> maybe splitting it into seperate functions for states 0 and 1 would help
17:20:50 <SimonRC> and some of those conditions need to o the other way out
17:21:49 <SimonRC> wow, his indentation just goes down the plughole at the end of that function
17:23:17 <SimonRC> in fact, escaping should be a third state
17:28:16 -!- MikeRiley has joined.
17:29:14 <AnMaster> SimonRC, I find the "procedural" style easiest to follow
17:29:22 <AnMaster> but I guess it is just due to being a C programmer
17:29:27 <SimonRC> ah, waitamo, he continues to improve it...
17:29:49 <AnMaster> SimonRC, you disagree I guess?
17:30:01 <tusho> SimonRC: even if it is kinda nice, it'll be horrid to write and its hideously non-idiomatic
17:30:04 <tusho> and the whole stack thing
17:31:28 <SimonRC> multiple return values would be nice; dunno if js can do those
17:32:32 * SimonRC would like a comment box on that blog
17:34:59 <AnMaster> MikeRiley, what exactly is the point of 3DSP?
17:35:37 <MikeRiley> it provides vector and some matrix operations...
17:35:48 <AnMaster> are they hard to implement in Funge?
17:36:29 <MikeRiley> i thought once about doing something really crazy and writing a simple raytracer in funge,,,and needed the 3d vector/matrix operations to do it...
17:36:34 <AnMaster> MikeRiley, I do see the point of providing floating point (could be hard to implement) and sqrt, sin and so on (could also be hard to implement)
17:36:57 <SimonRC> funges do not do function calls nicel
17:36:57 <MikeRiley> the floating point was not hard,,,since single precision is 32 bits, same as the cell size,,,
17:37:19 <MikeRiley> if you use SUBR then function calls work out ok...
17:37:43 -!- lilja has joined.
17:37:53 <AnMaster> MikeRiley, anyway how would you handle denormals and such in pure funge version of floating point?
17:37:59 <SimonRC> it would be nice to have a "side call" instruction
17:38:01 <AnMaster> I hope you didn't implement it using mini-funge!
17:38:23 <MikeRiley> i use a union with a 32-bit integer and a floating point value...
17:38:33 <MikeRiley> as long as you do not use the fp cells for integer math, then it works fine...
17:38:39 <AnMaster> MikeRiley, yes right, I thought you implemented it in mini-funge :P
17:38:43 <SimonRC> it pushes the "next" location on the return stack, then instead turns left/right and goes that way...
17:38:49 <MikeRiley> i read the cells using the union, and do the math from the union...
17:39:02 <SimonRC> nice and fungey rather than that crap with calculated offsets
17:39:04 <MikeRiley> no, did not do it in minifunge, would have been too hard!!! eheheheheheeh
17:39:22 <SimonRC> (a return would simply pop+jump)
17:39:37 <AnMaster> MikeRiley, my interpreter will support mini-funge the day someone write TRDS in pure mini-funge (I don't think that is possible)
17:39:48 <MikeRiley> i doubt that is possible!!! eheheheheheeheh
17:39:56 <Deewiant> well, befunge is turing-complete
17:40:05 <Deewiant> you'd have to write a befunge interpreter in the mini-funge
17:40:13 <MikeRiley> that is what you would have to do....
17:40:26 <AnMaster> anyway mini-funge couldn't implement FILE either
17:40:51 <AnMaster> based on !Befunge's extended mini-funge
17:41:08 <MikeRiley> i have seen a page on that somewhere...
17:41:47 <tusho> phlamethrower = same site as the one with the befunge domain name
17:41:57 <tusho> save for the logo and link to the other domain
17:42:07 <tusho> just the index page
17:42:14 <tusho> on the other one it adds '# Wondering what the deal is with the domain name? Head over to my befunge pages to find out.'
17:42:27 <tusho> who runs that site?
17:42:29 <tusho> seems it's still updated
17:42:39 <tusho> My email addresses are phlamethrower@quote-egnufeb-quote-greaterthan-colon-hash-comma-underscore-at.info, or alternatively me at phlamethrower dot co dot uk.
17:43:28 <MikeRiley> hey Deewiant, did you see my email about the FIXP errors???
17:48:16 <Deewiant> hmm, I wonder if the _ is just flipped
17:48:20 -!- Corun has quit ("This computer has gone to sleep").
17:48:29 <Deewiant> MikeRiley: what does the stack look like at (37,523)
17:49:26 <MikeRiley> hold on. let me see if i can find out...
17:49:41 <Deewiant> RC/Funge-98 has a debugger, no? :-)
17:51:58 <Deewiant> so just do "bp 37 523" or whatever the command was
17:54:19 <MikeRiley> does not look like 37 523 is an instruction it will stop at...
17:54:51 <MikeRiley> tested break points at other addresses and works fine....
17:55:04 <Deewiant> maybe you've got a different origin than I do
17:56:44 <Deewiant> maybe the w is flipped actually
17:57:33 <Deewiant> and next it probably goes to (45,519) right?
17:58:07 <Deewiant> alright, so I've just got the w wrong
17:59:47 <Deewiant> meh, stupid code results but oh well
17:59:57 <Deewiant> since there isn't much room there so I have to do a bit of jumping around :-P
18:00:12 <Deewiant> or there is quite a bit of room actually, I just don't want to move code around
18:00:52 <MikeRiley> yeah,,,always fun editing funge code!!!!
18:02:22 <Deewiant> 17.45760312 is the exact result
18:03:10 <MikeRiley> depends on rounding and precision....
18:03:26 <Deewiant> since it's over 17.4576 you can't round it to 17.4575
18:03:32 <Deewiant> and since this is fixed point, the precision is fixed
18:03:53 <MikeRiley> in my interpreter it is doing all the math in floating point and converting back...
18:03:56 <Deewiant> so you can't say it's due to floating point inaccuracy :-P
18:04:03 <Deewiant> maybe you should doubles instead :-)
18:04:06 <AnMaster> <Deewiant> alright, so I've just got the w wrong
18:04:14 <AnMaster> Deewiant, what is going on with w?
18:04:26 <Deewiant> w turns left or right or goes forward
18:04:30 <Deewiant> I had the left and right cases the wrong way around
18:05:01 <AnMaster> Deewiant, anyway, does this affect my FIXP implementation?
18:05:04 <Deewiant> you're probably not getting any BADs from FIXP so it doesn't affect you
18:05:16 <Deewiant> it's the places where it checks for two possible answers
18:05:25 <MikeRiley> whereas i am getting a couple bads with numbers that are correct...
18:05:25 <AnMaster> Deewiant, however if I change k behaviour I get BAD from random places in mycology
18:05:35 <Deewiant> AnMaster: yes, that's to be expected
18:05:41 <Deewiant> and mycology is to be updated in that regard.
18:05:56 <AnMaster> Deewiant, well when will it be updated like that?
18:06:07 <Deewiant> weekend, as I've said often before
18:06:14 <Deewiant> or hopefully the weekend, anyway
18:06:24 <AnMaster> <MikeRiley> yeah,,,always fun editing funge code!!!!
18:06:32 <AnMaster> to make maintainable funge code
18:06:42 <AnMaster> it makes it almost like a normal programming language
18:06:42 <MikeRiley> and that trick is??? keep space!!!! eheheheheeh
18:07:18 <AnMaster> " si gnidaeH :FEDNU">:#,_A.a"seerged">:#,_ 11x> ; UNDEF: Initial heading ;
18:07:18 <AnMaster> "( era sdnuoB :FEDNU">:#,_U.."( )",,,..a'),, 11x> ; UNDEF: Bounds ;
18:07:18 <AnMaster> a7+3*5*N 0C 11x> ; Clear with blue. Set pen to black ;
18:07:18 <AnMaster> 0H 1P 11x> ; Set direction, pen down. ;
18:07:19 <Deewiant> MikeRiley: there's a new version of mycology up, just redownload it, should work hopefully...
18:07:24 <AnMaster> MikeRiley, that works really well
18:10:07 <ihope> Hey, the lambda calculus functions form a ring, don't they? Makes me wonder if there are any prime functions.
18:10:13 <MikeRiley> a couple more bads scratched of my list....
18:10:36 <AnMaster> $ ./cfunge -S catseye/diagt.b98
18:10:47 <AnMaster> Deewiant, the thread error went away when I fixed the k issue
18:10:54 <AnMaster> so I guess it was just an effect of that
18:11:46 <MikeRiley> i guess that clarifies the k issue a bit more....
18:12:06 <AnMaster> MikeRiley, btw with the k as catseye there will be some issues, I can paste them if you want (as my implementation passes except for that
18:12:19 <AnMaster> BAD: 3k4 leaves more than 3 fours on stack
18:12:19 <AnMaster> BAD: "a b" takes more than 5 ticks
18:12:19 <AnMaster> BAD: 0y pushes wrong stack stack size
18:12:30 <MikeRiley> yeah, i was just ignoring those one for now...
18:12:37 <AnMaster> Deewiant, but tell me how the "BAD: "a b" takes more than 5 ticks" depends on k
18:12:54 <MikeRiley> the "a b" one works fine for me....
18:13:50 <MikeRiley> oh,,,so the k issue effects the 0y one???? well,,,i guess i can quite trying to fix that one!!! eheheheeheheheheh
18:14:19 <Deewiant> there are some places in mycology where I've just used a value that happened to be left on the stack
18:14:33 <Deewiant> so if something previous is BAD, the value may be different
18:14:39 <Deewiant> which can cascade really deeply
18:14:59 <Deewiant> something like that might only show up 100 lines later
18:15:08 <AnMaster> MikeRiley, I get "good" for the "a b" one when k works as in CCBI
18:15:45 <AnMaster> which probably means you got another error hiding it hehe
18:15:53 <MikeRiley> that one has always been good for me,,,,after i fixed the multi-space problem...
18:16:19 <AnMaster> well do you get all GOOD up to that point?
18:16:24 <MikeRiley> hmmmmmm, i should break k in mine and see what it does...
18:16:36 <Deewiant> of course he doesn't, since 3k4 is before that
18:17:06 <MikeRiley> the 3k< shows up bad right above it
18:17:57 <MikeRiley> actually, the 0y is below that point,,,so no effect from that...
18:18:32 <MikeRiley> so only bads above the "a b" are the 3k4 and the 3k<
18:19:10 <AnMaster> MikeRiley, could be two bugs hiding each other
18:19:14 <MikeRiley> not sure what is the deal with the 3k< since way i see it,,,it is going to take 3 ticks,,,,depending on how you test.....1 tick for the 3, 1 tick for the k,,which the ip will now go the other way, and then another tick for the 3 again...
18:19:23 <AnMaster> MikeRiley, when I fixed one the other part broke
18:19:32 <MikeRiley> i have had that happen to me as well...
18:19:44 <AnMaster> and showed up when it tested negative funge space
18:20:11 <AnMaster> I also had some off by two errors iirc
18:20:17 <MikeRiley> those are the aggravating kinds of problems...
18:20:50 -!- Corun has joined.
18:20:51 <AnMaster> oh yes I also found a few bugs in mycology
18:21:04 <AnMaster> MikeRiley, and one (indirectly) in CCBI
18:21:14 <AnMaster> oh and quite a few crash bugs in ccbi
18:21:24 <AnMaster> MikeRiley, does all your fingerprints handle division by zero?
18:21:44 <MikeRiley> but not certain,,,i need to check it...
18:21:48 <AnMaster> Deewiant, division by zero in FIXP (iirc), CPLI, and some more
18:21:56 <MikeRiley> could be some division by zero bugs still there....
18:22:02 <AnMaster> MikeRiley, I used fuzz testing on cfunge
18:22:11 <AnMaster> I got a script for that, but it is cfunge specific
18:22:35 <AnMaster> but issues found with it can be adapted (in fact some tests in tests/ in cfunge are that)
18:23:01 <AnMaster> anyway it is cfunge specific because it expects that the program will pass valgrind completely in normal operation with no memory leaks
18:23:02 <MikeRiley> breaking the k,,,,allows both the "a b" and the 3k< to show good
18:23:25 <MikeRiley> and fixing the k the "a b" shows good and the 3k< does not
18:23:52 <MikeRiley> breaking the k also shows the 0y one correctly...
18:23:54 <AnMaster> well here "a b" breaks only with broken k
18:24:55 <AnMaster> MikeRiley, does RC/Funge search past spaces when looking for instruction to repeat with k?
18:25:05 <AnMaster> I got a mail from C. Pressy that said that was what to do
18:25:15 <AnMaster> also seek past any matching ; .... ;
18:26:03 <AnMaster> MikeRiley, if you give me your mail I can forward it
18:26:49 <AnMaster> MikeRiley, does it also handle wrapping?
18:26:58 <MikeRiley> not sure there,,,,would have to test for that....
18:27:44 <AnMaster> add some code at the end to print out to check
18:29:50 -!- CakeProphet has quit ("lolwhut?").
18:30:24 <AnMaster> MikeRiley, my funge-108 draft can be found at http://rage.kuonet.org/~anmaster/funge-108/
18:30:38 <AnMaster> lyx is just a GUI frontend to LaTeX really
18:31:21 <AnMaster> www.lyx.org (but you can view the pdf version easily enough)
18:31:53 <MikeRiley> thanks, will take a look at that...
18:32:19 <MikeRiley> by the way,,,on the 3k ; ; ;; ; f i get 4 15s on the stack...
18:32:38 <AnMaster> well yes that would match Funge-98 behaviour
18:33:18 <AnMaster> (not Funge-108, you would get 3 15s, as it *always* skips go forward then then)
18:33:47 <AnMaster> Deewiant, when it skips over after k in 108... Should it skip over next *instruction* or next char
18:33:54 <AnMaster> as this may differ in cases like:
18:34:08 <AnMaster> C. Pressy said you should seek past spaces
18:34:32 <Deewiant> the only case in which it matters is if the k instruction modifies funge-space
18:34:42 <AnMaster> Deewiant, not really, if matters if you turn
18:35:04 <AnMaster> well it does in the way I implement "seek past spaces"
18:35:05 <MikeRiley> i understand that spaces are ethereal, and for the most part they do not exist as far as the ip is concerned
18:35:38 <AnMaster> so seek past next instruction?
18:36:00 <Deewiant> AnMaster: well, do you think that it makes sense that if you turn in "2k ]" that you continue from under the ]?
18:36:23 <Deewiant> then it has to be the char, no?
18:36:30 <Deewiant> otherwise it's special cases again
18:36:57 <AnMaster> should that jump over the spaces?
18:37:01 <AnMaster> not that it matters in this case
18:37:20 <AnMaster> where it would be logical to jump over the a
18:37:28 <AnMaster> as otherwise you execute it once to many
18:37:51 <Deewiant> to not continue from under the ], then it has to be the char, or you get special cases, which we would like to avoid
18:37:54 <AnMaster> Deewiant, question is. should k resume execution 2 chars from itself. or 2 instructions from itself
18:38:00 <AnMaster> assuming the position wasn't changed
18:38:23 <Deewiant> and my answer is the same as I have already said twice
18:38:29 <MikeRiley> my take on k, for all cases except 0k,,,,is that the ip stays at k until the end of the instrution, and then the ip moves normally along its delta...
18:38:33 <AnMaster> but I never said "continue under ]"
18:38:42 <AnMaster> I said should it just jump over one char
18:38:48 <AnMaster> or should it jump over one instruction
18:38:52 <AnMaster> wherever that instruction may be
18:39:15 <MikeRiley> if you have it jump and instruciton,,,,then lkv should jump the instruciton underneath the k...
18:39:28 <MikeRiley> why should their be exceptions of the delta is changed??
18:39:45 <AnMaster> gah must try to say it clearer
18:40:10 <Deewiant> I don't know, it seems silly to me that "1k 4" continues after the 4 but "1k ]" after whatever's under the k
18:40:16 <Deewiant> but if you're fine with it, fine
18:41:00 <MikeRiley> all my FIXP errors are now fixed!! :)
18:41:21 <MikeRiley> i agree.,,,which is why 1k 4 continues from the k.....and not the 4....
18:41:22 <AnMaster> Deewiant, MikeRiley: http://rafb.net/p/5Dpvny52.html
18:41:33 <MikeRiley> the delta will move it past the spaces to execute the 4 again...
18:42:06 <AnMaster> MikeRiley, that will make it impossible to do 0 iterations: 0ka
18:42:12 <Deewiant> that's the way I see it as well
18:42:23 <MikeRiley> except the 0 iterations causes a jump,,,,but that is an exception....
18:42:37 <AnMaster> MikeRiley, so it is impossible to do one iteration then?
18:42:40 <MikeRiley> i wonder if the 0 just means the k does not do anything,,,the instruction follwoing would execute as normal...
18:42:54 <MikeRiley> from what i understand of the specs,,,yep,,,not possible for 1 iteration...
18:43:06 <AnMaster> which I think should be possible in Funge-108
18:43:17 <MikeRiley> again,,,the specs do not say that the IP moves from the k while k is being executed....
18:43:36 <MikeRiley> i agree,,,,and would like to see the iteration of 1....
18:43:44 <MikeRiley> but i think in Funge-98, it is not possible with k...
18:44:07 <AnMaster> as you can see in http://rafb.net/p/5Dpvny52.html
18:44:11 <MikeRiley> spaces are ethereal, as if they do not exist...
18:44:26 <AnMaster> MikeRiley, so k should jump past the next instruction always?
18:44:36 <MikeRiley> in my mind it does not matter if you have 1kab or 1k ab, you will get the same result...
18:44:57 <AnMaster> now that doesn't make any sense
18:45:04 <Deewiant> AnMaster: that could be a design criterion for you: inserting any ; pairs or spaces between k and instruction shouldn't matter
18:45:04 <AnMaster> if you don't go past next char
18:45:20 <MikeRiley> spaces and ; pairs are ethereal, and should not be taken into account when k moves the ip...
18:45:31 <AnMaster> Deewiant, indeed it shouldn't matter, k will seek past spaces and ;
18:45:40 <AnMaster> as the mail from Pressy that I forwarded said
18:45:57 <AnMaster> MikeRiley, agreed. So this means that:
18:45:58 <Deewiant> AnMaster: yeah, but now you're bringing in all these ; cases
18:46:11 <AnMaster> that is the only logical conclusion then
18:46:14 <Deewiant> AnMaster: 2k; this is a comment;a should be identical to 2ka should be identical to 2k ;foo bar; a
18:46:15 <MikeRiley> will push the a and the b,,,,in 98,,,,and i guess in 108, the b....
18:46:29 -!- Corun has quit ("This computer has gone to sleep").
18:46:36 <AnMaster> which means it should *seek past next instruction*
18:46:40 <Deewiant> AnMaster: so what's the problem then :-)
18:46:53 <Deewiant> AnMaster: well, the way I see it is not that it seeks
18:47:45 <Deewiant> because, as I just said, it shouldn't matter no matter what ; you put in there.
18:48:09 <Deewiant> after k executes, it moves to the next instruction, as normal
18:48:15 <Deewiant> there's no special seek or move involved
18:49:20 <AnMaster> right the one after it just executed
18:50:13 <MikeRiley> with 108,,,you can just say,,,,that k skips the instruction it iterated,,,,if the ip moves somewhere other than the iterated instruction,,,,then it is not skipped...
18:50:36 <AnMaster> MikeRiley, that would be CCBI behaviour
18:50:42 <AnMaster> which causes extra special cases
18:50:58 <AnMaster> I hoped to avoid that by simply saying "always jumps forward"
18:51:17 <AnMaster> I guess that is the only sane way
18:51:30 <MikeRiley> only special case is,,,,if the next instruction to be executed by the ip is the iterated instrution, skip it....
18:52:08 <MikeRiley> that deals with changes in deltas without skipping anything and then would work properly for things like 0k or 1k....
18:52:18 <MikeRiley> with a non delta changing instruction after it...
18:53:36 <AnMaster> what about next instruction being a p? so it overwrites itself
18:53:46 <AnMaster> then you could argue it is not the same instruction ;P
18:53:56 <MikeRiley> ok,,,,maybe better to say,,,the ip skips the cell of the iterated instrution....
18:54:11 <Deewiant> and only if it's going to hit it next
18:54:24 <Deewiant> that'd be what CCBI does currently?
18:54:32 <AnMaster> "If the next cell to be executed after k would be the one it iterated on, then it moves ip forward to just past said instruction. The result is that k skips over the next instruction."
18:56:17 <MikeRiley> all my FIXP problems are now solved....
18:56:38 <Deewiant> did you just switch to doubles? ;-P
18:57:32 <Deewiant> it's probably still not a robust solution, if I just tested big enough numbers
18:57:50 <AnMaster> what is the issue with the FIXP Deewiant?
18:58:19 <Deewiant> so it should be fully accurate to the fixed precision
18:58:26 <AnMaster> I bet I would get other results if I used 128-bit SSE floating point numbers
18:58:29 <Deewiant> but since I guess everybody does stuff via floating point
18:58:41 <AnMaster> Deewiant, you do it by floating point too?
18:58:44 <Deewiant> I suppose it'll break down at some point and you'll get an error in the last digit
18:58:55 <AnMaster> because fixed point sin() would be a pain in C at least
18:59:04 <Deewiant> and no, not really, I don't think so
18:59:25 <Deewiant> just some fixed-point iteration or whatever
18:59:44 <Deewiant> but I still can't be bothered to do it :-P
18:59:52 <MikeRiley> certainly could be done,,,just iterate the sin formula instead of using the c library to do it for you...
19:00:35 <pikhq> It's not like it's impossible to compute the Taylor series...
19:01:07 <MikeRiley> nope,,,in fact my trig functions on my elf stuff uses fixed point arithimetic on the taylor series....
19:01:50 <MikeRiley> which was done in 1802 assembly,,,would actually not be that hard to do it in c...
19:02:22 -!- CakeProphet has joined.
19:03:05 <MikeRiley> oh....by the way....i have change FILE a little bit,,,,added another command to it...
19:03:57 -!- olsner has joined.
19:04:34 -!- Hiato has joined.
19:06:29 <AnMaster> MikeRiley, about the issues with "a b" I suspect it may be related to some UNDEF before
19:06:48 <AnMaster> that is all I think of as a reason for it
19:07:00 <AnMaster> MikeRiley, you probably do other stuff at some undef than me
19:07:02 <MikeRiley> currently 15 bads remaining to be fixed, all but 3 are in the fingerprints...
19:07:33 <AnMaster> http://rafb.net/p/uVhUs586.html
19:07:50 <AnMaster> MikeRiley, I guess some differ?
19:08:06 <AnMaster> those are due to the -S switch
19:08:10 <AnMaster> -S enables sandbox mode in cfunge
19:08:24 <AnMaster> and blocking some fingerprints
19:08:27 <MikeRiley> your undefs look like mine with the exception of i an o...
19:08:28 <AnMaster> while -F disable all fingerprints
19:08:45 <AnMaster> MikeRiley, I think my sandbox one is a good idea, allow safe fuzz testing too :)
19:09:05 <MikeRiley> yes, that does sound like a good idea...
19:09:05 <AnMaster> anyway I get same result without -S and -F
19:09:38 <AnMaster> to be exact, -S blocks: i, o, = and certain fingerprints
19:09:49 <AnMaster> oh it also hides some environment variables
19:09:55 <AnMaster> it just allow a safe set of them
19:10:09 <MikeRiley> might want to add that to mine as well...
19:10:48 <AnMaster> http://rafb.net/p/sPhQzF38.html is the gperf file I use to generate the list of good environment variables
19:10:53 <MikeRiley> i assume the fingerprints you block are things like FILE and SOCK??
19:10:55 <AnMaster> gperf generates a perfect hash
19:11:05 <AnMaster> MikeRiley, yes indeed PERL too
19:11:16 <AnMaster> I haven't yet implemented SOCK btw
19:11:22 <AnMaster> but it would definitely be one to block
19:12:42 <AnMaster> DIRF, FILE and PERL are the only ones that I block so far, but I haven't yet implemented some fingerprints
19:12:48 <MikeRiley> others look like they would be safe...
19:13:01 <MikeRiley> only system interaction ones would need to be blocked...
19:13:02 <AnMaster> FPDP, FPSP TOYS yeah safe I think
19:13:21 <AnMaster> technically STDIO is system interaction... ;P
19:13:44 <MikeRiley> true,,,,,but a bit harder to do something destructive with stdio...
19:13:59 <AnMaster> well I could really mess up your terminal
19:14:13 <AnMaster> say, put it into some don't echo and use line graphics mode
19:14:36 <AnMaster> (of course just type "reset" and hit enter to restore it)
19:14:37 <MikeRiley> could always block the <esc> character in sandbox mode...
19:15:14 <MikeRiley> as well as control characters besides lf,cr,nl
19:15:29 <MikeRiley> messing up the terminal is really not that big a deal...as you said....reset would fix anything that happened...
19:15:49 <AnMaster> yes assuming it wasn't hardwired to a printer
19:15:56 <AnMaster> not likely these days though :P
19:16:29 <AnMaster> and if it was it would the users own fault heh
19:17:01 <AnMaster> anyway I need to push an updated funge108 one up now
19:17:32 <MikeRiley> got to run for a bit,,,,be back in a little while...
19:17:44 <AnMaster> just put up a new one that reflects k better
19:18:08 -!- MikeRiley has quit ("Leaving").
19:19:20 -!- Corun has joined.
19:23:38 <AnMaster> when it jumps past next instruction after first k
19:24:08 <AnMaster> from what k does that go down?
19:24:19 <Deewiant> and the 5 is executed on the inner k
19:24:22 <AnMaster> Deewiant, so it will push a final 5 after the first k right?
19:25:12 <AnMaster> will that execute a or b after?
19:25:56 <Deewiant> because the outer k completes last
19:34:01 <AnMaster> Deewiant, http://rafb.net/p/35jr7b24.html (fi is the ligature fi, blame LaTeX output in combination with said ligature existing in unicode...)
19:34:40 <Deewiant> no, I blame you for putting an HTML entity instead of UTF-8 :-P
19:34:52 <AnMaster> Deewiant, blame that on firefox + pastebin
19:35:09 <AnMaster> I just copied it from pdf output
19:35:34 <Deewiant> "execute the 4 four times" s/4/5/
19:36:49 <AnMaster> so in result, nested k isn't really useful anyway ;P
19:37:09 <AnMaster> anyway this means some major headache in cfunge, due to the way it implements stuff
19:37:13 <Deewiant> no, but it's not useless either
19:37:24 <Deewiant> and yeah, might be a pain to implement :-)
19:37:43 <AnMaster> basically yet more special casing
19:38:00 <AnMaster> Deewiant, anyway what does ccbi do on nested k currently?
19:38:31 <AnMaster> as in you want me to read the code and try to figure out?
19:38:34 <Deewiant> I think 432kk12345 would execute first 1 3 times, then 2 4 times, before jumping to the 3
19:39:13 <AnMaster> anyway that's an interesting interpretation you had :P
19:39:21 <Deewiant> no, it's just no handling of the k case
19:39:28 <Deewiant> so it moves after executing the inner k
19:39:36 <AnMaster> well mine wound probably execute the second k on the second k
19:39:56 <AnMaster> but I can see how to handle multiple k nicely
19:40:10 <Deewiant> you don't need anything special
19:40:28 <AnMaster> Deewiant, I do, as the instruction doesn't know *where* it is, only where the ip is
19:40:28 <Deewiant> the only change to CCBI now would be to not move after executing an inner k
19:40:36 <AnMaster> so it will look one ahead from current ip
19:40:55 <AnMaster> result: I need to go forward once again and actually execute the second k at the second k
19:41:33 <AnMaster> that, and restoring ip after each iteration on top k is all that is needed
19:48:30 -!- Sgeo_ has joined.
19:50:02 <AnMaster> Deewiant, what if the second k changes delta when it first executes?
19:50:49 <AnMaster> however I need to execute the second k at itself each time.
19:53:10 <AnMaster> Deewiant, um what if second k changes *position?
19:53:38 <Deewiant> I don't want to think about it >_<
19:53:48 <Deewiant> 4k# itself is messed up enough :-P
19:54:00 <AnMaster> Deewiant, nor do I, but I need to think about it.... what should happen
19:54:13 <Deewiant> so go ahead and think about it, I don't want to :-)
19:54:39 <AnMaster> Deewiant, well what about something else that sets position without messing with other stuff?
19:54:51 <Deewiant> I don't want to think about it >_<
19:54:52 <Deewiant> I don't want to think about it >_<
19:55:15 <AnMaster> Deewiant, well I can't come up with something sane, I thought about it for a while
19:55:54 <AnMaster> Deewiant, I will have to ask MikeRiley when he gets back
19:56:08 <Deewiant> I don't want to think about it >_< stop pinging me :-P
19:57:42 <AnMaster> Deewiant, well this code is quite messed up now
19:58:27 <AnMaster> as the function got different prototypes with concurrency support and without it
19:59:03 <AnMaster> # define RunSelf() RunIterate(ip, IPList, threadindex)
19:59:03 <AnMaster> # define RunSelf() RunIterate(ip)
19:59:13 <AnMaster> no internal compiler error now
19:59:55 <AnMaster> Deewiant, well I do handle 2kt and 2k@ correctly
20:00:02 <AnMaster> that is why I need the different prototype
20:02:56 <AnMaster> In 432kk5 the second k would actually execute the 5 *five* times the second iterations
20:03:09 <AnMaster> as the first iteration pushed 5s
20:04:07 <AnMaster> Deewiant, tell me, what should 32kk5 >:#._@ print?
20:07:01 <Deewiant> outer k pops two, executes twice:
20:07:10 <Deewiant> inner k pops three, executed thrice:
20:07:23 <Deewiant> inner k pops zero, nothing happens
20:07:47 <Deewiant> inner k pops /five/, executed 5 times:
20:08:14 <AnMaster> Deewiant, nop, . adds a trailing space
20:08:53 <AnMaster> it would output some control char
20:09:09 <AnMaster> Deewiant, anyway then what about: 4k'a
20:09:19 <AnMaster> I think cfunge may do the wrong thing here
20:09:25 <Deewiant> that's like 4k# and I don't want to think about it :-)
20:11:55 <AnMaster> Deewiant, yes... but I think it may push some '
20:13:34 <AnMaster> Deewiant, help please http://rafb.net/p/Y2LKjU71.html
20:13:43 <AnMaster> in cfunge it cause an infinite loop
20:16:36 <AnMaster> Deewiant, I see what the issue is
20:16:44 <AnMaster> next time k will look at the "
20:17:23 -!- Sgeo has quit (Connection timed out).
20:17:31 <AnMaster> Deewiant, just my test case was fucked up then
20:17:48 <AnMaster> Deewiant, nested k *doesn't* make sense
20:17:58 <AnMaster> nor does k on stuff like ' or #
20:18:07 <Deewiant> it makes a lot of sense, just these stupid delta/pos changers don't :-P
20:18:13 -!- KingOfKarlsruhe has joined.
20:18:14 <AnMaster> this is just following the rule set defined and see where it leads
20:18:35 <AnMaster> Deewiant, well even if you don't move after you have issues on that
20:33:32 -!- MikeRiley has joined.
20:35:46 <AnMaster> MikeRiley, I got some questions for you
20:35:54 <AnMaster> that Deewiant said "<Deewiant> I don't want to think about it >_<"
20:36:24 <AnMaster> MikeRiley, tell me what happens in those
20:36:43 <MikeRiley> well,,,i would think that 2k' would put two 's on the stack...
20:36:58 <AnMaster> yes that is the what cfunge currently does
20:37:17 <MikeRiley> and in the 432kk i would think this would end up popping a lot of the stack and do nothing else...
20:38:16 <AnMaster> about ': "This pushes the Funge character value of the next encountered cell (position + delta) onto the stack"
20:38:23 <AnMaster> so yes would push ' here I think
20:38:39 <AnMaster> MikeRiley, no I didn't say 432kk
20:38:40 <MikeRiley> and since position is the k,,,,since the ip is not moved until after k is done,,,,
20:39:07 <MikeRiley> i know....but i still think it would do no more than pop a lot off the stack,,,,
20:39:14 <MikeRiley> since the k executes at the first k...
20:39:26 <MikeRiley> the 2nd k,,,ip is still pointing at the first k....
20:39:32 <MikeRiley> and so will just read the k again...
20:40:33 <MikeRiley> the ip did not move to the 2nd k....
20:40:42 <MikeRiley> now when the k's exhaust the stack,,,,
20:40:51 <MikeRiley> the ip will move the # and jump to the b....
20:40:53 <AnMaster> http://rafb.net/p/pQcrKo80.html
20:41:16 -!- pikhq has left (?).
20:41:46 <MikeRiley> your way of doing in 108 is reasonable...and makes it acuatlly usefull....
20:42:00 <AnMaster> yes and it been a headache really
20:42:13 <AnMaster> that is just one apsect of k in funge108 ;P
20:42:27 <MikeRiley> yeah,,,,,k should have filled a page on the 98 spec....
20:42:37 <AnMaster> that will certainly jump over the 5
20:42:54 -!- oerjan has joined.
20:43:03 <AnMaster> so I'm not sure why it wouldn't cause the same on nested k
20:43:47 <AnMaster> anyway fixing the k going downward thing broke the 32kk5 >:#._a,@ test I had...
20:43:52 <MikeRiley> first iteration, ip is pointing at #
20:44:09 <MikeRiley> 3rd iteration ip is pointing one cell past 5
20:44:19 <MikeRiley> 4th interation ip is pointing one cell furter...
20:44:30 <MikeRiley> end of instrucion, k moves the ip and will be one cell further yet...
20:45:21 <MikeRiley> it will keep moving with each iteration...
20:45:34 <AnMaster> however the last iteration of the second k won't reset the ip
20:45:42 <MikeRiley> in something like kk...the ip remains pointing at the first k...since no instructi9on is changing ...
20:46:16 <MikeRiley> but again,,,the ip is pointing at the first k....
20:46:21 <AnMaster> remember the CCBI style of skip next
20:46:32 <MikeRiley> even when the 2nd k is executed, it is still pointing at the first k...
20:46:41 <Deewiant> but the 2nd k then executes the # which moves the ip...
20:47:00 <AnMaster> but it is reset at next iteration, as the k executes *at* the k
20:47:00 <MikeRiley> only after the first k has finished fully iterated and falls through...
20:47:14 <AnMaster> so you will have to reset it when *entering*
20:47:24 <AnMaster> this is, the # must execute at the *second* k
20:47:35 <AnMaster> even though the second k executes at the first k
20:47:45 <MikeRiley> for 108, we can say that....the 98 spec does not work that way...
20:48:01 <AnMaster> MikeRiley, yes this is figuring out how it would work in 108
20:48:20 <MikeRiley> in that respect,,,,i think something like 32kk# should execute the #...
20:48:33 <MikeRiley> where as the 98 semantic is pretty much pointless...
20:48:48 <AnMaster> because I think that part (apart from never skip next instruction after k) is undefined in 98
20:49:13 <MikeRiley> well,,,,the 98 spec does not say that k modifies the ip from its standard way of moving...
20:49:32 <AnMaster> while it makes both # and ' change the way they move
20:49:34 <MikeRiley> which would mean the instruciton must execute from the k...
20:50:48 <MikeRiley> in fact,,,,looking at the spec,,,,,4k'abcd should actuully put abcd onto the stack...
20:50:56 <MikeRiley> since the ' spec does say that it moves the ip....
20:51:19 <MikeRiley> actually,,,it should put 'abc on the stack
20:52:02 <Deewiant> and then, by 98, execute the d, leaving the stack as ' a b c 13
20:52:03 <AnMaster> actually cfunge may already work that way
20:52:20 <MikeRiley> since k also does not specify that the ip is reset on each iteartion...and since ' specefies a move,,,just like # does....
20:52:32 <MikeRiley> let me try that in Rc/Funge-98....brb...
20:52:56 -!- Hiato has quit ("Leaving.").
20:53:14 <AnMaster> $ ./cfunge tests/iterate-fetchchar.b98
20:53:23 <MikeRiley> in Rc/Funge, i got cba' on the stack,,,
20:53:50 <AnMaster> $ ./cfunge tests/iterate-fetchchar.b98
20:54:07 <AnMaster> one too few , in test program first time
20:54:34 <MikeRiley> oh,,,,i have the 13 as well,,,,so 13 cba'
20:54:55 <MikeRiley> well,,,i guess we agree on that one!!!!
20:55:04 <Deewiant> probably the same, apart from skipping over the d currently
20:55:51 <AnMaster> MikeRiley, fix all BAD before the weekend (apart from it's incorrect k) ;P then CCBI will for the first time be less standard conforming than RC/Funge
20:56:08 <Deewiant> unless you count fingerprints ;-)
20:56:21 <AnMaster> well I mean fixing the BAD in fingerprints too
20:56:41 <MikeRiley> but then anmaster does not have that one...
20:56:57 <MikeRiley> and probably never will if i guess correctly!!! eheheheheheheeheh
20:57:00 <AnMaster> MikeRiley, btw when I looked at your fingerprints you seem to implement them as one function with a switch case
20:57:00 <Deewiant> yeah, but we were comparing CCBI and RC/Funge-98 and not cfunge ;-)
20:57:21 <AnMaster> MikeRiley, interesting way of doing it
20:57:36 <MikeRiley> that is what i though of changing too...funtion pointers...
20:57:40 <AnMaster> I also auto generate the list of available fingerprints from spec files
20:57:49 <Deewiant> well, RC/Funge-98 still has the incorrect way of doing fingerprints, no?
20:58:01 <AnMaster> the spec files can also be used to generate the initial template C files for the fingerprints
20:58:20 <MikeRiley> may make a compatability mode,,,kinda like the -Y for that,,,since i prefer the method that it currently uses...
20:58:38 <Deewiant> I'd prefer it if you defaulted to spec compatibility, though
20:58:45 <MikeRiley> to me,,,the fingerprint mechanism in Rc/Funge-98 seems more usable...
20:58:45 <AnMaster> MikeRiley, http://rafb.net/p/dHBaNm41.html
20:58:49 <AnMaster> I have a bash script parsing that
20:59:05 <AnMaster> to generate the array that fingerprint loading searches through
20:59:41 <MikeRiley> interesting the way you do that...
21:00:03 <AnMaster> sed 's|http://web.archive.org/web/20020816190021/http://homer.span.ch/~spaw1088/funge.html|http://www.elf-emulation.com/funge/rcfunge_manual.html|' -i *.spec
21:00:09 <MikeRiley> back when Rc/Funge was written,,,my programming skills were a bit more primitive...so there are lots of things that i would change now....
21:00:42 <AnMaster> { .fprint = 0x46494c45, .uri = NULL, .loader = &FingerFILEload, .opcodes = "CGLOPRSW",
21:00:42 <AnMaster> .url = "http://www.elf-emulation.com/funge/rcfunge_manual.html", .safe = false },
21:01:59 <AnMaster> and now I uploaded yet a newer version of the funge-108 draft
21:11:45 <MikeRiley> problems in FTH module are now all fixed...
21:12:54 <AnMaster> MikeRiley, you have put this up somewhere?
21:13:04 <AnMaster> I mean version control system or so
21:13:34 <MikeRiley> not on the web, only within my own dev system...
21:13:37 <AnMaster> it seems too few are keen on using public version control :)
21:14:10 <MikeRiley> that is the one that i learned years ago...and have never had a need to change it...
21:14:40 <MikeRiley> if you would like the current set of sources,,,i just need your email and i will send them to you...
21:21:32 <AnMaster> <Deewiant> I would, but I lack a server
21:21:39 <AnMaster> Deewiant, what about some public hosting place?
21:21:50 <AnMaster> there are such for bzr, svn, cvs and git at least
21:22:01 <AnMaster> I'm sure there is one for mercurial too
21:22:34 <Deewiant> forget what it's called but there is :-P
21:22:39 <Deewiant> I think there might even be two, actually
21:22:48 <AnMaster> http://www.selenic.com/mercurial/wiki/index.cgi/MercurialHosting
21:23:14 -!- CakeProphet has quit (Remote closed the connection).
21:25:08 <AnMaster> Deewiant, nothing as good as there is for bzr though
21:25:15 <AnMaster> bzr got the very nice launchpad
21:25:29 <Deewiant> haven't really looked at any of them at all
21:26:30 <AnMaster> Deewiant, most seem to have an commercial aspect
21:26:52 <AnMaster> unlike launchpad (which offers bzr hosting). but launchpad got Ubuntu behind it
21:26:56 <Deewiant> bitbucket is the one I was thinking of
21:27:22 <AnMaster> Deewiant, doesn't mercurial work on a plain http server?
21:27:56 <AnMaster> because that is one of the nicer features
21:28:06 <Deewiant> but only bzr and darcs can serve with only static pages
21:28:19 <AnMaster> Deewiant, bzr is very nice btw IMO
21:28:26 <Deewiant> it's kind of annoying that bzr needs the client to be able to see the source, though :-/
21:28:29 <AnMaster> even though I could set up more complex stuff on my server
21:28:59 <AnMaster> Deewiant, well yes I may fix the webui stuff tomorrow
21:30:22 <AnMaster> Deewiant, https://code.launchpad.net/~anmaster/cfunge/main
21:30:36 <AnMaster> doesn't have the last changes though
21:33:42 -!- oerjan has quit ("Good nizzzz").
21:33:57 <AnMaster> Deewiant, still it allows you to browse the code
21:34:25 <AnMaster> Deewiant, MikeRiley: http://bazaar.launchpad.net/%7Eanmaster/cfunge/main/files
21:34:33 <AnMaster> still not last version mirrored there
21:36:31 <AnMaster> MikeRiley, next update of that mirror will happen in a few minutes it seems
21:38:00 -!- psygnisf_ has changed nick to psygnisfive.
21:38:26 <AnMaster> psygnisfive, I'm going to sleep soon too
21:42:01 <psygnisfive> http://news.ycombinator.com/item?id=253693
21:43:04 <Deewiant> Like it is small, so I should imagine it is fast? So like maybe for large problems involving lots of "number crunching"?
21:43:36 <Deewiant> So... The compiler itself is insanely efficient (I have heard that it is on the order of ~200 bytes).
21:43:46 <AnMaster> psygnisfive, learn about timeszones
21:44:01 <Deewiant> for (;;){} is pretty small too, but that doesn't mean it's efficient >_<
21:44:28 <psygnisfive> has anyone ever tried write a forth program backwards?
21:45:06 <MikeRiley> when Rc/Funge-98 was originally written, i was living in zurich,switzerland...
21:45:09 <AnMaster> psygnisfive, eh? you mean as in piping one into rev?
21:45:43 <psygnisfive> programming it like its lisp, but reading it backwards.
21:47:08 <AnMaster> tusho, you forgot to join #eso btw
21:47:30 <AnMaster> Esoteric Standard Organisation
21:48:56 <AnMaster> MikeRiley, anyway switzerland... Wouldn't that be same timezone as me?
21:49:41 <AnMaster> (or as they say in US, daylight saving)
21:50:28 <AnMaster> have a homepage without info on it
21:52:18 <AnMaster> psygnisfive, think ISO for esoteric languages
21:52:44 <AnMaster> psygnisfive, well I'm eager to find out too
21:52:53 <AnMaster> psygnisfive, helping with standards anyway
21:53:24 <tusho> everything you've said about eso in the past few minutes has been wrong
21:53:39 <AnMaster> tusho, it was the way you described it to me
21:53:52 <tusho> but I was wrong, then
21:54:52 <tusho> psygnisfive: long story.
21:55:15 <tusho> i've not got the patience to type out all of it atm :)
21:55:29 <psygnisfive> well when you do, maybe you should put it up on eso-std
21:55:37 <psygnisfive> that way you'll never have to type it again
21:59:32 -!- oklopol has quit (Connection timed out).
22:02:09 -!- Corun has quit ("This computer has gone to sleep").
22:02:47 <tusho> MikeRiley: Funge-98 is dead! Long live Funge-98!
22:15:46 -!- CakeProphet has joined.
22:17:02 <tusho> {Like it is small, so I should imagine it is fast? So like maybe for large problems involving lots of "number crunching"?} is the best thing I've heard all week, fwiw
22:17:03 -!- Corun has joined.
22:34:05 -!- timotiis has joined.
22:57:46 -!- MikeRiley has quit ("Leaving").
23:20:15 -!- Corun has quit ("This computer has gone to sleep").
23:25:44 -!- tusho has changed nick to universe.
23:26:07 -!- universe has changed nick to tusho.
23:29:35 -!- KingOfKarlsruhe has quit (Read error: 104 (Connection reset by peer)).
23:31:01 -!- Corun has joined.
23:39:21 -!- timotiis has quit ("leaving").
00:03:49 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
00:36:38 -!- olsner has quit ("Leaving").
00:42:32 -!- pikhq has joined.
00:43:12 -!- psygnisfive has quit (Client Quit).
00:44:09 -!- tusho has quit.
01:35:38 -!- zEEbe has joined.
01:39:48 -!- psygnisfive has joined.
02:00:35 -!- zEEbe has changed nick to zeeb.
02:40:04 -!- zeeb has left (?).
02:51:49 -!- Sgeo has joined.
03:05:17 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)).
04:08:22 -!- Corun has quit ("This computer has gone to sleep").
04:38:15 -!- GreaseMonkey has joined.
04:46:10 -!- pikhq has quit ("leaving").
05:47:30 -!- GreaseMonkey has quit ("saving RAM for nexuiz").
06:35:37 -!- GreaseMonkey has joined.
07:15:31 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
07:17:24 -!- Sgeo has joined.
07:40:00 -!- dbc has quit (Client Quit).
07:40:29 -!- dbc has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:12:03 -!- olsner has joined.
09:12:22 -!- olsner has quit ("Leaving").
10:23:07 -!- GreaseMonkey has quit ("HydraIRC -> http://google.com <- Go find something better").
10:23:12 -!- jemarch has joined.
10:24:13 <jemarch> oh my god, is the people from esoteric.sange.fi there?
10:27:45 <AnMaster> ~/funges/interpreters/rcfunge $ ./funge -Y -md ~/src/cfunge/trunk/mycology/mycology.b98
10:37:24 -!- tusho has joined.
10:38:42 <AnMaster> it is a pitty RC Funge doesn't have a public repo, otherwise I might have helped with some patches
10:39:14 <tusho> some people like working undisturbed
10:39:16 -!- tusho has quit (Client Quit).
10:39:35 -!- tusho has joined.
11:04:24 <AnMaster> Deewiant, should 0k 7 skip over next instruction or next char?
11:13:21 -!- RedDak has joined.
11:25:52 -!- Sgeo has quit (Remote closed the connection).
11:36:54 <AnMaster> Loaded STRN: testing I. Please input: åäö
12:00:20 <Deewiant> instruction seems sanest to me too, although it's bound to be insane in some case ;-)
12:07:18 <AnMaster> Deewiant, it is really an optimized version of:
12:07:42 <AnMaster> it is an optimized version of a simple loop you could do anyway
14:11:19 -!- pikhq has joined.
14:14:04 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
15:12:02 <pikhq> http://en.wikinews.org/wiki/China_to_establish_protest_zones_for_Olympics
15:12:14 <pikhq> How. . . Depressing.
15:12:23 <pikhq> The US and China seem to have similar stances on protests now.
15:44:48 -!- MikeRiley has joined.
16:00:27 <AnMaster> MikeRiley, hi, your last release segfaults when loading mycology for me
16:00:54 <MikeRiley> i am running with -i 500000 and -c 200000
16:00:56 <AnMaster> MikeRiley, um this happens before any output
16:01:37 <MikeRiley> time ../../funge -i 500000 -c 200000 -Y -md -w mycology.b98
16:02:57 <MikeRiley> mostly issues warnings when an invalid instruction is specified...
16:03:25 <AnMaster> ah yes your interpreter lacks a --help or such
16:03:43 <MikeRiley> yeah, i noticed that the other day!! eheheheheh i should add one....
16:04:15 <MikeRiley> want to add help to the debugger too,,,when i was trying to use it yesterday,,,could not remember the commands!! eheheheheheeh
16:05:36 <AnMaster> well cfunge doesn't have a debugger, I did have some plans for a remote debugging protocol
16:05:43 <AnMaster> so you could use an external debugger
16:05:49 <AnMaster> for several different interpreters
16:06:19 <AnMaster> never got around to implementing it
16:07:05 <MikeRiley> down to only 4 bads left....and a couple of them might be related to the broken k in mycology,,,,or else should be considered UNDEF rahter than BAD
16:07:30 <MikeRiley> i mainly wrote my debugger in order to help debug the interpreter more so than debugging funge programs...
16:08:22 <AnMaster> MikeRiley, there are no bads due to the k change for me except those few I mentioned early on
16:08:51 <AnMaster> MikeRiley, oh, for debugging interpreter I use gdb
16:08:53 <MikeRiley> my interest in the moment is in testing FILE
16:09:43 <MikeRiley> it appears to test G on EOF, but the interpreter says that G is only run twice,,,getting results each time,,,and does not show a third attempt to use G to get EOF...
16:10:55 <MikeRiley> i see it execute once and get 'bar\n'
16:11:08 <AnMaster> um you shouldn't include the trailing \n iirc
16:11:10 <MikeRiley> and then the interpreter says that G is not run again after this...
16:11:27 <AnMaster> at least I strip any trailing \n from the string I get
16:12:16 <MikeRiley> not sure if i want to strip line endings or not....
16:12:29 <MikeRiley> technically,,,since the spec says like c fgets, and fgets keeps the line endings....
16:12:37 <MikeRiley> would be correct to specs to keep the line endings...
16:12:45 <MikeRiley> even tho i would prefer them not to be there...
16:13:26 -!- puzzlet_ has quit (Read error: 60 (Operation timed out)).
16:18:26 <MikeRiley> found problem in FILE and fixed,,,,down to only 3 BADs now...
16:19:56 <MikeRiley> did you get Rc/Funge to run??? or is it still giving you a sement fault??
16:30:39 -!- Hiato has joined.
16:44:04 -!- Corun has joined.
16:54:32 -!- Hiato has quit ("Leaving.").
17:03:33 <AnMaster> MikeRiley, yes I got it running
17:03:45 <AnMaster> maybe due to the huge memory needed to be allocated
17:10:41 -!- Corun has quit ("This computer has gone to sleep").
17:15:09 <MikeRiley> hmmmm,,,,does not run slow for me....
17:17:04 <AnMaster> MikeRiley, it also hangs in IMAP
17:17:09 <AnMaster> GOOD: '5O unmapped 5 to push 5
17:17:09 <AnMaster> GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD:
17:17:09 <AnMaster> GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD: GOOD:
17:17:29 -!- Corun has joined.
17:17:40 <MikeRiley> which version are you actually running???
17:18:21 <AnMaster> MikeRiley, I got no idea if it matters but this is 64-bit
17:18:34 <AnMaster> so if RC/Funge isn't 64-bit clean, maybe?
17:19:05 <MikeRiley> it is not 64-bit clean,,,,i am running 64-bit here as well,,,but the only problem i know of is in FPDP....
17:20:00 <AnMaster> MikeRiley, um wait, how does "not 64-bit clean" cause an issue in FPDP?
17:20:06 <AnMaster> I can't see how that would happen
17:20:28 <AnMaster> struct { int32_t high; int32_t low; } i;
17:20:30 -!- jemarch has quit ("ERC Version 5.0 (CVS) $Revision: 1.1.1.1 $ (IRC client for Emacs)").
17:21:13 <MikeRiley> yeah,,,i do not either,,,,but on this machine everythying in FPDP comes up zeros.....my machine at home (32-bit) works correclty...
17:22:55 <AnMaster> MikeRiley, is the code the same as in 1.08?
17:23:47 <MikeRiley> hold on a few minutes,,,and will put 1.0.9 where can get at it....
17:23:50 <AnMaster> struct { long int l; long int h; } i;
17:24:15 <AnMaster> on x86 long int is 32-bit and long long is 64-bit
17:24:27 <AnMaster> on x86_64 long int and long long are both 64-bit
17:24:37 <AnMaster> for both those platforms int is 32-bit
17:24:46 <AnMaster> however that may not be true on some other systems
17:25:03 <AnMaster> so using the int32_t from stdint.h in C99 is the most sane way
17:25:17 <AnMaster> but that means you have to depend on C99
17:25:24 <AnMaster> which few compilers implement so far
17:26:18 <AnMaster> MikeRiley, on and double is *always* 64-bits
17:27:03 <AnMaster> that wouldn't work on big endian systems
17:27:16 <AnMaster> as you would get wrong part of the long int into the float there
17:27:26 <MikeRiley> you can get the latest sources from: http://www.elf-emulation.com/rcfunge_dev.tgz
17:27:31 <Deewiant> I think only something by Sun, forget what it's called, supports C99 fully
17:27:51 <AnMaster> Deewiant, well GCC aims for it, not complete yet, but will be at some point
17:28:09 <Deewiant> but I think only that one has a full implementation
17:28:11 <AnMaster> tar: ./rcfunge: time stamp 2008-07-25 18:35:27 is 440.78867794 s in the future
17:28:34 <AnMaster> I set mine using ntp so it is exact
17:29:12 <MikeRiley> i never did bother about correct time on my machines!! eheheheheheeheheh
17:30:17 <AnMaster> ext/file.c:86: warning: implicit declaration of function 'strlen'
17:30:24 <AnMaster> MikeRiley, that means you forgot to include <string.h>
17:31:25 <AnMaster> mterm.c:(.text+0x39): warning: the `gets' function is dangerous and should not be used.
17:34:02 <fizzie> Huh? In no fashion is double *always* 64 bits (or float 32). They are for IEEE 754 floating-point arithmetics, but the C standard doesn't require that.
17:34:29 <fizzie> For all reasonable platforms, sure, but that's still different than "always".
17:34:29 <AnMaster> fizzie, so how to you get an integer type of the same size as a float?
17:34:47 <AnMaster> I guess you need autoconf hell.
17:35:14 <AnMaster> IEEE 754 floating-point <-- right, I'll note down in my README that the platform need such floating point
17:35:26 <AnMaster> fizzie, I think C99 mandates that btw
17:35:47 <MikeRiley> yeah, there are a few places where string.h was missing...
17:35:52 <MikeRiley> been adding them as i run into them...
17:36:08 <AnMaster> MikeRiley, what warning flags do you use?
17:36:16 <AnMaster> for cfunge I use a LARGE set of warning flags
17:36:32 <AnMaster> as in -Wall -Wextra -Wformat=2 ...
17:36:46 <AnMaster> -Wall -Wextra -pedantic -Wpointer-arith -Wimplicit -Wnested-externs -Wcast-align -Wcast-qual -Wbad-function-cast -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wparentheses -Wundef -Wpacked -Wstrict-aliasing=2 -Wformat=2 -Winline -Wmissing-noreturn -Wmissing-format-attribute -Wdeclaration-after-statement -Wunused-function -Wunused-label -Wunused-value -Wunused-variable -Wwrite-strings
17:37:13 <Deewiant> and a set of optimization flags which is twice as long?
17:37:17 <fizzie> C99 doesn't require sensible floating-point either, although it does specify a __STDC_IEC_559__ macro that can be used for checking if it's there.
17:37:20 <AnMaster> Deewiant, that I leave to the user
17:37:46 <Deewiant> AnMaster: and besides, with cmake, doesn't specifying those mean that you restrict the platform to GCC?
17:37:49 <fizzie> If you don't mind the holes, I guess you can just use some suitable union of a floating-point and integer type that are likely to be of same size.
17:37:59 <AnMaster> fizzie, all I can find is "Annex F (normative): IEC 60559 floating-point arithmetic"
17:38:16 <AnMaster> Deewiant, I only use them if GCC is detected
17:38:27 <AnMaster> without GCC I only assume that -DFOO will define FOO
17:38:40 <AnMaster> either by POSIX or the C standard
17:38:41 <Deewiant> isn't there a set_define or some such
17:38:45 <fizzie> Yes, and "An implementation that defines __STDC_IEC_559__ shall conform to the specifications in this annex", which implies that you can have a C99 implementation that does not conform.
17:39:17 <AnMaster> another check with #ifdef and erroring out in other words
17:41:23 <fizzie> I would probably just make it work even if the types aren't exactly the same size, unless that's for some reason not possible. I'm sure there are implementations with correctly sized floating-point types, but which do not define that macro because they don't bother implementing all peculiarities of the actual floating-point ops.
17:41:45 <AnMaster> fizzie, I need an union that matches size exactly
17:41:56 <AnMaster> struct { int32_t high; int32_t low; } i;
17:42:03 <AnMaster> need to store that on the funge stack
17:43:56 <fizzie> Why can't you just leave holes in the stack if the sizes happen to be perverse?
17:44:11 <AnMaster> fizzie, what if they happen to be bigger?
17:44:18 <AnMaster> also it needs to fit in exactly two cells
17:44:56 <fizzie> Uh, well: the size of that union is the size of the largest member.
17:45:30 <AnMaster> fizzie, anyway you saw what happened to RC/Funge when the integer version was too large
17:45:44 <AnMaster> so it didn't work on 64-bit platforms
17:45:51 <fizzie> Actually, I didn't: I just jumped into the conversation without reading the logs.
17:46:43 <fizzie> Anyway, if you make your stack cells have that union type, they will obviously be big enough. Would be pretty tricky if you need to split it in two cells, though.
17:47:00 <AnMaster> it needs to be same size as the funge-space
17:47:09 <AnMaster> this is just for a fingerprint duh
17:47:37 <AnMaster> fizzie, and yes the FPDP specs mandates that I need to split a double in 2 cells
17:48:18 <fizzie> Heh. Well, you can't split a double in 2 cells if it's too big, no matter what you do.
17:48:36 <AnMaster> fizzie, and the cells need to be a specific size
17:48:59 -!- Corun has quit ("This computer has gone to sleep").
17:49:01 <AnMaster> 32-bit or 64-bit, depending on compile time options
17:49:21 <MikeRiley> could always change cell size to 64-bit...
17:49:37 <AnMaster> MikeRiley, well I have that as compile time option already
17:49:45 <AnMaster> but it is much slower on 32-bit platforms
17:49:53 <AnMaster> and a bit slower on 64-bit platforms too
17:49:57 <MikeRiley> other things in the code might need to change tho...
17:50:00 <AnMaster> less data fit in cache you see :P
17:50:14 <AnMaster> cpu[1 x AMD Sempron(tm) Processor 3300+ (AuthenticAMD) @ 1000MHz w/ 128 KB L2 Cache]
17:50:20 <MikeRiley> may have to redesign how that module is supposed to work...
17:50:21 <AnMaster> (dynamic cpu speed, can run at 2 GHz)
17:50:32 <AnMaster> MikeRiley, anyway it makes sense to have it the way it is now
17:50:38 <AnMaster> just require sane floating point
17:50:51 <AnMaster> oh and fix the issue with long int mess up :P
17:50:58 <AnMaster> but you don't depend on C99 do you?
17:51:12 <AnMaster> could be a bit harder to check floating point then, at least just using a plain make file
17:51:27 <AnMaster> with autoconf or cmake you can check size at compile time
17:51:30 <MikeRiley> probalby should stop using things like int, long, etc and go to int32_t, etc...
17:51:40 <AnMaster> MikeRiley, int32_t is C99 though
17:52:50 <AnMaster> MikeRiley, but there are ways to find the type yourself using autoconf or cmake or such
17:53:02 <AnMaster> but that requires a configure script or a cmake file
17:53:27 <AnMaster> a plain makefile won't work any longer
17:53:50 <AnMaster> (anyway converting rcfunge to either should be pretty easy, I could convert it to cmake if you want
17:54:16 <MikeRiley> what is cmake??? i have never used it....
17:54:40 <AnMaster> MikeRiley, it is a tool to generate a makefile, somewhat like the ./configure stuff, but another software
17:54:40 <MikeRiley> down to 3 Bads now,,,and 1 probably should be UNDEF rather than BAD....
17:54:53 <MikeRiley> i will have to take a look at it....
17:54:57 <AnMaster> while cmake is an alternative software
17:55:07 <AnMaster> MikeRiley, well use autoconf then
17:55:24 <AnMaster> I find cmake a lot easier to work with though
17:56:41 <MikeRiley> will have to look at cmake,,,never cared much for autoconf...
17:57:11 <AnMaster> just one thing I don't like with cmake
17:57:28 <AnMaster> it's IF/ELSE/ENDIF syntax is too verbose
17:57:38 <AnMaster> OPTION(CONCURRENT_FUNGE "Enable support for concurrent funge." ON)
17:57:38 <AnMaster> ADD_DEFINITIONS(-DCONCURRENT_FUNGE)
17:57:51 <AnMaster> you have to put the full condition in when closing it too
17:58:03 <AnMaster> that's the only think I don't really like with cmake
17:59:56 <tusho> i like scons because it's like cmake, except it doesn't try and piggyback on the deprecated make-and-friends
18:00:01 <tusho> and it doesn't have that god-awful syntax
18:00:07 <tusho> if concurrent_funge:
18:00:13 <tusho> IF(CONCURRENT_FUNGE)
18:00:16 <tusho> ENDIF(CONCURRENT_FUNGE)
18:00:34 <tusho> it'd be nice if someone ported scons to ruby
18:00:39 <AnMaster> tusho, yes right, I don't like scons because it seems less actively maintained
18:00:51 <tusho> AnMaster: why does it need to be?
18:00:55 <tusho> it works great and i've never found a bug
18:00:56 <AnMaster> I don't want to end up depending on on unmaintained software
18:01:07 <AnMaster> tusho, and there is always bitrot
18:01:13 <tusho> it is certainly maintained
18:01:14 <MikeRiley> got to run for a bit,,,,be back later....
18:01:15 <tusho> last release in march
18:01:31 <tusho> doom3 used it as a build system
18:01:33 -!- MikeRiley has quit ("Leaving").
18:01:38 <tusho> i'd think they'd be pretty careful about that
18:02:02 <tusho> and true, but so has scons
18:02:06 <tusho> most of them just aren't open source :)
18:02:09 <tusho> from what I can tell
18:02:17 <tusho> but anyway, scons is pretty widely used
18:02:22 <tusho> and actively maintained as far as I can tell
18:02:26 <tusho> and robust in my experience
18:02:31 <AnMaster> tusho, may learn it for future software
18:02:44 <tusho> also, it is crazy about backwards compat. - AnMaster will like that
18:02:46 <tusho> it works in python 1.5
18:02:53 <tusho> (when python 3.0 alpha/beta is out)
18:02:55 <AnMaster> tusho, hah. no I don't really care about that
18:03:09 <AnMaster> I do care for python 2.4 and 2.5, maybe 2.3 too
18:03:24 <tusho> 2.4 is the minimum worth supporting
18:03:27 <tusho> 2.3 was pretty painful, I hear
18:03:31 <tusho> and 2.2 is just unusable
18:03:45 <tusho> AnMaster: yeah, so what
18:03:51 <tusho> scons devs can be masochists if they want
18:03:57 <tusho> but they apparently have users working on 1.5
18:04:04 <tusho> well, that was ages ago
18:04:09 <tusho> like 1996 or something
18:04:12 <AnMaster> tusho, I got 1.2 for Mac OS classic somewhere I think...
18:04:19 <tusho> way before new style classes or anything was even considered
18:11:10 -!- Sgeo has joined.
18:57:12 -!- lilja has joined.
19:41:52 * tusho is finally getting an #esoteric qdb up
19:42:01 <tusho> we desperately need it, how many awesome quotes have we left to just rot in the logs
19:43:05 -!- Corun has joined.
19:44:14 -!- oerjan has joined.
19:53:11 <tusho> a while ago every day in #esoteric spawned an amazing nugget of a quote.
19:53:21 <tusho> and ais complained that there was nowhere to put them because i'm lazy
19:53:22 <psygnisfive> tusho how long have you been frequenting #esoteric, btw?
19:53:33 <tusho> psygnisfive: sometime 2007
19:53:57 <tusho> dunno if that was before or after my birthday
19:54:03 <tusho> whatever, it feels longer than it is
19:54:32 <oerjan> february i think, wasn't that when you posted that regexp language...
19:54:36 <tusho> psygnisfive: i'm actually lament.
19:54:46 <tusho> oerjan: that regexp language came way after me coming here
19:54:50 <tusho> p.s. february which year
19:55:02 * oerjan goes to check his filestamp
19:56:31 <tusho> oerjan: that the regexp time
19:56:47 <oerjan> tusho: the filestamp on my interpreter for it
19:57:04 <tusho> then I've been here longer than I thought
19:57:11 <oerjan> also, that's the first thing i remember about you
19:58:22 <tusho> is that regexp language TC after all, oerjan?
19:58:29 <tusho> it's just string rewriting, albeit bizzare one
19:59:18 <oerjan> i don't think we figured that out. although with full perl regexps anything is possible :D
19:59:40 <oerjan> the perl one was buggy
19:59:40 <tusho> also your impl was broekn
19:59:46 <tusho> it didn't handle escapes properly
20:00:47 <oerjan> hm we may have had a disagreement on the second (python) one.
20:03:27 <tusho> oerjan: it didn't handle \n and co
20:03:28 <oerjan> (they're at oerjan.nvg.org/esoteric/ehird.{pl,py}, i never made a link from anywhere else i think)
20:03:36 <tusho> but you can't do eval('"' + s + '"')
20:03:39 <tusho> because then " is special
20:04:07 <tusho> while len(prog) == 3 is wrong
20:07:10 <AnMaster> <psygnisfive> i want a built-in way to make booklets
20:07:14 <AnMaster> psygnisfive, you have latex right?
20:07:25 <AnMaster> so just use the booklet document class
20:08:01 <AnMaster> psygnisfive, http://www.ctan.org/pub/tex-archive/macros/latex/contrib/booklet/
20:08:29 <AnMaster> psygnisfive, *warning* doesn't work with custom marginals
20:08:42 <psygnisfive> anmaster: 1) no i dont have latex. 2) i need to print booklets from existing documents not documents ive made.
20:09:06 <AnMaster> psygnisfive, well 1) get it 2) bad luck
20:10:09 <psygnisfive> getting latex is fucking impossible on a mac. not because it doesnt exist but because you open source idiots dont know how to make user friendly anything
20:11:07 <tusho> psygnisfive: texlife.
20:12:11 <tusho> and calling a huge group of people idiots as a blanket makes you a complete asshole, btw
20:12:11 <psygnisfive> ill look into it. not that it matters since i dont need (la)tex :P
20:12:54 <psygnisfive> but i reserve the right to do so, since all the software i write (or atleast get halfway through writing) is MIT licensed
20:13:29 <AnMaster> psygnisfive, and what do you mean "user friendly"
20:13:38 <AnMaster> I make sure to use getopt correctly
20:13:57 <AnMaster> if that isn't user friendly I don't know what is
20:14:03 <psygnisfive> well, last time i tried to install a tex viewer i needed to install like forty million dependencies by handing via the command line
20:14:15 <psygnisfive> none of these dependencies were actually listed anywhere in the install instructions
20:14:19 <AnMaster> psygnisfive, the shell is user friendly
20:14:28 <tusho> psygnisfive: texlife is a dmg
20:14:28 <AnMaster> and well I don't know about a tex viewer
20:14:32 <tusho> which expands to a point-n-click installer
20:14:32 <psygnisfive> i had to find them via the ERRORS the thing spit out
20:14:37 <tusho> and it comes with an ide too
20:14:41 <tusho> which compiles & opens a pdf ready
20:14:47 <tusho> it's 100mb, but then it has just about everything
20:14:52 <tusho> including all the document types and other contributed stuff
20:14:58 <tusho> also: it uses xetex
20:15:00 <AnMaster> tusho, well not all contributed stuff
20:15:07 <tusho> AnMaster: well yeah
20:15:16 <tusho> works fine for me and many others
20:15:26 <AnMaster> like not supporting the micro typography that pdftex got
20:15:27 <tusho> psygnisfive: http://thepiratebay.org/tor/3630644/
20:15:43 <AnMaster> tusho, once it has micro typography I may consider xetex
20:15:57 <tusho> AnMaster only uses things that have features which he doesn't use
20:16:09 <AnMaster> psygnisfive, I bet texlive contains it...
20:16:12 <tusho> psygnisfive: or if you don't want a bittorrent
20:16:13 <tusho> ftp://ftp.tex.ac.uk/tex-archive/systems/texlive/Images/texlive2007-live-20070212.iso.zip
20:16:31 <tusho> if you go on like any site for a tex for os x
20:16:32 <AnMaster> <tusho> AnMaster only uses things that have features which he doesn't use
20:16:35 <tusho> they all say 'use tex live foo'
20:16:42 <psygnisfive> i just cant stand the majority of open source software
20:16:50 <tusho> AnMaster: and you develop kernels in python
20:17:04 <tusho> but you won't use python if you can't develop a kernel in it
20:17:07 <AnMaster> tusho, but the Funge108 standard uses micro typography
20:17:19 <AnMaster> tusho, I might, just to spite you
20:17:22 <tusho> and nobody will use funge108
20:17:27 <tusho> gee, a lot of non-use isn't there
20:17:58 <AnMaster> oh god.... please stop acting like a 12 year old girl....
20:19:07 <tusho> AnMaster can't bear people saying things
20:19:11 <tusho> it disturbs him greatly :-(
20:19:31 <AnMaster> I just can't bear people who don't act like grown ups
20:22:25 -!- MikeRiley has joined.
20:41:19 <AnMaster> did you come up with some solution for 64-bits?
20:41:47 <MikeRiley> not yet,,,,been working on getting my TOYS module 100% compliant....
20:42:06 <MikeRiley> then will see what i can come up with on the 64-bits...
20:43:45 <AnMaster> MikeRiley, you fixed fingerprints?
20:43:55 <AnMaster> I mean fingerprint overloading
20:44:08 <MikeRiley> i like my way of doing it better,,,,however....
20:44:19 <MikeRiley> i may add to the -Y compatability mode to do it the other way....
20:44:19 <AnMaster> well why not provide a runtime option then?
20:44:29 <MikeRiley> the runtime option is what i will do...
20:44:45 <MikeRiley> probably do it with -Y (maybe rename it) for spec compatability mode...
20:45:20 <AnMaster> MikeRiley, also you don't grow stacks dynamically do you?
20:45:31 <AnMaster> cfunge will allocate in chunks
20:45:51 <AnMaster> while your interpreter segfaults instead if you don't do those -n and such options
20:46:15 <MikeRiley> no,,,,but am going to change that....
20:46:28 <MikeRiley> after mycology wanted to put nearly half a million entries on the stack!!!! eheheheheheh
20:46:34 <MikeRiley> will change it to dynamic allocation...
20:46:42 <AnMaster> cfunge is standard compatible by default, I made a point of not needing any special options to be standard compatible
20:46:44 <MikeRiley> chunks is what i will do as well...quicker that way....
20:46:51 <AnMaster> <MikeRiley> after mycology wanted to put nearly half a million entries on the stack!!!! eheheheheheh
20:47:11 <AnMaster> you can't debug it under valgrind
20:47:17 <AnMaster> because valgrind will eat so much memory
20:47:25 <AnMaster> so I have to comment out HRTI to test fingerprints after
20:47:39 <MikeRiley> for a long time i was getting a stack overflow....
20:47:47 <AnMaster> of course standalone cfunge handles it without overflows
20:47:51 <MikeRiley> so i put a breakpoint at that section of code to see what it was doing...
20:48:02 <AnMaster> MikeRiley, oh yeah, it is killing time ;P
20:48:07 <MikeRiley> and saw that ff*kyn and just went OH MY GOSH!!!!!!
20:48:24 <MikeRiley> would be better to make a different loop and clear the stack after each y...
20:48:24 <AnMaster> cfunge can be pretty fast at that though
20:48:44 <AnMaster> because most of the time is taken by env variables
20:48:46 <Deewiant> but the windows timer has such a low granularity (in CCBI, at least) that fkyn wasn't enough to get even a single interval :-P
20:48:50 <MikeRiley> otherwise it is a great way to test for very large stack expansion!!! eheheheheheeheheheh
20:49:03 <AnMaster> Deewiant, cfunge got very good granularity on my system
20:49:09 <MikeRiley> my interval is pretty small....from just m to t will show about 200....
20:49:31 <Deewiant> MikeRiley: yeah, it could be done like that but I figured that might as well test for big stacks while we're at it ;-)
20:49:37 <AnMaster> Testing fingerprint HRTI... loaded.
20:49:38 <AnMaster> UNDEF: G gives clock granularity as 2 microseconds
20:49:38 <AnMaster> GOOD: T reflected when called before M
20:49:38 <AnMaster> UNDEF: T after M pushed 30 and a second T, after ff*kyn, pushed 232
20:49:42 <MikeRiley> and that certainly does!!!! eheheheheheheeh
20:49:53 <Deewiant> AnMaster: CCBI has equivalent granularity on Linux as well
20:49:57 <AnMaster> MikeRiley, but I will have to grow the stack a lot
20:50:45 <AnMaster> an idea I had was to cache size of y and pre-allocate that in one go
20:51:04 <MikeRiley> mine is preallocated,,,,but if you are doing concurrent funge with really large stacks!!!! yikes!!!!
20:51:08 <AnMaster> heck even caching parts of the y request would help
20:52:01 <MikeRiley> yeah,,,same here,,,huge enviornment...
20:52:21 <AnMaster> well I never seen a modern linux system without a huge environment...
20:52:49 <AnMaster> just 13 variables on my FreeBSD server
20:52:53 <MikeRiley> never played with FreeBSD,,,,been hooked on linux too long!!! eheheheheeheh
20:53:20 <AnMaster> ROOTPATH=/usr/kde/3.5/sbin:/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/games/bin:/usr/share/omniORB/bin/scripts:/opt/vmware/server/bin
20:53:28 <AnMaster> LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=
20:53:28 <AnMaster> 01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01
20:54:02 <Deewiant> then paste that, not uninteresting snippets of your environment variables :-P
20:54:18 <Deewiant> heh, over twice that of Windows
20:54:23 <Deewiant> and they say Windows is bloated ;-)
20:54:37 <AnMaster> mind you the latter is a root shell
20:54:42 <Deewiant> AnMaster: I pasted mine above...
20:55:11 <AnMaster> but blame my .bashrc for some of that
20:55:35 <MikeRiley> wc shows 3525 for my environment...
20:58:27 <fizzie> 1735 in my Debian here.
20:59:17 <fizzie> 2553 on the SuSE workstations at work.
20:59:27 <MikeRiley> in the TOYS test,,,i get some extra characters at begining of a line:
20:59:29 <MikeRiley> @+#GOOD: 1J moves itself south one row
20:59:47 <Deewiant> guess somethings not as GOOD as Mycology thinks ;-)
21:01:12 -!- oerjan has quit ("Walk").
21:01:13 <MikeRiley> hmmmmm wonder if the G code is strange...
21:02:43 <AnMaster> MikeRiley, probably something wrong on the stack
21:03:01 <MikeRiley> some of those TOYS commands are pretty foggy on how some of those commands are supposed to work...
21:03:15 <AnMaster> yes, like the butterfly operator
21:03:22 <Deewiant> a lot like RC/Funge-98's fingerprints ;-)
21:03:39 <AnMaster> MikeRiley, and for TOYS I just reverse engineered the CCBI source
21:03:50 <AnMaster> did that for a few other vague fingerprints
21:04:04 <AnMaster> Deewiant, no I did it for the vague stuff, like TOYS and TURT
21:04:12 <MikeRiley> spec mentions j,,,,,but not where it comes from...
21:04:15 <Deewiant> doesn't make you any less lazy :-P
21:04:16 -!- RedDak has joined.
21:04:32 <MikeRiley> i figured out what the butterfly operator is supposed to do...
21:04:33 <AnMaster> Deewiant, for TOYS it was the only realistic approach at least
21:04:34 <Deewiant> MikeRiley: yeah, there are a few possible takes on that
21:04:51 <Deewiant> MikeRiley: but there was another command which takes j
21:04:55 <Deewiant> where it was said where it comes from
21:05:04 <Deewiant> and it's probably reasonable to just go with that...
21:05:12 <AnMaster> Deewiant, anyway didn't you simply say you reverse engineered the RC/Funge one above? :P
21:05:21 <AnMaster> at least CCBI's source is very readable
21:05:36 <AnMaster> <Deewiant> a lot like RC/Funge-98's fingerprints ;-)
21:05:53 <Deewiant> AnMaster: in response to 2008-07-25 23:03:01 ( MikeRiley) some of those TOYS commands are pretty foggy on how some of those commands are supposed to work...
21:05:57 <MikeRiley> there is F and G,,,,both mention using j,,,,but not where it comes from...
21:06:42 <MikeRiley> spec says: G ('counterclockwise') pops a vector, then a value /i/. It then pushes
21:06:42 <MikeRiley> onto the stack /j/ groups of /i/ cells each which it retrieves as a 2D
21:06:42 <MikeRiley> matrix in Funge-space in row-major order, the least point of which being
21:06:58 <MikeRiley> does not mention where j comes from...
21:07:30 <Deewiant> I think I just checked what !Befunge did, and it took it from the top of the stack
21:07:37 <MikeRiley> G takes a 2d array from fungespace and puts it on the stack,,,
21:07:37 <AnMaster> // j's location not in spec...
21:07:54 <MikeRiley> so you are popping j first in both cases????
21:08:17 <AnMaster> MikeRiley, well there was a reason I reverse engineered CCBI for TOYS
21:08:26 <MikeRiley> ok,,,,i have it reversed,,,let me try changing it...
21:08:44 <MikeRiley> TOYS was incomplete in Rc/Funge-98....finishing it now!!! eheheheheeheheheh
21:08:47 <AnMaster> MikeRiley, oh btw your FRTH assumes the implementer knows Forth, I had to google for wtf "forth roll" was :P
21:09:24 <AnMaster> Deewiant, you should test MODE in combination with FRTH
21:09:32 <MikeRiley> @+#GOOD: 1J moves itself south one row
21:09:41 <Deewiant> no, I very much do not wish to test combinations of fingerprints
21:09:50 <Deewiant> because there are too many possible combinations
21:09:56 <MikeRiley> yeah,,,i should document that one better!!!! just like so many others huh????? eheheheheheheheheeh
21:10:00 <ihope> I suddenly want to write a concurrency monad in Haskell.
21:10:11 <AnMaster> Deewiant, well you have a comment in your FRTH about how it interacts with MODE
21:10:44 <AnMaster> Deewiant, you said "top of stack even when using MODE"
21:10:51 <Deewiant> and just because I have a comment there doesn't mean I shouldn't have a comment everywhere else ;-P
21:11:19 <MikeRiley> MODE was kinda fun to implement...
21:11:33 <AnMaster> MikeRiley, doesn't it need working at the bottom end of the stack?
21:11:54 <AnMaster> unless you do something crazy like allocate it in the middle of a heap block
21:13:15 <MikeRiley> yes it does work on the bottom end of the stack,,,and yes it can be a big performance hit...
21:14:22 <AnMaster> MikeRiley, FRTH can be a pretty big performance hit too
21:15:51 <MikeRiley> if rolling deep into a deep stack it could be...
21:15:57 <AnMaster> MikeRiley, try roll of bottom entry after HRTI ;P
21:16:10 <MikeRiley> like from the bottom of ff*ky!!! eheheheheheeheh
21:17:04 <psygnisfive> its the kind of pain that makes you breath in short bursts that you hold in
21:18:56 <AnMaster> psygnisfive, don't do that then?
21:27:43 <AnMaster> MikeRiley, btw cfunge grows it stack dynamically but it never shrinks it
21:27:54 <AnMaster> psygnisfive, um... by standing tall?
21:28:21 <MikeRiley> i will alloy my dynamic stack to grow and shrink,,,shrinking will be on the same chunk boundary....
21:29:56 <AnMaster> assuming 32-bit Funge and x86 this mean four memory pages at a time I think
21:30:40 <MikeRiley> well,,,,i want rid of mycology's 500,000 item stack!!! ehehehehehehe
21:31:09 <AnMaster> MikeRiley, it is simple to fix
21:31:24 <AnMaster> env -i TERM=$TERM ./funge blah blah
21:31:39 <MikeRiley> yeah,,,could alter my start script i guess...
21:31:42 <AnMaster> but that means almost clean environment
21:31:51 -!- KingOfKarlsruhe has joined.
21:32:10 <AnMaster> MikeRiley, you probably want PATH too, if you want to locate perl
21:32:17 <AnMaster> or do you assume /usr/bin/perl?
21:32:27 <AnMaster> on FreeBSD it is /usr/local/bin/perl
21:33:13 <AnMaster> MikeRiley, anyway mycology doesn't like an empty environment
21:33:15 -!- pikhq has left (?).
21:33:21 <AnMaster> it is a bug Deewiant haven't fixed yet
21:33:46 <Deewiant> there is literally nothing I can do about it
21:33:50 <AnMaster> That the command-line arguments were: [ "mycology/mycology.b98" null ]
21:33:50 <AnMaster> That the environment variables are:
21:33:59 <Deewiant> because the spec says that they come in a row
21:34:06 <Deewiant> so then you get like 4 zeroes in a row or whatever
21:34:12 <Deewiant> how do you know where args end and env starts
21:34:41 <AnMaster> Deewiant, well you know 2 zeros in a row mark the end of the arguments
21:34:50 <AnMaster> so just end that after two zero
21:35:03 <AnMaster> then you take care of the next two zero in the environment outputting code
21:35:07 <Deewiant> AnMaster: but 3 zeroes in a row mean an empty argument and the end of the arguments
21:35:08 -!- Corun has quit ("This computer has gone to sleep").
21:35:25 <AnMaster> Deewiant, so check for 4 then?
21:35:46 <Deewiant> AnMaster: two empty arguments and the end
21:36:03 <AnMaster> ./cfunge -SF mycology/mycology.b98 "" "" ""
21:36:19 <AnMaster> Deewiant, do you think Funge-108 should fix this in some way?
21:36:27 <AnMaster> and do you have a suggestion how?
21:36:31 <Deewiant> well, I think zero-terminated strings are crap in general :-P
21:36:41 <MikeRiley> maybe push a count of the arguments....
21:36:42 <AnMaster> Deewiant, well they are easier to write in Funge
21:36:43 <Deewiant> and in this case, having zero-terminated arrays containing zero-terminated strings.......
21:36:50 <MikeRiley> instead of relying on the double null...
21:36:54 <Deewiant> AnMaster: not if we had a reasonable k :-P
21:37:10 <AnMaster> Deewiant, would you prefer something like:
21:38:01 <Deewiant> oh noes, Befunge is hard to use for string manipulation!!
21:38:31 <MikeRiley> almost done with the TOYS module now....
21:39:11 <MikeRiley> that is whay i defined STRN!!! so that strings would be easier to deal with...
21:39:23 <Deewiant> AnMaster: yeah, but STRN has a strlen
21:39:47 <AnMaster> Deewiant, well but becomes a pain if you are trying to load other fingerprints too
21:40:09 <AnMaster> of course you could unload parts of STRN
21:40:43 <AnMaster> Deewiant, If we keep it hard, how can we aim for it becoming the defacto standard in enterprise solutions!?
21:41:31 <AnMaster> MikeRiley, no, it breaks standard ;P
21:42:09 <MikeRiley> should T in TOYS reflect on a bad dimension???
21:42:37 <AnMaster> TOYS is so vague it is hard to say what it should
21:42:54 <MikeRiley> ok,,,,if yours does,,,will have mine do that as welll...
21:43:02 <AnMaster> but I think the defacto way of reporting errors in Funge is reflecting
21:43:13 <AnMaster> switch (StackPop(ip->stack)) {
21:43:13 <AnMaster> case 0: IfEastWest(ip); break;
21:43:13 <AnMaster> case 1: IfNorthSouth(ip); break;
21:43:13 <AnMaster> default: ipReverse(ip); break;
21:43:30 <AnMaster> as cfunge doesn't do anything but two dimensions
21:44:50 <AnMaster> anyone got a C compiler to befunge?
21:45:02 <MikeRiley> looks good,,,but i do need to add the case 2,,,since Rc/Funge does support 3 dimensions...
21:45:23 <tusho> MikeRiley: why not N dimensions?
21:45:45 <AnMaster> tusho, that is hard because you need to select at execution time
21:46:32 <AnMaster> I have some idea for a "n-dimensional on demand" fungeoid
21:47:06 <MikeRiley> may just make it n-dimensional....in some later version...
21:47:42 <MikeRiley> no different than a 4-dimension array,,,so certainly possible....just need a new command to move between dimensions beyond 3....
21:49:42 <MikeRiley> yes,,,x will certainly allow for that...
21:50:02 <AnMaster> not very userfriendly for 105 dimensions though
21:50:51 <AnMaster> 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001x
21:51:05 <AnMaster> and then imagine writing that across some other dimension
21:51:18 <AnMaster> as in "not any of the standard 2D"
21:51:27 <AnMaster> MikeRiley, there is one problem however with that
21:51:46 <AnMaster> what to use for the next 115 dimensions?
21:51:56 <AnMaster> MikeRiley, give me a good answer to that please
21:53:09 <MikeRiley> maybe use another control character,,,,followed by a byte for the dimension???
21:54:25 <AnMaster> MikeRiley, anyway would changing dimension n reset all lower dimensions?
21:55:26 <MikeRiley> just like putting lf into the file resets x and y in trefunge...
21:57:13 <MikeRiley> two BADs to go and TOYS will be all done...
21:58:23 <AnMaster> MikeRiley, in what parts of TOYS?
22:09:15 -!- tusho has quit ("And then-").
22:09:34 -!- tusho has joined.
22:11:47 -!- Corun has joined.
22:13:19 <tusho> You're all in serifed fonts.
22:15:35 * Corun gets out the anti-serif barrier
22:16:34 <tusho> Corun: I think you mean the "sans barrier".
22:16:43 <tusho> Alas, it is to no avail.
22:16:48 <tusho> My serifs will defeat you immediately.
22:17:00 <Corun> Can your serifs... _swim_?
22:17:10 <tusho> Swim? Pah! My serifs can /fly/.
22:17:20 <tusho> And they evaporate ink *just like that*.
22:17:34 <Corun> Surrounded by a sphere of "sans serif" ink
22:18:19 <tusho> Corun: Bring what? My serifs are already behind you...
22:18:35 * tusho watches as serifs rip away Corun's flesh until there is no more.
22:18:36 <Corun> Because I'm behind me
22:18:44 <tusho> Oh cute, they're nibbling at your bones.
22:18:47 <tusho> Who's the cute skeleton? Aww.
22:18:48 <Corun> Which means that they're behind behind me
22:18:55 <tusho> Shut up. You're dead.
22:19:02 <Corun> Which means they're behind behind behind me, so they must not exist
22:19:12 <tusho> I can cheat all I want.
22:19:16 <tusho> Because I have serifs.
22:19:20 <Corun> Then I can speak when dead :-P
22:19:31 <tusho> Do you have serifs? NO.
22:19:47 <Corun> I might just keep a few
22:19:51 <Corun> For just such an occasion
22:19:58 <tusho> Because you have anti-serifs.
22:20:06 <tusho> If they saw them - which they would - they would dispose of you.
22:20:14 <Corun> Yeah but I keep them well seperated
22:20:20 <tusho> They are omnipotent.
22:20:21 <Corun> Otherwise they'd cancel out
22:20:24 <Corun> And release energy ;-)
22:20:55 <tusho> They'd just kill you.
22:21:18 <Corun> They also kill you
22:21:42 <Corun> The ones I know hate you
22:21:49 <tusho> You are imagining them.
22:22:10 <Corun> I guess you win then
22:22:31 <tusho> How the cocky have fallen.
22:23:40 * tusho gives reviving potion
22:36:50 -!- MikeRiley has quit ("Leaving").
23:17:55 <tusho> http://antitrust.slated.org/www.iowaconsumercase.org/011607/3000/PX03020.pdf fun
23:18:54 <tusho> thank you ichverstehe
23:19:00 <tusho> 'Once upon a time it suddenly decided to flip backwards, and there went Time'
23:23:38 -!- bwr has left (?).
23:27:23 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
23:50:02 -!- pikhq has joined.
00:05:01 -!- KingOfKarlsruhe has quit (Remote closed the connection).
00:34:57 -!- tusho has quit.
00:40:32 -!- RedDak has quit (Remote closed the connection).
00:59:17 -!- psygnisf_ has joined.
00:59:17 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
01:01:21 -!- psygnisf_ has changed nick to psygnisfive.
01:03:22 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
02:37:26 -!- olsner has joined.
02:37:41 -!- CakeProphet has joined.
02:59:42 -!- olsner has quit ("Leaving").
03:13:26 <ihope> It seems that right now, compression is about trying to compress as much data as possible into as small a space as possible, and then decompression is achieved just by running the result or something.
03:14:26 <ihope> It'd be interesting to look at that from the other direction: compress something into a reasonable space using an obvious method, then work really hard to decompress it.
03:14:33 <pikhq> Compression is the act of taking a low-entropy source of data and transforming it into a high-entropy source of data in a reversible manner while reducing it in size. :p
03:17:12 <psygnisfive> what if we created a programming language where the language primitives are things that normally require complicated code in other languages, things that would be large composite entities
03:18:04 <psygnisfive> not that this is a good example but, maps are generally composite, formed by defining some map function, but what would it look like to have a language where map was a primitive operation
03:18:04 <ihope> Imagine putting every other line of "To Kill a Mockingbird" through a low-security hash function of sorts (CRC?), so that there's only one reasonable string that produces that output.
03:18:40 <ihope> psygnisfive: map as in map (+1) [2,3,5] = [3,4,6]?
03:18:50 <pikhq> psygnisfive: That's a terrible example.
03:19:03 <pikhq> Because functional languages *have* map as a primitive.
03:19:15 <ihope> You have one primitive: RSA encryption.
03:19:19 <psygnisfive> well but not really. i mean, in haskell, map is not a primitive, for instance
03:19:33 <ihope> What's the definition of "primitive"?
03:19:37 <psygnisfive> maybe in APL or some other languages perhaps
03:19:48 <psygnisfive> primitive as in the building blocks of the rest of the language
03:20:03 <psygnisfive> in old school lisp, for instance, the primitive operations were like
03:20:36 <ihope> I guess Haskell's primitives are pattern matching, lambdas, application, and Lots Of Other Stuff.
03:20:45 <psygnisfive> everything was built out of those primitives
03:21:19 <pikhq> I suggest the brainfuck interpreter as a primitve. :p
03:23:12 <ihope> I guess Malbolge is famous for being kind of like that.
03:23:21 <ihope> That's kind of the goal of esoteric programming, really. :-)
03:24:27 <psygnisfive> what, having a BF interpreter as a primitive operation? :P
03:25:29 <ihope> No, coming up with a language that uses insanely complex primitives to accomplish something relatively simple.
03:26:01 <pikhq> We do not implement standard arithmetic operators.
03:26:12 <pikhq> *Instead*, we only operate on matrixes.
03:26:24 <ihope> We implement ONLY standard arithmetic operators, and computation is done via rounding error.
03:26:47 <psygnisfive> array programming languages have array operations as primitives, right
03:27:06 <psygnisfive> so that if youre coding something that does a lot of array operations, its intuitive to code it in an array programming language
03:27:21 <ihope> I'm sure the IEEE standard floaty things are a rich computational environment...
03:28:01 <psygnisfive> but what is the extreme of that? what would it look like if we decided that an array programming language is too low level or something
03:28:23 <psygnisfive> what if Language X is to an array programming language what an array programming language is to an assembly language
03:29:48 <pikhq> Problem: nobody speaks of an 'array programming language'.
03:29:59 <pikhq> No more than someone speaks of an 'if programming language'.
03:30:24 <pikhq> Either it has arrays as primitives or they're trivial to implement.
03:30:39 <pikhq> ... Or it's called Malbolge.
03:32:13 <psygnisfive> pikhq: http://en.wikipedia.org/wiki/Array_programming
03:33:25 <pikhq> I was, obviously, thinking of something completely different.
03:33:38 <pikhq> Sorry; I tend to think of those as vector operations.
03:33:43 <pikhq> Not array operations.
03:33:57 <psygnisfive> omg omg omg hey so i make my own tee-shirts
03:35:16 <pikhq> Amusingly, GNU C, courtesy of its attempts to support SSE and such well, is getting a bastardised set of array operations. :p
03:35:43 <psygnisfive> also, on a semi-related note, data-oriented programming is sexy
03:36:26 <pikhq> On an unrelated note, EBIL!!!-oriented programmig is sexy...
03:36:32 <pikhq> In a BDSM sort of way.
03:37:04 -!- ihope has quit (Read error: 104 (Connection reset by peer)).
03:38:17 <pikhq> You know, ones that require n-dimensional thought.
03:43:30 -!- ihope has joined.
03:43:32 <ihope> Firefox got a migraine.
03:45:36 <ihope> I don't know, but soon after the backwards typing it froze up and I had to restart it.
03:46:07 * ihope whistles innocently
03:46:29 <pikhq> There is no browser, there is only XUL.
03:47:22 <ihope> Using sed | nc | sed would be fun.
03:50:02 <pikhq> Stick some of the more odd Hello, World examples on there.
03:52:30 <psygnisfive> noo it has to be interesting not just a shitty tee-shirt
03:52:43 <psygnisfive> most of the tee-shirts im designing for the linguistics club at school are horrible puns
03:53:06 <pikhq> Might I recommend a Fugue program?
03:53:25 <psygnisfive> 3-inch-white thumbtacks (the flat disc-like ones), 7 of them, each with one of the 7 deadly sins written on it
03:55:29 <pikhq> How would you feel about sticking Var'aq on a shirt?
03:57:23 <pikhq> It's a programming language.
03:57:29 <pikhq> All the keywords are in Klingon.
03:57:44 <pikhq> It's twice-esoteric.
03:57:59 <pikhq> Oh, you want *funny*?
03:58:41 <pikhq> "Esoteric languages: because the levels of hell deserve it."
04:01:45 <pikhq> "Brainfuck? I hardly even know you!"]
04:03:27 <psygnisfive> im thinking a haskell one that mocks IO as being a useless complication. :T
04:04:49 <ihope> I wish Python had callCC.
04:05:20 <ihope> And handled it nicely, as there are many ways to handle it...
04:05:24 <pikhq> BTW, I'd just like to announce:
04:05:34 <pikhq> Sweetness; PEBBLE is in DMOZ.
04:13:00 <pikhq> Hrm. How many people here have websites in Dmoz?
04:13:06 <pikhq> psygnisfive: What?
04:14:24 * ihope frowns, as a binary tree is not made up of bits
04:14:59 * ihope frowns, as he's lame
04:15:18 <pikhq> God dammit; now I want to actually work more on my PEBBLE game engine.
04:17:41 * ihope frowns, as it's a pun
04:17:55 <ihope> I mean, a and b = not (not a or not b).
04:18:36 <ihope> So take the complement of each regular expression, alternate them, and take the complement of that, and see whether it's empty or not.
04:21:24 <ihope> And the valid characters in hostnames are letters, numbers, hyphen and dot. Yay.
04:21:53 <psygnisfive> wait, whats the complement of a regular expression??
04:26:59 <ihope> The regular expression that matches everything that one doesn't.
04:27:50 <ihope> The complement of /red/ is /|[^r].*|r[^e].*|re[^d].*|red..*/, I believe.
04:28:07 <ihope> And taking complements is really annoying. :-)
04:28:33 <ihope> Better to just have a complement operator, maybe.
04:30:53 <ihope> What's wrong with mine?
04:40:59 <pikhq> I propose a new feature for Perl regexps. ^{{: regexp :}}
04:41:04 <pikhq> Complement of regexp.
04:41:13 <pikhq> (please say they don't already use that)
04:41:57 <psygnisfive> just have a function that returns an object that behaves exactly like a regexp
04:43:32 <ihope> My goal here is to see if two regexes overlap, and to see if one is a subset of another.
04:43:34 <psygnisfive> then this: test( complement_of_expression, string )
04:43:42 <pikhq> ihope: I hate you.
04:43:48 <pikhq> And all regexp fans.
04:44:09 <psygnisfive> so your test function could just look at the first arg to see if its a complement or not
04:44:18 <ihope> There is no alternative. Wait, there is: wildcards.
04:45:53 <pikhq> Yes, there is an alternative.
04:46:47 <pikhq> With enough if statements, you can do just the same thing as the regexp. . . Of course, by the time that you have done so, you will be stark raving mad.
04:47:44 <ihope> Do this with if statements: ihope/.*
04:47:57 <ihope> I guess "if it begins with ihope/".
04:48:28 * ihope begins conjuring up an appropriate regex to hit pikhq with
04:49:17 -!- Corun has quit ("This computer has gone to sleep").
04:52:45 <pikhq> I don't want to be stark raving mad, however.
04:52:54 <pikhq> And it was a gigantic fucking joke.
04:53:06 <pikhq> Yet oddly true. Yay, Turing.
04:54:53 <pikhq> It's midnight; I don't have to make sense.
04:56:11 <ihope> Your regex is almost ready.
04:56:20 <pikhq> And I ain't touching it.
04:58:30 <ihope> /Gr((er?)*e(n(R(er?)*en)*R(er?)*e(a(p(er?)*e|n(R(er?)*en)*R(er?)*ea|a)p(er?)*e(n(R(er?)*en)*R(er?)*er|r)|r)|a(p(er?)*e|n(R(er?)*en)*R(er?)*ea|a)p(er?)*e(n(R(er?)*en)*R(er?)*er|r)|r))?/
05:03:52 <pikhq> If I were in a looney bin.
05:07:17 -!- pikhq has quit ("leaving").
06:23:59 -!- Sgeo has quit ("Ex-Chat").
06:28:58 <psygnisfive> we should design a language where the primitive operations are operations that inherently are parallel
07:20:26 -!- dbc has quit (Client Quit).
07:23:40 -!- dbc has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:46 <psygnisfive> idea for complement-regexps: forget expressing the complement using another regexp
08:00:58 <psygnisfive> just build the automata for the positive expression
08:01:38 <psygnisfive> that way the positive and the negative are clearly related
08:02:00 <psygnisfive> and you wouldnt need a special method of figuring out the complement automata
08:15:46 <fizzie> /|[^r].*|r[^e].*|re[^d].*|red..*/ cannot be a complement of /red/, because (using the usual "matches anywhere" semantics, not the "endpoints are tied to the ends of the string" ones) both match "redx". For the latter type of matching it might work.
08:19:07 <fizzie> As for Perl, usually you just use !/.../ to complement regexps, or maybe the zero-width negative lookahead (?!...) thing if it's inside a larger regex.
08:21:36 <psygnisfive> yes, obviously what he meant was that /^$|^[^r].*$|^r[^e].*$|^re[^d].*$|^red..*$/ is the complement to /^red$/
08:22:17 <fizzie> If you just flip the accept/reject states, your complemented regexps end up having an undefined "which part of the string matched" property. Not that the "which part matched" result given by an explicitly complemented expression would be very useful, either.
08:22:49 <psygnisfive> well i wasnt assuming that thered be some response other than booleans
08:23:06 <psygnisfive> so there'd be no relevance to "which part matched"
08:23:46 <psygnisfive> obviously any non-zero pattern will have atleast one part of a string matching its complement
08:24:02 <psygnisfive> given that its complement includes the zero string, and thus theres atleast one zero-string match in any string
08:24:33 <psygnisfive> so i dont think the "which part matches" is relevant, since most complements will always match the zero string on all inputs
08:24:59 <psygnisfive> the idea i think was the match whole strings, from beginning to end
08:25:16 <fizzie> Yes, it certainly sounds a lot more useful.
09:08:42 -!- RedDak has joined.
09:11:56 -!- olsner has joined.
09:16:35 <AnMaster> BAD: the top of the stack after y isn't equal to what 1y pushes
09:16:55 <AnMaster> Deewiant, while I know mycology doesn't do Funge-108, I still don't see how that error can happen
09:25:38 <AnMaster> " This means any isolated argument can be a null string, but no two consecutive arguments may be null strings - a rather contrived scenario, null string arguments being rare in themselves.
09:25:38 <AnMaster> The first string is the name of the Funge source program being run."
09:25:44 <AnMaster> that is from Funge-98 Deewiant ^
09:25:55 <AnMaster> which means you can be sure to not have two of them in a row
09:41:50 <Deewiant> AnMaster: yeah, but still: foo 0 0 0 <- the 0gnirts "foo" followed by an empty string, or the 0gnirts "foo" followed by the end of the environment variables
09:45:02 -!- dbc has quit (Remote closed the connection).
09:45:22 -!- dbc has joined.
09:48:07 <AnMaster> 3 in a row == null + end of args
09:48:25 <AnMaster> 4 in a row == end of args, end of env
09:48:41 <AnMaster> Deewiant, anyway 108 will have lengths in it
09:58:18 <Deewiant> AnMaster: foo 0 0 0 0 <- "foo", end of args, end of env or "foo", null, end of args
09:58:52 <Deewiant> foo 0 0 0 0 0 <- "foo", end of args, null envvar, end of env or "foo", null, end of args, end of env
09:59:45 <AnMaster> that can't be "foo", null, end of args
09:59:58 <AnMaster> because that would be "foo" 0 0 0
10:00:23 <AnMaster> Deewiant, and null env isn't valid afaik
10:00:32 <AnMaster> because the format is NAME=VALUE
10:00:44 <AnMaster> null env variable just isn't valid
10:01:06 <Deewiant> AnMaster: args are terminated by double null
10:01:16 <Deewiant> "foo", null is two zeroes, end of args makes it four
10:01:24 <Deewiant> env is terminated by a single null
10:01:59 <Deewiant> AnMaster: and the format is NAME=VALUE followed by null, so if there's no name or value it could theoretically be null
10:01:59 <AnMaster> a series of strings, each terminated by a null, the series terminated by an additional null, containing the environment variables. (env)
10:02:11 <AnMaster> that will be double null at the end
10:02:21 <AnMaster> "a series of sequences of characters (strings), each terminated by a null, the series terminated by an additional double null, "
10:02:55 <Deewiant> in any case, it's either a) damn hard to parse it always correctly or b) impossible
10:03:14 <Deewiant> so unless you can write Befunge code that handles all cases correctly, I'm not going to bother
10:03:51 <AnMaster> so working on fixing ccbi and mycology? :)
10:04:03 <Deewiant> no, but I'm working on working on it ;-)
10:04:15 <Deewiant> everything in mycology is correct except for the 3k4?
10:04:27 <AnMaster> Deewiant, you use k in some other places
10:04:44 <Deewiant> s/everything/every place where k is checked/
10:04:58 <AnMaster> BAD: 0y pushes wrong stack stack size
10:05:22 <AnMaster> Deewiant, also I suspect BAD: "a b" takes more than 5 ticks
10:05:25 <Deewiant> but all the k tests that currently show GOOD for CCBI, except for 3k4, are correct
10:05:39 <AnMaster> Deewiant, um that makes no sense?
10:05:59 <AnMaster> Deewiant, with CCBI style k everything says GOOD in my version of mycology (from last week)
10:06:12 <AnMaster> BAD: 3k4 leaves more than 3 fours on stack
10:06:13 <Deewiant> AnMaster: !!!!! get what I'm saying, will ya
10:06:17 <Deewiant> GOOD: ak47k$ leaves 3 fours on stack
10:06:19 <AnMaster> BAD: "a b" takes more than 5 ticks
10:06:20 <Deewiant> GOOD: 3k4 leaves 3 fours on stack
10:06:22 <AnMaster> BAD: 0y pushes wrong stack stack size
10:06:28 <Deewiant> with the exception of the last
10:06:37 <AnMaster> Deewiant, um.... good question
10:06:46 <AnMaster> that one should be wrong I guess?
10:07:01 <Deewiant> so it does 11 pushes and 8pops
10:07:15 <Deewiant> that's why I added the 3k4 test originally :-P
10:07:45 <Deewiant> what's cfunge's opinion on that
10:07:58 <AnMaster> Deewiant, cfunge for some reason gets a GOOD from that
10:08:01 <Deewiant> I guess Mike would have complained if it were wrong
10:08:03 <AnMaster> but I'm not sure that is correct
10:08:20 <Deewiant> and actually yeah, I think he reasoned about it in his mail to me
10:08:20 <AnMaster> BAD: "a b" takes more than 5 ticks
10:08:33 <AnMaster> you get desynced before there I bet
10:09:11 <AnMaster> Deewiant, because I get the right value when having CCBI k
10:16:08 <Deewiant> well, you could blame it on the tides of the moon if you wanted to :-P
10:16:41 <AnMaster> Deewiant, well I debugged the code in question and it only happens if I change the k
10:16:47 <AnMaster> so I assume it must be related to k right?
10:16:58 <Deewiant> of course, goes without saying?
10:17:18 <AnMaster> could be a hidden bug before, but I don't think so
10:17:34 <AnMaster> due to it checking k just before
10:19:25 <AnMaster> Deewiant, you have a bug on line 91 too
10:19:55 <AnMaster> a"sehsup y1 tahw ot lauqe t'nsi y retfa kcats eht fo pot eht :DAB"88*k,@
10:20:09 <Deewiant> yeah, and the reason those are generally used is because there's no room for >:#,_...
10:20:21 <AnMaster> Deewiant, you just need to adjust them by one
10:20:31 <AnMaster> on line 113 you got another one:
10:20:32 <Deewiant> yeah, so add "1-" there which takes two cells
10:21:13 <AnMaster> there is two sapces on line 113
10:21:23 <Deewiant> well that's an addition anyway
10:21:45 <AnMaster> Deewiant, well I just point them out, you need to fix every k really :P
10:21:56 <Deewiant> yeah yeah, thanks for the info
10:22:05 <Deewiant> there's bound to be a few incorrect outputs left with the BADs anyway :-P
10:22:10 <Deewiant> not like I'm going to test them all
10:28:31 <AnMaster> Will continue to produce textual output, so strings must work correctly where concurrency is concerned: "a b" should take 5 ticks, 'a should take 1.
10:28:34 <AnMaster> BAD: "a b" takes more than 5 ticks
10:28:50 <AnMaster> how many spaces are you talking about?
10:29:01 <AnMaster> they differ between the two texts
10:29:20 <Deewiant> because the first says that the code assumes that one space works correctly
10:29:28 <Deewiant> whereas the second is testing that two spaces work correctly
10:31:34 <AnMaster> Deewiant, the two space could actually be a bug in cfunge, but then why did it work with the different k?
10:35:57 -!- tusho has joined.
11:10:05 <tusho> Ooh, there's another feature I can add to botte.
11:10:20 <tusho> An #esoteric link log. You can just add a link to it in IRC with a simple botte command.
11:10:53 <tusho> AnMaster: ESO's (ostensibly, but really I'm the one doing it) bot for #esoteric
11:11:15 <AnMaster> tusho, you forgot to join #eso btw
11:11:38 <AnMaster> tusho, well he wasn't here yesterday was he?
11:11:40 <tusho> anyway, botte (in the future will:) - does logs with awesome search - has useful interwebby stuff like a google/wikipedia lookup - and now this link log thing
11:12:01 <tusho> AnMaster: He was doing stuff maybe?
11:13:37 <tusho> oh wow, ellio.tt is available XD
11:13:50 <tusho> i'm not lame enough, though
11:36:48 -!- ais523 has joined.
11:37:30 <tusho> ais523: so are you.
11:37:45 <ais523> well, I walked 5 miles to get to an internet connection this morning
11:37:48 <ais523> normally I take the bus
11:37:54 <tusho> ais523: uphill both ways?
11:38:01 <ais523> tusho: no, it's mostly on the flat
11:38:59 <ais523> I've been having problems with sleep rhythm
11:39:15 <ais523> mostly I've been awake all night and asleep all day
11:39:31 <ais523> so at 6am I tried to think of a method of transport sufficiently slow that this place would have opened by the time I reached it
11:40:08 <ais523> and at 7:20 I set off, arriving about 9:05
11:40:47 <ais523> unfortunately I forgot it was Saturday
11:40:58 <ais523> so I spent a couple of hours sitting on a bench outside my department
11:41:03 <ais523> using the wifi through the walls
11:43:42 -!- olsner_ has joined.
11:45:08 -!- oklopol has joined.
11:52:31 <ais523> oh and btw the door to my department is still broken, that's why I couldn't just use that
11:53:47 <tusho> ais523: on another note, I've almost got a qdb up
11:53:55 <ais523> what does the 'almost' mean here?
11:54:01 <tusho> it's almost written
11:54:17 <tusho> I believe this is called "getting off one's lazy buttocks and writing code".
11:54:27 <tusho> but yeah, it's not far off completion
11:54:46 <ais523> in my experience that could be anywhere from (you thought of a name for it) to the (design's there in your head) to (I've written some code but it doesn't work) to (the code is perfect but I can't put it online without a good advertising slogan)
11:55:03 <tusho> (I've written part of the code and am writing more)
11:55:58 <ais523> I had an idea of how to write a Grand Unified Repo Viewer, by the way
11:56:05 <ais523> that works the same way as darcs2git.py
11:56:17 <tusho> i've explained why that doesn't really work :)
11:56:21 <ais523> basically, there's a protocol which all versioning systems use
11:56:28 <tusho> my way of a plugin that controls what to call things and how to present information is more flexible
11:56:34 <tusho> because it'll work with any vcs, no matter how weird
11:56:37 <ais523> tusho: not by converting the repos
11:56:38 <tusho> it could work with mediawiki!
11:56:42 <tusho> ais523: yes, I know what you mean
11:56:52 <ais523> I mean, I looked at darcs2git's source and wanted to write the repo viewer the same way
11:57:10 <ais523> it's because all versioning systems are capable of giving you a snapshot of any version, direct in your filesystem
11:57:18 <ais523> so you just tell it to give you that snapshot and use that
11:57:26 <tusho> yes, but you can display so much more useful info
11:57:34 <tusho> you can't make it generic
11:57:42 <tusho> a plugin-based architechture basically solves it
11:57:46 <tusho> because it can be anything
11:57:49 <ais523> darcs2git.py simply works by reverting the repo to each revision in turn, and recording it with git
11:58:20 <tusho> set :haml, {:output => :html5, :escape_html => true, :attr_wrapper => '"'}
11:58:27 <tusho> for some reason I can't fathom
11:58:45 <ais523> tusho: given that I still don't know Ruby, I'm unlikely to be able to help
11:58:56 <ais523> I have nothing really against it, just never got round to learning it...
11:59:43 <tusho> ais523: it helps to think of it as a Lisp created larry wall-style, with smalltalk's object system, some tidying up and a little bit of weird stuff
11:59:51 <tusho> instead of, say, similar to python
12:00:45 * ais523 boggles at the concept of Larry Wall creating his own version of Lisp
12:00:55 <tusho> ais523: TOENAIL CLIPPINGS MIXED WITH OATMEAL
12:00:57 <ais523> it would probably be something like HTML shorttags
12:01:09 <tusho> Fun fact: Ruby was initially matzlisp.
12:01:13 <tusho> That's why it has call/cc, really.
12:01:23 <ais523> the parens wouldn't even match half the time due to all the abbreviations
12:06:38 <tusho> ais523: here's a fun bit of evil for you -
12:06:47 <tusho> 'rubygems' is ruby's package manager thing
12:07:06 <tusho> to work it has to change how 'require' works (it doesn't use the regular path for libs, something about wanting to allow multiple gems to be installed)
12:07:18 <tusho> (which is reasonable, ruby libs tend to change drastically between version and other libs need the old one)
12:07:26 <AnMaster> <ais523> basically, there's a protocol which all versioning systems use
12:07:34 <tusho> how can it add a commandline parameter to ruby?
12:07:38 <tusho> -r means 'require'
12:07:48 <tusho> ubygems.rb is just require "rubygems"
12:08:35 <ais523> I was wondering for a moment if it was going to do something like the MySQL ANALYSE/ANALYZE thing
12:09:08 <ais523> Name: 'PROCEDURE ANALYSE'
12:09:26 <ais523> and both of those commands are the only hit for the help
12:09:34 <ais523> they both have to be spelt as given there, or they don't work
12:09:46 <tusho> ais523: do they do the same thing?
12:10:25 <ais523> although they're both to do with optimisation
12:10:38 <AnMaster> ais523, I will get a repo browser up once I can figure how to make loggerhead work with lighttpd
12:10:56 <AnMaster> I can only find instructions for apache
12:11:56 <AnMaster> <tusho> ubygems.rb is just require "rubygems"
12:12:07 <tusho> AnMaster: doesn't hurt anyone, does it :P
12:12:17 <tusho> instead of -rrubygems
12:12:21 <tusho> but it's not like it goes in anyone's code
12:12:25 <tusho> just RUBYOPT=-rubygems
12:12:26 <ais523> that's as bad as libiberty.a
12:12:29 <tusho> or ruby -rubygems script.rb
12:12:38 <ais523> but that sort of trick is arguably not really a problem
12:12:41 <ais523> just interesting creative naming
12:12:43 <tusho> rubygems is so common that you might as well think of it as a built-in thing
12:12:46 <AnMaster> it's like nroff's -man or -mandoc
12:12:48 <tusho> there are libs with no downloads, just gems :P
12:12:54 <tusho> although mostly they're migrating to github
12:12:59 <tusho> which builds gems automatically
12:13:07 <ais523> did you see that text adventure written in cpp that won a prize in the IOCCC once?
12:13:07 <tusho> with a special source, as user-repo
12:13:14 <ais523> you gave commands as command line options to cpp
12:13:14 <AnMaster> <ais523> that's as bad as libiberty.a
12:13:24 <ais523> AnMaster: just the name, so it's -liberty on the command line
12:13:28 <tusho> it's a gnu lib thing
12:13:28 <ais523> AnMaster: I don't know, but it's quite common
12:13:39 <AnMaster> ais523, I seen a libost once, so you had -lost on command line
12:13:48 <tusho> AnMaster: I was gonna make an irc lib in c once
12:13:51 <ais523> the trick was that everything started with D
12:14:05 <ais523> so you would write cpp prog.c -Drink -Daiquiri
12:14:05 -!- oklofok has joined.
12:14:09 <AnMaster> anyway libost is quite funny in Swedish
12:14:16 <ais523> or cpp prog.c -Drop -Dwarf -Down -Drain
12:14:32 <tusho> pronounced 'lib oh ser'
12:14:41 <ais523> hmm... libink.a for a FFI?
12:16:28 <AnMaster> /usr/share/groff/1.19.2/tmac/mandoc.tmac
12:16:28 <AnMaster> /usr/share/groff/1.19.2/tmac/an-old.tmac
12:16:28 <AnMaster> /usr/share/groff/1.19.2/tmac/man.tmac
12:16:28 <AnMaster> /usr/share/groff/1.19.2/tmac/andoc.tmac
12:16:28 <AnMaster> /usr/share/groff/1.19.2/tmac/an.tmac
12:17:09 <tusho> ais523: what were those two unicode arrows without tails you found?
12:17:19 <AnMaster> in fact man, mandoc and an all maps to andoc
12:17:22 <ais523> sorry, I was momentarily taken aback there because mso_ is used as the name mangling prefix for all the broken HTML that Word produces
12:17:27 <ais523> so I have a bit of a bad reaction to it
12:17:41 <ais523> tusho: not sure offhand, but I can find them easily enough I think
12:17:47 <tusho> ais523: thanks, they don't show up on google
12:17:51 <tusho> not in 'arrows' or 'arrows supplement a'
12:17:56 <tusho> thanks, what about the up ones?
12:18:03 <ais523> they're in "Geometric Shapes"
12:18:07 <ais523> because they're triangles not arrows
12:19:08 <ais523> ◢ ◣ ◤ ◥ is the nearest I can get
12:19:16 <ais523> but they're right-angled not equilateral
12:19:32 <tusho> I'll stick with ↑ and ↓ I think
12:19:35 <tusho> looks nicer on the os x buttons
12:19:36 <AnMaster> ais523, eh? I would probably understand that in Swedish, but not in English
12:19:53 <ais523> AnMaster: a right-angled triangle has one angle which is 90 degrees
12:20:01 <ais523> an equilateral angle has all three angles at 60 degrees
12:20:17 <AnMaster> so all edges are equally long too then?
12:20:30 <AnMaster> right then it is liksidig triangel in Swedish
12:20:36 <ais523> equilateral is slightly munged Latin for equal sides
12:20:50 <AnMaster> which means "equalsides triangle"
12:23:46 <ais523> Shove's my idea for a lang which I came up with when trying to merge Befunge and Underload
12:23:51 <ais523> although it isn't really that like either
12:24:00 <ais523> basically, it has a stack of strings
12:24:05 <ais523> and a 2-D playfield of characters
12:24:22 <ais523> there are 10 commands plus NOP, probably eventually I'll do IO too
12:24:28 <ais523> but there are only effectively four different commadns
12:24:43 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
12:25:03 <ais523> actually, only effectively three different commands
12:25:04 -!- oklopol has joined.
12:25:20 <ais523> you have ' and " which do the same thing as in INTERCAL, sort of
12:25:29 <ais523> they're both string delimiters
12:25:37 <ais523> and you can nest a ' string inside a " string and vice versa
12:25:52 -!- oklofok has quit (Connection reset by peer).
12:25:59 <ais523> so writing 'a"b"c'"e'f'g" pushes two strings on the stack
12:26:07 <ais523> as does 'a"b'c'd"e''f'
12:26:20 <ais523> that's like () in Underload or "" in Befunge
12:26:36 <ais523> then there's ^ < v > which do the same thing as in Befunge
12:26:49 <ais523> finally, there are four "shove commands"
12:26:56 <ais523> which I'm having problems thinking up letters for
12:27:08 <ais523> basically, each shove command points to a square
12:27:19 <ais523> four variants, one pointing in each direction
12:27:27 <ais523> and they take a string from the stack and put it in the playfield
12:27:43 <ais523> the first char of the string goes in the location the shove command points to
12:27:56 <ais523> all successive chars of the strings are put in successive locations moving in the same direction as the IP
12:28:07 <ais523> and existing cells aren't deleted, they're just pushed out of the way
12:28:15 <ais523> AnMaster: I think so, I think you can compile Underload minus output into it
12:42:55 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
12:44:59 -!- oklofok has joined.
13:07:53 <Deewiant> oh nice, the cat's-eye diag3.b98 runs "type diag3c.b98 | more" and "cat diag3c.b98 | more" to test = :-D
13:08:38 <ais523> ah yes, 'more' is another command that's the same on DOS-based and POSIX-based shell languages
13:08:54 <ais523> type diag3c.b98 | more would be interesting on POSIX though
13:08:58 -!- lilja has joined.
13:09:07 <ais523> because type does do something, just not the same as DOS does
13:09:17 <Deewiant> and on my windows, I have both type and cat available
13:09:25 <Deewiant> so I don't get the expected output which includes "Bad command or file name" ;-)
13:14:07 <ais523> the same would happen on my Windows computer, if for some unusual reason I was using it at the time
13:14:11 <ais523> maybe to test C-INTERCAL on DOS
13:15:48 <ais523> ugh, Cygwin's installer needs to download packages itself
13:15:58 <ais523> so what if my only Internet-connected computers run Linux?
13:16:13 <ais523> maybe I'll have to run Cygwin under Wine, and copy the directory tree over...
13:19:08 <AnMaster> <ais523> type diag3c.b98 | more would be interesting on POSIX though <-- yes
13:19:21 <AnMaster> sh: type: diag3c.b98: not found
13:19:44 <ais523> AnMaster: well, the file would exist
13:20:30 <ais523> oh, of course, it wouldn't be executable
13:20:34 <ais523> so type would give a not-found
13:21:06 <AnMaster> ais523, and current directory wouldn't be in path
13:21:12 <AnMaster> so it would be not-found still
13:21:48 <ais523> except that . is usually in my path because I do a lot of programming
13:21:55 <ais523> I remove it in circumstances where it causes problems
13:22:03 <AnMaster> ais523, well I do a lot of programming but NEVER put it in my PATH
13:22:15 <tusho> NEVER!! HE NEVER DOES IT!! THE WORLD IS ENDING!!!
13:22:18 <AnMaster> I have no problem typing ./cfunge
13:22:20 <tusho> tone down the caps maybe.
13:22:26 <tusho> not the end of the world
13:22:57 -!- Comtech2 has joined.
13:23:03 <ais523> AnMaster: why not? Does it break your system to have . in your path? Are you worried about security risks?
13:23:42 <AnMaster> I'm not just worried, I'm paranoid
13:23:50 <ais523> ah, that would explain it
13:23:56 <ais523> . in the path isn't insecure if you know what you're doing
13:24:16 <tusho> you just need to put it at the end
13:24:25 <tusho> unless you think someone's going to put a binary called 'sl' in your current dir
13:24:26 <Comtech2> that is what i do, put it at the end
13:24:29 <tusho> and you don't already have an sl alias
13:24:38 <tusho> in which case, you're not paranoid, you're mr. tin foil hat
13:25:18 <tusho> AnMaster: common typo of ls
13:25:25 <ais523> well, there are things like find being insecure with . in teh path
13:25:35 <ais523> tusho: I don't typo sl very often at all
13:25:41 <tusho> ais523: yes, but it is common
13:25:46 <ais523> otoh I often type la by mistake and even more often type l by mistake
13:25:54 <ais523> as in, l return s rather than ls return
13:26:07 <AnMaster> ld is the most common typo of it for me
13:26:17 <ais523> AnMaster: well, ld actually does something
13:26:25 <ais523> I thought la would too but apparently it doesn't
13:26:43 <ais523> load a library, possibly
13:27:01 <ais523> here's an interesting question: why do people use tar rather than ar?
13:27:10 <ais523> ar was invented for the purpose that people use tar for, tar wasn't
13:27:44 <AnMaster> ais523, and that is interesting about tar/ar
13:27:55 <AnMaster> ar: supported targets: elf64-x86-64 elf32-i386 a.out-i386-linux efi-app-ia32 efi-app-x86_64 elf64-little elf64-big elf32-little elf32-big srec symbolsrec tekhex binary ihex
13:28:11 <Comtech2> true,,,tar was originally designed for backing up files to tape....
13:28:20 <ais523> whereas ar just lumps files together
13:28:23 <AnMaster> so what format do you use when you don't want an archive for /usr/lib
13:28:37 <ais523> AnMaster: I use tar because everyone else does
13:29:01 * ais523 thinks installing cygwin under wine is kind-of silly
13:29:04 <ais523> it seems to work, though...
13:29:23 <tusho> ais523: *kind-of*?
13:29:33 <ais523> tusho: well in this case I think I have a reason
13:29:47 <AnMaster> ais523, I seen cygwin under wine under colinux under windows
13:29:57 -!- Comtech2 has left (?).
13:30:01 <ais523> which is that I'm not going to learn the windows networking stack...
13:30:06 <ais523> AnMaster: ok, that is impressive
13:30:09 -!- MikeRiley has joined.
13:30:12 <ais523> colinux isn't under Windows, though, really
13:30:17 <ais523> just the Windows kernel
13:30:25 <AnMaster> ais523, well it is "beside" it
13:30:50 <ais523> what is colinux for, btw?
13:31:23 <AnMaster> since you said under windows kernel
13:31:28 <ais523> but not why someone would want to use it
13:31:45 <AnMaster> ais523, um windows users wanting linux but needing some 3D app under windows for work?
13:31:52 <AnMaster> so they can't run windows emulated
13:31:59 <AnMaster> that is one thing I can think of
13:32:11 <ais523> ok, so it gives you effectively a hot-swappable dual-boot?
13:34:10 <AnMaster> ais523, it lets you run linux apps at decent speed under windows
13:34:22 <ais523> much the same as kqemu does?
13:34:27 <ais523> it works under Windows too apparently
13:34:39 <AnMaster> ais523, in effect better speed than stuff like kqemu
13:34:40 <ais523> but it runs half-speed, one half for windows and one half for linux
13:35:01 <AnMaster> ais523, and I don't think the speed is split statically
13:35:19 <AnMaster> so yes if both are fully loaded you will get half speed of full CPU speed on each
13:35:26 <AnMaster> but without that I think it is dynamic
13:35:35 <ais523> ah, the version I have isn't set up very well, then, it tries to be completely static
13:35:45 <ais523> if you look at its memory usage, for instance, it's always exactly 10%
13:35:56 <AnMaster> ais523, memory... that would indeed be static
13:36:23 <AnMaster> ais523, at least back when I last used colinux it used and xml file for config
13:37:03 <MikeRiley> AnMaster: down to 1 bad in Rc/Funge-98.....and did do something about the fingerprints...
13:37:15 <ais523> MikeRiley: what's the bad?
13:37:33 <MikeRiley> final bad id C in SOCK...for some reason on my system it is not connecting...
13:38:05 <MikeRiley> for the fingerprints,,,,as long as FNGR is not loaded, it will use the spec method for unloads, if FNGR is loaded, then it uses my method...
13:38:36 <AnMaster> MikeRiley, what about the other parts?
13:38:53 <AnMaster> they are separate scripts iirc
13:38:57 <MikeRiley> mycotrds fails,,,,but my TRDS implementation is incomplete...
13:39:05 <ais523> MikeRiley: what about IFFI?
13:39:19 <AnMaster> ais523, IFFI is only sane in C-INTERCAL
13:39:26 <ais523> which does an FFI to INTERCAL
13:39:43 <MikeRiley> not sure i will implement that one....but never know!!!!
13:39:53 <MikeRiley> also added a -h to get the command line arguments...
13:39:54 <AnMaster> MikeRiley, it needs a huge change to mainloop
13:40:05 <AnMaster> basically ais523 replaced the main loop totally
13:40:12 <ais523> it's slightly interesting in that it involves a proprietary instruction in the 128-255 range, and requires the Befunge program to be compiled (although I use a bundle-an-interp method)
13:40:20 <ais523> AnMaster: no, not really, I just put a wrapper around each iteration
13:40:27 <AnMaster> other than that and the IFFI code to set flags that are read in main loop it need no changes
13:40:36 <AnMaster> MikeRiley, also it doesn't work with concurrent funge
13:40:37 <ais523> to run INTERCAL instead of Befunge if it was the INTERCAL code's turn
13:41:20 <AnMaster> MikeRiley, your SOCK doesn't do IPV6
13:41:30 <AnMaster> maybe you should create a SCK6 for ipv6? :)
13:41:54 <AnMaster> MikeRiley, also what about SCKE?
13:42:37 <MikeRiley> darn k problem!!! eheheeheheheheheheh
13:42:44 <AnMaster> Deewiant, I shall watch with glee ;P
13:42:49 <AnMaster> as I think it is your own fault
13:43:13 <MikeRiley> i am surprised somebody actually tried to implement that one actually!!!!
13:43:26 <AnMaster> MikeRiley, heck Deewiant even implemented mini-funge
13:43:40 <AnMaster> not unless there is TRDS coded in mini-funge
13:43:41 <Deewiant> I only tested something really simple
13:43:52 <AnMaster> ais523, fingerprints as funge-code
13:44:00 <AnMaster> ais523, so fingerprints are coded in funge
13:44:09 <ais523> just like C-INTERCAL CREATEs can be coded in INTERCAL
13:44:11 <Deewiant> like dynamic libraries for Befunge
13:44:16 <ais523> also it accepts C and Funge-98, though
13:44:27 <AnMaster> anyway if I implement it, I will implement it the way !Befunge does
13:44:47 <AnMaster> like allowing loading fingerprints inside the ghost IP's funge space
13:45:05 <AnMaster> oh ip quit/create notification
13:45:42 <ais523> AnMaster: do you end up with a stack-stack-stack?
13:45:47 <MikeRiley> i probably will go and add to my mini-funge....but for when i created it,,,,it worked for what i wanted...
13:46:03 <ais523> with a stack of stack-stacks, for the main program and each executing fingerprint?
13:46:19 <AnMaster> stack-stack is copied on entry to the ghost iirc
13:46:36 <ais523> well yes, then you have a new stack-stack
13:46:44 <ais523> and you return to the old one after you execute
13:46:46 <AnMaster> MikeRiley, the specs for the version I would implement is as an appendix in Funge-108 standard
13:46:49 <ais523> thus effectively creating a stack-stack-stack
13:47:03 <AnMaster> it is slightly enhanced variant of the !Befunge one
13:47:29 <AnMaster> ais523, no I think it is copied back
13:47:39 <AnMaster> need to check those specs to be sure
13:48:31 <AnMaster> ais523, http://rage.kuonet.org/~anmaster/funge-108/funge108.pdf
13:49:51 <AnMaster> see C.3 for what features it got that are missing in MikeRiley's one
13:51:42 <AnMaster> I find that too few ligatures are used on IRC, don't you agree?
13:52:35 <tusho> AnMaster: I’ve been known to use proper apostrophes and quotes.
13:52:47 <tusho> And emdash as well.
13:52:52 <MikeRiley> added a "help" command to the debugger now.....no longer have to keep going back the manual because i forgot the instructions!!!! eheheheheeheheheh
13:53:01 <tusho> (That ' in "I've" was a fancy one, btw.)
13:53:34 <Deewiant> MikeRiley: why didn't you do that way back when >_<
13:54:00 <MikeRiley> not really sure why!!!! but fixed that oversight now!!!!
13:54:18 <Deewiant> too late to do me any good now ;-)
13:55:37 <ais523> I added the help command at the same time I added the GPL advertising command
13:55:42 <MikeRiley> at the time i knew what everything did,,,,and did not really expect many other people to ever use my interpreter,,,so figured i did not need it...eheheeheheheh
13:55:43 <ais523> read the GPL, there's actually a requirement...
13:56:08 <ais523> although it only kicks in when modifying a non-interactive application to be interactive, but that was what I was doing
13:56:19 <MikeRiley> same excuse for my poor fingerprint documentation....
13:56:29 <AnMaster> ais523, there is always --version
13:56:37 <ais523> AnMaster: not on C-INTERCAL there isn't
13:56:43 <ais523> in fact it doesn't even know what version it is
13:56:47 <ais523> I want to add a version command
13:56:57 <ais523> but haven't thought of a sufficiently twisted way to do it yet
13:57:04 <AnMaster> I want to be portable you see :P
13:57:11 <ais523> oh and C-INTERCAL uses getopt if it's there
13:57:19 <ais523> or its own internal stripped-down version if it isn't
13:57:34 <MikeRiley> which shows version and lists the fingerprints that are built in...
13:57:41 <AnMaster> ais523, anyway what the heck is wrong with #define VERSION_STR "0.1.2.3"?
13:57:56 <AnMaster> MikeRiley, for fingerprints there is -f
13:58:00 <AnMaster> that also lists other features
13:58:04 <ais523> I want to do it so that --version shows the version info by defining all the letters - v e r s i o n to do things that together combine to make a version command
13:58:16 <ais523> C-INTERCAL has -@ for help for some reason
13:58:18 -!- oklofok has quit (Connection timed out).
13:58:22 <ais523> but it also shows help on invalid info like -?
13:58:42 <ais523> that was there when I got to it
13:58:47 <ais523> I have no idea why it uses -@ as the help command
13:58:56 <ais523> maybe C-INTERCAL dates from before question marks were in common usage
13:59:08 <AnMaster> http://rafb.net/p/i593Kx47.html
13:59:18 <MikeRiley> no,,,intercal wanted to do things different than everybody else!!!! eheheheheheheeh
13:59:42 <AnMaster> MikeRiley, "intercal wanted to do things different than everybody else" <-- quite plausible
13:59:53 <AnMaster> as difference to previous char
14:00:05 <AnMaster> so acb would be 12-1 right ais523 ?
14:00:17 <AnMaster> "turning text" or whatever you call it
14:00:20 <MikeRiley> if i remember right,,,,they wanted to have no features that were common with other languages...
14:00:35 <tusho> MikeRiley: ais523 maintains c-intercal (otherwise this discussion doesn't make sense)
14:00:54 <ais523> well, apart from assignment, but you don't need that for turing-completeness
14:01:20 * ais523 gets thrown out of the library because it's closing
14:01:29 <ais523> atm I'm connected from a bench just outside the library
14:01:33 <ais523> good thing it isn't raining...
14:01:39 <AnMaster> ais523, maybe a C-INTERCAL <-> CLC-INTERCAL <-> J-INTERCAL FFI?
14:01:50 <AnMaster> all based on C-INTERCAL of course
14:02:06 <AnMaster> you should be able to link in Funge at the same time and C code
14:02:33 <ais523> ah, cygwin's finished downloading all its packages
14:02:39 <ais523> I wonder if they test cygwin under Wine?
14:02:53 <AnMaster> ais523, I tried once a few years ago, it didn't work
14:03:26 <ais523> well, I only need the install to work
14:03:34 <ais523> although having it run too would be nice
14:03:40 <ais523> AnMaster: its installer downloads stuff to work
14:03:42 <AnMaster> ais523, oh install runs scripts under cygwin
14:03:53 <ais523> and my Windows computer is almost a two-hour walk from my internet connection
14:04:10 <AnMaster> ais523, duh you can use downloaded packages
14:04:11 <ais523> so I'm installing under Wine, then copying the resulting directory tree when I get home
14:04:16 <ais523> at least thats what I hope to do
14:04:22 <AnMaster> so you can move the installer and the downloaded files
14:04:26 <ais523> if that fails I'll just use the downloaded tree and install from that
14:04:31 <AnMaster> ais523, because your way won't work
14:04:44 <ais523> AnMaster: Wine's got a lot better in the meantime
14:04:47 <AnMaster> it needs to set up some stuff in registry
14:04:53 <ais523> and I can because I'm not installing as admin
14:04:58 <AnMaster> so it just won't work to copy the install thing
14:05:16 <ais523> although for things like registry keys I'll need to find a way to transfer them
14:05:30 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
14:05:31 <AnMaster> ais523, just copy over installer and the downloaded install tree, ok?
14:05:49 <ais523> I'm in #esoteric, why can't I do things the hard way?
14:05:54 <AnMaster> ais523, it will work, you just need to tell it the directory
14:06:14 <ais523> besides having it installed here will be useful for testing
14:06:23 <ais523> so I can produce Windows binaries for C-INTERCAL for instance
14:06:33 <ais523> I'm reasonably confident in my Linux computer not catching a Windows virus
14:09:08 -!- bsmntbombdood has quit (Remote closed the connection).
14:13:05 <MikeRiley> got my new dynamic model code designed,,,now just to code it!! eheheheh
14:13:54 -!- ais523_ has joined.
14:14:23 -!- ais523 has quit (Nick collision from services.).
14:14:25 -!- ais523_ has changed nick to ais523.
14:19:20 <MikeRiley> pre-allocated stack now done away with,,,uses dynamic allocation for the stack now...
14:19:37 <ais523> could you get out-of-stack errors beforehand?
14:20:42 <MikeRiley> if you overflowed the stack before,,,,it gave an error and terminated the program...
14:22:13 <MikeRiley> figured, if it could not push a value, then the rest of the program wouldn ot work anyways,,,so may as well just terminte it...
14:25:11 <MikeRiley> new version now will grow the stack if the push would cause an overflow...
14:25:33 <MikeRiley> this of course now does away with the stack size limitation mentioned in the manual...
14:32:01 <ais523> AnMaster: Cygwin FAQ says it doesn't store anything in the registry but mount information
14:32:09 <ais523> which will be empty while not using it
14:32:19 <ais523> also it stores everything in the same registry key which nothing else uses
14:32:22 <ais523> so it'll be easy to transfer
14:32:24 <AnMaster> ais523, it set some env variables
14:32:55 <AnMaster> at least the version I used did
14:33:12 <ais523> AnMaster: it sets them in /etc/profile apparently
14:33:31 <ais523> which of course doesn't run until you load Cygwin yourself
14:33:36 <AnMaster> ais523, I'm pretty sure it sets one or two in registry
14:34:04 <AnMaster> <ais523> so I can produce Windows binaries for C-INTERCAL for instance
14:34:05 <AnMaster> <ais523> I'm reasonably confident in my Linux computer not catching a Windows virus <-- cross compile with mingw?
14:34:09 <ais523> I wouldn't expect services to work because I'm not installing as root
14:34:11 <ais523> AnMaster: I thought of that
14:34:23 <ais523> I want to try out cygwin for other reasons, though
14:49:07 -!- 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"").
15:09:50 -!- olsner_ has quit.
15:18:07 <tusho> w.tf is registered
15:18:42 -!- lilja has quit (Read error: 110 (Connection timed out)).
15:35:34 <MikeRiley> problem in SOCK fixed,,,,Rc/Funge-98 now passes mycology 100%, minus the ones where mycology is still using the broken k....
15:37:05 -!- AnMaster has quit (Remote closed the connection).
15:38:47 -!- pikhq has joined.
15:40:24 -!- AnMaster has joined.
16:07:04 <Deewiant> I'd release a new Mycology but for the fact that I can't fix this damn mycotrds
16:09:19 <MikeRiley> how about fixing mycology first,,,,then mycotrds???
16:09:39 <Deewiant> but "Mycology" is the whole thing
16:09:46 <Deewiant> I'm not going to release only mycology.b98
16:10:06 <Deewiant> if you can fix mycotrds.b98 :-P
16:13:10 <AnMaster> to everyone that complained before
16:13:22 <AnMaster> and ais523 (but he isn't here) and tusho ^
16:19:28 -!- MikeRiley has left (?).
16:29:24 -!- Hiato has joined.
16:31:06 -!- sebbu2 has joined.
16:40:39 -!- Corun has joined.
16:44:49 -!- sebbu has quit (Connection timed out).
16:47:40 -!- Sgeo has joined.
16:57:00 <AnMaster> tusho, you complained about browsing before!
16:58:19 -!- Sgeo has quit (Remote closed the connection).
16:58:43 -!- Ilari has joined.
17:03:49 -!- Hiato has quit ("Leaving.").
17:17:23 -!- Hiato has joined.
17:26:52 -!- Corun has quit ("This computer has gone to sleep").
17:28:25 <Deewiant> mycotrds actually found a bug in my k ^_^
17:28:36 <Deewiant> specifically, k$ was taking one tick too little
17:29:19 <AnMaster> Deewiant, how the heck could that happen?
17:29:39 <AnMaster> Deewiant, do like me then, don't overoptimize
17:29:50 <Deewiant> naw, it was just a silly mistake
17:34:57 -!- Sgeo has joined.
17:36:23 <AnMaster> Deewiant, got the updated mycology anywhere?
17:36:54 <AnMaster> Deewiant, also how could returning from Iterate cause it to happen in same tick?
17:37:04 <AnMaster> for cfunge at least k will take *at least* one tick
17:37:15 <Deewiant> AnMaster: it was before I had moved the IP back to the k after getting the operand
17:48:06 <AnMaster> <jelmer> now working on supporting "bzr branch <git-url>"
17:48:19 <tusho> never mind that bzr and git have totally different models
17:48:24 <AnMaster> it can already operate on it in many other aspects I heard
17:48:25 <tusho> and the conversion - both ways - is lossy
17:48:37 <AnMaster> tusho, there is already bzr-svn
17:48:53 <tusho> because svn is pretty much the lowest common denominator
17:49:03 <AnMaster> I guess it can't handle attributes though
17:49:15 <AnMaster> like svn:eol-style or whatever it is called
17:49:49 <fizzie> Properties is what svn calls those.
17:50:20 <AnMaster> I have used svn a lot, but it was almost a year ago
17:50:31 <lament> i started using svn two days ago
17:50:41 <AnMaster> tusho, anyway isn't there git-darcs or darcs-git or whatever it is called?
17:50:50 <tusho> AnMaster: yes, and it's about as awful
17:50:55 <tusho> the concepts mesh a bit more
17:50:55 <AnMaster> lament, ah? what ones did you use before?
17:51:15 <tusho> lament: git man ;)
17:51:29 <lament> what's wrong with svn?
17:51:38 <tusho> lament: distributed workflows are better
17:51:40 <AnMaster> tusho, what about between mercurial and git?
17:51:45 <lament> TFS, despite horribly sucking, handled merges a bit better by actually having a merge tool
17:51:48 <tusho> it helps avoid "Big Commit"s
17:51:50 <AnMaster> tusho, not good for a beginner
17:51:54 <tusho> which are bad for reverting and stuff
17:52:01 <AnMaster> tusho, what about between mercurial and git?
17:52:03 <lament> tusho: what's a distributed workflow?
17:52:03 <tusho> lament: also, DVCS' are much better at merging
17:52:10 <tusho> lament: each repository is a full copy
17:52:11 <AnMaster> iirc you can get kernel source as mercurial
17:52:13 <tusho> and you make your commits to it
17:52:15 <Deewiant> AnMaster: new Mycology/CCBI up
17:52:17 <tusho> and then, push to the other one
17:52:24 <tusho> that is, your 'checkout' is in fact a complete repo
17:52:27 <tusho> and you make all the commits you want
17:52:31 <tusho> and can pull and push between repositories
17:52:40 <tusho> lament: 1. faster speed (all local)
17:52:44 <tusho> 2. as many commits as you want
17:52:52 <tusho> 3. gets rid of Big Commits (TM)
17:52:58 <Deewiant> lament: 4. if you don't have 'Net access you can actually do something
17:53:16 <lament> that's a good point, local commits are clearly useful
17:53:26 <tusho> Deewiant: regular vcs' kind of discourage making many smaller commits
17:53:40 <tusho> because of the 'what if I break something and have to fix it before anyone else makes a clone'
17:53:42 <Deewiant> but then, I haven't used them much
17:53:44 <tusho> and the sort of 'heavy-weight' feel
17:53:54 <tusho> DVCS' fix it by making it local to you until you push
17:54:05 <AnMaster> BAD: 5kz takes more than 3 ticks
17:54:05 <AnMaster> BAD: "a b" takes more than 5 ticks
17:54:10 <lament> tusho: but then your actual commit (push) will be a Big Commit
17:54:18 <tusho> lament: not really
17:54:21 <tusho> they're still seperate commits
17:54:22 <lament> just naming it push doesn't make it any less of a commit
17:54:26 -!- Comtech2 has joined.
17:54:34 <tusho> your commits are still small and modular
17:54:35 <tusho> in the revision history
17:54:42 <Deewiant> AnMaster: a bug in cfunge? :-P
17:54:53 <lament> i'm definitely stuck with SVN, though
17:54:58 <tusho> yeah, I can imagine
17:55:01 <lament> 1) we already picked it
17:55:06 <lament> 2) it has integration with xcode
17:55:20 <tusho> lament: there is git-svn which lets you clone a svn repository as a git repo and push it back to the main svn repo
17:55:24 <tusho> but it won't have xcode integration
17:55:31 <AnMaster> Deewiant, um this makes no sense
17:55:34 <tusho> (note: bzr and hg and stuff also have equivalents)
17:55:43 <Deewiant> AnMaster: it's all GOOD in CCBI
17:56:02 <lament> i don't think we'll have problems with SVN, there's only 3 developers on the project
17:56:15 <tusho> no point switching for that, I imagine
17:56:21 <AnMaster> #Deewiant, 5kz should take 4 ticks in total...
17:56:23 <tusho> maybe try it next project or something
17:56:45 <AnMaster> Deewiant, + the tick when it executes z another time
17:56:58 <lament> xcode integration is actually not a big concern
17:57:08 <AnMaster> Deewiant, anyway I checked here in debugger, it takes 3 ticks
17:57:11 -!- Comtech2 has left (?).
17:57:17 <lament> people use tortoiseSVN all the time in windows and it doesn't really have VS integration
17:57:34 -!- MikeRiley has joined.
17:57:39 <lament> just having a command-line tool is bad, though
17:57:42 <Deewiant> MikeRiley: new Mycology/CCBI are up
17:57:45 <AnMaster> Deewiant, and... BAD: "a b" takes more than 5 ticks
17:57:54 <tusho> lament: try FileMerge.app
17:57:57 <MikeRiley> super!!! will go and grab them....
17:58:00 <Deewiant> AnMaster: that works fine in CCBI too
17:58:08 <tusho> hg and git and whatever can be configured to open that on 'foo merge'
17:58:16 <Deewiant> even tested it so that when 5kz takes more or less than 3 ticks, it still gives that as GOOD...
17:58:45 <tusho> lament: git is faster, used for the linux kernel and x.org and similar, and also rapidly gaining in popularity
17:58:49 <tusho> but some people prefer other systems like darcs and hg
17:59:15 <tusho> git: http://git.or.cz/, darcs: http://darcs.net/, hg: http://www.selenic.com/mercurial/
17:59:21 <tusho> http://bazaar-vcs.org/
17:59:21 <lament> haskelers definitely like their darcs
17:59:24 <tusho> i'd go with git, but whatever
17:59:31 <tusho> lament: moar liek molassesdarcs
17:59:37 <tusho> but I think the thing is
17:59:41 <tusho> haskellers and lispers like their darcs
17:59:47 <tusho> unlike everyone else ;)
18:00:00 <Deewiant> GHC is switching away from darcs
18:00:12 <tusho> Deewiant: ah yes they're going to use git right?
18:00:20 <Deewiant> I don't think they've chosen anything
18:00:25 <AnMaster> Deewiant, I checked in debugger, it takes exactly 3 ticks
18:00:25 <tusho> seems likely, though
18:00:26 <Deewiant> it looks like bzr is the top contenteder, actually
18:00:33 <tusho> since git is the second most popular thing in the haskell community
18:00:37 <tusho> and really, nobody uses bzr ;)
18:00:41 <Deewiant> AnMaster: your problem, not mine. Find out why it gets it wrong. :-P
18:00:51 <AnMaster> Deewiant, I'd say it is a bug in mycology
18:00:53 <Deewiant> tusho: I've been pushing hg quite a bit
18:01:09 <tusho> I'd say git and hg are Good Choices
18:01:15 <Deewiant> tusho: the reason they like bzr is that it handles a rename-related case well
18:01:22 <Deewiant> AnMaster: hah, see? it even works for MikeRiley!!
18:01:23 <tusho> with git coming out on top for its multiple large-projects, and wide-scale and growing large adoption
18:01:31 <AnMaster> Deewiant, "mycology.b98 is a binary file"
18:01:31 <Deewiant> MikeRiley: excellent! how about TRDS ;-)
18:01:31 <tusho> and IMO it has a nicer internal structure
18:01:41 <MikeRiley> i doubt that will work,,,but will try and see...
18:01:44 <AnMaster> it is not due to CRLF, it is something else
18:01:54 <Deewiant> AnMaster: contains a null byte
18:02:03 <Deewiant> that's a new test added last week
18:02:04 <AnMaster> Deewiant, well I can't work on it then
18:02:08 <Deewiant> it was in the previous release as well
18:02:20 <Deewiant> well if your text editor is so crap it can't handle a file containing a single null byte...
18:02:32 <MikeRiley> mycotrds fails at: BAD: J doesn't jump through time properly
18:02:32 <AnMaster> Deewiant, I can't trace your bug then. as kate refuses to *edit* binary files
18:02:38 <tusho> AnMaster: you could...
18:02:38 <MikeRiley> but i did not expect it to work...
18:02:41 <tusho> another editor!!128972918378234781234782347823423
18:02:51 <MikeRiley> mycouser and mycoterm work fine...
18:03:04 <Deewiant> MikeRiley: yeah, that's what I seem to recall RC/Funge-98 always did :-)
18:03:19 <Deewiant> ran RC/Funge-98 on it and noticed it doesn't do shit :-P
18:03:28 <Deewiant> I was somewhat disappointed >_<
18:03:36 <MikeRiley> i know that my TRDS module is problematic,,,now that the rest of the interpreter works good...will fix that module...
18:03:42 <tusho> I wonder if you could test TRDS' ability to erase time by making it make the test of erasing time never happen
18:04:03 <Deewiant> there's a test where an IP travels back in time to prevent itself from being born
18:04:28 <AnMaster> Deewiant, I can't read your concurrent code
18:04:29 <MikeRiley> which should kill the parent,,,,the time travelled ip should still exist...
18:04:34 <Deewiant> tusho: if you're interested, http://hackage.haskell.org/trac/ghc/wiki/DarcsEvaluation
18:04:34 <AnMaster> even less than your normal code
18:04:47 <AnMaster> Deewiant, I just don't understand that part of mycology
18:04:56 <Deewiant> what's so hard to understand about it :-P
18:05:08 <AnMaster> Deewiant, where are the different IPs going?
18:05:25 <AnMaster> Deewiant, yes and where are they?
18:05:27 <Deewiant> most of the time, one or the other is in a ><
18:05:28 <tusho> Deewiant: how can bzr be at the top
18:05:28 <tusho> # We can't do this yet because bzr does not support interactive cherrypicking for merge:
18:05:38 <tusho> it doesn't support one of their most important parts
18:05:47 <tusho> Deewiant: You said it was
18:06:03 <Deewiant> tusho: I said I think it is ;-)
18:06:19 <Deewiant> tusho: reason mostly being that "bzr manages this example without any difficulty: " case
18:06:25 <Deewiant> which somebody or other cited as important
18:06:35 <Deewiant> AnMaster: one's at the 5kz, the other is in a ><
18:06:48 <Deewiant> AnMaster: right before the k a p is hit to release the other from the ><
18:07:01 <AnMaster> Deewiant, there is in 5kz in the source here.
18:07:21 <Deewiant> stuff is put on the stack earlier
18:07:33 <AnMaster> Deewiant, well the code *says* 5kz
18:07:37 <Deewiant> the k itself is in column 1 or so
18:07:38 <AnMaster> so I assumed that was what it meant
18:07:45 <Deewiant> AnMaster: well, you know how it used to say 3k<
18:07:47 <AnMaster> would be useful to give correct info you know
18:08:12 <Deewiant> "BAD: <k3 when approaching from the right"...
18:08:23 <Deewiant> and now you say that 5kz is not correct
18:08:37 <Deewiant> "BAD: 5<internal code you don't need to care about>kz doesn't work"
18:08:51 <Deewiant> the essential part is that 5 is on top of the stack when the k is hit
18:11:40 <Deewiant> but now I'm off to the sauna, have fun ->
18:12:42 <AnMaster> also I can't get the program to break at the right point...
18:14:22 -!- MikeRiley has left (?).
18:14:56 <psygnisfive> did you like my idea for complement regexps?
18:15:18 <tusho> psygnisfive: are they regexps that output?
18:15:20 <tusho> if so - done before
18:15:32 <ihope> psygnisfive: what is it?
18:16:09 <psygnisfive> ihope: instead of generating a new regexp that has a complementary pattern
18:16:52 <ihope> Automata corresponding to regexes can be very large, and regexes corresponding to automata can be very large.
18:17:23 <ihope> That GreenReaper regex I threw at pikhq corresponded to an especially simple automaton.
18:17:53 <psygnisfive> then just wrap the positive automata in a logical not. :P
18:18:21 <psygnisfive> but either way i think it'd be cleaner than building a custom complement expression
18:18:45 <psygnisfive> the regexp for /|[^r].*|.../ as a complement to /red/
18:19:27 <psygnisfive> is a lot more complicated than if you just to the automata for /red/ and swapped the accept/reject states
18:19:42 <ihope> The complement of /red/ using a complement operator.
18:21:15 <psygnisfive> Q and F being your total states and final states, respectively
18:21:44 -!- lilja has joined.
18:22:19 <tusho> codex is at http://codex.wordpress.org and can be searched by error_bot using |codex <search terms>
18:22:20 <tusho> BigJibby: originating in the first century, the codex is a book composed of folded sheets sewn along one edge, distinct from other writing vehicles such as ...
18:22:57 <AnMaster> Deewiant, wherever the issue it is in not in k
18:23:07 <AnMaster> Deewiant, and I'm unable to trace it.
18:23:51 <AnMaster> the other ip seems to be off by one place
18:24:39 <AnMaster> Deewiant, I need a way to dump trace info from ccbi to be able to debug this
18:24:46 <AnMaster> and since I can't compile it...
18:28:01 <AnMaster> Deewiant, if however I make mine skip a tick a bit earlier on in strings so that all spaces in strings take zero ticks, then those errors doesn't show up, but instead it says that z takes 0 ticks
18:28:26 <AnMaster> Deewiant, so until mycology can tell me where the hell it think the error is, or ccbi can do that, there is nothing I can do
18:29:50 <tusho> he's at the sauna AnMaster
18:30:00 <AnMaster> tusho, I know, but he also got scrollback
18:46:26 <AnMaster> Deewiant, yes but I need trace, output of current instruction and thread id
18:47:14 <AnMaster> Deewiant, well don't expect anything before next weekend then
18:47:25 <Deewiant> just set a breakpoint at where the >< starts
18:47:36 <tusho> Deewiant: back from the sauna already?
18:47:54 <Deewiant> how long do you expect me to be in there :-)
18:47:59 <AnMaster> Deewiant, and it is off by one by then
18:48:06 <tusho> i was hoping we'd rid of you
18:48:32 <Deewiant> AnMaster: okay, so set the breakpoint 10 instructions earlier and keep going... or, just start following them both from the 't'
18:48:45 <AnMaster> Deewiant, sigh, with all changing each other and such
18:48:46 <Deewiant> one thing that comes to mind is that ' takes two ticks
18:48:48 -!- MikeRiley has joined.
18:48:56 <AnMaster> Deewiant, it does take 2 ticks?
18:49:15 <MikeRiley> deewiant,,,got a question about something your call BAD in SOCK:
18:49:19 <Deewiant> i.e. if it does, it would break stuff
18:49:25 <MikeRiley> BAD: A didn't overwrite original socket
18:49:27 <AnMaster> Deewiant, nop it takes one tick
18:49:30 <MikeRiley> what are you expecting to happen here???
18:50:16 <MikeRiley> GOOD: bound to local port 51959 with B
18:50:16 <MikeRiley> GOOD: set listening mode with backlog size 1 with L
18:50:16 <MikeRiley> GOOD: created another socket with S
18:50:16 <MikeRiley> GOOD: converted 127.0.0.1 for C with I
18:50:19 <MikeRiley> GOOD: connected to local port 51959 with C
18:50:23 <MikeRiley> UNDEF: A pushed address 16777343 and port 43689
18:50:25 <MikeRiley> BAD: A didn't overwrite original socket
18:52:24 <MikeRiley> why should it overwrite the original socket??? normally a listening socket is not overwritten on accept,,,,
18:52:44 <MikeRiley> used by servers this allows a server to continue listening on a socket for additional connections...
18:53:13 <MikeRiley> accept will essentially create an additional sock for the connection, leaving the listening socket alone...
18:53:59 <MikeRiley> in theory,,,you could then use t, to split off the process to handle the accepted connection....
18:54:09 * tusho wonders... bitwise not in brainfuck..
18:54:13 <MikeRiley> the original would stay in a loop accepting additional connections...
18:54:18 <Deewiant> I'll take your word for it ^_^
18:54:44 <tusho> ^___________________________________^
18:54:48 <tusho> you made my face expand again
18:54:58 <MikeRiley> i write client/server software for a living these days...and this is how sockets are used...
18:55:05 <Deewiant> tusho: you need to have better control of your face
18:55:13 <tusho> ^______________________________________________________________________^
18:55:26 <psygnisfive> so who wants to make a language where the fundamental operations of the system are inherently parallelizable?
18:55:44 <psygnisfive> and i dont mean like Haskell or Erlang's parallelizable stuff either
18:55:47 <tusho> ^____________________________________________________________________________________________________________________________________________^
18:55:57 <psygnisfive> where the parallelism is a result of recursion
18:55:59 <MikeRiley> beyond that error, which is not an error...Rc/Funge-98 passes all tests (minus TRDS) without failures...
18:56:20 -!- tusho has quit ("And then-").
18:56:37 -!- tusho has joined.
19:02:23 <AnMaster> Deewiant, of course accept() doesn't destroy original socket!
19:19:54 <Deewiant> MikeRiley: fixed that now (I hope)
19:21:02 <MikeRiley> i also posted 1.0.9 of Rc/Funge-98 on my site...
19:21:21 <Deewiant> well, not so much "I hope", I just flipped the two messages around, the "I hope" is more that CCBI works :-P
19:23:07 <MikeRiley> well,,,we both got to get some bugs fixed from that whole process!!! eheheheheeheh
19:25:20 <Deewiant> AnMaster was even better in that regard ;-)
19:25:52 <AnMaster> Deewiant, I will look into concurrency bug more next weekend
19:27:51 <MikeRiley> well,,,had i been around when you first started it,,,,chances are i could have done more for you,,,,as it is,,,,too bad i was not there to inform you about k!!! eheheheheeh
19:29:39 <MikeRiley> still fully passes cat's eye diagnostics as well....so nothing to fix the bugs mycology found affected its ability to pass the cat's eye one...
19:30:12 <Deewiant> yup, CCBI does fine on them too with the new k
19:30:34 <MikeRiley> i guess now i can go to work on improving the interpreter,,,,like getting rid of the rest of the hard coded limits,,,add some more fingerprints,,,,rewrite the dynamic memory manager...
19:31:15 <MikeRiley> then i guess i should see about a Fugne108 mode....
19:31:31 <tusho> you'll write support for about 3 programs
19:32:00 <Deewiant> tusho: as opposed to Funge08's 5
19:32:26 <tusho> Deewiant: I'd say there's a few hundred 98 programs
19:32:33 <MikeRiley> the fun is not in writing programs to work in funge,,,,it is writing the interpreter!!! eheheheheeheheheheheh
19:33:04 <Deewiant> tusho: probably not when he started on RC/Funge-98 :-)
19:33:13 <Deewiant> and I'd say there are only a few dozen at most
19:33:32 <Deewiant> and mycology is longer than the rest put together ;-)
19:34:08 <MikeRiley> when i started Rc/Funge-98,,,there were none!!!! there were no interprters until i wrote mine!!!! eheheheeheheheheh
19:34:35 <MikeRiley> i will agree to that,,,,mycology is quite large compared to other programs that i have....
19:34:51 <MikeRiley> i think the wumpus is the largest program i have,,,,besides mycology....
19:35:03 <Deewiant> MikeRiley: have you run the TURT quine?
19:35:25 <Deewiant> http://www.phlamethrower.co.uk/befunge/tquine.php
19:35:28 <MikeRiley> mine does have graphic output for TURT...
19:39:55 <Deewiant> it located a few bugs in my TURT implementation :-P
19:40:33 <MikeRiley> lets see if it can find some in mine now!! eheheheh
19:41:40 <MikeRiley> did not quite work right!!!!! made about a million windows!!!!! eheheheheheh
19:42:01 * pikhq cheers. . . A city in the US actually seems to have gotten a clue about how to do a mass transit system.
19:42:04 <Deewiant> my TURT doesn't implement the 'show picture'
19:42:15 <Deewiant> and since AnMaster's is copied from mine, neither does cfunge. :-P
19:42:44 <tusho> suggested rename of cfunge to posix_ccbi
19:42:47 <pikhq> In '94, Denver had no mass transit system at all. . . By 2016, their light rail system will include about 150 miles of track.
19:42:54 <AnMaster> Deewiant, indeed why would it show a pic
19:43:03 <MikeRiley> if i disable the graphics, then it runs....
19:43:13 <MikeRiley> with the graphics enabled, it is generating lots and lots of windows...
19:43:36 <Deewiant> MikeRiley: you should probably close your old window whenever you open a new one, or even better, just draw into it if it's open :-)
19:43:40 <AnMaster> Deewiant, well not being portable
19:43:53 <AnMaster> tell me a portable way, across all platforms, to do it
19:43:56 <MikeRiley> checking now which commands it is executing in that module...
19:44:16 <MikeRiley> yeah,,,pretty platform independent....my code relies on x-windows...
19:44:58 <AnMaster> tusho, don't want to depend on that
19:45:11 <tusho> AnMaster: You want a portable way across all platforms to do it ... without depending on _anything_.
19:45:16 <AnMaster> MikeRiley, I got a simpler test for TURT in cfunge
19:45:38 <AnMaster> tusho, ARGH no I don't want to depend on libc!
19:45:43 <tusho> AnMaster: *I have a
19:45:49 <AnMaster> MikeRiley, http://bzr.kuonet.org/cfunge/trunk/annotate/330?file_id=turt.b98-20080701112134-awm4lh4mh9uihbxw-1
19:46:37 <pikhq> AnMaster: If you want to depend upon *nothing*, yet be portable, first go ape-shit mad.
19:47:08 <pikhq> Second, write an entire microkernel architecture which runs on any kernel providing mmap, brk, fork, open, write, etc.
19:47:39 <pikhq> Third, go ape-shit mad.
19:47:58 <SimonRC> *mumble* ColorForth *mumble*
19:48:27 <MikeRiley> his code appears to keep loading TURT,,,my code creates a window when TURT is loaded...
19:48:48 <MikeRiley> and since he keeps reloading it....keeps creating windows!!! eheheheeheh
19:49:22 <AnMaster> MikeRiley, creating windows every time is wrong
19:49:34 <AnMaster> MikeRiley, should only when display is called
19:49:34 <pikhq> But *why* limit yourself to that?
19:49:48 <pikhq> Limit yourself to whatever will sanely be available...
19:50:37 <pikhq> A hint: SDL will be available.
19:51:07 <tusho> pikhq: You use REASON on AnMaster.
19:51:10 <tusho> It's not very effective...
19:51:20 <tusho> AnMaster uses posix_fadvise!
19:51:39 <AnMaster> tusho, what are you imitating?
19:52:09 <tusho> AnMaster: the battle system in the pokemon gameboy games
19:54:25 <Deewiant> nothing wrong with being ignorant about something; one can't know everything :-P
19:55:19 <MikeRiley> window problem now solved,,,only get 1 now...
19:57:11 <MikeRiley> i need to port that stuff to my compatability library,,,dealing with all that X junk is annoying....
19:59:26 <MikeRiley> long time ago i wrote a graphics library that sits on top of x...and then proted it to Windows as well...so that i could write software on my linux system that could run on a Windows machien as well...
19:59:33 <MikeRiley> way way way before SDL ever existed...
19:59:55 <Deewiant> but you didn't use that in RC/Funge, so I have to run it under Cygwin. >_<
20:00:10 <AnMaster> well there are more stuff you would need
20:00:35 <AnMaster> for example: extern char **environ
20:00:51 <AnMaster> or GetEnvironmentHandleHandleEx()
20:01:00 <MikeRiley> yeah,,,,Rc/Funge-98 was written before my library was...
20:01:24 <AnMaster> Deewiant, but it was good imitation of Windows API :P
20:01:32 <pikhq> Your library needs to be chucked out; there's no point in it any more. :p
20:02:28 <Deewiant> AnMaster: and in a POSIX vein it would be posix_genvst ;-)
20:03:05 <tusho> pikhq: not really. it reimplements half of the standard template library.
20:03:14 <tusho> it imitates java a bit, I find
20:03:16 <Deewiant> AnMaster: well, it's a posix version of an old C routine which had to be 6 chars. ;-)
20:12:10 <SimonRC> no, the six chars where the only ones recognised
20:12:21 <SimonRC> you could have more but they might have been ignored
20:18:12 <Deewiant> exactly, so they practically had to be six chars
20:34:21 -!- MikeRiley has left (?).
21:10:24 <ihope> I suppose an analog signal processing programming language really wouldn't be that difficult.
21:10:42 <SimonRC> there are likelyly some already
21:14:17 <ihope> The program consists of a number of equations. On the left is a name, and on the right is an expression formed of names, differentiation, integration, addition, multiplication by a constant, and the piecewise function f(x) = 0 for x <= 0, f(x) = x for x >= 0.
21:14:47 * SimonRC remembers playing with Simulink.
21:18:26 -!- Hiato has quit ("Leaving.").
21:19:38 <ihope> Names define distributions, not functions, so that you can differentiate the undifferentiable and then integrate it again to get what you started with.
21:23:10 <SimonRC> can you do things to the impossible differentiate in-between?
21:23:51 <ihope> Hmm, that raises a question, though.
21:24:46 <ihope> What if you take the function f(x) = 0 for x < 0, f(x) = 1 for x > 0, differentiate it twice, and run it through the piecewise function?
21:25:21 <ihope> Undefined behavior, I guess.
21:26:17 <SimonRC> (What is the result of a differentiation called anyway?)
21:28:28 -!- lament has quit (Read error: 104 (Connection reset by peer)).
21:33:09 -!- MikeRiley has joined.
21:54:38 -!- pikhq has quit ("leaving").
22:24:31 -!- cherez1 has joined.
22:24:38 -!- cherez1 has left (?).
22:33:51 -!- cherez has quit (Read error: 110 (Connection timed out)).
22:42:55 -!- Corun has joined.
22:49:28 -!- Slereah_ has joined.
22:51:28 <Slereah_> And that goes for you too psygnisfive
23:03:02 -!- Corun has quit ("This computer has gone to sleep").
23:05:22 <tusho> Slereah_: sasfki i9 ai xzn aio ox
23:10:16 <Slereah_> BUT HOW WILL I SUCK YOUR DICK THEN
23:12:16 <Slereah_> Man. Reinstalling all your stuff is annoying
23:20:40 -!- MikeRiley has left (?).
23:28:13 -!- RedDak has joined.
23:50:19 -!- Slereah_ has quit (Read error: 60 (Operation timed out)).
23:56:12 -!- Corun has joined.
00:04:07 -!- Slereah_ has joined.
00:11:42 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
00:30:56 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
00:53:51 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
01:00:01 -!- psygnisf_ has joined.
01:00:01 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
01:24:40 -!- tusho has quit.
01:51:39 -!- ihope has quit (Read error: 104 (Connection reset by peer)).
03:36:50 -!- psygnisf_ has changed nick to psygnisfive.
03:54:05 -!- Corun has quit ("This computer has gone to sleep").
04:16:35 -!- calamari has joined.
05:34:55 -!- CakeProphet has quit (Connection timed out).
05:43:37 -!- calamari has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:00:50 <dbc> The NFA is no more powerful than a DFA and is more of a hassle to program.
09:09:15 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
09:14:12 <AnMaster> dbc, this is esoteric, what did you expect ;P
09:14:52 <dbc> Good point.
09:15:01 <dbc> I'm working on MD5 in brainfuck at the moment :)
09:19:04 <psygnisfive> i dont see how theyre more of a hassle to program, either
09:23:14 <dbc> They're "nondeterministic", so you either have to convert them to a DFA, or you have to keep track of a list of possibilities which is almost as much work as converting them to a DFA.
09:51:35 -!- Dewi has quit (clarke.freenode.net irc.freenode.net).
09:51:38 -!- Dewi has joined.
10:39:33 -!- tusho has joined.
12:04:32 * tusho tries to make os x forget about a domain's ip so his hosts entry will take effect
12:23:51 <tusho> AnMaster: Because I didn't know the command.
12:48:09 <tusho> http://www.reddit.com/r/programming/comments/6tiyk/not_just_me_then_wordpress_development_process_is/c04tsb4 "Ode" to WordPress
13:36:48 <tusho> Meanwhile, there are no decent blogging systems.
14:16:28 -!- MikeRiley has joined.
14:29:52 -!- AnMaster has quit ("thunderstorm").
14:45:51 -!- pikhq has joined.
15:02:33 <MikeRiley> working on documentation at the moment,,,,which fingerprints would you like to see better defined???? besides how R,L, and M work in STRN....
15:03:00 <Deewiant> well in general you should say what the parameters mean :-)
15:03:20 <Deewiant> sometimes it's clear but (a b -- c d) generally isn't :-)
15:03:48 <Deewiant> for FRTH, not everyone is familiar with Forth so you might want to explain the operations...
15:08:28 <Deewiant> BTW, in general, RC/Funge-98 doesn't seem to use storage offsets for instructions that want vectors
15:08:36 <Deewiant> if that was intentional (and if so, why??) document it
15:10:02 <MikeRiley> actually,,,it should use them,,,,if it is not,,,then those would be considered bugs....
15:10:24 <Deewiant> I think I checked the source and approximately none of them use it
15:11:28 <Deewiant> you might want to say it explicitly in the doc anyway: "Where vectors pointing to Funge-Space are used, the IP's storage offset should be applied" or whatever
15:14:06 <MikeRiley> oh...I added a D command to the FILE fingerprint,,,,,to delete a file....
15:18:18 <tusho> stack diagrams are pretty simmple
15:18:23 <tusho> swap = (a b -- b a)
15:18:37 <tusho> stack before -- stack after
15:18:54 <MikeRiley> the Rc/Funge-98 manual does use stack diagrams for most all fingerprints...
15:40:45 <Deewiant> tusho: I did not say they are hard to understand
15:40:58 <Deewiant> but what does f = (a b -- c d) do?
15:41:14 <tusho> Deewiant: well, duh, obviously you need more docs in that case
15:41:55 <MikeRiley> made not also that FNGR alters how the fingerprint stack works....
15:42:26 <Deewiant> MikeRiley: try not to mess with existing fingerprints too much, it's hard to support a moving standard
15:43:47 <MikeRiley> i agree,,,just clarifying mainly,,,only altered fingerprint so far is FILE, with an additional command...
15:44:34 <MikeRiley> otherwise, just clarifying what my intents were....
15:45:01 <MikeRiley> which may still be foggy when i am done.....but at least a bit less foggy!!! eheheheheehheeheh
15:47:41 <MikeRiley> so now you can impliment FNGR!!! since its spec now defines how the fingerprint stack works if it is loaded...
15:47:56 <Deewiant> I don't think I will anyway >_<
15:48:27 <Deewiant> too much work to rewrite most if not all of the fingerprint handling
15:49:41 <MikeRiley> yeah,,,it messes with the interpreter quite a bit....but much of my funge-98 software uses it...
15:51:14 <MikeRiley> when using multiple fingerprints in a program it makes it much more convenient to switch around the fingerprints without having to keep loading and unloading the ones you need as you need them...
15:51:53 <MikeRiley> with FNGR you can now use something like 1( to specify which loaded fingerprint you want to use...
15:52:03 <Deewiant> I don't know, it's just 8 instructions to pick a new fingerprint :-)
15:52:10 <MikeRiley> instead of something like "OMAR"4#v(
15:53:02 <Deewiant> not that verbose considering how terse Befunge is in general ;-)
15:53:55 <MikeRiley> just a matter of preference i guess...i just like being able to switch among fingerprints with fewer instructions...
15:54:14 <MikeRiley> not to mention with FNGR you can custom make a fingerprint using commands from others to create a combined fingerprint to use....
15:54:40 <MikeRiley> in which sometimes i do not even need to switch between them, just copy the needed commands into a new fingerprint id...
15:55:05 <Deewiant> maybe you should make a FING or whatever which incorporates as much as FNGR as possible without changing the way fingerprints works
15:55:34 <Deewiant> s/as much as/as much of/; s/fingerprints works/fingerprints work/
15:57:58 <MikeRiley> with that one could even add a command to remove a single semantic rather than entire fingerprint's worth...
15:58:16 <Deewiant> the funge fingerprint stack is strictly more powerful, I think :-P
15:58:22 <MikeRiley> or push the semantic again,,,such that when it is removed by another unload, it would still be there....
15:58:35 <MikeRiley> interesting idea....i think i will formalize the definition of this,,,,could be usefull...
15:59:42 <MikeRiley> then for example you could load ROMA folloed by MODU, then unload just the M so that the rest of MODU is there and the M from ROMA would act for M....
16:00:14 <Deewiant> that's what I thought you would have done instead of changing FNGR to be feral :-)
16:00:29 <MikeRiley> FNGR to me was more usefull for what i was doing...
16:00:45 <MikeRiley> but this new fingerprint has its uses as well...
16:01:41 <MikeRiley> would you prefer something like 'AP to pop off the A semantic or something like 0P to pop off the A semantic, 1P to pop of b,,,etc...
16:02:18 <Deewiant> if in range A-Z, that, if in range 0-25, that + 'A', otherwise reflect
16:02:24 <MikeRiley> yea,,,i suppose both could be done,,,sine the number ranges would not overlap, would be possible to detect...
16:05:31 -!- Ilari has quit (""Won't be back for a while..."").
16:05:38 <MikeRiley> E - Duplicate single semantic (0-25 or A-Z)
16:05:38 <MikeRiley> O - Pop off single semantic (0-25 or A-Z)
16:05:38 <MikeRiley> M - Map semantic from one location to another (within top of each stack)
16:05:39 <MikeRiley> C - Copy semantic from one fingerprint to tos of another semantic
16:06:59 <Deewiant> so M pops before pushing the new semantic to the target instruction?
16:07:14 <MikeRiley> either do it that way, or push it on....
16:07:41 <MikeRiley> could have another instrution to replace it?
16:07:55 <Deewiant> not really necessary since you can just do a O then
16:09:03 <Deewiant> and C would be like "AMOR"4'X'AC so that A now does what X in ROMA does, or what?
16:10:21 <MikeRiley> if you loaded ROMA and then MODU but wanted the M from roma, and the M from from MODU, you could do something like 'M'AC making A act like the M from roma...
16:10:49 <MikeRiley> before the 'M you would need the fingerprint id on teh stack as well (like what ) uses)
16:11:13 <Deewiant> so it's exactly what I said? :-P
16:11:51 <MikeRiley> where as 'M'AM would make A act like the M from MODU...
16:13:33 <MikeRiley> what else would you like to see in it???
16:14:24 <Deewiant> maybe FRTH-like deep access commands for the individual fingerprint stacks?
16:15:11 <Deewiant> something that takes the nth semantic and brings it to the top, something that swaps the nth and the top one...
16:17:07 <MikeRiley> roll should work both directions,,,so negative number rolls in reverse...
16:17:26 -!- Corun has joined.
16:17:35 <Deewiant> just remember to document what roll does, at least by pointing to FRTH :-)
16:18:39 <MikeRiley> L - Clear all semantics in a given stack
16:20:01 <Deewiant> hmm, P is just shorthand for "LLUN"4)
16:20:28 <MikeRiley> maybe,,,depending on how things are implemented....
16:20:38 <MikeRiley> NULL would push on the new semantics...
16:21:00 <MikeRiley> except ) requires a fingerprint P does not...
16:21:18 <Deewiant> well, I think it's fair to assume that if something implements this fingerprint it also implements NULL :-P
16:21:44 <Deewiant> so P is just a one-character "LLUN"4)
16:21:48 <MikeRiley> which means P is just a 1 character command to do it...
16:22:37 <MikeRiley> F - Copy all of given fingerprint's semantics to top of stack
16:23:17 <MikeRiley> so for example,,,,load ROMA, load MODU then F would allow you to take all of ROMA's semantics and place them above MODU....
16:23:29 <Deewiant> so, isn't that exactly the same thing as (
16:23:45 <MikeRiley> maybe,,,,,could define it as copy instead of push???
16:23:57 <MikeRiley> which replaces all the MODU ones that are the same...
16:24:50 <MikeRiley> since whatever semantics that ROMA did not implement,,,,would still work with MODU...
16:25:19 <MikeRiley> yes....that would be more like it....
16:26:39 <Deewiant> and I'm not sure how useful that is :-P
16:26:40 <MikeRiley> B - Create a blank semantic on top of all A-Z
16:27:26 <MikeRiley> would push the transparent on top of all the stack entries....
16:27:50 <MikeRiley> then you could use C to fill it in...
16:28:14 <MikeRiley> yes and no....in D there will be 2 copies of all the semantics...with B there is one with a layer of transparent above it...
16:28:30 <Deewiant> transparency makes it feral again
16:29:08 <MikeRiley> actually,,,,,why would it make it feral???
16:29:26 <MikeRiley> still remains re-entrant for all IPs.....
16:30:01 <Deewiant> it's feral in that you have to mess with the fingerprint implementation
16:30:22 <MikeRiley> hmmmmmmmm,,,,,maybe yours,,,not mine....eheheheheheheheehheeheheh but understand your point...
16:30:37 <Deewiant> well, if you only have a standard fingerprint implementation
16:31:02 <Deewiant> how do you implement transparency in your Mycology-passing one :-P
16:31:08 <MikeRiley> when my fingerprint implementation was made, i allowed for transparent entries from the start....so no change in mine.....but i see you point....
16:31:55 <MikeRiley> in my fingerprint stacks,,,anything that is 0 is transparent and falls through to the next entry on the stack...
16:32:13 <Deewiant> ah, so if somebody implements a fingerprint with the id 0, that breaks :-)
16:33:03 <MikeRiley> using the transparent entries allowed me to implement FNGR....
16:33:19 <MikeRiley> as far as executing fingerprint commands,,,the zeros do not exist....
16:33:30 <MikeRiley> that is why it can pass Mycology now...
16:33:53 <MikeRiley> my fingerprint mechanism has not changed,,,,i just changed how the unload works if FNGR is not loaded....
16:36:49 <MikeRiley> in past version, doing an unload of a fingerprint removed all the corresponding stack entries for the given fingerprint,,,,now it removes them individually from each semantic,,,,
16:37:04 <MikeRiley> so works like the spec,,,but still implemented in a way that FNGR can still work...
16:42:30 <MikeRiley> officially i am calling the new fingerprint FING...
16:44:32 <MikeRiley> C - Copy semantic from one fingerprint to tos of another semantic
16:44:32 <MikeRiley> E - Duplicate single semantic (0-25 or A-Z)
16:44:32 <MikeRiley> F - Copy all of given fingerprint's semantics to top of stack
16:44:33 <MikeRiley> L - Clear all semantics in a given stack
16:44:35 <MikeRiley> M - Map semantic from one location to another (within top of each stack)
16:44:37 <MikeRiley> O - Pop off single semantic (0-25 or A-Z)
16:44:45 <MikeRiley> V - Move all of given fingerprint's semantics to top of stack
16:48:29 <Deewiant> if "AMOR"4F is the same as "AMOR"4)"AMOR"4( what is "AMOR"4V?
16:48:34 <MikeRiley> would be like roll,,,,except by fingerprint id instead of a stack location...
16:48:51 <MikeRiley> what if ROMA was deeper in the stack????
16:49:07 <Deewiant> a fingerprint is never in the stack
16:49:25 <Deewiant> yeah, and not necessarily completely
16:49:37 <MikeRiley> suppose you had ROMA, TURT, IIPC, MODU
16:49:56 <MikeRiley> and wanted to move ROMA to the top,,,V will do that giving TURT, IIPC, MODU, ROMA
16:50:09 <MikeRiley> removing the semantics from the stack where it originally was....
16:50:22 <MikeRiley> F would have given: ROMA, TURT, IIPC, MODU, ROMA...
16:50:23 <Deewiant> but how do you know where it originally was
16:50:31 <MikeRiley> easy....look at the stack entry...
16:50:58 <MikeRiley> it is easy to look at the stack entries to see which fingerprint a semantic belongs to...
16:51:06 <Deewiant> not in my interpreter it isn't :-P
16:51:14 <Deewiant> I just store function pointers
16:51:20 <Deewiant> 0xdeadbeef, quick, is it ROMA or MODU? ;-)
16:51:23 <MikeRiley> why not??? even if they are funtion pointers,,,you can still tell...
16:52:13 <MikeRiley> in mine it is really easy because i use function numbering rather than references,,,,but even with function pointers it would still be possible to tell....
16:52:24 <Deewiant> well yeah... loop through the stack for 'A', and compare the pointers to each fingerprint's 'A'...
16:52:29 <MikeRiley> you just now have to compare the function references against the funtions and see which one it belongs to....
16:52:52 <Deewiant> so then, how about if you've got ROMA and then unloaded MODU
16:53:00 <Deewiant> so you've got a semi-ROMA at the bottom of the stack
16:53:11 <MikeRiley> if you lose semantics, obviously they would still be lost....
16:53:22 <MikeRiley> then you will be moving a semi ROMA to the top...
16:53:32 <Deewiant> what if you have two different semi-ROMAs on the stack
16:53:42 <Deewiant> e.g. you have I and X from ROMA at depth 5 and V at depth 6
16:53:43 <MikeRiley> would take the first one encountered...
16:54:02 <Deewiant> do you get only I and X, or do you traverse all the way to the bottom of each stack?
16:54:04 <MikeRiley> if V was not in the one at 5,,,,,it would get copied from the one at 6...
16:54:27 <MikeRiley> i would traverse until you found all the relevent semantics,,,once one is found, it does not look deeper in that stack...
16:54:30 <Deewiant> see, this is the kind of stuff you need to document ;-)
16:57:15 <MikeRiley> technically,,,even FNGR could be made to work using this scheme....but will stick with the new FING for doing this kind of thing...
16:58:13 <MikeRiley> any other functions you would like in this fingerprint???
17:00:25 <Deewiant> I still think that's feral though
17:00:37 <Deewiant> because you're essentially putting an additional constraint on the fingerprint implementation
17:00:47 <Deewiant> namely, that you need to be able to compare two semantics for equality
17:01:24 <Deewiant> not if V is equivalent to ) followed by (
17:02:00 <MikeRiley> but using ) would remove semantics from another fingerprint if the one you are trying to copy is below it...
17:02:13 <Deewiant> that's what I originally thought you meant :-P
17:02:17 <MikeRiley> and they share the same command...
17:02:21 <Deewiant> but if not, then yes, F is also feral
17:02:49 <MikeRiley> does not change how the fingerprint stacks work....
17:03:04 <Deewiant> it's reasonable that you're working in a language or environment in which you can't compare functions for equality
17:03:24 <MikeRiley> just that the code to do it needs to be able to do F or V needs to be able to determine which fingerprint a semantic in the stack belongs to...does not change the implementation of the fingerprint stacks themselves...
17:03:24 <Deewiant> then you could have implemented CCBI fully, but not this FING
17:03:39 <Deewiant> yeah, but that can change the implementation of the fingerprint stack
17:04:35 <Deewiant> tusho: was it you who asked about HRTI and TRDS together? from the spec of HRTI: "This timer is not affected by 'time travel' contrivances."
17:04:46 <Deewiant> MikeRiley: well, you need to store additional data there
17:04:56 <Deewiant> maybe we're disagreeing about what feral means
17:05:42 <MikeRiley> maybe you need to store additional data,,,maybe you do not...in mine,,,you do not....if it is coded in c...you do not....if you are writing an interpreter then it is easy to be able to use fingerprint mechanaism that can deal with this...
17:05:57 <MikeRiley> possible we may have different meanings for it... eheheheeheheh
17:06:02 <Deewiant> hmm, I see now, I was using a wrong meaning of 'feral', yes
17:06:23 <MikeRiley> from my reading of the spec, feral refers to something that changes how the interpreter interprets something....like FNGR's changing ( and )
17:06:45 <MikeRiley> FING does not change how anything works...
17:06:58 <Deewiant> I was thinking that feral includes stuff that requires you to change internal interpreter data structures
17:07:04 <Deewiant> or may require you to, as the case may be
17:07:20 <MikeRiley> we do have different definitions!! eheheheheehhe
17:07:33 <Deewiant> yeah, and your definition is what the spec says so you're right I suppose :-)
17:13:16 <tusho> was it you who asked about HRTI and TRDS together?
17:19:15 <SimonRC> an esolang designed to reduce memory fragmentation
17:20:02 <SimonRC> (other than one where all pointers are at knonw locations)
17:25:35 -!- timotiis has joined.
17:25:56 -!- Sgeo has joined.
17:36:16 <Deewiant> or I guess that fails your criterion
17:41:01 <SimonRC> brainfuck is not good for the speed, which is what I wanted the reduced memory fragmentation for
17:41:29 <SimonRC> actually, I have been giving a little thought to pointer-free datastructures
17:43:18 <SimonRC> lots of lengths and offsets rather than pointers
17:43:41 <MikeRiley> Deewiant: i started to implement FING in Rc/Funge-98....now you are going to have to think about adding it to Mycology!!! eheheheheheh
17:44:33 <Deewiant> the fingerprints in Mycology are just a bonus, the core is what matters :-)
17:44:35 <MikeRiley> true,,,there are other extensions you do not test...
17:44:55 <MikeRiley> still very surprised you wrote a test for TRDS!!!
17:44:58 <SimonRC> tree = branch (length, tree tree) | leaf (length, data)
17:45:18 <Deewiant> well I had to given that I was insane enough to implement it :-P
17:45:52 <MikeRiley> eeheheheheheheh i never figured anybody would ever try to implement that one!!!
17:46:11 <Deewiant> and yet you wrote a spec and did a half-assed implementation yourself :-P
17:46:19 <MikeRiley> as it was,,,i only partially implemented it....
17:46:27 <Deewiant> if your implementation had just worked properly, maybe I wouldn't have done it myself ^_^
17:46:52 <SimonRC> how does it handle user input?
17:46:55 <MikeRiley> yeah,,,,,but my implementation was nowhere near complete...and i knew it!!!!
17:48:10 <SimonRC> waitamo, I can see a problem with HRTI
17:48:30 <MikeRiley> HRTI would be inconsistant when used with TRDS...
17:48:43 <MikeRiley> the two probably should not be used together...
17:48:47 <SimonRC> oh, wait, I was reading it wrong
17:48:53 <MikeRiley> but then,,,,you could deal with that as well...
17:49:28 <SimonRC> in that case, S doesn't look too useful.
17:49:32 <Deewiant> SimonRC: essentially, doing input in a program that uses TRDS is undefined. :-P
17:50:03 <MikeRiley> S would certainly not effect results from HRTI, but its intent was to allow an IP to do something while all other IPs were frozen...
17:50:50 <Deewiant> MikeRiley: maybe you should have appended to the TRDS specs "this is a half-implemented joke, please ignore it" ;-)
17:51:23 <MikeRiley> eheheheheheheheeheheheheheheheheheheh
17:51:37 <MikeRiley> but in theory....it is implementable!!!
17:51:55 <MikeRiley> as written,,,,it should be possible...
17:51:56 <Deewiant> I have one or two hacks of which I'm not at all sure though
17:52:14 <Deewiant> can't remember the details but there are a few 50-line comments in CCBI :-P
17:54:03 <SimonRC> well, it doesn't have an instruction to get the whole number of seconds
17:54:41 <Deewiant> whole number of seconds since the last second? ;-)
17:54:45 <MikeRiley> true it does not.....use TIME to get the seconds...
17:54:53 <Deewiant> MikeRiley: or just the y command...
17:54:59 <SimonRC> and if the whole number of seconds and fractional seconds are read by two instructins, the fractional result could roll over between them, giving you bogus results
17:55:21 <MikeRiley> if you are trying to time something,,, then use M and T
17:55:21 <Deewiant> yeah, I never really understood the point of S
17:55:38 <Deewiant> I think it's just so that you can give a more accurate measure of what the current time is
17:56:04 <MikeRiley> yeah,,,not real sure what the real intent for S was...
17:56:21 <MikeRiley> another Cat's Eye spec that is a bit ambiguous....
17:56:36 <Deewiant> no, that's quite clear actually :-P
17:56:48 <Deewiant> it doesn't tell you what you should do with an instruction but it's quite explicit about what it does
17:58:58 <psygnisfive> especially if you have some set operations available
17:59:13 <psygnisfive> and converting to a DFA isnt THAT hard either
17:59:44 <MikeRiley> C (fp n src dst -- ) - Copy semantic from one fingerprint to tos of another semantic
17:59:44 <MikeRiley> D ( -- ) - Duplicate all semantics
17:59:44 <MikeRiley> E (n -- ) - Duplicate single semantic (0-25 or A-Z)
17:59:44 <MikeRiley> F (fp n -- ) - Copy all of given fingerprint's semantics to top of stack
17:59:46 <MikeRiley> K (sem n -- ) - Copy nth semantic to top
17:59:48 <MikeRiley> L (sem -- ) - Clear all semantics in a given stack
17:59:50 <MikeRiley> M (src dst -- ) - Map semantic from one location to another (within top of each stack)
17:59:52 <MikeRiley> O (sem -- ) - Pop off single semantic (0-25 or A-Z)
17:59:56 <MikeRiley> S ( sem n -- ) - Swap nth semantic with top
17:59:58 <MikeRiley> R ( sem n -- ) - Roll semantic stack
18:00:00 <MikeRiley> V (fp n -- ) - Move all of given fingerprint's semantics to top of stack
18:00:02 <MikeRiley> W (sem -- ) - Swap top two semantics
18:00:04 <MikeRiley> Z ( -- ) - unload all fingerprints
18:00:56 <Deewiant> well, I do hope you'll explain more about CFKMRV than just that :-)
18:01:12 <Deewiant> for Z, I'd rather say "clear all semantic stacks" or something
18:01:20 -!- sebbu2 has quit ("@+").
18:01:36 <MikeRiley> Z ( -- ) - Clear all semantic stacks
18:01:37 <Deewiant> and maybe be explicit about that 0-25 map to A-Z
18:01:53 <Deewiant> otherwise people will be confused about what the 0-25 is about
18:02:39 <MikeRiley> When semantics are used the value can either be the Ascii values of A through Z directly
18:02:39 <MikeRiley> specifying which command is being worked on or the number 0-25, where 0=A, 1=B, etc.
18:03:16 <Deewiant> a bit of a run-on sentence but fine :-)
18:03:29 <MikeRiley> english was never my strongest subject!!! eheheheheehheeh
18:04:32 -!- timotiis has quit (Read error: 110 (Connection timed out)).
18:06:37 <MikeRiley> V and F: These commands expect a fingerprint in the same form as the ( command.
18:06:37 <MikeRiley> These commands will then search through all semantic stacks for commands belonging
18:06:37 <MikeRiley> to the requested fingerprint. V will then move the found entry to the top of the
18:06:37 <MikeRiley> semantic stack moving all others down. F will copy the semantics to the top of
18:06:37 <MikeRiley> the stack leaving the originals where they are. Both of these commands overwrite
18:06:38 <MikeRiley> what is currently on the top of the stack. Thse commands work on the semantic stacks
18:06:40 -!- Hiato has joined.
18:10:07 <MikeRiley> M: This command allows you to map a semantic from one command to another. This command
18:10:07 <MikeRiley> only works on the semantics that are on top of the stack. The first value popped off
18:10:07 <MikeRiley> of the stack specifies which semantic is being remapped. The 2nd value specifies which
18:10:07 <MikeRiley> semantic is to assign. The A-Z or 0-25 methoed of specifying the semantic is valid
18:10:07 <MikeRiley> for this instruction. Example: 'A'BM would map the B semantic to A such that when
18:10:08 <MikeRiley> A is executed in the program it will perform the function of B.
18:10:47 <Deewiant> MikeRiley: that makes M sound like IMAP
18:11:15 <Deewiant> "when A is executed in the program it will perform the function that B had when M was executed" or something would be better IMO
18:11:26 <MikeRiley> it is very similar to imap....except that it is not mapping, it is copying the actual semantic code to the destination....
18:11:45 <Deewiant> but that makes it sound as though it does exactly what IMAP does
18:12:09 <MikeRiley> Example: 'A'BM would map the B semantic to A such that when
18:12:10 <MikeRiley> A is executed in the program it will perform the function previously assigned to B.
18:12:41 <Deewiant> no, I still don't think that makes it clear that when B gets new functionality or loses its old, A remains the same. :-)
18:13:48 <MikeRiley> A was changed to have B's function
18:14:12 <Deewiant> but that doesn't make it clear that if you then unload B, A remains doing what B used to do
18:15:09 -!- sebbu has joined.
18:15:33 <MikeRiley> Example: 'A'BM would assign the semantic associated with B to the
18:15:33 <MikeRiley> A command such that when A is executed it would execute the function that was assigned to
18:15:34 <MikeRiley> B when the M command was executed. Unloading B would not affect the new definition of A.
18:15:58 <MikeRiley> C: This command is similar to the M command in that it allows you to change how the top
18:15:58 <MikeRiley> semantic on a stack works. The difference is that C takes the semantic from another
18:15:58 <MikeRiley> fingerprint rather than the top of semantic stack specified by the source.
18:18:38 <MikeRiley> just thought of a major problem with this fingerprint....
18:18:58 <MikeRiley> with it loaded,,,most of the remapping commands are going to be working on its own commands rather than the ones below it!!!!
18:19:29 <Deewiant> maybe you should make it smaller, then ;-)
18:20:31 <MikeRiley> or,,,,(not terribly wild about this idea,,,just a thought) it operates on teh semantic stacks as if the FING semantics were not on them....
18:21:10 <Deewiant> that'd mean it can't operate on itself at all
18:21:25 <MikeRiley> exactly....did not say it was a good idea...just a thought....
18:21:54 <MikeRiley> this is probably why FNGR works off the () commands,,,to avoid this problem....
18:22:15 <MikeRiley> but that is definitely feral behaviour...
18:23:18 <MikeRiley> actually,,,it could operate on itself....first duplicate all the semantic stacks,,,,perform whatever operation and then pop off FING....
18:23:47 <MikeRiley> but of course,,,it needs FING's duplicate all command!!! so that will not work....
18:24:05 <Deewiant> hmm, that would work, wouldn't it?
18:24:18 <Deewiant> because of course it can still execute the duplicate all command :-P
18:25:03 <MikeRiley> but if it were executing duplicate all as if FING was not on the stack,,,it would be duplicating everything underneaht it...
18:25:24 <MikeRiley> actually,,,you could load it twice....
18:25:34 <MikeRiley> then it would be duplicated without using FING to do it...
18:26:33 <psygnisfive> e.g. "formal language", "formal grammar", etc.
18:26:41 <psygnisfive> what do you think of, what does it mean to you?
18:26:54 <MikeRiley> to me it would meaned it is an accepted standard...
18:28:59 <MikeRiley> by doing "GNIF"4(:1( you could now use FING to modify the FING copy underneath it,,,,then drop off the first one and now you have a modified one to use...
18:29:41 <tusho> psygnisfive: computer parsable
18:29:48 <tusho> instead of just an informal, roughly-specified, humans-only
18:30:01 <Deewiant> MikeRiley: (: wouldn't work, it'd have to be ($:
18:30:57 <psygnisfive> tusho: elaborate on your distinction between "formal" and "informal"
18:31:08 <tusho> that's as much as i can give
18:32:14 <MikeRiley> to me,,,formal would indicate it adheres to a specified standard, nothing added, nothing removed...
18:41:23 -!- calamari has joined.
18:49:31 <MikeRiley> All FING commands operate as if FING were not on the semantic stacks. The equivalent
18:49:32 <MikeRiley> In order to actually modify commands within FING you would need to load two copies as in:
18:49:36 <MikeRiley> Make the modifications and then drop off the top copy with )
18:51:06 <MikeRiley> or else: FING operates on the sos downwards instead of the tos....
19:05:11 -!- AnMaster has joined.
19:07:40 <MikeRiley> been hashing out a new fingerpritn to make people's lives miserable!!! eheheheheeheheheh
19:09:07 <SimonRC> it seems the lang-o-meter has swung from brainfuck to befunge in the last few monthes
19:09:29 <MikeRiley> i bet it swings all over the place in cycles....
19:10:46 <tusho> SimonRC: it hasn't been brainfuck for ages.
19:11:39 <SimonRC> when was the big PEBBLE and co surge?
19:12:52 <SimonRC> I thought it must have been early 2008
19:13:09 <pikhq> It spanned from 2006 to 2007, IIRC.
19:13:38 <pikhq> And since when was it PEBBLE and co? :p
19:13:38 -!- atrapado has joined.
19:13:39 <SimonRC> especially when one is using TRDS
19:14:09 <tusho> i still want trdsfuck
19:14:14 -!- Corun has quit ("This computer has gone to sleep").
19:14:17 <tusho> how about a lang that requires TRDS to be tc
19:15:15 <SimonRC> well, you could remove any non-constant jumps except those through time?
19:17:30 <SimonRC> and some of the switches pointone way by default, but point the other way when there is a train in a certain other position
19:18:11 <SimonRC> then you can only make decisions by timing your jump right to switch your earlier self to go another way or not
19:18:37 <MikeRiley> intersting concept!!! eheheheheheeh
19:19:20 <SimonRC> actually, I wonder if one can use the signalling rules from OTTD to make a turing-complete machine
19:19:31 <tusho> SimonRC: what is an infinite loop in that?
19:19:35 <tusho> one instruction per char, of course
19:34:22 -!- olsner has quit ("Leaving").
19:34:56 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
19:48:04 -!- MikeRiley has left (?).
19:49:27 -!- oklopol has joined.
19:50:15 <AnMaster> SimonRC, nice idea with switches
19:51:55 <tusho> i was curious about his idea
19:52:03 <tusho> so I asked him what an infinite loop would look like
19:52:51 <AnMaster> tusho, you would lay the track in a circle?
19:52:59 <tusho> AnMaster: that doesn't involve time travel
19:53:13 <AnMaster> tusho, well changing the switches does
19:53:20 <AnMaster> anyway infinite loop then is easy
19:53:54 <tusho> but I was hoping for something a bit more contrived
19:54:01 <SimonRC> an infinite loop would just be a loop of track actually
19:54:02 <tusho> to actually demonstrate the changing history part
19:54:05 <AnMaster> well I'm not much of an idea guy
19:54:48 <SimonRC> it's only conditional jumps that require switches, which require the possibility of a seond train, which requires time-travel
19:54:53 <AnMaster> it should use an XML format IMO, just to piss of everyone
19:55:35 <AnMaster> <segment startx="32" starty="42" endx="20" endy="42" />
19:56:03 <AnMaster> or you could use a sane format if you wanted :P
20:00:51 -!- Corun has joined.
20:04:39 -!- RodgerTheGreat has quit.
20:10:17 -!- calamari has quit ("Leaving").
20:18:46 <oklopol> i stand before you with dry balls
20:20:05 <SimonRC> line 1: The reference "balls" is abmiguous.
20:28:55 <oklopol> DISABMIGUATIONIFIXATION COMPLETE
20:29:42 <oklopol> SimonRC: when i say something obscure, it's usually means either nothing, or is a south park quote
20:33:01 -!- Comtech2 has joined.
20:33:09 -!- Comtech2 has left (?).
20:33:42 -!- ihope has joined.
20:33:48 -!- MikeRiley has joined.
20:34:03 <ihope> tusho, you have no sisters.
20:34:08 <ihope> Yes, I'm being sexist. Sorry.
20:35:31 <ihope> You do have a sister?
20:36:18 <AnMaster> (maybe she got a brother though?)
20:38:23 <ihope> Actually, would it be sexist to mostly-jokingly guess that nobody on #esoteric has any sisters?
20:40:30 <AnMaster> tusho, I need to ask you a question as a OS X user
20:40:38 <AnMaster> tusho, wtf is the command "ditto" on OS X
20:40:49 <AnMaster> To install the results, become root and do
20:40:55 <tusho> it's a bsd command
20:40:59 <Deewiant> http://www.google.com/search?q=man%20ditto
20:41:06 <tusho> from what I can tell
20:41:11 <tusho> ditto -- copy files and directories to a destination directory
20:41:11 <Deewiant> ditto -- copy directory hierarchies, create and extract archives
20:43:15 <AnMaster> tusho, I'm trying to finally build LLVM
20:43:56 <AnMaster> but as it is coded in C++ this will take ages heh
20:49:56 <oklopol> vacuuming fruit flies = the stuff
20:50:23 <SimonRC> oooooooooooooooooooooooooooook
20:59:02 -!- CakeProphet has joined.
21:05:05 -!- lilja has joined.
21:15:06 -!- MikeRiley has left (?).
21:20:37 -!- Hiato has quit ("Leaving.").
21:42:33 <oklopol> well it's pretty high up in the classical sense
21:42:52 <psygnisfive> when you hear the words "formal", "formalism", etc. e.g. "formal language", "formal grammar", etc. what do you think of, what does it mean to you?
21:43:03 -!- Corun has quit ("This computer has gone to sleep").
21:43:09 <oklopol> it's a visual thought with lots of pretty graphs
21:43:38 <psygnisfive> what do you believe formalism means, in that usage?
21:44:04 -!- olsner has joined.
21:44:44 <oklopol> err, what it means? umm, i assumed like a formal grammar generation ruleset.
21:44:58 <oklopol> "formalism" doesn't strike as anything specific to me
21:45:09 <psygnisfive> right but what qualifies something as formal, as opposed to informal
21:45:16 <oklopol> grammar isn't usually generated of course
21:45:32 <oklopol> i meant a formal language generation ruleset, which is really cookietalk for formal grammar
21:45:45 <oklopol> psygnisfive: i honestly don't know
21:46:38 <oklopol> psygnisfive: don't read too much into that
21:46:47 <psygnisfive> well i AM in florida, so it is pretty hot here
21:47:58 <oklopol> psygnisfive: well what is this formalism everybody talks about nowadays?
21:47:59 <ihope> Computer programs are formal. Exact English descriptions are formal. Stuff like "really close" is not formal. Stuff like "A set is something that contains things" is not formal.
21:48:44 <oklopol> really close is clearly fuzzy logic
21:48:45 <psygnisfive> in that your final sentence is correct, but everything else is "maybe"
21:49:10 <oklopol> the last is simply a true sentence
21:49:35 <psygnisfive> noone i talk to seems to know what formalism is! :(
21:50:07 <psygnisfive> in a bit. im making a bumper sticker right now.
21:50:31 <oklopol> that makes no sense, but i guess it's funny.
21:51:00 <psygnisfive> if i were a scheme fanatic i'd be more inclined to say "My other car is a first."
21:51:14 <psygnisfive> but that's a bit too hard to get for the casual lisp driver.
21:51:22 <psygnisfive> car and cdr are mirror images of one another.
21:51:30 <oklopol> err, everyone knows what they are
21:51:37 <tusho> oklopol: 'My other car is a Toyoto'
21:51:40 <tusho> it's a parody of that
21:51:50 <oklopol> just saying that makes no sense imo
21:52:05 <tusho> well, technically it doesn't
21:52:09 <tusho> cdr isn't "another car"
21:52:12 <tusho> it's a different operation
21:52:22 <oklopol> indeed, it's just "haha car is like a list operation too xDxD"
21:52:31 <oklopol> but it doesn't actually make sense
21:52:33 <psygnisfive> the only REALLY difference is that they select different members of a cons pair
21:52:52 <psygnisfive> and you could swap all car/cdr operations and you'd get no changes in behavior
21:53:10 <tusho> you'd have to swap cons psygnisfive
21:53:22 <tusho> at which point, uhh, you've just swapped the two functions
21:53:42 <tusho> -> (cdr (cons 1 2)
21:53:49 <tusho> your swaps don't work
21:54:22 <tusho> so they return different values
21:54:29 <tusho> so swapping all car/cdr applications DOESN'T WORK
21:54:43 <tusho> psygnisfive: Then you've renamed 'car' to 'cdr'.
21:54:44 <oklopol> come to #esoteric to see people know everything and assume others don't know anything
21:54:53 <psygnisfive> but tell me how car and cdr REALLY different
21:54:55 <tusho> psygnisfive: And swapped cons' argument order.
21:54:59 <tusho> You can do that with any two functions.
21:55:17 <psygnisfive> car and cdr differ only in that they map to different members of a cons pair
21:55:33 <psygnisfive> cdr = the part of a cons not returned by car
21:55:48 <psygnisfive> but ultimately they're identical in behavior.
21:55:48 -!- AnMaster has quit ("night").
21:56:12 <psygnisfive> since a cons pair isn't _actually_ an ordered item, abstractly speaking
21:56:40 <SimonRC> I think the point is that the only way you can tell car-ops and cdr-ops apart is by working on an assymetrical known cons pair.
21:57:09 <psygnisfive> the particular order in a given representation is irrelevant
21:57:10 <SimonRC> you *can* tell car-ops and cdr-ops apart by operating on an assymetrical know cons pair
21:57:11 <ihope> psygnisfive, tusho: why are you arguing when you agree with each other?
21:57:29 <tusho> I'm pointing out that psygnisfive's use to claim that that makes car and cdr almost the same is silly
21:57:40 <psygnisfive> SimonRC: sure, if the assymetry is dependent on car-vs-cdr
21:57:57 <psygnisfive> if lists were instead built by having the CAR of each pair point to the rest of the list
21:58:08 <oklopol> tusho the perverted spell-checker
21:58:10 <psygnisfive> then all you need to do is swap cdring down a list for caring down a list
21:58:14 <ihope> If you swap car and cdr and then swap cons, some syntactical things, and maybe other stuff, you get exactly the same behavior.
21:58:19 <tusho> oklopol: xkcd reference actually
21:58:27 <tusho> Man, that's a sweet ass-car.
21:59:01 <psygnisfive> car and cdr are ultimately the same in what they actually DO, except that each is bound to a different part of the cons pair
21:59:05 <ihope> What a bad-ass ociation.
21:59:13 <psygnisfive> the cons pair itself being abstractly unordered
21:59:28 <psygnisfive> so theres no real way to tell them apart except in how your system uses car and cdr.
21:59:59 <tusho> psygnisfive: Sussman.
22:00:24 <tusho> psygnisfive: To find out, read SICP.
22:00:25 <ihope> When will it be that computers generally optimize all executables before running them?
22:00:37 <tusho> psygnisfive: Who should read SICP.
22:00:38 <oklopol> psygnisfive: anyway i think everyone here and really everywhere know what car/cdr are
22:01:01 <oklopol> the argument is so silly you could like feed it porridge and make it sit on your face.
22:01:02 <ihope> Or, better, while running them.
22:01:06 <tusho> psygnisfive: No, I've just read my SICP.
22:01:23 <ihope> tusho: if I read SICP, will we get along well?
22:01:28 <tusho> ihope: Read SICP to find out.
22:02:20 <oklopol> psygnisfive: i think it's you who he's accusing of sicp-ignorance
22:02:42 <tusho> oklopol: You are incorrect. To find out why, read SICP.
22:02:57 <oklopol> i think sicp is a long book with too little confusing mind-numbing math
22:02:59 <psygnisfive> ive been through sicp more than once. im far from ignorant of it. :P
22:03:20 <oklopol> tusho: i've read about half of it, so perhaps i'm not *completely* incorrect?
22:03:36 <psygnisfive> i mean, consider the lambda of a cons pair
22:04:09 <tusho> oklopol: Read SICP.
22:04:54 <psygnisfive> (define (cons a b) (lambda (op) (cond ((= op 'car) a) ((= op 'cdr) b) (else (error)))))
22:05:24 <psygnisfive> and that definition can replace the existing definition of cons and NOTHING would change in your lisp system
22:06:09 -!- atrapado has quit ("Abandonando").
22:06:17 <psygnisfive> well, ofcourse (car pair) has to be defined as (pair 'car) etc
22:07:16 <psygnisfive> tusho: that example was right out of SICP :D
22:07:34 <tusho> (must-read-sicp? 'psygnisfive) ;;=> #t
22:07:56 <tusho> psygnisfive: To find out, read SICP.
22:08:06 <oklopol> psygnisfive: read sicp to me
22:08:11 <oklopol> out loud, in skype, right now
22:08:32 <ihope> Can you send a recording to me? :-)
22:08:38 <tusho> psygnisfive can I say "Read SICP" to you over and over again over skype for 7.32 hours
22:08:53 <oklopol> tusho: in your nomad voice?
22:08:56 <tusho> Once upon a time, there was a Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP Read SICP
22:09:00 <tusho> oklopol: In my Nomad++ voice.
22:10:14 <psygnisfive> tusho, do you expect people to take you seriously? :(
22:10:32 <tusho> psygnisfive: To find out the answer, read SICP
22:11:46 <ihope> psygnisfive: no, he doesn't.
22:11:49 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
22:12:16 <oklopol> no need for people who haven't read sicp to take you seriously.
22:12:50 <oklopol> it's like people who haven't read sicp |----------------| people who have
22:13:03 <oklopol> and err you know right is the right way to go
22:13:13 <tusho> ._____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
22:13:22 <tusho> the . is the insignificant people who haven't read sicp
22:13:45 <oklopol> i'm assuming your writing the massive ascii-art O in your writor pad right now
22:14:03 <tusho> psygnisfive: WHY MUST YOU LIE?
22:14:29 <oklopol> psygnisfive: that box of gifts you sent me didn't be openod :<
22:15:48 <oklopol> god i love english, i can just turn it inside out as much as i like and it's all good
22:16:05 <oklopol> i mean, from my point of view :--)
22:16:50 <oklopol> well i could never say "its" for "it's", but like, structurally.
22:17:53 <oklopol> you linguistic silly-dangler
22:18:00 <oklopol> tell me about your formalities
22:19:33 <oklopol> psygnisfive: anyway don't worry i rape all languages equally
22:42:03 -!- RedDak has joined.
22:47:23 -!- Sgeo has joined.
22:49:08 <oklopol> i'm growing out of patience
23:05:15 <ihope> "Practitioners of fencing shake with the non-sword hand after a bout. This is due to the sword hand being employed holding the weapon." http://en.wikipedia.org/wiki/Handshake
23:05:25 <ihope> One wonders when this practice first came about.
23:08:51 <oklopol> when someone forgot to drop the weapon before the shake, probably
23:11:16 <ihope> I wonder if they wore protective clothing back then.
23:12:44 <psygnisfive> http://www.spinnoff.com/zbb/viewtopic.php?p=627456#627456
23:12:52 <ihope> "In England it was not uncommon for fencing masters to take on other fencing masters in a vicious fight, often to the death, with regular intervals for medical staff to dress wounds." http://en.wikipedia.org/wiki/Fencing#History
23:16:53 -!- pikhq has quit (Read error: 110 (Connection timed out)).
23:17:40 <oklopol> "More complicated formal systems are things like phonology, where underlying forms (there's that word again) are replaced by surface forms"
23:18:47 <oklopol> On controversial idea I've com across here, which doesn't really exist in professional studies of language, is the idea of formal syntax. <<< unfortunate typo, makes this hard to parse
23:18:51 <oklopol> not that you probably care
23:19:25 <oklopol> well not actually that hard, since you can pretty much rule out "on" after reading two words
23:21:14 <oklopol> psygnisfive: there's nothing i don't know in that articly thingie.
23:21:43 <oklopol> i don't believe in meaning
23:24:30 <oklopol> i refuse to believe in a difference between formal and informal semantics
23:24:42 <oklopol> and, you know, once i trigger my belief, there's no way to stop me.
23:24:59 <oklopol> need to continue reading my book, you see
23:25:30 <oklopol> well yeah i guess there might be an *informal* difference ;)
23:26:35 <oklopol> i guess like hotdog, but you're eating a young male instead
23:27:09 <psygnisfive> is it a euphemism for you sucking my cock, by analogy to having a hotdog in your mouth?
23:27:27 <oklopol> well eating is usually for vagina or actual bite&swallow action
23:27:32 <tusho> oklopol/psygnisfive vore. wtf
23:28:03 <oklopol> right, i guess that's as probable an interpretation
23:28:19 <oklopol> well anyway, you pick, i need to continue reading
23:28:22 <olsner> I don't think that's commonly referred to as eating though
23:28:24 <oklopol> tusho: don't die, read SICP first
23:28:35 <tusho> oklopol: i've read my sicp
23:28:59 <olsner> or maybe I'm just not very well-acquainted with mouth/ass action...
23:29:05 <oklopol> i have a hard time bending that into a "read sicp" innuendo.
23:29:24 <oklopol> olsner: be careful what you say when psygnisfive's in play
23:29:41 <tusho> yeah, psygnisfive will give you a demonstration otherwise
23:30:23 <psygnisfive> im totally not suggesting sex with you if you're not of legal age.
23:30:32 <tusho> psygnisfive: whyever not
23:30:46 <psygnisfive> because underage kids like you get rape instead.
23:30:53 <olsner> my age is quite legal where I'm from :)
23:31:03 <psygnisfive> tusho's age is quite legal in the netherlands.
23:31:12 <oklopol> how can it be so fucking hard to leave, i don't exactly find this all that entertaining
23:31:22 <oklopol> mildly entertaining, yes, but the book is better
23:31:30 <tusho> if I was female and in japan i'd be legal!
23:32:04 <oklopol> this is some basic thingie about discrete math
23:32:48 <oklopol> but sometimes you gotta eat shit if you believe in __import__("random")
23:32:57 <oklopol> psygnisfive: that's what i said earlier
23:33:22 <oklopol> actually, now that i think about it, it was because i stopped dl'ing midway
23:33:25 <psygnisfive> also, tell your girlfriend if she wants to hear my gayvoice she just needs to uh.. give me something to talk about. lol
23:33:48 <tusho> jews have jew magic, right. Is there any gay magic?
23:34:07 <tusho> it's less powerful than jew magic though, surely. jew magic is the most powerful kind of magic in the world.
23:34:24 * olsner finds jew magic wildly disappointing
23:34:25 <oklopol> psygnisfive: i tend to forget the reason and remember the consequence
23:34:34 <oklopol> you can relink me if it's still up
23:34:36 <tusho> psygnisfive: what about gay jews
23:34:41 <tusho> are they like, invincible
23:34:45 <psygnisfive> they're some of the most powerful wizards on the planet
23:34:57 <tusho> psygnisfive: what about gay jew pirate ninjas
23:35:26 <tusho> let's all visualise a gay jew pirate ninja in our head
23:35:29 <tusho> fuck the universe!
23:35:30 <psygnisfive> some crackpots think that Japan is the lost tribe
23:35:48 <tusho> how the fuck do you lose japan
23:35:57 <tusho> that's like "OH, GERMANY. YEAH, I FORGOT ABOUT THAT PLACE"
23:36:01 <tusho> "WHERE IS IT AGAIN?"
23:36:19 <psygnisfive> but then they found it in someones backyard in new jersey
23:36:35 <tusho> see this is why we need the qdb
23:36:42 <tusho> I was totally ready to put those two last lines up.
23:37:03 <olsner> actually, that could be a workable plot for a film: a bad (but hilarious, or at least somewhat funny) comedy about the disadvantaged gay jew pirate ninja, fighting for his right to live his life style
23:37:16 <tusho> and jQuery (go fuck me.)
23:37:29 <tusho> because something really weird is happening with sinatra
23:37:31 <tusho> think it's my code though
23:37:34 <tusho> i didn't look at it today
23:37:37 <tusho> too busy doing other stuff
23:37:41 <tusho> i'll get it finished tomorrow
23:38:28 <tusho> for a start, there is absolutely no reason to use rails nowadays considering its horrible performance, thread unsafety and generally horridness
23:38:33 <tusho> if you really want to deveop apps like that, use merb.
23:38:44 <tusho> secondly, an architechture like that is overblown to the max for a qdb
23:38:52 <psygnisfive> rails performance wont really MATTER for an #esoteric qdb
23:38:54 <tusho> sinatra is trivial and restful.
23:39:00 <psygnisfive> since its not like its going to be a fucking massive website
23:39:04 <tusho> psygnisfive: it's superfluous and shouldn't be used anyway.
23:39:20 <tusho> sinatra is designed exactly for trivial apps like this
23:39:24 <psygnisfive> i see your fingers moving but no qdb's coming out!
23:39:36 <tusho> psygnisfive: its 23:39, I'm going soon
23:39:42 <tusho> and when I worked on it last time my mind was fuzzy
23:39:58 <tusho> it'll probably be done tomorrow.
23:40:49 <tusho> psygnisfive: i'm glad you're so insecure in your sexuality that you have to attribute it to others
23:41:15 <tusho> yes, but i'm male.
23:41:57 <tusho> 100% male, 100% female
23:41:57 -!- Sgeo has quit ("Ex-Chat").
23:42:05 <tusho> without any crippling genetic disorders!
23:42:10 <tusho> psygnisfive: WRONG
23:42:50 <olsner> hmm, so 1 * tusho = 200% * tusho? that'd mean tusho = 0
23:44:21 <psygnisfive> do you have a jew tied up in a cage or something, doing your bidding?
23:44:24 <oklopol> :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
23:44:45 <tusho> psygnisfive: it was my pal.
23:44:53 <oklopol> reading about this trivial shit about proofs makes my coding fingers tickle
23:44:54 <olsner> wow, oklopol is really smiling! what's the big deal?
23:45:00 <oklopol> i wanna make an automated prover
23:45:14 <oklopol> :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEAL
23:46:44 <oklopol> shouldn't be too hard to make it prove everything, right?
23:46:56 <oklopol> i'll probably get all the truths out by tomorrow
23:47:40 <psygnisfive> also, automata generators would be fun to make
23:47:43 <tusho> psygnisfive: your gayness.
23:47:47 <psygnisfive> something that converts to and from NFAs and DFAs
23:48:30 <oklopol> like prove cool truths given a set of sexy axioms
23:48:41 <oklopol> although i'd probably make it a bit more specifix
23:48:56 <oklopol> well i'd probably be happy with just doing something like even * even = even
23:49:26 <oklopol> even x = (exists i: x = 2i)
23:49:51 <oklopol> then prove forall x: even x & even y => even x*y
23:50:04 <oklopol> fail @ quantification there, but you get it
23:51:44 <oklopol> ideal scenario would be getting a few simple proofs like that by making a kinda ruleset for how i would prove that myself, and then find something more complex that it manages to prove
23:51:58 <oklopol> => masturbation material for the rest of my life
23:53:00 <oklopol> well not really, i consider programs my children more like, so i don't find them that sexy
23:53:19 <olsner> but you could have sex with other people's programs? as long as they're old enough?
23:54:37 <oklopol> but no i'm actually quite indifferent about other people's programs
23:54:50 <oklopol> so really it's not probable i'll ever have sex with a computer program
23:55:16 <oklopol> unless i like make it, then leave for a few years, and come see it again
23:55:24 <psygnisfive> not have sex with a computer program? what a weirdo
23:56:01 <oklopol> a real-life fetish for program source would be so cool
23:56:28 <oklopol> i've had the occasional boner of course, but i don't actually open programs as porn
23:56:43 <tusho> i dooooo psygnisfive
23:57:18 <tusho> psygnisfive: oh baby, that's so well-typed
23:57:46 <oklopol> types are one of the sexiest things imo
23:58:12 <oklopol> that is, restricted type systems
23:58:21 <oklopol> python doesn't really work for me
23:58:29 <tusho> oh, restrict my type baby
23:58:38 <tusho> oh, oh, yeah, restrict that polymorphism good
23:59:02 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
23:59:03 <olsner> this conversations brings new meaning to the term Bondage and Discipline language :)
23:59:06 <psygnisfive> then again, i also rarely use variables for more than one type
23:59:34 <olsner> anything excluding sexual allusions?
23:59:34 <oklopol> psygnisfive: it's not that they're nice in practice, i just think it's a fairly hot concept.
23:59:47 <oklopol> graphs are my favorite for pretty much all purposes ofc
00:00:17 <psygnisfive> we need to make a language thats highly parallel in its primitives
00:00:33 <oklopol> everything is executed at the same time INFINITE TIMES
00:00:52 <psygnisfive> haskell i dont like because its very recursive in its parallelism
00:00:56 <oklopol> ALSO ALL COMBINATIONS OF ALL OPERATIONS ARE EXECUTED IN PARALLEL GARAGHAHAHGRAREDS
00:02:16 <psygnisfive> thats not really parallelizable! you've got all sorts of crazy recursions that need to be distributed, thats just crazy talk there
00:02:33 <tusho> psygnisfive: that map function...
00:02:35 <oklopol> now look at map in Ef: (f .l){\x:l => ?x = f x}
00:02:35 <tusho> what is its type...
00:02:47 <tusho> (a -> b) -> [a] -> [b]
00:03:23 <oklopol> ef is one of my awesomest languages
00:04:04 <tusho> erlang is explicitly parallel psygnisfive
00:04:35 <oklopol> in erlang you just do it with existential quantification and you can parallelize it all mwahaha!!!
00:04:35 <psygnisfive> i just wanna experiment with a language that doesn't define things in such a way that parallelism has to be explicit
00:04:54 <psygnisfive> nor do collections have to be accessed by defining recursions
00:06:06 <oklopol> i'm gonna do some sleeping now.
00:06:38 <oklopol> WHEN YOU FAIL IT'S TIME TO BAIL
00:08:44 <oklopol> so, an episode of awesome south park, or sleep?
00:11:06 <oklopol> 02:10… +oklopol: %choice jax sleep
00:11:17 <oklopol> jax is finnish for episode ofc
00:11:35 <psygnisfive> sure its not finnish for masturbate on camera?
00:12:06 -!- olsner has quit ("sleep 21600 && wakeup").
00:13:05 <psygnisfive> im pretty sure it means "masturbate on camera"
00:19:04 <psygnisfive> mah bumper sticker dont stick to mah bumper
00:20:13 -!- Sgeo has joined.
00:37:04 -!- tusho has quit.
00:55:30 -!- calamari has joined.
01:36:19 -!- tritonio has joined.
01:36:35 -!- tritonio has quit (Client Quit).
01:36:41 -!- Tritonio_ has joined.
01:51:59 <Tritonio_> hi. do you remember my table implementation?
02:30:47 -!- pikhq has joined.
03:05:52 -!- Tritonio_ has quit ("Leaving").
04:45:46 -!- Sgeo has quit ("Ex-Chat").
04:50:19 -!- RodgerTheGreat has joined.
04:57:02 -!- GreaseMonkey has joined.
05:01:27 -!- calamari has quit ("Leaving").
05:03:19 -!- pikhq has quit ("leaving").
06:13:22 -!- olsner has joined.
06:29:21 -!- Corun has joined.
06:50:09 -!- CakeProphet has quit (Remote closed the connection).
07:03:50 -!- lament has joined.
07:45:00 <lament> ok, laugh when I say shovel
07:47:20 -!- olsner has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:03:58 -!- Corun has quit ("This computer has gone to sleep").
08:41:27 -!- AnMaster has joined.
08:42:01 -!- jemarch has joined.
09:01:15 -!- lament has quit.
09:35:22 -!- CakeProphet has joined.
10:34:48 -!- tusho has joined.
10:35:47 -!- GreaseMonkey has quit ("HydraIRC -> http://google.com <- Go find something better").
11:08:59 -!- RedDak has joined.
11:09:04 -!- ihope_ has joined.
11:26:43 -!- ihope has quit (Read error: 110 (Connection timed out)).
12:28:11 -!- RedDak has quit (Remote closed the connection).
12:51:46 -!- RedDak has joined.
14:03:39 -!- pikhq has joined.
14:15:41 -!- Polar has quit (Remote closed the connection).
14:30:12 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
15:56:40 -!- MikeRiley has joined.
16:21:03 -!- MikeRiley has quit ("Leaving").
16:29:22 -!- MikeRiley has joined.
16:50:31 -!- Corun has joined.
17:11:02 -!- Sgeo has joined.
17:15:55 -!- lament has joined.
17:27:13 -!- lilja has joined.
17:28:33 -!- lament has quit.
17:30:34 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
17:30:48 -!- psygnisfive has joined.
17:46:57 -!- AnMaster has quit ("thunderstorm").
17:52:16 -!- atrapado has joined.
17:52:46 -!- jemarch has quit ("ERC Version 5.0 (CVS) $Revision: 1.1.1.1 $ (IRC client for Emacs)").
18:03:55 -!- ais523 has joined.
18:06:36 <tusho> I hate having to write addons for php software
18:06:41 <tusho> foo(bar)[N] is invalid in php
18:06:48 <ais523> why do you have to write an addon for php software?
18:07:00 <tusho> ais523: So that the PHP software gains the features I want? :P
18:07:14 <tusho> at least this app is well-written as php stuff goes
18:07:33 <oklopol> a fairly arbitrary restriction considering you can make any kinds of long expressions usually, but have to do that with a temp var
18:08:04 <ais523> probably it can't figure out the data type of foo(bar) until it's called, so can't tell whether it can be subscripted
18:08:33 <oklopol> ais523: that sounds unlikely
18:08:41 <tusho> ais523: it's actually the syntax
18:08:46 <tusho> it's defined as var '[' expr ']'
18:09:01 <tusho> it's just because the php devs don't know shit about programming :)
18:09:21 <ais523> well, INTERCAL has something similar
18:09:29 <ais523> but that's not a problem because no expression returns an array value
18:09:33 <ais523> they're second-class in INTERCAL
18:10:00 <oklopol> yeah but this is something php definitely should allow as it everything is first-class
18:24:34 -!- olsner has joined.
18:32:13 -!- ihope_ has changed nick to ihope.
18:35:35 -!- oklopol has quit (Client Quit).
19:05:25 -!- 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"").
19:05:27 -!- Hiato has joined.
19:08:57 -!- Corun has quit ("This computer has gone to sleep").
19:22:09 -!- ais523 has joined.
19:23:52 -!- oklopol has joined.
19:41:57 -!- sebbu has quit (Read error: 60 (Operation timed out)).
19:45:07 -!- sebbu has joined.
19:54:41 -!- AnMaster has joined.
20:10:54 <ais523> likely there will be sometime
20:11:08 <ais523> I've spent a day or so reading the source code to Nethack
20:15:38 <tusho> what do you all think of this domain pun:
20:16:10 <tusho> desrever.su (backwards: 'us.reversed')
20:16:40 <tusho> ais523: soviet union
20:16:42 <tusho> you can still register it...
20:16:52 <tusho> 600 rub/year, so £12/year
20:17:04 * tusho is certainly considering it for the thing he's setting up
20:17:37 <tusho> i mean, as well as the clever domain pun
20:17:37 <pikhq> Or about $1,000/year? :p
20:17:44 <tusho> i can say that I own a domain from the soviet union
20:17:53 <tusho> which is pretty cool right :P
20:18:13 <tusho> Of course, if anyone else provides a better pun I might go for it.
20:18:19 <tusho> but desrever.su is also quite nice to _type_
20:18:28 <tusho> 'Attention! To execute orders for registration of second level domain names in RU and SU domains, written contract must be signed. '
20:19:09 <tusho> (second time today)
20:19:44 <psygnisfive> in soviet russia, domain name request executes YOU!"
20:20:00 <tusho> ais523: do you think the domain pun is worth a signed bloody contract
20:20:10 <tusho> £12/year, sure. written contract? no.
20:20:23 <tusho> psygnisfive: that's where YOU come into play!!!!!!111
20:20:26 <tusho> where YOU = #esoteric
20:21:02 <tusho> involving 'us' or 'ourselves' would be nice
20:24:20 <ais523> httpcolonslashslashhttpcolonslashslashhttpcolonslashslashdotdotdotdotcom.com
20:24:38 <ais523> although maybe the first dotdotdot should be ellipsis
20:24:49 <ais523> change the "com" to taste
20:24:50 <tusho> http://httpcolonslashslashslashdotdotorg.org
20:27:17 <tusho> psygnisfive: the BBC says slash
20:27:17 <ais523> no, should be slash because that's what Slashdot uses
20:29:55 <psygnisfive> in the middle ages, / was like , and // was like -
20:30:14 <psygnisfive> you ever wonder what orthography will be like in the distant future?
20:31:54 <Deewiant> psygnisfive: http://en.wikipedia.org/wiki/Slash_(punctuation)
20:32:25 <Deewiant> a slash, by itself, refers specifically to /
20:32:49 <Deewiant> calling it a forward slash is redundant
20:33:44 <tusho> 'SHUT UP YOU AND YOUR TRUTH'
20:35:23 <psygnisfive> http://en.wikipedia.org/wiki/Space_%28punctuation%29
20:35:32 <psygnisfive> theres a big blank space displaying... a space character
20:36:23 <Deewiant> well, if your font displays the space character as a smiley face
20:36:40 <psygnisfive> oh, well yes, if you're using a retarded font then you're correct ofcourse
20:38:28 <ais523> are you trolling or trying to make a joke, or something?
20:39:00 <ihope> psygnisfive: when you say -, do you mean dash?
20:44:48 <psygnisfive> my character palette displays the hyphen-minus next to +
20:45:24 <Deewiant> yes, because it displays it in numerical order by codepoint, probably
20:45:38 <psygnisfive> no, i was looking at it by character type and junk
20:45:54 <Deewiant> maybe it sorts like that anyway, though
20:45:56 <psygnisfive> tho maybe within that its humerical, you could be right
20:49:37 <psygnisfive> my semantics prof used a minus sign for set minus
20:50:00 <Deewiant> as I said, those are the two that are generally used
20:50:41 <Deewiant> ah ha, I knew there was a code point for it
21:01:07 -!- pikhq has left (?).
21:06:33 <tusho> velociraptu.re is not taken
21:06:38 <tusho> but you have to be in reunion something
21:23:50 <AnMaster> Deewiant, http://www.dsource.org/projects/llvmdc/
21:23:57 <AnMaster> Deewiant, does that work with ccbi?
21:33:02 <tusho> otherwise I'd get bolog.ist (inside joke)
21:33:20 -!- Hiato has quit (Read error: 104 (Connection reset by peer)).
21:36:49 <SimonRC> ah, the wonders of spam: http://spamusement.com/forums/viewtopic.php?t=8621
21:37:00 <SimonRC> specifically, the subject lines
21:37:36 -!- timotiis has joined.
21:41:57 <tusho> psygnisfive: inside joke.
21:42:16 <tusho> it's from biologist, obviously
21:43:28 -!- MikeRiley has quit ("Leaving").
21:49:50 -!- atrapado has quit ("Abandonando").
21:52:28 -!- ihope has changed nick to comexicomex.
21:52:52 -!- comexicomex has changed nick to ihope.
21:58:46 -!- RedDak has joined.
22:04:24 -!- pikhq has joined.
22:05:37 * ais523 just had a strange moment: I was looking up how to build mingw programs on cygwin
22:05:45 <ais523> and found it on delorie.com, of all places
22:05:49 <ais523> that's the website of DJGPP...
22:07:34 <ais523> I was just amused at the profusion of compilers that compiled UNIXy stuff for windows, on one webpage
22:07:37 <ais523> or at the involvement of such
22:10:45 <ais523> anyway, it took about 24 hours to make, but I finally have Cygwin on my USB stick
22:10:55 <ais523> and working on more than one compuer
22:11:17 <ais523> the long time period was because I installed directly onto the USB stick for disk space reasons
22:11:54 <SimonRC> you lack the disk space to install cygwin?
22:12:11 <ais523> the Windows computer I have doesn't have much disk space left
22:12:26 <ais523> also, having it on a USB stick means I can use it on multiple computers
22:12:40 <ais523> although I haven't yet figured out what to do about /etc/passwd
22:12:50 <SimonRC> but an install to disk then copy to USB would have been faster presumably
22:13:01 <ais523> yes, it would have been
22:13:08 <ais523> I didn't mind running cygwin setup overnight, though
22:16:00 <SimonRC> unless it goes: 10% complete. I must now ask you a pointless question I have just worked out the answer to myself.
22:16:28 <ais523> no, there were no pointless questions
22:16:34 <ais523> not during the install, anyway
22:16:44 <ais523> a couple beforehand but it guessed wrong so I'm glad it asked
22:25:04 <olsner> who wants a cleveland steamer?
22:27:07 <SimonRC> please, this is a PG-13 channel
22:27:50 * pikhq walks around the room naked
22:28:57 <tusho> it's not a pg-13 channel SimonRC
22:29:07 <tusho> hasn't been since oklopol and bsmnt arrived
22:29:11 <tusho> which was ages ago.
22:29:42 <ais523> well, it still is as long as the guilty parties (which has expanded to more now) aren't talking
22:30:13 <SimonRC> ah, but IRC speech acts are of 0 duration, so almost all the time it is so
22:32:43 <tusho> ais523: who cares though, honestly
22:32:56 <tusho> the only people under 13 who visit here (3 of them) aren't exactly innocent little things
22:33:13 <ais523> I care because I visit this channel to talk about esolangs
22:33:23 <ais523> and other similar stupid things to do on computers
22:33:24 <tusho> ais523: and we do.
22:33:26 <tusho> but when there's nothing to talk about
22:33:29 <tusho> we talk about random crap
22:34:01 <SimonRC> I was joking goshdarnit; the joke was that I was taking "cleveland steamer" as sexual innuendo.
22:34:52 <ais523> SimonRC: it's not you I was complaining at, nor olsner
22:35:16 <tusho> it's oklopol and psygnisfive, yes, we know
22:35:24 <tusho> it only goes on when there's no reasonable discussion.
22:35:33 <tusho> and it's amusing, to some of us at least
22:35:52 <tusho> psygnisfive: ais523 is complaining that the channel isn't pg13
22:36:48 <tusho> oh you wacky psygnisfive
22:39:21 * tusho awaits domain propogation
22:41:19 -!- AnMaster has quit (Connection timed out).
22:42:37 <tusho> it's sekrit! and also an injoke.
22:42:39 <psygnisfive> also, ais, i recently downloaded 29 books on theory of computation, do you want?
22:43:03 <ais523> tusho: which domain did you register?
22:43:05 <tusho> .st costs £27/year
22:43:22 <tusho> ais523: it's sekrit! also an injoke. but rutian's apache config files have it obviously.
22:43:28 <tusho> being an injoke you're unlikely to get it.
22:43:35 <tusho> also don't give anyone the url. it's sekrit.
22:45:30 <tusho> i didn't get tus.ho
22:46:07 <ais523> oh, ok, I was only seeing one side of the conversatoin
22:46:10 <ais523> yes, I had you on ignore
22:46:27 <ais523> when people start talking about that sort of thing I just put them on /ignore for a while usually
22:46:34 <ais523> so it doesn't disturb me while I'm doing other things
22:46:36 <psygnisfive> psygnisfive: also, ais, i recently downloaded 29 books on theory of computation, do you want?
22:46:49 <ais523> well, anything that's widely offtopic and I'm not interested in
22:46:51 <SimonRC> ais523: why not just not look at irc?
22:47:08 <ais523> SimonRC: I have notifications pop up on top of everything when something comes through on IRC
22:47:35 <ais523> psygnisfive: no, I just have a different sense of humour from you, I don't mind you showing yours to other people in the channel, so I just filter it out my end
22:47:41 <ais523> that way everyone's happy except when the subject changes
22:48:05 <psygnisfive> <psygnisfive> also, ais, i recently downloaded 29 books on theory of computation, do you want?
22:48:32 <ais523> definitely not if it was illegal, as I'm deliberately keeping this computer copyright-clean
22:48:45 <ais523> and also I don't like breaking the law in general anyway
22:48:50 <tusho> STUPID DOMAIN PROPAGATION
22:48:58 -!- Sgeo has quit (Connection timed out).
22:49:07 <SimonRC> ais523: indeed, you should see me at traffic lights
22:49:07 * tusho adds to /etc/hosts for now
22:49:10 <ais523> tusho: anyway I couldn't figure out what domain it was even after looking at the conffiles
22:49:26 <SimonRC> tusho: propagation takes hours, you know
22:49:37 <tusho> But eso-std.org propagated in like
22:49:59 <SimonRC> try throwing gems at unicorns
22:50:00 <oklopol> with any decent client you could just filter by message.split(' ') intersection badwordlist == []
22:50:28 <oklopol> also i'm rarely all that foulmouthed unless provoked
22:50:49 <psygnisfive> ill have to use good words in highly euphemistic ways :D
22:51:19 <ais523> SimonRC: doesn't it depend on what colour of unicorn
22:51:24 <ais523> and how genuine the gem is?
22:51:32 <ais523> if not, you could just throw the gems at an off-aligned unicorn
22:51:37 <ais523> then kill it and sacrifice it for the alignment
23:06:57 -!- sebbu2 has joined.
23:10:10 -!- 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"").
23:20:09 -!- sebbu has quit (No route to host).
23:45:23 <psygnisfive> Jack: ::yell at Gwen's husband, insulting him, etc.::
23:45:40 <psygnisfive> Jack, looking at Gwen: This is quite homoerotic..
00:03:55 -!- Lectus has joined.
00:03:59 -!- Lectus has left (?).
00:07:44 * SimonRC goes to bed (The Alfandra empire shall be reunited! If I can be arsed.)
00:09:44 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
00:28:21 -!- timotiis has quit (Read error: 110 (Connection timed out)).
00:29:55 -!- CakeProphet has quit ("lolwhut?").
00:35:07 -!- CakeProphet has joined.
01:05:38 * pikhq would like to declare that John Carmack kicks some major ass
01:21:50 -!- tusho has quit (Remote closed the connection).
02:07:14 -!- olsner has quit ("Leaving").
02:27:39 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
04:14:18 -!- lament has joined.
04:23:32 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
05:08:14 -!- pikhq has quit ("leaving").
06:40:48 -!- CakeProphet has joined.
07:44:36 -!- sebbu has joined.
07:54:29 -!- GreaseMonkey has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:43 -!- sebbu2 has quit (Connection timed out).
08:06:13 -!- olsner has joined.
09:17:08 -!- lament has quit.
09:29:52 -!- olsner has quit ("Leaving").
09:30:56 -!- jemarch has joined.
09:39:49 -!- AnMaster has joined.
10:21:09 <Deewiant> AnMaster: I very much doubt that LLVMDC can currently compile Tango, hence you can't compile CCBI with it either
10:30:51 -!- tusho has joined.
10:36:43 -!- GreaseMonkey has quit ("HydraIRC -> http://google.com <- Go find something better").
11:36:07 <Deewiant> AnMaster: that is, I haven't tried it myself but from what I gather it's not at all production-ready
11:42:11 <AnMaster> Deewiant, it seems to be so indeed
11:44:30 <AnMaster> Deewiant, what should a funge interpreter do on an empty input file?
11:44:37 <AnMaster> is it allowed to error out on it?
11:45:29 <Deewiant> why not... unless you think an IP is going to jump from the future and start editing it, or a concurrent IP running in another file will ;-P
11:46:07 <AnMaster> Deewiant, ok thanks, it means I can simplify loading from file code a lot by simply mmap()ing the file and then reading from that
11:46:32 <tusho> I have a new slogan. CFUNGE: Who cares, it's fast
11:46:47 <Deewiant> it's equivalent to a C executable erroring out given the code "main() { for (;;); }"
11:47:27 <tusho> ERROR: INFINITE LOOP DETECTED
11:47:30 <tusho> PROGRAM DOES NOT HALT
11:47:34 <tusho> COMPILATION TERMINATED.
11:52:35 <AnMaster> <tusho> I have a new slogan. CFUNGE: Who cares, it's fast
11:52:46 <AnMaster> it is about cleaning up the IO stuff
11:53:00 <tusho> CFUNGE: Who cares, the code is modular and pretty
13:34:50 -!- KingOfKarlsruhe has joined.
13:56:45 -!- pikhq has joined.
14:29:38 <AnMaster> tusho, as a result of this change to mmap() there is no more posix_* functions I think
14:29:52 <AnMaster> this will make you complain less I hope
14:29:55 <tusho> You can still handle empty files.
14:30:18 <AnMaster> tusho, yes just need to create an empty funge-space
14:30:28 <AnMaster> which is what I'm coding right now
14:30:38 <AnMaster> tusho, mmap() doesn't work on files of size == 0
14:30:40 <tusho> Just special-case it.
14:30:53 <AnMaster> tusho, so yes I will special case it indeed
14:31:05 <AnMaster> an empty file == empty funge space
14:31:16 <tusho> why even bother with fungespace
14:31:19 <tusho> just loop forever.
14:32:04 <AnMaster> tusho, um what? funge space is created empty....
14:32:19 <AnMaster> and an empty file would load nothing into it
14:32:26 <tusho> AnMaster: if (filesz == 0) {for (;;); }
14:32:38 <AnMaster> tusho, doesn't work as you can load files with i
14:32:55 <tusho> if (filetoloadsz == 0) { for (;;); }
14:34:49 <AnMaster> I prefer short variable names that are still readable :P
14:34:57 <AnMaster> len is such a one, it means length
14:58:34 -!- ais523 has joined.
15:00:19 <AnMaster> ais523, I changed my file loading to use mmap() now in order to simplify parser and to get rid of the posix_fadvise stuff, I guess mmap() don't cause any problems for C-INTERCAL?
15:00:54 <ais523> in fact I don't think you could do anything to cause problems unless either you do stack-smashing or something similar, or you fundamentally change the way the stack behaves (such as by using pthreads)
15:01:29 <AnMaster> ais523, well I do compile with stack smash protection on my system
15:01:45 <ais523> I'm not actually doing any stack-smashing
15:02:02 <ais523> but I expect the bit of the stack I use to be untouched by whatever you're doing
15:02:16 <ais523> which it will be if the stack acts as a stack
15:02:35 <ais523> and you don't, say, return from functions more often than you call them, which probably isn't even possible in C
15:03:35 <ais523> yes, I use it quite a bit
15:03:46 <ais523> but that's returning /less/ often than you call the functions...
15:04:13 <ais523> it's because I was messing around with longjmp that AnMaster's asking all sorts of questions about what will cause bad interactions
15:04:33 <ais523> but I think I've got it pretty watertight now against anything e might try short of forking and returning twice, or using pthreads
15:04:49 <pikhq> Well, given some inline assembly, one could probably screw with the stack so that you can keep ret'ing forever...
15:05:56 <pikhq> ret_add: stick ret_add on the stack. return.
15:06:21 <ais523> strangely that wouldn't be a problem
15:06:32 <ais523> the sort of thing that would be would be taking a snapshot of the stack continuation-style and using it later
15:06:57 <pikhq> Isn't that what longjmp *does*?
15:07:10 <ais523> longjmp only records the location on the stack
15:07:15 <pikhq> Sorry; it's been a while since I've looked at longjmp.
15:07:24 <ais523> and longjmp pops the right number of elements to get down to it
15:07:35 <ais523> so it's just like RESUME with an argument greater than 1 in INTERCAL
15:07:44 <ais523> except that in INTERCAL you have to calculate the argument yourself
15:07:49 <ais523> and in C the runtime calculates it for you
15:09:22 * pikhq considers longjmp and setjmp a form of arcane magic.
15:09:41 <pikhq> One which I simply *must* find an excuse to use in my 'intro to CS' cflass.
15:10:05 <ais523> pikhq: I have an IOCCC entry ready for the next time it's open
15:10:09 <ais523> which uses stack smashing to store data
15:10:19 <ais523> I'd actually like to test it on AnMaster's stack-smash-protected system
15:10:30 <ais523> because I think that unlike other stack smashing methods it should be pretty portable
15:10:48 <pikhq> http://pikhq.nonlogic.org/bubble-indent.c <- My attempt at obfuscated C code.
15:10:49 <ais523> basically it should work on anything that uses an array-like rather than linked-list-like structure as the variable stack
15:11:13 <pikhq> Oh; I think I've paraded that about before.
15:11:18 <ais523> incredibly readable, also you're using a GNU-specific extension
15:11:32 <ais523> let me try to figure out what the algorithm does
15:11:33 <pikhq> Well aware that I'm using a GNU-specific extension.
15:11:43 <ais523> because you can still have an obfuscated algorithm in a readable program
15:11:44 <pikhq> Quite intentional.
15:12:13 <pikhq> In the IOCCC, you get extra points for having well-formatted code that people still can't figure out. ;p
15:12:24 <ais523> well, mine /is/ well-formatted
15:12:26 <ais523> it's indented correctly
15:12:39 <ais523> only it looked a bit long, so I wrote it in two columns and indented each of those correctly
15:13:11 <pikhq> Well, yeah. Your obfuscation comes from it storing data via stack smashing, not from exploiting the insanities of C's syntax.
15:13:23 <ais523> no, it exploits the insanities of C's syntax too
15:13:44 <ais523> I'll show you somehow if you promise to keep it secret, I wouldn't keep it secret normally but you can be disqualified from the IOCCC for publishing an entry early
15:13:52 <ais523> also I can paste my entry last year
15:13:57 <ais523> which didn't use stack-smashing
15:14:35 * ais523 waits for pastebin.ca to load
15:15:09 <pikhq> Lemme know when or if you've figured out my C code there.
15:15:30 <ais523> bubble sort of its command line argument?
15:15:50 <ais523> must be, I just noticed the file name
15:15:56 <pikhq> Dammit; you figured it out.
15:16:08 <pikhq> That was fun to write, at least.
15:16:12 <ais523> that was a guess to start with on the basis that you were comparing consecutive string elements and going back to the start if they were equal
15:16:24 <ais523> s/equal/different in the wrong way/
15:16:51 <pikhq> Actually, comparing characters in argv[1].
15:17:18 <ais523> the first command line argument
15:18:12 <Deewiant> ah, statics are initialized to zero
15:18:44 <ais523> http://rafb.net/p/iaUKUX21.html
15:18:47 <ais523> that's last year's entry
15:18:55 <ais523> it seems to have screwed the whitespace up slightly, but oh well
15:19:10 <ais523> (I encoded hidden info in the whitespace, so it's relevant...)
15:19:24 <ais523> that needs a command-line define to work
15:19:43 <ais523> gcc '-D_(a,b,_,d,e)=while(a(d(e(_?putchar(b):(c=getchar())<0?b:c))))' -Dunsigned= -funsigned-char -ansi
15:19:53 <ais523> plus the filename of course
15:19:59 <ais523> but it's not a ridiculously long define
15:20:18 <ais523> Deewiant: that's a neat trick, I absolutely need argv to be pointer to pointer to unsigned char
15:20:26 <ais523> so I write unsigned char** as its data type
15:20:45 <ais523> but that violates the standard, so when using gcc I define the unsigned away and use -funsigned-char to add it implicitly...
15:20:49 <pikhq> Is that a Brainfuck implementation?
15:21:15 <ais523> also the block of BF-like code near the start is not all Brainfuck
15:21:28 <ais523> the rest is just junk that's there to make it hard to read
15:21:57 <Deewiant> hm, the rafb syntax highlighter doesn't catch that it's a comment
15:22:16 <ais523> well, yes, the / and the * of the start-comment marker are on different lines
15:22:20 <pikhq> Deewiant: That's because it uses a naive parser, I bet.
15:22:22 <ais523> very few syntax highlighters catch that
15:22:50 <pikhq> ais523: Nice work on the comment insanity.
15:23:03 <ais523> pikhq: strangely, that's the only way I could do it
15:23:08 <pikhq> I *still* don't get it, but I can get that part, at least.
15:23:11 <ais523> you see, the program's a C/Perl/Brainfuck polyglot
15:23:24 <ais523> and /* is inevitably a syntax error at the start of a Perl program
15:23:27 <pikhq> That explains a lot.
15:24:04 <ais523> the Perl and the BF programs just discover yet more programs hidden in the original
15:24:14 <ais523> #; '/\' <<; /)|}.${.(/=)_$(
15:24:18 <ais523> that line should give something else away
15:24:31 <ais523> and also explain why the first line is blank
15:24:39 <ais523> nope, not even shell looks like that
15:24:43 <ais523> it's Perl, but written backwards
15:24:48 <pikhq> You've not seen my shell.
15:25:13 <ais523> pikhq: I'd love to see a shell which actually understands syntax like that
15:25:16 <ais523> and isn't just backwards Perl
15:25:40 <pikhq> Though I bet there's a way to get Zsh to handle that syntax.
15:26:02 <ais523> I'm pretty sure there's a way to get bash to /tab-complete/ that syntax
15:26:07 <ais523> although why you'd want it to is beyond me
15:26:44 <ais523> anyway, it isn't a "naive" implementation of Brainfuck
15:26:48 <pikhq> Zsh's tab completion is much better than Bash's.
15:26:53 <ais523> because it handles the loops somewhat funkily
15:27:02 <ais523> pikhq: I know, which is strange as Bash's is Turing-complete
15:27:17 <ais523> Deewiant: it's written in bash
15:27:22 <ais523> so not particularly surprising
15:27:23 <pikhq> Zsh's is a superset, IIRC.
15:28:33 <pikhq> Yup; zsh's completion bits are generally zsh functions.
15:44:42 -!- MikeRiley has joined.
15:46:33 <AnMaster> <ais523> I'd actually like to test it on AnMaster's stack-smash-protected system <-- hm?
15:46:45 <ais523> AnMaster: my stack-smashing IOCCC entry
15:46:55 <ais523> I can try it over here
15:47:08 <AnMaster> 4.2 or later (or 4.1 with distro-patched gcc)
15:47:29 <AnMaster> gentoo has the patch back ported to 4.1, but official gcc only got it in 4.2 iirc
15:48:14 <AnMaster> ais523, oh btw does C-INTERCAL build using LLVM?
15:48:22 <AnMaster> cfunge builds fine with llvm-gcc
15:48:37 <AnMaster> but it is really a pain to setup, so I wouldn't even try that myself on ick
15:48:42 <ais523> AnMaster: I've never tried
15:49:38 <AnMaster> ais523, reading POSIX specs it turns out mmap() is optional, but have you ever seen any modern system that lacks mmap()?!
15:50:39 <AnMaster> ais523, I added a check for that in cfunge, (like it depends on IEE <whatever it was> floating point)
15:50:48 <tusho> AnMaster: Windows.
15:51:31 -!- MikeRiley has quit ("Leaving").
15:51:45 <ais523> yes, IIRC cygwin can't handle it
15:52:25 <pikhq> AnMaster: Strictly speaking, you only need brk() for malloc purposes; mmap() is optional, but very, very handy.
15:52:38 <AnMaster> well... I depend on mmap() now
15:52:55 <pikhq> In addition to the obvious uses of it, it makes for a much saner malloc implementation.
15:53:00 <AnMaster> ais523, sure cygwin doesn't emulate it, quite a few software depends on mmap() iirc
15:54:30 <AnMaster> anyway I'm not going to loose any sleep over that it doesn't work on cygwin :)
15:55:29 <ais523> I actually tried to get it working on cygwin earlier today
15:55:33 <AnMaster> mmap() allows the file reader to be much simpler than the previous rather complex parser that had to keep track of if last char was a \r between the fgets()s
15:55:37 <ais523> because I was checking to see if C-INTERCAL worked on cygwin
15:55:48 <ais523> C-INTERCAL itself worked first time
15:55:56 <ais523> a huge number of things it needed weren't in the headers
15:56:18 <ais523> most of the stuff the TERM fingerprint uses
15:56:26 <ais523> but there were other things too
15:56:40 <AnMaster> ais523, TERM only uses ncurses, and assumes a termcap database
15:56:41 <ais523> but apparently it didn't
15:56:51 <AnMaster> and I'm pretty sure cygwin got ncurses
15:57:05 <ais523> I can't remember off the top of my head
15:57:09 <ais523> and don't have Windows here to test on
15:57:51 <AnMaster> ais523, well, worse for Deewiant if he wants to test it officially for mycology results page at some point (still haven't had time to fix that concurrency bug, next weekend probably as I said)
16:02:08 <ais523> yep, my stack-smashing program survives -fstack-protector
16:02:14 <AnMaster> but well, it works on freebsd 6.2 with one minor change in FIXP
16:02:27 <AnMaster> ais523, it only checks for return address being clobbered iirc
16:02:36 <ais523> it segfaults with -O3 though
16:02:45 <AnMaster> if it isn't clobbered enough there will be no detection iirc
16:03:42 <ais523> all this proves is that there are some things gcc's optimiser can't handle...
16:04:00 <ais523> with code like that, though, I stand no chance of winning unless I can get it to work on a variety of ccs
16:04:14 -!- MikeRiley has joined.
16:04:24 <tusho> Imagine an AnMaster IOCCC entry.
16:04:32 <tusho> It'd be modular, multiple-files, and optimized to hell.
16:04:41 <tusho> And the .hint would be full documentation.
16:04:43 <AnMaster> tusho, no not for IOCCC of course...
16:04:45 <ais523> I don't think you can do a multiple-files entry...
16:04:54 <tusho> ais523: That would stop him?
16:04:55 <AnMaster> tusho, not that I would take part in IOCCC
16:04:58 <ais523> at least, prog.c has to compile by itself
16:05:05 <tusho> AnMaster: Yeah. It's a DISGRACE.
16:05:14 <ais523> AnMaster: http://rafb.net/p/iaUKUX21.html
16:05:24 <ais523> gcc '-D_(a,b,_,d,e)=while(a(d(e(_?putchar(b):(c=getchar())<0?b:c))))' -Dunsigned= -funsigned-char -ansi
16:05:34 <ais523> is the required command line args to gcc
16:05:49 <ais523> tusho: guess, there's a pretty big clue near the start of the program
16:05:57 <AnMaster> well as far as I can see it includes brainfuck
16:06:05 <pikhq> ais523: For the IOCCC, I think you can get away with it only working on a specific C compiler, so long as you state what C compiler it is.
16:06:16 <ais523> btw the block of code at the top is about 3/4 BF and about 1/4 padding
16:06:25 <ais523> with no obvious distinction between the two
16:06:25 <AnMaster> ais523, um "-Dunsigned= -funsigned-char "
16:06:40 <ais523> pikhq: no you can't, read the guidelines
16:06:49 <AnMaster> ais523, care to explain why -Dunsigned= -funsigned-char is there?
16:06:55 <ais523> AnMaster: well, I absolutely needed argv to be a pointer to pointer to unsigned char
16:07:03 <ais523> so I defined its type as unsigned char **
16:07:07 <ais523> ANSI doesn't like that though
16:07:16 <AnMaster> why not just remove the unsigned?
16:07:23 <ais523> so on gcc I make the program correct C89 by removing the unsigned and forcing char to unsigned
16:07:30 <ais523> AnMaster: because it has to be a pointer to pointer to unsigned char
16:07:37 <ais523> how else could I guarantee that the char was unsigned?
16:07:58 <ais523> well, one way's to use -funsigned-char
16:08:10 <ais523> in which case the unsigned is unneccessary
16:08:14 <ais523> and I can define it away
16:08:25 <ais523> but on compilers which aren't so obliging, there's the unsigned in the program itself
16:08:33 <ais523> which is theoretically wrong but should work anyway
16:11:22 <ais523> oh, and it turns on trigraph support
16:11:27 <ais523> which is off by default in gcc
16:11:34 <ais523> and there are a few trigraphs in there
16:11:47 <ais523> it's really useful so you can have an array subscript in C easily
16:17:38 <tusho> i made an interpreter for a language i made called 42
16:17:41 <tusho> http://unforgettable.dk/42.zip
16:17:59 <tusho> containing the interpreter.
16:20:31 <tusho> http://steike.com/code/useless/zip-file-quine/droste.zip
16:21:24 <Deewiant> AnMaster: TERM can't use curses
16:21:37 <Deewiant> unless you init it at the start of your program and use it for all output, then maybe
16:24:50 <AnMaster> Deewiant, give me a good reason
16:24:57 <Deewiant> initializing curses clears the screen
16:24:59 <ais523> because it might not be loaded at the start of the program
16:25:36 <AnMaster> Deewiant, and? it is cleared first time fingerprint is loaded, that's it
16:25:51 -!- Hiato has joined.
16:25:51 <AnMaster> but I could change it to make the interpreter call it
16:25:55 <AnMaster> Deewiant, it works using term.h
16:26:01 -!- Hiato has quit (Client Quit).
16:26:03 <Deewiant> and with TERM you should be able to do a"raboof",,,,,,,"MRET"4( <forget the commands, replace the written "foobar" with "foobaz">
16:26:19 <Deewiant> if you use curses, the ( clears the screen and that wouldn't work
16:26:24 <AnMaster> Deewiant, oh? where in the specs does it say so
16:26:43 <Deewiant> MikeRiley: want to help me out here? ;-)
16:26:45 <MikeRiley> TERM was not originally designed for use with curses...
16:26:59 <MikeRiley> if i remember correctly,,,TERM just outputs vt-100 codes...
16:27:09 <MikeRiley> but would have to look at the code to be sure of that...
16:27:12 <AnMaster> MikeRiley, that is not portable
16:27:19 <AnMaster> you need to use term info database
16:27:20 <tusho> AnMaster: YOUR GODDAMN THING ISN'T PORTABLE
16:27:23 <MikeRiley> i agree,,,thought about chaning it to ansi....
16:27:30 <AnMaster> tusho, it may not be to cygwin
16:27:36 <AnMaster> tusho, it is to stuff like *BSD
16:27:42 <tusho> You go complaining about portability and stuff it full of obscure functions that might not even work.
16:27:50 <Deewiant> I only tested on cygwin so that might explain why RC/Funge didn't work :-)
16:27:53 <AnMaster> tusho, all but mmap() is optional
16:27:59 <ais523> well, I think C-INTERCAL possibly predates C89
16:28:06 <ais523> although it uses prototypes throughout anyway
16:28:08 <tusho> Just stop being so ridiculous and making everyone here's life harder by whining that it's not portable for every goddamn thing we suggest.
16:28:13 <ais523> it certainly predates C89 catching on
16:28:17 <ais523> but it was modernised ages ago
16:28:19 <tusho> Nobody. Cares. How. Portable. Your. Befunge. Interpreter. Is.
16:28:20 <MikeRiley> TERM works for me while using xterm as my terminal windows...
16:28:31 <AnMaster> Deewiant, well as cygwin lacks mmap() apperently you can't get cfunge to work on it
16:28:41 <MikeRiley> ideally, the underlying code for TERM should be tailored to the environment the particular interpreter is meant to run...
16:28:46 <pikhq> Rule one of coding in C: USE AUTOTOOLS.
16:28:51 <AnMaster> Deewiant, ais523 tried it seems
16:28:52 <pikhq> Thank you, that is all.
16:28:56 <MikeRiley> the spec just specifies what TERM is to do, not how it is to do it...
16:28:57 <tusho> pikhq: Well that's an awful rule.
16:29:01 <tusho> It involves using autotools.
16:29:03 <ais523> AnMaster: there were also problems in FPSP
16:29:07 <pikhq> -- Your friendly psychotic guy who hates people not using sane build systems.
16:29:14 <MikeRiley> i used vt-100 codes since they work in xterm, i used ansi on the windows version since that woked in the dos windows...
16:29:18 <ais523> pikhq: I use autoconf but not the others
16:29:19 <tusho> pikhq: Haha, you just called autotools sane :)
16:29:22 <AnMaster> ais523, maybe, sinf() and the other *f are C99 functions
16:29:30 <AnMaster> ais523, so very possible that doesn't work
16:29:30 <ais523> pikhq: AnMaster once tried to automakise it and failed
16:29:42 <pikhq> tusho: Compared to the 4,000 line Perl script I'm being paid to make work, it is sane.
16:29:45 <MikeRiley> well,,,i know...meant more that it can be run in a windows environment instead of unix...
16:29:53 -!- kar8nga has joined.
16:30:08 <Deewiant> AnMaster: does your TERM work and not use curses, then?
16:30:10 <pikhq> Yes, a 4,000 line Perl script for a build system.
16:30:19 <MikeRiley> to a certain extent TERM is going to be platform dependent...
16:30:25 <AnMaster> Deewiant, it works but yes it initialize on first load and it uses term.h
16:30:29 <pikhq> Some days, I hate building RPMs.
16:30:33 <MikeRiley> on unix systems it could be built on top of curses,,,but that is not available for windows...
16:30:44 <Deewiant> AnMaster: as long as it doesn't clear the screen that's fine :-)
16:30:47 <AnMaster> Deewiant, putting into the addressing mode thingy cause screen to clear
16:31:00 <Deewiant> MikeRiley: PDCurses works on DOS, Windows, and various other platforms.
16:31:00 <AnMaster> Deewiant, but I found out that it isn't needed on xterm or linux console
16:31:03 <AnMaster> it may be needed on other ones
16:31:09 <ais523> AnMaster: cygwin doesn't have term.h, that's one thing that caused lots of errors
16:31:18 <AnMaster> ais523, well that is POSIX iirc
16:31:35 <Deewiant> MikeRiley: it's the only curses implementation I think I've ever used. :-P
16:31:48 <MikeRiley> i have only used ncurses on unix...
16:31:58 <Deewiant> ais523: hmm, I think cygwin should have term.h
16:32:01 <AnMaster> ais523, can't find if it is, but I'm pretty sure term.h is standard
16:32:04 <ais523> I've used both pdcurses and ncurses
16:32:09 <ais523> pdcurses on DOS, ncurses on Linux
16:32:20 <MikeRiley> cygwin should have it if the necessary package was installed...
16:32:22 <ais523> Deewiant: maybe it was in a weird place and couldn't find it
16:32:28 <ais523> MikeRiley: I installed all the packages in cygwin
16:32:29 <Deewiant> term.h comes with ncurses, no?
16:32:53 <MikeRiley> hold on, let me go and look at a cygwin installation,,,brb,,,,
16:33:02 * ais523 also looks at a cygwin installation
16:33:52 <Deewiant> ncurses/term.h, does that count
16:34:06 <ais523> probably that's the one
16:34:14 <ais523> in which case AnMaster needs to use some sort of autolocation tool for it
16:35:49 <MikeRiley> termio and termcap are the ones that are in cygwin...no term.h
16:37:40 <MikeRiley> doing a search of the entire cygwin structure does not have term.h
16:38:04 <Deewiant> maybe you don't have ncurses installed
16:38:13 <Deewiant> /usr/include/ncurses/term.h exists here
16:38:19 <MikeRiley> i thought all packages were installed, but they may not be...
16:38:22 <ais523> and I have ncurses/term.h
16:39:06 <AnMaster> ais523, try changing in cfunge then to see if it works
16:39:09 <Deewiant> and what was that about mmap in cygwin?
16:39:29 <AnMaster> Deewiant, no idea, anyway cfunge now loads files using mmap() because that makes the parser much simpler
16:39:33 <ais523> I don't know if it works, but I wouldn't expect it to
16:39:38 <AnMaster> as I no longer need to care about previous char
16:39:39 <ais523> AnMaster: never heard of fungetc?
16:39:52 <AnMaster> ais523, um yes I know about it
16:39:59 <AnMaster> ais523, but I prefer to get in chunks
16:40:11 <AnMaster> the performance for loading mycology gets worse otherwise
16:40:13 <Deewiant> so just have a buffer in between
16:40:20 <ais523> "makes the parser much simpler" and "makes the parser much faster" are contradictory to some extent
16:40:33 <ais523> so if you're going for speed, you shouldn't really go for simplicity
16:40:37 <AnMaster> Deewiant, yes but what if stuff happens a \r\n is across the edge of the buffer?
16:40:40 <ais523> after all you're even funrolling loops...
16:40:42 <AnMaster> that is what I wanted to remove
16:41:02 <Deewiant> AnMaster: why would it matter?
16:41:14 <Deewiant> you get a char, notice that it's \r, get another char, the buffer loads another block, you get \n
16:41:17 <AnMaster> ais523, -O2 already does that sometimes
16:41:17 <ais523> that's why the funroll, you see
16:41:33 <AnMaster> Deewiant, well mmap is what I use now, much simpler really
16:41:53 <Deewiant> you can just loop over the file?
16:42:14 <ais523> AnMaster: what if the whole file doesn't fit into memory?
16:42:17 <AnMaster> Deewiant, also this allowed me to get rid of some posix_fadvise stuff ;P
16:42:18 <ais523> although I suppose that would fail anyway
16:42:26 <AnMaster> ais523, then it wouldn't fit into funge space either
16:42:38 <ais523> AnMaster: yes, you need a posix_memory_cache_advise instead now
16:42:51 <AnMaster> no more posix_* in loading stuff :P
16:42:56 <Deewiant> AnMaster: but don't you now need to have memory for both the file and the Funge-Space at the same time?
16:43:16 <AnMaster> but I don't think I'm likely to hit that
16:43:28 <AnMaster> nothing in funge specs says I can't use mmap()
16:43:55 <Deewiant> no, but it's a bit wasteful to not be able to load a 300MB file with 512MB of memory :-P
16:43:55 <ais523> well, nothing in the funge specs says I can't use CreateProcessEx
16:44:04 <ais523> that doesn't mean it's a good idea...
16:44:18 <AnMaster> ais523, you are free to do so if you want
16:44:36 <ais523> not really, Microsoft went back to calling it CreateProcess
16:44:55 <AnMaster> ais523, and you may even need it (or the non-Ex version) if you want PERL to work on windows
16:45:12 <AnMaster> on *nix I can just use fork() and execvp()
16:45:13 <Deewiant> only if you're coding at the OS level...
16:45:13 <MikeRiley> btw,,,,Rc/Funge-98 v1.10 is going to have some new fingerprints....
16:45:22 <Deewiant> and fork() and execvp() are at the OS level :-P
16:45:22 <ais523> AnMaster: well, you could do the same on cygwin
16:45:30 <ais523> which can fork on Windows
16:45:33 <Deewiant> ais523: except that exec won't do what you think it does
16:45:40 <ais523> although it advices you to do spawn instead to save a lot of trouble
16:46:01 <Deewiant> but I think both fork() and exec() will do a CreateProcess
16:46:13 <ais523> fork definitely does a createprocess
16:46:20 <ais523> because cygwin doesn't cow forking processes
16:46:21 <AnMaster> only "spawn" man page here is spawn(8)
16:46:25 <ais523> but instead copies everything over at once
16:46:27 <AnMaster> " The spawn(8) daemon provides the Postfix equivalent of inetd. It listens on a port as specified in..."
16:46:38 <ais523> AnMaster: "spawn" is a common name for fork/exec mixes
16:46:54 <ais523> it's often implemented even on systems where fork isn't
16:47:45 <ais523> No manual entry for posix_spawn
16:47:53 <Deewiant> http://www.google.com/search?q=posix_spawn
16:48:29 <Deewiant> These functions are part of the Spawn option and need not be provided on all implementations.
16:48:54 <AnMaster> just fork() and execv() + some pipe() and dup2()
16:48:57 <ais523> generally it's best for configure to check for spawn and use it if it's available
16:48:58 <Deewiant> why would you anyway, given that you have a working implementation
16:49:14 <Deewiant> yeah, "just" four kernel primitives ;-)
16:49:14 <ais523> because systems which bother to implement spawn normally need it pretty badly
16:49:19 <AnMaster> posix_spawn, posix_spawnp - spawn a process (ADVANCED REALTIME)
16:49:36 <ais523> not the ADVANCED REALTIME version
16:49:39 <Deewiant> AnMaster: 2008-07-29 18:48:57 ( Deewiant) why would you anyway, given that you have a working implementation
16:49:56 <AnMaster> int posix_spawn(pid_t *restrict pid, const char *restrict path,
16:49:57 <AnMaster> const posix_spawn_file_actions_t *file_actions,
16:49:57 <AnMaster> const posix_spawnattr_t *restrict attrp,
16:49:57 <AnMaster> char *const argv[restrict], char *const envp[restrict]);
16:50:15 <ais523> spawnlp is the common name on Windows
16:50:28 <Deewiant> This POSIX function is deprecated beginning in Visual C++ 2005. Use the ISO C++ conformant _spawnlp instead.
16:50:29 <ais523> which has 3 args and a ...
16:50:54 <ais523> is that the same as execlp?
16:51:06 <ais523> as spawn is vfork+exec I'd expect it to be
16:51:12 <Deewiant> int execlp(const char *file, const char *arg, ...);
16:51:12 <ais523> posix_spawn looks like something different
16:51:26 <ais523> ok, the Windows spawnlp has an int flags at the start
16:51:41 <ais523> Deewiant: vfork's just an optimisation for things that can't handle forking properly
16:51:54 <ais523> in fact it exists for the same reason spawn does...
16:52:04 <Deewiant> It is rather unfortunate that Linux revived this specter from the past. The BSD man page states: "This system call will be eliminated when proper system sharing mechanisms are imple‐
16:52:08 <Deewiant> mented. Users should not depend on the memory sharing semantics of vfork() as it will, in that case, be made synonymous to fork(2)."
16:52:33 <ais523> Deewiant: the correct interpretation of vfork is as a limited version of fork
16:52:38 <Deewiant> I think when the docs for a function say "[i]t is rather unfortunate that [this exists]" you know you're not doing well ;-)
16:52:40 <ais523> where you can't change memory in the child until you exec
16:52:42 <AnMaster> Deewiant, isn't it synonymous on linux iirc?
16:52:56 <ais523> AnMaster: no, on Linux vfork blocks the parent until the child execs for efficiency reasons
16:53:02 <ais523> basically, vfork + exec = spawn
16:53:12 <AnMaster> well I need to do some other stuff as well
16:53:15 <ais523> the difference is that you can't legally use vfork for anything else...
16:53:25 <ais523> it's an optimisation, which the programmer is forced to do
16:53:26 <AnMaster> because I need to mess with file descriptors in the child
16:53:34 <ais523> and it's unfortunate that it exists because the OS should figure it for itself
16:53:41 <ais523> AnMaster: I can't remember whether you're allowed to do that
16:53:57 <AnMaster> ais523, and even malloc() to create an array
16:53:59 <ais523> the annoying thing being that even if you aren't it'll probably work anyway
16:54:03 <AnMaster> which I'm pretty sure you can't
16:54:18 <ais523> that would definitely not be allowed
16:54:30 <AnMaster> ais523, so I just use full fork()
16:55:03 <ais523> and take the performance hit on systems where vfork is several orders of magnitude faster than fork?
16:55:13 <ais523> I'd have expected you to set things up so that you /could/ use vfork
16:55:36 <ais523> http://www.unixguide.net/unix/programming/1.1.2.shtml
16:55:42 <ais523> is apparently a guide about vfork vs. fork
16:55:42 <AnMaster> ais523, well freebsd doesn't have that issue
16:56:08 <AnMaster> I would be surprised if modern solaris had the issue
16:56:16 <ais523> cygwin has that issue for obvious reasons
16:56:26 <ais523> which is that hooking into the Windows kernel memory manager would be ridiculous
16:56:32 <AnMaster> and really, I don't give a damn about cygwin
16:56:38 <AnMaster> sorry to say that, but that is how it is
16:57:40 <AnMaster> I'm happy if it works on there, but if it doesn't I won't care. I don't plan to install windows to try it out, nor install wine
16:58:04 <ais523> cygwin doesn't run on wine
16:58:40 <tusho> AnMaster: I dunno why you care more about ObscuroPOSIX than the OS most of the worl duses.
17:00:36 <AnMaster> tusho, I care about a standard that works
17:00:56 <AnMaster> cfunge worked on OS X, at least it did last month when I got a friend to try it out
17:01:13 <AnMaster> I tested it on all BSD (found an issue today that I just fixed, with a missing include on freebsd)
17:02:08 <oklopol> i'll probably stop programming the day i start caring whether my program works on computers other than mine
17:02:23 <Deewiant> I just think it's harder to write a non-platform-agnostic program in general
17:02:25 <ais523> oklopol: well, I was originally like that
17:02:31 <ais523> but I've had to move computers several times
17:03:28 <oklopol> ais523: i will, hopefully, make my own platform some day, and disconnect from the rest of the world
17:03:41 <ais523> oklopol: will you still join #esoteric?
17:04:12 <oklopol> anyway i use python so platforms aren't that much of an issue ofc
17:04:32 -!- poiuy_qwert has joined.
17:04:41 <oklopol> if the python people care about different platforms, then i kinda get that for free
17:05:30 <oklopol> really it would be better to stop using programming languages altogether, i could just program in pi calculus
17:05:54 <Deewiant> yeah, you wouldn't have to run programs then either
17:06:17 <oklopol> yeah! i could like live in the woods.
17:07:19 <oklopol> that would be awesome, i'd live in a hole and have like a torch for light and code on leaves with my piece of coal
17:07:33 <oklopol> i should've rhymed hole/coal
17:07:54 <Deewiant> and what would this code be for
17:08:19 <oklopol> for my amusement, naturally
17:11:38 -!- Sgeo has joined.
17:13:32 <oklopol> so much fun, now i need a c++ compiler, so i need to do exactly what i did when i was getting intercal, although now click on "i want c++ too"
17:13:48 <oklopol> do i have any idea how to do this after just doing it a week ago? hell no! :D
17:14:09 * oklopol continues trying & failing miserably
17:14:59 <AnMaster> <Deewiant> BeOS or RISC OS <-- OS/2?
17:15:13 <oklopol> and what the fuck is this about really, i get a list of files all of which i need to download, but there's no way to just download them all :D
17:15:30 <AnMaster> Deewiant, but BeOS got some users iirc
17:15:38 <AnMaster> something like a open source clone
17:15:53 <AnMaster> something japanese style in name
17:15:56 <Deewiant> I wonder, is having "OS" in the name of an OS a criterion for it not becoming popular
17:16:33 <ais523> PCLinuxOS is a pretty popular Linux distro
17:16:34 <AnMaster> Deewiant, well it isn't very popular ;P
17:17:07 <oklopol> ais523: is it more popular than mac os?
17:17:11 <AnMaster> anyway has anyone here tried twinview?
17:17:29 <ais523> oklopol: I doubt it, Mac OS X is way more popular than all Linux distros combined for the home market I think
17:17:29 <AnMaster> had a monitor around due to my dad's PC having a broken mobo
17:17:38 <AnMaster> so took it's monitor while he waits for getting a new from work
17:20:31 <tusho> os x is second to windows
17:20:44 <ais523> tusho: nah, it's fourth to Windows, Windows and Windows IIRC
17:20:45 <tusho> 13-20% of the market I believe
17:20:54 <tusho> linux has something pitiful like 5%
17:20:55 <ais523> and the figures I saw most recently put it at 6%
17:21:02 <tusho> and BeOS has 0.00000000000000000000000000000000000000000000000000000000000000000000000000%
17:21:09 <tusho> (there is no 1 at the end)
17:21:28 <ais523> well, my MegaWeirdOS has about -90% of the market
17:21:32 <ais523> because it's the exact opposite of Windows
17:21:39 <ais523> it doesn't exist yet, I just made it up on the spot
17:22:03 <ais523> it can do file copies very quickly, but cannot do anything else in a reasonable timespan except within the first 15 mins or so after its perfect startup
17:22:05 <tusho> so it's featureful
17:22:23 <ais523> oh, and it prompts whenever you try to do something that doesn't require admin privileges
17:22:31 <ais523> or looks like it might not need them
17:22:42 <tusho> innocentprogram.exe
17:22:52 <ais523> it comes with a stock of 50,000,000 sample programs
17:22:58 <ais523> although strangely no basic text editors
17:23:18 <Deewiant> and no web browser or file manager
17:23:39 <tusho> IE being a web browser is debatable...
17:23:41 <ais523> it doesn't need a file manager though
17:23:55 <ihope> It doesn't have a file system. That's why file copies need to be so optimized.
17:23:56 <ais523> it has a chording command line interface
17:24:00 <ais523> like a cross between bash and emacs
17:24:14 <ais523> Deewiant: yes, it's copied a lot of good features from Firefox badly
17:24:26 <ais523> Deewiant: ESCape Meta-Alt-Control-Shift-
17:24:29 <Deewiant> which Opera enthusiasts claim Firefox copied badly ;-)
17:24:32 <ihope> Commands are performed by pressing multiple keys simultaneously.
17:25:13 * ais523 thinks that that's their favourite backronym for Emacs
17:25:43 <ais523> it's accurate, but not necessarily a bad thing
17:25:52 <ais523> I'm used to pressing alt-control-shift-5 to do a regex replace
17:25:57 <ais523> and it isn't that difficult to type...
17:26:04 <ais523> (alt=meta on this keyboard)
17:27:22 <Deewiant> alt-control-shift-5? doing that with one hand seems annoying
17:27:26 <tusho> escape = meta = alt
17:27:30 <Deewiant> and with two, even more so ;-)
17:30:41 <AnMaster> Deewiant, when would you use that?
17:31:20 <AnMaster> it seems like a stupid key combo
17:31:21 <ais523> regex replace in Emacs
17:31:26 <ais523> and normally I use both hands for it
17:31:43 <ais523> no, it's control-meta-%
17:32:27 <ais523> I think removing one of the keys in it does it without the regex
17:32:38 <AnMaster> ais523, yes Meta-% is without regexc
17:33:06 -!- olsner has joined.
17:33:07 <ais523> I suppose the keybindings don't seem silly to emacs users after a while
17:33:08 <AnMaster> ais523, anyway wouldn't emacs be worse on a dvorak?
17:33:27 <AnMaster> ais523, and no I'm happy with C-x C-s for save :)
17:33:50 <AnMaster> but control-meta-% is just silly
17:33:52 <ais523> <AnMaster> ais523, anyway wouldn't emacs be worse on a dvorak? <--- no idea, but the mind boggles
17:34:09 <olsner> geez, alt-ctrl-shift-5
17:34:16 <AnMaster> ais523, btw escape then ctrl-shift-5 works
17:34:23 <ais523> well yes but that's harder to type
17:34:33 <AnMaster> ais523, no you can release after esc
17:34:33 <ais523> esc's all the way up the top left of the keyboard
17:34:39 <ais523> AnMaster: it takes longer
17:34:43 <ais523> and I have to move my left hand
17:34:52 <AnMaster> so it is within reach even when I'm on home row
17:35:00 <ais523> that was a control-alt-shift-5 with one hand
17:35:08 <ais523> and I tend to type a bit below home row
17:35:15 <ais523> maybe Emacs users get used to that...
17:35:15 <AnMaster> this is a full size keyboard yes
17:35:40 <AnMaster> ais523, depends on what editor I use :)
17:36:59 <AnMaster> ais523, in kate or kdevelop I move differently
17:37:12 <AnMaster> ais523, I use several text editors
17:37:26 <ais523> but in Kate I generally have to go through the menus to get to things
17:37:31 <ais523> and in nano I often can't find them at all
17:37:36 <AnMaster> ais523, nah I tend to know where the keys are in all
17:37:41 <ais523> partly because they aren't there
17:37:59 <AnMaster> it is great for a quick config file edit
17:38:33 <ais523> what does the *~ represent?
17:39:21 -!- Corun has joined.
17:39:34 <ais523> well, I backup my files into a dedicated backup directory
17:39:43 <AnMaster> ais523, can't be arsed to set that up
17:39:49 <ais523> I started that practice after accidentally typing rm * one time too often
17:39:56 <ais523> now the backups are elsewhere, I can restore from them
17:40:01 <ais523> and get the second most recent version
17:40:04 <ais523> which is normally good enough
17:43:23 -!- tusho_ has joined.
17:48:19 -!- kar8nga has quit ("Leaving.").
17:49:57 -!- 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"").
18:00:12 <MikeRiley> new fingerprint idea, would like feedback,,,,
18:00:15 <MikeRiley> A ( V n -- ) - Execute command at vector n times from current
18:00:15 <MikeRiley> location, IP will be pointed at the A
18:00:15 <MikeRiley> B ( V n -- ) - Like A but IP will be reset each iteration
18:00:16 <MikeRiley> G ( V -- ) - Set position of IP to delta
18:00:18 <MikeRiley> K ( n -- ) - what k should have been, will skip following
18:00:20 <MikeRiley> instruction if it is the iterated one
18:00:21 -!- tusho has quit (Read error: 110 (Connection timed out)).
18:00:22 <MikeRiley> R ( n -- ) - Like K but IP is reset after each iteration
18:00:24 <MikeRiley> X ( cmd n -- ) - execute command on stack n times
18:02:08 -!- alexbobp has joined.
18:04:56 <AnMaster> MikeRiley, this is "Variations of k in C flat"? ;P
18:05:31 <MikeRiley> then we can have a k that we would all like to have...
18:05:33 <AnMaster> MikeRiley, X got some problems maybe
18:05:45 <MikeRiley> parameters would be above the command
18:05:47 <AnMaster> not sure how it will be handled
18:06:01 <MikeRiley> yep....cmd would be popped from the stack
18:06:33 <MikeRiley> so the stack would appear as if the command came from Funge-space...
18:07:28 <AnMaster> "internal error: verification job didn't find specified track on CD"....
18:09:24 <AnMaster> maybe 8x instead of 16x will help
18:24:18 -!- Tritonio_ has joined.
18:25:59 -!- RedDak has joined.
18:27:54 <Tritonio_> hello! I just finished a new implementation for arrays in brainfuck. The array can be of ANY size and can store more than one byte in each position.
18:29:02 <pikhq> ... More than one byte in each position?!?
18:29:18 <Tritonio_> more than one byte in each indexed position
18:29:21 <pikhq> Using more than one cell for each position.
18:29:30 <pikhq> That is fucking awesome.
18:29:33 <Tritonio_> of course... :-D it's not a compression algo
18:30:15 <Tritonio_> In fact it is a Lua script that creates the code needed to read and write to the array after you give it n and k
18:31:07 <AnMaster> Tritonio_, rewrite that script in brainfuck
18:31:24 <AnMaster> pikhq, array variables is one thing I wanted in Def-BF
18:31:32 <Tritonio_> AnMaster, that would be really interesting!
18:31:49 <pikhq> So, the code needed to write to the array depends upon the size of the array...
18:31:52 <AnMaster> pikhq, otherwise there is no way to create arrays in Def-BF as high level compiler could assign something else to same memory place
18:32:22 <Tritonio_> AnMaster, if I do it in FBF or in Calamari's Basic does it count as a brainfuck script? :-P
18:32:28 <ihope> New BF commands: (...): execute ..., unless you have good reason not to. {...}: hope that ..., if run, would end on a non-zero cell.
18:32:33 <AnMaster> Tritonio_, Def-BF is for system programming btw
18:32:45 <AnMaster> Tritonio_, brainfuck with jumps + some other stuff
18:32:55 <AnMaster> RodgerTheGreat and pikhq invented it
18:32:59 <pikhq> That would actually be, well, not too hard to insert into PEBBLE.
18:32:59 <AnMaster> Tritonio_, yeah like kernels...
18:32:59 <tusho_> Tritonio_: writing OS'
18:33:25 <AnMaster> pikhq, but see the issue with Def-BF and arrays
18:33:45 <Tritonio_> you could use my implementation to do memory allocation. You could use a really huge table.
18:33:55 <AnMaster> RodgerTheGreat, you can't do arrays in current Def-BF I think. Why? Because you can't know where high level compiler will place variables
18:33:56 <RodgerTheGreat> I wrote the initial spec when we were originally discussing an Eso-OS a while back, and then pikhq drummed up some fresh interest
18:33:57 <pikhq> AnMaster: Ever heard of malloc? :p
18:34:00 <Tritonio_> memory allocation by the OS, i mean.
18:34:08 <AnMaster> pikhq, how will you implement it in Def-BF?
18:34:29 <pikhq> Same way you do in C.
18:34:35 <Tritonio_> Wait, I thought that the whole OS except of a small part is written in brainfuck
18:34:45 <AnMaster> pikhq, yes but you need to know where the static variables will be
18:35:00 <AnMaster> RodgerTheGreat, no that isn't the issue
18:35:05 <tusho_> Tritonio_: There are multiple Brainfuck OS'.
18:35:09 <RodgerTheGreat> ^ and as pikhq said you can allocate in the same way as any language
18:35:12 <tusho_> This one is for one of them.
18:35:16 <AnMaster> RodgerTheGreat, the issue here is creating variables with larger than one cell
18:35:26 <RodgerTheGreat> globals are easy and predefined, local variables are placed on a "stack"
18:35:36 <AnMaster> RodgerTheGreat, yes global arrays
18:35:54 <Tritonio_> I will do some more debugging later. I haven't tryied tables larger than 256^2 and I haven't tried if it works for more than one byte per position...
18:36:01 <AnMaster> and if you write a malloc() in Def-BF, how do you know what memory is safe to allocate from
18:36:12 <RodgerTheGreat> I have a hand-compiled high-level -> low level example that demonstrates function calling conventions
18:36:34 <pikhq> AnMaster: This is actually *exactly the same* as in C.
18:36:44 <AnMaster> RodgerTheGreat, function calling ABI would be implementation specific
18:36:51 <AnMaster> pikhq, and I don't know what that is, tell me!
18:37:11 <AnMaster> the kernel need to know where the variables in question are stored
18:37:16 <AnMaster> so it can avoid them in malloc
18:37:32 <pikhq> And the kernel knows that, because it loaded all of them into memory.
18:37:37 <RodgerTheGreat> from the kernel's perspective, all memory is a hugeass tape
18:37:52 <RodgerTheGreat> and you'd then have allocation records and things just like in a normal OS
18:39:45 <pikhq> Anyways, the kernel knows where the variables are because those variables are marked in the data section of the binary.
18:39:47 <RodgerTheGreat> in all likelihood a real esoOS would work something like JavaOS, with a kernel and several language interpreters written in compiled Def-BF, and then everything else made on top of these facilities
18:40:14 <RodgerTheGreat> 'course, there's no reason you can't do standard binary loading at runtime this way either
18:40:31 <pikhq> It loads those binaries into memory, sticking the data section wherever the kernel declares that it will go.
18:40:51 <pikhq> Then, as far as malloc goes? The kernel defines an area where the heap goes.
18:40:57 <RodgerTheGreat> as well as patching addresses with the offset it's loaded at in memory
18:41:14 <pikhq> The userspace malloc() function assigns addresses out of the process's heap.
18:41:49 <pikhq> malloc() uses the mmap and brk system calls to change the size of the heap when needed.
18:42:42 <pikhq> And, yeah, this is mundane in the OS development world.
18:54:04 -!- moozilla has quit (Read error: 110 (Connection timed out)).
18:54:44 <Tritonio_> (btw the new implementation can be used for multidimensional arrays.)
18:55:37 <pikhq> Tritonio_: Single dimension arrays can be used for multi-dimensional arrays.
18:55:58 -!- MikeRiley has quit ("Leaving").
18:55:59 <pikhq> Actually, single dimension arrays can be used for any data structure.
18:56:34 <Tritonio_> yes but it's fairly easy with this implementation because of the multiple indexes.
18:57:06 <Tritonio_> but every dimension except the first should have size 256^something
18:58:20 -!- moozilla has joined.
18:58:33 -!- megatron has joined.
19:02:49 <oklopol> integers can be used for any data structure
19:03:42 <pikhq> That's because integers + a turing machine can implement arrays. :p
19:04:47 <oklopol> arrays suck, graphs are the shit
19:06:24 <pikhq> What about associative stacks?
19:07:45 <oklopol> now what are associative graphs?
19:09:24 <tusho_> oklopol: i said tell me
19:12:01 -!- lament has joined.
19:13:34 <tusho_> IT IS GOOD YOU ARE BACK.
19:14:05 <alexbobp> is that a programming language? Because it could be.
19:14:11 <lament> my friend, whose box i normally irc from, has destructively updated it
19:14:24 <lament> catastrophically improved
19:14:25 <tusho_> YOUR BOX'S PASSING AWAY
19:14:28 <tusho_> IT IS GOOD YOU ARE BACK.
19:14:32 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
19:14:48 <alexbobp> lament: did your friend update the security, or what?
19:15:03 <tusho_> alexbobp: The flux capacitators, duh.
19:15:07 <lament> he kinda killed everything
19:15:16 <lament> i should stop using his box
19:15:39 <lament> alexbobp: because that joke got old several years ago
19:16:12 <alexbobp> lament: I bet that whatever computer you are using to connect to his computer, you could just use to connect to freenode directly :P
19:16:31 <lament> alexbobp: having an always-on connection is very nice
19:17:07 <lament> constantly joining and leaving is a hassle
19:17:19 <lament> and people can't message you while you're away
19:17:19 <alexbobp> lament: good point. Do you not have a broadband Intertube connection?
19:17:37 <alexbobp> if people want to message you while you're away, they should use email :P
19:17:51 <lament> if they normally talk to me on irc
19:18:02 <lament> because that's what's more convenient to both them and me
19:18:11 <pikhq> Perhaps we should just use msgserv? :p
19:18:20 <pikhq> Or was it memoserv?
19:18:36 <lament> i'd need a linux box so i could run screen on it
19:18:40 <alexbobp> whatever it is, it shall be coded in befunge
19:18:49 <alexbobp> lament: what sort of box do you currently have, if not a linux one?
19:19:04 <alexbobp> ah, well, that's not to bad. You can't run screen on it?
19:19:26 <alexbobp> if not, you can probably get it with DarwinPorts.
19:19:42 <lament> i'll just use my home box then.
19:19:50 <tusho_> lament: there's an irssi thing
19:19:54 <tusho_> which is basically irrsi.
19:20:01 <tusho_> (it actually runs irssi)
19:20:08 <tusho_> lament: well, it's just regular irssi
19:20:12 <lament> the whole point of using irssi is that it runs in screen
19:20:19 <tusho_> just with keyboard shortcuts 'n stuff.
19:20:59 <lament> btw, anybody here puts their home directory in a VCS?
19:21:36 <pikhq> If I had a sufficiently large hard drive, I would.
19:23:31 <lament> i'm seriously considering it
19:23:38 <lament> os x has this thing called time machine
19:23:52 <lament> but using a vcs seems less magical
19:24:37 * pikhq also badly needs to organise his home directory
19:24:43 <pikhq> I'll do that when I get to college.
19:24:58 <pikhq> (can't now; my computer and I are in a different state)
19:25:21 <pikhq> Though I could probably start by organising my Nonlogic home directory.
19:26:29 <alexbobp> lament: I keep my resume and a lot of my text documents in rcs, but I just use an rdiff backup for my home directory
19:26:55 <tusho_> lament: time machine is nice in the way it integrates with apps
19:27:07 <alexbobp> is it like Vista's shadow copy?
19:27:08 <tusho_> (e.g. press it on iphoto and itunes and it'll do what you expect)
19:27:11 <alexbobp> (not that I condone the use of vista)
19:27:19 <tusho_> alexbobp: it's an automatic backup system that lets you browse old versions
19:27:22 <tusho_> and selectively copy them back
19:27:28 <alexbobp> tusho_: okay, so just like shadow copy
19:27:36 <lament> yeah, time machine sounds nice for those specific apps
19:27:40 <alexbobp> you can also do that with an rdiff backup :P
19:27:47 <tusho_> alexbobp: that doesn't integrate with apps.
19:28:02 * pikhq also needs a decent way of doing backups...
19:28:10 <tusho_> with time machine you can just press it, slide up, pick a photo, and drag it back into a certain category on the current iphoto
19:28:20 <lament> putting stuff in VCS can get messy if you forget to commit for a long time
19:28:24 <pikhq> Of course, sticking it in CVS, SVN, or Git would make backups easy.
19:28:41 <alexbobp> tusho_: wouldn't that only work with apps made by Apple or specifically to support the thang?
19:28:48 <pikhq> Get a big friggin' hard drive, rsync the repository over to it every week or so.
19:28:56 <tusho_> alexbobp: Well duh, it needs support code for the integration.
19:29:04 <tusho_> If there is no support code, then you can just press it in finder
19:29:14 <tusho_> But, there's always the pressure to implement it
19:29:17 <lament> i guess the biggest difficulty with VCS would be in telling it which files to ignore
19:29:23 <tusho_> so an awful lot of apps that it makes sense for do it already
19:29:23 <lament> and then actually remembering those rules :)
19:29:30 <alexbobp> tusho_: I see no reason to have app integration. Unlike the target audience for a mac, I know where my programs keep their files anyway.
19:30:02 <tusho_> alexbobp: It's clever because you're belittling the intelligence of people who have better things to do than sit around a file system doing wizardry all day when they want to get a file back.
19:30:11 <pikhq> lament: With SVN, unless you specifically add a file, it's ignored.
19:30:31 <lament> then you'd get pages upon pages of ? files in each svn report
19:30:50 <lament> i guess that's when you notice and create ignore rules for them
19:30:58 <alexbobp> tusho_: I run a program called "keep". It's with KDE and does it all automatically. I dunno where you think that takes a lot of time or anything.
19:31:10 <lament> there're two sets of files
19:31:12 <tusho_> alexbobp: " Unlike the target audience for a mac, I know where my programs keep their files anyway."
19:31:13 <alexbobp> It's basically a frontend for cron and some command line backup tool.
19:31:29 <alexbobp> tusho_: well yeah. If I want to restore my firefox profile, I say "Hey keep, restore ~/.firefox".
19:31:31 <tusho_> The reason for integration is that *it makes it a 2-second process to get a file back* and you are just insulting OS X users' intelligence without justification.
19:31:35 <alexbobp> I don't need integration with firefox.
19:31:46 <lament> various config files like .bash_profile that i want replicated among different systems, and various files like photos that i want to keep on my system (but still version)
19:31:57 <lament> is this solvable nicely?
19:32:15 <lament> other than using two different VCS to version the same directory with different ignore rules :)
19:32:19 <alexbobp> tusho_: By the way, I'm not insulting mac users' intelligence. I know plenty of smart mac users. I'm just saying the OS is designed to support people with a much lower intelligence.
19:32:41 <tusho_> "I'm just saying the OS is designed to support people with a much lower intelligence." You are a pretentious asshat who judges people's intelligence by their willingness to learn the innards of a computer.
19:32:50 <lament> intelligence has nothing to do with knowing where files are kept
19:33:03 <alexbobp> lament: Or use a decentralized RCS like darcs, and all computers can pull patches from eachother
19:33:15 <lament> alexbobp: not sure how that solves the problem i described
19:33:54 <alexbobp> tusho_: sorry, I was referring to a specific subset of intelligence. I chose my words poorly. What I should have said was that the target audience of a mac doesn't give a shit about computers and will not willingly learn about how they work.
19:34:21 <tusho_> alexbobp: I would say you have a rather skewed version of the target audience.
19:34:32 <alexbobp> lament: Well, you said you want to be able to update a file on one of the computers and then propagate it to the others, right?
19:35:21 <alexbobp> tusho_: Most of the mac users I've seen are artists and such with no interest in how computers work, they just want to check email, edit video, etc. Also, if you watch Steve Jobs' keynote speeches, he talks down to the audience big time.
19:35:56 <oklopol> i don't give a shit where programs keep their files, and in my opinion a modern os shouldn't even let a user know about as low-level things as files.
19:36:05 <lament> alexbobp: no, that's not what i said.
19:36:40 <tusho_> oklopol++. I do know where programs keep their files, I just don't think it means fuck all.
19:36:47 <alexbobp> oklopol: I don't know what you mean by "modern," but if my OS tried to hide any details from me, I'd bitchslap it.
19:36:47 <tusho_> I also agree that files are a pretty darned low-level abstraction.
19:37:04 <lament> does firefox keep each bookmark in a separate file? i bet it doesn't
19:37:12 <alexbobp> lament: it keeps them in an xml file
19:37:16 <tusho_> alexbobp: see, that's wrong
19:37:19 <tusho_> to use files 'elegantly'
19:37:19 <lament> that means... firefox could benefit from time machine integration!
19:37:27 <tusho_> bookmarks/Bookmark\ name
19:37:34 <tusho_> lament: indeed it could
19:37:39 <tusho_> you could restore only some bookmarks
19:37:39 <lament> alexbobp: so you know where firefox keeps data, but it would not help you recover a specific bookmark that you deleted
19:37:43 <tusho_> instead of 'hey keep, gimme the old file'
19:37:46 <tusho_> and then merging it manually
19:37:49 <lament> alexbobp: but with time machine integration, you could
19:37:50 <tusho_> which is sooooooooo much fun
19:38:12 <alexbobp> lament: Sure it would. If I wanted to recover a specific bookmark, I'd tell my revision control system to backtrack the patch where I deleted that.
19:38:31 <alexbobp> lament: If I'm not using RCS, but I'm using rdiff backups, and I remember when I deleted it, I can revert to just before that.
19:38:47 <lament> alexbobp: then you would lose all bookmarks you added afterwards
19:39:05 <alexbobp> lament: Or I could just open the backup file from the correct time, and copypaste that bookmark into the current file.
19:39:07 <oklopol> alexbobp: would you mind if an os hid the info about where in your hd a file exists, exactly? i doubt that, because as everything is on a higher level of abstraction, why would you give a shit
19:39:15 <tusho_> "lament: Or I could just open the backup file from the correct time, and copypaste that bookmark into the current file."
19:39:17 <lament> alexbobp: so you'd have to do much more work
19:39:21 <tusho_> That's a WASTE OF FUCKING TIME
19:39:22 <oklopol> similarly, i don't think there's any use to have serialized binary files
19:39:23 <tusho_> I should never have to do that.
19:39:24 <lament> alexbobp: how does that correlate with higher intelligence?
19:39:29 <tusho_> Why when I can just go back using time machine, and copy over a folder?
19:39:31 <alexbobp> oklopol: As it turns out, in both Linux and Windows you can look up where exactly on an HD the file exists.
19:39:34 <tusho_> You have to know the XML format.
19:39:42 <oklopol> alexbobp: yes, but is that at all useful?
19:39:52 <alexbobp> lament: It's not more work, it's just as easy but requires more expertise.
19:40:01 <lament> alexbobp: no, it is more work
19:40:08 <lament> alexbobp: it will take more time
19:40:09 <tusho_> I'M AN EXPERT BECAUSE I CAN MERGE XML FILES
19:40:16 <alexbobp> lament: I'm sorry, you're wrong, it won't, and insisting won't make you right.
19:40:21 <tusho_> I AM SO FUCKING ELITE AND YOU ARE ALL IDIOTS BECAUSE YOU DON'T SPENT YOUR WHOLE DAY MERGING XML FILES
19:40:26 <tusho_> INSTEAD YOU JUST DRAG ACROSS BOOKMARKS
19:40:27 <alexbobp> tusho_: having some expertise does not make one an expert
19:40:30 <lament> alexbobp: oh, okay then.
19:40:30 <tusho_> WTF IS UP WITH THAT NOOBS
19:40:33 <alexbobp> tusho_: stop typing in all caps you asshat
19:40:49 <tusho_> alexbobp: telling _me_ to stop being an asshat...?
19:40:58 <tusho_> You're saying people who don't spend all time merging a custom XML format have less expertise.
19:41:08 <alexbobp> tusho_: Uh, no, I never said that.
19:41:16 <tusho_> "it's just as easy but requires more expertise."
19:41:31 <alexbobp> tusho_: Quote me on where I said anything about "all time" or even it taking longer at all.
19:41:48 <tusho_> It's a waste of effort.
19:41:55 <tusho_> I can also guarantee that one of these takes more time:
19:42:03 <tusho_> 1. Click time machine. Scroll back. Drag bookmark over.
19:42:22 <tusho_> 2. Restore file. Find correct bookmark. Copy to current file, making sure not to break the format. Save. Restart and hope for the best.
19:42:28 <tusho_> I can also tell you that it's #2.
19:42:39 -!- poiuy_qwert has quit (Read error: 110 (Connection timed out)).
19:42:40 <alexbobp> tusho_: I can do #2 with one line of grep and sed.
19:42:52 <tusho_> alexbobp: It still takes longer than click, swish, drag.
19:43:00 <tusho_> And it's also a whole lot less convenient.
19:43:06 <lament> alexbobp: by the way, are you guaranteed to have stored the old version of the bookmark file at all?
19:43:14 <alexbobp> tusho_: mice are slow, and you still have to find the bookmark where you lost in the blob of deleted bookmarks
19:43:21 <tusho_> Mice aren't slow, by the way.
19:43:28 <tusho_> (Go read a Plan9 paper.)
19:43:35 <alexbobp> lament: It depends on whether there was a backup between me making the bookmark and deleting it.
19:43:42 <lament> alexbobp: right, exactly
19:43:48 <alexbobp> tusho_: My hands are on the keyboard most of the time, so it takes time to move them to the mouse.
19:43:48 <lament> with time machine this would happen automatically
19:44:03 <alexbobp> lament: does time machine backup every time a file is changed?
19:44:04 <tusho_> alexbobp: Zomg! Using a mouse incorrectly is slower!
19:44:14 <lament> alexbobp: i believe so
19:44:16 <tusho_> Learn to use a mouse with a keyboard efficiently and you will be faster.
19:44:29 <alexbobp> tusho_: I like just using the keyboard when I can, how is that "wrong"?
19:44:34 <alexbobp> tusho_: I don't need a mouse for most of what I do.
19:44:39 <tusho_> alexbobp: Claiming that mice are slow is incorrect.
19:44:41 <alexbobp> I'm typing right now, and I also code, and read email and stuff
19:45:12 <Deewiant> mice are fast for accessing an arbitrary point on the screen
19:45:18 <alexbobp> * for the way I use my computer. Your mileage may vary. This disclaimer necessary due to tusho_.
19:45:22 <Deewiant> I just find I don't have to do that often
19:46:05 <Deewiant> fortunately, fingers are slower
19:46:06 <alexbobp> lament: only if your hand is on the mouse
19:46:08 <lament> editing text without a mouse is a huge pain
19:46:17 <alexbobp> lament: editing text without a mouse works fine, actually
19:46:23 <Deewiant> I rarely, if ever, use the mouse for editing text
19:46:28 <tusho_> Oh oh, alexbobp, what editor do you use?
19:46:32 <tusho_> Let's start another holy war.
19:46:42 <tusho_> alexbobp: 38d8ah4naodu
19:46:51 <alexbobp> tusho_: I don't think that's a real editor :P
19:46:52 <tusho_> BEEEEEEEEEEEEEEEEEEEEEEEEP
19:47:00 <oklopol> it would be fun to have like ten keys for a mouse, you have the whole screen selected, and pressing one of the keys splits the screen in nine pieces, and chooses one of them for the next selection
19:47:00 <tusho_> hello wBEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEP
19:47:03 <tusho_> BEEEEEEEEEEEEEEEEEEEEEEEEEP
19:47:08 <oklopol> and another key for getting upwards
19:47:12 <lament> alexbobp: i find it very difficult to navigate to some random portion of the text, already on the screen, without a mouse
19:47:18 <tusho_> oklopol: that has been implemented
19:47:27 <tusho_> it divides it into 4 spaces
19:47:28 <alexbobp> oklopol: There are tools that do that. I know Dragon NaturallySpeaking does that with voice cues.
19:47:31 <tusho_> and divide that further
19:47:35 <tusho_> until you get in the vicinity
19:47:39 <tusho_> where you can precisely move and click
19:47:43 <alexbobp> lament: okay, that's nice, but I don't. I don't see how that means I'm doing it wrong.
19:47:46 <lament> that is, it's -much- faster to move the hand to the mouse, click on the correct position and move the hand back to the keyboard than it is to try to navigate there using the keyboard alone
19:48:17 <lament> alexbobp: i never said you're doing it wrong. I'm getting more and more convinced that you're a supergenius.
19:48:34 <tusho_> oklopol: you should implement an x window manager with all your crazy ui ideas.
19:48:35 <oklopol> tusho_: implementing it takes about a minute, i'm more interested in how handy that would be
19:48:38 <oklopol> do you have info about that?
19:48:41 <tusho_> and apparently it's pretty handy
19:48:48 <tusho_> not for specific moving
19:48:52 <tusho_> but getting to the 'right place' roughly fast
19:49:07 <lament> you probably instantly calculate the number of words you need to move forward or backward and move to the correct position with something like 237w
19:49:34 <lament> trying to get to the position you want in vim is a lot like golf
19:49:39 <alexbobp> lament: I just need to count the number of lines, and you don't wasd in vim :P
19:49:42 <lament> first you do big jumps, then little jumps
19:49:44 <Deewiant> what I'd do is look at the line number and type <number>gg
19:49:45 <oklopol> i have quite a lot of ui ideas, but as with all my ideas, they've been thought of, implemented and gotten bored with before i was born.
19:50:17 <lament> Deewiant: that doesn't get you to the correct position. It just gets you to the correct line.
19:50:24 <alexbobp> lament: I would like a copy of your version of vim. Mine apparently is not as much like a first person shooter as yours.
19:50:27 <lament> alexbobp: 'w' means 'move to the end of the word'.
19:50:42 <Deewiant> after that, getting to the correct position is quick
19:51:02 <tusho_> ok, alexbobp has been using vim for...24 hours, I'll say
19:51:06 <tusho_> if he just uses hjkl to navigate
19:51:13 <tusho_> 24 hours is pushing it really.
19:51:18 <alexbobp> tusho_: Lot more hours than that, actually, but I still find it faster than moving my hand to the mouse
19:51:38 <lament> alexbobp: don't you have to move your hand to the esc key to use hjkl?
19:51:47 <tusho_> lament: when using vim I use ctrl-c
19:51:58 <alexbobp> lament: If "move my hand" means "move my pinky" then yes.
19:52:01 <lament> tusho_: you know that, and i know that, but i doubt alexbobp knows that.
19:52:14 <tusho_> lament: well yeah. hjkl!
19:52:27 <pikhq> I was about to ask how anyone could use Vi without moving Esc to, say, Caps Lock...
19:52:38 <lament> i can't press Esc without moving my hand from the home row
19:52:46 <lament> maybe i need to get one of them happy hacking keyboards
19:52:46 <Deewiant> except that it doesn't work on Windows :-P
19:52:51 <tusho_> I never could use ctrl=caps-lock.
19:52:53 -!- Hiato has joined.
19:52:53 <tusho_> Just not comfortable for me.
19:52:55 <lament> then i will be a real hacker
19:52:59 <tusho_> (Then again, my hands aren't exactly big..)
19:53:14 <pikhq> Caps-Lock does not exist here.
19:53:17 <lament> tusho_: even less comfortable than "real" ctrl?
19:53:29 <tusho_> lament: I type really bizzarely, so ctrl is comfortable for me
19:53:30 * alexbobp realizes he needs to revisit vimtutor
19:54:00 * alexbobp deletes multiple lines by holding down the "d" key
19:54:22 <tusho_> alexbobp: Well, you're truly showing your mastery of interface design.
19:54:27 <lament> tusho_: i saw an awesome keyboard from an old mac
19:54:47 <pikhq> Bah; use C-k to delete multiple lines.
19:54:48 <alexbobp> tusho_: Did I ever say I was good at vim? All I said was that I'm better at it than I am with a mouse.
19:54:57 <lament> it had ctrl and capslock where nature intended, and capslock would actually stick down when pressed
19:54:58 <pikhq> Or, if you know the exact number, C-u number C-k
19:55:08 <lament> i still regret not stealing it :D
19:55:25 <lament> (it would need some work to make modern computers talk to it, though)
19:55:40 <alexbobp> okay, you guys are distracting and I have to get back to work
19:55:53 <tusho_> why are you on irc if you are trying to work lament
20:07:29 <SimonRC> lament: I have seen suns with ctrl and caps the "other" way round
20:07:50 <tusho_> Hmm. I want a 3d iterated game theory simulator.
20:07:53 <lament> would be nice to have a keyboard like that
20:08:20 <lament> there's a little groove between capslock and A
20:08:30 <pikhq> Not *quite* the same, obviously, but it does give you a feel for what it's like.
20:08:35 <lament> that groove is there because they realized that that was a stupid place to put capslock
20:08:40 <lament> so they made it harder to hit accidentally
20:08:50 <pikhq> I just have Caps Lock set to be a third Control, myself.
20:08:50 <lament> ctrl doesn't need that groove
20:09:04 <lament> i do have capslock set to ctrl
20:09:10 <lament> but that groove is annoying :)
20:09:11 <SimonRC> what is capslock good for?
20:09:27 <SimonRC> lament: pry key off, rotate 180deg, put back on
20:09:27 <pikhq> Well, except for sounding like an idiot.
20:09:31 <lament> a whole bunch of buttons would be good on rare occasions
20:09:42 <lament> but the keyboard doesn't have those buttons
20:09:57 <Deewiant> keyboards should have more buttons
20:09:59 <pikhq> tusho_: Next man to make a language which is all-caps gets shot.
20:09:59 <lament> like, i want a smiley button that types :)
20:10:05 <pikhq> Even in the esolang world.
20:10:06 <lament> because :) is three whole keypresses!
20:10:39 <lament> pikhq: you mean lolcode people shouldn't be shot?
20:10:53 <SimonRC> well, INTERCAL's use of all-caps was standard for its time
20:10:54 <pikhq> lament: Because I don't want to start on a killing spree.
20:11:17 <pikhq> And the LOLcode people need to be shot for reasons other than just its all-caps.
20:11:34 <lament> SimonRC: sorry, friendly fire
20:11:51 <pikhq> SimonRC: You're first up.
20:11:54 <tusho_> LOLcode is NOT friendly fire.
20:12:27 <pikhq> Sorry; thought you were saying "but I am involved in LOLcode".
20:12:53 <tusho_> SimonRC is involved in LOLcode - he helped make the 1.2 specification horrible.
20:12:56 <SimonRC> all I did was try to sabotage it
20:13:07 <SimonRC> and that was the first version only
20:13:25 <lament> maybe you did deserve the shooting after all.
20:13:39 <tusho_> lament: what? He tried to sabotage it
20:14:36 <pikhq> That's not being responsible for it.
20:14:37 <lament> how can you sabotage lolcode?
20:14:57 <pikhq> That's taking the shotgun into your own hands and firing.
20:16:38 <SimonRC> Complaining that LOLCODE is a bad esolang is like complaining that a radio play has poor illustrations.
20:16:56 <lament> does lolcode have zygohistomorphic prepromorphisms?
20:17:42 <SimonRC> you've been hanging aroud with that video compression crowd again haven't you?
20:18:05 <SimonRC> video compression has the world's best technobabble by far, IME
20:18:21 <lament> no, that's just normal haskell stuff :)
20:19:02 <Deewiant> http://www.haskell.org/haskellwiki/Zygohistomorphic_prepromorphisms
20:19:12 <SimonRC> "Hey, $developer, your new adaptive quantization patch results in a corrupt stream when interlaced encoding is activated! We use interlaced encoding for our live broadcasts, so though your adaptive quantization patch looks astounding, we can't use it until you fix this."
20:19:21 <SimonRC> "Logarithmically-scaled variance-based complexity-masking adaptive quantization with Hadamard-weighted automatic sensitivity."
20:19:26 <SimonRC> Hadamard-thresholded rate-distortion optimized inter-macroblock partition decision"
20:19:32 <SimonRC> Rate-distortion optimized quantizer lookahead with adaptive range and scenecut detection."
20:19:37 <tusho_> SimonRC: Put that shit in a markov chain generator!
20:20:02 <pikhq> SimonRC: Actually, complaining that LOLcode is a bad esolang is like complaining that a rotten grilled cheese sandwich has poor illustrations.
20:20:25 <SimonRC> from here: http://forums.thedailywtf.com/forums/p/7711/143632.aspx
20:20:46 <tusho_> RodgerTheGreat: it's actually real
20:20:46 <SimonRC> RodgerTheGreat: alas, that is several hoops past comprehending monads
20:20:56 <tusho_> albeit only used by the guy who does crazy shit with comonads
20:21:02 <tusho_> and monomorphisms and shit
20:21:03 <SimonRC> pikhq: indeed, it isn't supposed to
20:21:23 <Deewiant> isn't that only half-serious anyway
20:21:31 <pikhq> SimonRC: LOLcode just sucks, to be perfectly honest.
20:21:38 <lament> SimonRC: all those quotes are pretty legible, i think...
20:21:47 -!- MikeRiley has joined.
20:22:05 <RodgerTheGreat> pikhq: yeah, it looks like a shitty skin for BASIC, really. Not terribly creative in semantics
20:22:13 <lament> RodgerTheGreat: co- is used everywhere in math for the dual
20:22:34 <lament> or at least, in some places
20:23:23 <tusho_> RodgerTheGreat: once I did some wacky gadt stuff in haskell to implement monads
20:23:29 <tusho_> since Monad was taken I named it Gonad
20:23:31 <SimonRC> RodgerTheGreat: Goshdarnit people; LOLCODE was never intended to have interesting semantics.
20:23:38 <tusho_> when I asked #haskell for help, cue 'you just want us to look at your gonads'
20:23:50 <SimonRC> it is supposed to have interesting keywords and to a lesser extent syntax
20:23:51 <tusho_> "can anyone look at my gonads? they're broken"
20:24:16 <RodgerTheGreat> SimonRC: yeah, I know. it's just a clusterfuck of python and VB people thinking they're being "creative"
20:24:25 <SimonRC> it is supposed to have *lolcat* keywords
20:24:34 <SimonRC> RodgerTheGreat: do they think that?
20:24:42 <RodgerTheGreat> not entirely unlike everyone who screams "whitespace LOL" when somebody mentions "strange languages"
20:25:04 <tusho_> RodgerTheGreat: Those people are pretty clever.
20:25:08 <tusho_> It's the ones who mention Brainfuck that are the problem.
20:25:37 <SimonRC> BF is stranger than most languages people come across.
20:25:46 <RodgerTheGreat> whitespace is a trivial isomorphism of BF. you're either being sarcastic or you're an idiot.
20:26:03 <SimonRC> um, whitespace isn't based on BF
20:26:05 <tusho_> RodgerTheGreat: Whitespace isn't a BF cypher.
20:26:11 <tusho_> Also, it's pretty obscure as these things go.
20:26:38 <lament> RodgerTheGreat: "python and vb"? what's that supposed to mean? :D
20:27:13 * SimonRC references the author of WS, who he has known for a few years
20:27:16 <lament> there's nothing wrong with whitespace other than popularity
20:27:23 <RodgerTheGreat> oh, dang. I'm mistaken. I think I came to that conclusion because it's encoding scheme looked a lot like Ook! at first.
20:27:23 <tusho_> whitespace isn't even popular!
20:28:45 <alexbobp> I can't program in whitespace because I have to use SNOW on all my programs...
20:28:55 <olsner> tusho_: hey, whitespaces are everywhere! *ten* whitespaces in this line only!
20:29:08 <tusho_> SimonRC: http://www.darkside.com.au/snow/
20:29:30 <SimonRC> tusho_: on the source or the binaries?
20:29:39 <alexbobp> SimonRC: It's a stego tool, except in no way hard to detect :P
20:29:40 <tusho_> SimonRC: source, I presume
20:29:44 <lament> this sentence has seven spaces and eight words
20:29:48 <tusho_> SimonRC: whitespace in binaries _generally_ stops them running
20:29:55 <alexbobp> SimonRC: it would have to be the source. Modifying whitespace in binaries would mangle them.
20:30:05 <SimonRC> alexbobp: that was the joke I was making
20:30:14 <tusho_> SimonRC: it wasn't ... very funny
20:30:16 <lament> alexbobp: you 'have' to use it?
20:30:35 <alexbobp> lament: It is absolutely necessary.
20:30:46 <alexbobp> I have quotas for the data I have to hide, and I barely have enough places to hide it.
20:31:26 <SimonRC> Hmm, "SNOW" is too readily discoverable by the fraction of the populatio that habitually highlight random blocks of text as they read.
20:31:40 <lament> SimonRC: we could shoot all those people
20:31:48 <alexbobp> SimonRC: yeah, it's not good stego
20:32:19 <SimonRC> I hope not; one of them is the best comprehender of one of the systems I work on.
20:32:20 <alexbobp> lament: good idea... we could also use nonbreaking spaces and murder everyone with a hex viewer!
20:32:21 <tusho_> Also I grab links and drag them
20:32:25 <tusho_> and leave go so they shoot back
20:32:33 <tusho_> also I often cmd-a and drag it around
20:32:37 <tusho_> in ff3 it gives me a little version of the page
20:33:02 <alexbobp> RodgerTheGreat: it's been mentioned :P
20:33:08 <tusho_> alexbobp: how about using unicode rtl characters
20:33:11 <tusho_> and reversing the text in them
20:33:13 <pikhq> You could probably get a good way of steganography on binaries by sticking stuff in .data and .bss...
20:33:25 <alexbobp> tusho_: That somehow gets really crazy sometimes
20:33:48 <pikhq> Though it'd be easiest (and most undetectable) to do stuff like that to encode a single message inside a whole installed OS.
20:34:32 <RodgerTheGreat> pikhq: you already know *my* favorite place to hide data
20:34:51 <SimonRC> RodgerTheGreat: umm, where
20:35:05 <pikhq> Let's just say that Rodger knows the .tiff format way too well.
20:35:27 <RodgerTheGreat> http://rodger.nonlogic.org/PHP/Example.php <- go ahead and find out
20:37:09 <tusho_> RodgerTheGreat why did you make it a 403
20:37:15 <tusho_> it was more confusing as a 404
20:37:26 <SimonRC> experience shows that I am shit at that sort of puzzle
20:37:35 <tusho_> ok, I seem to remember a 404
20:37:35 <SimonRC> they serve only to infuriate me
20:37:41 <pikhq> The first couple of pages are meant to be easy to get past.
20:37:44 <RodgerTheGreat> I changed something else to give people a tiny hint, though
20:38:01 <pikhq> I'm especially fond of the Gulesfish.
20:38:19 <RodgerTheGreat> gulesfish and basil are the most hideous, but gules is a great deal more clever
20:38:42 <tusho_> gulesfish was quite nice
20:38:58 <SimonRC> but, should you want me to quit this channel and never come back, a sufficiently large number of puzzless that everyone else can solve and I cannot would be one of the better ways to make it happen.
20:39:12 <tusho_> SimonRC: we'll get right on it
20:39:40 <pikhq> SimonRC: Those puzzles are fucking hard; don't consider it a bad thing if you can't get them.
20:39:55 <alexbobp> RodgerTheGreat: I'm getting a connection refused
20:40:07 <SimonRC> alexbobp: that's the first hurdle#
20:40:18 <alexbobp> SimonRC: ooh, is this a hacker game?
20:40:24 <SimonRC> pikhq: so several other people here are capable of solving the damn things and I am not
20:40:55 <pikhq> SimonRC: I'm not aware of many people in here that finished Basil.
20:41:05 <pikhq> I think 2 other people have finished Basil...
20:41:30 <SimonRC> RodgerTheGreat: how can one cheat?
20:41:47 <RodgerTheGreat> if you had admin access and could cat out my PHP files
20:42:20 <tusho_> alexbobp: it's really trivial.
20:42:43 <SimonRC> RodgerTheGreat: that doesn't *solve* the puzzle as such, but in deed the app can't tell
20:42:49 <tusho_> but he was going in totally the wrong way
20:42:55 <tusho_> connection refused != 403
20:43:01 <tusho_> connection refused = no connection was even made to the http server
20:44:10 <RodgerTheGreat> but honestly, it's surprising how many people seem to find it perfectly normal to be getting apache error pages from "port 69"
20:44:44 <alexbobp> RodgerTheGreat: I'm getting a connection refused on port 69
20:45:13 <RodgerTheGreat> alexbobp: you have completely ignored easy advice and hints from several people already, so I'm not helping you any more
20:45:14 <alexbobp> alex@server-fo-shizzle:~$ nc rodger.nonlogic.org 69
20:45:14 <alexbobp> rodger.nonlogic.org [208.64.37.45] 69 (?) : Connection refused
20:45:39 <alexbobp> RodgerTheGreat: I got the port 42 thing on the other thing
20:45:44 <tusho_> alexbobp: you're an elite h4x0r that's for sure
20:46:04 <pikhq> "You must be at least this geeky to go on further."
20:46:29 * alexbobp just realized those two hostnames have the same IP
20:47:42 <psygnisfive> hey guys hpw about we talk about interesting languages? :D
20:48:08 <pikhq> RodgerTheGreat: I bet it'll take him a while. Should be damned hilarious to watch, though.
20:48:24 <tusho_> "DO I HAVE TO BUY BASIL IRL TO BEAT THIS"
20:49:40 * pikhq shall go off to get the @!#%@ home; see ya in about an hour.
20:49:46 -!- pikhq has left (?).
20:49:49 <RodgerTheGreat> one of these days, I should add some additional puzzles, but I'm not sure if I should put their trailheads after basil or make a diverging path, to be halfway humane
20:49:58 <tusho_> RodgerTheGreat: make it branch out
20:50:09 <tusho_> each 'milestone' branches out into, like, 2 possible paths
20:50:13 <oklopol> how many puzzles does it have?
20:50:19 <tusho_> and at the end you have like 10 paths
20:50:22 <alexbobp> where do I find a brainfuck interpreter?
20:50:23 <RodgerTheGreat> yeah, maybe have a "solve these x puzzles in any order" segment
20:50:26 <tusho_> and the last puzzle on each of them unifies them all to the last one
20:50:30 <tusho_> which is super-duper hard
20:51:42 <tusho_> RodgerTheGreat: maybe some of them will let you go -backwards-, but on another path
20:51:48 <tusho_> and you have to do some puzzles from all of the paths to do it
20:51:56 <RodgerTheGreat> I'd love teaming up with one or two people to make a game like that, but it'd reduce my gleeful plotting time and my audience
20:51:56 <tusho_> so you sort of navigate it like a ladder with puzzles at each step
20:51:57 <SimonRC> it shall divide people into the leet and the unleet
20:52:03 <tusho_> then add them all together for the final puzzle
20:52:07 <tusho_> you could make a team to do different paths
20:52:33 <SimonRC> I don't like being the unleet, yet I do not generally like being the leet
20:53:19 <RodgerTheGreat> tusho_: oh, don't worry- I have oodles of ideas floating around
20:53:41 <RodgerTheGreat> I actually have a couple of pretty nasty tricks up my sleeves I haven't used in any puzzles yet
20:54:27 <SimonRC> I don't like being the unleet, yet I do not generally manage to become the leet
20:57:34 <alexbobp> RodgerTheGreat: I see you're a mac user?
20:57:47 <lament> basil is the one that at some point just becomes fucked up silly?
20:57:49 <SimonRC> psygnisfive: at puzzles that most people cannot do
20:58:01 <tusho_> we have an awful lot of mac users in here
20:58:10 <tusho_> lament, me, psygnisfive, RodgerTheGreat ...
20:58:17 <tusho_> we have good taste, evidently ;)
20:58:17 <alexbobp> RodgerTheGreat: I can tell because it craps ".DS_Store" all over the place :P
20:58:48 <tusho_> psygnisfive: um... since forever
20:58:55 <tusho_> december 2006 I think?
20:59:33 <lament> tusho_: it's a channel full of fags
21:00:00 <lament> macs are for fags, little children, and idiots.
21:00:08 * SimonRC resents the implication that he is a smoker
21:00:13 <alexbobp> lament: oh, be nice, there's nothing wrong with being gay
21:00:34 <lament> psygnisfive: no, i'm an idiot.
21:01:34 <alexbobp> lament: I know plenty of gay people who don't use a mac.
21:02:19 <lament> psygnisfive: i mean, i wish i could, but i don't think i can control it!
21:02:21 <oklopol> alexbobp: implication != equivalence
21:02:34 <alexbobp> oklopol: (15:00:42) lament: you have to use a mac
21:02:36 <SimonRC> them and their hatred has left no room for people that are actually scared of homosexuality
21:02:47 <SimonRC> or rather has left no word for it
21:03:05 <SimonRC> fortunately I am not in that category as much as I used to be
21:03:32 <SimonRC> working with someone who is gay has made me less twitchy around gay people
21:03:44 <SimonRC> now I just need a blasck co-worker
21:04:39 <alexbobp> Or you could just watch the weathergay.
21:04:56 <lament> a black, gay, jewish coworker with a mullet.
21:05:09 <alexbobp> http://youtube.com/watch?v=TT4XO3Hjp7M
21:05:26 <alexbobp> psygnisfive: If so, I want pictures!
21:05:27 <lament> it would be pretty gay!
21:10:25 <SimonRC> (as in, what are you inking?)
21:11:21 <SimonRC> you were saying that you thought someone might have cheated on the Basil puzzle?
21:12:53 <SimonRC> *prod* but they had to be an admin, 'cause it isn't world-readable
21:14:13 <SimonRC> well, what about the big fat world-readable file called "website.tar.gz" that's right next to the non-world-readable directory?
21:15:55 <RodgerTheGreat> it's a puzzle. The point of the thing is to work to solve it.
21:16:18 <tusho_> RodgerTheGreat: he was just joking...
21:16:28 <SimonRC> of course, there should be no reason that the basil puzzle's source needs to be secret
21:17:17 <SimonRC> if one were to just store md5's of the password that one must enter, you *could* make basil's source public
21:17:28 <SimonRC> um, wait, I am treating you like an idiot
21:17:37 <SimonRC> sorry, you must do that already
21:18:24 <tusho_> SimonRC: I believe the term is Swhack. :P
21:19:02 <tusho_> SimonRC: Canada was the nomic played in #ircnomic (now ##nomic).
21:19:05 <SimonRC> (seriously, I didn't get the "lolcanada" message until after I said "eh?)
21:19:09 <tusho_> By me, ihope, AnMaster, and quite a few other people.
21:19:17 <tusho_> Swhacks were voluntary point deduction.
21:19:23 <tusho_> If you thought someone did something silly, you could swhack them.
21:19:31 <tusho_> If they accepted it, a point was transferred from them to you.
21:20:35 <tusho_> AnMaster: I was talking about canad
21:21:21 -!- MikeRiley has quit ("Leaving").
21:26:50 <oklopol> heh, i can't solve even the first puzzle :D
21:27:10 <oklopol> not that i really tried, since i don't have a clue what to do
21:27:12 <tusho_> oklopol: pages are made of html
21:27:37 <lament> that's your other clue!
21:28:02 <SimonRC> I respond poorly to lack of clues of progress.
21:28:17 <tusho_> SimonRC: Where are you up to?
21:28:26 <alexbobp> oklopol: It's the kind of "puzzle" that's actually a treasure hunt for information and not a puzzle.
21:28:28 <oklopol> actually, i did solve the first one
21:28:43 <lament> basil is the one with a huge tif, right?
21:28:48 <oklopol> yeah it was a different kind than i thought, that was extremely trivial
21:29:16 <tusho_> of course the first one is
21:29:19 <SimonRC> It is like a game of hot-cold where, if you are on the spot, you get "hot", and if you are anywhere else in the planet, you get "cold".
21:29:20 <tusho_> oklopol: which bit are you up to
21:30:12 <lament> yeah, i wouldn't call it a 'puzzle'
21:30:16 <oklopol> tusho_: i just opened the page like a minute ago
21:30:27 <tusho_> oklopol: have you got past the first page
21:30:30 <tusho_> onto the page that looks the asme
21:30:45 <lament> gulesfish is a puzzle, basil didn't seem to be one
21:30:55 <oklopol> well yeah, right away, once i figured it wasn't actually a hacker task, but, err, a puzzle
21:31:02 <SimonRC> lament: "didn't seem to be a puzzle"?
21:31:05 <tusho_> lament: the puzzle is figuring out what to actually do.
21:31:13 <tusho_> oklopol: why not use the same tatctic again
21:31:33 <oklopol> tusho_: have i said i can't solve the second one?
21:31:41 <tusho_> oklopol: define 'second one'
21:31:48 <tusho_> well, how did you solve the first one?
21:31:49 <lament> tusho_: it didn't seem to be a puzzle. blind guessing isn't a puzzle. It seemed like blind guessing.
21:31:59 <oklopol> tusho_: err, i read the source
21:32:10 <SimonRC> lament: that is reassuring to hear
21:32:11 <tusho_> these two are really the entry puzzles
21:32:21 <tusho_> gulesfish & basil are the real hard ones
21:32:31 <tusho_> 1. you used tactic T on the previous page
21:32:40 <tusho_> 2. this page looks 100% the same as the previous page
21:32:44 <oklopol> so... err... i simply have to solve them because they're simple? :D
21:32:52 <tusho_> oklopol: so view the source on the second one!!!!
21:33:02 <oklopol> wtf, didn't i just say the second one is fucking trivial too
21:33:07 <oklopol> 23:31… oklopol: tusho_: have i said i can't solve the second one?
21:33:08 <SimonRC> I thought oklopol already did these puzzles
21:33:17 <tusho_> "have i said i can't solve the second one?"
21:33:21 <tusho_> if you can't solve it, how is it trivial
21:33:36 <oklopol> someone help me with english
21:33:40 <tusho_> oklopol:"have i said i can't solve the second one?"
21:33:43 <oklopol> my language skills have disappeared
21:33:46 <tusho_> "I am unable to solve the second puzzle."
21:33:52 <lament> oklopol: no, your english is fine
21:33:53 <SimonRC> it is trivial, so he not "can't solve it", so he didn't say he "can't solve it"
21:33:54 <tusho_> "The second puzzle is really easy."
21:33:55 <lament> tusho_: read it again.
21:34:03 -!- Hiato has quit ("Leaving.").
21:34:08 <oklopol> tusho_: i'd've said "have i mentioned..."
21:34:16 <oklopol> not that that would've made any sense
21:34:18 <tusho_> oklopol: ok, so you're on to gulesfish?
21:34:48 <oklopol> no i'm in the second puzzle, read source, was sure about the answer, and went on with my life
21:35:03 <tusho_> oklopol: but ... the third one is the first actually hard one.
21:35:18 <tusho_> these are really just obstacles to start it off.
21:35:27 <oklopol> ...so i just have to solve the second one so i can fail at that?
21:35:50 <oklopol> let's imagine a puzzle with a big red button saying "press this for level 2"
21:35:51 <tusho_> not if you actually try and solve it
21:36:00 <oklopol> i wouldn't necessarily press that.
21:36:14 <oklopol> because, err, i don't especially like puzzles
21:36:14 <lament> oklopol: the reason the first two puzzles are there is so people who fail at the third still have somebody to laugh at.
21:36:37 <oklopol> right, well i can already laugh at those who don't know what GET is
21:36:38 <SimonRC> the art with these things is not to make them hard, but to make them hard yet cause people to consider themselves blithering idiots if/when they find (out) the answer
21:37:18 <oklopol> i like puzzles where i know exactly what to do, but not how to do it
21:37:25 <oklopol> more like, write a program that does X
21:37:31 <oklopol> this is also called programming
21:37:54 <SimonRC> oklopol: and even better, some kind of indicator that you are going the right direction
21:38:00 -!- alexbobp has left (?).
21:38:24 <oklopol> SimonRC: well when i know exactly what to do, i can just supply that heuristic myself
21:39:03 <SimonRC> anyway, solved it though I haven't, Basil will greatly increase my future appreciation of H.P. Lovecraft and similar...
21:39:09 <lament> psygnisfive: http://rodger.nonlogic.org/PHP/Example.php
21:39:27 <lament> psygnisfive: it's what we're talking about.
21:39:47 <oklopol> psygnisfive: it's a puzzle
21:39:53 <lament> we can spend _hours_ talking about a Forbidden page.
21:39:54 <SimonRC> ... because I will truly be able to believe that a single enigma can drive one to complete insanity in a week or two
21:39:54 <tusho_> it's just a very pretty forbidden page
21:40:15 <tusho_> psygnisfive: what is there that you don't consider stupid?
21:40:25 <SimonRC> just but looking at the effect it had on me over a day or two
21:40:40 <lament> SimonRC: did you actually parse the tif and stuff?
21:40:51 <SimonRC> lament: I looked at the size of the tiff
21:41:03 <oklopol> psygnisfive: i tried to install a c++ compiler today
21:41:10 <SimonRC> the picture is in bitmap form
21:41:42 <SimonRC> not, as artifacts suggest, a jpeggy form
21:42:36 <SimonRC> RodgerTheGreat: I read the wikipedos article and I thought it said it can be compressed sometimes
21:43:03 <tusho_> psygnisfive: you really hate brainfuck don't you
21:43:10 <SimonRC> damn you, you are trying to make me look at it again aren't you!
21:43:41 <tusho_> psygnisfive: so what, its just an entry puzzle
21:43:45 <tusho_> gulesfish and basil are the real puzzles
21:46:17 <SimonRC> ah, that may muck up the puzzle
21:47:01 <SimonRC> elf is a binary program format
21:47:28 <psygnisfive> well thats as far as im going in this game.
21:47:43 <psygnisfive> im not running a binary from some weirdo like rodger! :o
21:47:48 <tusho_> i'd say something relevant here
21:47:52 <tusho_> but RodgerTheGreat would kill me for spoilers
21:49:02 <RodgerTheGreat> but there's already enough information here to get past that if he was paying close attention
21:49:25 <SimonRC> RodgerTheGreat: who managed to solve it without your help?
21:51:31 <oklopol> tusho_: i solved the second one, are you happy?
21:52:02 <oklopol> you AREN'T?? oh god what do i have to do to get you happy?!?
21:52:11 <tusho_> oklopol: this channel is pg-13!
21:52:18 <SimonRC> remind me what the first four puzzles are again?
21:52:37 <SimonRC> or however many it is up to gules
21:52:52 <psygnisfive> rodger, tusho_ i presume its possible to run ELFs on a mac?
21:53:31 <tusho_> when I did it i ran it with my brain
21:54:57 <tusho_> psygnisfive: you're overthinking
21:56:16 <RodgerTheGreat> the general hint I give for all these puzzles is that none of them require specialized tools, any particular operating system or any ridiculously specialized skills to solve
21:56:39 <SimonRC> well, not specialised for *here*
21:56:43 -!- lilja has joined.
21:56:44 <RodgerTheGreat> every single one can be easily broken by a novice in less than 5 minutes if they know what they're doing
21:57:23 <RodgerTheGreat> this is what makes them "fair". I could've done hideous puzzles that are nigh-impossible, but that's really lame
21:57:23 <lament> SimonRC: artifacts could easily be because the image in the TIF was originally a JPEG.
21:57:56 <RodgerTheGreat> or subtly added by my own malicious processing. Muahaha!
21:58:07 <SimonRC> one can go down 1000 5-minute dead-ends before finding the right path though
21:58:50 <lament> RodgerTheGreat: suppose i give you a 10000-page book and the solution is written on the margins of some page. This "puzzle" requires no tools ot solve and can be solved in a second!
21:59:10 <SimonRC> but the simplicity of the hidden technique to answer them is what is the art of your puzzles is
21:59:31 <RodgerTheGreat> lament: now you're just pissing and moaning. I made a game for you guys to enjoy. Play it and have fun or do something else and shut the hell up.
21:59:53 <SimonRC> as I said a while back, the answer must be simple enough to make one feel like an idiot when the answer is found (out).
22:00:57 <tusho_> psygnisfive: 6 i think
22:01:31 <psygnisfive> well 3 is pointlessly hard from my perspective.
22:01:33 <ihope> I guess I should figure out a way to back up Normish before tusho requires it.
22:02:12 <lament> psygnisfive: what's 3?
22:02:29 <psygnisfive> unless we're counting from 0, in which case its 2
22:02:33 <tusho_> psygnisfive: what does gules mean
22:02:34 <lament> isn't basil right after gulesfish?
22:02:52 <tusho_> psygnisfive: what do you normally do when you don't know what a word means.
22:02:59 <ihope> Gules sounds like... what's it called...
22:03:13 <ihope> Blazon, that's it.
22:03:19 <psygnisfive> i thought it was some silly name rodger came up with
22:03:25 <SimonRC> in this context, one might reasonably assume it is a meaningless proper noun
22:03:27 <lament> ihope: yep, it's a blazon tincture
22:03:42 <ihope> As in "Tierced palewise sable, argent, and sable, charged with a quill and an axe in saltire, proper, and in the chief a capital letter A, gules."
22:03:55 <lament> we need a blazon esolang
22:04:06 <lament> blazons are the first vector graphics format
22:04:11 <SimonRC> see, if one applies logic, one can easily get led up the garden path
22:04:15 <lament> with human-readable representation, too!
22:04:23 <psygnisfive> "In heraldry, gules (pronounced with a hard 'g') is the tincture with the colour red, and belongs to the class of dark tinctures called "colours". In engraving, it is sometimes depicted as a region of vertical lines or else marked with gu. as an abbreviation."
22:04:32 <SimonRC> blazons are symbolic, not vector
22:05:02 <lament> psygnisfive: nothing, really. it's not much of a hint.
22:05:06 <tusho_> psygnisfive: what color is it
22:05:19 <ihope> One fish, two fish, gulesfish, azurefish?
22:05:23 <lament> psygnisfive: at least, i got stuck on the puzzle for a while while fully aware of the implications.
22:05:31 <lament> i don't think it's a hint at all :)
22:05:49 <ihope> Argent is silver and sable is black, right?
22:06:06 <SimonRC> ah, I found an analogy that lament might like...
22:06:23 <lament> SimonRC: careful, RodgerTheGreat might abuse you if you say it
22:06:58 <SimonRC> these puzzles are like a maze: any fool can walk fast enough to get through it in 5 minutes
22:07:18 <SimonRC> (*cough* knowing the route *cough*)
22:07:25 <RodgerTheGreat> but they'd be completely missing the point of the maze
22:07:33 <psygnisfive> any fool and do it in 5 minutes, but it takes a special kind of genius to get completely stuck :D
22:07:45 <lament> i kinda like gules, i failed at solving it without help and did feel like an idiot afterwards
22:08:14 <RodgerTheGreat> it's one of my favorite puzzles because it has so many layers that fit together
22:08:21 <SimonRC> RodgerTheGreat: you are at a disadvantage; you have no clue how hard the puzzles are if one doesn't knoe that answer
22:08:28 <lament> RodgerTheGreat: gules?
22:08:47 <lament> psygnisfive: it means red. it's the color red.
22:08:47 <ihope> So where are these puzzles?
22:09:01 <lament> ihope: http://rodger.nonlogic.org/PHP/Example.php
22:09:05 <psygnisfive> thats stupid why would you use gules to represent the color red
22:09:15 <lament> because it's a puzzle.
22:09:19 <tusho_> because otherwise it would be trivial.
22:09:37 <lament> tusho_: i knew from the beginning what gulesfish meant and still got stuck on the puzzle.
22:09:38 <ihope> So, "gulesfish" is not a hint at all.
22:09:44 <lament> i don't think it's a hint at all.
22:09:51 <tusho_> psygnisfive: what are red fish
22:09:52 <ihope> lament: I get a 403.
22:10:28 <tusho_> you're a native english speaker
22:10:29 <lament> it's a particular kind of fish. It's a herring.
22:10:38 <tusho_> lament: Now you just spoiled ihope
22:10:48 <lament> ihope: please don't read that line
22:10:59 <RodgerTheGreat> this is why I keep telling people to put hints in PMs.
22:11:04 <ihope> lament: I knew that.
22:11:11 <tusho_> psygnisfive: Perhaps you should just resign yourself to the fact that you consider everything idiotic
22:11:13 <ihope> Yes, I read it. Sorry.
22:11:14 <tusho_> instead of pointing it out all the time
22:11:24 <lament> besides ihope already knew it.
22:11:35 <psygnisfive> that kind of fish doesnt even look like that
22:11:37 -!- atsampson has quit (Read error: 110 (Connection timed out)).
22:11:50 <lament> again, i just don't think it's much of a hint, by itself
22:12:05 <lament> it doesn't work as a hint, except in retrospect you can say "oh yeah, i see that this was intended as a hint."
22:12:52 <lament> still gules is a nice puzzle
22:13:22 <lament> RodgerTheGreat: it's not really a hint as much as an explanation, later on, for why you should feel like an idiot :)
22:13:39 <tusho_> ok so apparently psygnisfive has NEVER EVER heard red herring as a literary term
22:13:39 <RodgerTheGreat> basil is more of a "fuck you" puzzle than the others mainly because I wanted to end with a stumper
22:13:49 <tusho_> and thought it was a type of fallacy instead.
22:14:25 <lament> yeah, if you don't know what red herring means then it's a bit less fair.
22:14:32 <SimonRC> so, you claim that a novice can do them in 5 minutes each
22:14:36 <ihope> Well, I don't know how to do the second one. What's the answer?
22:14:36 <tusho_> let me break it down for psygnisfive
22:14:44 <tusho_> 1. You don't need a special platform
22:14:48 <lament> ihope: what do you mean you don't?
22:14:50 <RodgerTheGreat> basil is mainly hard because you have to look at it in a totally different way than you do most of the other puzzles. I train players one way, and then they have to spin their brain around
22:14:53 <lament> ihope: you're in #esoteric
22:15:16 <SimonRC> RodgerTheGreat: with the number of hints you gave me, I didn't exactly get trained in any direction
22:15:48 <lament> RodgerTheGreat: i'd say it's hard mainly because you have no idea whatsoever of what way to look at it.
22:16:50 <ihope> Note to self: Don't stop the first time you see something.
22:19:58 <SimonRC> the route to the end is but 5 minutes long, but there are 1000 doors to try
22:20:12 <ihope> Bah, other-style line breaks.
22:20:19 <ihope> Notepad is a fan of not displaying those properly.
22:20:37 -!- atsampson has joined.
22:22:11 <tusho_> well psygnisfive you're on your own.
22:22:31 <tusho_> yes. everything is stupid to you psygnisfive
22:22:43 <psygnisfive> tusho, why are you replying to PM in #esoteric?
22:22:52 <tusho_> because there is no point for it to be in pm
22:23:04 <psygnisfive> except that noone knows the context of your reply
22:27:08 <oklopol> i can't do the third one even with the hints
22:27:17 <oklopol> and i refuse to try anymore
22:27:39 <ihope> Okay, I don't know how to do the gules fish.
22:27:46 <psygnisfive> its some stupid brainfuck program that you run the elf file through. that much was obvious from the beginning, only the thing doesnt do anything.
22:28:15 <RodgerTheGreat> the official hint for this puzzle is and was "look at everything you downloaded"
22:28:34 <RodgerTheGreat> but the puzzle's page also contains a really blatant hint
22:29:53 -!- olsner has quit ("Leaving").
22:30:46 <psygnisfive> just tell us. if this puzzle is genuinely interesting, we'll see it as such, and if its not, you'll know it sucks and you can revise it.
22:31:02 <tusho_> actually, at least 3-4 people in this channel really like it
22:31:09 <tusho_> and you're the only one getting all angry and upset about it
22:31:28 <psygnisfive> oklopols giving up and ihope doesnt get it either
22:31:39 <psygnisfive> and you, you're just insane so ofcourse it makes sense to you :P
22:32:31 <tusho_> heh, I see ihope needed that hint too
22:33:03 <SimonRC> "< tusho_> and you're the only one getting all angry and upset about it" <-- BS, I got far more angry and upset about it
22:33:06 <tusho_> "thats the stupidest thing ive ever heard."
22:33:11 <tusho_> you continually break that recodr
22:33:19 <ihope> No, I still don't know.
22:33:53 <tusho_> SimonRC: but you didn't call it stupid afterwards
22:34:09 <SimonRC> I express my bitterness in different ways
22:35:20 <SimonRC> you may have noticed that I have been hinting that peoples' judgement of difficulty is being clouded by knowing the answer
22:35:36 <tusho_> looks like psygnisfive finally got it.
22:35:41 <psygnisfive> i still havent gotten it and its STILL idiotc
22:35:56 <tusho_> I think I might filter any message coming from psygnisfive with the words stupid or idiotic
22:36:02 <tusho_> they're all, without exception, useless
22:36:15 <tusho_> I have practically spelled it out to you on pm.
22:36:42 <RodgerTheGreat> SimonRC: I am aware of this inherent fact with puzzles. However, I've worked closely with many people as they've solved these, so I have a good understanding of the "hard parts" and usual stumbling blocks
22:36:44 <ihope> Okay, I looked inside the zip and saw something. It wasn't the password.
22:37:11 <psygnisfive> you open the zip file in a text editor and at the bottom it says much needed input: blahblahblah
22:37:21 <SimonRC> RodgerTheGreat: yeah, and you may have noticed that no novice every actually solved them each in 5 minutes
22:37:24 <psygnisfive> when you run it through the program it spits out password is MD5 of the red herring
22:37:38 <tusho_> psygnisfive: You're a fucking asshole who ruins other people's fun.
22:37:50 <ihope> No, he's a fucking asshole who gave me a hint.
22:37:57 <psygnisfive> Rodger used shady techniques to make this puzzle
22:37:58 <RodgerTheGreat> SimonRC: actually, one dude on #Linux beat everything (it ended in gules those days) in about 8 minutes flat
22:38:00 <tusho_> ihope: What, by spelling out the whole damn puzzle?
22:38:14 <psygnisfive> "look inside the zip" is always, ALWAYS, understood to mean unzip and look at the contents
22:38:19 <RodgerTheGreat> apparently he'd done a lot of web hacking puzzles in the past
22:38:23 <tusho_> psygnisfive: OMFG!! PUZZLES SOMETIMES DEPEND ON WORDPLAY!
22:38:31 <tusho_> I AM SHOCKED AND AMAZED AT THIS NEW DEVELOPMENT!
22:38:35 <SimonRC> RodgerTheGreat: interesting
22:38:49 <SimonRC> RodgerTheGreat: is there any point to my continued existance
22:38:53 <tusho_> kind of like whirl huh
22:38:57 <tusho_> I think I might ignore psygnisfive
22:39:02 <ihope> tusho_: he said that if you run that string through the program, you get an instruction to take the MD5 of the red herring. He didn't say what to do with it.
22:39:18 <SimonRC> RodgerTheGreat: hmmmmmmmmmmm
22:39:25 <RodgerTheGreat> so maybe it takes a savant, but it can be done damn fast
22:39:37 <ihope> So can someone give me the answer so I can move on to the next puzzle?
22:39:38 * tusho_ tries to recall the last time psygnisfive said anything useful instead of just disparaging other people
22:39:56 <SimonRC> presumably, the order one thinks of possibilities is quite random
22:40:07 -!- Sgeo has quit ("Ex-Chat").
22:40:13 <psygnisfive> "7566cb649f60a8a2d838750b2268720a" does nothing
22:40:14 <SimonRC> and the order can make the difference between taking 3 weeks trying and 8 minutes
22:40:21 <psygnisfive> nor does "646241e2ff7e13dc72c461809b2daa99"
22:40:27 <ihope> psygnisfive: what if you use capital letters?
22:40:45 <ihope> They sure look lowercase to me.
22:40:58 <psygnisfive> you mean capital letters in the MD5 string?
22:41:08 <lament> can you stop spoiling the puzzle for ihope
22:41:17 <ihope> Please, keep spoiling the puzzle for me.
22:41:19 <psygnisfive> thats stupid and not how MD5 outputs but ill bloody try
22:41:32 <tusho_> ihope there is no point playing a puzzle if you just get everything spoiled for you.
22:41:46 <ihope> lament: why do you want me to not hear the answer?
22:41:51 <psygnisfive> theres no point in playing a puzzle when its stupid either.
22:41:52 <ihope> tusho_: I'm curious as to what's next.
22:41:56 <tusho_> psygnisfive: so STOP PLAYING IT
22:41:58 <lament> ihope: there is no answer, it's just a puzzle
22:42:00 <tusho_> at least you'd shut up
22:42:14 <psygnisfive> no, im going to continue playing it and pointing out how stupid it is.
22:42:19 <ihope> Is that thing you put in the password box not the answer?
22:42:32 <tusho_> psygnisfive: We'll carefully ignore you.
22:42:47 <tusho_> i'm sure RodgerTheGreat feels a stab of pain each time you say 'your puzzle is stupid
22:42:53 <ihope> I'm still listening eagerly.
22:43:24 -!- pikhq has joined.
22:43:41 <ihope> pikhq, solve this puzzle and tell us the answer: http://rodger.shadowarts.org/PHP/gules.php
22:43:46 <SimonRC> this is quite the most spectacular way to make people hate one another and/or themselves that I have ever seen outside of fiction
22:43:59 <SimonRC> this game is like a bloomin' ring of conflict
22:44:02 <pikhq> ihope: I solved it a year ago.
22:44:09 <psygnisfive> SimonRC: you should've seen some of me and vlad's arguments over in #isharia!
22:44:17 <lament> ihope: what do you mean by answer, the password?
22:44:18 <tusho_> SimonRC: Actually, psygnisfive is always like this. As am I with him.
22:44:22 <SimonRC> psygnisfive: did the entire channel join in?
22:45:06 <pikhq> I have just been informed that I am now in the posession of a system with 2 Xeons, 2 gigs of RAM, and 4 100G SATA drives.
22:45:10 <psygnisfive> tusho why are you all up in a huff about me telling people the secret magic of this level?
22:45:30 <SimonRC> take discussion to another channel
22:45:35 <pikhq> In other words: I now have the space to make me a version-controlled ~.
22:45:55 <tusho_> #esoteric is dead apart from this anyway.
22:46:03 <pikhq> SimonRC: Don't physically have the 100G drives yet, though.
22:46:06 <tusho_> why kill #esoteric and just move everything to #anotherchannel?
22:46:06 <SimonRC> tusho_: because it is causing a damn argument, that's why
22:46:14 <tusho_> SimonRC: It'll cause a damn argument in there too.
22:46:15 <pikhq> And my actual ~ is on a system that's not currently on.
22:46:30 <SimonRC> tusho_: no, a couple of days ago there were long befunge discussions
22:46:39 <SimonRC> psygnisfive: well get a room
22:46:41 <tusho_> SimonRC: And there will be tomorrow.
22:46:45 <tusho_> But there is no befunge to discuss.
22:47:22 <ihope> #gulesfish, everyone?
22:47:35 <tusho_> ihope: That'll break when you get past #gulesfish.
22:48:10 <tusho_> This channel is dead anyway
22:48:13 <tusho_> there'll be arguments in that one too
22:48:18 <tusho_> so moving it accomplishes nothing
22:48:21 <tusho_> (dead apart from this)
22:48:27 <ihope> I'm thinking there won't be arguments if you're not there.
22:48:38 <tusho_> I guess I'll join then
22:49:08 <lament> bah, i forgot how to do gate 3 lock 1
22:49:18 <lament> i just remember that it's easy :D
22:49:25 <SimonRC> lament: is that the one with the flashing squares?
22:49:43 <psygnisfive> I MD5ed everything conceivable. the words "THEREDHERRING" "THEREDHERRINGÿ" "theredherring" "theredherringÿ" and the elf file
22:49:43 <lament> oh, i think i know what i did last time
22:49:56 <psygnisfive> and i tried those MD5s both all caps and all lowercase
22:50:07 <lament> psygnisfive: that's not everything conceivable.
22:50:19 <lament> psygnisfive: what's another way to say red herring?
22:50:21 <pikhq> Care to stick it in PM? I'd prefer not to spoil it.
22:50:28 <pikhq> Especially not for people who read the logs.
22:50:36 <psygnisfive> no actually there isnt, because "gulesfish" does not mean "red herring"
22:50:39 <ihope> To #gulesfish with ye. :-)
22:51:09 <tusho_> ihope: nobody's going to go to that channel
22:51:20 <lament> SimonRC: i think the last time i just tried permutations
22:54:45 -!- Corun has quit ("This computer has gone to sleep").
22:55:42 <lament> mm, got to basil and don't feel like playing with it any more than i had last time :)
22:58:11 <lament> it's not really a maze, more like a blank wall :)
22:58:25 <SimonRC> (because knowing that other people could solve the puzzle in a minute or two but you can't is really reassuring)
22:58:28 <lament> gules at least has an obvious false trail
22:58:40 <lament> basil has no trail at all
22:59:06 <SimonRC> I assume Rodger meant literally 8 minutes for that other guy.
22:59:25 <tusho_> SimonRC: ihope just kicked me from #gulesfish
22:59:31 <tusho_> for telling psygnisfive he fails at reading comprehension
22:59:50 <psygnisfive> he kicked you because you're an annoying little shit
23:00:02 <tusho_> ihope: why did you kick me?
23:00:07 <oklopol> tusho_'s better than the rest of you, and not afraid to show it
23:00:18 -!- SimonRC has changed nick to RodgerTheGrape.
23:00:43 <RodgerTheGreat> simonRC- the guy that beat everything in 8 minutes didn't do basil, too
23:00:44 -!- RodgerTheGrape has changed nick to SimonRC.
23:01:04 <SimonRC> RodgerTheGreat: oops, silly me
23:01:38 <tusho_> for future record i'm an annoying little shit
23:02:11 <SimonRC> we need a ruler with an iron fist
23:02:18 <ihope> I wonder if I could cause chaos in #math this way.
23:02:21 <SimonRC> yeah, one iron fist and one candy fist
23:02:33 <tusho_> SimonRC: i'm happy with lament's level of opping
23:02:36 <SimonRC> iron fist for the bad and candy fist for the good
23:02:46 <tusho_> it means that people aren't kicked just because someone considers them an annoying little shit
23:03:14 <tusho_> someone else founded it
23:03:19 <tusho_> but he's been here since 2002 and is the only active op
23:03:39 <SimonRC> ah, of course, Freenode's non-falunty ops policy
23:03:44 <ihope> I'm no longer in #gulesfish.
23:03:58 <SimonRC> he is the basket in which all our eggs are?
23:04:14 <SimonRC> maybe RodgerTheGreat or someone else sensible should be made into a backup op
23:04:25 <tusho_> i don't think we need more ops SimonRC
23:04:33 <tusho_> #esoteric is, mostly, totally free speech
23:04:35 <tusho_> and it's better this way.
23:04:42 -!- cherez has joined.
23:05:10 <SimonRC> in case lament goes into witness protection or something
23:05:43 <tusho_> lament barely excersizes his op power
23:05:55 <tusho_> (apart from the lack of his vulgar puns. Which would be missed.)
23:06:04 <tusho_> (although it's more vulgarity, and puns, seperately.)
23:07:16 <lament> don't we have other ops, sheesh
23:07:28 <SimonRC> psygnisfive: not in here, please
23:07:53 <SimonRC> psygnisfive: I would like to actually sleep tonight
23:09:46 <tusho_> lament: we have one other
23:09:57 <tusho_> and he's dropped off the face of the earth for years, no?
23:10:16 <lament> wasn't calamari an op?
23:10:23 <lament> i always thought he was
23:10:23 <tusho_> not when i've been here
23:10:26 <lament> but he's not on the list
23:10:36 <tusho_> to me #esoteric is your channel :P
23:13:47 <oklopol> wanna give the puzzle url again
23:14:02 <oklopol> i know a guy who likes playing with these
23:14:11 <tusho_> http://rodger.shadowarts.org/PHP/Example.php
23:20:16 <lament> since time immemorial, i think
23:20:30 <lament> try /msg chanserv access #esoteric list
23:20:42 <lament> Aardappel is there, for obvious reasons
23:21:25 <tusho_> lament: fizzie only started talking recently
23:21:33 <tusho_> didn't talk in 2007 as far as I can tell
23:21:38 <tusho_> only recently in 2008, probably talked before that ofc
23:21:57 <lament> i think he was on the esolang list
23:22:25 <lament> the esolang list still exists, it's amazing
23:22:35 <tusho_> does anyone still post?
23:22:42 <lament> the only message in the past ~5 years was a test message crosslisted to some other list
23:23:00 <lament> but it's totally there
23:23:05 <tusho_> Surely someone has to post a message every now and then
23:23:08 <tusho_> even if it's just hah it's dead
23:23:17 <tusho_> lament: well then you know what i'll do
23:23:21 <tusho_> i'll go and send an email to it
23:23:42 * tusho_ subscribes to friends-of-brainfuck too
23:23:47 <lament> i'm not sure if it still exists
23:23:56 <tusho_> you said it did lament
23:24:40 <lament> http://esoteric.sange.fi/
23:24:48 <lament> you figure out the subscribe link :)
23:25:21 -!- KingOfKarlsruhe has quit (Remote closed the connection).
23:25:21 <tusho_> there's an email from jul 06 there
23:25:27 <tusho_> http://esoteric.sange.fi/archive/current
23:26:20 <tusho_> MUST SUbSCRIBE!!!!!!!!!!!
23:26:23 <lament> it's some popular listserv
23:26:30 <lament> try listserv@ or majordomo@ or subscribe@
23:26:49 <tusho_> https://sange.fi/oiva/esoteric -> not found
23:26:57 <tusho_> <lang@esoteric.sange.fi>
23:27:03 <lament> To unsubscribe send a mail to listar@esoteric.sange.fi with a body of:
23:27:03 <tusho_> X-listar-version: Listar v0.129a
23:27:04 <lament> unsubscribe lang[if you receive these messages via lang]
23:27:04 <lament> unsubscribe misc[if you receive these messages via misc]
23:27:13 <lament> ... you figure out how to subscribe :D
23:27:21 <tusho_> are you subscribed lament
23:27:46 <tusho_> ok, let's hope that worked
23:27:50 <tusho_> List context changed to 'lang' by following command.
23:27:51 <tusho_> Subscription confirmation ticket sent to user being subscribed.
23:28:07 <lament> this is what always amazed me about the internet
23:28:13 <lament> things that are dead seem so alive
23:28:15 <tusho_> Welcome to list 'lang'
23:28:28 <lament> at least post something on-topic
23:28:30 <tusho_> for my reference: lang@esoteric.sange.fi & misc@esoteric.sange.fi
23:29:02 <lament> maybe mention this channel, just in case somebody missed the announcement 5 years ago
23:30:18 <tusho_> Let's see if some life can't be kicked back into this thing.
23:30:24 <tusho_> I'm not even going to set up a filter+label
23:30:31 <tusho_> I am under no illusions on how much traffic to expect
23:30:56 <tusho_> friends of brainfuck seems to be dead though
23:31:04 <tusho_> it says it's sent off the confirmation but hasn't
23:31:35 <lament> ...suddenly billions of forgotten esolangers awaken from their ancient dreams...
23:31:46 <lament> ...and eat tusho's soul!
23:32:21 <tusho_> You have successfully confirmed your subscription request for "penguinofthegods@googlemail.com" to the Friends-of-brainfuck mailing list. A separate confirmation message will be sent to your email address, along with your password, and other useful information and links.
23:32:33 <tusho_> mailing lists make me happy
23:32:37 <tusho_> they're so ... deliciously arcane
23:32:54 <lament> does usenet make you happy?
23:33:04 <tusho_> usenet doesn't work, lament.
23:33:08 <SimonRC> ooh, another mailing list to fill up my gmail account and ignore!
23:33:20 <tusho_> SimonRC: You're assuming any messages get sent to it to ignore
23:33:25 <tusho_> and yeah, usenet works for binaries.
23:33:28 <SimonRC> I am on several populated groups
23:34:02 <lament> usenet definitely works better than the esolang mailing list :)
23:35:04 <tusho_> Jul 26 = last non-spam on the friends-of-brainfuck list
23:35:10 <tusho_> it's asking if there's anyone still there in all the spam.
23:35:36 <tusho_> how can people suddenly just be so unenthusiatic about esolangs
23:35:38 <tusho_> while the esolang wiki survives
23:35:42 <tusho_> to not post for 4 fucking years?
23:35:47 <tusho_> i mean, ok, i can understand it going dead
23:35:58 <tusho_> lament, did you get the email I sent to misc@?
23:36:19 <tusho_> ok, the listserv still works then
23:40:32 * SimonRC tries sending "help" to the listar
23:40:50 <SimonRC> "Unable to process request due to filesystem error"
23:41:04 <tusho_> SimonRC: here's what to do
23:41:11 <SimonRC> make the help command work?
23:41:17 <tusho_> send {subscribe lang} to listar@esoteric.sange.fi
23:41:19 <tusho_> send {subscribe misc} to listar@esoteric.sange.fi
23:41:44 <SimonRC> what other lists are there?
23:41:58 <tusho_> that's all the esoteric lists
23:42:05 <tusho_> esoteric/lang and esoteric/misc
23:42:10 <tusho_> on the esoteric.sange.fi listserv
23:42:12 <tusho_> anyway, https://mail.koeln.ccc.de/cgi-bin/mailman/listinfo/friends-of-brainfuck
23:44:05 <tusho_> lament: how much spam do you get from those lists
23:44:36 <tusho_> all on the esoteric listserv?
23:44:44 <SimonRC> say "lists" to listar@esoteric.sange.fi
23:44:50 <tusho_> lament: which are you subscribed to
23:45:17 * SimonRC tries multi-subscribe in one message
23:46:28 <SimonRC> chat doesn't work: "filesystem error"
23:46:52 <tusho_> Unable to generate subscription cookie!
23:46:52 <tusho_> Unable to process request due to filesystem error.
23:47:15 <tusho_> kind of an eerie feeling this
23:47:22 <tusho_> a half-broken listserv
23:47:24 <SimonRC> I wonder where it is hosted
23:47:27 <tusho_> serving the occasional spam
23:47:39 <tusho_> and even then just a test message
23:47:48 <SimonRC> how did we find it out again?
23:48:04 <SimonRC> I thought that stuff on the net got taken down as soon as no-one was using it
23:48:13 <tusho_> SimonRC: It hosts lots of stuff too
23:48:17 <tusho_> http://esoteric.sange.fi/
23:48:24 <tusho_> it's the esoteric file archive
23:48:26 <SimonRC> 23:21:57 < lament> i think he was on the esolang list
23:48:27 <SimonRC> 23:22:25 < lament> the esolang list still exists, it's amazing
23:48:43 <tusho_> i knew of it before though
23:48:45 <tusho_> just never tried subscribing
23:48:49 <lament> we found it because i remember the url :)
23:48:57 <tusho_> and because esolangs.org links to it
23:49:02 <tusho_> just not the actual thing
23:49:05 <tusho_> so we looked in archives/
23:49:09 <tusho_> and saw unsubscribe instructions
23:49:19 * SimonRC <heart> internet archaeology
23:49:41 <SimonRC> it's like discovering a forgotten city
23:49:52 <tusho_> i have no idea how you can not post to a mailing list for 5 years though
23:50:10 <tusho_> everything i'm on always gets a 'is this still on' every now and then
23:50:20 <lament> tusho_: it never officially died, either
23:50:22 <SimonRC> I subscribed to the thress that work
23:50:23 <lament> people just stopped posting
23:50:31 <tusho_> SimonRC: friends-of-brainfuck too?
23:50:31 <lament> #esoteric played a large part in killing it
23:50:49 <SimonRC> (hmm, how did *I* find this place)
23:51:21 <lament> at least these days the esolangs wiki is high up on google
23:51:24 <SimonRC> some listserv software says "BTW you are still subscribed y'know and here is your password" every month
23:51:25 <lament> and from it, people can find irc
23:51:37 <SimonRC> anbd from there THE WORLD!
23:51:45 <lament> http://www.esolangs.org/wiki/Esolang:Community_Portal
23:51:50 <lament> that page actually mentions the mailing lists
23:51:57 <SimonRC> who owns the server the list is on
23:52:01 <lament> The mailing list lang@esoteric.sange.fi is is a common place to announce new languages, programming contests etc., though it is rather low on traffic these days.
23:52:04 <lament> To subscribe to lang@esoteric.sange.fi, send a mail with subscribe lang as the message body to listar@esoteric.sange.fi.
23:52:11 <tusho_> SimonRC: some listserv == mailman.
23:52:24 <tusho_> i used to be subscribed to a mailing list from coollist.com
23:52:29 <tusho_> which, at the bottom, proudly sports:
23:52:34 <tusho_> © Copyright 2000 Coollist.
23:52:41 <SimonRC> or, who owns esoteric.sange.fi?
23:52:56 <SimonRC> (the list mustn't die, not after we just found it)
23:53:03 <tusho_> SimonRC: we can keep it alive.
23:53:20 <lament> if the list is referenced from the comunity portal page on the wiki
23:53:27 <lament> means it was always accessible to newcomers
23:53:33 <SimonRC> I mean, he mustn't notice and say "oh that thing's still going I mean to get rid of that"
23:53:44 <tusho_> lament: doesn't mean they did it.
23:53:46 <lament> he's subscribed to the list of course
23:54:07 <SimonRC> I am bothered by my desire to try and bring together groups of people that are split and only have me in common
23:54:25 <tusho_> i also hate to see sites die
23:54:29 <tusho_> then it just disappears
23:54:34 <tusho_> it kind of feels like everyone on it is gone too.
23:54:41 <SimonRC> e.g. my recent desire to reunite SourceryNet's #afd with the parent newsgroup alt.fan.dragons
23:54:41 <lament> esoteric.sange.fi used to be the hub
23:54:49 <tusho_> i also generally dislike meeting someone on the internet
23:54:52 <tusho_> and then never seeing them again
23:54:59 <SimonRC> tusho_: one of my webcomics died a couple of days ago
23:55:02 <tusho_> coollist.com seems to be broken
23:55:07 <tusho_> subscribe.cgi -> empty
23:55:08 <SimonRC> Everything You Know Is Right
23:55:51 <SimonRC> enough thought like this could make one an insane dictator who desires no information should ever be lost
23:56:07 <tusho_> i prefer retaining information in a vigilante way
23:56:17 <tusho_> now, shall we figure out how to work coollist?
23:56:25 <tusho_> i'll try -making- a list
23:56:41 <lament> at one point the esolang list was lively enough that somebody proposed an esolang ([]) to go in the message title tags
23:56:55 <SimonRC> lament: I remember seeing that
23:57:09 <tusho_> The server encountered an internal error or misconfiguration and was unable to complete your request.
23:57:25 <lament> that esolang is not even on the wiki :(
23:57:35 <tusho_> oh god, now we've made lament sad too
23:57:52 <tusho_> SimonRC: http://coollist.com/
23:57:59 <tusho_> it seems to be 100% borked
23:58:12 <lament> a lot of cool people used to come to this channel and don't come anymore
23:58:13 <tusho_> SimonRC: it died early 2007 it seems
23:58:19 <tusho_> so it went for 7 years without maintainence...
23:59:08 <lament> this channel is dying just as the list died
23:59:10 <tusho_> Your query has been successfully sent to the Coollist Support Team. We will get back to you as soon as possible.
23:59:16 <tusho_> lament: wtf? It's active.
23:59:23 <lament> it's just dying very, very slowly :D
23:59:32 <tusho_> ok, it was in a lull a while back
23:59:34 <tusho_> but it's perked up again
23:59:45 <SimonRC> google thinks the FOBF subscribe messages are spam
23:59:55 <tusho_> ircbrowse.com seems to be dead...
00:00:24 <tusho_> SimonRC: it was one of #esoteric's loggers
00:00:30 <tusho_> Then there was one - clog.
00:00:46 <tusho_> lament: anyway, there are a lot of active befunge-related discussions
00:00:50 <tusho_> ais523 keeps coming up with new ideas
00:01:00 <tusho_> and slereah and psygnisfive, um, keep the rest of the time filled
00:01:10 <tusho_> i wouldn't say we're dying
00:01:30 <tusho_> i wouldn't let us die, anyway :P
00:01:41 <tusho_> if I had to be everybody in #esoteric apart from lament I'd do it
00:01:57 <tusho_> ok everyone but lament and oklopol
00:02:16 <tusho_> are you going away, oklament
00:02:41 <tusho_> http://www.esolangs.org/wiki/Special:Recentchanges esolang WIKI seems to be dying though
00:03:46 <tusho_> SimonRC: any idea about coollist
00:03:51 <tusho_> bet it went to /dev/null
00:07:09 <lament> tusho_: i think irc on the whole is dying, though
00:07:21 <tusho_> lament: it's been dying since 1992
00:07:23 <lament> stuff like mibbit will keep it alive for a while
00:07:34 <tusho_> and say that irc is dying.
00:07:47 <lament> well, sure, some channels are big and lively.
00:07:55 <tusho_> lament: and they strand off into littler ones.
00:07:58 <tusho_> and thus irc stays alive
00:08:02 <tusho_> besides, it's veryyyyy slowly
00:08:08 <tusho_> maybe irc will be fading out in 10 years time.
00:08:28 <lament> well, such technologies never die until the users do
00:08:40 <lament> usenet is effectively dead already, yet a bunch of people will use it till they die
00:09:01 <lament> perhaps moribund is a better term
00:09:19 <tusho_> but lament, people come on to irc quite often
00:09:24 <tusho_> so it refreshes itself
00:10:06 <lament> my experience is highly biased since i don't go outside freenode
00:10:33 <SimonRC> I am on half-a-dozen lively newsgroups
00:10:45 <lament> death can be hard to define :)
00:11:24 <lament> but some people still use BBSs too
00:11:35 <tusho_> bbs' are certainly dead
00:11:54 * SimonRC feels nostalgic for the days when the internet was a wilderness not a boomin suburb
00:12:21 <tusho_> don't be elitist, SimonRC
00:12:34 <SimonRC> or the days when phreakers from around the wolrd would meet up in a telex machine that the phone exchange had forgotten for a while
00:12:49 <SimonRC> that was before I was born
00:13:05 <tusho_> SimonRC: yes, but you're saying that the 'new internet' people aren't as good.
00:13:39 <SimonRC> its less wild, but it's less wild
00:13:44 <lament> SimonRC: i don't think much has changed really
00:14:11 <lament> SimonRC: you're just out of the loop :)
00:14:20 <lament> SimonRC: consider the phreakers: the phone networks were huge
00:14:32 <lament> but only like 20 people in the world knew about that telex machine
00:14:46 <SimonRC> dunno, maybe a few hundered, but yeah
00:15:12 <lament> this kind of thing happens all the time
00:15:50 <tusho_> well, I'm not leaving #esoteric any time soon
00:15:54 <tusho_> a ban would do it but that's about it.
00:16:05 <pikhq> And probably only a few people knew about stuff like rms's no password account on an Internet-facing machine.
00:16:06 <tusho_> and I'm certainly not letting it die in the forseeable future
00:16:41 <lament> SimonRC: i think the internet is more wild if anything
00:16:58 <pikhq> IIRC, RMS intentionally had no password on his account so that people could dial into MIT and get on the Internet.
00:17:22 <tusho_> i leave my wireless unencrypted
00:17:51 <pikhq> He also recommended that other people leave no passwords, so as to preserve anonymous access in MIT systems.
00:17:57 <SimonRC> but there are still so many groups of people that are doing the same things but do not know about each other
00:18:14 <SimonRC> OTOH, new internet is good too...
00:18:23 * tusho_ ponders writing a new listserv
00:18:23 <SimonRC> thank god for universal reachibility
00:18:30 <pikhq> Amusingly, the GNU Hurd also preserves anonymous access.
00:18:30 <tusho_> A modern one that doesn't act like mailman.
00:18:51 <tusho_> Anyway, I mean, listservs aren't that hard right?
00:19:04 <tusho_> When you get an email from an email in the subscriber list, you send it to everyone in the subscriber list with a footer.
00:19:15 <tusho_> when you get one to the control address, you interpret the body as some commands.
00:19:22 <pikhq> It has 4 levels of mode bits: User, Group, Owner, and Anonymous...
00:19:29 <pikhq> And there is an anonymous user on the HURD.
00:19:59 <pikhq> Or maybe it was a null set?
00:20:05 <lament> hurd is definitely dead, though :)
00:20:15 <tusho_> I think I could write a listserv in a day.
00:20:24 <tusho_> Maybe start esolangs-prime ;)
00:20:33 <pikhq> A HURD installation's gettys spawn shells as anonymous.
00:20:51 <pikhq> If you wish to login, you type "login username".
00:21:22 <lament> tusho_: there's a perfectly good mailing list to which a bunch of people are already subscribed... :)
00:21:33 <pikhq> So, you can reasonably fuck around with a HURD system without having an account on it.
00:21:34 <tusho_> lament: And that gets no emails but spam
00:21:44 <tusho_> How do they spam it anyway?!
00:21:49 <tusho_> Do they know how to sign up to lists?
00:22:04 <tusho_> pikhq: i assume you can disable that
00:22:21 <tusho_> Hm, I wonder. Do most listservs run their own SMTP server or whatever?
00:22:24 <tusho_> Or just hook into another?
00:24:32 <pikhq> Make init not spawn an anonymous shell, & voila.
00:24:47 <tusho_> http://snippets.dzone.com/posts/show/3932 <-- Hm. Are SMTP servers really this simple?
00:25:09 <tusho_> http://snippets.dzone.com/posts/show/5152
00:27:59 <tusho_> CakeProphet: the latter has some business logic
00:28:29 <tusho_> It even handles attachments, right?
00:28:35 <tusho_> Since it's all just strangely-encoded stuff.
00:29:00 <CakeProphet> doesn't look like it handles attachments, no.
00:29:17 <tusho_> CakeProphet: Aren't attachments just done by having weird things like
00:29:24 <tusho_> and having it encoded somehow?
00:30:20 <tusho_> it does handle attachments
00:30:36 <tusho_> CakeProphet: what i mean is
00:30:38 <tusho_> it passes them on fine
00:30:42 <tusho_> if it were to resend the message it stores
00:31:03 * tusho_ considers milkman as a name.
00:37:25 <tusho_> http://sourceforge.net/?abmode=1
00:38:34 <tusho_> SimonRC: Second time lucky?
00:38:44 -!- shachaf has quit (Read error: 104 (Connection reset by peer)).
00:38:46 -!- shachaf has joined.
00:38:57 <ihope> I wonder if I can send files from the Normish server using Gmail under lynx.
00:39:08 <tusho_> gmail requires a modern, js-enabled browser.
00:41:00 <SimonRC> tusho_: no, it has a non-js mode
00:45:00 <lament> gmail has a non-js mode?
00:52:37 <ihope> Let it be hereby resolved that we will now talk about something interesting.
00:52:40 <ihope> Namely, the Iliad.
00:53:45 <ihope> You see, some Greeks wanted to make a nomic that would run right on top of a server, with root privileges, and their best warrior, Achilles, was going to implement it.
00:53:55 <psygnisfive> dont you love the anachronisms in the Iliad?
00:54:06 <ihope> And it's so applicable to daily life, even.
00:54:34 <ihope> But then their leader, Agamemnon, saw someone else was offering to implement it instead, so Achilles got angry and left.
00:55:07 <ihope> The Greeks were unhappy and all, because stuff wasn't getting done, so Achilles laid out the conditions for his return, and Agamemnon accepted, so he returned.
00:55:37 <ihope> Now Achilles just has to kill Hector.
00:56:38 <ihope> tusho_: did you know that because you decided to write a proposal system, your name will live forever but you will die an early death?
00:57:22 <tusho_> yeah. i kill hector tomorrow.
01:00:40 -!- tusho_ has quit (Client Quit).
01:58:48 <CakeProphet> a language with a lot of simple operators that do implicit things
01:59:35 <CakeProphet> I guess you could conceptualize it as object oriented
01:59:51 -!- megatron has quit (Read error: 110 (Connection timed out)).
02:00:00 <lament> what does (3|2) == x do?
02:00:05 <CakeProphet> I was very excited when Perl 6 was announced to have that.
02:00:34 <oklopol> mapping trees, oklotalk has those
02:00:53 <psygnisfive> there are so many times where it could be useful
02:01:20 <oklopol> also i have that on a higher level in, err, i forget in which language, so that it's automatically referred from types of functions
02:01:42 <lament> if flag in ["this", "that", ...]:
02:02:18 <oklopol> lament: that's a bit different and you know it :D
02:02:28 <oklopol> i have no idea why the smiley!
02:02:32 <psygnisfive> and they dont have a contains method either
02:03:08 <psygnisfive> Array.prototype.contains = function(obj){ return this.indexOf(obj) != -1; }
02:03:22 <oklopol> i think in most languages it's impossible to implement the general idea of mapping trees yourself
02:03:46 <oklopol> but you can get close with oo+operator overloading ofc
02:03:59 <CakeProphet> you could also have array programming... but have it explicitly... implicitly map.
02:04:04 <lament> i like 'in' (as in python) more than the perl thing
02:04:15 <lament> more explicit, more simple, is not really a new language feature
02:04:33 <lament> works with any container object
02:05:08 <CakeProphet> I like "the Perl thing" because it's... what I originally expected
02:05:15 <CakeProphet> the first thing I remember when I was working with boolean operators
02:05:31 <CakeProphet> was "why the hell can't I do x == (2 and 1)"
02:05:38 -!- lament has quit ("Lost terminal").
02:05:48 <psygnisfive> i like both. i think they should be used for different things, honestly
02:06:05 <CakeProphet> but it makes sense logically that it should be able to do that.
02:06:17 <oklopol> i've gone from "should have" to "naturally don't have" to "should have" back again to "should have as something you can add yourself" on that feature in languages
02:06:18 <CakeProphet> psygnisfive: well yeah... in is a containment check.
02:06:33 <psygnisfive> the perl one has a nice non-deterministic-like property
02:07:52 <psygnisfive> you mean like == (x and y) means == x && == y?
02:07:54 <oklopol> just false is what a mapping tree would do
02:08:20 <oklopol> a == (b and c) ==== ((a==b) and (a==c))
02:08:22 <CakeProphet> (1 and 2) == (1 and 2) would also be true....
02:08:37 <oklopol> basically once it makes sense, you apply everything, before that, you just build the mapping tree up
02:08:48 <psygnisfive> but i figure that nothing EVERY can be a and b
02:09:10 <CakeProphet> ...the example I just gave would logically be true.
02:09:16 <oklopol> (1 and 2) makes no sense, typewise, so you make a mapping tree out of it, a lambda that applies the operator to things in all leaves, then evaluates the whole tree
02:09:35 <psygnisfive> cakeprophet: i dont get your example. i mean, i get it in one sense, but not in another
02:09:42 <oklopol> so when you do 1 == (...), because == returns a boolean, you apply to all leaves the lambda (1 ==)
02:09:53 <psygnisfive> (1 and 2) == (1 and 2) makes sense in that the structures, etc match
02:09:54 <CakeProphet> you probably get it in the rational sense.
02:10:09 <psygnisfive> but it makes no sense given the other definitions
02:10:54 <oklopol> well (1 and 2) == (1 and 2) ===> ((1 and 2) == 1 and (1 and 2) == 2) ===> (1 == 1 and 2 == 1 and 1 == 2 and 2 == 2)
02:11:18 <psygnisfive> because if a != b, and x == (a and b) is equivalent to (x == a) && (x == b)
02:11:29 <CakeProphet> that makes sense when you're dealing with scalar values... but not values that are the combinations of scalars.
02:11:33 <psygnisfive> then the transitivity of equality would require that a == b
02:12:08 <psygnisfive> i dont think we have a proper semantics for "anded" values
02:12:13 <CakeProphet> yes... just consider, not from any sort of formal definition, but from rational thinking
02:12:39 <psygnisfive> i dont know, because we havent defined what (1 and 2) _as a value_ is
02:13:06 <CakeProphet> but what should it be? the most obvious case?
02:13:22 <psygnisfive> no sorry oklopol did and i thought you did
02:13:44 <oklopol> what's the problem with just having it be a mapping tree which i've invented and fully specced years ago?
02:14:14 <psygnisfive> instinctually i would want to say that (1 and 2) is a single value that is simultaneously 1 and 2
02:14:44 <CakeProphet> I have yet to argue for any specific underlying implemntation... only consider what it should do in obvious cases.
02:15:22 <CakeProphet> what the hell does it look like it would be?
02:16:05 <psygnisfive> it depends entirely on how you interpret these things
02:16:14 <oklopol> you could have "A and B" be a kinda "quantum set" that's simultaneously A and B, and A or B be something that's either
02:16:46 <oklopol> and then use some kinda cool collapsing to get nondeterminism yay
02:16:51 <CakeProphet> psygnisfive: not dealing with computer language here... purely logic.
02:17:06 <psygnisfive> because in logic you still have definitions
02:17:15 <oklopol> CakeProphet: no difference between logic and programming languages
02:17:18 <psygnisfive> and it depends on which form of logic you're using
02:17:46 <oklopol> CakeProphet: you can have a formal system where [] isn't necessarily the same as another []
02:18:24 <oklopol> because you can define the concept of a "unique object", and just formally define non-structural, id-based equivalence
02:19:03 <oklopol> psygnisfive: well that is a different thing
02:19:21 <oklopol> a duck = x for which x is in the set of ducks
02:19:49 <psygnisfive> "a duck" is just a selector of an item from a collection
02:20:01 <oklopol> yes, i'm sure we both know the concept
02:20:12 <psygnisfive> well, let A be the set of all possible combinations formed by (x and y)
02:20:34 <CakeProphet> we now have that x == x where x is any immutable value (numbers and boolean combinations)
02:21:08 <CakeProphet> if you want to get all "depends on the definition"
02:22:15 <psygnisfive> the problem was whether or not (1 and 2) is a construction of a new anded entity, or isn't it
02:23:57 <psygnisfive> and then ofcourse, because we're talking about multiple values, how you evaluate == on such multiple valued entities is not inherently the same as how you evaluate it on single valued entities
02:24:00 <CakeProphet> it's a logical construct... I don't know what else you want. It exists as its own entity, but its equivalences with other entities is based on its values.
02:24:35 <CakeProphet> psygnisfive: depends on your definition. ;)
02:24:48 <CakeProphet> is it is an immutable value consisting of immutable values.
02:25:02 <psygnisfive> but is it one value, that is composed of others
02:25:08 <psygnisfive> or is it simply just multiple values not one
02:26:07 <psygnisfive> then 1 == (1 and 1) should always return false
02:26:23 <psygnisfive> since (1 and 1) is a composite that happens to be composed of the same thing
02:27:03 <psygnisfive> basically what _I_ am saying is that there is no right answer, formally or otherwise
02:27:15 <CakeProphet> is there is no need to differenciate between it being one value of multiple values... or just being multiple values.
02:27:29 <CakeProphet> I am telling you how I would like it to work.
02:27:48 <psygnisfive> well just provide a collection of examples
02:28:09 <CakeProphet> I would say my biggest collection of examples would be the English language.
02:28:53 <psygnisfive> because 1 and 1 means 1+1 in normal english.
02:29:46 <CakeProphet> ...then I am honestly not sure what my definition derives from
02:29:59 <psygnisfive> the semantics of conjunctions in english are like the shorthands oklopol proposed earlier.
02:30:20 <psygnisfive> furthermore, "is" in english is far more tricky than you can imagine
02:31:58 <psygnisfive> these two are VEEERRRY different, semantically
02:34:22 <CakeProphet> ...I think my definition of and is much like a set or a list.
02:34:33 <CakeProphet> with == being both the containment test and the standard value equality test
02:36:27 <oklopol> is = equality, and containment, mostly, although adjectives aren't exactly sets in english, and i guess there are some other weird exceptions as well
02:36:38 <psygnisfive> is is occasionally identity, and occasionally membership
02:36:55 <psygnisfive> tho its not actually membership, its empty in those cases
02:36:57 <CakeProphet> but it's pretty much descriptive and not imperitive at all.
02:37:03 <psygnisfive> and the determiner seems to govern membership
02:37:05 <oklopol> ya and also quality, unless you want to define a property as the set of things characterized by it
02:37:44 <psygnisfive> other languages dont have this sort of thing. many languages have different verbs of is to mean different things
02:38:16 <CakeProphet> when describing the structure of a sentence
02:38:38 <CakeProphet> to narrow it down to one definition of the word.
02:39:13 <psygnisfive> that sentence can be seen as having these truth conditions: ¬∃x.(Man(x)∧Duck(x))
02:39:30 <psygnisfive> while "Paris is the capital of France" is more like it looks
02:40:06 <psygnisfive> the point im trying to make tho is that is is very complicated
02:40:15 <psygnisfive> mr clinton wasn't entirely wrong in that regard
02:43:50 <CakeProphet> "Paris is the capital of France" : France.capital = Paris
02:43:54 * pikhq mutters about the copula being ridiculously complex
02:44:12 <CakeProphet> "Paris is a capital of France": append(France.capitals, Paris)
02:44:56 <pikhq> He's a Python thinker, apparently; let him be silly.
02:45:56 <pikhq> My mind is thinking 'copula', not 'coding'.
02:46:16 <psygnisfive> what part of the sentence "Paris is a capital of France" encodes the ∈?
02:47:00 * CakeProphet is not familiar with set theory operators.
02:47:36 * pikhq just can't see them; no Unicode.
02:47:51 <oklopol> how does append(A, B) look like prolog? what would that even mean?
02:49:08 <oklopol> what could it possibly mean?
02:49:20 <psygnisfive> it depends, but supposing A is some list, and b is some item
02:50:19 <oklopol> good, good, for a minute there i thought you didn't know anything about prolog, which is a scary thought
02:50:39 <psygnisfive> but it still looks like prolog since its an assertion using a predication
02:51:38 <psygnisfive> the copula in english is terribly odd and weird.
02:51:55 <oklopol> right, given the context, it'd be a sensible contains(A, B)
02:52:48 <psygnisfive> but think what it would mean to say something like
02:52:49 * pikhq nods at psygnisfive
02:53:26 <pikhq> Confusing the fuck out of me.
02:53:54 <psygnisfive> in these sentences, everything is controlled by the quantifiers
02:56:07 <CakeProphet> it does however set up some sort of context
02:56:14 <CakeProphet> for all the other quantifiers to be... regarded in.
02:56:36 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
02:56:52 <psygnisfive> and what "other" quantifiers? is is not a quantifier
02:57:19 <CakeProphet> how the quantifiers effect the sentence is affected by the verb
02:57:36 <CakeProphet> then they would have different effects, or perhaps make the sentence complete nonsense.
02:58:15 <psygnisfive> it seems more like is converts things into verbs.
02:59:25 <CakeProphet> because Flier is defined to be... everything that flies.
02:59:29 <psygnisfive> it seems that is allows predicating nouns to predicate
03:00:02 <ihope> "I'm happy that you're happy."
03:02:08 <psygnisfive> anyway, "is" doesnt seem to set up any context. it's use is different in different places
03:02:21 <CakeProphet> I've always enjoy when people say "speed of gravity" when talking about physics
03:02:46 <psygnisfive> like all forces, gravity propagates at the speed of light
03:03:10 <psygnisfive> tho thats not what people mean i dont think :D
03:03:24 <psygnisfive> did i mention i was a physics major before switching to linguistics? :)
03:03:37 <pikhq> You know you want to.
03:03:54 <psygnisfive> but i had to drop the physics part because the school i transfered to sort of messed me up
03:05:06 <CakeProphet> I always imagine a force not to have a specific speed
03:05:21 <psygnisfive> well it depends on what you mean by saying that a force has a speed
03:05:28 <CakeProphet> a speed at which other things accelerate when affected by it.
03:05:44 <pikhq> CakeProphet: I always imagine a force propogating at the speed of light is the only sane speed.
03:05:55 <psygnisfive> did you know that the strong nuclear force gets strong the further from it you get?
03:06:03 <pikhq> I mean, hell: if it were instantaneous, good lord...
03:06:24 <pikhq> We'd have the means to communicate across the universe in 0 time at all.
03:06:28 <psygnisfive> that is to say, the further apart two quarks are, the more they're pulled towards one another
03:06:53 <ihope> psygnisfive: I thought the force remained exactly the same regardless of distance.
03:07:23 <psygnisfive> its why you cant separate quarks into a quark gluon plasma
03:07:46 <ihope> What happens when you pull apart a proton?
03:08:13 <psygnisfive> as you try to tear two quarks apart, the density of gluons between the two quarks gets so great that new quarks begin to emerge
03:08:22 <psygnisfive> and thus all you end up doing is making new quarks
03:09:55 <psygnisfive> you can do similar with light, actually. slam two gamma rays into one another and if they have sufficient energy you get an electron-positron pair
03:10:20 <psygnisfive> which, if they lack sufficient energy, will ofcourse collapse into one another and spin off another pair of gamma rays heading back where they came from
03:10:32 <pikhq> Which is just fucking awesome.
03:10:48 <pikhq> It's almost like a Game of Life pattern...
03:11:12 * pikhq wonders if the universe is a nondeterministic cellular automaton
03:11:13 <psygnisfive> pikhq: wolfram thinks the universe is a CA.
03:11:25 <pikhq> But can he prove it?
03:11:28 <psygnisfive> you should check out A New Kind of Science
03:11:37 <pikhq> Maybe he needs to get someone else to prove it for him.
03:11:46 <psygnisfive> and i think Smolin is interested in weird and funky ideas like that
03:11:57 <psygnisfive> as a way to formulate a theory of quantum gravity
03:12:08 <pikhq> (cue ais523, with an elegant proof which a line is too small to contain...)
03:12:30 <psygnisfive> most string theorists think that the Theory of Everything will actually only be an inch long
03:13:28 <ihope> Truncated discrete-time Fourier transform.
03:13:37 <ihope> More than an inch and less than a Theory of Everything.
03:14:24 <psygnisfive> i need to make a spectrogram-to-audio convertor
03:17:09 <ihope> Can't you just kind of slice out a rectangular window and FFT that?
03:17:36 <psygnisfive> well, you need to use a windowing function
03:17:44 <psygnisfive> but i dont know how to program these things. :O
03:25:19 <ihope> Just ignore the windowing function aspect of things.
03:25:44 <ihope> Use a rectangular window, then.
03:27:02 <ihope> Normish a.k.a. rootnomic has been satisfactorily backed up. Rejoice.
03:33:13 -!- RodgerTheGreat has quit.
04:38:29 -!- ihope has quit (Read error: 104 (Connection reset by peer)).
05:07:11 -!- pikhq has quit ("leaving").
06:14:44 -!- olsner has joined.
06:25:14 -!- GreaseMonkey has joined.
06:48:25 -!- GreaseMonkey has quit ("HydraIRC -> http://google.com <- Go find something better").
07:59:16 -!- olsner has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:36:23 -!- lament has joined.
08:57:33 -!- Corun has joined.
09:11:16 -!- lament has quit.
09:11:20 -!- Corun has quit ("This computer has gone to sleep").
09:27:48 -!- Corun has joined.
09:33:48 -!- GreaseMonkey has joined.
10:01:27 -!- psygnisf_ has joined.
10:01:27 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
10:02:07 -!- Corun has quit ("This computer has gone to sleep").
10:37:02 -!- tusho has joined.
10:38:30 -!- GreaseMonkey has quit ("HydraIRC -> http://google.com <- Go find something better").
10:43:26 -!- Tritonio_ has quit ("Leaving").
10:54:39 <tusho> the listar management program for those lists' websites hasn't been updatied since 2003
10:54:45 <tusho> and the last commits were 2 in 2006
12:09:56 -!- Sgeo has joined.
13:00:22 <tusho> 18:01:42 <lament> if flag in ["this", "that", ...]:
13:00:29 -!- sebbu2 has joined.
13:14:14 -!- sebbu has quit (Read error: 110 (Connection timed out)).
13:44:59 -!- sebbu2 has changed nick to sebbu.
14:07:05 -!- pikhq has joined.
14:08:44 -!- atsampson has left (?).
14:10:32 -!- Metaly has joined.
14:14:24 -!- AnarKo has joined.
14:14:52 -!- RedDak has joined.
14:17:15 <AnarKo> http://esolangs.org/wiki/Jot
14:17:47 <AnarKo> where can i find a detailed description of this languaje?
14:20:00 <tusho> http://ling.ucsd.edu/~barker/Iota/#Goedel
14:20:53 <jemarch> AnarKo: http://web.archive.org/web/20061105204247/http://ling.ucsd.edu/~barker/Iota/
14:26:32 <AnarKo> there is only a scheme implementation
14:26:52 <AnarKo> but i dont understand it
14:27:17 <AnarKo> http://web.archive.org/web/20061213214326/ling.ucsd.edu/~barker/Iota/jot.scm
14:29:04 <AnarKo> anyone can translate it to c, python or php?
14:33:51 <tusho> AnarKo: in python:
14:34:05 -!- Metaly has quit (Read error: 110 (Connection timed out)).
14:34:23 <tusho> def jot(v=(lambda x: x)):
14:37:14 <tusho> AnarKo: http://rafb.net/p/9XLyki20.html
14:40:10 <tusho> AnarKo: hope it's easier to understand
14:40:13 <tusho> jot(v(lambda x: lambda y: lambda z: x(z)(y(z)))(lambda x: lambda y: x))
14:40:17 <tusho> is admittedly not very intuitive
14:40:43 <tusho> and it reads from standard input
15:00:45 -!- AnMaster has quit ("thunderstorm").
15:14:17 -!- RedDak has quit (Remote closed the connection).
15:21:07 -!- Hiato has joined.
15:21:19 -!- Hiato has quit (Client Quit).
15:29:28 -!- alexbobp has joined.
15:32:20 -!- AnarKo has quit.
15:57:11 -!- RodgerTheGreat has joined.
15:57:54 -!- MikeRiley has joined.
15:58:55 -!- ais523 has joined.
15:58:56 -!- ihope has joined.
16:03:22 <pikhq> Today on #esoteric: Agora.
16:03:53 <ais523> actually, I've been thinking recently about how Agora is possibly an esolang
16:03:55 <tusho> Every day on ##nomic: Agora. :P
16:04:05 <ais523> a worse one in some ways than Malbolge
16:04:14 <ais523> Malbolge is a hostile language, but at least it stays the same
16:04:24 <ais523> whereas Agora (to be precise, scamming Agora) is a programming language too
16:04:29 <tusho> ais523: agora throws 5 exceptions each time you put a command in a comment
16:04:37 <ais523> but one which changes semantics, and occasionally syntax, regularly
16:04:44 <ihope> A programming language with a living element!
16:04:48 <ais523> and where the interpreter is both intelligent and actively hostile
16:05:02 <ais523> sort of like the reverse of IRP, where the interpreter is intelligent but benign
16:18:00 -!- AnMaster has joined.
16:19:08 -!- ais523 has quit ("rebooting, will be back soon").
16:22:05 -!- alexbobp has left (?).
16:23:34 -!- ais523 has joined.
16:28:59 -!- kar8nga has joined.
16:38:05 -!- Tritonio_ has joined.
16:45:40 -!- kar8nga has left (?).
17:04:51 -!- alexbobp has joined.
17:25:09 -!- timotiis has joined.
17:25:18 -!- timotiis has quit (Client Quit).
17:33:32 -!- sebbu2 has joined.
17:51:40 -!- sebbu has quit (Connection timed out).
18:11:04 -!- MikeRiley has quit ("Leaving").
18:13:56 -!- Tritonio_ has quit (Remote closed the connection).
18:15:48 -!- olsner has joined.
18:16:17 -!- Corun has joined.
18:18:02 -!- jemarch has quit ("ERC Version 5.0 (CVS) $Revision: 1.1.1.1 $ (IRC client for Emacs)").
18:29:43 -!- tusho has changed nick to tushooooooooo.
18:30:05 -!- tushooooooooo has changed nick to tusho.
18:40:07 <ais523> hi AnMaster, probably for about 5 minutes
18:40:24 <ais523> this place closes in about 5 minutes
18:40:32 <ais523> although I can move elsewhere if necessary
18:40:33 <AnMaster> ais523, ouch, going somewhere else after I hope?
18:41:30 <AnMaster> ais523, was wondering what your current plans for C-INTERCAL are
18:42:24 <ais523> well, I've had vague plans for several things for a while
18:42:32 <ais523> for instance a theft client for network access with CLC-INTERCAL
18:42:44 <AnMaster> ais523, in effect an FFI with CLC?
18:42:48 <ais523> and an attempt to come up with a practical INTERCAL-like language
18:42:56 <ais523> AnMaster: not really, just for communicating information
18:43:00 <ais523> INTERCAL networking is weird
18:43:08 <ais523> AnMaster: that's certainly possible
18:43:10 <AnMaster> ais523, INTERCAL got networking?
18:43:23 <ais523> programs can steal variables from other programs
18:43:38 <AnMaster> ais523, could you write a HTTP client in INTERCAL?
18:43:47 <AnMaster> if not, will you make it possible?
18:43:54 <ais523> CLC-INTERCAL has a system-calls extension to do ordinary socket-based networking
18:43:58 <ais523> but that's very ordinary
18:44:04 <ais523> apart from the way it passes arguments
18:44:16 <AnMaster> it would be like C-FFI really kind of
18:44:17 <ais523> and I could code something like that up easily as a C-INTERCAL expansion library
18:44:23 <ais523> tusho: INTERNET's the variable-stealing thing
18:44:33 <ais523> the system-calls extension is the ordinary socket-based networking thing
18:45:02 <AnMaster> ais523, got a better idea how to do it in an INTERCAL way then?
18:45:22 <ais523> not really, it's just an ordinary language feature
18:45:30 <ais523> so should probably be done by FFIing or not at all
18:45:48 -!- 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"").
19:00:58 -!- ais523 has joined.
19:02:48 -!- Sgeo has quit ("Ex-Chat").
19:12:13 -!- psygnisf_ has changed nick to psygnisfive.
19:25:56 <AnMaster> ais523, so I'd love to see the steal client thing
19:26:16 <ais523> you can have great fun just netcatting to an INTERCAL theft server
19:26:35 <ais523> but I'd probably write a client first as a perfectly good server comes with CLC-INTERCAL
19:37:40 -!- CakeProphet has quit (Read error: 60 (Operation timed out)).
19:42:21 -!- Santa_wii has joined.
19:44:26 <Santa_wii> for a moment I thought this was empty ^^U
19:44:36 <ais523> no, it just has dead spells now and again
19:46:08 <ais523> AnMaster: anyway, what do you want to talk about? Presumably you called me back here for a reason
19:46:36 <AnMaster> ais523, yes about C-INTERCAL future
19:46:50 <ais523> well I'm not doing much on it atm
19:47:00 <AnMaster> ais523, what are you working on then?
19:47:03 <ais523> although I did test it on Cygwin recently and it worked fine, so that's another platform it's tested on
19:47:10 <ais523> AnMaster: getting back to normal sleep patterns mostly
19:47:17 <ais523> also planning other esolangs
19:48:02 <ais523> well there's that Shove thing that I'd like to code at some point
19:50:32 <tusho> what is ^^U meant to be
20:03:21 <ais523> well I explained it earlier
20:03:32 <ais523> with a stack of strings
20:03:39 <ais523> INTERCAL-like quoting on stringmode
20:03:56 <ais523> and the only commands are ' " < > v ^ and the other four which I don't really have good symbols for
20:04:02 <ais523> the other 4 are also directional
20:05:27 -!- kar8nga has joined.
20:11:38 <tusho> ais523: use unicode
20:11:55 <ais523> but unicode in Funges has always been a bad idea for various reasons
20:12:05 <ais523> I'm thinking of maybe A V ( ) or something like that
20:12:35 -!- Santa_wii has left (?).
20:13:28 <ais523> yes, but there's no obvious way to do it
20:15:19 -!- MikeRiley has joined.
20:18:52 <psygnisfive> ive heard that fortran is blazingly fast, is this true?
20:19:17 <ais523> I've heard that it's very good for what it does, but don't have much experience
20:19:26 <ais523> it's certainly blazingly short for maths compared to COBOL
20:20:05 <MikeRiley> depends on the compiler, but i would say yes
20:20:20 <psygnisfive> i hate c but i'd prefer to code in c than fortran
20:20:32 <MikeRiley> been a long time since i have coded in fortran
20:20:38 <ais523> it's still slower than properly written asm though
20:21:04 <ais523> when writing for extreme speed normally I write in C but have the asm output open in another window
20:21:12 <ais523> and keep tweaking the C until it produces the asm I want
20:21:33 <ais523> finally inlining the asm if I can't find any way to get the compiler to write it
20:21:38 <psygnisfive> i wonder if its possible to design a CPU that runs a high level language natively
20:21:41 <ais523> I prefer to have a portable program though
20:21:44 <MikeRiley> a lot depends on what you are doing as what languages would be quicker...
20:21:50 <psygnisfive> ie the high level language IS assembly for that CPY
20:21:53 <ais523> psygnisfive: several computers were built that ran Lisp natively
20:22:05 <MikeRiley> sure,,,i have seen a cpu once that ran forth natively
20:22:06 <psygnisfive> yeah but i think they decomposed them to something lower, didnt they?
20:22:16 <olsner> forth, java, lisp cpus have all existed
20:22:33 <MikeRiley> i have heard of lisp ones as well..
20:22:39 <olsner> java ones iirc usually based on a forth one, but rebranded and equipped with a small interpreter :D
20:22:46 <AnMaster> psygnisfive, C can be faster at some stuff
20:22:52 <AnMaster> like general purpose programming
20:23:06 <MikeRiley> for most things c has more than enough performance...
20:23:08 <AnMaster> FORTRAN is likely faster at math
20:23:49 <MikeRiley> less complicated code, less instructions to execute....fewer instructions,,,faster run...
20:24:04 <AnMaster> there has been a brainfuck CPU too
20:24:15 <ais523> C has to rely on procedure calls for much maths stuff
20:24:16 <MikeRiley> really???? although that one should not be too hard to do....
20:24:16 <olsner> but what does fortran actually have besides like vector operations and compilers built from a culture of compiling math programs?
20:24:23 <MikeRiley> i would like to see a befunge one!!!
20:24:24 <ais523> and compilers can't inline it as well as the Fortran ones can
20:24:34 <alexbobp> argh, trying to understand lambda calculus is making me so confused
20:24:39 <ais523> MikeRiley: yes, so would I
20:24:41 -!- atrapado has joined.
20:24:54 <psygnisfive> oh, it has vector operations? i can see that being useful then
20:25:05 <alexbobp> Is there a good introduction to unlambda?
20:25:39 <ais523> the official unlambda website is quite good
20:25:51 <ais523> but it's a lot easier if you learn ordinary lambda calculus before you learn unlambda
20:26:05 <alexbobp> okay, how do I learn lambda calculus?
20:26:18 <alexbobp> The page about it on the esolang wiki made my head hurt
20:26:58 <alexbobp> psygnisfive: on wikipedia? okay.
20:28:32 <MikeRiley> anmaster: changed my FING fingerprint to just two commands...so now no weirdness about dealing the semantic stacks...
20:28:45 <ais523> what's the new FING fingerprint?
20:28:54 <MikeRiley> Z (src dst -- ) Push source semantic onto dst
20:29:14 <AnMaster> MikeRiley, and what exactly does that do? you mean drop a char like Z or whatever
20:29:16 <ais523> where do you get semantics from?
20:29:33 <AnMaster> MikeRiley, isn't this like IMAP really?
20:29:36 <MikeRiley> Z will copy a semantic from the top of one semantic stack to another
20:29:37 <Deewiant> MikeRiley: heh, that's some simplification :-)
20:29:52 <MikeRiley> Y will drop the semantic off the top of a single semantic stack
20:30:07 <ais523> ah, ok, so you can mess around with what letter means what
20:30:22 <MikeRiley> IMAP maps at the high level....FING maps at the semantic level...so can make one semantic act like another...
20:30:39 <ais523> MikeRiley: it should work for non-fingerprints too IMO
20:30:55 <Deewiant> MikeRiley: but what if another fingerprint defines Y and Z
20:31:07 <ais523> Deewiant: well, normal fingerprint rules apply, surely?
20:31:11 <Deewiant> or is this still acting as though FING weren't there
20:31:21 <Deewiant> ais523: yes, but you can't easily mess with what Y and Z do
20:31:36 <ais523> Y and Z just have meanings like any other fingerprint
20:31:42 <ais523> and you can just manipulate them with FING
20:31:54 <Deewiant> but if you push something onto Y
20:32:01 <Deewiant> you have to push Y somewhere else first, so that you can use it again
20:32:07 <ais523> yes, but that isn't really a problem
20:32:22 <Deewiant> it was a problem with the earlier iteration of FING which defined around 20 commands :-)
20:32:46 <Deewiant> probably not, except in my and others' irc logs
20:32:50 <MikeRiley> Y and Z could not re remapped with FING loaded
20:32:58 <MikeRiley> aceept to put something on top of them,,,
20:33:46 <Deewiant> ais523: http://tunes.org/~nef/logs/esoteric/08.07.27 has 'em
20:33:54 <MikeRiley> yeah, i think the new FING will work better...
20:33:59 <ais523> ok, for an even more interesting way to do FING... have an X command which swaps a fingerprint stack with a data stack
20:34:20 <ais523> ofc you then need numbers to represent semantics but that isn't too hard
20:34:42 <Deewiant> hmm, if it swapped with the SOSS that would work nicely
20:34:45 <MikeRiley> X may not work depending on how the interpreter is writtne....would work for Rc/Funge,,,,may not for others...
20:35:42 <MikeRiley> Rc/Funge-98 uses function numbers on the semantic stacks...so esily can be put onto a data stack...
20:35:44 <ais523> even better, let X swap two stacks
20:35:52 <MikeRiley> but those interpreters that use function references,,,would be more difficult...
20:36:38 <MikeRiley> including FING,,,,Rc/Funge-98 defines 8 new fingerprints....
20:37:47 <ais523> MikeRiley: have you done IFFI?
20:38:00 <MikeRiley> no,,,since i do not have a compatable intercal to connect it to...
20:38:28 <ais523> well it's designed so it doesn't need to be connected to an intercal interp, you can just use the FFI within a Befunge program if you like
20:38:39 <ais523> to make calls to itself with COME FROM and suchlike
20:38:46 <ais523> but it's more useful if there's an INTERCAL program there too
20:39:28 <MikeRiley> been too long since i have done anything with intercal...
20:39:40 <ais523> what language is RC/Funge written in?
20:39:55 <ais523> hmm... maybe I should see if I can modify it to work with C-INTERCAL too
20:40:04 <ais523> then there would be two different ways to generate libick_ecto_b98.a
20:41:10 <MikeRiley> Rc/Funge-98 was written back when my programming habits were not terribly good,,,as a result,,,a lot of odd code in it...
20:42:19 <ais523> well all that really needs doing is modifying the main loop and having a load of fingerprints that just set flags
20:42:50 <MikeRiley> main loop is the worst of all!!!! ehehehehehe it has been modifed a bit to handle some of my feral fingerprints...
20:43:19 <ais523> but presumably it is just a simple loop?
20:43:30 <ais523> all that's needed is some extra things that happen every iteration
20:44:50 <AnMaster> MikeRiley, why not remap Y and Z
20:44:54 <MikeRiley> part of my current work on the thing is to clean up the code a bit...
20:44:57 <AnMaster> the way cfunge does it you would
20:45:10 <AnMaster> and you could unload those semantics
20:45:38 <AnMaster> it is just pushing function pointers around
20:46:02 <AnMaster> A-Z are already stacks of function pointers in cfunge
20:47:53 <MikeRiley> FING Y and Z now function in Rc/Funge-98....
20:48:02 <MikeRiley> still like the idea of X for a stack swap....
20:50:28 <AnMaster> MikeRiley, um you mean swap top entries between two stacks?
20:50:39 <AnMaster> it is just messing with function pointers
20:50:59 <MikeRiley> yep....should be easy impliment...
20:51:09 <ais523> swapping entire stacks could work too, and could also be quite easy
20:51:23 <ais523> I'm not sure which would be more useful, probably top entries
20:51:27 <MikeRiley> trying to decide which is most useful, swap whole stacks, or just tops.
20:53:40 <AnMaster> MikeRiley, swap whole stacks would be a bit more work
20:54:40 <ais523> AnMaster: are they linked lists?
20:54:49 <ais523> if so they're easy to swap
20:55:02 <ais523> as you only have to swap the pointers to the top and bottom
20:55:02 <AnMaster> ais523, they are stacks, as in malloced blocks
20:55:09 <ais523> oh, array-based stacks
20:55:14 <ais523> yes, that could be harder
20:55:14 <AnMaster> but you need to copy over top pointers and such too
21:00:11 -!- pikhq has quit (Remote closed the connection).
21:01:24 <MikeRiley> am using either the 0-25 or the 'A - 'Z as valid parameters
21:03:13 <MikeRiley> decided on X swapping top entries...
21:03:28 -!- KingOfKarlsruhe has joined.
21:12:14 <ais523> if Befunge had the same attitude of INTERCAL, you could swap a letter and newline and it would shuffle all the lines on the playfield around to match
21:12:47 -!- Judofyr has joined.
21:14:10 <ais523> because it would break your efficiency stuff?
21:14:20 <AnMaster> ais523, because it would be hard to implement
21:14:23 <ais523> It does have a bit of a ring to it, though, and that sort of thing is par for the course in INTERCAL
21:14:28 <AnMaster> I would simply not implement that fingerprint
21:15:26 <MikeRiley> would not be the first fingerprint nobody implemented....
21:23:53 <AnMaster> MikeRiley, I'll implement FING the way you would do it
21:24:07 <AnMaster> next weekend after figuring out the thread bug
21:25:17 <MikeRiley> X (sem sem -- ) Swap two semantics
21:25:17 <MikeRiley> Z (src dst -- ) Push source semantic onto dst
21:25:17 <MikeRiley> sem can be 0-25 or 'A through 'Z. Any other value is an error and
21:35:42 -!- olsner has quit ("Leaving").
21:40:21 -!- oerjan has joined.
21:57:32 -!- RedDak has joined.
21:59:50 -!- atrapado has quit ("Abandonando").
22:09:41 -!- Corun has quit ("This computer has gone to sleep").
22:14:20 -!- pikhq has joined.
22:25:56 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
22:29:55 -!- MikeRiley has quit ("Leaving").
23:11:11 -!- fizzie has quit (clarke.freenode.net irc.freenode.net).
23:11:11 -!- pikhq has quit (clarke.freenode.net irc.freenode.net).
23:11:11 -!- lifthras1ir has quit (clarke.freenode.net irc.freenode.net).
23:13:44 -!- pikhq has joined.
23:13:44 -!- lifthras1ir has joined.
23:13:44 -!- fizzie has joined.
23:14:47 -!- Corun has joined.
23:16:16 -!- ais523 has quit (Remote closed the connection).
23:31:55 -!- cherez has left (?).
23:35:38 -!- oerjan has quit ("Good night").
23:39:47 -!- kar8nga has joined.
23:40:14 -!- KingOfKarlsruhe has quit (Remote closed the connection).
23:40:35 -!- Corun has quit ("This computer has gone to sleep").
23:40:58 -!- kar8nga has left (?).
00:05:09 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
00:40:00 -!- alexbobp has quit ("Leaving.").
01:13:30 -!- Sgeo has joined.
01:27:56 -!- tusho has quit.
01:28:22 -!- tusho has joined.
01:52:56 -!- tusho has quit (Read error: 113 (No route to host)).
02:18:59 -!- CakeProphet has joined.
02:25:41 -!- CakeProphet has quit (Read error: 60 (Operation timed out)).
02:32:09 -!- CakeProphet has joined.
02:58:27 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
04:44:01 -!- CakeProphet has joined.
04:52:11 -!- adu has joined.
05:26:28 -!- pikhq has quit ("leaving").
05:41:19 -!- Sgeo has quit ("Ex-Chat").
05:54:38 -!- GreaseMonkey has joined.
06:00:06 <adu> I'm surprised that showed up in my client
06:00:12 <adu> i suppose its latin-1
06:01:46 -!- olsner has joined.
06:02:57 <psygnisfive> this is such a stupid combination method lol
06:03:45 <olsner> it does seem stupid indeed
06:04:22 <psygnisfive> well, its stupid because the things have nothing in common
06:48:39 -!- adu has quit.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:25:01 -!- lament has joined.
08:26:51 -!- fizzie has quit (clarke.freenode.net irc.freenode.net).
08:26:51 -!- lifthras1ir has quit (clarke.freenode.net irc.freenode.net).
08:27:41 -!- lifthrasiir has joined.
08:27:44 -!- kar8nga has joined.
08:28:55 -!- fizzie has joined.
09:05:00 -!- lament has left (?).
09:57:04 -!- Corun has joined.
10:02:26 -!- psygnisf_ has joined.
10:02:26 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
10:02:52 -!- Corun has quit ("This computer has gone to sleep").
10:19:54 -!- tusho has joined.
10:22:41 <tusho> oh man you know that twiceler bot that was scouring eso-std.org
10:22:56 <tusho> and we went onto the site and it was a spidering bot for a company saying they were 'reinventing search' blah blah blah
10:23:00 <tusho> it's cuil's spider
10:25:00 <tusho> they were called cuill when we checked though
10:32:24 -!- GreaseMonkey has quit ("HydraIRC -> http://google.com <- Go find something better").
10:45:22 <tusho> AnMaster: you don't want to use it. it is failure embodied.
10:45:27 <tusho> for example - 'cobol' gets no search results
10:45:30 <tusho> http://xs129.xs.to/xs129/08313/picture7574.png
10:46:33 <tusho> AnMaster: eric schmidt = google CEO
10:46:36 <tusho> that picture = steve ballmer.
10:46:48 <tusho> cuil = thinks they belong together
10:47:22 <fizzie> Well, it's still not masturbating guys, like in that El Reg post: http://www.theregister.co.uk/2008/07/29/cuil_launch/
10:47:56 <fizzie> Maybe they think the picture embodies the concept of "Teaching".
10:48:53 <tusho> {The company says it's attempting to tag each search result with an image "that will help people visually check whether the result is something they want to click on."}
10:49:10 <tusho> "this site is GAY"
10:50:41 <AnMaster> what happened to that powerset thingy? was all the rage some time ago
10:50:46 <tusho> AnMaster: microsoft bought them
10:50:50 <tusho> embrace, extend, extinguish
10:51:00 <fizzie> The COBOL thing is curious, since the "tab bar" there does list searches like "Cobol Programming", which do return semi-reasonable results.
10:51:30 <tusho> AnMaster: some interesting ideas, but no. not really.
10:51:40 <tusho> fizzie: Apparently 'all' means 'everything else'.
10:52:46 <tusho> Speaking of which, omgwtfbbq pikhq is back in Agora.
11:01:56 <tusho> oh man. I just linked someone to a Jakob Nielsen article and they said they could find a link saying the exact opposite :)
11:13:14 -!- sebbu has joined.
11:17:39 <AnMaster> tusho, who is "Jakob Nielsen"?
11:25:38 -!- sebbu2 has quit (Read error: 113 (No route to host)).
11:31:50 -!- RedDak has joined.
11:31:53 <tusho> AnMaster: web usability expert
11:32:17 <tusho> http://www.useit.com/
11:32:28 <AnMaster> I still think cfunge's webpage is about as usable as it can get, for a geek ;P
11:32:42 <tusho> its navigation is sorely lacking
11:32:46 <tusho> also it's inaccessible
11:32:54 <AnMaster> tusho, sure, but there isn't much to navigate to
11:33:01 <tusho> AnMaster: it's not bad, certainly
11:33:06 <tusho> it's horrible inaccessable
11:33:15 <tusho> your links are only distinguished by colours
11:33:19 <tusho> it's a giant "fuck you" to colourblinds.
11:33:23 <tusho> add an underline back in
11:33:38 <tusho> change the visited link colour to something else
11:33:45 <tusho> because colourblind users won't be able to distinguish it either
11:33:45 <AnMaster> tusho, I just took the theme from the lighttpd directory layout
11:34:09 <tusho> not sure how to do visited links nicely for colourblind people actually
11:34:12 <AnMaster> tusho, but then wikipedia has the same problem
11:34:14 <tusho> purple should be pretty distinguishable though
11:34:17 <tusho> AnMaster: yes it does
11:34:23 <tusho> doesn't make it acceptable
11:34:34 <tusho> i don't know. I haven't aske
11:35:26 <tusho> you can turn it on in user preferences though
11:35:28 <AnMaster> as for visited links, it is not something I use myself anyway
11:35:48 <AnMaster> rather I should make them keep the same color
11:35:50 <tusho> http://www.useit.com/alertbox/20040503.html
11:35:55 <AnMaster> to piss of non-colorblinds too
11:36:21 <tusho> the eso site is just going to use underline to distinguish a link
11:36:30 <tusho> so that we can use them to an insane degree without becoming a rainbow
11:36:40 <tusho> AnMaster: not really
11:36:49 <tusho> _ESO 1: Brainfuck_ has just been released
11:36:52 <tusho> where _ = underline
11:37:05 <tusho> plus _Comments_ :P
11:37:47 <AnMaster> tusho, IMO underline is uggly, you won't see underline in any printed newspaper or such
11:37:58 <tusho> underline, nowadays, means a link
11:38:07 <tusho> of course, underline in type is ridiculous
11:38:12 <tusho> underline = italics
11:38:17 <AnMaster> tusho, but underline is horrible typographically
11:38:35 <AnMaster> tusho, remember I like LaTeX ;P
11:38:45 <tusho> the point is everyone knows a bit of underlined text on the web is something you can click and get some related info
11:39:04 <AnMaster> tusho, as for navigation on cfunge web page, wtf, it is hardly neeeded, on my screen it doesn't even scroll
11:39:18 <AnMaster> actually it does for the XHTML image at the bottom
11:39:23 <AnMaster> but no scrolling apart from that
11:39:42 <tusho> AnMaster: I suggest a direct link to the source and binaries at the top
11:39:56 <tusho> sourceforge's interface is terrible
11:39:59 <tusho> i hate downloading software from it
11:40:04 <tusho> link to, e.g. http://downloads.sourceforge.net/cfunge/cfunge-0.2.1-pre2.tar.bz2?modtime=1214848823&big_mirror=0
11:40:20 <AnMaster> I don't do binaries any longer
11:40:38 <tusho> AnMaster: link to the source directly then at least
11:40:58 <tusho> This is cfunge, a fast, small and standard conforming Befunge98 interpreter in C.
11:41:09 <tusho> [Download the latest version, posix_0.348923476823423472384234324.]
11:41:33 <AnMaster> last would currently be 0.2.1-pre2
11:41:41 <AnMaster> anyway I plan to do pre3 today
11:41:47 <AnMaster> so will add that when I update for pre3 anyway
11:41:54 <tusho> AnMaster: you should name your releases after your crazy optimizations
11:42:00 <tusho> cfunge: posix_fadvise edition
11:42:31 <AnMaster> (yes that may work for a distro, but not for cfunge)
11:42:45 <tusho> personally I like this version numbering scheme:
11:42:54 <AnMaster> tusho, actually wait, I'll have to fix that darn threading bug before
11:43:01 <tusho> major.month_number
11:43:09 <tusho> if you make multiple releases, add .day_number
11:43:16 <tusho> if you take a while to add to major...
11:43:32 <tusho> major.years_of_existence.month_number[.day_number]
11:44:46 <AnMaster> anyway I really like both ick and CLC's version numbering schemes
11:44:49 <tusho> how many years has cfunge existed
11:44:59 <tusho> it isn't a year old yet
11:45:02 <AnMaster> maybe I should base mine on modular arithmetics
11:45:15 <tusho> if you make a stable release
11:45:15 <AnMaster> and then confuse the hell out of everyone
11:45:55 <AnMaster> tusho, idea: use a HUGE number that is incremented, take this mod a smaller number
11:46:10 <AnMaster> actually lets just do RSA while we are at it!
11:46:11 <tusho> AnMaster: and each major release increase the smaller number
11:46:40 <AnMaster> tusho, and the minor ones increases the large number?
11:47:07 <AnMaster> and then not tell anyone what these numbers are of course, just give them the result hehe
11:48:05 <AnMaster> or maybe just sha512 or whatever the currently preferred hash function is
12:04:00 -!- tusho has set topic: FORTH LOVE IF HONK THEN http://vjn.cc/x.
12:07:16 -!- shachaf has quit (Read error: 104 (Connection reset by peer)).
12:07:20 -!- shachaf has joined.
12:19:43 -!- sebbu has quit ("@+").
12:24:44 -!- kar8nga has left (?).
12:24:57 -!- kar8nga has joined.
12:35:58 -!- sebbu has joined.
13:12:42 -!- ihope has quit (Read error: 110 (Connection timed out)).
13:17:35 -!- sebbu has quit ("brb").
13:31:47 -!- oerjan has joined.
14:19:52 -!- kar8nga has quit ("Leaving.").
14:34:34 -!- ihope has joined.
14:34:57 <ihope> I had a dream where stuff like '.r' was valid Python to output 'r'.
14:41:06 <ihope> And there was a computer game (that my brain equated with Allegiance) that had spaceship doors that had the strangest tendency to remove your space suit, then open.
14:42:24 <oerjan> _could_ be a premonition of today's Buck Godot comic
14:45:21 <ihope> And there were robots that were apparently inspired by the movie WALL-E. I remember seeing about five of them working on something, then gesturing for them to stop, and green exclamation marks appeared on their screens.
14:48:22 <oerjan> hm, hasn't come here yet i think
14:50:31 <tusho> we should invent esolangs in dreams
14:54:02 <ihope> So, I was experimenting with the doors, and they suddenly opened, and I saw my space suit break apart. I tried to remember what the Allegiance controls on a keyboard were and use them to travel to the female/engineering ship, but being a human without a vehicle of any kind and not knowing the controls, I failed.
14:54:48 <ihope> The other ship was the male/flight ship. Adults went to whichever ship they wanted; children went with their father if they were male and their mother if they were female.
14:56:07 <ihope> Presumably, it was expected that most males would go to the flight ship and most females would go to the female ship.
14:56:34 <ihope> ...the engineering ship, that is.
14:57:13 <oerjan> orange u glad to see us?
14:57:54 <ihope> They were generation ships, and everyone was expected to be on them; the people on the flight ship would learn to fly really well (and invent flight-related things), and the people on the engineering ship would learn engineering and design useful things.
14:58:16 * tusho had a weird internet-related dream 2 days ago
15:00:12 * oerjan thinks _nothing_ puns with cockroach
15:01:22 -!- Tritonio_ has joined.
15:11:30 <Tritonio_> http://inshame.blogspot.com/2008/02/efficient-brainfuck-tables.html
15:12:27 <Tritonio_> http://inshame.blogspot.com/2008/07/big-table-implementation-in-brainfuck.html
15:14:24 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
15:17:25 <tusho> Tritonio_: AAAGH! MARQUEES!
15:22:03 <tusho> Tritonio_: Who doesn't?
15:28:09 -!- Sgeo has joined.
15:41:40 <ihope> Just how optimizing are BF optimizing compilers these days?
15:42:12 <tusho> ihope: Very. Try that haskell one.
15:42:17 <tusho> It does crazy shit.
15:45:12 -!- Tritonio_ has quit ("Leaving").
15:49:18 -!- oerjan has quit ("Ayeeh! Heat!").
15:50:56 -!- MikeRiley has joined.
15:52:22 <MikeRiley> Deewiant: last night i found the underlying problem with wrapping in Rc/Funge-98...
15:55:35 <MikeRiley> in Check_Wrap, it was comparing against the limits as greater or equal....needed to be just greater
15:55:50 <MikeRiley> the bug that was there would have affected wrapping in all 3 dimensions...
15:55:58 <Deewiant> yeah, I would have expected it to
15:56:07 <Deewiant> but I only fixed x because that's all I needed :-)
15:56:11 <MikeRiley> also replaced the dynamic memory manager to a new one,,,MUCH MUCH faster than before...
15:56:29 <MikeRiley> here is the run times for Mycology now:
15:56:39 <MikeRiley> Instructions Executed: 205866 in 220435 cycles
15:56:39 <MikeRiley> Instructions per second: 895069.56
15:57:37 <Deewiant> I'd compare with you but the times on Windows are ridiculous since the PERL test takes a year
15:57:56 <Deewiant> spawning a process alone takes around 0.3 seconds...
15:58:18 <Deewiant> anyway, you can see two visible pauses as PERL is tested :-P
15:58:38 <MikeRiley> windows was never very good for spawning tasks...
15:59:45 <MikeRiley> next will fix TRDS to work correctly,,,then will release v1.11...
16:00:01 <Deewiant> ah, so the next release will be a while from now ;-)
16:00:23 <MikeRiley> already figured out a much simpler strategy for travelling to the past...
16:00:38 <MikeRiley> travel to the future and space jumps already work correctly...
16:00:43 <Deewiant> do tell, if it's good enough I might use it :-)
16:01:01 <MikeRiley> essentially my new strategy is to make everything future jumps!!
16:01:27 <MikeRiley> when going backwards, the interpreter will be reset to where the program started...
16:01:46 <MikeRiley> time travelling IPs that should be there at the time of arrival will then be added to the IP list,,,with runtimes in the future...
16:01:57 <MikeRiley> making them act like future jumps from time 0...
16:02:30 <MikeRiley> and much easier to implement than my previous strategy...
16:02:36 <Deewiant> what was your previous strategy then
16:03:11 <MikeRiley> before i as it ran it would compare to the IPs to look for ones that would be there and then spawn them in...
16:03:27 <MikeRiley> but that method was problematic when it came to matched uids...
16:03:39 <Deewiant> I'm not sure what I do, actually :-)
16:03:48 <Deewiant> but I don't think either is very complicated
16:03:55 <MikeRiley> new method should be much cleaner,,,and less impact on the main interpreter loop...
16:04:31 <MikeRiley> current method requires TRDS functions to be dealt with until the time of jump of the last jumped IP,,,,
16:04:39 <MikeRiley> new method removes that check alltogether...
16:05:08 <MikeRiley> by using the future jumps from 0, the check to see if CycleCount > RunTime is enough to allow the IPs to arrive at the correct times...
16:06:19 <MikeRiley> and no seperate list is needed to check for when other time travellers should appear...
16:06:57 <Deewiant> but the main complexity isn't managing the list, I think
16:07:22 <Deewiant> you're just moving the complex stuff from knowing how to manage the list to knowing what RunTime to give the IPs :-)
16:07:26 <MikeRiley> i think this method will actually remove the complexity...
16:07:40 <MikeRiley> the RunTime is already straightforward...
16:07:40 <Deewiant> if so, great and I'll probably do that too :-)
16:07:50 <Deewiant> just let me know if you can pass mycotrds
16:08:24 <MikeRiley> well,,,once i have it working the way i think that it should...then will try mycotrds,,,and hopefully your vision of how time travel is supposed to work meshes with mine!! ehehehehehe
16:08:51 <Deewiant> (note that all GOODs isn't enough, it's possible to have all GOODs but incorrect output)
16:08:52 <oklopol> "There were already some table implementations which used at least 2*n Brainfuck cells for storing an n sized table. My implementation needed only n+4."
16:09:03 <oklopol> was this tritonio's link or whose, dunno
16:09:11 <MikeRiley> understood...i do agree,,,correct output is required...
16:10:04 <oklopol> "Also, all known implementations had a limit of 256 cells (Or equal to the size of a cell on the Brainfuck array. For the rest of the post I will assume that the cell size is one byte)." what??
16:10:23 <oklopol> is there a misread character there too?
16:10:36 <Deewiant> I don't know, what do you think it says :-)
16:10:39 <oklopol> or... err... are all known bf implementations 256-celled?
16:11:33 <Deewiant> no, they have 30000 cells usually
16:11:42 <Deewiant> but like he said, the limit was "equal to the size of a cell on the Brainfuck array"
16:11:58 <oklopol> 256 is the usual size limit
16:12:11 <oklopol> 256^(1, 2 or 4) or infinite
16:12:38 <oklopol> right, implementations of the table :D
16:13:13 * tusho smacks oklopol hard
16:16:18 <MikeRiley> also,,,with the new memory manager, -c is not irrelevant....the dynamic memory manager allocates memory as needed now...
16:17:54 <MikeRiley> and considering the speed of the new manager, also will make the dynamic model the default instead of static...
17:09:48 <MikeRiley> question about why mycotrds is doing:
17:09:59 <MikeRiley> BAD: J doesn't jump through time properly
17:10:11 <MikeRiley> i assume at this point you are only testing single ip time travel?
17:10:38 <MikeRiley> and what are you expecting to find when you get there?
17:10:48 <Deewiant> that it's doing a modification to Funge-Space at some point using p
17:10:50 <MikeRiley> i just wrote a small program to test single ip travel to the past and it works fine...
17:10:52 <Deewiant> and then at some point checking it with g
17:10:57 <Deewiant> and not finding what it expects
17:11:11 <Deewiant> I can't remember the details but I remember that it was really basic and RC/Funge-98 didn't do it :-P
17:11:12 <MikeRiley> was p written before or after the jump?
17:11:20 <Deewiant> upon reflection, I think I might remember the details
17:11:24 <MikeRiley> i know it does not!! eheheheeheh trying to find out what it actually is...
17:11:27 <Deewiant> what it does is, before the jump
17:11:44 <Deewiant> and makes sure that 00g does /not/ give 5
17:12:02 <Deewiant> i.e. modifications to space in the future don't affect space in the past
17:12:18 <MikeRiley> funge-space has to appear as it was in the past...
17:12:29 <MikeRiley> now that i know what to check for, can continue working on this...
17:12:58 <MikeRiley> goal is to have TRDS working by the end of the day....
17:14:24 <MikeRiley> doubt it will happen!!! eheheheheheeh but that is my goal....
17:18:17 <MikeRiley> yikes!!!!!!!! got that problem fixed and now mycotrds gives lots and LOTS of output!!!! eheheheheheeheheh
18:24:33 <MikeRiley> got a question about how you think time travel to the future shoud work....
18:25:00 <MikeRiley> everything is good up until mycotrds tries to to IJ to return back to the previous time,,,,it then is in a stuck loop....
18:25:11 <MikeRiley> how are you handing future travel??
18:25:46 <Deewiant> MikeRiley: could it be that when you have only one IP traveling to the future, it doesn't work because nobody's executing instructions and thus the time never comes?
18:26:13 <MikeRiley> possible,,,but doubt it, my main loop would still be running and ticking time....
18:26:16 <Deewiant> I just put the traveling IP to sleep
18:26:19 <MikeRiley> but let me check that for certain...
18:26:30 <MikeRiley> that is what i do, put the future travelling IP to sleep...
18:27:05 <MikeRiley> no IPs need to be running for CycleCount to increment,,,,so that is not the problem...
18:28:29 <MikeRiley> got another idea of what it could be tho.....
18:29:36 <MikeRiley> nope....IJ works on my test program....hmmmmmmmm
18:34:51 <MikeRiley> Deewiant, when you execute IJ, what instruciton are you jumping back to???? normally the jump would leave you at the J, but the J should not be executed again....it should be the instruction following...
18:36:15 <Deewiant> beats me... if it's the J at (68,40) it should go to (68,39)
18:36:36 <Deewiant> if you end up at (69,40) instead I can see that being an infinite loop
18:37:48 <MikeRiley> ok,,,let me see if i can see where it is coming back to...
18:39:38 <MikeRiley> weird,,,,ran it in the debugger and it worked,,,,,run it without the debugger and it hangs......strange.......
18:40:27 <ihope> Is that called a Schroedinbug, or a Heisenbug?
18:40:50 <ihope> Whichever it is, I hear that's often caused by failing to initialize your variables.
18:41:02 <MikeRiley> i suppose that is a possibility.....
18:42:00 <Deewiant> schrödinbugs are when you read the source and notice that something never could have worked, at which point it stops working
18:43:07 <ihope> tusho: isn't it now three days ago that you said "maybe tomorrow" you'd start work on rootnomic?
18:43:08 <MikeRiley> does this take into account that the same ip cannot make the same jump twice????
18:43:28 <tusho> ihope: Yes. I've been doing a lot. :P
18:43:51 <Deewiant> MikeRiley: of course, any TRDS program would loop forever if the interpreter allowed that :-)
18:44:00 <MikeRiley> more precisely, an IP with the same uid cannot make the same jump twice...
18:44:14 <MikeRiley> exactly,,,,which is why it is not allowed...
18:44:33 <MikeRiley> which confuses me about your output....
18:44:36 <Deewiant> what if a time traveler makes the jump
18:44:41 <MikeRiley> looks like the same jumps are being made more than once???
18:44:51 <MikeRiley> a time traveller can make the same jump...
18:44:56 <ihope> MikeRiley: I notice you use ,,, a lot.
18:45:18 <MikeRiley> yeah,,,i buy my punctuation symbols in buld,,,so tend to use lots of them!!! eheheheeheh
18:46:12 -!- Corun has joined.
18:47:14 <MikeRiley> the way that time jumps to the past work, is that a single entity cannot make the jump twice,,,when a past-travelling ip encounteres the same jump, it should be terminated...only the back-jumped ip would remain...
18:47:55 <Deewiant> yeah, but what if the back-jumped IP does the jump :-)
18:47:59 <MikeRiley> actually the past-travelling one is not the terminated one, it is the one that was there when the IP arrives, or created after the IP arrives...
18:48:21 <MikeRiley> IP0 jumps at 1000 to 500 becoming IP0t
18:48:31 <MikeRiley> IP0 will still be created as normal
18:48:40 <MikeRiley> and at 500, there could be IP0 and IP0t
18:48:56 <MikeRiley> if IP0 reaches 1000 and makes the same jump, ti should be terminated...not jump again
18:49:10 <Deewiant> but what I'm wondering now is, what if IP0t makes the same jump
18:49:20 <MikeRiley> if IP0t reaches 1000 (or any cycle) at the same point to make the same jump, it jumps and becomes IP0ta
18:49:32 <Deewiant> 2008-07-31 20:44:00 ( MikeRiley) more precisely, an IP with the same uid cannot make the same jump twice...
18:49:34 <MikeRiley> since IP0t would also exist, since jumped at the same point...
18:50:07 <MikeRiley> IP0t can make the jump that IP0 made...
18:50:20 <MikeRiley> but if IP0t reaches that jump again,,,then it must terminate
18:50:35 <MikeRiley> i use a serial number to differentiate them...
18:50:36 <Deewiant> well, they do, because they're both 0
18:50:51 <Deewiant> of course you have to differentiate them somehow :-P
18:51:06 -!- jix has joined.
18:51:07 <MikeRiley> and then a jump table keeps track of uid/serial number and the jump being made...
18:51:13 <Deewiant> but as far as the ID of the concurrent Funge-98 spec is concerned, they have the same ID
18:51:35 <MikeRiley> if an IP making a jump is found in the jump table, it is terminated...if not,,,then the jump is inserted and then the jump is made...incrementing the serial number...
18:52:10 <MikeRiley> for all practical purposes they are the same entity and should have the same uid....
18:52:25 <MikeRiley> the serial number allows me to see if any particular time traveller is duplicating a jump....
18:52:25 <Deewiant> so, again, two IPs with the same IDs /can/ make the same jump twice, as long as they're actually different IPs :-)
18:52:37 <MikeRiley> as long as they are really different IPs...
18:53:02 <MikeRiley> so IP0 jumping to become IP0t which can cump to become IP0ta which can jump to become IP0tb
18:53:16 <MikeRiley> but IP0ta could not make the jump again that made IP0tb
18:54:36 <MikeRiley> so,,,,in mycotrds, when it looks in the output like the same jump is being made, is it really the time travlled ones making those jumps????
18:54:46 <MikeRiley> looking at your output....not my run...
18:55:56 <Deewiant> I honestly can't remember the details of what goes on in mycotrds :-/
18:58:15 <MikeRiley> wished i was around when you created it...
18:58:33 <Deewiant> you can look at comments in CCBI's source, in ccbi.d and trds.d
18:58:58 <Deewiant> there are some that are a couple of paragraphs long, my long rants about TRDS being confusing :-P
18:59:19 <Deewiant> if there are cases there that you disagree with then mycotrds is probably in error somewhere
18:59:47 <MikeRiley> let me grab your source and take a look at the notes...
19:00:20 <MikeRiley> i agree that the spec for TRDS was highly confusing,,,did not really expect anybody to implement it besides me!!! eheheheehehehhehehe
19:02:27 -!- sebbu has joined.
19:05:44 <MikeRiley> a bit confused about your comment in ccbi.d....not quite sure that i follow your scenario there.....
19:06:07 <Deewiant> like it says, neither do I. :-P
19:07:55 <Deewiant> and some time before 300, it jumps back to 400.
19:08:43 <Deewiant> now, at time 300, IP 1 has to jump back to 200 again, since IP 2 may have changed things back at time 100.
19:09:02 <Deewiant> which I guess is the core point of this comment.
19:09:15 <Deewiant> i.e. we /do/ actually need to have the same IP do the same jump twice.
19:09:32 <MikeRiley> IP 1 can only jump back again, if it was the time travellor, and not another IP1 that got created again sometime in the past...
19:09:45 <MikeRiley> same ip is not jumping back tho....
19:10:04 <MikeRiley> the ip jumping back the second time is the time travellor and not the original IP 1
19:10:24 <MikeRiley> the oringal IP 1 cannot jump back again....
19:10:39 <Deewiant> do you see why it has to, there
19:10:44 <MikeRiley> since it was the ip that jumped back to become the time travellor
19:11:00 <MikeRiley> the time traveller can jump back tho...
19:11:17 -!- pikhq has joined.
19:11:18 <Deewiant> which means we rerun time from 0 to 200
19:12:36 <Deewiant> nothing special so far, just a normal time jump. :-P
19:12:50 <MikeRiley> there might be a simpler rule here....
19:13:19 <MikeRiley> if the IP making the jump, occurs to the point where the time travelled version of itself already exists....then the jump cannot be repeated...
19:13:38 <MikeRiley> because it is the time-traveller already...
19:13:53 <MikeRiley> are you working on a premese that IP 2 changed history???
19:13:56 <Deewiant> that sounds a bit more correct
19:14:00 <MikeRiley> and therefore IP1 is not necesarily the same???
19:14:29 <Deewiant> MikeRiley: that's the idea. IP 2 changes history so we need to redo the jump of IP 1, because things might happen differently. (The reason being that IP 2 jumped back further than IP 1 did.)
19:14:52 <MikeRiley> that can be done,,,,in theory, as long as IP 1 is not still around in the past....
19:15:02 <MikeRiley> the future is rewritten anytime an ip jumps to the past....
19:15:06 <Deewiant> so can RC/Funge-98 handle it? :-)
19:15:18 <MikeRiley> only those ips that would be in existance at the time of the jump need to be checked for the jump back...
19:15:26 <MikeRiley> new version can,,,,old one cannot....
19:16:05 <MikeRiley> new version checks the following: uid, serial number, source vector, destination vector, source time, destination time
19:16:17 <MikeRiley> if all of those match, then a return to the past is not possible...
19:16:21 <Deewiant> In summary: 1: 300 -> 200. 2: 400 -> 100. 1: 300 -> 200 again, because 2 jumped to 100 which is less than 200. But after this, 300 -> 200 and 400 -> 100 don't happen any more.
19:17:03 <Deewiant> assume both were born before 100 to make this simpler :-)
19:17:16 <MikeRiley> actually,,,probably does not even matter...
19:17:32 <Deewiant> the idea is that if it's not mentioned you're not supposed to think about it ;-)
19:17:42 <MikeRiley> as long as the futures were different...then the original IP1 can jump back,,,if there is no timetravlled IP 1 at the destination time....
19:18:13 <MikeRiley> if there would be a time travelled IP1 at the same time,, then it can only jump back if the jump is not the same...
19:18:31 <MikeRiley> dealing with time travel paradoxes here,,,,have to make some definitions.....
19:18:38 <Deewiant> thing is that there kind of is an IP 1
19:18:45 <Deewiant> in that the jump has been done before
19:18:54 <Deewiant> but this new jump is that same exact jump
19:19:02 <MikeRiley> but if the future was changed enough,,,,IP 1 may reach the jump oint at a different time....
19:19:25 <Deewiant> MikeRiley: well that's fine, then it's even easier to know that it's a different jump. :-)
19:19:41 <tusho> surely a totally consistent time travel model would just involve loads of forking
19:19:44 <tusho> and therefore be boring
19:19:55 <tusho> you'll HAVE to have some paradox errors
19:20:16 <MikeRiley> i work on the premise that the future does not exist when a back travelling ip arrives at its destinaiton....
19:20:41 <MikeRiley> therefore removing entries from the table for future events not related to the current time travellers...
19:21:22 <MikeRiley> there is no way to prevent paradox errors when dealing with time travel, so best to define what can be done,,,and everything else is considered non defined...
19:21:58 <MikeRiley> if the rules for time travel to the past are well defined,,,,then anybody crazy enough to implement TRDS should have compatable versions with each other....
19:22:13 <Deewiant> I guess we agree on that comment in ccbi.d so if you think that scenario works in RC/Funge-98 then you can move on to trds.d :-)
19:22:34 <MikeRiley> the original spec for TRDS says that if an IP makes the same jump twice, then the second time the IP is eliminated instead of jumping....
19:23:07 <MikeRiley> scenarios sounds good...so long as IP 1 is not making the same jump....if IP 1 is already in the past...
19:23:27 <Deewiant> the thing is that it /is/ the same jump
19:23:36 <Deewiant> there's just the possibility that history has been changed in the meanwhile
19:23:40 <MikeRiley> spec says the same jump cannot be retaken...
19:23:54 <MikeRiley> understood about the rewritten history....
19:24:00 -!- lament has joined.
19:24:29 <MikeRiley> but if IP1 was not affected by the fact that history has changed,,,then it is in theory making the same jump as before...
19:24:41 <olsner> hmm, I think object identity as a concept doesn't go well with time travel... maybe you should think about equivalent jumps (and if history has changed, maybe it wasn't equivalent after all)
19:24:43 <MikeRiley> if IP1 is affected by the change in history, then it should jump back
19:24:54 <Deewiant> MikeRiley: it may have been affected in some way, for instance it now printed "foo" instead of "bar"
19:25:10 <Deewiant> if IP2 changed "rab" somewhere to read "oof" using p
19:25:19 <MikeRiley> i think that is more of a side effect rather than a direct effect on the IP...
19:25:34 <Deewiant> exactly, so it doesn't change the jump itself
19:25:44 <Deewiant> but I do think the possibility of that should mean that the jump should be retaken
19:25:46 <MikeRiley> yes, does not change the jump itself..
19:25:58 <MikeRiley> but no way to know if something like that happened....
19:26:16 <Deewiant> MikeRiley: you know it only from the fact that IP2 jumped to a time earlier than the time which IP1 jumped to.
19:26:22 <Deewiant> you can't be /sure/, but there's the possibility.
19:26:24 <MikeRiley> now if IP1 is born after the arrival of IP2, then it will jump back everytime....
19:26:52 <Deewiant> MikeRiley: which is why that comment is there, and that questionable "else if" statement following it.
19:27:10 <MikeRiley> ok,,,, i can see that as a possiblity,,,erase all backjumps from the no jump table for ips that arrive after the history chaning IP did...
19:27:16 <Deewiant> so that we make sure that it IP1 jumps back after the first time when IP2 jumped back.
19:27:20 <Deewiant> but not after the second time.
19:28:12 <MikeRiley> my criteria for a repeated back jump is that the IP had to have changed phase from the original jump,,,mainly, jumps at a different cycle....
19:28:29 <Deewiant> that's strictly less useful though
19:28:43 <Deewiant> and would require me to rewrite mycotrds so I refuse to change CCBI ;-P
19:29:48 <MikeRiley> well,,,,can always fall back on the original spec:
19:29:50 <MikeRiley> When the newly born ip #2 reaches the time it jumped (time point 200) it will cease to exist, it will not perform another jump into the past, the original ip #2 however can still jump.
19:30:18 <Deewiant> the original spec leaves this as undefined, IMO :-)
19:30:22 <MikeRiley> which says the IP cannot jump back again, even if history was changed, if the jump is the same...
19:30:37 <Deewiant> and even if not, like said, I don't want to have to rethink both CCBI and mycotrds...
19:30:40 <MikeRiley> i disagree...it is quite defined...
19:30:46 <Deewiant> especially since I do think that that's a somewhat pointless restriction
19:31:07 <MikeRiley> but you have to have a way to prevent time loops....
19:31:13 <Deewiant> since the reason, as I understand it, for that restriction to originally exist, is to prevent looping forever
19:31:27 <Deewiant> removing the restriction does not mean that all programs will loop forever. :-P
19:31:33 <MikeRiley> if you can prevent time loops....then personally,,,i think it is ok to jump back,,,
19:31:41 <Deewiant> it just means it's harder to implement TRDS.
19:31:47 <MikeRiley> NO programs should loop forever because of a time loop...
19:32:11 <Deewiant> MikeRiley: the loop in this case is preventable without that restriction
19:32:30 <MikeRiley> if the loop is preventable,,,,then it is not necesary to have the restriction....
19:32:30 <Deewiant> since, again, we have: IP1 300 -> 200, IP2 400 -> 100, IP1 300 -> 200
19:32:41 <Deewiant> the first two cases are ordinary
19:32:56 <Deewiant> in the third case, we jump back again because IP2 jumped back further
19:33:06 <MikeRiley> actually IP2 400-100 rewrites history,,,,in which case the first IP1 300->200 does not exist!!!
19:33:17 <MikeRiley> and so the 2nd IP1 300-200 can be taken...
19:33:20 <Deewiant> MikeRiley: yeah, essentially, but I'm talking in practice. :-)
19:34:07 <Deewiant> you can see it like that if you want
19:34:07 <MikeRiley> but,,,what if,,,,,,ip2 changes history so ip1 nees to jump back,,,ip1 makes a change that makes ip2 jump back,,,and it makes the same change as before???? now you are in a time loop
19:34:37 <Deewiant> IP2 can change the history of IP1 only by jumping further back than IP1
19:34:47 <Deewiant> and you can't have them both jumping forever further back than each other :-)
19:34:54 <MikeRiley> so you are right,,,ip1 cannot effect ip2
19:34:59 <Deewiant> or you can, but then that's not a time loop :-)
19:35:05 <Deewiant> that's just a plain old infinite loop :-P
19:36:05 <MikeRiley> ok,,,,solution would be,,,,when an ip jumps back, remove all entries from the jump table where the arrival time is after the newly arrived ip....
19:36:30 <MikeRiley> tha would have erase ip1's first jump,,,,allowing it to jump again....
19:36:40 <Deewiant> implement it however, as long as I don't have to do anything ;-)
19:37:18 <MikeRiley> well....in that case i may have to not consider mycotrds....depending on what it expects....
19:37:38 <MikeRiley> and use my own time travel tests instead...
19:38:00 <MikeRiley> i will implement my vision of how time travel should work,,,,and go from there....
19:38:01 <Deewiant> and so far, I've managed to convince you that what CCBI does is right ;-)
19:38:20 <MikeRiley> so far,,,,seems reasonable....but have to implement first....
19:38:49 <MikeRiley> time for lunch,,,,be back in a bit.....
19:39:19 <MikeRiley> ok,,,in that case,,,will talk with you tomorrow,,,hopefully with some form of working TRDS...
19:39:53 <MikeRiley> since you and i are the only implementers,,,i have no problem with changing specs on it,,,,in order to reduce both of our work to get something useable.....btw......
19:40:07 -!- MikeRiley has quit ("Leaving").
19:40:08 * SimonRC always wanted a few bucketfuls of commas.
19:40:39 <SimonRC> ah, I just thought of a TRDS question
19:41:36 <SimonRC> If an IP a jumps back to a certain point, then later IP b also jumps back to that point, will b and a both arrive at once?
19:41:46 <SimonRC> I am not certain the question even makes sense
19:42:21 <Deewiant> well yes, they should both exist at the same time
19:44:02 <ihope> Oh, I forgot, I was going to take the inverse Fourier transform of a rectangular function.
19:48:13 <ihope> Say the Fourier transform goes to radians per second; then the inverse Fourier transform is, in this case, the complex conjugate of the Fourier transform divided by 2pi.
19:49:27 -!- tusho has set topic: joy love [ honk ] [ ] if "http://vjn.cc/x" logs-at.
19:49:35 * ihope looks it up on Wikipedia instead of actually doing it
19:52:12 -!- SimonRC has set topic: factor love [ honk ] when "http://vjn.cc/x" logs >>url.
19:52:46 <SimonRC> factor is like joy-like, but trying more to be "real-world"
19:52:56 <lament> i'm gonna try using git for some stuff in home directory
19:53:04 <SimonRC> it has lots of libraries, a nice IDE written in it, ect
19:53:08 <lament> config files, some text stuff, programming projects
19:55:13 <lament> (but everybody's watching anxiously to see what will GHC guys pick)
19:55:27 <ihope> So, it's a sinc function of a certain amplitude.
19:57:56 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
19:58:23 -!- moozilla has joined.
19:58:56 <tusho> lament: git is gaining an awful lot of traction
19:59:05 <tusho> and seems to be the most widely-rangable one (from small to big projects)
19:59:09 <tusho> still, it's too early to decide a winner
19:59:12 <tusho> i certainly like git though
20:02:48 <SimonRC> I was alive a couple of days ago too
20:03:02 <tusho> SimonRC: it's a distributed, fast, small, versioned filesystem in userspace.
20:04:31 <tusho> pretty much the only ones I don't know are bzr, monotone and arch ;)
20:04:44 -!- CakeProphet_ has joined.
20:04:52 <SimonRC> consider the difference between SVN, CVS, and darcs; how does git differ along that axis?
20:05:11 <SimonRC> is it patch-based, revision-based, or what?
20:13:14 <GregorR> git, like darcs and hg, is distributed, so close to patch-based than revision-based. It offers a lot of advanced features regarding branching and merging.
20:18:02 <tusho> it is also darn fast and has tiny repositorise
20:18:09 <tusho> and scales down (for small projects) and up (for, well, linux)
20:19:44 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
20:20:26 <GregorR> It also scales sideways (for porn collections) and backwards (for bible-based learning software)
20:21:32 -!- atrapado has joined.
20:21:33 * olsner envisions the world's collective collection of porn collected in a git repository
20:22:38 <lament> scaling down is not exactly hard.
20:22:46 <lament> very few things can't do it (eg Java)
20:27:19 <ihope> Oh, it's not hard at all to violate the superposition principle of sound waves in a sonic computer.
20:38:09 <ihope> There, I've made a spec of ye analog signal processing programming language.
20:42:33 -!- MikeRiley has joined.
20:45:21 <olsner> ihope: huh, what was that?
20:45:48 <ihope> Yay, a tongue of programmation: http://esoteric.voxelperfect.net/wiki/Proce
20:46:01 -!- moozilla has quit (Read error: 60 (Operation timed out)).
20:46:03 -!- megatron has joined.
21:00:33 -!- pikhq has left (?).
21:03:51 <SimonRC> oh no, the ghc team are terrorists! http://www.cuil.com/search?q=glasgow
21:07:01 <SimonRC> I am sure the occasional ridiculous images are helping that company
21:10:38 -!- lament has quit ("leaving").
21:26:35 <ihope> I wonder if zombies often get spongiform encephalopathy.
21:26:54 -!- moozilla has joined.
21:32:18 * SimonRC is a godlike programmer...
21:32:50 <SimonRC> I wrote a copy routine that kept dropping bytes off the end of the memory being copied.
21:33:01 <SimonRC> Solution: add some random crap onto the end before copying.
21:33:43 <SimonRC> My custom scheduling algorithm make threads much too slow if they are idle for a while.
21:33:58 <SimonRC> Solution: make sure each thread keeps getting random bits of work to do.
21:35:01 <SimonRC> The program leaks memory like a sieve.
21:35:47 <SimonRC> Solution: make the program spawn a child (seperate memory map) every so often, copy the important data over to it, and die.
21:35:52 -!- megatron has quit (Read error: 110 (Connection timed out)).
21:37:34 -!- MikeRiley has quit ("Leaving").
21:39:38 <oklopol> SimonRC: that's awesome :D
21:43:04 -!- oerjan has joined.
21:45:45 * oerjan _can_ sort of imagine God programming that way. Isn't random crap or something at the end how DNA chromosomes work, anyhow?
21:46:22 <oklopol> yeah except from you know dark angel the girl had the perfect code like
21:46:38 -!- lament has joined.
21:47:03 <oerjan> oh and DNA copying _does_ drop things at the end
21:47:37 <SimonRC> all three of those things are God-inspired
21:47:46 <oerjan> and spawning a child, copying the important data - that's life in a nutshell
21:47:52 <SimonRC> Telomeres, muscle wasting, and reproduction
21:48:42 * oerjan things he maybe should work on his own muscle wasting. some time.
21:49:10 <ihope> oklopol: the sine is the integral of one minus the integral of the sine?
21:50:06 <SimonRC> sin x = int (cos x) = int (int (0 - sin x))
21:50:46 <ihope> The integral of -sin x is cos x - 1, yes?
21:51:16 <oerjan> you get a 1 for the constant in the middle
21:51:48 <ihope> Well, in Proce, if you integrate -sin x, you get cos x - 1.
21:51:52 <SimonRC> int (- sin x) = - int (sin x) = - cos x + K
21:51:54 <oerjan> ihope: cos x + C, C arbitrary
21:52:11 <ihope> In Proce, the integral is defined to be 0 at 0.
21:52:18 <SimonRC> but to make the double-integration work, the constants must all be 0, I think
21:52:21 <ihope> It's the definite integral from 0, rather.
21:52:29 <oklopol> ihope: does that define the sine function?
21:52:43 <oerjan> SimonRC: i think you got the sign wrong
21:53:37 <ihope> Integrate sin x and you get -cos x + 1. Subtract that from 1 and you get cos x. Integrate that and you get sin x.
21:53:42 <oklopol> ihope: right, i thought there might be a trivial function that makes that fail, but yeah it's plausible that's a definition for sine
21:54:17 <ihope> It is a definition of the sine.
21:54:31 <oerjan> it's a property of sine, whether it is the only solution remains to be explained
21:54:37 <SimonRC> possibly if one expands it infinitely, one can show that one gets the taylor series for sin
21:54:41 <oklopol> oerjan: well that's what i thought
21:54:46 <oklopol> but i'm assuming ihope isn't lying
21:54:54 -!- CakeProphet_ has quit (Client Quit).
21:55:15 <oklopol> he's too clever to make a mistake, so it would be a dirty lie.
21:55:34 <ihope> The probability that I made a mistake is much higher than the probability that I lied.
21:55:38 <oerjan> well it _does_ make it a solution of f'' = -f
21:55:56 <SimonRC> had you defined it in terms of the differentiation, infinite expansion would be easier, but I am not so sure about the way constants accumulate for integration
21:56:02 <oerjan> and the solutions to that are just A sin x + B cos x iirc
21:56:04 <ihope> The solutions to f'' = -f differ only in constants of integration.
21:56:37 <ihope> f(x) = something to do with the integral of f(x) always has exactly one solution, I believe.
21:56:47 <oerjan> the B term must be 0 because that's the value at 0
21:57:10 <oerjan> and the A term probably falls out as 1 too
21:57:14 <ihope> Barring wacky cases, that is. I'm pretty sure it never has more than one solution.
21:57:20 <oklopol> ihope: yeah f(x) = anything + 0*i!f(x), so definitely
21:58:03 <oklopol> but yeah i guess you didn't exactly go for a mathematical truth there :D
21:58:28 <ihope> Just visualize what happens when you define a function in terms of its integral. :-)
21:59:13 <SimonRC> ah, yes, that will usually fix the constant won't it
21:59:58 <oklopol> ihope: i don't think i can
22:00:19 <oklopol> at least i don't see how that leads to just one solution
22:00:19 <ihope> It's the same as defining a function's derivative in terms of the function.
22:00:43 <ihope> And then giving the function an initial condition, just as you'd give the first one a constant of integration.
22:00:48 <oerjan> iirc differential equations usually have unique solutions when they should if not wacky. although their domain of definition may be shrunk by infinities and stuff
22:01:03 <oklopol> ihope: oh in terms of *just* the integral
22:01:18 <oklopol> well yeah, that's kinda like an automaton
22:01:41 <oerjan> f'(x) = g(x,f(x)) type equations, that is
22:02:01 <oklopol> SimonRC: well yeah visually
22:02:20 -!- pikhq has joined.
22:02:27 <SimonRC> I was always shit at solving differential equations and the like
22:02:43 <SimonRC> I suck at ritualised, poorly-understood, methods of solving
22:02:50 <oklopol> i've never solved a differential equation i think
22:02:59 <oklopol> except for ones i've had to do in exams
22:03:24 <ihope> I think I solved a differential equation defining a low-pass filter.
22:04:07 <oklopol> i don't like following algorithms or deriving truths, i like seeing solutions
22:04:10 <oerjan> SimonRC: note that for this you may just need the existence and uniqueness theorems, which are much less ritual than actually finding solutions
22:04:41 <ihope> The exact differential equation on the Proce page, in fact, except it multiplied by a constant.
22:09:58 <oerjan> hm i now see that Proce uses distributions, so maybe a different existence & uniqueness theorem is needed (but probably well-known)
22:10:51 <tusho> http://xs129.xs.to/xs129/08313/picture7574.png
22:12:16 * oerjan wonders why people trust a company that obviously has Lex Luthor as CEO...
22:13:43 <ihope> Distributions are just limits of functions.
22:13:46 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
22:14:05 <SimonRC> Lex luthor was properly bald surely? And less fat
22:14:14 -!- Judofyr has joined.
22:14:27 <tusho> RodgerTheGreat: totally.
22:14:31 <tusho> but I like that screenshot
22:14:36 <tusho> it's just so ... perfect
22:14:57 <ihope> I'm sure there are no other distributions satisfying the differential equation that I defined the sine with.
22:15:12 <tusho> p.s. if anyone didn't get it (maybe oerjan?)
22:15:15 <tusho> that's steve ballmer in the pic
22:15:48 <SimonRC> a haskeller also 'shotted this: http://cale.yi.org/autoshare/Screenshot-glasgow.png
22:16:03 <SimonRC> after I pointed it out on #haskell
22:16:10 <oerjan> hm, Eric Schmidt actually wrote Lex - more evidence.
22:16:29 <tusho> SimonRC: someone has a grudge
22:16:50 <lament> if you search cuil for glasgow now, GHC has a lambda
22:16:54 <SimonRC> I typed in that term after some commenter on the Reg pointed it out
22:17:00 <lament> ...however The Glasgow Centre for the Child & Society still has Bin Laden
22:17:05 <tusho> lament: they have irc bots to weed out that stuff, duh ;)
22:17:07 -!- sebbu2 has joined.
22:17:14 <SimonRC> but there was a different article in second place next to ObL
22:17:25 <tusho> oerjan: that's the funny bit!
22:17:39 <tusho> that's why i screenshotted it...
22:17:45 <tusho> he's involved with google and apple, and ballmer looks ready to shout DEVELOPERS
22:17:49 <pikhq> oerjan: Just thought you might like to know: I'm suggesting that Agora become a sovereign entity.
22:17:55 <tusho> pikhq: oh hi you're here
22:17:58 <tusho> and you're BACK IN AGORA :O
22:18:48 -!- atrapado has quit ("Abandonando").
22:20:42 <oerjan> hm steve ballmer being lex luthor somehow sounds much less surprising
22:22:38 <oerjan> that picture of Simon Peyton-Jones seems familiar - i think i must have seen him on the news somewhere
22:25:18 <tusho> http://upload.wikimedia.org/wikipedia/commons/d/d0/Simon_Peyton_Jones_01.jpg
22:25:31 <tusho> USE HASKELL OR I WILL EAT YOUR SOUL
22:25:35 -!- olsner has quit ("Leaving").
22:27:00 <oerjan> he definitely looks like someone who could introduce horror movies...
22:27:35 <tusho> his eyeballs appear to be lazily evaluating the scene
22:28:00 <oerjan> possibly even parallel processing
22:29:00 <SimonRC> it has really bizarre artefacts
22:29:42 <oerjan> don't mind the repaired gunshot holes in the wall
22:29:55 <tusho> SimonRC: its made by a low-quality digital camera
22:30:01 <tusho> and it's focused on something other than him
22:30:11 <oerjan> those were just from a heated purity discussion
22:30:49 <SimonRC> I thought all Haskellers agreed on the purity thing?
22:31:35 <oerjan> it may have been an Ocaml driveby shooting
22:31:51 <tusho> aww, ephemera.org is taken
22:32:27 <oerjan> then you're probably right, i guess it may have been over some extended type system subtlety
22:32:41 <tusho> oerjan: actually no
22:32:49 <tusho> oleg was annoyed, and he looked at the wall
22:32:54 <tusho> you can imagine how long the repairs took...
22:33:09 <tusho> damn dependent types
22:33:25 <oerjan> well that goes under extended type system subtlety in any case
22:33:50 <tusho> oerjan: not very subtle
22:35:08 -!- sebbu has quit (Connection timed out).
22:35:18 * oerjan notes that trackpads are not well suited for sweaty fingers
22:35:32 -!- sebbu2 has changed nick to sebbu.
22:36:42 <tusho> I WANT EPHEMERA.ORG.
22:37:25 <oerjan> someone hard to find, obviously :D
22:37:45 <tusho> some stupid photographer
22:37:50 <tusho> who hasn't updated since jan 07
22:38:02 <tusho> he should give me that domain
22:38:49 <oerjan> i'm afraid that domain will never be released. it will stay that way, forever, just to be ironic
23:01:06 <SimonRC> I think I made a bad impression elsenet
23:02:18 <SimonRC> I asked a joke question that is not only an old joke there, but one that (AFAICT) some people are touchy about.
23:02:59 <tusho> SimonRC: why are they touchy?
23:03:02 <tusho> touchiness is generally petty.
23:04:43 <oklopol> i'm not touchy about anything try me
23:05:06 <SimonRC> I dunno, it might be all in my head, but I read the only answer given as a cold response that indicates the person has suffered from the actual answer before.
23:05:58 <tusho> SimonRC: what exactly is this question? I'm having trouble imagining this situation
23:05:59 <oklopol> well what was the question, you know we're all dying to know
23:06:13 <tusho> 'HAVE YOU BEEN RAPED?'
23:06:20 * SimonRC wonders where would be a good place to put the logs
23:06:26 <tusho> SimonRC: rafb.net/paste
23:06:41 <tusho> there's no "recent" list
23:07:07 <oklopol> pb.vjn.fi is guaranteed not to be used by anyone except me and a few guys i know :d
23:07:17 <oklopol> also it's not indexed anywhere
23:07:37 <oklopol> logs are not encrypted though, so i may see them if you're unlucky.
23:10:12 <SimonRC> http://www.vjn.fi/pb/p664553441.txt
23:10:37 <SimonRC> maybe I am being too negative
23:10:47 -!- lament has quit ("leaving").
23:11:02 <SimonRC> #afd is a derivated of the newsgroup alt.fan.dragons, BTW
23:11:04 <tusho> SimonRC: what's the "actual answer"
23:11:12 <SimonRC> "people. that's all that matters"
23:11:25 <SimonRC> I took that as them not liking me asking
23:11:34 <tusho> is kyreeth one of those crazy otherkin or something
23:11:42 -!- lament has joined.
23:11:45 <SimonRC> I don't know, 'cause they didn't say
23:12:21 <tusho> well, furries generally tend to have the thinnest skins around, i'm pretty sure otherkin are just flesh and bones
23:12:54 <SimonRC> tusho: not when I usually encounter them
23:13:16 <tusho> well; either that or they're too barmy to know what the hell you're talking about
23:13:32 <SimonRC> plus, since alt.fan.dragons is a newsgroup, everyone has their vital (and indeed non-vital) stats in their sigs
23:13:56 <SimonRC> I have my own mythology of the future, y'know...
23:14:36 <SimonRC> In 2043, furries will protest for the right to have genetically-engineered children, and it will be legalised by early 2045
23:15:18 <tusho> SimonRC: in 2046, the world is a clusterfuck
23:15:19 <SimonRC> of course miscellaneous non-obvious boosting of people will have been happening since the mid 30s, especilly in China
23:15:33 <pikhq> In 2008, the world is an orgy of clusterfucks.
23:16:05 <tusho> SimonRC: loads of typical furries having a genetically tailored kids?
23:16:08 <tusho> yeah. clusterfuck in a year.
23:16:56 <SimonRC> um, the kids will be only 1-2 years old at that point
23:17:26 <SimonRC> the technology could come sooner than the 2040s...
23:17:40 <tusho> SimonRC: they'll be genetically engineered to grow up 10 times as fast
23:18:05 <SimonRC> humans still have much of the genetic gear around
23:18:08 <SimonRC> a few people in India are born with monkey-like tails...
23:18:14 <oklopol> SimonRC: imo the response was unnecessarily hostile
23:18:23 <oklopol> and i could easily have made that same joke
23:18:39 <SimonRC> one minor german aristocratic family had "normal" hair rather than almost-invisible hair all over...
23:19:31 <tusho> tails would be fun.
23:19:34 <SimonRC> a tiny number of people in brazil are born with chimp-like skulls (due to brain not growing)
23:19:55 <tusho> SimonRC: most likely
23:20:01 <tusho> = detachable tails
23:20:18 <SimonRC> but they would wobble too much, due to not being attache to the spine
23:20:41 <SimonRC> I have seen sites of people who built such things
23:20:59 <tusho> SimonRC: they would be attached to the spine via magic
23:21:24 <SimonRC> I have for a while been considering getting a woolen hat and cutting earholes in it, that would match pointy ears, not mine
23:21:38 <SimonRC> tusho: bah, no magic, science
23:21:47 <tusho> SimonRC: scientific magic
23:22:06 <SimonRC> just for the hell of it and the conversations it would start with people who jumped to a reasonable conclusion
23:24:54 <SimonRC> maybe a t-shirt with huge slits down the back (buttoned up at the bottom) to match it
23:44:26 <SimonRC> (the idea being that they would be great had you wings)
23:46:19 <tusho> command {/(?!^|\s)([^+\s]+)(\+\+|--)(?!$|\s)/ => [:nickname, :direction]} => "Increment or decrement someone's karma." do ... end
23:47:34 * SimonRC doesn't know ruby's (? ... ) syntax
23:48:07 <tusho> SimonRC: it's just a regexp - (? ...) is for special blocks
23:48:17 <tusho> specifically, ?! is a group that doesn't cause a group in the match output
23:48:19 <tusho> python has that too
23:48:25 <tusho> with exactly the same syntax, I believe
23:48:31 <tusho> or was it ?:. whatever.
23:48:51 <tusho> why not [^\s]? because I want ^ to mean the start of the text
23:48:56 <tusho> not the literal char &
23:49:07 <tusho> [^\s] would be anything but \s. but yeah.
23:49:32 <SimonRC> {/(^|\s)([^+\s]+)(\+\+|--)($|\s)/ => [:dummy1, :nickname, :direction, :dummy2]}
23:49:54 <tusho> SimonRC: because although I could do that, it'd be polluting my namespace for little reason
23:50:00 <tusho> when two extra regular chars in the regexp using a widely-used extension could be done intsead :)
23:50:24 <tusho> http://rafb.net/p/IkdJgu73.html full code
23:50:52 <SimonRC> what is the scope of the variables whose names are given by the symbols?
23:51:03 <tusho> SimonRC: the do ... end block attached to it
23:51:09 <tusho> I'd use do |arg, arg, arg| ... end
23:51:11 <tusho> but I have special things like
23:51:19 <tusho> command "link uri *desc" do ... end
23:51:22 <tusho> which would accept.
23:51:26 <tusho> .link foo This is cool.
23:51:32 <tusho> and give me uri="foo", desc="This is cool."
23:51:44 <tusho> so I just inject the vars into the namespace
23:52:20 <tusho> of course, things like that regexp line are pretty rare...
23:52:38 <tusho> it'd only handle the first ++ or -- in a message
23:53:30 <tusho> ontological.org is taken too
23:55:42 <oerjan> it's a simple matter of the domain already existing
23:56:07 <SimonRC> I could give you a subdomain of kigdatsi.org ;-)