←2008-06 2008-07 2008-08→ ↑2008 ↑all
2008-07-01
00:03:14 -!- timotiis has quit (Read error: 110 (Connection timed out)).
00:24:25 -!- RedDak has quit (Remote closed the connection).
00:29:58 <tusho> happy 1 july
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:13:58 <tusho> yes it is
01:14:02 <tusho> now goodbye :)
01:14:07 -!- tusho has quit.
01:14:08 <augur> im in florida
01:59:49 -!- Judofyr has quit.
03:48:10 <Slereah> http://www.amazon.com/Million-Random-Digits-Normal-Deviates/dp/0833030477/
03:48:16 <Slereah> A bargain!
05:21:20 -!- Corun has quit ("This computer has gone to sleep").
06:27:08 <augur> lol
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:15 <AnMaster> augur, happy 1 July too
07:35:17 <AnMaster> no idea why
07:35:25 <augur> lolk
07:35:35 <AnMaster> but it is 1 July in Sweden
07:35:36 <augur> i leave or europe at 11
07:35:37 <augur> in oh
07:35:38 <augur> 8 hours
07:35:46 <AnMaster> hm why?
07:37:23 <augur> fun and profit
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:45:02 <AnMaster> will do that later today
07:45:07 <AnMaster> going swimming shortly
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:01:57 <Slereah_> ESOTERIA
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:05 <AnMaster> different errors
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"
10:50:34 <AnMaster> which it does for ccbi
10:50:39 <AnMaster> "TRUT"4( 1P 5F D 0P I @
10:50:41 <AnMaster> was the program
11:00:35 <AnMaster> Deewiant, also I get a closed path not an open one it seems
11:00:58 <AnMaster> closed and filled
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.
11:40:35 <Slereah_> GLORIA ESOTERIA
12:02:42 <AnMaster> Slereah_, ?
12:07:09 -!- cc_toide has changed nick to cctoide.
12:13:29 <Slereah_> Hello people
12:27:06 -!- ais523 has joined.
12:27:10 <AnMaster> hrrm
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:27:39 <AnMaster> but working on that now
12:28:01 <AnMaster> what to learn from this: fixed point sucks
12:28:17 <AnMaster> and hi ais523
12:28:22 <ais523> hi AnMaster
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:36 <AnMaster> wtf
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:54:54 <ais523> in TURT?
12:54:58 <AnMaster> yes
12:55:04 <ais523> I'm pretty sure Deewiant wouldn't confuse [ and ]
12:55:10 <AnMaster> well it is in TURT
12:55:14 <AnMaster> not normal funge
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:06 <AnMaster> 0 is east
12:57:12 <AnMaster> is all the specs say
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:47 <ais523> AnMaster: radians
12:57:48 <AnMaster> ais523, it is in degrees
12:57:51 <AnMaster> according to specs
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:10 <AnMaster> wtf
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:47 <ais523> that's wrong
12:58:48 <AnMaster> ais523, there is nothing but the specs
12:58:56 <AnMaster> ais523, yes
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:39 <ais523> ah
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:00:46 <AnMaster> ---.
13:00:48 <AnMaster> |
13:00:53 <AnMaster> ._
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:41 <ais523> I don't know TURT
13:02:47 <ais523> what does H do?
13:02:49 <ais523> and B?
13:02:54 <AnMaster> H 'Set Heading' (angle in degrees, relative to 0deg, east)
13:02:57 <AnMaster> B 'Back' (distance in pixels)
13:03:01 <AnMaster> F 'Forward' (distance in pixels)
13:03:08 <ais523> I guessed F
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:36 <ais523> N?
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:03 <ais523> should it say 9a*R?
13:05:07 <Deewiant> AnMaster: I think SVG is the reason for fixed point, I might misremember though
13:05:08 <AnMaster> yes it should
13:05:11 <Deewiant> in any case, accuracy
13:05:19 <AnMaster> but it breaks before that
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:07 <ais523> s/s$/d$/
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:15:38 <AnMaster> hm
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:39 <AnMaster> heh?
13:20:41 <AnMaster> what is this thing
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:35 <AnMaster> I need 0xFF0000
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> $ factor $((0xFF0000 ))
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:12 <AnMaster> aha
13:26:26 <AnMaster> well 17 is too large so...
13:26:33 <AnMaster> add that up
13:26:34 <ais523> also 2s can be bunched into 8s
13:26:37 <AnMaster> yes
13:27:00 <ais523> 2f+8*8*8*8*8*6*5*
13:29:04 <AnMaster> well well
13:29:24 <AnMaster> Deewiant, your colors are broken
13:29:37 <AnMaster> 0xff0000 gets output as "#0000ff"
13:31:51 <AnMaster> blergh
13:31:56 <AnMaster> this is even more broken
13:32:18 <ais523> <tusho> I support that blergh
13:32:19 <ais523> sorry
13:41:57 <AnMaster> ok that is partly fixed now
13:42:19 <AnMaster> need to close a path correctly
13:51:57 <Slereah_> I found an old marble of mine :D
13:53:20 <cctoide> you lost them?
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:07 <Slereah_> OR DO I
13:57:51 <Slereah_> "Remember Adolf Hitler, the most famous Black Magick wizard in modern history?"
13:57:56 <Slereah_> I'm not sure I do D:
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:00:51 <AnMaster> still not perfect
14:00:54 <ais523> heh
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:02:05 <AnMaster> is an even*
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:44 <AnMaster> ais523, you may want to pull
14:08:56 <ais523> did you update only TURT?
14:09:03 <AnMaster> yes
14:09:18 <AnMaster> well TODO and CMakeList.txt too
14:09:22 <AnMaster> as I added a man page
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:10 <AnMaster> ais523, there?
14:51:15 <ais523> yes
14:51:19 <AnMaster> I got ccbi to generate an invalid svg file
14:51:23 <AnMaster> at least according to inkscape
14:51:29 <AnMaster> and konqueror
14:51:39 <AnMaster> <path stroke="#000000" stroke-linecap="round" d=""
14:51:39 <AnMaster> L0.0020,0.0020
14:51:39 <AnMaster> "/>
14:51:40 <AnMaster> oh yes
14:51:44 <AnMaster> that isn't valid xml
14:51:52 <ais523> no, the quotes aren't matched properly
14:51:53 <AnMaster> cfunge does this right
14:51:56 <AnMaster> ais523, indeed
14:52:22 <AnMaster> Deewiant, http://rafb.net/p/tZQ61687.html <-- ccbi generates invalid code on that
14:52:31 <AnMaster> cfunge can handle it
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:09 <AnMaster> but that needs more code
14:54:22 <AnMaster> something like 11x instead of x
14:54:28 <AnMaster> err "instead of v"
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:03 <AnMaster> haha
14:55:59 <AnMaster> well flying ip is slower I think because it needs complex checks for wrapping
14:56:00 <AnMaster> :P
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:20 <AnMaster> :P
14:56:31 <AnMaster> but hehe
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:43 <ais523> but in favour anyway
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:13 <AnMaster> pikhq, make it portable!
15:00:13 <AnMaster> ;P
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:14 <AnMaster> new version
15:04:22 <AnMaster> ais523, you will love that one ;P
15:04:41 <ais523> heh
15:04:50 <AnMaster> comments at the end too
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:05:57 <AnMaster> I can do that too
15:05:59 <AnMaster> a sec
15:06:17 <AnMaster> ais523, http://rafb.net/p/t5usdB97.html
15:06:53 <AnMaster> $ ./cfunge examples/count.b98
15:06:53 <AnMaster> Enter a number: 34
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:09:20 <AnMaster> ais523, Deewiant ^
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:19 <AnMaster> it is a bug
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:19 <ais523> yes
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:18:50 <AnMaster> if it isn't it is a bug
15:19:00 <AnMaster> or I reasoned wrongly
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:12 * AnMaster ducks
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:46 <AnMaster> that won't work
15:28:47 <ais523> I don't plan to use it
15:28:50 <ais523> I was just wondering
15:28:55 <AnMaster> you can unload a fingerprint that isn't loaded
15:29:01 <AnMaster> it is perfectly valid
15:29:24 <AnMaster> consider A-Z as a set of stacks of function pointers
15:29:27 <AnMaster> got that?
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:40 <ais523> yes, I suppose so
15:31:50 <ais523> unless you're using it as a 27th command rather than an unload hook
15:31:58 <AnMaster> eh?
15:32:06 <AnMaster> oh I see
15:32:13 <AnMaster> how would that work?
15:32:17 <AnMaster> Å?
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:32:58 <AnMaster> or rather, that depends
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:02 <Slereah_> Dude fellows.
15:35:06 <Slereah_> I wonder
15:35:07 <tusho> hi ais523
15:35:08 <ais523> hi tusho
15:35:09 <tusho> ha
15:35:11 <ais523> you won
15:35:11 <tusho> I won that one any way you look at it
15:35:17 <ais523> hi Slereah_
15:35:22 <tusho> ais523: i noticed you were in #canada when connecting
15:35:23 <tusho> very amusing
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:30 <Slereah_> Because if it is.
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:35:58 <Slereah_> So simple is the language.
15:36:06 <tusho> and uh Slereah_
15:36:08 <tusho> spoon was based on BF
15:36:12 <Slereah_> Was it?
15:36:16 <tusho> yes
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:36 <Slereah_> Lemme check
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:49 <tusho> wowee
15:55:53 <tusho> zzo invented another language
15:55:59 <tusho> he's a machine
15:56:59 <tusho> ais523: lawl
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:22 <tusho> it's been deleted
15:57:22 <tusho> :p
15:57:24 -!- ais523 has joined.
15:57:30 <tusho> well, you missed all of that
15:57:52 <ais523> paste again?
15:57:54 <ais523> oh, and hi tusho
15:58:03 <tusho> lawl
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:08 <tusho> [15:58] tusho: :p
15:58:26 <AnMaster> <tusho> zzo invented another language
15:58:29 <AnMaster> what language?
15:58:36 <tusho> AnMaster: see recent changes
15:58:36 <tusho> varsig
15:58:37 <tusho> i think
15:58:57 <tusho> the deletion debate is gold
15:58:59 <tusho> "The fact it exists makes it notable."
15:59:04 <ais523> false
15:59:08 <tusho> my right nostril's hairs are notable
15:59:08 <tusho> :D
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:36 <ais523> which actually exists
15:59:37 <Slereah_> I wish we were paid per pound of language.
15:59:44 <Slereah_> Imagine what we could earn!
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:11 <tusho> yeah ignore him
16:00:14 <tusho> he's an imposter
16:00:16 <tusho> because he's not me
16:00:20 <tusho> AnMaster: http://esolangs.org/wiki/varsig
16:00:22 <AnMaster> ah
16:00:23 <Slereah_> I am you.
16:00:24 <tusho> there, I properly answered your question
16:00:27 <Slereah_> Listen to me.
16:00:29 <AnMaster> hahah
16:00:35 <tusho> Slereah_: yes but you're the only one who's me
16:00:38 <tusho> ais523 isn't 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:47 <tusho> ais523: yes
16:01:51 <tusho> that's why I put it in the shame category
16:01:58 <tusho> it's shameful
16:02:05 <ais523> shame category?
16:02:05 <tusho> Slereah_ suggested putting it in that category
16:02:06 <tusho> so I did it
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:20 <tusho> [[Wikipedia:foo]]
16:02:21 <tusho> or whatever
16:02:22 <tusho> which is valid
16:02:23 <tusho> then
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:24 <tusho> he changed it to
16:02:26 -!- Corun has joined.
16:02:29 <tusho> [[WikiPedia:foo]]
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:24 <AnMaster> ah yes that is it
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:30 <AnMaster> it lacks specs...
16:04:39 <tusho> wow really
16:04:41 <tusho> i didn't notice.
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:08 <tusho> (WOW)
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:54 <AnMaster> heheh!?
16:05:55 -!- ais523 has joined.
16:06:00 <tusho> AnMaster: furscript is totally serious
16:06:01 <tusho> :|
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:07 <ais523> tusho: yes
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:29 <AnMaster> which ones?
16:07:33 <Slereah_> I love the edit summary.
16:07:34 <Slereah_> "(shame)"
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:46 <AnMaster> are needed
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:07:59 <tusho> so ha
16:08:03 <Slereah_> And we all agree and all.
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:22 <tusho> and authentic
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:10 <AnMaster> or != and
16:11:15 <AnMaster> hm true
16:11:19 <AnMaster> but there is a limit for it
16:11:20 <tusho> it's pointless to specify such rigorous standards for bloomin' esoteric languages
16:11:27 <AnMaster> esme is way below that limit
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:41 <AnMaster> not really
16:11:45 <AnMaster> hah
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:11 <AnMaster> or what does the example do?
16:12:13 <tusho> you don't know until you forget
16:12:19 <Slereah_> Esme should stay there.
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:52 <AnMaster> tusho, why?
16:12:54 <AnMaster> :(
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:03 <AnMaster> he should flesh it out IMO
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:31 <AnMaster> good idea if he did
16:13:51 <tusho> yeah but then Category:Shameful would only include furscript
16:13:56 <tusho> :p
16:14:05 <AnMaster> well furscript should be deleted
16:14:17 <tusho> no it shouldn't
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:43 <tusho> AnMaster: hell no
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:05 <tusho> i know
16:15:06 <tusho> i've seen
16:15:13 <AnMaster> it is very accurate
16:15:15 <AnMaster> and funny
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:15:42 <AnMaster> tusho, well it is obscure
16:15:52 <tusho> so is furscript
16:16:03 <ais523> tusho: the interpretation is correct, you just don't understand the language it's written in
16:16:05 <AnMaster> and obfuscated
16:16:14 <ais523> it's a SARTRE-like language
16:16:15 <tusho> ais523: *g*
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:30 <AnMaster> tusho, that perl?
16:16:32 <tusho> ais523: http://esolangs.org/wiki/Talk:Esme look, he actually tried to explain it
16:16:34 <tusho> zzo38 asked
16:16:58 <AnMaster> hah
16:17:10 <ais523> tusho: that explanation strikes me as being a joke, more or less, like the language
16:17:14 <AnMaster> oh I think I see
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:23 <AnMaster> it is *output* of the program
16:17:28 <Slereah_> Is he?
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:44 <tusho> ahh I see
16:17:46 <tusho> 'esme esme' is the program
16:17:50 <tusho> no wait
16:17:52 <tusho> nope
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:05 <AnMaster> emse 2
16:18:11 <AnMaster> ESME!!
16:18:12 <AnMaster> err
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:15 <AnMaster> esme*
16:18:19 <Slereah_> Stop pondering, and let it remains in its category of SHAME
16:18:19 <AnMaster> tusho, no clue
16:18:26 <AnMaster> maybe THE output?
16:18:29 <AnMaster> could be a typo
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:17 <AnMaster> ais523, hm
16:19:40 <AnMaster> found it
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 <ais523> tusho: no, I can't
16:21:04 <tusho> and why is it always something strange
16:21:11 <ais523> I don't know
16:21:22 <tusho> it's very confusing
16:21:27 <AnMaster> ais523, haha
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:27 <ais523> I doubt it
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:24:57 <ais523> which disappoints me
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:33 <AnMaster> there is some such program
16:25:56 <ais523> oh, it wasn't Chris Pressey, apparently, even though it's on their website, it's John Colagioia
16:26:34 <AnMaster> their?
16:26:42 <ais523> singular they
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:01 <AnMaster> Chris is he isn't it?
16:27:03 <ais523> tusho: well, it would seem likely
16:27:05 <ais523> AnMaster: it's both
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:15 <ais523> or at least can be
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:32 <tusho> shrug
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:23 <ais523> s/koan/haiku/
16:29:26 <ais523> sorry, wrong art form
16:29:30 <tusho> perl koan
16:29:31 <tusho> wow
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:26 <Slereah_> Well, Penrose is okay.
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:07 <pikhq> :)
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:43 <ais523> I suspect so
16:31:53 <ais523> the first line unloads a library called "less", with three string arguments
16:31:59 <tusho> yes
16:32:02 <ais523> then require strict verifies that use strict is possible
16:32:04 <ais523> which it is
16:32:05 <tusho> require strict loads strict.pm?
16:32:07 <tusho> ah, okay
16:32:07 <ais523> so no problems there
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:30 <pikhq> My favorite one?
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:35 <tusho> ais523: no
16:32:36 <ais523> it repeatedly closes attention
16:32:38 <tusho> 'no less I can say;'
16:32:40 <tusho> two commands
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:04 <AnMaster> well
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:36 <AnMaster> hrrm
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:29 <AnMaster> haha
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:40 <AnMaster> irc*
16:39:41 <ais523> pikhq: autoconf but not the others
16:39:44 <pikhq> Ah.
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:54 <AnMaster> whatever it was
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:24 <AnMaster> pikhq, a lot yes
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:35 <AnMaster> pikhq, no
16:41:48 <pikhq> ... No?
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:43:53 <AnMaster> pikhq, no?
16:43:59 <pikhq> Dunno.
16:44:04 <pikhq> I'm not an Autotools expert.
16:44:09 <pikhq> (I should learn it this summer)
16:44:21 <AnMaster> cmake is better
16:44:46 <pikhq> Probably.
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:12 <AnMaster> ais523, I may be wrong
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:15 <AnMaster> oh?
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:50 <AnMaster> it already uses autotools
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:29 <AnMaster> ais523, what sort of names?
16:49:44 <ais523> AnMaster: they follow a pattern, oilout00.c, oilout01.c, oilout02.c and so on
16:49:45 <ais523> in hex
16:49:51 <AnMaster> ok
16:50:09 <AnMaster> should be doable
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:51:59 <AnMaster> out of tree builds?
16:52:02 <ais523> and the output goes in /bin and /lib
16:52:03 <AnMaster> is that supported?
16:52:08 <ais523> AnMaster: it doesn't do out of tree at present
16:52:13 <AnMaster> ais523, ah
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:26 <AnMaster> is there any reason
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:52:48 <AnMaster> or at least did recently
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:47 <AnMaster> should work for cfunge
16:53:49 <ais523> mixing the results of compilation up with the sources is ugly IMO
16:54:15 <AnMaster> phone brb
16:55:21 -!- sebbu2 has joined.
16:57:25 -!- augur has quit (Read error: 113 (No route to host)).
17:02:56 <AnMaster> back
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:01 <AnMaster> hm?
17:04:05 <ais523> cp -r
17:04:18 <AnMaster> um I said out of tree build
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:33 <AnMaster> you don't need to ln
17:04:45 <AnMaster> make will overlay the build dir and the real dir
17:04:48 <AnMaster> internally
17:04:51 <ais523> well, yes
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:12 <AnMaster> ../ick/configure
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:04 <ais523> probably in sr
17:06:05 <AnMaster> oh you only use one single top makefile?
17:06:06 <ais523> s/sr/src/
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:21 <AnMaster> ah
17:06:25 <AnMaster> well src
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:05 <AnMaster> right
17:09:09 <ais523> it's a feature built into autoconf
17:09:10 <AnMaster> what about .com then?
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:09:58 <Deewiant> good
17:10:00 <Deewiant> yep
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:10:38 <Deewiant> I'll see everything later
17:10:44 <Deewiant> can't be bothered today
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> noinst_PROGRAMS = oil
17:11:49 <AnMaster> lib_LIBRARIES = libick.a libickmt.a libyuk.a libickec.a
17:11:59 <ais523> yep, looks right
17:12:09 <AnMaster> ais523, what is ial?
17:12:13 <ais523> oh, no
17:12:17 <ais523> ial's a dummy target
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:29 <AnMaster> I see
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:43 <AnMaster> hm
17:13:49 <AnMaster> ais523, right
17:13:53 <ais523> look at the link lines for each library and executable
17:13:57 <AnMaster> ah
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:11 <AnMaster> that is all for ick?
17:14:18 <ais523> yes, looks like it
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:05 <AnMaster> ah I see
17:15:29 <AnMaster> what exactly is ial for?
17:15:33 <AnMaster> I don't get iot
17:15:34 <AnMaster> it*
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:15:55 <AnMaster> I see
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:19 <AnMaster> ais523, why the need to copy
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:38 <AnMaster> you still got that
17:17:40 <ais523> AnMaster: oil.c is output from oil.y
17:17:46 <AnMaster> oh right
17:17:49 <AnMaster> that is simple :)
17:18:31 <ais523> yep, just a straightforward yacc parser that defines OIL, the translation, etc., is in the same source file
17:19:00 <AnMaster> temp/parser.h temp/parser.c
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:19:43 <AnMaster> aaargh
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:13 <AnMaster> yes but moving it is silly
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:12 <AnMaster> no need to list headers
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:45 <AnMaster> yep
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:13 <AnMaster> or after a re-configure
17:22:24 <ais523> also, I think some of the headers include different files based on which file they're included into
17:22:26 <AnMaster> so incremental builds work
17:22:55 <AnMaster> ais523, this will happen on a C file by C file basis
17:22:59 <ais523> ok
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:23:55 <ais523> s/to/too/
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:04 <ais523> wildcards?
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:25 <AnMaster> ais523, wtf is lextest?
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:05 <AnMaster> temp/oilout-m.o?
17:26:07 <AnMaster> what is that
17:26:22 <ais523> it's the main file
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:26:55 <AnMaster> hm
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:14 <AnMaster> what is that good for?
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:41:31 <tusho_> stupid fucking router
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:19 <AnMaster> exactly
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:31 <AnMaster> same for *.l
17:55:34 <AnMaster> ais523, indeed
17:55:40 <AnMaster> I said apart from install and oil
17:55:40 <ais523> does it handle *.y -> *.h too?
17:55:47 <AnMaster> ais523, well it should
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:56:44 <AnMaster> or such?
17:57:24 <ais523> AnMaster: I use CFLAGS as well
17:57:24 -!- tusho_ has changed nick to tusho.
17:57:37 <AnMaster> ah that would end up as:
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:46 <AnMaster> or CPPFLAGS for defines
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:00 <AnMaster> they should be split
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:22 <AnMaster> trust me
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@
17:59:47 <AnMaster> then it would
17:59:50 <AnMaster> :P
18:00:00 <AnMaster> or whatever
18:00:02 <ais523> hm, ok
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:00:51 <AnMaster> mostly that is what happen
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:14 <ais523> yes, I suppose so
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:44 <AnMaster> :P
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:14 <AnMaster> well... no idea :P
18:04:42 <AnMaster> ais523, I have autotools on massive but *sane* projects, nothing like ick's all build system quirks
18:06:44 <AnMaster> *.c: *.bin
18:06:45 <AnMaster> ./bin2c blergh < $< > $@
18:06:50 <AnMaster> well blergh make that not work
18:06:53 <AnMaster> otherwise it would work
18:07:10 <AnMaster> ais523, see ?
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:01 <AnMaster> LOADLIBS = @LIBS@ @LEXLIB@
18:09:03 <AnMaster> it is never used
18:09:06 <AnMaster> so what is it for?
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:12:24 <AnMaster> so I give up
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:01 <AnMaster> which iirc is pretty well
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:17:58 <AnMaster> oh?
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:13 <AnMaster> I can help there
18:18:36 <AnMaster> ais523, I don't think cmake works on DOS, but it does for about everything else :P
18:18:49 <AnMaster> including MSVC project files
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:28 <AnMaster> or fork()
18:19:31 <AnMaster> forgot what one I use
18:19:37 <ais523> AnMaster: if followed by an exec, no
18:19:45 <ais523> otherwise yes
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:17 <AnMaster> // Do the FD stuff.
18:20:18 <AnMaster> // Close unused end
18:20:18 <AnMaster> close(outfds[0]);
18:20:18 <AnMaster> // Dup the FD
18:20:18 <AnMaster> dup2(outfds[1], 2);
18:20:22 <ais523> yep, that's fine
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:20:41 <AnMaster> but that is a heap operation
18:20:49 <AnMaster> indeed, it doesn't return
18:20:54 <ais523> so no problem
18:21:25 <AnMaster> it either exec() or _Exit()s
18:21:38 <AnMaster> _Exit() in case of errors
18:21:43 <ais523> _Exit?
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:06 <AnMaster> _Exit is C99
18:22:11 <AnMaster> while _exit is POSIX
18:22:15 <ais523> what's the difference?
18:22:16 <ais523> anything?
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:22:20 <AnMaster> ais523, only the name
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:34 <ais523> both C99 and POSIC
18:23:36 <AnMaster> ais523, no why would I?
18:23:38 <ais523> s/POSIC/POSIX/
18:23:41 <AnMaster> I'm C99
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 <ais523> C has srand()
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:24:46 <ais523> ah
18:25:07 <AnMaster> and yes environ is POSIX too
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:40 <AnMaster> tusho, ccbi is D....
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:25:59 <tusho> D isn't painful
18:25:59 <tusho> :p
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:19 <tusho> :P
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:26:52 <AnMaster> I never do longjmp() or such
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:19 <AnMaster> hah
18:27:24 <AnMaster> tusho, not really
18:27:25 <tusho> __posix_tell_fuzzy_logic_cpu_central_board ... not so much
18:27:44 <AnMaster> from man page:
18:27:47 <AnMaster> "longjmp() and siglongjmp() make programs hard to understand and maintain. If possible an alternative should be used."
18:27:47 <AnMaster> :P
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:09 <AnMaster> ais523, not _ in front iirc
18:28:18 <ais523> AnMaster: ok
18:28:31 <ais523> yep, no _
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:06 <AnMaster> code here
18:29:07 <AnMaster> #endif
18:29:22 <AnMaster> would be the correct way according to man posixoptions
18:29:23 <AnMaster> :P
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:25 <ais523> which is most of them
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:01 <AnMaster> :P
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:30:37 <tusho> it's refreshing
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:39 <AnMaster> ais523, well that is crazy
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:10 <AnMaster> eh?
18:32:16 <AnMaster> hm
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:01 <AnMaster> ais523, ah
18:33:02 <tusho> <AnMaster> why support broken systems though?
18:33:07 <tusho> why support any systems?
18:33:11 <tusho> good question!
18:33:20 <AnMaster> is it?
18:33:22 <ais523> tusho: well, CLC-INTERCAL and C-INTERCAL both still support EBCDIC
18:33:32 <ais523> and that's obsolete
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:34:58 <tusho> *g*
18:35:11 <ais523> tusho: really, or they wouldn't be able to run most C
18:36:50 <AnMaster> EBCDIC systems still exist?
18:36:59 <ais523> AnMaster: probably not, but just in case...
18:37:15 <ais523> dd still handles EBCDIC IIRC
18:37:21 <AnMaster> hah
18:37:33 <AnMaster> dd does binary doesn't it?
18:37:36 <ais523> [[
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:39 <ais523> ]]
18:37:41 <ais523> from man dd
18:37:43 <AnMaster> oh
18:37:44 <ais523> yes, it does binary
18:37:50 <AnMaster> man recode :P
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:38:55 <tusho> the unix way, etc
18:39:14 <AnMaster> tusho, yes like recode or such
18:39:22 <AnMaster> dd isn't very unixy
18:39:30 <AnMaster> dd if=foo of=blah bs=1234
18:39:31 <tusho> AnMaster: O RLY
18:39:34 <AnMaster> unixy would be
18:39:43 <AnMaster> dd -i foo -o blah -b 1234
18:39:45 <AnMaster> :P
18:39:52 <AnMaster> so not very unixy indeed
18:39:56 <tusho> AnMaster: dd itself isn't unix
18:40:01 <tusho> 'dd - convert and copy a file'
18:40:04 <AnMaster> it is older yes
18:40:06 <tusho> it has 'and' in the description of what it does
18:40:10 <tusho> instant unix fail
18:40:31 <AnMaster> tusho, ooh an idea:
18:40:46 <AnMaster> funtoken - execute commands of the funge
18:40:53 <AnMaster> funadd - add operand
18:40:54 <AnMaster> and so on
18:41:06 <AnMaster> so just one program calling one other program for each opcode!
18:41:07 <AnMaster> XD
18:41:11 <tusho> heh
18:41:14 <AnMaster> with data sent over stdio
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:39 <AnMaster> oh no wait
18:41:49 <AnMaster> a separate daemon for funge space and one for stack
18:41:51 <AnMaster> tusho, XD
18:41:56 <ais523> hey, cmeme came back!
18:41:57 <AnMaster> talking over unix sockets
18:42:28 <tusho> yes
18:42:30 <tusho> you said that yesterday
18:42:35 <AnMaster> just a netsplit
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:36 <ais523> oh, I have to go
18:44:39 <ais523> bye, everyone
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:45:55 <AnMaster> why does he have to go
18:45:57 <AnMaster> he never said
18:48:38 -!- Polar has joined.
18:48:54 <tusho> who wants to hear about my evil project
18:49:03 <AnMaster> depends on what it is
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:21 <AnMaster> hm ok
18:49:26 <AnMaster> what is your evil project then
18:49:32 <tusho> i think you've heard it
18:49:38 <AnMaster> not sure
18:49:44 <tusho> yeah
18:49:44 <tusho> you have
18:49:46 <AnMaster> what one is it
18:49:57 <AnMaster> you have so many evil projects
18:50:26 <AnMaster> ah I see
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:28:44 <Sgeo> Bye all
20:32:29 -!- Sgeo has quit (Remote closed the connection).
20:41:28 -!- timotiis has joined.
20:43:52 <AnMaster> tusho, where is ais I wonder
20:43:53 <AnMaster> :/
20:44:23 <tusho> AnMaster: at home
20:44:31 <tusho> i guess
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:48:52 <tusho> jamesstanley: no
22:48:56 <jamesstanley> OK, thanks
22:48:57 <tusho> + - < > , . [ ]
22:48:58 <tusho> that's it
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:49:32 <jamesstanley> OK
22:50:05 <tusho> jamesstanley: Can I perhaps define each one for you? :P
22:50:17 <jamesstanley> I know what the commands do
22:50:25 <jamesstanley> I've written several small programs now
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:06 <jamesstanley> All sorts of undefined things like that
22:51:18 <jamesstanley> There are ways to terminate a C program without calling exit. ;)
22:51:40 <jamesstanley> Anyway, I'm going to bed now.
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:32 <oklopol> hmm
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:30:59 <oklopol> yeah, he always fails
23:32:02 <tusho> hah
23:50:56 <oklopol> o
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:03 <GregorR> Yes :P
23:59:04 <tusho> (that's my pre-click prediction)
23:59:06 <GregorR> Yes it is :P
23:59:42 <tusho> GregorR: you need a compliance checker
23:59:53 <GregorR> 'struth :P
23:59:57 <tusho> a four grade system:
2008-07-02
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:01:25 <GregorR> :P
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:41 <tusho> GregorR: oh, wait
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:22 <GregorR> Or maybe not :P
00:04:29 <tusho> GregorR: No
00:04:32 <tusho> no-www doesn't
00:04:35 <GregorR> I know
00:04:37 <tusho> because how will people know when they find it
00:04:37 <tusho> :P
00:04:42 <GregorR> But it would be HARD-EFFING-CORE!!!
00:04:42 <GregorR> :P
00:04:48 <tusho> yes it would
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:21 <GregorR> :P
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:21 <tusho> awesome
00:06:25 <tusho> use my levels
00:06:27 <tusho> they're pwnsome
00:06:38 <GregorR> That was the result from no-www.org on extra-www.org .
00:06:43 <tusho> oh
00:06:43 <tusho> ha
00:06:48 <tusho> GregorR: 24 hour lag stuffs
00:06:49 <tusho> also
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:07:32 <tusho> GregorR: Shut up.
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:48 <AnMaster> extra www?
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:03 <tusho> *not
00:19:07 <oklopol> AnMaster: the answer is like 5 lines back
00:19:22 <AnMaster> there is no-www I know
00:19:25 <AnMaster> extra-www is new
00:19:36 <tusho> AnMaster: GregorR just made it
00:19:38 <tusho> it's a parody of no-www
00:19:48 <AnMaster> aha
00:19:54 <tusho> GregorR: y/n
00:20:09 <AnMaster> "envbot.org previously reported as Class B. <a href='http://click-here-to-retest.co.uk'> "
00:20:11 <AnMaster> :P
00:20:22 <GregorR> tusho: No, it is not (yet?) extra-www compliant.
00:20:31 <tusho> GregorR: uhh
00:20:32 <AnMaster> www.envbot.org redirects to non-www version
00:20:32 <tusho> what
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:13 <tusho> Psht.
00:21:16 <tusho> That would be LAYM
00:21:32 <tusho> Unless I wrote it - which I'm now toying with...
00:22:00 <tusho> :P
00:24:04 <tusho> GregorR: Hmm. A D templating language just seems WRONG
00:24:16 <tusho> Test <%= new Foo() %>
00:25:34 <tusho> xD
00:26:03 -!- olsner has quit.
00:27:19 <tusho> GregorR: wtf is the tango logo
00:27:45 <AnMaster> it exists?
00:27:58 <tusho> http://www.dsource.org/projects/tango/chrome/theme/images/Logo5.png
00:28:10 <AnMaster> tusho, cut off?
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:28:39 <GregorR> Not the art.
00:28:44 <tusho> Still.
00:28:44 <tusho> :P
00:29:06 <AnMaster> GregorR, why do you do D?
00:29:13 <tusho> AnMaster: he likes it?
00:29:19 <AnMaster> poor him
00:29:43 <GregorR> AnMaster: You don't like it?
00:29:46 <tusho> AnMaster: why?
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:03 <tusho> well
00:30:04 <GregorR> Heh
00:30:04 <tusho> wasn't for me
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:26 <AnMaster> GregorR, so I gave up
00:30:34 <AnMaster> I expect it to work out of box with gdc
00:30:41 <AnMaster> that day I may consider D
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:20 <tusho> GregorR: so wut:
00:31:21 <tusho> func({ ... })
00:31:22 <tusho> ?
00:31:25 <GregorR> Yeah
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:36 <tusho> mm?
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:32:22 * AnMaster is used to that
00:33:13 <tusho> GregorR: well?
00:33:35 <GregorR> Sure, why not.
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:38 <tusho> GregorR: wal? :(
00:35:42 <GregorR> (int foo, int bar) { ... }
00:35:57 <tusho> a
00:35:58 <tusho> i c
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:42 <AnMaster> GregorR, ^
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:06 <GregorR> AnMaster: E_WORKSFORME
00:37:11 <tusho> GregorR: wot
00:37:14 <AnMaster> GregorR, another thing: tango can't install into a prefix it seems
00:37:15 <AnMaster> ?
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:35 <AnMaster> so totally useless
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:23 <tusho> no it's not
00:38:26 <AnMaster> 2) gdc is also hard, but less hard
00:38:32 <tusho> no it's not
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:05 <AnMaster> like C does
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:32 <AnMaster> they are compatible
00:40:33 <tusho> and he made D
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:30 <AnMaster> then yes
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:42 <tusho> great!
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:09 <tusho> GregorR: so plof
00:43:11 <tusho> show me a plof program
00:43:14 <AnMaster> the language itself is beautiful IMO
00:43:17 <AnMaster> GregorR, ^
00:43:23 <GregorR> AnMaster: I admit that, but have neither the manpower nor skills to change that.
00:43:27 <GregorR> tusho: Uhhhh
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:36 <tusho> :-P
00:43:40 <tusho> (Since there are none.)
00:43:47 <tusho> And I just want a basic syntax, stdlib using program.
00:43:48 <tusho> You know
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:43:59 <tusho> :P
00:44:07 <GregorR> Not the corest part of the core library.
00:44:19 <tusho> Yeah well ;-;
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:12 <AnMaster> how stable is gdc?
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:25 <tusho> 'interpreter'?
00:45:28 <AnMaster> err
00:45:29 <AnMaster> compiler
00:45:31 <tusho> and gdc just hooks in dmd into gcc
00:45:33 * AnMaster is half asleep
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:33 <AnMaster> tusho, hm?
00:46:41 <tusho> AnMaster: perl
00:46:41 <tusho> python
00:46:43 <tusho> ruby
00:46:44 <tusho> clean
00:46:45 <AnMaster> yes
00:46:48 <tusho> i can go on
00:46:49 <tusho> forever
00:46:51 <AnMaster> but they are interpreted
00:46:58 <AnMaster> C++ got quite a few implementations too
00:46:58 <tusho> AnMaster: uh
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:03 <GregorR> MSVC and ICC are both EDG
00:48:07 <GregorR> So is Borland.
00:48:10 <AnMaster> "EDG"?
00:48:12 <GregorR> They all license the EDG frontend.
00:48:17 <tusho> AnMaster: http://www.edg.com/
00:48:35 <AnMaster> tusho, thanks
00:48:44 <AnMaster> C got gcc, icc, MSVC (that one sucks), Borland's, pcc, and some more
00:48:50 <tusho> AnMaster: wrong
00:48:54 <tusho> MSVC = Borland = ICC
00:49:03 <tusho> same frontend
00:49:04 <AnMaster> for C too?
00:49:12 <tusho> uh, I believe so
00:49:16 <tusho> maybe
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:49:53 <tusho> But yeah
00:49:56 <tusho> C is damn unique
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 <AnMaster> GregorR, pcc is BSD licensed
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:00 <GregorR> (Unfortunately)
00:51:04 <GregorR> AnMaster: No.
00:51:09 <tusho> GregorR: Well, if you do get it working - add (.meth) -> (o, ...){ o.meth(...) }
00:51:11 <AnMaster> will it ever be?
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:51:57 <AnMaster> aha
00:51:58 <AnMaster> right
00:52:29 <tusho> GregorR: [1,2,3].map(.succ).fold(0, (*))
00:52:30 <tusho> yum
00:52:31 <AnMaster> well once tango is default and it is easy to set up I may consider D
00:52:31 <tusho> actually
00:52:34 <tusho> you could probably drop the parens
00:52:36 <tusho> I doubt it's ambigious
00:52:38 <AnMaster> until then: C for me
00:52:42 <tusho> GregorR: [1,2,3].map(.succ).fold(0, *)
00:52:44 <tusho> total win or what
00:52:48 <AnMaster> D looks like a good language compared to C++
00:53:02 <GregorR> tusho: Agreed :)
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:51 <tusho> but yes
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:01 <GregorR> AnMaster: Yes.
00:54:02 <AnMaster> tusho, exactly what my point was
00:54:03 <AnMaster> :P
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:15 <tusho> in the code
00:54:17 <AnMaster> I have seen kernels in C++
00:54:27 <AnMaster> and a lot in C
00:54:27 <tusho> GregorR: well, how about this: (a, b, c...) { /* c is the rest of the args */ }
00:54:31 <AnMaster> but none in D so far
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:54:42 <AnMaster> tusho, link?
00:54:49 <tusho> i think xana
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:55:58 <AnMaster> "xanalogical functionalities"
00:56:04 <AnMaster> wtf is that :)
00:56:12 <tusho> AnMaster: like xanadu
00:56:16 <tusho> (the original hypertext system)
00:56:18 <tusho> (vaporware :P)
00:56:31 <AnMaster> so what exactly *is* it?
00:56:48 <tusho> AnMaster: complicated to explain, that's what
00:56:48 <GregorR> Nobody really knows :P
00:58:17 <tusho> GregorR: Will Plof make me toast?
00:58:26 <tusho> If so, I'm sold.
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
00:59:27 <AnMaster> wht is plof?
01:00:15 <AnMaster> GregorR, tusho: is plof esoteric?
01:00:18 <tusho> no
01:00:22 <AnMaster> ah
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:01:29 <GregorR> google.com class: FAIL
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:24 <GregorR> Reduced.
04:40:43 <lament> better
04:40:56 <lament> and the color scheme sucks but of course that's not your fault :D
04:41:09 <GregorR> ^^
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:46:35 <lament> hahaha
04:47:02 <lament> wow
04:47:11 <lament> not only it works, but it -does not redirect-
04:47:21 <lament> that is indeed awesome
04:47:27 <GregorR> Yup
04:47:43 <lament> they might fix that, though ;)
04:48:01 <GregorR> *eh*
04:48:02 <GregorR> :P
04:53:30 -!- oklopol has quit (Connection timed out).
05:27:36 -!- kwertii has quit ("bye").
07:26:03 <Slereah_> ...
07:26:05 <Slereah_> ...
07:26:07 <Slereah_> ...
07:26:12 <Slereah_> Befunge with portals!
07:26:16 <Slereah_> Does this exist?
07:30:07 <puzzlet> portal?
07:30:19 <Slereah_> I'm thinking.
07:30:30 <Slereah_> Although I'll have to read up on Befunge first
07:30:35 <Slereah_> I don't know that much of i
07:30:35 <Slereah_> t
07:32:29 <Slereah_> Hm.
07:32:38 <Slereah_> A bully automaton based on Portal.
07:33:25 <puzzlet> ah you mean the game
07:33:51 <Slereah_> Yes indeed.
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:34:49 <Slereah_> Rube style.
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:41:34 <oklofok> doubt
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:47:57 <Slereah_> I'll trust you on that one.
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:50:20 <Slereah_> Isn't that more of a rimjob?
09:51:28 <oklopol> the brown part yeah (unless you bit it too hard or something)
09:53:09 <Slereah_> oklopol has brown blood.
09:54:06 <oklopol> yeah i'm a klingon
09:54:40 <oklopol> this esme language seems very, very cool
09:55:05 <Slereah_> If shameful D:
11:18:15 -!- olsner has joined.
11:28:49 -!- olsner has quit.
11:29:15 <oklopol> noodles
11:29:17 <oklopol> i wanna
11:50:44 <Slereah_> Don't!
11:50:49 <Slereah_> Remember the noodle incident?
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:19:52 <oklopol> in the dark
14:25:28 <Sgeo> <3 cectic
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:10:20 <Slereah_> Sgeo : What of Oklotalk?
15:10:26 <Slereah_> Was there ever any specs?
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:39:27 <AnMaster> where is tusho and ais?
15:39:30 <AnMaster> are*
15:45:05 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
15:45:37 -!- Slereah_ has joined.
15:59:26 <Slereah_> PEOPLE DUDES
16:07:47 <AnMaster> Slereah_, ?
16:08:11 <Slereah_> I am back
16:10:22 -!- tusho has joined.
16:10:49 <tusho> hi ais523
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:11:53 <tusho> (WHOMFG)
16:12:09 <tusho> oklopol: yes but if I check he could say hi first
16:15:42 <AnMaster> tusho, hi
16:16:09 <tusho> hi AnMaster
16:16:15 <AnMaster> tusho, and ais isn't here
16:16:20 <tusho> yes i know AnMaster
16:16:23 <tusho> but it's the competition
16:16:23 <AnMaster> that counts as failing
16:16:26 <tusho> if I check, he'd count "hi ais523"
16:16:28 <AnMaster> if the person isn't here
16:16:28 <tusho> *say
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:56 <tusho> er
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:50 <tusho> AnMaster: um
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:30 <AnMaster> 17:10:49 <tusho> hi ais523
16:42:37 <AnMaster> 17:11:22 <oklopol> ais523 isn't here, you filthy noob!
16:42:41 <tusho> whatever, AnMaster
16:42:42 <AnMaster> that is what I saw
16:42:44 <AnMaster> check clog
16:42:46 <tusho> why do I care how long my client takes to join
16:42:51 <tusho> 20 seconds
16:42:52 <tusho> so what
16:42:54 <AnMaster> tusho, it does matter as you will loose
16:43:00 <AnMaster> afk
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:35:20 <tusho> Well.
17:35:22 <tusho> Partly.
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:53 <tusho> true
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:50:39 <Slereah_> Holy fuck
17:50:45 <Slereah_> Steam serves are fast.
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:32 <Slereah_> Like Half Life or Portal.
18:08:48 <tusho> GregorR: I just reddited extra-www.
18:08:51 <Slereah_> To prevent piracy and such.
18:09:00 <tusho> oh wow
18:09:03 <tusho> someone already did
18:09:08 <Slereah_> There's plenty of nice features in it
18:09:14 <tusho> who is chromakode
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:11:57 <Slereah_> Can I do such a thing?
18:12:46 <AnMaster> <Slereah_> Not having to have internet when I want to play a fucking not online game.
18:12:47 <AnMaster> simple
18:12:52 <AnMaster> redirect the call
18:13:01 <AnMaster> record the traffic and write a fake server
18:13:10 <AnMaster> you will need to tcpdump
18:13:13 <tusho> AnMaster: 'simple'
18:13:16 <tusho> REWRITE VALVE'S SERVER
18:13:21 <AnMaster> tusho, hm?
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:13:53 <Slereah_> :D
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:43:31 <AnMaster> -_-
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:11 <lament> goood
18:52:17 <lament> i mean god
18:52:20 <lament> not good
18:52:28 <lament> "Brainfuck interpretter written in LolCode" is #1 on pr.reddit
18:54:59 <tusho> yes
18:54:59 <tusho> I know
18:55:02 <tusho> it makes me sad
18:55:12 <tusho> lolcode is so unique
18:55:13 <tusho> so is brainfuck
18:55:16 <tusho> ha-ha-ha
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:00:39 * pikhq waves at people
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:20 <pikhq> tusho: I will.
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:48 <pikhq> Oh.
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:22 <tusho> Well, not really.
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:13 <pikhq> Mmkay.
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:11:12 <tusho> There.
19:11:37 <tusho> pikhq: 'K. sec.
19:13:03 <tusho> Urgh.
19:13:04 <tusho> 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:15:34 <tusho> :|
19:17:09 <tusho> KILL
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:21:16 <pikhq> Local machine.
19:21:18 <pikhq> Erm.
19:21:24 <pikhq> Work machine.
19:22:26 <tusho> pikhq: Humph.
19:22:33 <tusho> Wonder if it's in my cache
19:22:55 <tusho> Wahey
19:22:56 <tusho> Got it
19:23:10 <tusho> Gah.
19:23:11 <tusho> It has line numbers.
19:23:20 <tusho> Aha
19:23:21 <tusho> Got it
19:23:31 <tusho> pikhq: Ok. Now I do it :P
19:23:37 <pikhq> Whoo.
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:01 <tusho> o.o
19:26:03 <tusho> I resubmitted it
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:19 <GregorR> Which is yours?
19:26:26 <tusho> reddit.com/user/ehird
19:26:28 <tusho> find it yourself
19:26:30 <tusho> :P
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:26 <tusho> er
19:27:27 <tusho> in
19:27:27 <tusho> x this[i];
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:05 <tusho> but
19:29:07 <tusho> f a, b
19:29:09 <pikhq> Huh.
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:33 <tusho> *g*
19:29:41 <pikhq> That *is* fairly Ruby-esque, though.
19:29:47 <pikhq> And, IIRC, Perl-esque, as well.
19:29:50 <tusho> pikhq: Yep.
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:45 <pikhq> Couldn't you do:
19:30:50 <pikhq> fold 0 +
19:30:50 <pikhq> ?
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:11 <pikhq> Hmm.
19:31:13 <tusho> Hmm.
19:31:15 <tusho> Although
19:31:17 <tusho> fold 0, +
19:31:18 <tusho> 2
19:31:21 <tusho> would probably be fold 0, +2
19:31:27 <tusho> So it'd be ambiguous in some cases.
19:31:31 <tusho> pikhq: Actually
19:31:33 <tusho> that'd be invalid
19:31:35 <tusho> but this wouldn't:
19:31:37 <tusho> fold 0, (*)
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:40 <GregorR> Apparently not, where?
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:29 <tusho> each (y) {
19:35:29 <tusho> if (x == y), (
19:35:29 <tusho> ret = True
19:35:29 <tusho> )
19:35:30 <tusho> }
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:43 <GregorR> Oh, so they do X-D
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:52 <pikhq> ;)
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:11 <tusho> if (y) { ... }
19:37:19 <tusho> reads as calling if(y) GNU-style
19:37:25 <tusho> then doing some stuff in a block
19:37:26 <tusho> in C
19:37:33 <pikhq> Except that in C, if isn't a function.
19:37:44 <pikhq> ;)
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:20 <GregorR> Ambiguity = bad
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:52 <lament> :D
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:41:09 <tusho> QED!
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:33 <tusho> To the MAX.
19:42:39 <GregorR> (Which, btw, are ambiguous because commas act like semicolons, but that requirement is removable)
19:42:59 <tusho> GregorR: f(ret x)
19:43:00 <tusho> that's either
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:40 <tusho> And yes, I do.
19:43:48 <GregorR> Blech
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:17 <tusho> *g*
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:24 <tusho> Even so.
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:48 <tusho> )
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:48:35 <tusho> has_many "users"
19:48:36 <tusho> vs
19:48:38 <tusho> has_many("users")
19:49:21 * GregorR goes to skooll
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:50:09 <tusho> Anyway, bye :)
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:32 <tusho> it died
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:24:59 <tusho> ox
20:25:01 <tusho> er
20:25:02 <tusho> ok?
20:25:03 <pikhq> Ah.
20:25:03 <tusho> *ox
20:25:05 <tusho> why did I say ox
20:25:07 <tusho> stupid keyboard
20:25:22 <tusho> *pees on socks*
20:25:49 <pikhq> Dunno.
20:26:46 <tusho> pikhq: Heh.
20:26:48 <tusho> Last commit 4 months ago.
20:26:50 <tusho> Deeeeeeeeeeeeeed
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:09 <tusho> Err, wait.
20:27:11 <tusho> A few days ago.
20:27:18 <tusho> Er
20:27:19 <tusho> I mean
20:27:21 <tusho> a few days after I was added
20:27:23 <tusho> was his last commi
20:27:25 <tusho> t
20:27:37 <tusho> pikhq: Oh, and one of his last commits was adding an easter egg.
20:27:39 <tusho> Srsly.
20:27:42 <pikhq> Argh.
20:27:42 <tusho> http://trac2.assembla.com/psox/changeset/95
20:27:49 <tusho> Read and weep.
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:28:47 <Judofyr> what is PEBBLE?
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:41:23 <lament> fuck man i'm haf?
22:51:48 <tusho> back
22:52:00 <tusho> and yeah, lament++
22:52:19 <tusho> jamesstanley: fuck man i'm haf?
22:52:39 <jamesstanley> Huh?
22:53:01 <tusho> jamesstanley: look at the bottom of your spec
22:53:25 <jamesstanley> My spec?
22:53:31 <jamesstanley> oh
22:53:35 <jamesstanley> sorry about the nick change thing
22:53:40 <jamesstanley> i forgot i was in this channel as well
22:53:46 <tusho> og
22:53:49 <tusho> you're not moozilla
22:53:52 <tusho> *oh
22:53:54 <moozilla> lol
22:53:56 <moozilla> sorry
22:54:01 <tusho> moozilla: fuck man i'm haf?
22:54:05 <tusho> hmm
22:54:07 <tusho> realname=kuonet
22:54:09 <tusho> that's AnMaster's domain
22:54:10 <jamesstanley> Am I off the hook?
22:54:10 <tusho> i think?
22:54:13 <jamesstanley> ;)
22:54:14 <moozilla> yes
22:54:15 <moozilla> :)
22:54:17 <tusho> jamesstanley: no! get back here!
22:54:18 <tusho> :P
22:55:11 <AnMaster> tusho, yes kuonet is an irc server too why?
22:55:19 <tusho> AnMaster: just odd
22:55:20 <tusho> :P
22:55:24 <tusho> anyway
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:40 <moozilla> >_>
22:55:43 <tusho> i could guess
22:55:48 <AnMaster> tusho, a bit odd I agree to have it as realname
22:55:56 <AnMaster> indeed quite odd
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:06 <moozilla> haha
22:56:15 <moozilla> so what do you think of the language
22:56:36 <AnMaster> hah
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:56:50 <moozilla> tusho tbh, about half of it
22:56:57 <moozilla> i will remove that though
22:56:58 <AnMaster> tusho, hah
22:57:00 <tusho> i can't find the intelligable half
22:57:01 <tusho> :P
22:57:15 <tusho> paragraphs, man :p
22:57:29 <tusho> it kind of makes sense though
22:57:31 <tusho> pretty cool
22:57:35 <AnMaster> tusho, anyway he mentioned this language there and I recommended him to visit this channel
22:57:41 <AnMaster> I only glanced at the top bit
22:57:43 <AnMaster> of the specs
22:57:56 <AnMaster> but seemed "not too stupid" to me
22:58:02 <tusho> seems interseting
22:58:10 <AnMaster> yes after reading it more I agree
22:58:10 <moozilla> oh well it was just my notes
22:58:15 <moozilla> then i decided to share
22:58:19 <AnMaster> moozilla, develop it more :)
22:58:21 <AnMaster> it is worth it
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:46 <AnMaster> tusho, agree
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:50 <tusho> :P
22:58:55 <tusho> moozilla: ... but not speccing, perhaps
22:58:55 <moozilla> but if you say so
22:58:59 <AnMaster> hahah
22:58:59 <moozilla> good point
22:59:19 <moozilla> so ill flesh out the spec
22:59:20 <moozilla> then code
22:59:26 <AnMaster> yes seems nice
22:59:31 <AnMaster> spell check too I think
22:59:38 <moozilla> heh :P
22:59:40 <moozilla> i wrote it in notepad
22:59:44 <moozilla> what do you expect
22:59:48 * AnMaster cringes
22:59:50 <AnMaster> emacs :)
22:59:54 <AnMaster> or some other editor
22:59:58 <AnMaster> just not notepat
23:00:00 <moozilla> i'd be pissed if notepad had a spell checker
23:00:01 <AnMaster> notepad*
23:00:05 <AnMaster> why?
23:00:07 <moozilla> i use it for its simplicity
23:00:18 <tusho> ED!
23:00:20 <tusho> ED IS SIMPLE!
23:00:22 <AnMaster> tusho, hah!
23:00:23 <tusho> ED IS THE STANDARD EDITOR!
23:00:28 <moozilla> i dont even know what ED is
23:00:30 <moozilla> >_>
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:37 <AnMaster> :/
23:00:42 <tusho> ED IS AN EDITOR! ED IS THE STANDARD TEXT EDITOR!
23:00:42 <tusho> ?
23:00:52 <AnMaster> tusho, moozilla use windows
23:00:56 <AnMaster> he don't know ed(1)
23:01:01 <tusho> AnMaster: EDLIN!
23:01:08 <moozilla> i know a little vi
23:01:09 <tusho> EDLINE IS SIMPLE!
23:01:09 <AnMaster> moozilla, ed is one of the oldest and smallest editors on *nix
23:01:09 <moozilla> thats it
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:29 <tusho> ?
23:01:40 <AnMaster> moozilla, really? it is weird
23:01:41 <tusho> moozilla: it's line-based
23:01:48 <tusho> and you type commands in it to editor
23:01:49 <AnMaster> moozilla, line based indeed
23:01:52 <tusho> (command-line)
23:01:54 <moozilla> oh
23:01:56 <moozilla> nvm then
23:01:57 <tusho> and its only error reporting is: ?
23:01:59 <lament> ?
23:02:00 <moozilla> i just want to type
23:02:02 <AnMaster> ?
23:02:02 <moozilla> and type
23:02:07 <AnMaster> ?!
23:02:09 <tusho> lament: 'fuck man i'm haf' is the result of drugs, apparently
23:02:14 <tusho> mystery solved!
23:02:17 <lament> ah
23:02:18 -!- pikhq has joined.
23:02:25 <tusho> hello pikhq! we're talking about drugs
23:02:27 <tusho> except not really
23:02:40 <AnMaster> hah
23:02:42 <moozilla> tusho, AnMaster if you're interested in the current interpretter i'll upload it
23:02:48 <tusho> sure
23:02:49 <moozilla> but its in C#
23:02:50 <tusho> what lang?
23:02:52 <tusho> ah
23:02:54 <tusho> that's okay
23:02:54 <tusho> mono
23:02:55 <tusho> :P
23:02:58 <moozilla> kk
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:29 <pikhq> C#?
23:03:33 * pikhq vomits
23:03:37 <tusho> lament: and then die like D?
23:03:41 <tusho> pikhq: Hey, it has functional programming shizz.
23:03:44 <tusho> That's good.
23:03:57 <pikhq> tusho: D is not dead.
23:04:00 <AnMaster> moozilla, I do have mono
23:04:02 <lament> C# probably has the highest quality*popularity coefficient
23:04:05 <AnMaster> if it runs under that
23:04:12 <AnMaster> lament, um?
23:04:12 <moozilla> it should run under mono
23:04:14 <tusho> pikhq: But it's not exactly getting more popular :P
23:04:14 <moozilla> i think
23:04:20 <AnMaster> lament, what does that mean exactly for C?
23:04:24 <lament> ohh
23:04:27 <lament> well
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:33 <lament> C is wonderful but
23:04:41 <lament> for most things, C# is much better
23:04:41 <AnMaster> lament, but what?
23:04:43 <tusho> pikhq: No, but their integration of it is nice.
23:04:47 <AnMaster> lament, not really
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:25 <lament> AnMaster: absolutely
23:05:27 <lament> AnMaster: i agree
23:05:28 <lament> and i love c
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:34 <AnMaster> but...
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:03 <AnMaster> correctly*
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 <moozilla> dont worry
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:39 <tusho> haskell, cool
23:06:43 <moozilla> i cant stand python
23:06:44 <tusho> lol@AnMaster
23:06:47 <pikhq> tusho: Ugh.
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:53 <tusho> :'(
23:06:54 <lament> yeah, i hate python, its' too readable
23:06:54 <AnMaster> yes it is true
23:06:54 <pikhq> I feel dirty just for installing Boost.
23:06:58 <tusho> lament: totally
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:19 <AnMaster> pikhq, ewww
23:07:31 <AnMaster> lament, yes that is called job security
23:07:32 <AnMaster> :)
23:07:49 <tusho> lament: python is used by homosexual masochists, obviously!
23:07:53 <tusho> OH, MAKE ME INDENT THAT CODE, GUDIO
23:07:57 <lament> yep
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:10 <AnMaster> pikhq, yes true
23:08:16 <AnMaster> pikhq, however I do have both :(
23:08:21 <AnMaster> because apps I use need them
23:08:22 <moozilla> it just was hard to leap into
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:08:49 <moozilla> lol
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:09 <lament> yep
23:09:11 <lament> hence the lack of braces
23:09:18 <AnMaster> well
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:35 <AnMaster> can't find the url
23:09:37 <AnMaster> lament, ^
23:09:38 <moozilla> brb
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:08 <tusho> it's evil but fun
23:10:09 <tusho> (yes, it's a joke)
23:10:11 <pikhq> AnMaster: I said as much.
23:10:15 <AnMaster> tusho, ooh nice
23:10:20 <AnMaster> pikhq, why?
23:10:24 <pikhq> Dunno.
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:39 <AnMaster> tusho, no I wouldn't
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:11:47 * AnMaster runs from tusho
23:11:52 <pikhq> :p
23:11:59 <tusho> pikhq: err
23:12:02 <lament> AnMaster: why?
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:08 <tusho> *braces
23:12:09 <tusho> err
23:12:11 <tusho> C#
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:30 <pikhq> Fine, fine.
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:01 <AnMaster> both .NET and mono
23:13:02 <tusho> yes .NET sucks
23:13:04 <tusho> I agree
23:13:07 <lament> pikhq: i don't want to reinvent any wheels
23:13:08 <AnMaster> tusho, both of them sucks
23:13:09 <pikhq> (not that, say, C++ is much better about that)
23:13:19 <GregorR> GREGOR HATE SHOE SHOPPING
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:32 <lament> *head
23:13:34 <GregorR> THAT TOO
23:13:34 <AnMaster> GregorR, link to m4 macro for object orientated C?
23:13:34 <pikhq> lament: Head.
23:13:40 <pikhq> Not hand.
23:13:42 <GregorR> AnMaster: Yeahyeahyeah, gimme a sec.
23:13:43 <lament> pikhq: head. I don't need that either.
23:13:44 <pikhq> Erm.
23:13:45 <AnMaster> GregorR, and: was it serious?
23:13:46 <tusho> lament: However. Obj-C > C#. Agreed?
23:13:50 <lament> tusho: No.
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:01 <tusho> lament: Right?
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:12 <tusho> lament: Yes but.
23:14:16 <AnMaster> GregorR, ah
23:14:19 <tusho> Obj-C isn't a joke :'(
23:14:21 <AnMaster> GregorR, well I know some m4
23:14:25 <AnMaster> tusho, sadly that is true
23:14:31 <AnMaster> it is a tragedy
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:51 <tusho> lament: >:(
23:14:53 <pikhq> For all those backing C#: I also hate Java.
23:14:54 <tusho> I DISLIKE YOU
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:02 <tusho> _shrug_
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:07 <AnMaster> GregorR, thanks!
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:37 <tusho> lament: yes
23:18:41 <tusho> but Obj-C itself
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:53 <tusho> but, if there was
23:18:55 <tusho> then it'd be very nice
23:18:56 <lament> and even if there was
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:21 <tusho> not that bad
23:19:50 <GregorR> Yay, www.www.extra-www.org is mentioned on no-www.org 8-D
23:19:53 <lament> oh, and how about
23:19:55 <lament> array access
23:20:00 <tusho> GregorR: wot, really?
23:20:04 <tusho> GregorR: that site hasn't been updated for like years
23:20:05 <pikhq> foo[bar]?
23:20:05 <lament> how do you access the last element of an array in cocoa?
23:20:15 <AnMaster> GregorR, where?
23:20:26 <lament> [foo objectAtIndex:[foo length] - 1]
23:20:30 <tusho> AnMaster: the news section
23:20:31 <lament> in python: foo[-1]
23:20:32 <GregorR> AnMaster: ... the very topmost post ...
23:20:37 <AnMaster> ahaa
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:05 <lament> oh, sorry
23:21:09 <tusho> GregorR: where have you spreaded this thing :P
23:21:12 <pikhq> Conclusion: I <3 C.
23:21:14 <pikhq> :p
23:21:17 <lament> actually, in cocoa, it's [foo lastObject]
23:21:26 <lament> it's a special case
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:22:51 <AnMaster> <lament> in python: foo[-1]
23:22:53 <AnMaster> don't do that
23:23:00 <AnMaster> that would be another object in C
23:23:03 <AnMaster> you CONFUSE ME
23:23:05 <AnMaster> :(
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:23:37 <oklopol> GregorR: awesome :D
23:24:20 <AnMaster> GregorR, btw I'm in no-www's B class iird
23:24:21 <AnMaster> iirc*
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:39 <tusho> *www.
23:27:44 <GregorR> lol
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:23 <tusho> yes, ogr
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:21 <tusho> sweet
23:29:27 <tusho> lament: well, they effectively did
23:29:31 <tusho> now that you can buy tlds...
23:29:35 <tusho> http://.foo/
23:29:40 <lament> you can? That went through?
23:29:57 <tusho> lament: yep
23:30:01 <tusho> it costs a couple hundred thousand
23:30:04 <lament> ouch
23:30:05 <tusho> but yay, now icann fucked up the internet
23:30:06 <tusho> what fun
23:30:08 <lament> that's terrible
23:30:12 <tusho> i just love corporate branding tlds
23:30:15 <tusho> they're awesome
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:31:06 <tusho> I want so.and.so
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:14 <AnMaster> yay
23:32:40 <AnMaster> tusho, in Sweden .nu is popular
23:32:44 <tusho> yes
23:32:47 <tusho> it means 'new' right?
23:32:48 <tusho> or something
23:32:50 <AnMaster> because nu is Swedish for now
23:32:58 <AnMaster> new would be ny
23:33:00 <tusho> 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:25 <AnMaster> tusho, oh?
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:34 <AnMaster> um you can't
23:33:37 <tusho> i know
23:33:42 <tusho> "you know, my world was shattered when i found out you couldn't get second-level .uk domains"
23:33:49 <AnMaster> it's like co.uk and such
23:33:57 <tusho> AnMaster: YES THAT'S WHY I SAID IT
23:33:58 <tusho> JEEZ
23:33:59 <AnMaster> I think you need some such for private persons too
23:33:59 * GregorR reappears.
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:10 <AnMaster> way better
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:38 <AnMaster> not .co.uk?
23:34:44 <tusho> AnMaster: .co.uk
23:34:49 <tusho> there is .me.uk but about 3 people use it
23:34:50 <AnMaster> wtd
23:34:51 <tusho> (kind of like .name)
23:34:51 <AnMaster> wtf*
23:34:54 <AnMaster> aha
23:35:01 <tusho> AnMaster: and .com is for commercial stuff
23:35:02 <AnMaster> tusho, I seen .info used too
23:35:05 <tusho> does anyone respect that?
23:35:05 <tusho> no
23:35:11 <tusho> and .info is just a spam trap
23:35:15 <pikhq> Glee. OpenNIC.
23:35:15 <GregorR> choosemyhat.com is totally a commercial entity.
23:35:18 <tusho> every website on .info ought to move
23:35:20 <AnMaster> tusho, how so?
23:35:30 <AnMaster> why is it a spam trap?
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:34 <AnMaster> aha
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:45 <AnMaster> pikhq, opendns?
23:35:50 * pikhq nods
23:35:52 <tusho> pikhq: I prefer domains people can reach
23:35:56 <pikhq> Bah.
23:36:00 <AnMaster> well I don't use opendns
23:36:06 <AnMaster> I use the normal dns root
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:37 <AnMaster> pikhq, oh?
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:21 <moozilla> sorry took so long
23:37:25 <AnMaster> moozilla, .rar....
23:37:32 <moozilla> use unrar
23:37:33 <moozilla> :P
23:37:41 * AnMaster strangles moozilla instead
23:37:45 <moozilla> k
23:37:48 <pikhq> AnMaster: And it's getting fairly terrible.
23:37:50 <AnMaster> but yes
23:37:59 <AnMaster> moozilla, I could use unrar I guess
23:38:01 <AnMaster> but it sucks
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:31 <AnMaster> :)
23:38:33 <AnMaster> zip is ok too
23:38:39 <lament> rar compresses better, though
23:38:43 <moozilla> i dont use 7zip or whatever
23:38:50 <moozilla> i like winrar
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:11 <AnMaster> pikhq, they may do
23:39:15 <AnMaster> but I don't trust them
23:39:25 <AnMaster> pikhq, also why don't you like the normal dns root
23:39:28 <moozilla> what's OpenNIC
23:39:31 <lament> GregorR: unrar works just fine for me.
23:39:39 <pikhq> *cough*
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:39:58 <AnMaster> but apart from that?
23:40:26 <AnMaster> pikhq, ?
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:40:51 <AnMaster> tusho, I don't trust either
23:41:05 <pikhq> Buying a domain and just sitting on it, waiting for the highest bidder.
23:41:11 <AnMaster> ah
23:41:27 <moozilla> i should start doing that
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:44:41 <AnMaster> I prefer .org myself
23:45:01 <lament> can't write .orgasm without. org
23:45:02 <moozilla> i like .com
23:45:09 <moozilla> its easiest to remember
23:45:18 <moozilla> with org sites im like "fuck was it .org or .net"
23:45:19 <AnMaster> um
23:45:33 <AnMaster> .net is for network related stuff
23:45:35 <tusho> http://asm.org/
23:45:36 <AnMaster> well was originally
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:05 <AnMaster> oh?
23:46:10 <AnMaster> tusho, haha
23:46:12 <tusho> by the java package naming standards
23:46:16 <GregorR> GREGOR HATE SHOE SHOPPING ARGH
23:46:21 <tusho> GregorR: Kittens
23:46:28 <moozilla> lolol
23:46:31 <moozilla> at org.asm
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:14 <tusho> problem solved
23:47:19 <AnMaster> GregorR, why not leather?
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:06 <AnMaster> GregorR, maybe
23:48:09 <AnMaster> that could work
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:15 <AnMaster> GregorR, hm
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:49:56 <AnMaster> GregorR, yes of course
23:49:57 <AnMaster> I get that
23:50:02 <AnMaster> GregorR, so ask them
23:50:02 <GregorR> AnMaster: My dermatologist's response was, paraphrasing, "you're screwed"
23:50:13 <AnMaster> GregorR, damn
23:50:29 <AnMaster> GregorR, wooden?
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:04 <AnMaster> GregorR, guess so
23:51:39 <AnMaster> GregorR, go on using old pair?
23:51:53 <AnMaster> GregorR, and if you find any: buy a stock
23:51:56 <AnMaster> for the future
23:52:00 <AnMaster> maybe 3 or 4 pairs
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:26 <AnMaster> I'd guess US or Australia
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:03 <AnMaster> GregorR, get them repaired?
23:53:08 <AnMaster> you know, craftmen
23:53:14 <AnMaster> skomakare in Swedish
23:53:18 <AnMaster> don't know English word
23:53:34 <GregorR> The English word is "we don't repair our shoes" :P
23:53:39 <moozilla> shoemaker?
23:53:45 <GregorR> But in reality, they're not very good shoes, I'd love to replace them.
23:53:49 <moozilla> AnMaster: shoemaker?
23:53:54 <AnMaster> ah that's it
23:53:59 <moozilla> :P
2008-07-03
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:50:17 <RodgerTheGreat> hey guys, what are people up to this evening?
02:58:27 <RodgerTheGreat> Ah, sitting around waiting for something interesting to happen. Me too.
02:58:37 <pikhq> Indeed.
02:58:41 <RodgerTheGreat> pikhq: done anything with Def-BF yet?
02:59:09 <pikhq> No.
02:59:21 <RodgerTheGreat> anything about the spec you'd like clarified?
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.
02:59:47 <RodgerTheGreat> hm
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:04 <pikhq> I agree.
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:21 <RodgerTheGreat> can't even code in my own languages. :/
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:52:38 <RodgerTheGreat> that'll be pretty badass
03:52:50 <pikhq> To use printf:
03:53:12 <pikhq> var: string "Hello, world!\n\0"
03:53:15 <pikhq> printf[string]
03:53:29 <RodgerTheGreat> yep
03:53:52 <pikhq> Wait, that's already null terminated, isn't it?
03:54:07 <RodgerTheGreat> pikhq: uh, might be?
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:17 <RodgerTheGreat> do you think there's a need for ascii/asciiz?
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:00 <RodgerTheGreat> pikhq: good point
03:55:25 <RodgerTheGreat> Hm. what do you think would be more useful in general?
03:57:29 <pikhq> Null termination.
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:03 <RodgerTheGreat> agreed
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:10:40 <RodgerTheGreat> yeah, I think it strikes a good balance
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:12:47 <RodgerTheGreat> mmm. :)
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:21 <RodgerTheGreat> ooh, goosebumps
04:13:33 <pikhq> Though I, personally, wouldn't use it.
04:13:35 <RodgerTheGreat> this will be a grand systems programming language
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:49 <RodgerTheGreat> neato
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:20 <pikhq> Cool.
04:17:40 <RodgerTheGreat> I'm thinking stdio, stdmath and stdctrl are the main ones to shoot for
04:17:51 <pikhq> I agree.
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:32 <RodgerTheGreat> mm. probably a BIOS call at some level?
04:18:46 <pikhq> But what if we go into 32-bit mode?
04:19:00 <RodgerTheGreat> then it'll probably get rather esoteric
04:19:05 <RodgerTheGreat> lol
04:19:11 <pikhq> I know. . .
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:00 <pikhq> Yeah.
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:05 <pikhq> s/simple/simply/
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:21:56 <RodgerTheGreat> naturally
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:30:24 <RodgerTheGreat> yup
04:30:36 <RodgerTheGreat> still might trip somebody up if used as an example
04:30:42 <pikhq> True.
04:33:09 -!- cherez has quit (Read error: 110 (Connection timed out)).
04:34:55 * pikhq should sleep.
04:34:57 -!- pikhq has quit ("leaving").
04:35:01 <RodgerTheGreat> well, good night- I've gotta turn in myself
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:22:47 <Slereah_> Holy shit
06:22:56 <Slereah_> Adobe Reader is 190 Mo?
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:05:45 <oklopol> or 1/2
08:16:07 <oklopol> also
08:16:07 <oklopol> add1[val1,tmp]
08:16:07 <oklopol> add1[val2,tmp] // tmp = val1+val2
08:17:34 <oklopol> add1's params are copies, not the original var?
08:17:36 <oklopol> *vars
08:18:27 <oklopol> seems like it would be a bit of a space/efficiency to do that for all calls
08:18:53 <oklopol> define add1[a,b][
08:18:53 <oklopol> a [- b+;];// add a to b
08:18:53 <oklopol> ]
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:41 <AnMaster> a sec
08:22:46 <oklopol> from copy's definition
08:22:46 <oklopol> add2[a,b,c]// make two copies
08:22:46 <oklopol> add1[c,a]// restore a
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:12 <AnMaster> 265K /usr/kde/3.5/bin/kpdf
08:23:13 <AnMaster> :D
08:23:25 <oklopol> but probably none, i'm a failer
08:25:45 <oklopol> what's this mo?
08:25:52 <oklopol> is it related to megabytor
08:25:53 <oklopol> s
08:28:21 <oklopol> fuck man i'm haf.
08:33:28 <AnMaster> oklopol, s/megabytor/moozilla/
08:33:41 <oklopol> it's related to moozilla?
08:33:48 <moozilla> lol
08:33:50 <AnMaster> yes it is
08:33:50 <moozilla> im famous
08:33:58 <oklopol> okay
08:33:59 <AnMaster> moozilla, it is in topic...
08:34:23 <oklopol> oklopol: talkin' bout mo here
08:34:25 <moozilla> i know
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:28 <oklopol> not fuck man i'm haf
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:41:57 <oklopol> you have "h" as 8?
08:43:01 <oklopol> using ascii without the high byte?
08:43:06 <oklopol> *bit
08:45:08 <oklopol> moozilla: respond
08:45:14 <oklopol> how does output work?
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:39 <oklopol> hmm
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:10:44 <oklopol> i need a cool drink ->
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:43:54 <moozilla> oklopol
09:43:58 <moozilla> the example works
09:44:02 <moozilla> in my interpreter
09:45:59 * AnMaster ponders writing a very slow interpreter
09:46:07 <AnMaster> for some simple C-like language
09:46:25 <AnMaster> it should be very slow
09:46:34 <AnMaster> slower than bash
09:46:39 <moozilla> why?
09:46:42 <oklopol> moozilla: yep
09:46:43 <AnMaster> just for fun
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:50 <moozilla> just in order i think
09:47:51 <AnMaster> oklopol, check his interpreter
09:47:57 <moozilla> check the spec
09:48:04 * AnMaster can read C#
09:48:10 <AnMaster> however I got other stuff to do toda
09:48:12 <AnMaster> today*
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:48:57 <moozilla> i wrote the spec i year ago
09:48:58 <moozilla> i forget
09:49:04 <oklopol> AnMaster: what's that?
09:49:11 <AnMaster> oklopol, "ask instead of read"
09:49:18 <oklopol> duh.
09:50:27 <oklopol> also, i have no idea where the interp is
09:50:53 <oklopol> AnMaster: i can't read code
09:50:54 <oklopol> in general
09:51:17 <AnMaster> why not?
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:51:58 <AnMaster> oklopol, check man page?
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:22:40 <oklopol> RodgerTheGreat: wake yet?
13:23:08 <RodgerTheGreat> yeah, but I'm leaving for classes in seconds
13:23:29 <RodgerTheGreat> and I think you may be right about the program
13:24:56 <oklopol> what class?
13:25:03 <oklopol> if i may ask
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:39:31 <jamesstanley> Oh, I see. Never mind.
13:43:29 <oklopol> what did you see?
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:12:01 <oklopol> right they're relative
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:38:08 * pikhq <3 Def-BF
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:02 <AnMaster> ais523, hi there
15:55:07 <ais523> hi AnMaster
15:55:13 <AnMaster> ais523, how goes ffungi?
15:55:14 <ais523> I got COME FROM INTERCAL to Befunge working
15:55:20 <AnMaster> nice
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:55:46 <AnMaster> http://envbot.org/trac/wiki
15:56:20 <AnMaster> ais523, oh befunge has goto using a fingerprint
15:56:24 * AnMaster checks what one it was
15:56:46 <AnMaster> SUBR
15:56:47 <AnMaster> :)
15:58:13 <AnMaster> ais523, will it be possible to come from befunge to befunge?
15:58:15 <AnMaster> I guess not
15:58:17 <ais523> yes
15:58:19 <AnMaster> oh?
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:39 <AnMaster> a wormhole?
15:58:40 <AnMaster> :D
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:58:59 <AnMaster> interesting
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:13 <AnMaster> like:
16:00:14 <ais523> no
16:00:17 <AnMaster> foo:
16:00:20 <AnMaster> code;
16:00:23 <AnMaster> foo:
16:00:24 <AnMaster> other code;
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:33 <AnMaster> ah you mean intercal ones
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:21 <AnMaster> ah
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:07 <ais523> yes, they do, really
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:33 <AnMaster> XD
16:02:49 <ais523> AnMaster: ugh, both would be pretty difficult
16:02:52 <AnMaster> hah
16:02:55 <AnMaster> yeah guess so
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:28 <AnMaster> hah
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:03:56 <AnMaster> :D
16:04:24 <AnMaster> anyway it is a bad idea
16:04:28 <olsner> or inline c in inline intercal in inline c in inline intercal in inline c in intercal etc?
16:04:38 <AnMaster> ugh
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:47 <AnMaster> colour*
16:05:48 <ais523> AnMaster: I think so
16:05:50 <ais523> but I don't know
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:08 <AnMaster> haha
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:37 <ais523> it's just annoying
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 <AnMaster> oh?
16:07:34 <ais523> and CLC-INTERCAL is optionally object-oriented
16:07:36 <ais523> it has classes
16:07:38 <ais523> and lectures
16:07:39 <AnMaster> oh my!
16:07:42 <AnMaster> lectures?
16:07:43 <AnMaster> wtf
16:07:44 <olsner> btw, do we still not have any programming language with time travel? if so, I'm building it
16:07:44 <AnMaster> :P
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:07 <AnMaster> a fingerprint
16:08:15 <AnMaster> cfunge won't implement TRDS
16:08:22 <AnMaster> ccbi does
16:08:52 <AnMaster> ccbi is a pain to compile, so just get binary downloads
16:08:59 <AnMaster> bbl food
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:44 <olsner> oh?
16:15:49 <olsner> where? :D
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:45 * olsner should learn befunge
16:18:47 <Deewiant> ais523: in the readme of RC/funce-98
16:18:49 <Deewiant> er
16:18:52 <Deewiant> funge
16:18:53 -!- tusho has joined.
16:18:55 <ais523> hi tusho
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:00 <AnMaster> I see
16:19:14 <AnMaster> very interesting
16:19:14 <tusho> hi ais523
16:19:16 <tusho> i won
16:19:18 <ais523> no, I did
16:19:20 <AnMaster> tusho, no you didn't
16:19:22 <tusho> :D i love winning
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:14 <AnMaster> 08:18:55 <ais523> hi tusho
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:00 <AnMaster> I see
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:21 <AnMaster> 08:19:14 <tusho> hi ais523
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:02 <AnMaster> iirc
16:21:16 <Deewiant> quite possible
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:21:32 <tusho> ais523: yep
16:21:33 <AnMaster> tusho, no I'm not
16:21:35 <ais523> tusho: no he isn't
16:21:39 <AnMaster> tusho, I'm talking about it
16:21:39 <tusho> oh, okay
16:22:23 <tusho> ais523: one sec, finding the logs
16:22:32 <AnMaster> ais523, why is that slow down?
16:22:38 <ais523> AnMaster: no idea
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:15 <tusho> :-|
16:23:22 <Deewiant> 2008-07-03 18:23:12 ( tusho) uh, what's the date today ais523
16:23:27 <AnMaster> tor jul 3 17:23:27 CEST 2008
16:23:28 <ais523> tusho: thurs July 3 108
16:23:35 <tusho> ais523: LOL
16:23:40 <ais523> that's in Unix years, of course
16:23:45 <AnMaster> ais523, hehe :)
16:23:50 <tusho> 03-07. kay
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:11 <AnMaster> yes
16:24:14 <ais523> even though 1970 is the epoch when counting in seconds
16:24:21 <tusho> ok wtf
16:24:25 <tusho> my client isn't logging right now
16:24:28 <tusho> it's logging to the july 2 file
16:24:37 <tusho> aha
16:24:38 <tusho> got it
16:24:48 <AnMaster> timezones?
16:25:07 <ais523> AnMaster: tusho is, I suspect, in GMT+1 right now
16:25:12 <tusho> as is ais523 , yes
16:25:32 <AnMaster> ah
16:25:44 <AnMaster> ais523, how does UTC and GMT differ?
16:25:51 <tusho> GMT=UTC
16:25:53 <tusho> GMT+1=BST
16:25:54 <ais523> AnMaster: the handling of leap seconds, I think
16:25:56 <tusho> ah yes
16:25:57 <ais523> otherwise they're identical
16:25:57 <AnMaster> aha
16:26:00 <tusho> but for all practical purposes
16:26:02 <ais523> I meant UTC, anyway
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:38 <tusho> 16:20:02
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:16 <AnMaster> tusho, sync your clock
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:24 <tusho> to nt
16:27:24 <tusho> p
16:27:27 <ais523> tusho: so's mine
16:27:27 <tusho> it's ais523's that's wrong
16:27:29 <AnMaster> 17:19:14 <tusho> hi ais523
16:27:37 <tusho> right now
16:27:39 <AnMaster> and before
16:27:39 <AnMaster> 17:18:55 <ais523> hi tusho
16:27:41 <tusho> it is 16:28
16:27:45 <AnMaster> tor jul 3 15:27:45 UTC 2008
16:27:50 <AnMaster> that is correct time
16:27:54 <AnMaster> set using nytp
16:27:56 <AnMaster> ntp*
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:37 <AnMaster> tusho, that could be it
16:28:47 <tusho> I am going to write the time as I see it when I start typing the next line:
16:28:50 <tusho> 16:28:47
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:08 <AnMaster> due to time paradoxes
16:30:09 <AnMaster> :P
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:43 <AnMaster> ais523, pool.ntp.org is good
16:30:44 <AnMaster> :)
16:30:53 <AnMaster> tell me the hostname for JANET?
16:30:58 <ais523> ja.net
16:31:09 <AnMaster> 3 Jul 17:31:05 ntpdate[13404]: can't find host ja.net
16:31:09 <AnMaster> ?
16:31:19 <ais523> ntp2.ja.net
16:31:21 <ais523> is the NTP server
16:31:38 <AnMaster> 3 Jul 17:31:32 ntpdate[13412]: adjust time server 193.62.22.98 offset 0.002959 sec
16:31:40 <AnMaster> hm
16:31:53 <AnMaster> just checked using -q
16:32:01 <AnMaster> ais523, try:
16:32:03 <AnMaster> ntpdate -q pool.ntp.org
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:25 <AnMaster> ...
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:32:50 <AnMaster> is the apple one
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:33 <tusho> but, network-wise
16:33:36 <tusho> ais523 won and always will
16:33:45 <AnMaster> tusho, fix your client maybe
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:54 <AnMaster> tusho, well I often do
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:04 <AnMaster> erc
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:03 <AnMaster> no
16:36:04 <AnMaster> I didn't
16:36:07 <tusho> :)
16:36:09 <AnMaster> tusho, I fixed it the right way
16:36:12 <AnMaster> when I fixed it
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:20 <AnMaster> struct safestr {
16:38:24 <AnMaster> size_t len;
16:38:29 <AnMaster> char data[]
16:38:30 <AnMaster> };
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:38:49 <AnMaster> agreed
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:39:43 <AnMaster> not exactly of course
16:40:40 <AnMaster> or could probably be done with some macros
16:41:53 <AnMaster> (char*)(mysafestrpointer + sizeof(size_t))
16:41:54 <AnMaster> XD
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:47:30 <AnMaster> ok
16:53:49 <AnMaster> ais523, do you understand http://en.wikipedia.org/wiki/Image:INTERCAL_Circuitous_Diagram.svg
16:53:53 <AnMaster> I certainly don't
16:54:00 <tusho> I do
16:54:03 <AnMaster> oh?
16:54:04 <tusho> it's very simple
16:54:09 <AnMaster> tusho, lier
16:54:10 <ais523> I think it's a joke
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:54:57 <AnMaster> ais523, oh what one?
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:44 <AnMaster> what is it trying to describe
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:05 <AnMaster> in the normal way
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:56:59 <AnMaster> right
16:57:03 <ais523> and it's bitwise, in that it operates on the binary representations of its operands
16:57:14 <AnMaster> ok nothing odd so far
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:10 <AnMaster> oh you mean like:
16:58:14 <AnMaster> 00101
16:58:20 <AnMaster> 00011
16:58:22 <AnMaster> results in
16:58:27 <AnMaster> 01000
16:58:29 <AnMaster> or ?
16:58:32 <ais523> no, 00001
16:58:40 <ais523> basically, for 00101 ~ 00011
16:58:44 <AnMaster> oh it is like bitwise and?
16:58:56 <ais523> yes, imagine a right-justified bitwise and
16:59:07 <AnMaster> right justified? ah
16:59:10 <ais523> so 00101 ~ 00110 is 00010
16:59:14 <AnMaster> well mine was left justified
16:59:17 <AnMaster> right
16:59:18 <AnMaster> I see
16:59:22 <AnMaster> oh btw: char * ick_iffi_befungeString <-- one issue. try to compile that with -Wwrite-strings
16:59:29 <AnMaster> it should be const char *
16:59:37 <ais523> AnMaster: ah, ok
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:05 <ais523> but OK
17:00:17 <AnMaster> hah
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 <tusho> it makes no sense
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:00:58 <AnMaster> tusho, that is your opinion
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 <AnMaster> ais523, in POSIX API?
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:40 <AnMaster> hm
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:21 <AnMaster> that got another issue
17:02:23 <AnMaster> static void ick_InterpreterRun(void)
17:02:29 <ais523> oh, yes, of course
17:02:30 <AnMaster> would be the prototype
17:02:37 <ais523> sorry
17:02:42 <ais523> not that it makes any difference in this case
17:02:48 <AnMaster> indeed
17:03:01 <AnMaster> so you write K&R C still?
17:03:01 <AnMaster> ;P
17:03:04 <Deewiant> does it actually matter for anything in practice
17:03:10 <AnMaster> Deewiant, it may
17:03:15 <AnMaster> Deewiant, if a header contains:
17:03:19 <AnMaster> int foo();
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:42 <Deewiant> AnMaster: yes, I realize that
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:37 <AnMaster> in crossfire server code
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:24 <ais523> at least in C89
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:30 <AnMaster> ais523, yes it is
17:05:34 <AnMaster> but I don't like it
17:05:41 <Deewiant> ais523: GCC at least accepts it in C99 mode as well
17:05:45 <AnMaster> ais523, hm
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:05:56 <AnMaster> afaik
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:07:34 <AnMaster> ais523, idea:
17:07:46 <AnMaster> union mydifferentvariants {
17:07:54 <AnMaster> void(*)(void(*)(int foo))
17:07:58 <AnMaster> void(*)(void(*)(double bar))
17:07:59 <AnMaster> }
17:08:03 <AnMaster> make the code valid of course
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:19 <AnMaster> ais523, oh?
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:29 <ais523> in C
17:08:33 <ais523> going on forever
17:08:36 <tusho> ais523: awesome prototype
17:08:37 <AnMaster> oh
17:08:38 <AnMaster> haha
17:08:38 <ais523> so the infinite regress has to stop somewhere
17:08:45 <tusho> ais523: how about
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:08:56 <tusho> oh well
17:09:13 <AnMaster> ais523, that is one rare case
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:42 <ais523> it needs casts though
17:09:43 <tusho> AnMaster: dlsym requires you to break the standard
17:09:51 <AnMaster> tusho, yes I know :/
17:10:02 <tusho> ais523: yes
17:10:08 <ais523> besides, I've personally worked on systems where functions and data were in different memory
17:10:17 <AnMaster> ais523, oh?
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:10:46 <AnMaster> ah
17:13:11 <AnMaster> ais523, why is ick_iffi_resuming an int?
17:13:16 <AnMaster> shouldn't it be a bool?
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:03 <AnMaster> ah
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:38 <tusho> java style
17:15:39 <AnMaster> ais523, I have to see how to solve it
17:15:39 <tusho> eurgh
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:06 <AnMaster> tusho, true, uri is wider
17:16:08 <tusho> a URI is just a universal locator
17:16:10 <tusho> AnMaster: and
17:16:16 <tusho> http://mypage.com/befunge#myext1
17:16:17 <tusho> http://mypage.com/befunge#myext2
17:16:19 <AnMaster> yes
17:16:24 <AnMaster> hm maybe
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:15 <AnMaster> yes
17:17:16 <ais523> tusho: yes, I know
17:17:17 <tusho> doesn't need a DB
17:17:24 <AnMaster> tusho is right
17:17:25 <ais523> but somewhere where people can create pages to describe fingerprints
17:17:27 <ais523> so the URIs exist
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:45 <tusho> ais523: yes, true
17:17:45 <tusho> ok
17:17:46 <ais523> not everyone has their own website
17:17:46 <tusho> how about
17:17:51 <tusho> http://funge.eso-std.org/author/ext
17:17:52 <tusho> like
17:18:04 <tusho> http://funge.eso-std.org/tusho/replace_cfunge_with_sane_interp
17:18:05 <tusho> ;)
17:18:17 <AnMaster> anyway it could be: org.eso-std.funge.whatever
17:18:27 <AnMaster> or maybe not
17:18:28 <AnMaster> ;P
17:18:28 <tusho> AnMaster: no
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:34 <AnMaster> tusho, yes I guess so
17:18:37 <tusho> it omits http://
17:18:40 <AnMaster> true
17:18:42 <tusho> so you can't use ftp:// or gopher://
17:18:43 <tusho> or whatever
17:18:47 <AnMaster> ah true
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:18:57 <tusho> :)
17:19:03 <AnMaster> tusho, yes :)
17:19:09 <tusho> AnMaster: nttp://
17:19:11 <tusho> *nntp
17:19:13 <AnMaster> tusho, does eso-std have gopher?
17:19:18 <tusho> no
17:19:21 <AnMaster> why not?
17:19:25 <tusho> why?
17:19:30 <AnMaster> good question
17:19:31 <tusho> we only have 256mb of ram
17:19:32 <tusho> and apache is a hog
17:19:34 <AnMaster> oh
17:19:36 <AnMaster> true
17:19:39 <AnMaster> lighttpd > apache
17:19:47 <tusho> i've told you why we don't use lighttpd, AnMaster
17:19:51 <AnMaster> ais523, one thing
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:16 <AnMaster> oh wait
17:20:17 <AnMaster> sorry
17:20:20 <ais523> AnMaster: which occurence of extern int?
17:20:20 <AnMaster> misread that
17:20:26 <AnMaster> thought you used nested extern
17:20:45 <AnMaster> I read in wrong place
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:22:25 <AnMaster> true
17:23:05 <AnMaster> afk food
17:27:35 <tusho> ais523: "CFJ 2028 assigned to <s>root</s> ais523"
17:27:36 <tusho> hah
17:27:39 <tusho> er, move to ##nomic
17:28:10 <AnMaster> ais523, well IFFI looks quite nice
17:28:13 <AnMaster> quite readable even
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:47 <AnMaster> :)
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:29:17 <AnMaster> yes you should
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:31:53 <AnMaster> ick_iffi_sucking?
17:32:24 <AnMaster> ais523, what the heck is ick_iffi_sucking?
17:32:37 <ais523> AnMaster: checking for suckpoints
17:32:43 <AnMaster> and what are they?
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:17 <AnMaster> ah
17:33:36 <AnMaster> ais523, also why mixed spaces and tabs in the main file?
17:33:38 <AnMaster> :(
17:33:55 <AnMaster> the mix doesn't seem sane to me, sure I accept you use your own coding style
17:33:56 <AnMaster> no problem
17:34:01 <AnMaster> but why do you mix them?
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:15 <ais523> with tab = 8
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:35 <tusho> hmm
17:35:37 <AnMaster> tusho, I agree there
17:35:41 <tusho> ais523: SELL TICKET
17:35:44 <tusho> 5VP
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:35:55 <AnMaster> or tabs only
17:35:59 <AnMaster> issue is mixing them :(
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:32 <tusho> :-P
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:00 <ais523> AnMaster: 0xB7
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:11 <AnMaster> ah right
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:36 <ais523> and I did it by hand
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:38:34 <AnMaster> :P
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:28 <AnMaster> ah true
17:41:35 <AnMaster> ais523, well it can technically
17:41:39 <ais523> well, not easily
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:27 <AnMaster> 0-bit variable!?
17:42:34 <AnMaster> ais523, hm true :/
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:52 <AnMaster> I see
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:38 <ais523> yep
17:43:47 -!- cherez1 has joined.
17:44:30 -!- Sgeo has joined.
17:48:13 <ais523> hi Sgeo
17:48:25 <Sgeo> hi ais523
17:48:49 -!- cherez1 has left (?).
17:50:46 -!- timotiis has joined.
17:54:07 -!- cherez1 has joined.
17:57:21 <AnMaster> damn
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
17:58:44 <AnMaster> hm
17:58:53 <AnMaster> good ideq
17:58:54 <AnMaster> idea*
18:00:55 -!- cherez1 has changed nick to cherez.
18:12:36 -!- Dewi has quit ("leaving").
18:12:52 -!- Dewi has joined.
18:18:35 <RodgerTheGreat> oklopol: ok, I'm back for a bit
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:19:59 <pikhq> Hmm.
18:20:07 <pikhq> How would that work with the C calling interface?
18:20:28 <RodgerTheGreat> hm
18:20:40 <RodgerTheGreat> that's one of the parts I haven't thought about much
18:20:41 <pikhq> (either the return value or the pointer to the return value is in eax, IIRC)
18:20:57 <RodgerTheGreat> are return values really all that necessary?
18:21:18 <RodgerTheGreat> so far all the examples we've worked with do great with just pass-by-reference for everything
18:21:31 <pikhq> Ah.
18:21:33 <RodgerTheGreat> hm. although I imagine it would impair using some existing C libs
18:21:41 <pikhq> This is easy.
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:22:50 <RodgerTheGreat> that makes sense
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:24:59 <AnMaster> RodgerTheGreat, um?
18:25:01 <AnMaster> what are you doing?
18:25:05 <AnMaster> that isn't portable
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:21 <AnMaster> and PPC one
18:25:29 <tusho> AnMaster: it's his own cpu
18:25:30 <tusho> i think
18:25:33 <AnMaster> ah
18:25:35 <pikhq> AnMaster: we're discussing an x86-specific calling convention.
18:25:36 <AnMaster> he said EAX
18:25:37 <ais523> but the PPC doesn't have an eax I don't think
18:25:49 <AnMaster> pikhq, I see
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:14 <AnMaster> oh you are
18:26:17 <AnMaster> what a pitty
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:26:38 <RodgerTheGreat> Def-BF is more utilitarian than most esolangs
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:19 <RodgerTheGreat> lemme debug that now, actually
18:27:34 <RodgerTheGreat> AnMaster: eventually. x86 is the main target.
18:27:34 <pikhq> Sure, but the actual *code* will probably be only as portable as C code doing the same thing.
18:27:53 <AnMaster> great
18:28:14 <AnMaster> ais523, how goes ffungi?
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:39 <AnMaster> yes indeed
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:28:50 <pikhq> Brainfuck OS.
18:29:01 <AnMaster> pikhq, hah
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:20 <tusho> ' though,
18:29:25 <tusho> *', though
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:52 <tusho> pikhq: So? :P
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:05 <AnMaster> ais523, use what?
18:30:14 <AnMaster> what is ick_l1_ICK_EC_PP_1?
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:30 <RodgerTheGreat> http://www.nonlogic.org/dump/text/1215106118.html
18:30:34 <ais523> and each occurence of it can get replaced by a different goto label
18:30:39 <RodgerTheGreat> ^ that should fix what oklopol pointed out
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:30:56 <RodgerTheGreat> and now there aren't any completely useless functions
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:22 <AnMaster> I see
18:31:55 <AnMaster> RodgerTheGreat, is there any implementation?
18:32:06 <RodgerTheGreat> this is what pikhq is working on
18:32:12 <pikhq> No; I plan to write one this weekend.
18:32:22 <AnMaster> hrrm
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:23 <RodgerTheGreat> I
18:32:34 <RodgerTheGreat> I'm also helping with the standard libs
18:32:49 <AnMaster> RodgerTheGreat, they are coded in the language itself I assume?
18:32:56 <RodgerTheGreat> yes
18:33:01 <pikhq> Sure, but they don't need to be.
18:33:09 <RodgerTheGreat> Def-BF will be self-hosting, in theory
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:42 <AnMaster> and certain other opcodes
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:33:58 <AnMaster> RodgerTheGreat, nice
18:33:58 <RodgerTheGreat> ^
18:34:05 <pikhq> C doesn't need to be able to do that; it can call external asm functions. ;)
18:34:16 <AnMaster> true
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:20 <RodgerTheGreat> some parts would be easy
18:35:27 <pikhq> C -> Def-BF would look something like Gregor's CBF.
18:35:28 <pikhq> ;)
18:35:33 <AnMaster> RodgerTheGreat, then you could compile linux to it?
18:35:38 <AnMaster> and then compile linux to native
18:35:39 <AnMaster> XD
18:35:40 <RodgerTheGreat> theoretically
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:37:31 * RodgerTheGreat shrugs
18:37:40 <RodgerTheGreat> I never said it wasn't possible, just not easy
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:32 <tusho> :-P
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:44:08 <tusho> :-P
18:46:02 <pikhq> And there's a huge difference when the Linux kernel is running a shell. ;)
18:46:04 <AnMaster> Deewiant, there?
18:46:23 <Deewiant> \o
18:46:25 <AnMaster> I got a question: is "real" in D a double or a float?
18:46:33 <Deewiant> it's a long double
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:48 <RodgerTheGreat> Sgeo: oh?
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:29 <AnMaster> :)
18:48:33 <Deewiant> if you do, run GDC on something and see what comes out
18:48:37 <Deewiant> (DMD only generates x86 code)
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:00 <Deewiant> DMD won't.
18:49:07 <AnMaster> Deewiant, can you build ccbi will full debug info?
18:49:21 <AnMaster> no optimizing
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:28 <pikhq> ;)
18:49:33 <Deewiant> what don't you 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:01 <Deewiant> pikhq: yep!
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:12 <Deewiant> heh
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:22 <Deewiant> can't you just trace your own
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:13 <Deewiant> and valgrind, etc.
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:36 <AnMaster> :/
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:31 <AnMaster> Deewiant, asec
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:44 <tusho> :|
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:50 <AnMaster> Deewiant, testing a sec
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:55:38 <AnMaster> hm
18:55:40 <RodgerTheGreat> hm
18:55:52 <AnMaster> Deewiant, that is gdc or dmd?
18:56:04 <Deewiant> hm
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:18 <AnMaster> Deewiant, hah
18:56:27 <Deewiant> AnMaster: try again
18:56:29 <RodgerTheGreat> don't want to sacrifice usability or clarity, though
18:56:37 <pikhq> printf("%i", foo); wouldn't need a wrapper.
18:56:51 <RodgerTheGreat> bbl- classes
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:57:13 * AnMaster tries more
18:57:38 <Deewiant> and now?
18:57:42 <AnMaster> a sec
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:43 <pikhq> s/&/*/
18:58:48 <AnMaster> Deewiant, slightly better
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:29 <AnMaster> :D
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:08 <AnMaster> Deewiant, ahah, mangled names
19:01:15 <AnMaster> that explains a lot
19:01:16 <pikhq> It'll be no worse than coding in assembly.
19:01:19 <Deewiant> of course they're mangled
19:01:23 <AnMaster> _D4ccbi12fingerprints8cats_eye4turt12printDrawingFZv
19:01:24 <AnMaster> :/
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:49 <AnMaster> tusho, there must be some way
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:22 <AnMaster> tusho, yes that sucks
19:02:30 <pikhq> No it doesn't. foo: .asciiz "String here.\n" doesn't count in my mind.
19:02:35 <AnMaster> so well I guess this is sane
19:02:35 <tusho> pikhq: Well okay.
19:02:36 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
19:02:36 <tusho> Even so.
19:02:43 <tusho> When you're writing slightly higher-level stuff...
19:02:44 -!- Slereah_ has joined.
19:02:44 <tusho> It'll be painful
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:00 <Deewiant> nope
19:04:05 <AnMaster> 183 if (turt.movedWithoutDraw && turt.penDown)
19:04:05 <AnMaster> (gdb) print turt
19:04:07 <AnMaster> No symbol "turt" in current context.
19:04:08 <AnMaster> :(
19:04:37 <Deewiant> print _D4ccbi12fingerprints8cats_eye4turt4turt <the mangled type>
19:04:39 <Deewiant> I think
19:04:53 <AnMaster> (gdb) print _D4ccbi12fingerprints8cats_eye4turt4turtS4ccbi12fingerprints8cats_eye4turt6Turtle
19:04:53 <AnMaster> $1 = {<No data fields>}
19:04:54 <AnMaster> hm
19:05:33 <AnMaster> Deewiant, it is the pic variable I want though
19:05:55 <AnMaster> ah wait
19:05:57 <AnMaster> (gdb) print _D4ccbi12fingerprints8cats_eye4turt3picS4ccbi12fingerprints8cats_eye4turt7Drawing
19:05:57 <AnMaster> $2 = {<No data fields>}
19:05:59 <AnMaster> :/
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:32 <tusho> zomgz
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:33 <AnMaster> oh well
19:08:41 <Deewiant> http://www.digitalmars.com/d/1.0/abi.html
19:08:58 <AnMaster> (gdb) print dot
19:08:58 <AnMaster> $6 = (void *) 0xf7f71fd0
19:08:59 <AnMaster> sigh
19:09:05 <tusho> AnMaster: print *dot
19:09:07 <AnMaster> yeah guess so
19:09:10 <tusho> print *(dot+1)
19:09:11 <tusho> print *(dot+2)
19:09:12 <tusho> ...
19:09:16 <AnMaster> tusho, not
19:09:22 <AnMaster> (gdb) print *dot
19:09:22 <AnMaster> Attempt to dereference a generic pointer.
19:09:24 <AnMaster> :P
19:09:30 <AnMaster> casting it to char
19:10:00 <Deewiant> might as well use int instead
19:10:05 <Deewiant> so you see more data at once :-P
19:10:16 <AnMaster> Deewiant, still doesn't make sense
19:10:30 <Deewiant> what
19:10:35 <AnMaster> the data
19:10:44 <Deewiant> how
19:11:07 <tusho> who's in the mood of being really generous and giving me a domain
19:11:08 <tusho> <.<
19:11:25 <AnMaster> Deewiant, it doesn't match what should be there logically, so I guess metadata
19:11:28 <AnMaster> Cannot insert breakpoint 0.
19:11:29 <AnMaster> Error accessing memory address 0x1: Input/output error.
19:11:34 <AnMaster> now that is nice
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:11:51 <AnMaster> nice
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:21 <AnMaster> for linux
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:12:39 <AnMaster> aha
19:13:18 <AnMaster> oh cost money, well gdb patches it is then
19:13:27 <Deewiant> they offer the 15 day trial
19:13:34 <Deewiant> which I suppose you can violate
19:13:40 <AnMaster> {:d4}
19:13:45 <AnMaster> Deewiant, what exactly does that do?
19:13:45 <Deewiant> %4d
19:13:53 <AnMaster> not %.4d?
19:14:01 <tusho> AnMaster: just use the 15 day trial :-P
19:14:02 <Deewiant> not sure
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:28 <Deewiant> uh?
19:15:29 <pikhq> AnMaster: Compiling GDB is hard?!?
19:15:30 <Deewiant> how did that happen
19:15:40 <AnMaster> pikhq, maybe I remember wrong
19:15:42 <pikhq> What's so hard about ./configure&&make&&make install?
19:15:50 <AnMaster> pikhq, 64-bit and 32-bit
19:16:00 <pikhq> Oh. Well, then.
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:35 <Deewiant> beats me
19:16:45 <AnMaster> enum : tc {
19:16:45 <AnMaster> PADDING = 10,
19:16:45 <AnMaster> MIN = -16383_9999 + PADDING,
19:16:45 <AnMaster> MAX = 16383_9999 - PADDING
19:16:45 <AnMaster> }
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:16:54 <AnMaster> shouldn't it be / 10000
19:16:58 <AnMaster> rather than / 1000
19:17:04 <AnMaster> Deewiant, ?
19:17:07 <Deewiant> yep, apparently
19:17:22 <AnMaster> Deewiant, well that explains some part
19:17:38 <Deewiant> or should it?
19:17:46 <Deewiant> yeah, it should
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:20:56 <Deewiant> AnMaster: so do I :-D
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:21:46 <AnMaster> that doesn't make sense
19:21:48 <Deewiant> am looking
19:21:56 <Deewiant> so, say
19:22:02 <Deewiant> or wait, where does min come from
19:22:03 <AnMaster> ?
19:22:12 <AnMaster> Deewiant, min is set in newDraw()
19:22:15 <Deewiant> whenever something is drawn, yes
19:22:16 <AnMaster> or whatever it was called
19:22:20 <Deewiant> so it really is the minimum point
19:22:21 <Deewiant> okay
19:22:21 <AnMaster> Deewiant, but why not max
19:22:25 <AnMaster> WHAT?
19:22:28 <Deewiant> I don't know, like said
19:22:37 <AnMaster> Deewiant, you can have negative coordinates after all
19:22:56 <AnMaster> should min be smallest not largest?
19:24:00 <Deewiant> that's what I was thinking
19:24:04 <Deewiant> so
19:24:06 <Deewiant> the area is always square
19:24:09 <Deewiant> so it's symmetrical
19:24:12 <Deewiant> so we only need to track min
19:24:15 <Deewiant> as max is -min
19:24:15 <AnMaster> um is it?
19:24:16 <Deewiant> or something
19:24:21 <AnMaster> I can draw something non-symetrical
19:24:22 <Deewiant> well we make it so
19:24:26 <Deewiant> so that we center in the middle
19:24:29 <AnMaster> aha
19:24:33 <Deewiant> I guess
19:24:56 <Deewiant> so if min is (-20,-20)
19:25:22 <Deewiant> that comes out to (-20,-20) and (40,40), hmm
19:25:41 <Deewiant> TBH I think that's crap :-D
19:27:00 <Deewiant> needs a partial or complete rewrite
19:27:09 <Deewiant> which I'll try and do on the weekend
19:27:56 <AnMaster> Deewiant, agreed
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:08 <Deewiant> so that's crap
19:29:15 <Deewiant> and I can't see what the * 2 is about
19:30:03 <AnMaster> Deewiant, you wrote it!
19:30:04 <AnMaster> ;P
19:30:15 <Deewiant> so? :-P
19:33:36 <AnMaster> yay I got my margins correct
19:33:41 <AnMaster> Deewiant, now I see the 2*
19:33:44 <AnMaster> you got:
19:33:59 <AnMaster> x,y,width,height
19:34:02 <AnMaster> in viewbox
19:34:10 <Deewiant> oh, okay
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:31 <Deewiant> but yeah, that makes sense
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:34:56 <AnMaster> :D
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:32 <AnMaster> :P
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:35 <AnMaster> Deewiant, haven't tested yet
19:36:41 <AnMaster> there are still some other issues to fix
19:37:26 <Deewiant> what's with all the style=foo
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:48 <tusho> you're BEHIND
19:38:52 <tusho> (what about my behind?)
19:38:58 <Deewiant> oh noes >_<
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:40 <AnMaster> because it worked
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:06 <AnMaster> :P
19:40:19 <Deewiant> sure it did
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:40:45 <Deewiant> cool, how
19:41:05 <tusho> Deewiant: surely you used a proper xml production library
19:41:07 <tusho> AnMaster: you too
19:41:26 <AnMaster> tusho, yes the libc one
19:41:32 <AnMaster> fputs()/fprintf()
19:41:34 <AnMaster> Deewiant, and a sec
19:41:41 <tusho> AnMaster: do NOT produce xml that way
19:41:42 <tusho> just don't
19:41:53 <tusho> just truthfully, honestly, don't
19:41:59 <AnMaster> Deewiant, http://rafb.net/p/uavl3h33.html
19:42:11 <AnMaster> tusho, why not?
19:42:13 <AnMaster> it validates
19:42:20 <tusho> AnMaster: don't
19:42:25 <AnMaster> tusho, why not?
19:42:26 <tusho> use genx in
19:42:26 <Deewiant> tusho: if you're doing something that simple you can
19:42:27 <tusho> c
19:42:31 <AnMaster> tusho, why not?
19:42:34 <tusho> Deewiant: genx is trivial
19:42:39 <tusho> AnMaster: because you ARE getting it wrong
19:42:42 <Deewiant> printf is even more trivial
19:42:42 <tusho> it's not even conditional
19:42:48 <AnMaster> tusho, is my file wrong?
19:42:48 <AnMaster> noi
19:42:50 <AnMaster> no*
19:42:52 <AnMaster> it validates
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:02 <AnMaster> "This Page Is Valid SVG 1.1!"
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:20 <Deewiant> well
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:42 <tusho> fix your code now
19:43:45 <AnMaster> tusho, is it one source file?
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:43:58 <AnMaster> Deewiant, agree
19:43:58 <tusho> yep
19:44:01 <tusho> well, two
19:44:06 <AnMaster> tusho, ok
19:44:08 <tusho> one lib and one auxillary lib that it uses
19:44:18 <AnMaster> tusho, GPL compatible?
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:30 <tusho> looks like mit
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:44:55 <tusho> :)
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 <AnMaster> tusho, why though?
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:45:57 <tusho> well
19:46:00 <AnMaster> Deewiant, I agree with you
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:21 <tusho> :P
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:06 <AnMaster> aha
19:47:07 <AnMaster> right
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:48 <tusho> <!DOCTYPE foo>
19:47:53 <tusho> AnMaster: yes. yes you can.
19:47:56 <AnMaster> I NEED A DOCTYPE LIBRARY!
19:47:58 <AnMaster> ARGH!
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:49:01 <AnMaster> :P
19:51:18 -!- pikhq has left (?).
20:00:38 <AnMaster> I may use genx later
20:00:44 <AnMaster> tusho, not today however
20:00:55 <tusho> alright
20:00:58 <AnMaster> maybe in the weekend
20:00:59 <AnMaster> actually
20:01:05 <AnMaster> the week after next
20:01:14 <AnMaster> I will be away to Norway for parts of next week
20:12:24 -!- RedDak has joined.
20:24:39 <AnMaster> when did ais leave?
20:24:57 <AnMaster> ages ago :(
20:26:08 <tusho> yes
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:01 <AnMaster> :(
20:27:09 <AnMaster> lament, huh?
20:27:10 <oklopol> lament: a list of (len,pitch) tuples?
20:27:11 <tusho> lament: homophonic? sounds suited to #esoteric
20:27:16 <tusho> har har har
20:27:24 <AnMaster> what is homophonic?
20:27:24 <oklopol> hahahahaaaa
20:27:48 <AnMaster> I would store normal tunes as (len,pitch,data for how hard the string was hit)
20:27:51 <AnMaster> as midi does it
20:28:07 <lament> what if there's a pause
20:28:14 <AnMaster> lament, ok maybe:
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:21 <tusho> yes
20:29:24 <AnMaster> maybe
20:29:28 <AnMaster> I would use a library
20:29:33 <AnMaster> like tusho told me to for xml
20:29:34 <AnMaster> :P
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:29:49 <AnMaster> no clue
20:29:53 <AnMaster> lament, oh?
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:16 <AnMaster> lament, hm
20:30:25 <AnMaster> lament, ohhh I know
20:30:27 <AnMaster> use xml!
20:30:28 <AnMaster> :P
20:30:30 <AnMaster> no don't
20:30:34 <AnMaster> use S-Expressions
20:30:35 <AnMaster> really
20:30:36 <lament> very funny
20:30:36 <tusho> xml might actually be sane for this...
20:30:38 <tusho> :\
20:30:44 <AnMaster> lament, S-Expressions
20:30:45 <AnMaster> :P
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:02 <tusho> :p
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:31:48 <AnMaster> lament, or what do you mean?
20:32:18 <AnMaster> just notes? then store it as (type of entry,position in current clef,other data)
20:32:24 <AnMaster> or something like that
20:33:39 -!- Deformalite has joined.
20:33:43 <Deformalite> Wooohoo, ackermann function works.
20:33:45 <Deformalite> :)
20:33:56 <Deformalite> This interpreter is coming along nicely.
20:36:14 <AnMaster> oh my
20:36:18 <AnMaster> Deformalite, running out of memory?
20:36:26 <AnMaster> also what language
20:36:39 <Deformalite> Uhm, I have not released specs yet.
20:36:44 <Deformalite> Sorry. :(
20:36:54 <Deformalite> No memory issues.
20:36:54 <AnMaster> Deformalite, do that first!
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:38:00 <AnMaster> :)
20:38:17 <Deformalite> Not really possible.
20:38:18 <Deformalite> Too weird.
20:40:44 <Deformalite> It would be much easier to compile to assembly.
20:40:51 <Deformalite> Or llvm ir.
20:42:48 -!- pikhq has joined.
20:43:51 <AnMaster> Deformalite, do LLVM then
20:43:58 <AnMaster> Deformalite, I'm not on x86 so I hate x86 asm
20:44:00 <AnMaster> :P
20:44:20 <Deformalite> I am on powerpc most of the time.
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:33 <tusho> pikhq: No.
20:45:34 <tusho> Just "KITTENS"
20:45:37 <tusho> With the quotes and uppercase.
20:45:44 <tusho> "KITTENS"
20:45:59 <Deformalite> x86 isn't all bad.
20:46:13 <Deformalite> At least it isn't Harvard architecture.
20:46:19 * Deformalite huggles self modifying code.
20:46:39 * pikhq huggles self-modifying code, as well
20:46:46 * tusho huggles "KITTENS"
20:47:15 <Deformalite> Self modifying code is terribly interesting, and very esoteric. :)
20:47:29 * pikhq nods
20:47:38 <pikhq> You want interesting, though?
20:47:42 <pikhq> Self-modifying C code.
20:47:48 <pikhq> >:D
20:48:03 <Deformalite> Eh, not very difficult to pull off.
20:48:11 <pikhq> True.
20:48:14 <pikhq> But diabolical.
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:19 <tusho> ZOMG
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:02 <tusho> O RLY
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:53:46 <tusho> MY Z IS Z
20:53:52 <tusho> ZZZZZZZzzzzzzzZ
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:00:26 <AnMaster> NX bit
21:00:28 <AnMaster> :P
21:01:53 <AnMaster> tusho, why do you hate C?
21:01:59 <tusho> i don't
21:02:05 <AnMaster> you like it?
21:02:05 <tusho> i love c
21:02:13 <AnMaster> tusho, "but" what?
21:02:18 <tusho> but nothing
21:02:40 <AnMaster> but you don't consider it a clean language?
21:03:01 <AnMaster> tusho, ?
21:03:10 <tusho> define clean
21:03:34 <AnMaster> "not obfuscated"
21:03:40 <tusho> wrong definition
21:03:54 <AnMaster> tusho, also you can write obfuscated python
21:03:56 <tusho> i know very clean obfuscated languages
21:03:58 <tusho> and vise versa
21:03:58 <Deformalite> C is nice, D is nicer.
21:03:59 <AnMaster> I have seen oklopol's code
21:03:59 <Deformalite> :)
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:15 <tusho> because it's fun
21:04:26 <pikhq> dsss makes it a bit easier.
21:04:28 <Deewiant> it can be, yes
21:04:33 <Deformalite> AnMaster: I have never had any problems.
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 <Deformalite> AnMaster: OS?
21:04:42 <AnMaster> Deformalite, I couldn't get tango to compile
21:04:44 <tusho> he just writes something really awful
21:04:46 <AnMaster> Deewiant, 64-bit Linux
21:04:47 <tusho> but it's fun and works
21:04:49 <AnMaster> x86_64
21:04:49 <Deformalite> Don't use tango then.
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:03 * Deformalite is one of the few anti-tango left.
21:05:06 <pikhq> Tango just doesn't build there.
21:05:08 <AnMaster> pikhq, well that is a bug
21:05:16 <tusho> Deformalite: phobos is a bug
21:05:23 <tusho> a glitch
21:05:25 <tusho> an error
21:05:31 <Deformalite> Phobos is a standard.
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:48 <Deformalite> Phobos is much simpler.
21:05:53 <tusho> No it's not.
21:05:54 <tusho> It's more trivial.
21:05:58 <tusho> And less well-designed.
21:06:07 <Deformalite> Tango is a terribly ugly api IMO.
21:06:09 <Deewiant> AnMaster: can't you just build it as 32-bit code
21:06:10 <Deformalite> Very javaish.
21:06:16 <tusho> Deformalite: Very javaish?
21:06:17 <Deformalite> But that's enough of that.
21:06:20 <tusho> We're using a different Tango here...
21:06:21 <Deewiant> ideally in a 32-bit chroot
21:06:24 <AnMaster> Deewiant, then I need a 32-bit chroot to get that working for gdc
21:06:29 <AnMaster> I don't have any currently
21:06:32 * Deformalite gets back to his interpreter.
21:06:37 <Deewiant> set one up :-P
21:06:38 <AnMaster> I won't spend that time on it
21:06:44 <AnMaster> I just won't
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:04 <Deformalite> Indeed.
21:07:06 <Deewiant> can't be that hard
21:07:07 <oklopol> all these d guys are scary
21:07:16 <AnMaster> Deformalite == Deewiant?
21:07:26 <Deewiant> doubtful
21:07:29 <oklopol> err i doubt that
21:07:32 <AnMaster> ah
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:07:59 * Deformalite doesn't know about that.
21:08:02 <AnMaster> until that is possible out of box I consider D non-mature
21:08:04 <Deformalite> But I know phobos works fine..
21:08:08 <Deewiant> AnMaster: your fault for running a 64-bit OS without support for 32-bit ;-)
21:08:16 <AnMaster> Deewiant, I do support 32-bit
21:08:17 <Deformalite> AnMaster: s/d/tango
21:08:18 <AnMaster> nothing odd
21:08:20 <tusho> Uh. People.
21:08:25 <tusho> Tango works fine on 64-bit afaik
21:08:31 <AnMaster> hm
21:08:44 <Deformalite> Yeah, I have never heard of such problems.
21:08:47 <Deewiant> really?
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 <Deewiant> possibly others :-P
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:09:59 <Deewiant> 'echo' works fine so far
21:09:59 <oklopol> work work work
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:41 <Deewiant> maybe it does
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:08 <Deewiant> so it has no issues. :-)
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:28 <AnMaster> hrrm
21:11:32 <oklopol> Deformative and Deformalite in the same room would probably collapse into singularity
21:11:32 <Deewiant> he's somebody else too
21:11:40 <tusho> 'De' means 'Deewiformative clan'
21:11:42 <Deformalite> Heh.
21:11:42 <tusho> Deewiant: Liar
21:11:45 <tusho> Dewi is not Deewiant
21:11:47 <tusho> err
21:11:50 <tusho> s/not//
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:02 <Deformalite> Erm.
21:12:08 <Deformalite> Actually.
21:12:08 <tusho> is he
21:12:08 <tusho> wow
21:12:09 <Deewiant> AnMaster: ah, good point
21:12:12 <Deformalite> No it's all fine.
21:12:14 <Deewiant> my tab completion missed him
21:12:14 <oklopol> austarlian
21:12:17 <oklopol> australian
21:12:21 <tusho> austaralrarian
21:12:26 <Deewiant> alright
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:32 * AnMaster is now known as tusha
21:12:37 <AnMaster> j/k
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:49 * AnMaster is now known as oklolop
21:12:50 <tusho> I wanna be called tasho so I can have t@sho.org
21:12:50 <AnMaster> XD
21:12:55 <Deewiant> and good night then \o
21:12:58 <tusho> Deewiant: lmao
21:13:01 <AnMaster> Deewiant, not yet
21:13:04 <AnMaster> Deewiant, :/
21:13:36 <tusho> timezones make me go :/
21:13:43 <AnMaster> tusho, stay!
21:13:51 <tusho> err what
21:14:08 <AnMaster> don't leave!
21:14:13 <tusho> I wasn't leaving
21:14:21 <AnMaster> what did you mean then?
21:14:27 <tusho> timezones make me go ':/'
21:14:30 <tusho> you went 'not yet :/'
21:14:35 <tusho> when, err
21:14:40 <tusho> obviously it was night where Deewiant is
21:14:59 <AnMaster> he is one hour later than me
21:15:02 <AnMaster> tor jul 3 22:15:01 CEST 2008
21:15:32 <tusho> 22:15 is totally night, AnMaster
21:15:39 <AnMaster> tusho, blergh
21:15:43 <AnMaster> not until midnight :P
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:02 <tusho> Deformalite: cat
21:20:10 <Deformalite> ?cat
21:20:15 <tusho> ...
21:20:20 <tusho> Deformalite: open a terminal
21:20:22 <tusho> run 'cat'
21:20:34 <Deformalite> That isn't a helloworld.
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:27:15 <AnMaster> nop
21:28:47 <tusho> :(
21:36:57 <AnMaster> tusho, ask google?
21:37:09 <tusho> AnMaster: tried that
21:37:19 <AnMaster> tusho, what did they say=
21:37:22 <AnMaster> I mean email them...
21:37:33 <AnMaster> not "google for it"
21:38:23 <tusho> AnMaster: oh
21:38:29 <tusho> they're a bigcorp and it's copyrighted
21:38:30 <tusho> no chance
21:39:00 <AnMaster> tusho, is it fair use?
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:16 <tusho> they're huge
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:29 <tusho> so not happening
21:39:33 <AnMaster> hm
21:39:49 <AnMaster> tusho, say you are from new york times or something :P
21:40:06 <tusho> xD
21:55:26 <tusho> anyone in a domain-buying mood? <.<
22:07:03 <Deformalite> Bah, how could I forget quicksort.
22:07:07 <Deformalite> ._.
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:35:25 <tusho> will it
23:38:15 <GregorR> Moscoooooow
23:38:30 <GregorR> Enter the Hymen Store, two men are scorched and burned, kite me a sign.
23:38:34 <GregorR> Moscoooooow
23:39:02 <GregorR> Don't worry Bill is dead, there lies the toy opened, Indians are high.
23:40:59 <tusho> What, GregorR
23:41:17 <GregorR> http://www.youtube.com/watch?v=jH8gtrD4_C4
23:41:59 <tusho> hah
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:33 <tusho> GregorR: ok
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:02 <GregorR> (HALP!)
23:48:02 <GregorR> v
23:48:02 <GregorR> ~~~O/~~~~
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:11 <tusho> GregorR: Money
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
23:57:37 <tusho> GregorR: No? :(
23:58:09 <GregorR> LIKE NO
23:58:14 <tusho> GregorR: :(
2008-07-04
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:21:26 <RodgerTheGreat> 'sup, folks?
01:24:26 <tusho> RodgerTheGreat: The sky; as always
01:24:44 <RodgerTheGreat> that depends on your point of view
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:01:49 <RodgerTheGreat> hey pikhq
03:02:02 <RodgerTheGreat> and yes, as you said before, it's gonna 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:24 <RodgerTheGreat> woohoo
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:46:41 <ihope> Hi, Deformalite.
03:50:32 <Sgeo> ihope, how is sugar cane nomic invading?
03:50:37 <Sgeo> Also, ##nomic
03:50:58 <ihope> It's invading by being in this channel rather than ##nomic. :-P
03:51:14 <Sgeo> Oh
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:02 <RodgerTheGreat> there's probably a rule for it...
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:08:07 <Sgeo> oO
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:37 <GregorR> Approximately 0% :P
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:46:47 <bsmntbombdood> you're special
06:47:09 <bsmntbombdood> i'm allergic to nothing
06:47:43 <Sgeo> bsmntbombdood, have a healthy immune system?
06:52:22 -!- Sgeo has changed nick to PaulKarason.
06:52:24 <bsmntbombdood> yes
06:52:33 <bsmntbombdood> at least afaik
06:53:42 -!- PaulKarason has changed nick to Sgeo.
07:01:37 -!- cc_toide has joined.
07:05:48 <bsmntbombdood> it's been a while since i've been here, eh
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:06:27 <oklopol> he wasn't too pleased
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:12:16 <bsmntbombdood> hawt
09:13:22 <bsmntbombdood> i never remember dreams :(
09:14:02 <oklopol> :(
09:15:29 <bsmntbombdood> i probably have hot oklopol scat sex
09:25:34 <oklopol> most likely
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:32:49 <AnMaster> weird
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:16 <Slereah_> Guy dudes.
10:42:26 <Slereah_> I think I found an error in one of Gdel's paper
10:42:32 <Slereah_> Should I email him?
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:03:40 <AnMaster> Slereah_, heh?
12:03:45 <AnMaster> you found an error?
12:03:49 <AnMaster> wtf
12:04:20 <AnMaster> Slereah_, also isn't he dead?
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:05 <Slereah_> He describes a function b
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:05:02 <AnMaster> check for erratas?
13:08:20 <Deewiant> oklopol: I could answer you but you're not here, dammit!
13:09:03 <Slereah_> No erratum
13:09:11 <AnMaster> Deewiant, answer what?
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:00 <Slereah_> It is the 4th of July.
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:11:54 <AnMaster> so stop being so US centric
13:11:57 <Slereah_> I'm no Finn :(
13:12:04 <AnMaster> err
13:12:06 <AnMaster> I meant Deewiant is
13:12:07 <Slereah_> Also, I'm no US man either
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:34:32 <oklopol> okokokokokokokokoko
14:34:45 <oklopol> so what color am i?
14:46:04 -!- pikhq has joined.
14:48:20 <Slereah_> White, you Finn.
14:50:07 <pikhq> ...
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:54:31 <oklopol> *on
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:01:54 <Deewiant> which channel is that
15:02:06 <Deewiant> ah, actually
15:02:10 <Deewiant> the other is on quakenet
15:02:14 <Deewiant> and the other on ircnet
15:02:16 <Deewiant> my bad
15:02:19 -!- ais523 has joined.
15:07:29 <oklopol> on quakenet, you're on no public channel
15:08:20 <Deewiant> then they're private :-)
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:05 <oklopol> AKX
15:12:11 <oklopol> err
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:15:40 <oklopol> s/names/terms/
15:16:13 <Deewiant> well, it's a bedtime story after all, so it can't be too complex. :-)
15:16:55 <oklopol> most of it was real!
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:18 <tusho> hi ais523
15:26:19 <ais523> hi tusho
15:26:21 <ais523> you win
15:26:31 <ais523> only by a few fractions of a second at my end, though
15:26:33 <tusho> yes, by any count
15:26:42 <tusho> by about 20 seconds at mine
15:28:17 <Deewiant> by 2 seconds at mine
15:28:37 <Deewiant> but the message only arrived 25 seconds after you joined
15:28:44 <tusho> yes
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> ais523: oh man
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:50:47 <ais523> which competition?
15:50:51 <tusho> ais523: ICFP 2008
15:50:57 <ais523> when is it?
15:50:59 <tusho> reddit thread
15:51:04 <tusho> amd
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:36 <ais523> ah, next Friday
15:51:43 <ais523> I think it might be interesting to put a team together for that
15:51:48 <ais523> out of #esotericers
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:30 <tusho> <.<
15:52:46 <ais523> yes, you can
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:05 <ais523> actually, maybe not
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:57:23 <tusho> huh
15:57:27 <tusho> is anagolf down?
15:58:00 <tusho> ah no
15:59:51 -!- timotiis has joined.
16:04:28 <pikhq> RodgerTheGreat: Whee.
16:04:39 <RodgerTheGreat> 'sup?
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:19 <RodgerTheGreat> hm
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:27 <tusho> And vise-versa.
16:08:36 <tusho> Modifying data to modify code.
16:08:37 <tusho> Vise-versa.
16:08:38 <pikhq> Tusho got it.
16:08:42 <RodgerTheGreat> pikhq: write a little proof-of-concept or something
16:09:05 <ais523> does anyone here apart from tusho fancy entering the ICFP in a #esoteric team?
16:09:13 <tusho> i don't fancy it
16:09:15 -!- Corun has quit (Read error: 110 (Connection timed out)).
16:09:15 <tusho> i said why :p
16:09:18 <ais523> yes, I know
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:47 <tusho> seen it.
16:12:51 <ais523> ok
16:12:51 <tusho> even so
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:13:43 <RodgerTheGreat> http://www.nonlogic.org/dump/text/1215106118.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:17:58 <oklopol> :D
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:04 <tusho> *die
16:18:23 <oklopol> i often randomize my choices
16:18:24 -!- puzzlet has joined.
16:18:32 <oklopol> makes life so much easier
16:18:35 <ais523> oklopol: I even have a set of polyhedral dice on me right now
16:18:43 <oklopol> heh
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:18:51 <tusho> *die
16:18:53 <tusho> <.<
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:23 <tusho> :p
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:07 <tusho> er
16:20:09 <tusho> PRNG
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:29 <tusho> we need botte
16:20:31 <tusho> it could use hotbits
16:20:46 <tusho> :D
16:20:51 <oklopol> tusho: there's no difference
16:20:58 <tusho> oklopol: yes there is
16:21:03 <oklopol> and what's that?
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:22:08 <tusho> i liek hotbits
16:22:12 <tusho> it's silly
16:23:23 <oklopol> sure thing
16:24:47 <AnMaster> ais523, hi!
16:24:53 <AnMaster> ais523, how goes ffungi?
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:25:48 <AnMaster> ais523, heh
16:25:51 <AnMaster> like what?
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:08 <AnMaster> oops
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:14 <AnMaster> hah
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:27:54 <ais523> AnMaster: not exactly
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:44 <Slereah_> Guys.
16:30:50 <ais523> hi Slereah_
16:30:57 <Slereah_> Should I buy a book just because it has a section "Care of Your Pet Combinator"?
16:31:08 <ais523> no, not just for that
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:34 <oklopol> i agree with ais
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:32:24 <AnMaster> lol
16:32:27 <Slereah_> I think I will not buy it.
16:32:45 <Slereah_> Unless...
16:32:52 <oklopol> pikhq: can you elaborate
16:32:53 <oklopol> i don't get that
16:33:01 <Slereah_> Abebooks has it for $79, but some website for 35
16:33:12 <Slereah_> To the google converter!
16:33:28 <ais523> Slereah_: that much?
16:33:33 <ais523> definitely don't buy it, then
16:33:35 <ais523> what's it about, anyway?
16:33:38 <Slereah_> Well, it's a science book.
16:33:42 <Slereah_> No science book is cheap.
16:33:51 <Slereah_> Lambda calculus and all.
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:34:48 <pikhq> bar ,[>,]
16:35:16 <tusho> Slereah_: Turn into a fundie. You only need one book and it has everything!
16:35:20 <tusho> And it's cheap!
16:35:37 <Slereah_> http://macrochan.org/source/S/B/SBR5MBJZNWY4CSNASFFYCFGV4PZ4HUVX.jpeg
16:35:39 <Slereah_> SCIENCE!
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:16 <Slereah_> 44 euros of hilarious?
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:07 <ais523> what is it called?
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:40:31 <Slereah_> "by J. Roger Hindley"
16:40:38 <Slereah_> J. does not ring of 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:33 <AnMaster> ais523, check ISBN?
16:41:49 <ais523> I'm not sure how to find it at the Amazon end
16:41:58 <AnMaster> hm ok
16:42:04 <Slereah_> ISBN-13: 9780521898850
16:42:24 <ais523> ah, got it
16:42:26 <ais523> it's a different ISBN
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:55 <tusho> ais523: likely
16:42:57 <tusho> or an american version
16:43:01 <Slereah_> Do ISBN change with versions?
16:43:04 <tusho> vs some other country
16:43:08 <Slereah_> It's the ISBN of the same version
16:43:12 <Slereah_> *second
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:30 <ais523> bye for a while
16:43:35 -!- ais523 has quit ("looking for a book in RL").
16:43:35 <AnMaster> ais523, oh?
16:43:38 <AnMaster> ah
16:43:38 <Slereah_> kthxbai
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:50:42 <tusho> heh
16:51:06 -!- ais523 has joined.
16:51:31 <Slereah_> Hulo ais523
16:51:37 <ais523> Slereah_: I found the book
16:51:38 <ais523> don't buy it
16:51:47 <tusho> ais523: why not
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:47 <ais523> and it was
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:53:00 <Slereah_> 'kay
16:54:01 <Slereah_> Were there pix? :o
16:54:10 <ais523> Slereah_: line drawings
16:54:15 <ais523> which were basically just letters
16:54:28 <ais523> with teeth
16:54:34 <tusho> LETTERS
16:54:36 <tusho> WITH TEETH
16:54:36 <tusho> awesome
16:54:38 <Slereah_> Like a S with giant teeth?
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:07 <Slereah_> Hm.
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:29 <tusho> :D
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:00 <RodgerTheGreat> pikhq: pastebin.ca is mind-bendingly slow for me
16:56:01 <ais523> it is, as I said, in a library
16:56:04 <tusho> ais523: oh
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:20 <tusho> AWESOME
16:56:53 <Slereah_> Or you could reproduce the entire page using MS Paint
16:57:01 <Slereah_> Pixel by pixel
16:57:11 <tusho> Yes
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:21 <Slereah_> Heh.
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:32 <Slereah_> You Linux people.
16:57:45 <AnMaster> ais523, kthat ksounds knice!
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:18 <AnMaster> XD
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:27 <Slereah_> KKKDE D:
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:40 <AnMaster> ais523, hah
16:58:51 <ais523> it's easy to thinko like that when thinking about KDE
16:59:05 <AnMaster> kit kis?
16:59:22 <Slereah_> Kit? The Knight Rider car?
16:59:32 <AnMaster> Slereah_, the what?
16:59:36 <RodgerTheGreat> pikhq: alright, finally loaded
16:59:44 <RodgerTheGreat> and that looks quite interesting
17:00:00 <RodgerTheGreat> I can definitely see how that would be useful- loading kernel modules, for example?
17:00:11 <AnMaster> RodgerTheGreat, link?
17:00:26 <Slereah_> ...Knight Rider?
17:00:32 <Slereah_> You know, with David Hasslehoff?
17:00:32 <AnMaster> Slereah_, yes what is that?
17:00:37 <AnMaster> Slereah_, who is that?
17:00:41 <Slereah_> ...
17:00:42 <RodgerTheGreat> http://www.nonlogic.org/dump/text/1215187150.html
17:00:56 <tusho> Slereah_: he's a filthy swede
17:00:57 <Slereah_> In what hut do you live? D:
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:13 <tusho> two years?
17:01:14 <tusho> lmao
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:39 <RodgerTheGreat> he doesn't close the scope for foo, though
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 <RodgerTheGreat> odd
17:02:10 <Slereah_> Well, it was about a talking car, and a special agent, solving crimes.
17:02:11 <AnMaster> RodgerTheGreat, don't get it
17:02:15 <Slereah_> From what I can remember.
17:02:24 <AnMaster> Slereah_, odd
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:36 <AnMaster> tusho, ?
17:02:36 <tusho> jeez
17:02:41 <AnMaster> tusho, you aren't 12
17:02:42 <tusho> terrible excuse
17:02:42 <tusho> :P
17:02:44 <AnMaster> I don't believe that
17:02:51 <tusho> AnMaster: oh, did you miss that?
17:02:52 <tusho> hah
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:20 <AnMaster> tusho, guess: 20-30 years old
17:03:25 <AnMaster> you that is
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:03:35 <RodgerTheGreat> hm. I'm not entirely sure this will work as given
17:03:42 <AnMaster> tusho, you are older?
17:03:45 <AnMaster> 40 is upper limit
17:04:02 <tusho> AnMaster: 12
17:04:09 <AnMaster> tusho, I don't believe that I said
17:04:18 <AnMaster> ehird is older than 12
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:46 <Slereah_> I'm the reverse of 12.
17:04:52 <AnMaster> tusho, well I wasn't lying about being 18...
17:05:01 <AnMaster> but 21 I guess is reasonable
17:05:05 <AnMaster> or 22
17:05:10 <ais523> well, WIkipedia says I'm 21
17:05:17 <ais523> and everyone knows it's right, right?
17:05:33 <Slereah_> Is it?
17:05:43 <ais523> on my age, yes
17:05:48 <ais523> as it is with a lot of other things
17:05:50 <Slereah_> What of the rest?
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:28 * tusho adds 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:48 <tusho> :-P
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:34 <ais523> yes
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:17 <Slereah_> Hm.
17:08:23 <tusho> ais523: LOS
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:08:44 <Slereah_> Does anyone know the link?
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_> Sweden Nattens riddare
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 <AnMaster> tusho, why do you think so?
17:11:38 <RodgerTheGreat> pikhq: http://www.nonlogic.org/dump/text/1215187799.html
17:11:48 <tusho> AnMaster: RIDDAREN I NATTEN
17:11:53 <AnMaster> tusho, yes and?
17:12:15 <AnMaster> tusho, try to pronouce it in Swedish for gods sake
17:12:41 <Slereah_> Swedish doesn't exist.
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:13:35 <Slereah_> Quite beautiful, really.
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:22:18 <pikhq> Hmm.
17:22:43 <RodgerTheGreat> it helps me figure out other people's code
17:23:04 <RodgerTheGreat> IDEA!
17:23:22 <RodgerTheGreat> I have a way to allow pointer manipulation to a fair degree without making the language more complicated!
17:23:36 <pikhq> Yes?
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:24:25 <RodgerTheGreat> thus creating a third "literal type" accepted by ?
17:24:35 <RodgerTheGreat> the problem is it's ambiguous syntactically
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:09 <pikhq> :p
17:26:14 <RodgerTheGreat> tusho: you are completely missing the point, congrats
17:26:30 <tusho> RodgerTheGreat: that's nice of you
17:26:31 <tusho> mind explaining?
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:50 <pikhq> Like C. ;)
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:28:41 <pikhq> ;)
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:20 <RodgerTheGreat> doesn't actually need ? and is unambiguous
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:31:39 <RodgerTheGreat> mm
17:31:45 <RodgerTheGreat> I'm still thinking here...
17:37:46 <RodgerTheGreat> jesus christ I'm an idiot
17:37:54 <RodgerTheGreat> there are already indirection capabilities
17:39:03 <oklopol> it's always fun to realize your language is cleverer than you
17:39:11 <RodgerTheGreat> yeah, give me a moment
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:35 <RodgerTheGreat> I hope I'm not just incoherently babbling
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:16 <AnMaster> so path to repo?
17:59:27 <RodgerTheGreat> I'm not aware of one yet
17:59:32 <tusho> AnMaster: RodgerTheGreat doesn't believe in version control systems, dunno about pikhq
17:59:40 <RodgerTheGreat> but you ought to be able to get one in a few days
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:07 <AnMaster> C or asm?
18:00:17 <RodgerTheGreat> our main target is x86 asm
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:05 <AnMaster> ais523, hahah
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:39 <RodgerTheGreat> hm
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:03:39 <AnMaster> iirc
18:04:12 <AnMaster> RodgerTheGreat, cdecl vs. stdcall
18:04:20 <AnMaster> stdcall is the one windows use
18:04:28 <RodgerTheGreat> well, you'd have to ask pikhq about that
18:04:41 <AnMaster> he isn't here
18:04:47 <AnMaster> so relay it to him
18:04:49 <AnMaster> afk
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:06:01 <ais523> which is dated today
18:07:11 <tusho> ais523: ”the most widely-used programming languages"
18:07:13 <tusho> someone's on drugs
18:07:16 <ais523> tusho: no
18:07:18 <ais523> read more carefully
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:08:58 <tusho> :p
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:40 <ais523> yes, OK
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:40 <AnMaster> fun
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:11:53 <tusho> and voila
18:12:01 <tusho> a Ruby app running CLC-INTERCAL running the C-INTERCAL site
18:13:45 <tusho> :D
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:44 <tusho> ais523: yes
18:14:56 <ais523> actually, not a shell-script
18:14:58 <ais523> I wrote it in sed
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:32 <AnMaster> from the link you pasted
18:15:45 <ais523> AnMaster: it's how to do a greater-than in INTERCAL
18:15:58 <AnMaster> ais523, describe it?
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:20 <AnMaster> yes sounds sane, and?
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:16:58 <AnMaster> ah
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:33:49 <RodgerTheGreat> wb, pikhq
18:34:10 <ais523> back
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:17 <Slereah_> Man.
18:52:27 <Slereah_> The Inspector Gadget theme is way better in French
18:52:37 <Slereah_> It actually has lyrics.
18:54:04 <tusho> Slereah_: dunanunanun INSPECTOR GADGET
19:01:58 <AnMaster> Slereah_, what is that?
19:02:04 <AnMaster> or rather
19:02:05 <AnMaster> who is that
19:03:55 <Slereah_> ...
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:19 <GregorR> GO GO GADGET SURPRISE
19:04:36 <Slereah_> What do they show you for cartoons in Sweden?
19:04:53 <GregorR> Little blue communists!
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:14 <tusho> who needs lyrics
19:07:21 <Slereah_> Me.
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:44 <tusho> i was like
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:10 <tusho> i almost died
19:08:29 -!- oklopol has joined.
19:09:31 <Slereah_> AnMaster.
19:09:34 <Slereah_> Answer us.
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:10 <tusho> ok
19:10:12 <tusho> maybe he's like 104
19:10:17 <Slereah_> Well that would explain it.
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:00 <AnMaster> tusho, nor mobile phone
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:11:48 <Slereah_> Also Knight Rider.
19:11:50 <AnMaster> busy
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:18 <AnMaster> quite interesting to read
19:12:20 <AnMaster> public ons
19:12:22 <AnMaster> ones*
19:12:24 <Slereah_> What will you do if a guy asks you about Inspector Gadget at gunpoint, AnMaster?
19:12:32 <Slereah_> A guy LIKE ME
19:12:39 <tusho> Yeah anyone got a gun to lend me?
19:12:41 <AnMaster> Slereah_, Use material arts
19:12:47 * AnMaster knows Aikido
19:12:48 <tusho> MATERIAL ARTS
19:12:51 <tusho> material arts
19:12:52 <tusho> ahahahaha
19:13:00 <Slereah_> AnMaster is a materialist
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:12 <AnMaster> tusho, agree
19:13:13 <Slereah_> Marxial art.
19:13:15 <AnMaster> haha
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:09 <Slereah_> He just strangled the dudes.
19:14:52 <tusho> Slereah_: I should try that with ais523
19:15:09 <Slereah_> Well, you could also use a gun
19:15:13 <Slereah_> It's even better
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:16:36 <tusho> Yes true
19:21:26 <cctoide> hey it's #friendsofcctoide
19:22:28 -!- Hiato has joined.
19:23:21 -!- Hiato has quit (Client Quit).
19:24:27 <tusho> cctoide: what
19:35:01 <tusho> cctoide: what
19:36:59 <AnMaster> i = v[i++];
19:37:00 <AnMaster> i = ++i + 1;
19:37:00 <AnMaster> p->mem_func(*p++);
19:37:01 <AnMaster> hahah
19:37:18 <AnMaster> 3 undefined
19:37:34 <tusho> p->mem_func(*p++, i = v[++i] + 1)
19:37:44 <AnMaster> tusho, evil!
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:06 <AnMaster> hah
19:38:13 * AnMaster slays it
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:41 <AnMaster> actually I meant vorpal blade
19:39:45 * AnMaster confused poems
19:39:51 <AnMaster> "The vorpal blade went snicker-snack!"
19:39:54 <AnMaster> is the correct quote
19:39:56 * tusho eats AnMaster
19:39:59 <AnMaster> somehow I messed that up
19:40:00 <tusho> OM NOM NOM NOM NOOM
19:40:06 * AnMaster cause indigestion
19:40:30 * tusho EATS INDIGESTION FOR BREAKFAST
19:40:35 <Slereah_> tusho : WTF ARE YOU DOING
19:40:43 <tusho> Slereah_: WTF ARE YOU DOING MAN
19:40:48 <Slereah_> Noooo
19:40:54 <Slereah_> You don't know the thing!
19:40:59 <Slereah_> It goes like this :
19:41:05 <Slereah_> 1 : OM NOM NOM
19:41:12 <Slereah_> 2 : WTF R U DOING
19:41:25 <Slereah_> 3 : EATIN SUM [item being eaten]
19:41:33 <tusho> Slereah_: i liek kittens
19:41:48 <Slereah_> *turtles
19:41:57 <tusho> no
19:41:58 <tusho> kittens
19:41:59 <tusho> fuck you
19:42:21 -!- Hiato has joined.
19:42:47 * Slereah_ fucks self
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:44:29 <tusho> all the time
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:53:25 <AnMaster> Slereah_, hah
19:54:23 <Slereah_> You would know if you watched Inspector Gadgety
19:54:34 <AnMaster> Slereah_, what about turtles then?
19:54:36 <AnMaster> do they too?
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:39 <AnMaster> and easier to set up than D
19:55:41 <AnMaster> :D
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:16 <Deewiant> true
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:34 <tusho> it has to be EASY
20:01:40 <tusho> how will we develop kernels otherwise?
20:01:46 <tusho> are you a kernel-hating COMMUNIST?
20:01:56 <Deewiant> oh noes! I'm caught!
20:02:00 * Deewiant runs
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:28 <AnMaster> once it works properly
20:02:37 <AnMaster> however phobos already does that iirc?
20:02:51 <tusho> once it WORKS PROPERLY
20:02:52 <AnMaster> tusho, IDEA: BEFUNGE KERNEL!
20:02:55 <tusho> it is UNFIXABLY BROKEN
20:03:01 <AnMaster> BEFUNGE KERNEL YAY!
20:03:01 <tusho> because it doesn't work PERFECTLY on x86-64
20:03:04 <AnMaster> that would rock
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:33 <AnMaster> Deewiant, eww
20:03:40 <AnMaster> Deewiant, kernel may change
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:03:49 <Deewiant> you know what I meant
20:03:50 <AnMaster> I see
20:03:51 <Deewiant> POSIX
20:03:52 <AnMaster> nice...
20:03:56 <Deewiant> and WinAPI
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:04:54 <Deewiant> er
20:04:55 <Deewiant> fopen(3)
20:05:01 <AnMaster> ah right
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:00 <pikhq> Don't remember.
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:20 <Deewiant> and I don't have an openid
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:24:07 <tusho> :\
20:27:23 -!- puzzlet has joined.
20:27:28 <AnMaster> tusho, what is openid?
20:27:28 <Slereah_> ...
20:27:35 <Slereah_> Does it even go up to gamma?
20:27:37 <tusho> AnMaster: yeah, I don't think I need your opinion
20:27:38 <tusho> :p
20:27:40 -!- puzzlet_ has quit (Remote closed the connection).
20:27:44 <AnMaster> Slereah_, huh?
20:27:47 <AnMaster> Slereah_, what does?
20:27:59 <Slereah_> I mean, I thought it was alpha->beta->finished
20:28:41 <Slereah_> Hey, tusho.
20:28:50 <AnMaster> Slereah_, gamma would be release candidate?
20:28:50 <Slereah_> Let's talk of old cartoons to confuse AnMaster.
20:28:58 <Slereah_> I dunno.
20:28:59 <AnMaster> afk
20:42:30 <tusho> Anywooon?
20:47:07 <Slereah_> WOOOOOOOOOOO
20:47:12 <tusho> Anyone?
20:47:15 <Slereah_> Inspector Gadget!
20:47:17 <Slereah_> WOO HOO
20:47:52 <Slereah_> Anyone what?
20:48:07 <tusho> ANSAH MY KWESTON
20:48:09 <tusho> Actually wait.
20:48:14 <tusho> oklopol: Do you have an OpenID?
20:53:16 <tusho> oklopol: Oi.
20:58:30 <tusho> oklopol: Ping
21:01:33 <cctoide> hommelette
21:02:51 <tusho> cctoide: do you have an openid
21:03:27 <cctoide> probably, since I registered for an LJ account once
21:03:33 <cctoide> dinnertime
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->...
21:42:31 <AnMaster> pikhq, so do I
21:42:32 <AnMaster> indeed
21:42:42 <AnMaster> or "pre-release"
21:42:48 <AnMaster> depends on what project
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:08:22 <tusho> oklopol: ping
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:34:11 <oklopol> o
23:35:37 <tusho> oklopol: do you have an openid
23:36:06 <oklopol> o no.
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:37:54 <oklopol> whyaaaaaaa
23:37:56 <oklopol> lessee
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:11 <oklopol> :D
23:40:16 <oklopol> i registered
23:40:22 <tusho> oklopol: oh good. so you would take the time
23:40:24 <tusho> excellent
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:40:44 <tusho> yaey
23:41:05 <tusho> Which basically amounts to putting oklopol.myopenid.com in the OpenID field on my blog, really. :P
23:41:54 <oklopol> heh.
23:42:06 <oklopol> i made it send the confirmation to oklopol@gmain.com :)
23:42:14 <tusho> GMAIN
23:42:16 <tusho> :D
23:42:18 <oklopol> :DDD
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:05 <oklopol> hmm indeed
23:44:12 <tusho> but that's lame
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:19 <oklopol> probably
23:44:29 <oklopol> they will hopefully drop me after a while
23:44:43 <tusho> doubt it
2008-07-05
00:28:49 <tusho> 0
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:00:56 <oklopol> tusho: i have openid.
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:07 <oklopol> hmm
09:04:17 <oklopol> linked earlier, perhaps i need to logsearch
09:10:11 -!- sebbu has quit (Read error: 110 (Connection timed out)).
09:17:19 <oklopol> found nothing, darn
09:18:38 -!- TheBlunderbuss has joined.
09:19:22 <TheBlunderbuss> Slashdot led me here :o
09:19:53 <AnMaster> TheBlunderbuss, heh?
09:19:58 <AnMaster> we are slashdoted?
09:20:03 <AnMaster> wtf
09:20:03 <TheBlunderbuss> Not directly
09:20:08 <AnMaster> oh?
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:03 <AnMaster> hah
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:35 <TheBlunderbuss> Dear God
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:22:25 <AnMaster> google for cfunge
09:23:04 <TheBlunderbuss> http://esolangs.org/wiki/Main_Page
09:23:33 <AnMaster> yes that too
09:23:40 <AnMaster> I know of it
09:24:06 <TheBlunderbuss> Just my reference
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:24:53 <TheBlunderbuss> Haha like it's from fiction
09:25:12 <AnMaster> TheBlunderbuss, eh?
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:25:54 <Slereah_> JIT?
09:26:19 <AnMaster> Slereah_, JIT compile it
09:26:21 <AnMaster> just in time
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:22 <deveah> mornin dudes
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:27:45 <AnMaster> deveah, late morning :)
09:27:58 <AnMaster> ooh yes
09:28:03 <deveah> well it's 11:27 for me
09:28:07 <AnMaster> TheBlunderbuss, check taxi on the esolang wiki
09:28:13 <AnMaster> that is a stupid theme one
09:28:15 <AnMaster> XD
09:28:37 <TheBlunderbuss> XD
09:28:40 <TheBlunderbuss> This is great.
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:15 * AnMaster looks
09:29:26 <Slereah_> Check out Rube, too, it's quite awesome
09:29:54 <AnMaster> oh yes the "warehouse paradigm"
09:29:55 <AnMaster> XD
09:31:14 <TheBlunderbuss> Taxi looks fun!
09:31:32 <Slereah_> Also check out NTCM and Lazy Birds, which are awesome because they're mine </totally non-biased>
09:31:43 <AnMaster> ha
09:31:44 <deveah> you know, altrough programmers are usually hardcore, i find you guys pretty "calm"
09:31:56 <AnMaster> eh?
09:32:00 <Slereah_> What do you mean by hardcore
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:57 <TheBlunderbuss> Lazybird. Cool :)
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:44 <AnMaster> Slereah_, oh?
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:34 <AnMaster> oh?
09:34:37 <TheBlunderbuss> http://esolangs.org/wiki/Malbrain two commands!
09:34:40 <Slereah_> Well, I wanted it to be complete.
09:34:49 <AnMaster> yes of course
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:42 <AnMaster> Slereah_, oh?
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:11 <AnMaster> it is a speaker not a mic!
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:35 <AnMaster> and then?
09:36:44 <TheBlunderbuss> Slereah_: doesn't work on Linux !? :O
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:06 <TheBlunderbuss> pooort!
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:24 <AnMaster> is MIDI turing complete?
09:38:27 <AnMaster> I guess not
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:38:50 <AnMaster> Slereah_, this is all NTCM?
09:38:56 <Slereah_> Yes.
09:39:05 <AnMaster> Slereah_, port it to POSIX :)
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:39:34 <AnMaster> a standard
09:39:45 <AnMaster> all (modern) *nix are POSIX
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:40:47 <AnMaster> UPP is Swedish for up btw
09:41:01 <AnMaster> upp ner (up down)
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:41:42 <Slereah_> Except for the musical notes.
09:41:46 <Slereah_> No.
09:41:53 <Slereah_> It's Up and Print space
09:41:56 <AnMaster> ah
09:42:56 <Slereah_> Here it is without spaces : http://membres.lycos.fr/bewulf/Russell/Hello2.png
09:43:43 <TheBlunderbuss> http://esolangs.org/wiki/Omgrofl
09:43:55 <AnMaster> Slereah_, why is there an odd line on it?
09:44:04 <AnMaster> of white dots
09:44:15 <Slereah_> That's the print screen of Linux.
09:44:26 <AnMaster> TheBlunderbuss, http://esolangs.org/wiki/Perl too
09:44:32 <AnMaster> Slereah_, eh?
09:44:34 <Slereah_> The mouse cursor leaves a trail for some reason
09:44:39 <Slereah_> No idea why
09:44:43 <AnMaster> Slereah_, oh, never seen that on Linux
09:45:11 <AnMaster> Slereah_, what terminal are you using?
09:45:19 <Slereah_> Kubuntu
09:45:21 <AnMaster> I don't see it in either xterm or konsole
09:45:22 <TheBlunderbuss> Perl is esoteric?
09:45:25 <AnMaster> Slereah_, what terminal
09:45:29 <AnMaster> TheBlunderbuss, that is the joke... duh :P
09:45:44 <TheBlunderbuss> Hey it's late. It went over my head.
09:45:59 <TheBlunderbuss> Slereah_: is compiz running?
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:46:57 <AnMaster> Slereah_, or konsole?
09:46:59 <AnMaster> or what?
09:47:11 <Slereah_> Konsole, I think
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:47:42 <Slereah_> The Linux, that is.
09:48:22 <TheBlunderbuss> ah
09:48:32 <TheBlunderbuss> Was it a recent Kubuntu? Like hardy?
09:48:54 <Slereah_> I think.
09:49:01 <Slereah_> Does it matter?
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:51:57 <TheBlunderbuss> Can cause other display issues.
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:57:29 <TheBlunderbuss> :-\
09:57:42 <TheBlunderbuss> MBR?
09:57:52 <Slereah_> wot?
09:57:59 <Slereah_> I don't know computers, dude.
09:58:02 <Slereah_> Remember this.
09:58:15 <TheBlunderbuss> That seems kind of strange!
09:58:19 <Slereah_> Indeed.
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:01:45 <TheBlunderbuss> Here's a good themed http://esolangs.org/wiki/DOG
10:01:57 <TheBlunderbuss> These are great. Yeah my friend will be impressed.
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:03:56 <TheBlunderbuss> just look at all those greek symbols!
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:05:26 <TheBlunderbuss> Like a bracket or parenthesis?
10:06:05 <Slereah_> Yeah.
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:06:30 <Slereah_> I forgot.
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:08:57 <Slereah_> Everything was in word form.
10:09:15 <AnMaster> Slereah_, you don't need (), you could use RPN
10:10:09 <jamesstanley> Brainfuck is turing-complete, isn't it?
10:10:15 <AnMaster> yes
10:10:17 <AnMaster> why?
10:10:18 <jamesstanley> Thanks
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:48 <jamesstanley> Oh?
10:10:50 <jamesstanley> Why not?
10:10:51 <AnMaster> as computers doesn't have infinite memory
10:10:55 <jamesstanley> Oh.
10:10:59 <AnMaster> you need infinite memory to be turing complete
10:11:00 <Slereah_> AnMaster : No I can't.
10:11:05 <Slereah_> Greek math isn't RPN
10:11:06 <AnMaster> which the language itself allows
10:11:10 <jamesstanley> OK
10:11:11 <jamesstanley> Thanks
10:11:31 <Slereah_> Also infinite times
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:54 <jamesstanley> Yeah.
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:27 <jamesstanley> Thanks
10:12:36 <Slereah_> I once tried to make a language that had infinite memory without infinite storage.
10:12:42 <Slereah_> Using time travel
10:12:48 <Slereah_> But this was met with failure.
10:13:54 <TheBlunderbuss> Heh I really like this DOG language. Cute!
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:15:47 <Slereah_> IRP
10:15:53 <Slereah_> And it is on #irp
10:16:01 <RobHu> Thank you!
10:16:10 <TheBlunderbuss> What's this now?
10:16:12 <Slereah_> It used to be here, but then got annoying.
10:16:22 <Slereah_> http://esolangs.org/wiki/IRP
10:16:55 <TheBlunderbuss> haha that's awesome
10:17:15 <Slereah_> IRP also offers great games
10:17:20 <Slereah_> Usually involving cakes.
10:17:41 <RobHu> :)
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:09 <Slereah_> "Dude, be an IRP interpreter"
10:18:29 <Slereah_> There's Brainfuck interpreters in a bajillio languages
10:18:34 <TheBlunderbuss> There are, like 3 people in there :-\
10:18:42 <TheBlunderbuss> No, exactly!
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:07 <Slereah_> Or tag systems
10:19:23 <TheBlunderbuss> I see that
10:19:51 <Slereah_> Then you've got nuts like Oerjan who implements Unlambda on INTERCAL D:
10:21:23 <TheBlunderbuss> http://esolangs.org/wiki/Brainloller thaaat's cool
10:22:00 <TheBlunderbuss> Kinda like the SecondLife sculpted prims.
10:24:15 <TheBlunderbuss> oh you programmers make me laugh.
10:24:41 -!- RobHu has quit.
10:29:40 * TheBlunderbuss discovers Quines. Holy cow.
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:22 <TheBlunderbuss> Error message... like "command not recognized" ?
10:32:39 <Slereah_> Well, for instance.
10:32:57 <Slereah_> You write "Command not recognized" as your program, and the interpreter outputs that.
10:33:09 <TheBlunderbuss> exactly what I was thinking
10:33:42 <Slereah_> They have a special name, but I forgot
10:33:44 <TheBlunderbuss> hehe yaaay DOG quine.
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:07 <AnMaster> Deewiant, I do
10:34:08 <AnMaster> a sec
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:35:22 <Slereah_> There it is.
10:35:24 <AnMaster> have been so busy
10:35:26 <Deewiant> and thanks for that
10:37:28 <AnMaster> Deewiant, currently configuring 2.6.25 kernel
10:38:14 <AnMaster> and now building it
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:45 <Deewiant> just draw a rectangle
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:06 <Deewiant> why not
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:22 <AnMaster> :D
10:44:25 <Slereah_> They're not commands
10:44:36 <AnMaster> Slereah_, indeed
10:44:42 <AnMaster> Slereah_, you could encode it as graycode too
10:44:50 <Slereah_> Gaycode yourself
10:44:56 <AnMaster> Slereah_, what?
10:45:03 <AnMaster> Slereah_, google for graycode
10:45:05 <AnMaster> it is quite cool
10:45:16 <TheBlunderbuss> I don't follow :-\
10:45:27 <AnMaster> Deewiant, I guess the same size as the viewbox
10:45:35 <Deewiant> of course
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:46 <Slereah_> It increments a cell.
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:04 <TheBlunderbuss> Yeah but the computer has to know what to do with it.
10:46:19 <Slereah_> Well, the computer is just a way to implement it.
10:46:23 <Slereah_> Think more abstractly.
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:46:59 <AnMaster> Deewiant, doing it too
10:47:05 <TheBlunderbuss> In order to give the computer instruction, it needs binary, right?
10:47:20 <Slereah_> Depends.
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:00 <Slereah_> Division, multiplication.
10:49:11 <Slereah_> But computing models weren't meant to actually compute
10:49:21 <TheBlunderbuss> Getting off topic here.
10:49:28 <Slereah_> They were just theoretical bases to think on what it means to compute
10:49:35 <Slereah_> There's no set topic here.
10:49:40 <TheBlunderbuss> I mean currently.
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:18 <TheBlunderbuss> which consists of?
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:00 <TheBlunderbuss> That's what I told him.
10:53:04 <Slereah_> Because there's the dreaded END OF FILE
10:53:11 <TheBlunderbuss> heh
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:54:48 <Slereah_> It has underlying lambdas.
10:55:59 <TheBlunderbuss> Well nooow it's time for bed
10:56:07 <Slereah_> Bai*
10:57:07 <AnMaster> Deewiant, ok now cfunge got it too
10:57:08 <AnMaster> :P
10:59:19 -!- TheBlunderbuss has left (?).
11:31:21 <AnMaster> Deewiant, the turt quine almost works
11:31:25 <AnMaster> there are still some issues
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:44 <AnMaster> Deewiant, heh
11:32:54 <AnMaster> Deewiant, does the TURT quine work for you?
11:33:01 <Deewiant> well
11:33:04 <Deewiant> given that my code doesn't compile
11:33:06 <AnMaster> http://rafb.net/p/hjXLXn25.html
11:33:08 <AnMaster> :)
11:33:08 <Deewiant> I have no way of knowing
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:00 <AnMaster> err
11:34:02 <AnMaster> that looks wrong
11:34:35 <AnMaster> http://rafb.net/p/zRq0yD49.html WARNING 256 KB
11:35:02 <AnMaster> Deewiant, that is cfunge output
11:35:05 <AnMaster> which is slightly off
11:35:36 <AnMaster> Deewiant, however I got no idea if that is on fingerprint side or not
11:35:52 <AnMaster> I mean is the quine correct
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:07 <AnMaster> Deewiant, hm
12:59:15 <AnMaster> Deewiant, yes agree, fixed version a sec
12:59:29 <AnMaster> Deewiant, http://rafb.net/p/9bpxzO20.html
12:59:32 <AnMaster> that is better
12:59:38 <AnMaster> I did that myself some hours ago
13:00:44 <AnMaster> um wait
13:00:52 <AnMaster> is it RBG or RGB?
13:01:05 <AnMaster> ah
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:03:01 <AnMaster> better?
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:25:52 <Slereah_> what does static void mean?
13:25:57 <Slereah_> As opposed to void
13:26:28 <AnMaster> Slereah_, static means local to file
13:40:55 <oklopol> what language?
13:43:20 <Slereah_> I assume C or something.
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:35:02 <Deewiant> whee, fixed TURT
14:37:43 <Slereah_> Deewiant lieks turtles.
14:38:09 <Deewiant> the quine does indeed seem to result in a bunch of lines
14:39:58 <Slereah_> *series of tubes
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:41:21 <AnMaster> yes that is odd
14:41:47 <Deewiant> "more or less"? :-P
14:42:19 <AnMaster> Deewiant, there may be other bugs of course
14:42:34 <Deewiant> always there may be
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:43:09 <AnMaster> it seems to miss the dot then
14:43:30 <Deewiant> do you have an example ready
14:44:22 <AnMaster> Deewiant, not ready no
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:45:18 <AnMaster> not sure
14:53:48 -!- pikhq has joined.
14:58:39 <pikhq> Sweet. INTERCAL on /.
15:00:23 <Slereah_> It brought us some newbies!
15:01:51 <pikhq> Huh.
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:02:54 <AnMaster> I have been too busy now
15:03:06 <AnMaster> Deewiant, so tell me about it to save me some work :D
15:03:07 <Deewiant> to be honest I'm not sure
15:03:10 <Deewiant> what I did was
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:21 <Deewiant> so I removed it
15:03:23 <Deewiant> and it fixed that
15:03:25 <Deewiant> but broke the quine
15:03:33 <Deewiant> so evidently it wasn't redundant
15:03:36 <AnMaster> Deewiant, got a test program?
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> "TRUT"4( 11x
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:25 <Deewiant> well
15:19:26 <Deewiant> not that
15:19:35 <Deewiant> if (penDown && movedWithoutDraw)
15:19:35 <Deewiant> pic.addPath(p, false, 0);
15:19:37 <Deewiant> that
15:19:43 <AnMaster> hm?
15:20:06 <Deewiant> that's the needed fix to make everything work
15:22:04 <AnMaster> Deewiant, where in the code?
15:22:16 <Deewiant> what I said
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:22:37 <AnMaster> ?
15:22:42 <Deewiant> yes
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:31 <AnMaster> also
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:23:33 <AnMaster> 0 can't be right
15:23:38 <AnMaster> you drop color
15:23:51 <Deewiant> it's a pen-up move
15:23:53 <Deewiant> so color is irrelevant
15:26:03 <AnMaster> Deewiant, hm
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:41 <Deewiant> ?
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:07 <AnMaster> against the black background
15:28:09 <Deewiant> oh, right
15:28:13 <Deewiant> true
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:20 <AnMaster> hm
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:29:59 <Deewiant> no worries, I'm in no hurry
15:30:09 <pikhq> AnMaster, you should totally meet Oerjan while you're there.
15:30:14 <pikhq> :p
15:30:16 <AnMaster> pikhq, Oslo?
15:30:38 <pikhq> Don't remember where he is in Norway.
15:30:52 <AnMaster> Deewiant, if (penDown && movedWithoutDraw) <-- that breaks
15:31:03 <Deewiant> why
15:31:06 <AnMaster> Deewiant, try my test case I made before
15:31:09 <Deewiant> I did
15:31:11 <Deewiant> and it works fine
15:31:42 <AnMaster> it doesn't for me hrrm
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:32:29 <Deewiant> ?
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:27 <AnMaster> Deewiant, I mean your D code
15:34:32 <AnMaster> err
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:05 <Deewiant> :-P
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:24 <Deewiant> add
15:35:25 <Deewiant> if (penDown && movedWithoutDraw)
15:35:25 <Deewiant> pic.addPath(p, false, 0);
15:35:29 <Deewiant> before everything else, that is
15:35:37 <Deewiant> then, leave everything else as is
15:35:42 <Deewiant> but change the last if
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:35:50 <Deewiant> not if (penDown || foo)
15:36:22 <Deewiant> AnMaster: parse failed; invalid sentence
15:37:50 <AnMaster> ah that works
15:38:17 <Deewiant> of course it does, I did it ;-)
15:39:34 <AnMaster> hah
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:40:45 <Deewiant> sure you could, why not
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:15 <Deewiant> so it doesn't matter
15:42:26 <Deewiant> just try to be reasonably exhaustive
15:42:34 <AnMaster> ok
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 <Deewiant> and whatever else there was
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:43:50 <Deewiant> well, not really
15:43:54 <AnMaster> no?
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:22 <Deewiant> hmm
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:33 <AnMaster> up/down I mean
15:44:35 <Deewiant> which aren't specced
15:44:39 <AnMaster> hah
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:46 <AnMaster> mine starts up
15:44:47 <Deewiant> stuff like that
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:15 <Deewiant> except as UNDEFs
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:45:48 <Deewiant> heh
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:18 <Deewiant> it can ignore them
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:46 <Deewiant> pretty obvious IMHO :-P
15:46:54 <Deewiant> but I'm not going to link an SVG viewer into CCBI
15:47:05 <Deewiant> or roll my own, even :-P
15:47:18 <AnMaster> haha
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:17 <AnMaster> yeah that is allowed iirc
15:50:29 <Deewiant> yes, it says "if possible" or something like that
15:50:37 <AnMaster> indeed
15:50:38 <AnMaster> however
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:30 <Deewiant> that handles clear
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:01 <Deewiant> hmm, what do you mean?
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:52:14 <Deewiant> that works :-D
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:36 <AnMaster> and it looks quite ok
15:55:46 <AnMaster> though I would never use that font myself anywhere
15:56:08 <Deewiant> yes, the dots take much space
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:07 <AnMaster> 27K tmp.gz
15:57:08 <AnMaster> yep
15:57:15 <AnMaster> but you need to ungzip it
15:57:15 <Deewiant> put that in a bitmap and watch it grow :-)
15:57:28 <Deewiant> oh noes, teh CPU-waste!!
15:57:34 <AnMaster> Deewiant, not an issue
15:57:35 <AnMaster> however
15:57:44 <AnMaster> can browsers view gzipped ones
15:57:46 <AnMaster> just like that?
15:58:03 <AnMaster> Deewiant, ?
15:58:05 <Deewiant> HTTP supports compression
15:58:09 <AnMaster> ah true
15:58:09 <Deewiant> and that uses gzip
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:18 <AnMaster> wtf
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:06:51 <AnMaster> inkscape does
16:07:35 <Deewiant> nope, doesn't
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:00 <Deewiant> I don't see a thing
16:08:01 <Deewiant> it's all white
16:08:18 <AnMaster> Deewiant, same, and firefox only displays dots from my test code
16:08:23 <AnMaster> not the lines
16:08:31 <AnMaster> while inkscape displays lines too
16:08:35 <AnMaster> and so does konq
16:08:39 <Deewiant> you're doing it wrong :-P
16:08:43 <Deewiant> or something
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:10:54 <AnMaster> scale?
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:28 <AnMaster> the output of ccbi for tquine
16:11:33 <AnMaster> compared with my output
16:11:41 <AnMaster> Deewiant, I don't have your last version with fixed TURT after all
16:12:29 <AnMaster> Deewiant, ?
16:12:34 <Deewiant> stroke-linejoin is present in yours, not in mine
16:12:37 <Deewiant> I don't have a doctype
16:12:42 <Deewiant> I don't have id, width, height
16:12:47 <Deewiant> I don't have standalone="no"
16:13:00 <Deewiant> beyond that, beats me
16:13:17 <Deewiant> ah, one thing
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:13:52 <AnMaster> xmlns ?
16:14:05 <Deewiant> same
16:14:20 <AnMaster> so you have it?
16:14:24 <AnMaster> k
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:00 <Deewiant> yes, they do
16:18:05 <Deewiant> viewBox="-0.0002 -0.0002 0.0833 0.0244"
16:18:06 <Deewiant> versus
16:18:13 <AnMaster> ?
16:18:17 <Deewiant> viewBox="-.0011 -.0011 .0851 .0262"
16:18:33 <AnMaster> Deewiant, that is interesting.
16:18:56 <AnMaster> and I can't explain it
16:19:11 <AnMaster> Deewiant, however the image generated is correct in inkscape and konqueror
16:19:15 <AnMaster> so I blame firefox
16:19:24 <AnMaster> also it validates
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:19:53 <AnMaster> I just use double
16:20:02 <AnMaster> Deewiant, ok look at the first 10 numbers or so?
16:20:05 <AnMaster> and then the last few
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:20:25 <AnMaster> Deewiant, last one?
16:20:39 <Deewiant> yep
16:20:49 <AnMaster> how similar?
16:21:20 <Deewiant> same
16:21:23 <Deewiant> as far as I can tell
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:22:56 <AnMaster> I do
16:23:00 <AnMaster> always the same padding
16:23:02 <Deewiant> because that's a difference of 10 right there
16:23:04 <AnMaster> even if the image is large
16:23:11 <Deewiant> hmm
16:23:17 <AnMaster> while you only use it if it is small iirc
16:23:22 -!- Hiato has joined.
16:23:22 <Deewiant> no, I always use it
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:45 <AnMaster> or is it
16:23:46 <Deewiant> yep
16:23:46 <AnMaster> anyway that padding translates to 0.00010
16:23:50 <Deewiant> nope
16:23:53 <AnMaster> right
16:23:58 <Deewiant> 10 is 0.0010
16:24:04 <Deewiant> at least in my program :-P
16:24:08 <AnMaster> same here
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:43 <Deewiant> like said
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:48 <Deewiant> hence similar, not same
16:25:55 <Deewiant> hmm, that was a bad sentence
16:25:58 <AnMaster> Deewiant, well upload your pic then
16:26:05 <AnMaster> so I can diff it
16:26:11 <AnMaster> with the power of *nix tools!
16:26:11 <AnMaster> ;P
16:26:27 <Deewiant> diff won't help you much
16:26:32 <AnMaster> no?
16:26:32 <Deewiant> due to whitespace differences and such
16:26:33 <Deewiant> :-P
16:26:37 <AnMaster> Deewiant, we have that?
16:26:48 -!- tusho has joined.
16:27:15 <tusho> hi ais523
16:27:15 <Deewiant> yes
16:27:17 <AnMaster> Deewiant, and yes kompare can be set to ignore whitespace differences
16:27:20 <AnMaster> same for diff
16:27:40 <Deewiant> whatever, I'll upload it in a minute
16:27:43 <AnMaster> thanks
16:27:52 -!- Corun has quit ("This computer has gone to sleep").
16:28:01 <AnMaster> tusho, ais isn't here
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:17 <Deewiant> truncate
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:31:34 <AnMaster> it is in hex
16:31:39 <Deewiant> yes, for maximum accuracy
16:31:42 <AnMaster> for a float?
16:31:44 <AnMaster> hrrm
16:32:09 <AnMaster> tusho, hah agree
16:32:16 <Deewiant> iki.fi/deewiant/CCBI_TURT.svg
16:32:17 <Deewiant> and I'm gone ->
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:34:52 <tusho> :)
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:39:10 <tusho> true
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:22 <AnMaster> in your output
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 <Deewiant> it is
16:42:37 <AnMaster> Deewiant, oh so why is it formatted like that then?
16:42:42 <AnMaster> %d wouldn't do it
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:09 <AnMaster> Deewiant, ok...
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:38 <Deewiant> certainly possible
16:44:47 <Deewiant> what version do you have
16:44:54 <AnMaster> Deewiant, it works in konqueror, safari, opera, inkscape
16:45:01 <AnMaster> Deewiant, firefox 2.0.14
16:45:11 <Deewiant> ah, that would explain
16:45:12 <AnMaster> or something thing that, could be .15 I guess
16:45:15 <Deewiant> 2.0's SVG support is poor
16:45:18 <Deewiant> I have 3.0
16:45:29 <AnMaster> Deewiant, and still don't see it?
16:45:41 <Deewiant> well, your simple test case worked fine
16:45:45 <Deewiant> but the quine doesn't
16:45:46 <AnMaster> Deewiant, well ccbi tquine crashes firefox
16:45:56 <Deewiant> yes, that's because of the scientific notation
16:46:02 <Deewiant> without it it works fine
16:46:11 <AnMaster> that shouldn't crash however
16:46:12 <Deewiant> but I chose to use it anyway
16:46:21 <Deewiant> true, but it does
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:48:56 <AnMaster> is first line
16:49:14 <Deewiant> you really don't need to inform me about these things, I do know you know :-)
16:49:16 <Deewiant> I added it
16:49:21 <AnMaster> aha
16:49:29 <AnMaster> to make the validator warning shut up?
16:49:38 <Deewiant> no
16:49:40 <Deewiant> where's the validator
16:49:46 <AnMaster> http://validator.w3.org/
16:49:49 <AnMaster> it can do svg too
16:49:59 <Deewiant> I just checked the SVG spec and it seemed that doctype is used
16:50:54 <Deewiant> hmm, wrong doctype actually
16:51:04 <AnMaster> oh?
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:52:43 <Deewiant> there we go, valid tiny
16:52:43 <AnMaster> nothing wrong in that
16:53:17 <Deewiant> and sure it does
16:53:20 <Deewiant> doesn't it?
16:53:27 <AnMaster> I tried:
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:57 <Deewiant> validator gives you that?
16:53:58 <Deewiant> weird
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>
16:54:43 <Deewiant> ah
17:00:51 <Deewiant> hmm
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:49 <Deewiant> but it's not Tiny
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:02:52 <Deewiant> yes
17:03:03 <AnMaster> style as in xhtml?
17:03:06 <AnMaster> or something special?
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:07 <AnMaster> hah
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:07:59 <AnMaster> </style>
17:08:02 <AnMaster> that should work right?
17:08:11 <Deewiant> no
17:08:15 <AnMaster> Deewiant, no?
17:08:17 <Deewiant> it needs to be in <defs>
17:08:20 <Deewiant> and it needs to be CDATA
17:08:21 <AnMaster> oh
17:08:27 <tusho> AnMaster: genx
17:08:28 <tusho> :p
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:14 <tusho> e.g. cdata
17:09:18 <Deewiant> I'm using Tango's XML writer
17:09:19 <Slereah_> One of the old style negation symbol looks in between ~ and the infinity symbol
17:09:21 <Deewiant> surprisingly handy
17:09:24 <Slereah_> Heh.
17:09:53 <tusho> Deewiant: yeah, genx is basically that for c
17:09:57 <AnMaster> Deewiant, just <defs><style>?
17:10:04 <Deewiant> yep
17:10:05 <AnMaster> and then cdata stuff and such
17:10:08 <AnMaster> Deewiant, no media?
17:10:15 <oklopol> o
17:10:18 <Deewiant> I don't know
17:11:19 <tusho> oklopol: k
17:14:24 <AnMaster> Deewiant, your N doesn't reset min/max does it?
17:14:26 <AnMaster> it should
17:14:41 <Deewiant> hmm, should it
17:14:50 <AnMaster> Deewiant, yes for a new drawing
17:14:50 <Deewiant> I suppose it should
17:14:53 <AnMaster> could be lots smaller
17:15:19 <Deewiant> good call, thanks
17:28:32 <Slereah_> What the fuck Gdel.
17:28:37 <Slereah_> A -> F(x)
17:28:40 <Slereah_> What does this mean!
17:28:49 <Slereah_> How can you imply a number!
17:29:20 <Slereah_> Owait, second kind.
17:29:38 <Slereah_> But for some reason, used in the "smallest x such that F(x) = 0"
17:29:40 <Slereah_> Aaaaargh
17:30:28 <Slereah_> Or is it... Something else?
17:30:37 <Slereah_> Maybe smallest x such that it is true!
17:30:42 <Slereah_> Let us check
17:31:11 -!- Corun has joined.
17:31:43 <Slereah_> It indeed seems to be that
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:41:29 <AnMaster> so I'd say firefox is wrong
17:41:32 <AnMaster> when it can't render it
17:45:04 <tusho> lol@safari on windowds
17:45:06 <tusho> *windows
17:45:48 -!- Hiato has joined.
17:46:06 <AnMaster> tusho, agree
17:46:07 <AnMaster> but
17:46:13 <AnMaster> point is that firefox is wrong
17:46:14 <AnMaster> I et
17:46:15 <AnMaster> bet*
17:46:16 <tusho> yeah
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:10 <AnMaster> so...
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:47:59 <AnMaster> anyway afk food
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:08 <tusho> it draws itself
17:48:17 <olsner> nice
17:48:34 * tusho installs opera for the sake of completenes
17:48:35 <tusho> s
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:23 <tusho> also
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:39 <AnMaster> Deewiant, from ccbi:
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:01:54 <AnMaster> but anyway
18:01:57 <AnMaster> that seems wrong
18:02:15 <AnMaster> shouldn't -32767.9999 - 32767.9999 = 2* 32767.9999
18:02:16 <AnMaster> ?
18:02:27 <Deewiant> and what is 2 * 32767.9999
18:02:27 <AnMaster> Deewiant, np?
18:02:29 <AnMaster> no*
18:02:51 <AnMaster> 65535.9998
18:02:59 <Deewiant> and what range does SVGT limit all numbers to
18:03:01 <AnMaster> according to bc
18:03:11 <AnMaster> well -32767.9999 - 32767.9999
18:03:13 <AnMaster> so...
18:03:17 <Deewiant> and is 65535.9998 in that range
18:03:23 <AnMaster> um
18:03:35 <AnMaster> indeed not
18:03:43 <Deewiant> :-P
18:03:43 <AnMaster> Deewiant, still that seems quite odd
18:03:51 <AnMaster> Deewiant, what about normal svg
18:03:55 <AnMaster> where are the limits then?
18:03:57 <Deewiant> beats me, 32-bit probably
18:04:02 <Deewiant> haven't yet got that far
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:41 <AnMaster> Deewiant, ah good idea
18:20:43 <Deewiant> draw a line over a dot, too
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:06 <AnMaster> it will just exist under
18:21:09 <Deewiant> change the colour
18:21:18 <Deewiant> but yeah, true, of course
18:21:21 <AnMaster> Deewiant, well in my case color overwrites, it doesn't mix
18:21:28 <Deewiant> still, add it
18:21:32 <AnMaster> good idea
18:21:38 <Deewiant> and make sure they are different colours
18:21:42 <AnMaster> yep
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:40 <AnMaster> and vice versa
18:22:46 <AnMaster> both are interesting cases
18:22:58 <AnMaster> Deewiant, and ccbi had some problems with the last line segment before iirc
18:23:02 <AnMaster> at least cfunge did
18:23:05 <AnMaster> if it changed color
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:34 <AnMaster> ah
18:23:47 <AnMaster> Deewiant, I'd like to see your code, have you uploaded it yet?
18:23:52 <Deewiant> no
18:23:56 <AnMaster> why not?
18:24:01 <Deewiant> because it's not done
18:24:10 <AnMaster> cfunge uses a public repo, bazaar style rather than cathedral ;P
18:24:12 * AnMaster runs
18:24:19 <Deewiant> I don't have a server
18:24:20 <Deewiant> sorry
18:24:31 <Deewiant> and besides, I haven't checked anything into the repo
18:24:35 <AnMaster> heh
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:25:21 <AnMaster> tusho, yes it was a joke
18:25:24 <AnMaster> didn't you see the ;P
18:25:26 <AnMaster> :P
18:25:54 <tusho> ;P
18:26:01 <tusho> I do my sarcasm without markers.
18:26:17 <AnMaster> blergh that viloates RFC sqrt(-1)
18:26:18 <AnMaster> :P
18:28:08 <AnMaster> Deewiant, do you still draw all circles last?
18:28:14 <Deewiant> yes
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:28:51 <AnMaster> would need a total rewrite
18:29:16 <tusho> AnMaster: apparently ~ is a popular sarcasm marker
18:29:23 <tusho> Marking sarcasm makes it even more funny.~
18:29:24 <AnMaster> tusho, oh? why?
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:30:52 <AnMaster> so I did counter sarcasm
18:31:01 <AnMaster> pretending to not have noticed it
18:31:02 <AnMaster> :P
18:31:13 <tusho> AnMaster: nice try
18:31:14 <tusho> :)
18:31:18 <oklopol> you guys are fucking retards.~~~~~~~~~~~~~~~~~~~~~~~~
18:31:26 <AnMaster> um
18:31:29 <tusho> oklopol: that just looks like...
18:31:33 <tusho> er.
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:32:34 <tusho> Okay. I will~
18:32:41 <oklopol> heh~
18:33:28 <Deewiant> whee, the quine is down to 217911 bytes
18:33:41 <oklopol> whee!!~
18:34:18 <AnMaster> Deewiant, you are working on the quine?
18:34:19 <AnMaster> wtf
18:34:38 <Deewiant> s/quine/SVG created by running CCBI on the quine/
18:35:04 <AnMaster> Deewiant, ah
18:35:11 <AnMaster> Deewiant, what did you change?
18:35:24 <Deewiant> various
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:01 <AnMaster> Deewiant, hm nice and?
18:36:02 <Deewiant> no, that's in the spec proper
18:36:09 <Deewiant> well, you asked
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:38 <AnMaster> ah
18:36:39 <AnMaster> that
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:37:07 <Deewiant> so hmm
18:37:09 <Deewiant> quite a bit
18:38:00 <AnMaster> hm
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:30 <AnMaster> pikhq, why?
18:50:32 <pikhq> I'm not used to diners having yerba mate.
18:50:41 <AnMaster> "yerba"?
18:50:43 <AnMaster> wtf is that
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:11 <AnMaster> for profile
18:53:13 <ihope_> What a wonderful invention.~
18:53:22 <Deewiant> AnMaster: as have I
18:53:27 <AnMaster> pikhq, and not known in Sweden at all
18:53:32 <AnMaster> Deewiant, oh?
18:53:34 * pikhq nods
18:53:41 <pikhq> Insanely fucking good.
18:53:50 <pikhq> Mmm. . .
18:53:57 <AnMaster> pikhq, caffeine? a drug in other words
18:54:00 * AnMaster ducks
18:55:35 <tusho> ihope_: wut
18:57:29 <pikhq> Your point being?
19:00:34 -!- Corun has joined.
19:05:23 <AnMaster> pikhq, whos? mine?
19:08:11 <pikhq> Yeah.
19:08:25 <Deewiant> man, I knew SVG was a bad idea
19:08:35 <Deewiant> inkscape is using 870 megabytes of memory :-/
19:08:49 <Deewiant> and now it started swapping
19:08:52 <Deewiant> so much for that
19:09:22 <Deewiant> grumble grumble
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:01 <AnMaster> much less ram
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:06 <AnMaster> Deewiant, why?
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:17 <AnMaster> .D
19:14:24 <AnMaster> Deewiant, after all svg rocks
19:14:26 <Deewiant> could do that too, I suppose
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:57 <tusho> :(
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:16 <Deewiant> as did my opera.
19:15:21 <Deewiant> inkscape started swapping.
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:17:53 <AnMaster> and then hit the ulimit
19:18:02 <AnMaster> which is 500 mb
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:11 <AnMaster> secondly you do a class p
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 <AnMaster> c1{fill:#000}
19:19:30 <Deewiant> do you have classes for circles
19:19:32 <AnMaster> that isn't valid
19:19:34 <AnMaster> either you want:
19:19:37 <AnMaster> .p{fill:none;stroke-width:1e-4px;stroke-linecap:round;stroke-linejoin:round}
19:19:38 <AnMaster> or
19:19:41 <AnMaster> path{fill:none;stroke-width:1e-4px;stroke-linecap:round;stroke-linejoin:round}
19:19:54 <Deewiant> haa, good point
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:43 <AnMaster> well I don't have that
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:22:26 <Deewiant> wonder why, hmm
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:36 <AnMaster> from my code:
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:00 <Deewiant> okay, interesting
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:27:57 <Deewiant> and CPU
19:28:14 <AnMaster> Deewiant, no clue
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:39 <AnMaster> and other too
19:28:52 <AnMaster> Deewiant, certainly konqueror doesn't like scientific notation either
19:29:04 <Deewiant> weird
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:30:46 <Deewiant> size goes up by 8 Kio
19:30:47 <Deewiant> ah well
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:13 <AnMaster> so it ignores that
19:31:22 <Deewiant> I do not care
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:47 <Deewiant> so I 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:54 <AnMaster> :P
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 <AnMaster> hahaha
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:05 <AnMaster> XD
19:35:13 <Deewiant> floats?
19:35:14 <AnMaster> I changed to long double, on amd64 that use sse
19:35:15 <Deewiant> 80 bit?
19:35:18 <AnMaster> err
19:35:21 <AnMaster> I meant byte
19:35:21 <Deewiant> byte
19:35:22 <Deewiant> right
19:35:22 <AnMaster> not bits
19:35:23 <AnMaster> sorry
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:43 <AnMaster> yep
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:44:41 <Slereah_> :[ ]
19:46:31 * ihope_ gives Slereah_ a tall sandwich
19:46:37 <ihope_> :[||||||||||]
19:47:18 <AnMaster> ihope_, wrong size
19:47:21 <AnMaster> he still got:
19:47:25 <AnMaster> :[|||||||||| ]
19:47:26 <AnMaster> now
19:47:37 <Slereah_> But can you give me advices on how to recover data from a hard dive, which does notwork?
19:47:45 <AnMaster> Slereah_, use backups
19:47:49 <AnMaster> that is what I would do
19:47:51 <ihope_> Oh.
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:29 <AnMaster> as in, read errors
19:48:30 <tusho> <AnMaster> Slereah_, I assume you got daily, or at least weekly backup?
19:48:33 <tusho> HOLIER THAN THOU
19:48:35 <AnMaster> or just corrupted file system
19:48:37 <Slereah_> I don't have a fucking clue.
19:48:42 <AnMaster> tusho, I do backups to tape
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:48:59 <Slereah_> Already tried.
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:14 <AnMaster> tusho, yes, and that is bad
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:28 <tusho> Moneys.
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 <AnMaster> two tapes for full backup
19:50:16 <tusho> AnMaster: Backing up to a tape is totally trivial rite guyz
19:50:20 <AnMaster> then the rest for incremental
19:50:20 <Slereah_> "Can't be accessed".
19:50:23 <Slereah_> But, you know
19:50:24 <Slereah_> In French
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:50:53 <AnMaster> export LC_ALL=C
19:51:00 <AnMaster> smartctl -H /dev/hdx
19:51:07 <AnMaster> where hdx is the harddrive with issues
19:51:11 <AnMaster> tell me what that outputs
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:25 <AnMaster> if yes a sec
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:07 <Slereah_> But then again, who can?
19:52:09 -!- olsner has quit.
19:52:17 <AnMaster> Slereah_, why not boot to a livecd like that
19:52:22 <AnMaster> it got recovery tools
19:52:38 <Slereah_> I'll try tomorrow.
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:53:37 <AnMaster> I have seen that happen
19:54:02 <AnMaster> Slereah_, because if the disk is dying, well you don't have until "tomorrow" sometimes
19:54:08 <AnMaster> but that is your choice
19:54:12 <Slereah_> It's been down for months, AnMaster.
19:54:19 <Slereah_> I can wait another day.
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:39 <Slereah_> This is serious matters.
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:57:37 <AnMaster> blergh
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:58:48 <Slereah_> But many problem arose.
19:58:55 <Slereah_> Well, I can't run them here.
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:05 <AnMaster> so...
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:11 <AnMaster> Deewiant, not sure
20:15:17 <AnMaster> Deewiant, maybe SOCK, don't know
20:15:27 <Deewiant> not TRDS? :-P
20:15:31 <AnMaster> Deewiant, currently I'm in bug fixes only before next release
20:15:39 <AnMaster> so no new fingerprint now
20:15:48 <Deewiant> alright, whatever
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:40 <AnMaster> Deewiant, hm?
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:42 <AnMaster> too*
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:01 <Deewiant> crossfire?
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:08 <tusho> me too
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:41 <Deewiant> if you don't, LORD
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:19:57 <Deewiant> it is IMO
20:20:04 <Deewiant> but like said, even if you don't think so, LORD
20:20:25 <AnMaster> LORD was for BBS iirc
20:20:32 <Deewiant> quite
20:20:41 <AnMaster> does that count as online?
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:10 <Slereah_> brb
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:22:51 <Deewiant> the AOL one
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:48 * AnMaster slaps Deewiant
20:24:59 <tusho> Deewiant: AnMaster is full of new ideas
20:25:00 <Deewiant> I guess I deserved that ^_^
20:25:02 <AnMaster> Deewiant, according you your mycology page the first conforming befunge98 one in C
20:25:13 <Deewiant> yes, but not C99
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:25:49 <AnMaster> ~
20:25:57 <Deewiant> do you use VLAs
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:26:42 <AnMaster> I don't use the other VLA
20:26:46 <AnMaster> Deewiant, ^
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:27:33 <AnMaster> and I do use that
20:28:30 <AnMaster> Deewiant, as for VLAs on the stack, there are certain safe contexts for it, when you know the range
20:28:42 <AnMaster> like "2-200 bytes"
20:28:45 <AnMaster> or such
20:28:48 <Deewiant> of course
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:05 <Deewiant> s/heap/stack/ probably?
20:30:12 <AnMaster> but ah yes
20:30:35 <tusho> AnMaster: have you fuzz-tested cfunge?
20:30:40 <AnMaster> tusho, I have indeed
20:30:46 <tusho> LOL
20:30:54 <AnMaster> tusho, the script is in the cfunge bzr repo
20:30:59 <AnMaster> or in the release tarballs
20:31:02 <AnMaster> tusho, why?
20:31:14 <tusho> it's a befunge interpreter
20:31:17 <AnMaster> tusho, I found quite a few bugs that way
20:31:22 <AnMaster> it was very useful
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:41 <tusho> Deewiant++++++++
20:32:45 <tusho> (It's a hyper-optimized ++)
20:33:00 <tusho> Deewiant @repeat ++
20:33:02 <tusho> thx lambdabot
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:11 <Deewiant> :-)
20:33:19 <AnMaster> but yes in general only segfaults and valgrind errors
20:33:23 <AnMaster> which isn't too bad at all
20:33:41 <tusho> Deewiant:
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:16 <tusho> dunno why
20:34:21 <AnMaster> tusho, infinite, right
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:35:00 <AnMaster> ~~~~
20:35:00 <tusho> AnMaster: do it
20:35:01 <tusho> use java
20:35:04 <AnMaster> haha
20:35:04 <tusho> it's enterprisey
20:35:07 <AnMaster> hehe
20:36:26 <AnMaster> anyway a quantum fingerprint could be interesting
20:36:40 <AnMaster> but same category as TRDS
20:36:48 <Deewiant> use MPI so that you can run multiple threads on multiple machines
20:37:02 <AnMaster> not only feral, but wild
20:37:20 <AnMaster> Deewiant, hah
20:37:31 <Deewiant> ~
20:37:47 <AnMaster> Deewiant, I realized that..
20:37:48 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
20:37:59 <Deewiant> ~
20:38:08 -!- Slereah- has joined.
20:38:15 <Slereah-> Well, liveCD won't boot
20:38:18 <Slereah-> I think it's too dirty
20:38:30 <AnMaster> Slereah-, try the one I suggested
20:38:38 <AnMaster> Slereah-, http://www.sysresccd.org/
20:38:41 <AnMaster> that one is good
20:38:45 <tusho> AnMaster: Dirty as in LITERALLY DIRT.
20:38:46 <AnMaster> and got the needed tools
20:38:52 <AnMaster> tusho, yes I realize that
20:39:11 <AnMaster> Slereah-, but if he is burning a new anyway
20:39:15 <AnMaster> err
20:39:16 <AnMaster> tusho, ^
20:39:45 <tusho> Deewiant: Dude, shapr.
20:39:49 <tusho> Dude, he's addicted to dude.
20:39:49 <Slereah-> I'll get a new CD.
20:39:51 <tusho> Dude, he hates spam.
20:39:54 <tusho> Dude, dude.
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:56 <Slereah-> ?
20:40:57 <AnMaster> tusho, no idea if it got irc client
20:41:03 <tusho> AnMaster: Telnet.
20:41:11 <AnMaster> tusho, could Slereah- manage that?
20:41:14 <tusho> No :P
20:41:15 <tusho> Wait
20:41:24 <tusho> Slereah-: Get a pen and paper.
20:41:34 <AnMaster> http://www.sysresccd.org/Detailed-packages-list
20:41:36 <AnMaster> Slereah-, it has irssi
20:41:39 <tusho> ah
20:41:39 <tusho> okay
20:41:42 <tusho> run 'irssi'
20:41:45 <tusho> '/server irc.freenode.net'
20:41:46 -!- oklopol has quit (No route to host).
20:41:46 <tusho> (wait)
20:41:48 <tusho> '/join #esoteric'
20:41:54 <AnMaster> what tusho said
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:14 <AnMaster> tusho, in a what?
20:42:19 <Slereah-> What type of issues?
20:42:32 <AnMaster> Slereah-, "better connect to ethernet" issues
20:42:33 <Slereah-> Gender confusion?
20:42:43 <AnMaster> as in wlan may not work out of box
20:42:45 <AnMaster> try ethernert
20:42:47 <AnMaster> ethernet*
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:38 <AnMaster> yes or no?
20:43:48 <Slereah-> Yes.
20:43:57 <AnMaster> Slereah-, try using cable network instead
20:44:02 <AnMaster> it is more likely to work
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:02 <Slereah-> Indeed.
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:48 <AnMaster> Slereah-, well boot it then
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:15 <tusho> no
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:22 <AnMaster> from command line
20:47:32 <Slereah-> Segment something something
20:47:40 <AnMaster> segmentation fault?
20:47:41 <Slereah-> I can't work on my partitions anymore for some reason
20:47:44 <AnMaster> Slereah-, ?
20:47:45 <Slereah-> Something like that.
20:47:50 <AnMaster> Slereah-, well that is bad
20:47:55 <Slereah-> Indeed.
20:48:04 <Slereah-> Plus, it's the main hard drive.
20:48:06 <AnMaster> Slereah-, just reinstall ubuntu or something then
20:48:08 <AnMaster> -_-
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:47 <AnMaster> worth a try
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:08 <Slereah-> Even the liveCD, actually.
20:49:11 <AnMaster> Slereah-, yes it does, but it is sometimes not trivial to get working
20:49:22 <Slereah-> Actually, it is with Kubuntu.
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:23 <AnMaster> I use ethernet (cable)
20:50:24 <Slereah-> Then no dice.
20:50:30 <AnMaster> Slereah-, an issue yeah
20:50:40 <AnMaster> Slereah-, get kubuntu or whatever working again
20:50:43 <AnMaster> then ask for more helpo
20:50:55 <AnMaster> Slereah-, trying to recover from inside windows will *NOT* work
20:51:02 <Slereah-> I'll do the LiveCD.
20:51:17 <Slereah-> I don't want to lose my datas on windows by reinstalling Linux.
20:51:22 <Slereah-> *data
20:51:30 <AnMaster> Slereah-, anyway if it is only star trek movies, why not just torrent them
20:51:44 <Slereah-> Well, it's not just that.
20:51:47 <AnMaster> ah
20:51:58 <AnMaster> of course I didn't say that
20:52:10 <AnMaster> torrenting copyrighted material is illegal
20:52:58 <tusho> AnMaster: zomg
20:54:05 <AnMaster> well I'm just a bit careful, "Note that I didn't suggest that" style
20:54:06 <AnMaster> ...
20:55:01 <Slereah-> AnMaster.
20:55:05 <Slereah-> Knock knock.
20:55:06 <AnMaster> Slereah-, yes?
20:55:11 <AnMaster> Who's there?
20:55:28 <tusho> AnMaster: you're liek the anti-fuck man i'm haf
20:55:40 <AnMaster> tusho, uh?
20:55:41 <Slereah-> It's the 4chan Partyvan.
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:11 <tusho> or someting
20:56:13 <tusho> *something
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:56:58 <Slereah-> Fine, let's try again.
20:57:01 <Slereah-> Knock knock.
20:57:08 <AnMaster> Who's there?
20:57:11 <Slereah-> 9/11
20:57:16 <AnMaster> 9/11 who?
20:57:24 <Slereah-> YOU SAID YOU'D NEVER FORGET D:
20:57:31 <tusho> HAHAHAHAHHAHAHAHAHAHA
20:57:31 -!- cherez has joined.
20:57:37 <AnMaster> that isn't how it goes
20:57:42 <AnMaster> but fun yes
20:57:43 <Slereah-> It so is.
20:57:44 <AnMaster> kind of
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:21 <tusho> it 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:58:58 <AnMaster> not fun I bet
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:27 <tusho> It's not.
20:59:37 <AnMaster> Slereah-, anyway what did you want?
20:59:47 <Slereah-> wat?
20:59:50 <tusho> Anyone have a joke about hitler and jews? AnMaster will die of shock.
21:00:08 <Slereah-> How did Hitler die?
21:00:08 <oklopol> knock knock
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:30 <Slereah-> HE SAW HIS GAS BILL
21:00:34 <oklopol> tusho: hitler killed a lot of jews
21:00:48 <tusho> Slereah-: HAHAHAHAHAHAHA
21:00:51 <tusho> oklopol: HAHAAHAHAHAHAHA
21:00:56 <oklopol> Slereah-: old
21:01:04 <Slereah-> Yeah
21:01:05 <tusho> I like oklopol's
21:01:11 <oklopol> <3
21:01:11 <Slereah-> But I had no time to find an awesome one.
21:01:20 <tusho> Knock knock.
21:01:31 <oklopol> who's there?
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:40 <oklopol> tusho: good one :D
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:04 <Slereah-> No need
21:05:09 <Slereah-> It is everywhar D:
21:05:23 <AnMaster> Slereah-, yes, it's sad freenode doesn't offer ssl
21:05:44 <Slereah-> ssl?
21:06:12 <AnMaster> Slereah-, offers encrypted connection
21:06:18 <AnMaster> did you even try to google?
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:02 <Slereah-> Will I get a spanking? D:
21:08:04 <ihope_> You fucking ruined my life. God, why did you cheat on me? After all I'--wait, what?
21:08:07 <Deewiant> (or SVG, today.)
21:08:17 <AnMaster> Deewiant, well nobody is perfect
21:08:22 <Deewiant> :-P
21:08:46 <tusho> ihope_: Hi!
21:08:52 <ihope_> Ello.
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:36:18 * ihope_ nods
21:47:26 <Slereah-> Ah fuck
21:47:35 <Slereah-> Not enough disk space to burn the CD
21:48:26 <Slereah-> I need a new computer.
21:52:49 <AnMaster> Slereah-, free up some diskspace
21:52:52 <AnMaster> delete what you don't need
21:54:07 <Slereah-> My partition is 2 GB large.
21:54:20 <Slereah-> Well, 2.63
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
21:55:03 <Slereah-> It's quite annoying.
21:59:32 <Slereah-> I be going to sleep.
22:00:27 <tusho> bye Slereah-
22:01:51 <Slereah-> I leave you with this : http://www.explosm.net/db/files/Comics/guest5/scottmale42.png
22:02:06 <tusho> hah
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)).
2008-07-06
00:09:34 <tusho> a
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:53 <tusho> nope
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:26:06 <oklopol> hi immy!
01:38:34 <immibis> hi
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:05 <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.
05:36:54 <calamari> hi
06:05:45 <Sargun> Esoteric languages!
06:06:14 <selb> :D
07:54:22 -!- calamari has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:43:13 <Slereah-> Hai
08:53:47 -!- puzzlet has quit (Read error: 113 (No route to host)).
08:58:59 <oklopol> o
08:59:03 <oklopol> hei vaan
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:30:56 <Slereah> People dudes.
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:03:48 <Slereah-> AnMaster, you here?
12:04:36 <AnMaster> Slereah-, yes why?
12:04:54 <Slereah-> I made the linux CD work.
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 <Slereah-> Nah, but let me reboot on it.
12:05:17 <AnMaster> Slereah- try these commands then:
12:05:21 <AnMaster> ah...
12:05:24 <AnMaster> Slereah-, internet on it?
12:05:30 <Slereah-> Yes.
12:05:34 <AnMaster> good get on it then
12:05:43 <Slereah-> I just have to enter the WEP key in it
12:05:56 <AnMaster> k
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:12:19 <Slereah-> Aaanmaster
12:13:05 <AnMaster> Slereah-, yes?
12:13:20 <AnMaster> Slereah-, first is it set to English?
12:13:29 <Slereah-> Yes it is
12:13:35 <AnMaster> open a terminal, and run:
12:13:42 <AnMaster> smartctl
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:40 <AnMaster> ok
12:14:41 <AnMaster> run:
12:14:43 <AnMaster> sudo apt-get install smartmontools
12:14:44 <AnMaster> then I guess
12:15:20 <Slereah-> How do I get on azerty
12:15:40 <AnMaster> Slereah-, are you in X? as in graphical windows
12:15:45 <AnMaster> or in just a console?
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:19 <AnMaster> iirc
12:17:23 <AnMaster> something like that anyway
12:17:28 <AnMaster> maybe not with .gz at the end
12:17:41 <AnMaster> Slereah-, but yes that could work I guess
12:17:42 <AnMaster> :)
12:18:13 <Slereah-> Yes, it work
12:18:18 <AnMaster> Slereah-, great
12:18:29 <Slereah-> ubuntu@ubuntu:~$ smartctl
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:20 <Slereah-> Only three show up on Linux.
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:19:58 <AnMaster> Slereah-, what does that say?
12:20:56 <AnMaster> Slereah-, ?
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:11 <AnMaster> oh?
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:29 <AnMaster> Slereah-, ah
12:21:46 <AnMaster> Slereah-, now we need to figure out what one is the broken harddrive
12:21:58 <AnMaster> sudo su -
12:22:05 <AnMaster> run that so we get a root shell
12:22:12 <AnMaster> then we do:
12:22:16 <AnMaster> file /dev/sd?
12:22:24 <AnMaster> lets see what that says
12:22:34 <Slereah-> /dev/sda: block special (8/0)
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:41 <AnMaster> ok
12:22:46 <AnMaster> file -s /dev/sd?
12:22:47 <AnMaster> then
12:22:52 <AnMaster> (sorry I forgot the -s first time)
12:23:20 <Slereah-> /dev/sda: block special (8/0)
12:23:25 <Slereah-> /dev/sdb: block special (8/16)
12:23:29 <AnMaster> eh
12:23:29 <Slereah-> /dev/sdc: block special (8/32)
12:23:30 <AnMaster> that's odd
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:23:49 <Slereah-> What should it say.
12:23:56 <AnMaster> Slereah-, ah like that last
12:23:58 <AnMaster> right
12:24:00 <AnMaster> seems ok
12:24:03 <AnMaster> I misread
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:17 <AnMaster> so lets do:
12:24:26 <AnMaster> smartctl -d ata -H /dev/sda
12:24:32 <AnMaster> smartctl -d ata -H /dev/sdb
12:24:33 <AnMaster> smartctl -d ata -H /dev/sdc
12:24:37 <AnMaster> smartctl -d ata -H /dev/sdd
12:24:38 <AnMaster> smartctl -d ata -H /dev/sde
12:24:41 <Slereah-> Well, what I could do is, turn off most of the hard drives.
12:24:41 <AnMaster> see what happens
12:24:45 <AnMaster> does all say PASSED?
12:24:57 <AnMaster> or such
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:27 <Slereah-> a works
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:25:54 <AnMaster> Slereah-, um ok is it usb?
12:26:04 <AnMaster> that could cause it
12:26:04 <Slereah-> c-d-e also give that error
12:26:11 <AnMaster> Slereah-, are they usb or?
12:26:15 <Slereah-> All the sd are usb I think
12:26:26 <AnMaster> Slereah-, oh they don't support SMART then
12:26:31 <Slereah-> Wait
12:26:34 <AnMaster> right a sec
12:26:41 <Slereah-> a-b-c-d aren't.
12:26:45 <Slereah-> and e too
12:26:50 <AnMaster> hm
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:07 <AnMaster> the number is the partitions
12:27:16 <AnMaster> the letter the disk
12:27:50 <Slereah-> How come they contain exactly what the hard drive contains then?
12:27:58 <AnMaster> eh, they do?
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:28:43 <AnMaster> Slereah-, that should help
12:28:45 <Slereah-> Done.
12:28:53 <AnMaster> Slereah-, ls /dev/sd?
12:28:56 <AnMaster> to see what one that is
12:29:12 <Slereah-> root@ubuntu:~# ls /dev/sd?
12:29:12 <Slereah-> /dev/sda /dev/sdd
12:29:35 <AnMaster> aha
12:29:43 <AnMaster> it is sdd then
12:29:50 <AnMaster> ls /dev/sdd*
12:29:54 <Slereah-> I sure hope so
12:29:55 <AnMaster> to see what partitions it got
12:30:09 <Slereah-> root@ubuntu:~# ls /dev/sdd*
12:30:09 <Slereah-> /dev/sdd /dev/sdd1
12:30:13 <AnMaster> then, file -s /dev/sdd*
12:30:24 <AnMaster> lets see what they contain
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:41 <AnMaster> interesting
12:30:45 <AnMaster> let me thing a second
12:30:50 <Slereah-> Why the fuck does it contain windows 98.
12:31:00 <AnMaster> think*
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:23 <AnMaster> that is what it means
12:31:27 <Slereah-> Oh.
12:31:36 <Slereah-> How peculiar.
12:31:51 <AnMaster> Slereah-, anyway so far it doesn't seem to be a broken harddrive
12:32:23 <AnMaster> fsck.vfat -t -r /dev/sdd1
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:33:23 <Slereah-> SOMEONE STOLE MY BYTES D:
12:34:16 <AnMaster> Slereah-, eh
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:34:34 <AnMaster> this may take a bit
12:34:44 <Slereah-> I sure want to fix it
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:38 <AnMaster> Slereah-, it will ask you
12:35:40 <AnMaster> wtf
12:35:43 <AnMaster> Slereah-, that is odd
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:35:48 <Slereah-> root@ubuntu:~#
12:35:53 <AnMaster> that's all?
12:36:03 <Slereah-> I cannot tell a lie!
12:36:06 <AnMaster> odd
12:36:08 <Slereah-> I also must go nom nom
12:36:14 <Slereah-> I will come back soon
12:36:29 <AnMaster> fsck.vfat -t -a -f /dev/sdd1
12:36:31 <AnMaster> maybe
12:36:39 <AnMaster> actually
12:36:41 <AnMaster> fsck.vfat -t -a -v -f /dev/sdd1
12:36:46 <AnMaster> that is the best guess
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:
12:49:59 <AnMaster> badblocks -n /dev/sdd1
12:50:05 <AnMaster> don't abort that command!
13:01:25 <Slereah-> I'm back
13:02:04 <Slereah-> root@ubuntu:~# fsck.vfat -t -a -v -f /dev/sdd1
13:02:08 <Slereah-> dosfsck 2.11 (12 Mar 2005)
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:28 <Slereah-> Boot sector contents:
13:02:32 <Slereah-> System ID "MSWIN4.1"
13:02:36 <Slereah-> Media byte 0xf8 (hard disk)
13:02:40 <Slereah-> 512 bytes per logical sector
13:02:44 <Slereah-> 32768 bytes per cluster
13:02:48 <Slereah-> 32 reserved sectors
13:02:52 <Slereah-> First FAT starts at byte 16384 (sector 32)
13:02:56 <Slereah-> 2 FATs, 32 bit entries
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-> 63 sectors/track, 255 heads
13:03:12 <Slereah-> 63 hidden sectors
13:03:12 <Slereah-> 234436482 sectors total
13:03:12 <Slereah-> Got 12058624 bytes instead of 14648708 at 16384
13:03:12 <Slereah-> root@ubuntu:~#
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:11 <Slereah-> Owait
13:04:23 <Slereah-> Linux just found the hard drive in question
13:04:30 <Slereah-> (Outside the terminal)
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:05:29 <Slereah-> AnMaster
13:10:56 <AnMaster> back
13:11:09 <AnMaster> <Slereah-> And badblocks is giving me numbers. Of blocks, I assume. In a state of badness.
13:11:10 <AnMaster> hm?
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-> Welcome back then.
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:14 <Slereah-> So far :
13:13:15 <Slereah-> root@ubuntu:~# badblocks -n /dev/sdd1
13:13:15 <Slereah-> 11776
13:13:15 <Slereah-> 11777
13:13:15 <Slereah-> 11778
13:13:15 <Slereah-> 11779
13:13:17 <Slereah-> 11780
13:13:19 <Slereah-> 11781
13:13:21 <Slereah-> 11782
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:18:27 <AnMaster> ok
13:18:33 <AnMaster> that are broken blocks
13:18:34 <AnMaster> :(
13:19:00 <AnMaster> Slereah-, they are broken blocks indeed
13:19:03 <AnMaster> so not much we can do
13:19:05 <AnMaster> sadly
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:39 <AnMaster> :/
13:27:47 <AnMaster> ubuntu__, the drive is dead I'm afraid
13:27:50 <AnMaster> not much you can do
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:32 <Slereah_> Holy snowcone
13:42:37 <Slereah_> I just stopped badblocks
13:42:43 <Slereah_> And opened the hard drive
13:42:46 <Slereah_> And it actually opened
13:42:56 <Slereah_> Quick, to save that on the other hard drive!
13:44:26 <AnMaster> hm
13:44:39 <AnMaster> Slereah_, ok try it
13:44:42 <AnMaster> Slereah_, worth a try!
13:44:47 <Slereah_> Like hell I am!
13:44:50 <Deewiant> badblocks disables the bad blocks, right?
13:44:59 <Slereah_> I don't have a fucking clue
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:10 <Deewiant> so buy a 500 gig hard disk
13:48:12 <Deewiant> and back up to it
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:44 <Slereah_> That is, except the data tree
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:49:18 <Slereah_> Made from trees.
13:49:24 <Slereah_> If you catch my drift.
13:49:29 <Deewiant> >_<
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:03 <Slereah_> Yeah, probably
13:52:09 <Deewiant> a hard drive a year isn't that much, to be honest
13:52:14 <Deewiant> like a hundred euros
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:54:42 <Deewiant> what kind of box do you have?
13:54:58 <Slereah_> I don't know the name.
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:36 <Slereah_> I've got two of them.
13:55:41 <Slereah_> eah.
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:14:33 <Slereah_> Shit.
14:16:04 -!- olsner has joined.
14:17:30 <Slereah_> Owait, it seems to load now.
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_> Hm.
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:37:57 <AnMaster> no
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:40 <AnMaster> hah
14:40:58 <AnMaster> <Slereah_> I'd better throw it in a well as soon as I'm done with it
14:41:03 <AnMaster> bad for environment
14:41:05 <AnMaster> recycle it
14:41:07 <AnMaster> correctly
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:42 <AnMaster> Slereah_, find what one it is
14:42:46 <AnMaster> like /dev/sd4
14:42:48 <AnMaster> err
14:42:49 <AnMaster> like /dev/sda4
14:42:51 <AnMaster> or whatever
14:42:52 <AnMaster> then
14:42:57 <Slereah_> Since I can't access it from windows, I'd like to get the data out of it
14:43:02 <AnMaster> mkdir /mnt/linux
14:43:05 <Slereah_> So I can nuke that disk without remorse
14:43:07 <AnMaster> mount /dev/sda4 /mnt/linux
14:43:12 <AnMaster> and go there
14:43:18 <AnMaster> Slereah_, that should work ^
14:43:28 <AnMaster> assuming it is /dev/sda4
14:43:29 <Slereah_> mount: mount point /mnt/linux does not exist
14:43:35 <AnMaster> Slereah_, I said...
14:43:38 <AnMaster> <AnMaster> mkdir /mnt/linux
14:43:41 <Slereah_> Oh.
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:23 <AnMaster> as root
14:44:24 <Slereah_> 'kay
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:45 <Slereah_> Ah yes, it works
14:46:48 <Slereah_> Thanks.
14:46:57 <Slereah_> It's a good thing too, because that's where all my eso stuff are.
14:47:03 <AnMaster> Slereah_, hehe
14:47:20 <AnMaster> Slereah_, backup everything and just install linux on the entire disk
14:47:21 <AnMaster> :D
14:47:29 <Slereah_> Are you madly insane?
14:47:32 <AnMaster> no need for dirty windows
14:47:35 <AnMaster> Slereah_, why?
14:47:42 <AnMaster> ok spilt it half/half then
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:26 <AnMaster> then:
14:49:35 <AnMaster> chroot /mnt/linux /bin/bash
14:49:39 <AnMaster> wait
14:49:40 <AnMaster> no
14:49:45 <AnMaster> Slereah_, don't run that first
14:49:47 <AnMaster> you need:
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:11 <Slereah_> And it might take a while.
14:50:17 <AnMaster> mount --bind /sys /mnt/linux/syc
14:50:28 <AnMaster> chroot /mnt/linux /bin/bash
14:50:29 <AnMaster> then
14:50:31 <AnMaster> grub-install
14:50:34 <AnMaster> that should solve it
14:50:35 <AnMaster> :D
14:50:52 <AnMaster> Slereah_, if it doesn't tell me what error that command gives
14:50:55 <AnMaster> and we can try again
14:51:20 <AnMaster> you will probably need to run *after* chroot: mount /boot
14:51:24 <AnMaster> then grub-install /dev/sda
14:51:25 <AnMaster> even
14:55:32 <Slereah_> Ah fuck.
14:55:41 <Slereah_> "You need permission to copy such file"
15:00:51 <AnMaster> Slereah_, ah
15:00:56 <AnMaster> Slereah_, you need to be root
15:01:38 <AnMaster> Slereah_, not sure how on the livecd outside shells
15:01:42 <AnMaster> in shells it is simple
15:01:46 <AnMaster> just the sudo su -
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:11:57 <AnMaster> Slereah_, good point
15:12:02 <AnMaster> Slereah_, is it ticking?
15:12:03 <AnMaster> RUN
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:39:54 <SimonRC> sinit, but good
15:40:57 <SimonRC> it looks like it wwas made about 20 years befoer the language existed
15:46:41 <RodgerTheGreat> that's the main thing I enjoy about it
15:48:24 <SimonRC> Nce acting too
15:48:40 <SimonRC> "Hello Joe" "Hello Mike"
15:48:57 <Slereah_> "Stalled".
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:26 <RodgerTheGreat> for engineers, they do a pretty damn good job
15:49:35 -!- jix has quit (Nick collision from services.).
15:49:45 -!- jix has joined.
15:50:22 <SimonRC> Slereah_: ""Stalled""?
15:50:46 -!- pikhq has joined.
15:51:10 <Slereah_> File transfer
15:51:29 <Slereah_> A fancy word for "0kB/s"
15:54:41 <SimonRC> doesn't HTTP have some feature to resume transferring a file partway through?
15:54:51 <Slereah_> Not internet
15:54:57 <Slereah_> From one HD to the other
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
15:55:38 <SimonRC> ah, ok
16:03:46 <SimonRC> oh deary deary me: http://www.youtube.com/watch?v=uKfKtXYLG78
16:03:52 <SimonRC> um, wron one
16:03:57 <SimonRC> I meantt:
16:04:06 <SimonRC> oh deary deary me: http://www.youtube.com/watch?v=Mal6XbN5cEg&NR=1
16:06:07 <RodgerTheGreat> I swear I've seen this before
16:10:06 -!- olsner has joined.
16:11:03 -!- olsner has quit (Client Quit).
16:14:02 -!- tusho has joined.
16:14:33 <tusho> hi ais523
16:17:27 <Slereah_> Hello Tush.
16:23:31 <tusho> Hi Slerea.
16:31:11 -!- oerjan has joined.
16:31:53 <RodgerTheGreat> http://www.youtube.com/watch?v=jzYoKCl883c&feature=related
16:32:48 <pikhq> 'Lo, Doctor.
16:33:26 <oerjan> pikhq: confirmed
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:14 <tusho> Srsly.
16:40:17 <oerjan> surprisingly hot
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:26 <tusho> :(
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:05 <oerjan> it's sort of close
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:26 <tusho> fah m'i nam kcuf
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:43:53 <Slereah_> NAM NAM
16:44:25 <RodgerTheGreat> I think you mean "NAM MAN"
16:45:15 <tusho> NAM MAN NAM MAN
16:45:18 <tusho> yum
16:45:20 <oerjan> a nam, a man, a plan
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:39 <tusho> at the bottom was
16:46:39 <tusho> lol:
16:46:41 <tusho> fuck man i'm haf
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:46:56 <tusho> yes
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:52:46 <tusho> oerjan: can't
16:52:48 <tusho> it's too magical
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:56:47 <AnMaster> ARGH*
16:58:25 <tusho> {
16:58:26 <tusho> This is the first ever music video about programming that has been written and performed by an actual programmer. }
16:58:26 <tusho> what
17:00:15 <tusho> hah
17:00:20 <tusho> you know those nabaztag bunny things
17:00:25 <tusho> that acn speak out rss feeds and email
17:00:27 <tusho> and have an api?
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:00 <AnMaster> isn't the JSF using C++
17:05:07 <AnMaster> I'm pretty sure it is for some parts
17:05:14 <tusho> shrug
17:05:15 <AnMaster> so they already gave up ADA
17:05:19 <AnMaster> sadly
17:05:25 <AnMaster> ADA looks like a very interesting language
17:06:43 <tusho> oh lord:
17:06:43 <tusho> 'Programmers suck balls'
17:06:47 <tusho> a reddit comment
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:36 <tusho> Ah.
17:07:39 <tusho> Who made it then?
17:07:52 <Slereah_> Well, it clearly was intelligent design
17:07:59 <Slereah_> So I think Jesus was involved.
17:08:37 <tusho> ah
17:09:03 <oerjan> rubbish, it clearly evolved, that explains why it sucks so much (balls).
17:11:45 <AnMaster> hahah
17:12:38 <AnMaster> erlang looks like a very nice language, I even have it installed because wings3d use it
17:13:15 * SimonRC reads up
17:13:31 <SimonRC> (was distracted by google tech talk)
17:15:39 <tusho> erlang is cool
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:08 <tusho> *surprise
17:16:24 <AnMaster> tusho, well maybe they were real engineers not actors
17:16:36 <tusho> Very likely.
17:16:43 <AnMaster> that could explain it
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:18:55 <tusho> that is cool
17:19:19 <tusho> http://www.oddmusic.com/clips/sea_organ.mp3
17:19:19 <tusho> lovely
17:19:59 <tusho> really lovely
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:20 <AnMaster> tusho, really?
17:26:25 <tusho> yes
17:26:32 <AnMaster> what OS are you on?
17:26:38 <AnMaster> Linux: aplay /dev/sda
17:26:39 <AnMaster> :P
17:26:44 <tusho> hehe, os x
17:26:44 <AnMaster> freebsd:
17:26:46 <tusho> I used to like:
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:27:28 <tusho> rustly leavy
17:28:12 <AnMaster> tusho, you should not do it, don't deplete the entropy pool in /dev/random
17:28:16 <AnMaster> maybe /dev/urandom ok
17:28:29 <tusho> AnMaster: i hope you're joking
17:28:39 <AnMaster> tusho, partly yes
17:28:44 <tusho> the UNIX POLICE will come after me for REDUCING ENTROPY by LISTENING TO /DEV/RANDOM
17:28:46 <tusho> :D
17:28:51 <AnMaster> hah
17:28:58 <oerjan> SAVE THE UNIVERSE, PRESERVE ENTROPY
17:29:16 <pikhq> Preserve entropy: rm /dev/*random
17:29:31 <AnMaster> pikhq, XD
17:29:42 <AnMaster> oerjan, nice twist!
17:29:42 <tusho> pikhq: :D
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:19 <AnMaster> tones*
17:30:24 <tusho> AnMaster: maybe that's the origin of ntfs
17:30:26 <tusho> an audio generator
17:30:30 <AnMaster> hah XD
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:32:55 <tusho> upload an ogg?
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:36 <AnMaster> like what?
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:33:48 <AnMaster> oerjan, ha!
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:09 <tusho> or something
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:48 <AnMaster> # aplay /dev/sdb1
17:35:49 <AnMaster> Playing raw data '/dev/sdb1' : Unsigned 8 bit, Rate 8000 Hz, Mono
17:35:52 <AnMaster> that produces useful
17:36:04 <tusho> AnMaster: then .. feed it 8000
17:36:05 <tusho> :\
17:36:10 <tusho> and specify mono
17:36:15 <tusho> `man oggenc`
17:36:31 <AnMaster> ah
17:36:44 <AnMaster> tusho, ah yes works
17:37:31 <AnMaster> tusho, you could extract my file system info from it!
17:37:35 <AnMaster> :/
17:37:41 <tusho> AnMaster: are you being serious
17:37:43 <tusho> please don't be serious
17:37:47 <AnMaster> haha
17:38:00 <AnMaster> tusho, well this is likely just the header
17:38:05 <tusho> exactly
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:40 <tusho> -q 6
17:38:41 <AnMaster> blergh it encoded 18 mb
17:38:43 <tusho> (ultra-high quality)
17:38:51 <tusho> since, uh, otherwise it'll compress badly
17:38:51 <AnMaster> tusho, why?
17:38:55 <tusho> 'cause of the white noise and similar
17:39:02 <AnMaster> haha very funny
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:36 <SimonRC> sounds nice
17:39:49 <tusho> yep, upload it somewhere
17:40:16 <SimonRC> maybe we need fractal compression to deal with white noise properly
17:40:23 <tusho> haha
17:40:26 <AnMaster> a sec
17:42:25 <AnMaster> tusho, http://omploader.org/vbDV6
17:43:18 <AnMaster> tusho, like it?
17:43:23 <tusho> loading
17:43:26 <AnMaster> that is my old ntfs disk
17:43:30 <AnMaster> no longer in use
17:43:48 <AnMaster> the more modern ntfs disk doesn't sound as good
17:43:51 <AnMaster> it is just noise
17:44:13 -!- cc_to_ide has joined.
17:44:14 <tusho> this is good
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:43 <AnMaster> tusho, who?
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:45:40 <AnMaster> tusho, rap?
17:45:50 * AnMaster HATES rap
17:45:54 <AnMaster> nothing is worse than rap
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:14 <tusho> yep
17:47:40 <tusho> AnMaster: care to release that under CC by-sa 3.0? :-P
17:47:45 <AnMaster> tusho, no
17:47:49 <tusho> aww
17:47:51 <AnMaster> tusho, don't spread it
17:47:59 <tusho> :( i wanna make something out of it
17:48:04 <AnMaster> tusho, get your own 70 GB NTFS
17:48:09 <AnMaster> or whatever it was
17:48:14 <AnMaster> the disk was 80 GB
17:48:15 <tusho> it's just the header ... and it's too distorted to be able to recover _any_ data
17:48:38 <AnMaster> tusho, maybe CC-by-sa-nc-nd?
17:48:49 <tusho> AnMaster: i said I wanted to make something out of it
17:48:53 <AnMaster> tusho, maybe CC-by-sa-nc?
17:48:56 <tusho> & i wouldn't use a -nc sample
17:49:05 <AnMaster> tusho, well it would be -nc then
17:49:07 <tusho> AnMaster: ahem
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:39 <tusho> is it, now?
17:49:42 <tusho> why?
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:09 <AnMaster> yeah wrong
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:02 <AnMaster> SimonRC, any good what?
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:51:54 <tusho> or rather with 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:02 <AnMaster> volume*
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:30:45 <AnMaster> SimonRC, and it horrible
18:31:49 <SimonRC> that too
18:32:02 <SimonRC> it's all those infinitely-fast notes I expect
18:32:02 <AnMaster> SimonRC, how long is it?
18:32:12 <SimonRC> in total?
18:32:15 <AnMaster> yes
18:32:19 <SimonRC> few minutes I think
18:32:23 <AnMaster> ugh
18:32:27 * AnMaster stops listening
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:15 <SimonRC> are you being sarcastic?
18:43:22 <tusho> SimonRC: no, i really like it
18:43:25 <AnMaster> he must be
18:43:26 <SimonRC> ok
18:43:36 <tusho> AnMaster: nope
18:43:42 <AnMaster> tusho, odd
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:02 <SimonRC> ...
18:44:15 <AnMaster> SimonRC, open source? Linux?
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:24 <SimonRC> AnMaster: yes, yes
18:44:34 <AnMaster> SimonRC, link then?
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:44:52 * SimonRC tries it out
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:47:28 <tusho> nice either way
18:51:17 * SimonRC comes up with a random filesystem idea..
18:51:21 <SimonRC> "lurking mounts"
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:20 <tusho> Hmm.
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:32 <SimonRC> oh, wait...
19:01:32 <AnMaster> SimonRC, oh?
19:01:34 <SimonRC> ah
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:22 <tusho> it'd buffer it
19:02:28 <AnMaster> it would take time
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:02:40 <tusho> but after that...
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:04:18 <Slereah-> I am back people.
19:05:34 <tusho> Slereah-: Read as 'black'.
19:05:47 <Slereah-> Well I am not black.
19:05:54 <Slereah-> You know what they say.
19:06:04 <Slereah-> "Once you go black, we don't want you back"
19:06:04 <AnMaster> no?
19:06:13 <AnMaster> ugh
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:26 <AnMaster> -_-
19:08:33 <AnMaster> tusho, WHERE?
19:08:41 <tusho> AnMaster: /dev/sda1
19:08:45 <AnMaster> tusho, haha
19:08:50 <tusho> Oh, wait, you mean the black and gay people?
19:08:53 <AnMaster> tusho, that would be ext3
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:36 <SimonRC> oh yea
19:41:38 <Slereah-> Back on the windows.
19:41:47 <SimonRC> I got it working
19:41:48 <SimonRC> I think
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:40 <SimonRC> summary:
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:35 <tusho> :P
19:43:38 <tusho> *us
19:43:42 <SimonRC> will do
19:43:54 <SimonRC> then set the Server.default to server.internal
19:43:58 <SimonRC> then run
19:44:01 <tusho> 'cause, you know
19:44:03 <tusho> running programs
19:44:05 <tusho> booooooooooooooooooooooooring
19:44:12 <SimonRC> yes, doing it.
19:44:29 <SimonRC> suggest where to upload it to
19:54:26 <AnMaster> SimonRC, pastebin?
19:54:46 <AnMaster> SimonRC, in a way that doesn't need any external program
19:54:56 <SimonRC> *sigh*
19:55:00 <AnMaster> j/k
19:55:15 <SimonRC> I fiddled the fading formula though
19:56:38 <AnMaster> SimonRC, upload sample at ompload
19:56:42 <AnMaster> that would be good
19:56:50 <AnMaster> if that is what you meant
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:28:13 * SimonRC gives up on that
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:49:57 <tusho> dudes
20:49:57 <tusho> http://nic.sh/
20:50:01 <tusho> think about it
20:50:03 <tusho> install.sh
20:50:05 <tusho> GregorR: you'll like that
20:53:02 * SimonRC fails to see the joke
20:56:23 * SimonRC realises that a 22MB audio file is rather large
20:56:41 <SimonRC> oh fuck this
20:57:00 <tusho> SimonRC: shell files
20:57:00 <tusho> .sh
20:58:16 <SimonRC> ah, ok
20:58:25 <SimonRC> I thought that nic.sh was the joke itself
20:58:36 <SimonRC> but of course, it is the NIC
20:59:15 <tusho> configure.sh
20:59:20 <tusho> aw
20:59:21 <SimonRC> fi.sh
20:59:22 <tusho> taken
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:00:06 <tusho> :(
21:00:13 <SimonRC> a.k.a nic.ky
21:06:53 -!- olsner has joined.
21:23:15 <tusho> SimonRC: hahaha
21:24:39 <SimonRC> ba.sh?
21:25:07 <tusho> unfortunately, .ho isn't a domain
21:25:09 <tusho> tus.ho
21:25:23 <pikhq> Yet.
21:25:32 <pikhq> (TLDs are for sale)
21:25:36 <tusho> pikhq: I don't have 50k
21:25:40 <pikhq> What a shame.
21:26:02 <tusho> pikhq: We should get, collectively, .eso
21:26:05 <tusho> wiki.eso
21:26:06 <tusho> eso.eso (for ESO)
21:26:09 <tusho> brainfuck.eso
21:26:17 <tusho> http://wiki.eso/Brainfuck
21:28:13 <GregorR> $50/yr? Lame
21:28:38 <tusho> GregorR: Hmm. Most awesome TLD ever: .
21:28:42 <tusho> Why?
21:28:44 <tusho> Because .tld works.
21:28:47 <tusho> So.
21:28:52 <tusho> See me at http colon slash slash dot!
21:29:05 <tusho> GregorR: OR
21:29:08 <tusho> .www
21:29:11 <tusho> http://www.www.www/
21:29:14 <GregorR> com.google.www !
21:29:21 <SimonRC> bah
21:29:22 <tusho> Oh god it smells of java.
21:29:26 <GregorR> HAHAHA
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:17 <GregorR> And org.asm
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:54 <tusho> Uh SimonRC
21:31:57 <tusho> We can register sh.it.
21:32:02 <SimonRC> tusho: good point
21:32:11 <SimonRC> GregorR: maybe not then
21:32:27 <SimonRC> ok: http://3.2.1/4/5/6
21:32:32 <tusho> er no
21:32:36 <tusho> protocol is 7
21:32:46 <SimonRC> no
21:32:49 <GregorR> No, because the path needs the protocol to be meaningful.
21:32:52 <tusho> True.
21:32:53 <tusho> Okay.
21:32:56 <tusho> Then protocol is 4.
21:33:00 <GregorR> I agree.
21:33:02 <tusho> 4://3.2.1/5/6/7
21:33:04 <SimonRC> some protocols don;t have paths
21:33:06 <tusho> That's not too illogical.
21:33:09 <SimonRC> waitamo...
21:33:11 <tusho> It descends for a bit then rises.
21:33:12 <tusho> But, to be honest
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:04 <SimonRC> e.g. file:// or news://
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:11 <tusho> i mean, well
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:35:52 <SimonRC> which sucks
21:36:18 <tusho> no
21:36:19 <tusho> it doesn't
21:36:53 <SimonRC> well, it is inelegant
21:37:19 <tusho> no
21:37:21 <tusho> not imo
21:37:43 <AnMaster> !seen ais523?
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:49:33 * RedDak saluta a tutti!
22:50:17 <tusho> RedDak: wut
22:57:00 -!- Corun has joined.
23:01:15 -!- Corun has quit (Client Quit).
23:01:41 <AnMaster> RedDak, wtf?
23:24:52 -!- jix has quit ("CommandQ").
23:30:34 * SimonRC goes to bed.
2008-07-07
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:27:24 <RodgerTheGreat> 'sup, folks?
05:53:25 <GreaseMonkey> 'lo
05:54:25 <RodgerTheGreat> what are you up to this evening, GreaseMonkey?
05:54:55 <GreaseMonkey> coding a new bot
05:55:04 <GreaseMonkey> piemonkey is pretty hackish
05:56:15 <RodgerTheGreat> neat
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:01:20 <Sgeo> G'night all
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:25:54 <Slereah-> You'll regret it
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:20:36 <AnMaster> hm
13:20:49 <AnMaster> no one seen ais?
13:20:53 <AnMaster> or tusho?
13:21:05 <AnMaster> (the place is boring without them)
13:21:14 <AnMaster> ;)
13:22:21 <AnMaster> Deewiant, there?
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:30:38 <AnMaster> ah
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:31:51 <AnMaster> Deewiant, no, rather fix them
13:32:51 <Deewiant> I generally don't bother if it's somebody else's code and known to work
13:33:00 <Deewiant> but yes, that works too. :-P
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
13:54:16 <AnMaster> these two will be hard to fix
14:37:52 <AnMaster> Deewiant, also it uses sprintf in some places instead of snprintf
14:37:56 <AnMaster> UGH
14:41:51 <Deewiant> nothing wrong with that if you have a buffer of the max possible size
14:42:00 <Deewiant> e.g. %d and 11
14:53:11 <AnMaster> Deewiant, indeed, but that wasn't the case here
14:53:13 <AnMaster> it was strings
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:03:41 <ais523> AnMaster: there?
15:04:25 <AnMaster> ais523, yes?
15:04:32 <ais523> AnMaster: I finished fffungi
15:04:36 <AnMaster> wow!
15:04:44 <ais523> but there are some things I'd like to discuss with you about it
15:04:50 <AnMaster> yes, go ahead
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:12 <AnMaster> hm
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:44 <ais523> yes
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:51 <AnMaster> oh?
15:06:54 <ais523> Deewiant: also a bug in mycology
15:06:56 <AnMaster> details so I can fix it
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 <Deewiant> ais523: \o
15:07:23 <ais523> so if you try to wrap round the bottom row, it hits the NUL and reflects
15:07:33 <AnMaster> ah
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:46 <ais523> AnMaster: yep
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:29 <AnMaster> so I can review and such
15:08:32 <ais523> so you can get it from there
15:08:56 * AnMaster darcs pull
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:18 <ais523> let me run it again
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:08 <AnMaster> um
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:45 <Deewiant> hmm
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:15 <Deewiant> (from column 47)
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 <Deewiant> yes, that's old :-)
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:34 <ais523> ah, ok
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:06 <ais523> ok
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:06 <AnMaster> ais523, there?
16:07:10 <ais523> yes
16:07:11 <AnMaster> would this be valid C:
16:07:12 <AnMaster> genxStartElement(g_path) || return false;
16:07:14 <AnMaster> just wondering
16:07:21 <ais523> no, return isn't a function
16:07:27 <AnMaster> ah right
16:07:28 <ais523> you can do || exit(EXIT_FAILURE) though
16:07:29 <AnMaster> true
16:07:36 <AnMaster> ais523, no I don't want that
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:09:24 <tusho> hi ais523
16:09:27 <ais523> hi tusho
16:09:30 <ais523> you win
16:09:54 <tusho> yep
16:10:23 <tusho> ais523: when did it arrive at your end?
16:10:26 <ais523> 16:09
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:11:00 <tusho> :P
16:11:04 <tusho> and cool
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:14:54 <AnMaster> a lot of static buffers
16:15:01 <AnMaster> as I need to do stuff like:
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:19 <AnMaster> and so on and so on
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:11 <AnMaster> warnings*
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:47 <AnMaster> tusho, ...
16:17:51 <AnMaster> the code already does
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:30 <AnMaster> tusho, why would I?
16:19:47 <AnMaster> tusho, I think you overcomplicate stuff though
16:19:51 <tusho> AnMaster: you've managed 5 minutes already
16:19:51 <tusho> :)
16:20:02 <tusho> [... and me overcomplicating stuff? Coming from you?]
16:20:24 <AnMaster> I would prefer S-Expressions
16:20:29 <AnMaster> way more elegant than XML
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:31 <AnMaster> haha
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 <AnMaster> and then try again
16:34:22 <Deewiant> it managed to open 'mycotemp.tmp' so it won't overwrite it
16:34:28 <ais523> ah
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:45 <ais523> yes, I know
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:16 <Deewiant> heh
16:38:21 <ais523> Deewiant: not that easily, you'd be limited to control codes until you got arithmetic working
16:38:38 <Deewiant> ah, true
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:39:54 <ais523> no, it isn't
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:15 <Dewi> :)
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:25 <Deewiant> ah, but = was C system()
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:42:50 <Deewiant> ah
16:42:56 <Deewiant> but hmm
16:43:01 <Deewiant> how can it know it even then
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:08 <ais523> Dewi: not exactly
16:44:09 <ais523> it does
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:31 <Dewi> ais523: ew
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:18 <Deewiant> it doesn't
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:45:50 <Deewiant> i.e. yes | head terminates
16:45:59 <ais523> ah, that's good
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:12 <tusho> :(
16:46:14 <Dewi> people act like cmd.exe almost doesn't have it, but it's actually rather good
16:46:30 <Dewi> tusho: me too
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:26 <AnMaster> hm
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:04 <Deewiant> hmm, can't find them
16:49:05 <tusho> I kinda like that
16:49:09 <AnMaster> argh too much to read
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:12 <AnMaster> anything important?
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:17 <AnMaster> ais523, ^
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:37 <AnMaster> oh ok
16:49:41 <AnMaster> bbl food
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:28 <ais523> ugh
16:50:32 <Deewiant> ah, here we are
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:30 <Deewiant> same under windows
16:51:34 <Deewiant> the prefix is "call"
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:40 <ais523> Deewiant: yes, I know
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:21 <tusho> HALO AIS523
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:08 <Deewiant> ais523: hm, is it? darn
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:02 <Deewiant> here we are
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 <ais523> that is, your method
17:00:20 <Dewi> ais523: less safe, spaces, newlines, etc
17:00:24 <ais523> otoh my method breaks a lot more
17:00:24 <Dewi> ais523: nope
17:00:29 <ais523> it wasn't meant to be safe
17:00:30 <ais523> just insane
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:01:46 <ais523> oh, of course
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:06:52 <Dewi> :)
17:06:54 <AnMaster> like I did last time
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:35 <AnMaster> right
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:07:48 <AnMaster> sure
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:16 <Deewiant> lib/**/*.c in zsh
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:27 <AnMaster> Deewiant, hah
17:09:37 <Deewiant> hah?
17:09:45 <AnMaster> "yet another zsh user"
17:09:46 <ais523> AnMaster: that isn't an issue really
17:09:51 <AnMaster> but zsh is quite bloated IMO
17:09:57 <AnMaster> yes some nice features
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:05 <Deewiant> I suppose you use sh then
17:10:07 <Deewiant> :-P
17:10:07 <AnMaster> but some are just bloat IMO
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:07 <AnMaster> hah
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:19 <AnMaster> haha
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:24 <AnMaster> right
17:15:27 <ais523> which is used throughout the entire progra
17:15:29 <ais523> s/$/m/
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:14 <AnMaster> hah
17:17:52 <AnMaster> now I wonder if TURT will work, time to test with new code
17:19:10 <AnMaster> ah yay segfault
17:23:27 <Deewiant> :-D
17:24:07 <AnMaster> tusho, there?
17:24:11 <AnMaster> tusho, this is the result:
17:24:11 <tusho> yes
17:24:16 <AnMaster> &lt;![CDATA[path{fill:none;stroke-width:0.00005px;stroke-linecap:round;stroke-linejoin:miter}]]&gt;
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:13 <AnMaster> tusho, I have...
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:28:55 <Deewiant> you don't need it
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:29 <AnMaster> that works
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:20 <tusho> :P
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:19 <AnMaster> inkscape*
17:39:29 <AnMaster> genx refuses to put width first
17:39:31 <AnMaster> which is needed
17:39:36 * AnMaster shrugs
17:39:44 <Deewiant> I put width last
17:39:51 <Deewiant> worked fine for me
17:40:07 <tusho> AnMaster: nothiing can enforce that
17:40:09 <tusho> xml specifically says:
17:40:11 <tusho> no ordering
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:37 <AnMaster> oh I see what the issue is
17:48:40 <AnMaster> genx again
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:10 <tusho> or whatever
17:49:15 <tusho> genx is not the problem
17:49:16 <tusho> your use of it is
17:49:19 <AnMaster> I did
17:49:20 <tusho> most likely
17:49:23 <AnMaster> I did set the namespace
17:49:25 <AnMaster> that was the issue
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:57:17 <ais523> AnMaster: ok
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:19:56 <AnMaster> and so
18:20:00 <AnMaster> best is to just not set it
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:17 <AnMaster> well I'm not 100% either
18:23:48 <Deewiant> all I can find now is
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:23:53 <AnMaster> "
18:24:00 <Deewiant> so it's just optional
18:24:26 <AnMaster> rather the correct way would be to do something like 800xwhatever the other unit scales to
18:24:27 <AnMaster> or such then
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:29 <AnMaster> hm
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:34 <Deewiant> real name is fine
19:04:46 <AnMaster> ok
19:04:49 <tusho> AnMaster: ais523 I think
19:04:49 <tusho> well
19:04:49 <tusho> what does c-intercal's copyright file say?
19:04:49 <tusho> use that
19:04:57 <tusho> AnMaster: link a url too
19:05:00 <AnMaster> it has a COPYING file
19:05:05 <AnMaster> as in just a list of licenses
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:04 <ais523> I don't have one
19:07:09 <AnMaster> ok
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:08:59 <tusho> yes
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:23 <ais523> tusho: well, exactly
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:11:43 <AnMaster> tusho, 3 goats?
19:11:52 <AnMaster> tusho, for what purpose?
19:11:53 <tusho> Sacrificed.
19:11:57 <tusho> Religious.
19:12:05 <AnMaster> tusho, animal rights!
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:52 <tusho> Yes.
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:18 <ais523> also, can I?
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:13:51 <AnMaster> what is ESO?
19:14:03 <ais523> AnMaster: an Esoteric Standards Organisation
19:14:04 <tusho> uh.. yeah.
19:14:07 <ais523> which is just me and tusho at the moment
19:14:08 <AnMaster> ais523, nice
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:21 <AnMaster> the funge108 standard
19:14:24 <AnMaster> that I'm working on
19:14:25 <ais523> like repeatedly moving everything around the website
19:14:31 <AnMaster> ais523, tusho ^
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:50 <ais523> tusho: to what?
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:48 <AnMaster> no I disagree
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:03 <Deewiant> unportable
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:23 <Deewiant> and then i
19:17:57 <AnMaster> Deewiant, issue: It would be exceedingly hard to write a funge-108 interpreter in funge then
19:18:05 <AnMaster> or in brainfuck
19:18:11 <Deewiant> no, not really
19:18:15 <AnMaster> Deewiant, do you want to try to parse utf8 by hand?
19:18:17 <Deewiant> it would be easier in fact
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:41 <tusho> :)
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:09 <Deewiant> or rather
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:30 <Deewiant> AnMaster: you do not need to
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:19:57 <AnMaster> even if it is multibyte
19:20:03 <AnMaster> after converting it to unicode too I assume?
19:20:05 <AnMaster> ugh IMO
19:20:17 <Deewiant> no, I didn't say that
19:20:17 <AnMaster> because utf8 chars can be up to 5 bytes iirc
19:20:20 <Deewiant> 4
19:20:28 <AnMaster> quite sure it can be 5
19:20:31 <Deewiant> no, 4.
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:26 <AnMaster> um
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:41 <AnMaster> how would you load it then
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:22:54 <AnMaster> as columns won't match
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:22 <AnMaster> right
19:23:25 <ais523> there are no string-based instructions in Funge-98, only in some of the fingerprints
19:23:30 <Deewiant> ais523: i and o
19:23:38 <Deewiant> and =
19:23:41 <ais523> Deewiant: I thought they read onto the playfield
19:23:43 <AnMaster> oh "ö"<
19:23:45 <ais523> but I forgot about =
19:23:54 <Deewiant> ais523: they take filenames
19:23:59 <Deewiant> from 0gnirts
19:24:03 <ais523> Deewiant: ah
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:25 <AnMaster> but new ones should use URIs
19:25:28 <AnMaster> not URLs
19:25:31 <AnMaster> I meant URIs
19:25:39 <Deewiant> tusho managed to brainwash you then :-)
19:25:59 <tusho> Brainwash?
19:26:00 <tusho> )
19:26:02 <tusho> *:)
19:26:09 <tusho> anyway, AnMaster
19:26:13 <tusho> all URLs are URIs
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:15 <tusho> so just say URIs
19:26:16 <tusho> and it's fine
19:26:22 <tusho> ah, wait, I see
19:26:22 <tusho> okay
19:26:23 <AnMaster> tusho, yes it was a typo on irc
19:26:24 <Deewiant> so UTF-8 would be nice
19:26:29 <Deewiant> or UTF-whatever
19:26:31 <tusho> AnMaster: anyway
19:26:33 <Deewiant> 16 and 32 are fine too
19:26:34 <tusho> forget about old extensions
19:26:36 <tusho> :)
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:21 <AnMaster> as I try them out
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:27:41 <AnMaster> XD
19:27:55 <AnMaster> but I may drop that
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:08 <tusho> heh
19:29:38 <AnMaster> tusho, in the link I gave above to the draft read section 5.5
19:29:41 <AnMaster> to see some wild ideas
19:29:44 <AnMaster> for that
19:30:10 <AnMaster> tusho, oh and Chris Pressy which I talked to in email did suggest retaining some backward compatiblity
19:30:19 <tusho> mph
19:30:25 <AnMaster> miles per hour
19:30:28 <AnMaster> ?
19:30:31 <tusho> AnMaster: no, 'mmph'
19:30:33 <tusho> like 'meh'
19:30:35 <tusho> but mmmph
19:30:52 <AnMaster> many multiple miles per hour? ~~~
19:31:10 <AnMaster> ;p
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:03 <AnMaster> oops
19:33:05 <tusho> unless it's not in english
19:33:11 <tusho> in which case, my eyes are deceiving me!
19:33:33 <AnMaster> fixed
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:33:51 <AnMaster> ais523, that would be helpful
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:23 <AnMaster> ah
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:35:49 <tusho> :P
19:36:42 <AnMaster> ais523, according to search that was the only case of "got" in the file
19:36:55 <ais523> AnMaster: good
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:11 <AnMaster> ah
19:37:34 <AnMaster> ais523, a lot of it is just reformatted and clarified funge98
19:37:44 <ais523> I noticed
19:37:57 <AnMaster> because funge108 is a good language
19:38:19 <tusho> AnMaster: Of course you'd think that.
19:38:34 <AnMaster> tusho, heh
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:17 <Deewiant> it won't do a blank line
20:10:27 <Deewiant> simple as that :-P
20:10:31 <ais523> Deewiant: yes, I know
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:02 <ais523> so that's ambiguous
20:11:05 <AnMaster> well
20:11:08 <AnMaster> ais523, not really
20:11:08 <ais523> it should say which takes precedence
20:11:11 <Deewiant> maximal munch
20:11:14 <AnMaster> hm
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:11:41 <AnMaster> IMO
20:11:46 <AnMaster> I assume ccbi can handle it?
20:12:04 <Deewiant> of course
20:12:13 <Deewiant> but why should it be allowed
20:12:30 <AnMaster> Deewiant, is there any good reason to disable it?
20:12:47 <Deewiant> ais523's ambiguity is one
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:13:59 <Deewiant> I don't know, haven't used it
20:14:13 <AnMaster> um nano transparently converts everything to LF iirc
20:15:13 <Deewiant> so it probably works then
20:15:16 <Deewiant> but still, why allow it
20:15:29 <Deewiant> in the end it can be considered erroneous
20:16:00 <AnMaster> hmm
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:50 <AnMaster> what about that?
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:06 <tusho> and must-reject
20:17:08 -!- ihope has joined.
20:17:17 <AnMaster> tusho, an implementation should not need to detect this condition
20:17:18 <AnMaster> IMO
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:24 <AnMaster> does that seem sane?
20:18:26 -!- timotiis has joined.
20:18:30 <AnMaster> for a definition of it
20:18:32 <ais523> AnMaster: yes
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:18:51 <ais523> ah, good
20:19:01 <AnMaster> Deewiant, good point
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:17 <tusho> NOT SANE
20:19:18 <AnMaster> Deewiant, hm what?
20:19:18 <Deewiant> default bindings for A-Z
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:51 <AnMaster> tusho, undefined yes
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:38 <AnMaster> ais523, and "undefined"?
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:12 <AnMaster> is valid
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:29 <AnMaster> examples:
20:21:36 <AnMaster> kk <--- implementation defined from a list
20:21:38 <Deewiant> yes, I know
20:21:41 <Deewiant> you don't need to list them
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:21:57 <Deewiant> but yes, that can happen
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:26 <AnMaster> Deewiant, hm?
20:24:36 <AnMaster> what do you mean?
20:24:40 <Deewiant> when no fingerprints are loaded
20:24:42 <Deewiant> default behaviour
20:24:45 <AnMaster> ah true
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:13 <ais523> not by default
20:25:18 <AnMaster> ais523, I tend to agree
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:08 <AnMaster> err
20:27:10 <AnMaster> :\:
20:27:10 <AnMaster> even
20:27:11 <Deewiant> nope
20:27:18 <AnMaster> Deewiant, no?
20:27:26 <Deewiant> that's a b -- a b b
20:27:31 <Deewiant> note that \ after : is a no-op
20:27:36 <Deewiant> actually that's a b -- a b b
20:27:38 <Deewiant> er
20:27:38 <Deewiant> crap
20:27:41 <Deewiant> a b -- a b b b
20:27:44 <Deewiant> since you dup twice
20:27:49 <AnMaster> ah wait
20:27:52 <AnMaster> \:\
20:27:54 <AnMaster> is what I mean
20:27:55 <AnMaster> meant*
20:28:02 <Deewiant> a b -- b a a
20:28:02 <AnMaster> but that doesn't work either
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:43 <Deewiant> sure I could
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:33 <Deewiant> no it wouldn't actually
20:29:46 <Deewiant> but anyhoo
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:15 <Deewiant> heh
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:40 <Deewiant> but still
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:10 <Deewiant> AnMaster: yes, it could
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:27 <Deewiant> ... cfunge included
20:32:35 <AnMaster> Deewiant, well I could support it with some change
20:32:41 <AnMaster> not that hard
20:32:41 <ais523> well, technically speaking there are no limitations on fingerprint names
20:32:44 <Deewiant> of course, they all could
20:32:45 <ais523> they're just numbers
20:32:48 <Deewiant> but many don't, regardless
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:33:19 <Deewiant> uninteresting
20:33:40 <AnMaster> ais523, and yes indeed
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:15 <Deewiant> if they're both done by (
20:35:31 <Deewiant> AnMaster: just say it's an implementation-defined value
20:35:37 <Deewiant> like in REFC
20:35:41 <Deewiant> where it's an array index
20:36:11 <AnMaster> ah good idea
20:36:14 <AnMaster> <Deewiant> how will you differentiate between an URI and a legacy fingerprint
20:36:15 <AnMaster> well
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:36:58 <AnMaster> does that seem sane?
20:37:11 <Deewiant> do URIs have some defined syntax?
20:37:17 <tusho> Deewiant: yes
20:37:26 <tusho> http://en.wikipedia.org/wiki/Uniform_Resource_Identifier
20:37:26 <Deewiant> ah, apparently so
20:37:28 <Deewiant> then that works
20:37:32 <Deewiant> http://en.wikipedia.org/wiki/URI_scheme#Generic_syntax
20:37:33 <Deewiant> rather
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:25 <AnMaster> um what, would it currently?
20:39:29 -!- RedDak has joined.
20:39:32 <Deewiant> sure
20:39:35 <Deewiant> not that, exactly, of course
20:39:39 <Deewiant> but something equivalent
20:39:42 <AnMaster> Deewiant, also does any code do that?
20:39:43 <Deewiant> since the rules are given
20:39:48 <Deewiant> maybe, I don't know
20:39:57 <Deewiant> it could be written
20:40:19 <AnMaster> I think the majority of the code does it the normal way at least
20:40:38 <Deewiant> certainly
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:28 <Deewiant> yes, I am aware of this
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:41 <AnMaster> name clashes
20:41:47 <Deewiant> you can still get name clashes
20:41:51 <Deewiant> it's just less likely
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:50 <Deewiant> nope
20:42:51 <AnMaster> right tusho?
20:42:55 <AnMaster> Deewiant, no?
20:42:59 <Deewiant> nope
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:17 <AnMaster> any mailing lists?
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:38 <AnMaster> hm
20:52:43 <tusho> Deewiant: yes
20:52:45 <AnMaster> Deewiant, they use different namespaces?
20:52:53 -!- sebbu3 has changed nick to sebbu.
20:54:37 <Deewiant> beats me
20:54:50 <Deewiant> I don't use google groups other than for searching
20:54:57 <AnMaster> same so far
20:55:42 <AnMaster> Deewiant, one undef that I plan to change: fingerprints loaded by child ips
20:55:45 <AnMaster> what do you suggest
20:55:49 <AnMaster> that they are loaded or not?
20:55:57 <AnMaster> I'd go for "loaded by child ips too"
20:56:04 <Deewiant> whatever
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:28 <AnMaster> but maybe that is just me
20:56:47 <Deewiant> yes it probably does
20:56:48 <tusho> they do use diferent namespaces
20:56:51 <tusho> *different
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:17 <ais523> duplicated IMO
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)
20:59:50 <AnMaster> it was undefined in 98
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:20 <Deewiant> probably the latter
21:02:26 <AnMaster> ais523, tusho ^
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:42 <tusho> ais523 is right
21:02:45 <tusho> dns is case insensitive
21:02:46 <tusho> URIs aren't
21:03:27 <AnMaster> so. "case insensitive in domain name part but implementation defined for the rest" (said clearer obviously)
21:03:30 <AnMaster> or?
21:03:44 <ais523> makes sense
21:03:50 <ais523> recommend that programs get the case right anyway
21:03:56 <AnMaster> yep
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:38 <tusho> AnMaster: stop
21:04:40 <tusho> read http://tools.ietf.org/html/rfc3986
21:04:41 <tusho> start again
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:05:43 <AnMaster> hm
21:05:49 * AnMaster searches onwards
21:06:23 <AnMaster> tusho, best is to just refer to that RFC in other words
21:06:37 <tusho> yes
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:04 <AnMaster> ah
21:07:17 <AnMaster> ais523, yes but probably the text version is, not the html one
21:07:30 * AnMaster opens kbibtex
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:17 <Deewiant> (no)
21:11:33 <Deewiant> AnMaster: and why would I disagree
21:11:43 <Deewiant> that's the smartest way of fixing it IMO
21:11:58 <AnMaster> hm
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:12:19 <Deewiant> nothing else
21:12:25 <Deewiant> what happens, happens
21:13:40 <AnMaster> hm
21:15:34 <AnMaster> Berners-Lee, T., Fielding, R., and Masinter, L. (2005). Uniform Resource Identifier (URI): Generic
21:15:34 <AnMaster> Syntax.
21:15:34 <AnMaster> URL http://tools.ietf.org/rfc/rfc3986.txt
21:15:41 <AnMaster> I love BibTex
21:15:43 <AnMaster> :D
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:09 <ais523> ok
21:23:10 <AnMaster> I wrote it just about half an hour ago
21:23:23 <AnMaster> and yes k is tricky
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:24:05 <AnMaster> ais523, like what?
21:24:08 <ais523> or delta
21:24:10 <ais523> say, like 4k[
21:24:28 <AnMaster> Deewiant, help! ;P
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:24 <ais523> yes
21:25:30 <ais523> but does it count as changing delta or position there?
21:25:37 <AnMaster> ais523, I'd say: no
21:25:40 <ais523> it did, it just changed it bacj
21:25:44 <Deewiant> AnMaster: wut
21:25:44 <ais523> s/bacj/back/
21:25:49 <ais523> Deewiant: what does 4k[ do?
21:25:57 <Deewiant> varies
21:25:58 <Deewiant> :-P
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:25 <Deewiant> I honestly don't know
21:26:31 <Deewiant> the problem is stuff like 0k^
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:12 <Deewiant> 1k^z or 1kz^
21:27:16 <AnMaster> ais523, err, k only takes one tick
21:27:17 <AnMaster> ever
21:27:21 <ais523> AnMaster: not wrt ticks
21:27:24 <AnMaster> yes
21:27:28 <ais523> wrt where the IP ends up
21:27:33 <AnMaster> ah
21:27:36 <AnMaster> um
21:28:36 <Deewiant> ais523: 1k^z or 1kz^
21:28:47 <ais523> 1k^z
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:23 <Deewiant> AnMaster: up to you
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:29:34 <Deewiant> ah, that's interesting
21:29:42 <Deewiant> haven't thought of that
21:29:45 <Deewiant> hmm
21:30:15 <Deewiant> so it changes the delta, but still executes the z afterwards?
21:30:16 <AnMaster> um?
21:30:26 <AnMaster> well that doesn't seem sane
21:30:28 <Deewiant> so more like zz^z
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 <Deewiant> aye
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:27 <Deewiant> yes, I see all this
21:31:31 <AnMaster> ais523, doesn't make sense really as it changed direction
21:31:32 <Deewiant> but why zzz^ and not zz^z
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:33 <Deewiant> ais523: 2k#12345
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:44 <AnMaster> what do you do then?
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:03 <ais523> Deewiant: yes
21:34:21 <ais523> then 1k^z is zz^z which makes sense
21:34:28 <Deewiant> yes, exactly
21:34:31 <AnMaster> ais523, he also said:
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> there".
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:42 <AnMaster> way!
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:18 <AnMaster> 2k@
21:35:19 <Deewiant> it might save him some thinking :-P
21:35:21 <AnMaster> for concurrent
21:35:22 <AnMaster> or
21:35:25 <AnMaster> 2kt
21:35:27 <ais523> because it cares about the dimensions of the playfield, not of the current situation
21:35:40 <AnMaster> right
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:36:55 <AnMaster> however
21:36:57 <AnMaster> # f
21:37:01 <AnMaster> will execute f
21:37:02 <AnMaster> right?
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:38:20 <AnMaster> yes space and ; are markers
21:38:25 <ais523> should # be too?
21:38:29 <AnMaster> not sure
21:38:34 <AnMaster> what does Deewiant think?
21:38:45 <Deewiant> sounds interesting to be sure
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:23 <ais523> AnMaster: yep
21:39:23 <Deewiant> is that a problem?
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:47 <Deewiant> on original discussion of k
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:07 <AnMaster> Deewiant, which is
21:40:09 <ais523> let's see... does it make sense for space # space to be equivalent to ; space ;
21:40:11 <AnMaster> /msg if you want
21:40:13 <Deewiant> just search for my name
21:40:20 <Deewiant> (which is in /whois)
21:40:26 <ais523> i.e. # is changing the shape of the playfield rather than moving the IP
21:40:57 * AnMaster waits for it to search
21:41:05 <AnMaster> could take a while heh
21:41:18 <AnMaster> ais523, um?
21:41:22 <Deewiant> O_o
21:41:33 <tusho> AnMaster: I have Google's over-a-decade worth of work on search powering my email search.
21:41:34 <tusho> :)
21:41:41 <AnMaster> "No matches found" for you last name in message body
21:41:43 <AnMaster> Deewiant, ^
21:41:51 <Deewiant> in body? how about in sender?
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:08 <Deewiant> the "From:" header, that is
21:42:12 <AnMaster> nor in from
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:42:24 <Deewiant> sec
21:42:38 <AnMaster> em? you gone nomic too!?
21:42:44 <AnMaster> oh wait
21:42:47 <AnMaster> misread that
21:42:58 <AnMaster> ais523, err
21:43:00 <AnMaster> ais523, example
21:43:05 <tusho> AnMaster: I object to that insult.
21:43:13 <tusho> Ha! So much for #ESOTERICAN CONSENT
21:43:17 <AnMaster> tusho, what insult?
21:43:25 <Deewiant> AnMaster: gimme an address
21:43:32 <AnMaster> Deewiant, for email? sure
21:43:41 <AnMaster> Deewiant, see /msg
21:43:46 <Deewiant> cheers
21:44:22 <AnMaster> Deewiant, one new mail "Get a bigger one with v1agra"
21:44:25 <AnMaster> not that I guess?
21:44:26 <AnMaster> ;P
21:44:46 <AnMaster> will check later
21:45:49 <Deewiant> sent it now
21:47:24 <AnMaster> k
21:47:42 <Deewiant> didja get it?
21:48:15 <AnMaster> yes
21:48:17 <AnMaster> reading it atm
21:48:19 <Deewiant> great
21:48:22 <Deewiant> I'm off to bed
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:48:54 <Deewiant> but I'm gone now ->
21:49:22 <ais523> bye
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:04 <AnMaster> you never did
21:50:07 <AnMaster> hm
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:50:54 <AnMaster> ais523, oh why?
21:50:59 <AnMaster> because of loops?
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:47 <AnMaster> um
21:51:51 <ais523> and the computed come from is done on a new temporary tape
21:51:56 <AnMaster> very non-brainfucky
21:51:57 <tusho> ais523: make . turn into 'execute FFI command' in the (tape)
21:52:02 <ais523> AnMaster: yes, I know
21:52:05 <ais523> that's the issue
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 <AnMaster> ais523, indeed
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:54 <AnMaster> using libperl I guess
21:52:55 <ais523> AnMaster: yes, also difficult
21:53:03 <ais523> given the way CLC-INTERCAL works
21:53:06 <AnMaster> ais523, oh?
21:53:12 <ais523> practically it would have to be done by sending commands over a socket or something
21:53:21 <AnMaster> ais523, why is that?
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:53:49 <ais523> him more than me
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:29 <AnMaster> I see
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:07 <AnMaster> not just interpreted?
21:55:09 <ais523> in CLC-INTERCAL you can even change the grammar at runtime
21:55:13 <AnMaster> is it JITTING?!
21:55:15 -!- Corun has quit ("This computer has gone to sleep").
21:55:18 <ais523> AnMaster: worse than jitting
21:55:23 <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:55:57 <AnMaster> ais523, oh my
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:56:46 * AnMaster runs
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:42 <AnMaster> oh my
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
21:59:52 <AnMaster> and each new feature
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:01:54 <AnMaster> haha
22:02:03 <AnMaster> well I'd used splint on parts
22:02:13 <AnMaster> but it fails horribly on even simple C99 stuff like:
22:02:22 <AnMaster> for (int i = 0; i < foo; i++)
22:02:27 <AnMaster> that is putting int there
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:03:33 <ais523> but older
22:03:58 <AnMaster> right
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:21 <AnMaster> ais523, :)
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:12 <AnMaster> ais523, heh
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:15 <AnMaster> let me find the code
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:36 <AnMaster> ais523, good question
22:09:38 <AnMaster> let me try
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:26 <AnMaster> ais523, with cfunge or ick?
22:10:29 <tusho> brb
22:10:30 <ais523> AnMaster: with ick
22:10:33 <AnMaster> it was last release of ick
22:10:35 <AnMaster> not darcs
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:13 <AnMaster> or ick didn't like it
22:11:17 <ais523> AnMaster: ah, ok
22:11:26 <ais523> because to C-INTERCAL, the whole of the rest of the program is one statement
22:11:36 <ais523> no, sorry
22:11:40 <ais523> each of the ERROR lines is one statement
22:11:43 <ais523> let me try
22:11:58 <AnMaster> ais523, wait not invalid c
22:12:00 <AnMaster> linker error
22:12:12 <AnMaster> remove the whole "please please please pretty please" line
22:12:17 <AnMaster> $ bin/ick hello.i
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:19 <AnMaster> and so on
22:12:26 <AnMaster> ais523, is that supposed to happen?
22:12:36 <AnMaster> ais523, other programs work
22:12:37 <ais523> no, it isn't
22:12:41 <AnMaster> in pit of ick
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:07 <ais523> yes, definitely
22:13:14 <AnMaster> A BUG A BUG!
22:13:15 <ais523> I'll have to look into what it is that failed to type-check
22:13:20 <AnMaster> ON THE WAY TO ANYWHERE
22:13:31 <AnMaster> CORRECT COMPILER AND RESUBNIT
22:13:33 * AnMaster runs
22:13:46 <AnMaster> or better:
22:14:06 <AnMaster> ON THE WAY TO CALIFORNIA
22:14:08 <AnMaster> XD
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:18 <ais523> to send off to me...
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:39 <ais523> on something
22:14:45 <AnMaster> ais523, which means?
22:14:46 <ais523> also ON THE WAY TO THE CLOSET
22:14:48 <ais523> neither is mine
22:14:53 <AnMaster> k
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:18 <AnMaster> true
22:15:22 <ais523> the one's that aren't aren't that hard to memorise
22:15:23 <AnMaster> um
22:15:25 <AnMaster> last line is
22:15:27 <AnMaster> CORRECT SOURCE AND RESUBNIT
22:15:28 <AnMaster> right?
22:16:15 <ais523> PLEASE DO .1/.?2 SYNTAX:ERROR
22:16:19 <ais523> AnMaster: I think so
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:22 <AnMaster> um
22:17:23 <AnMaster> what
22:17:30 <AnMaster> symlink inside a language?
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:39 <AnMaster> pikhq, very true
22:17:40 <ais523> AnMaster: yep, symlinked variables
22:17:45 <AnMaster> pikhq, life is too short
22:17:49 <ais523> you can have great fun with that
22:17:50 <AnMaster> ais523, oh god
22:17:59 <pikhq> Do I want to work on Def-BF?
22:18:01 <pikhq> My kernel?
22:18:03 <pikhq> Learning D?
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:24 <ais523> s/drror/error/
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:18:49 <AnMaster> ais523, right
22:19:06 <AnMaster> ais523, and that means?
22:19:08 <ais523> therefore, it generates code that is never used in the program, without typecasting it first
22:19:15 <AnMaster> ais523, ouch
22:19:19 <AnMaster> ais523, hard to fix?
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:57 <AnMaster> k
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:09 <AnMaster> or use llvm
22:21:12 <AnMaster> which does runtime linking
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:28 <AnMaster> ais523, oh god
22:23:30 <ais523> I was quite astounded that someone was actually bothered to write that
22:23:33 <ais523> it isn't standard
22:23:40 <ais523> but it's one of the examples bundled with the compiler
22:23:41 <AnMaster> asin()? cos() acos() too?
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:49 <AnMaster> ais523, is the repo down?
22:24:50 <ais523> the floating-point library is written in INTERCAL
22:24:53 <AnMaster> ais523, yes they are
22:24:56 <ais523> AnMaster: yes, temporarily
22:24:59 <AnMaster> and they just use libmath
22:25:06 <AnMaster> err
22:25:08 <AnMaster> libm
22:25:24 <AnMaster> ais523, well I wouldn't know how to write it in C even
22:25:28 <AnMaster> sin and such I mean
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:26:51 <AnMaster> ah
22:27:03 <AnMaster> ais523, do you optimize those into C?
22:27:08 <ais523> no
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:39 <AnMaster> ah
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:25 <ais523> yes, that's it
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:29:58 <ais523> let me try something
22:30:03 <AnMaster> k
22:30:44 <ais523> I'm going to time primes.i with various different command-line arguments
22:31:21 <AnMaster> nice
22:31:34 <AnMaster> ais523, what about a pure C version just to compare
22:31:37 <AnMaster> would be very nice
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:33:46 <AnMaster> hm
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:35:08 <AnMaster> hm
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:37:52 <AnMaster> hm
22:38:03 <AnMaster> what about that instruction that generates a shell script to output it?
22:38:04 <AnMaster> XD
22:38:10 <ais523> that's -F
22:38:13 <ais523> note how quick that was
22:38:16 <AnMaster> hahaha
22:38:41 <AnMaster> what is -f? and what is -e?
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:09 <AnMaster> -bfeEO <-- what about that
22:39:14 <ais523> -E disables the auto-linking of the INTERCAL version of the system library
22:39:19 <tusho> Back
22:39:29 <AnMaster> ais523, or doesn't that work?
22:39:37 <ais523> AnMaster: -f and -e contradict
22:39:43 <AnMaster> ais523, oh? how so?
22:39:52 <ais523> you can't flow-optimise the external-calls system ATM
22:39:56 <AnMaster> aha
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:41:11 <AnMaster> ais523, ah right
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:13 <AnMaster> um
22:46:14 <AnMaster> wtf
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:27 <AnMaster> ... ) ... ) ... ) >
22:46:29 <AnMaster> is what I ,eam
22:46:34 <AnMaster> meant*
22:46:34 <ais523> did you just paste some Funge-108 into the channel?
22:46:38 <ais523> if so, why?
22:46:41 <AnMaster> ais523, yes
22:46:44 <AnMaster> for URI
22:46:49 <AnMaster> does it look nice or not
22:46:59 <tusho> AnMaster: maybe you should make it be reversed
22:47:05 <AnMaster> tusho, oh?
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:47:57 <AnMaster> simple
22:48:12 <AnMaster> $ echo "ge/gro.elpmaxe//:ptth" | rev
22:48:12 <AnMaster> http://example.org/eg
22:48:24 <tusho> AnMaster: exactly
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:47 <tusho> AnMaster: fine
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:11 <tusho> ais523: ditto...
22:49:12 <ais523> s/left-to-right/right-to-left/
22:49:16 <tusho> oh
22:50:01 <AnMaster> hsi-egnufeB yrev t'nera uoy sey ,ohsut
22:50:02 <AnMaster> !
22:50:19 <AnMaster> tusho, that was to you btw
22:50:31 <tusho> heh
22:50:49 <AnMaster> ais523, is there any emacs command to reverse a selection?
22:50:53 <AnMaster> would be very useful
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:56:48 <AnMaster> uploading
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:13 <AnMaster> ais523, ^
22:57:18 <AnMaster> contains last updates as of today
22:58:23 <AnMaster> ais523, 55 pages now
22:58:39 <AnMaster> I wonder if we can make it as long as the C standard
22:58:41 <AnMaster> just kidding
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:11 <tusho> :P
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:41 <AnMaster> ais523, no that says:
23:01:44 <AnMaster> "Invalid response, try again!"
23:01:58 <ais523> darcs pull -a http://code.eso-std.org/c-intercal/
23:02:09 <AnMaster> ah
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:02:55 <ais523> it's meant to be +x
23:03:02 <ais523> but darcs tends to forget the permissions on things
23:03:08 <AnMaster> I see
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:23 <ais523> oh, cfunge
23:04:26 <ais523> it copies it
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:05:46 <AnMaster> -combine
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:54 <AnMaster> haha
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:08:48 <AnMaster> I forgot
23:08:51 <AnMaster> for cfunge
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:27 <AnMaster> what is -a?
23:09:32 <ais523> AnMaster: enables CREATE support
23:09:36 <ais523> otherwise the very last test fails
23:09:41 <AnMaster> oh I see
23:09:43 <ais523> because the thing it's testing isn't supported
23:09:43 <AnMaster> what is CREATE?
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:12 <AnMaster> ON THE WAY TO THE CLOSET
23:10:14 <AnMaster> wtf?
23:10:17 <ais523> AnMaster: that's an installation problem
23:10:31 <AnMaster> ais523, so what is wrong?
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:10:53 <AnMaster> oh no I forgot that
23:10:58 <AnMaster> make install
23:11:00 <AnMaster> still same error
23:11:05 <ais523> strange
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:11:28 <AnMaster> isn't there
23:11:36 <ais523> ah, why not?
23:11:51 <AnMaster> ais523, no idea
23:11:53 <AnMaster> anyway
23:11:55 <AnMaster> from that command
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> $ ls lib/
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:33 <AnMaster> libick_ecto_b98.a I guess?
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 lib/ecto_b98.c
23:13:06 <AnMaster> make: *** No rule to make target `lib/ecto_b98.c'. Stop.
23:13:12 <ais523> yep
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:16 <ais523> working now?
23:14:23 <AnMaster> waiting
23:14:26 <AnMaster> it is recompiling it all now
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:14:48 <AnMaster> hm?
23:14:53 <ais523> yep, that's fine
23:15:08 <ais523> I should have put || : at the end of that, though
23:15:13 <AnMaster> ok
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:21 <AnMaster> can't find it
23:15:24 <ais523> AnMaster: should be iffit1
23:15:26 <ais523> with no extension
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:15:38 <AnMaster> oh ok
23:15:39 <ais523> so pit/tests/iffit1
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:23 <AnMaster> as examples
23:16:29 <ais523> yes, probably
23:16:38 <ais523> although that would be a good example for the C things too
23:16:43 <ais523> did it work, anyway?
23:16:48 <AnMaster> http://rafb.net/p/zIUcbS97.html
23:16:51 <AnMaster> if that is correct then yes
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:05 <AnMaster> hm
23:17:15 <ais523> AnMaster: it isn't deallocating the cfunge stuff on exit
23:17:19 <ais523> it can't, really
23:17:23 <ais523> without messing with atexit
23:17:23 <AnMaster> that could be cfunge I guess in RELEASE mode
23:17:26 <AnMaster> ais523, ah
23:17:28 <AnMaster> I see
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:12 <AnMaster> I assume this is ASCII text?
23:20:17 <ais523> AnMaster: yes
23:20:23 <AnMaster> ah good no word:)
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:32 <tusho> "OOXML!"
23:20:35 <ais523> tusho: that would be .docx
23:20:38 <AnMaster> tusho, that would be .docx
23:20:43 <tusho> No it wouldn't.
23:20:46 <AnMaster> oops ais523 was first
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:21:29 <AnMaster> ais523, that is pretty wtf ;P
23:22:06 <AnMaster> I Printed at the start of the INTERCAL program; tests Y.
23:22:10 <AnMaster> ais523, what does that mean?
23:22:18 <ais523> AnMaster: I is 1 in Roman Numerals
23:22:28 <AnMaster> I mean Y
23:22:28 <AnMaster> ...
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:03 <ais523> except for A
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:30 <ais523> so doc/ick.txi
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:53 <ais523> doc/ick.txt
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:22 <AnMaster> it that supposed to happen?
23:24:24 <ais523> yep
23:24:25 <ais523> make allnew
23:24:31 <ais523> for the new documentation
23:24:39 <AnMaster> why the odd error then?
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:29 <AnMaster> all:
23:25:38 <AnMaster> echo "Please use one of these targets:"
23:25:41 <AnMaster> or something like tyhat
23:25:49 <ais523> well, I have an all target that builds everything too, I think
23:25:50 <AnMaster> that*
23:25:56 <AnMaster> um?
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:29 <ais523> yes, I should do
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:26:52 <ais523> yep, that's the one
23:27:06 <ais523> yes, but the whole manual's about INTERCAL
23:27:11 <AnMaster> yes right
23:27:16 <AnMaster> I know
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:25 <ais523> as a learning aid
23:27:39 <tusho> c-intercal should require clc-intercal
23:27:39 <tusho> :D
23:27:41 <ais523> I tried to explain everything reasonably carefully, as a reference
23:27:45 <ais523> tusho: why?
23:27:50 <tusho> for crazity
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:22 <AnMaster> that would be crazy
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:48 <AnMaster> XD
23:28:53 <ais523> AnMaster: yes, that would probably be easier
23:28:56 <ais523> which is worrying
23:28:59 <AnMaster> ais523, indeed
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:25 <AnMaster> so it is turing complete then
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:41 <AnMaster> ah right
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:29 <AnMaster> haha
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:16 <ais523> but I'm glad it works
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:49 <tusho> I would be!
23:31:49 <AnMaster> heh
23:31:53 <tusho> Real-life ones, I assume.
23:32:00 <tusho> :D
23:32:01 <AnMaster> well I couldn't go to UK
23:32:05 <AnMaster> need to sleep as well
23:32:07 <tusho> i could, very easily
23:32:08 <tusho> watch:
23:32:09 <tusho> boom!
23:32:11 <tusho> I just went to the UK
23:32:17 <AnMaster> hah
23:32:21 <AnMaster> you were in UK...
23:32:22 <tusho> didn't have to do much
23:32:27 <tusho> but it's the thought that counts
23:33:40 <AnMaster> hah
23:33:51 <AnMaster> hrrm....
23:33:57 <AnMaster> INTERCAL and Befunge
23:34:00 <AnMaster> the dynamic duo!
23:34:02 * AnMaster runs
23:35:15 <tusho> :D
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:36:31 <AnMaster> hm
23:37:29 <AnMaster> will have to tell ais tomorrow
23:39:06 <AnMaster> tusho, but very few warnings :D
23:39:19 <tusho> Yayyyyyyyyyyy.
23:39:41 -!- Corun has quit ("This computer has gone to sleep").
23:40:03 <AnMaster> tusho, just those from IFFI
23:44:23 <AnMaster> tusho,
23:44:28 <tusho> AnMaster,
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:43 <AnMaster> at least
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:07 <AnMaster> really? good
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:23 <AnMaster> tusho, well a few months then
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:47:58 <tusho> AnMaster.
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:52:52 <AnMaster> thus memoserv
23:53:02 <tusho> AnM*ster: Grep logs!
2008-07-08
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:55 <AnMaster> morning
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:28 <AnMaster> topic: what do you mean?
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:09 <immibis> ...
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:08:37 <immibis> ok
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:47:59 <AnMaster> Slereah-, fix your connection
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:56:46 <AnMaster> ok
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:24:05 * AnMaster uploads
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:06:19 <Sgeo> Bye all
15:07:07 <AnMaster> hm
15:08:05 <Deewiant> AnMaster: so which minifunge specs did you pick
15:09:13 <AnMaster> Deewiant, the !Befunge one
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:28 <AnMaster> called extensions
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:10:50 <AnMaster> D.1?
15:10:52 <AnMaster> eh?
15:10:58 <Deewiant> section D.1
15:11:06 <AnMaster> ah
15:11:17 <AnMaster> Deewiant, what ones?
15:11:31 <Deewiant> not sure
15:11:37 <AnMaster> CCBI?
15:11:37 <Deewiant> but some of them definitely can
15:11:42 <Deewiant> no
15:11:44 <AnMaster> FBBI?
15:11:47 <Deewiant> maybe
15:12:13 <Deewiant> FBBI, !Befunge, RC/Funge-98 - maybe
15:12:20 <Deewiant> jsbef and zfunge, don't think so
15:12:28 <Deewiant> but not sure of those either
15:12:59 <AnMaster> and cfunge can semi-handle b93
15:13:05 <AnMaster> it can handle all important differences
15:13:16 <AnMaster> spaces and such
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:07 <AnMaster> iirc
15:14:13 <AnMaster> so see reference list
15:14:41 <Deewiant> it looks contradictory to me
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:15:22 <AnMaster> Deewiant, hm
15:17:06 <Deewiant> also, contradiction
15:17:22 <AnMaster> will fix that section
15:17:25 * AnMaster rewrites
15:17:26 <Deewiant> err crap, how do I copy from foxit
15:17:31 <AnMaster> foxit?
15:17:42 <AnMaster> kpdf is easy
15:17:44 <Deewiant> my pdf reader
15:17:49 <AnMaster> no clue
15:17:50 <Deewiant> I just can't see the icon
15:17:56 <Deewiant> ah, there
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:07 <AnMaster> what about that?
15:18:16 <AnMaster> um should say just (Lee, 2005)
15:18:20 * AnMaster checks bibtext file
15:18:22 <AnMaster> bibtex*
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:35 <Deewiant> then, later
15:18:44 <Deewiant> y Kill haunted Causes the haunted IP (and its ghost) to be killed.
15:18:44 <AnMaster> yes
15:18:50 <AnMaster> but that is from his original specs
15:18:54 <Deewiant> so you have two conflicting meanings for y
15:18:56 <AnMaster> what does !Befunge do?
15:19:02 <Deewiant> I don't know
15:19:09 <Deewiant> but y has specifically been redefined for that purpose
15:19:27 <Deewiant> and then there's Y
15:19:50 <AnMaster> yes
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:05 <AnMaster> ...
15:21:12 <Deewiant> ah, okay
15:21:32 <Deewiant> and btw, CCBI's system is RC/Funge-98's
15:22:17 <AnMaster> Deewiant, how does it differ?
15:22:24 <AnMaster> not much iirc
15:22:57 <Deewiant> somewhat, I don't remember
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:09 <Deewiant> doesn't use y, Y
15:24:19 <Deewiant> doesn't have the =t =@ hooks
15:24:36 <Deewiant> and probably more differences
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:39 <Deewiant> more featured at least
15:25:49 <Deewiant> it'd be nice if you enumerated the differences
15:25:58 <Deewiant> even nicer
15:25:59 <AnMaster> Deewiant, I'd combine them
15:26:04 <Deewiant> have a table in your PDF which compares all three
15:26:33 <AnMaster> all three?
15:26:36 <AnMaster> um
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:26 <Deewiant> that one does? O_o
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:09 <AnMaster> same for p and P
15:29:21 <AnMaster> in !befunge P and G changes in the haunted ip
15:29:31 <AnMaster> and g/p in the ghost
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:03 <AnMaster> Deewiant, is this a problem?
15:32:05 <AnMaster> or what?
15:32:13 <Deewiant> a problem? why?
15:32:20 <AnMaster> you went "O_o"
15:32:29 <Deewiant> I was just surprised
15:32:45 <Deewiant> and I thought it might mean a lot of changes to my current mini-funge hac^Wimpl
15:32:54 <Deewiant> but I'm not sure actually
15:32:58 <AnMaster> ok
15:33:01 <Deewiant> might be fairly easy if I wanted to do it
15:33:05 <AnMaster> heh
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:40 <AnMaster> hah
15:33:49 <Deewiant> I was like "oh, crap, yeah, mini-funge"
15:33:52 <Deewiant> takatakataka
15:33:59 <Deewiant> some hello-worldish test
15:34:03 <Deewiant> "great, it works, done."
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:29 <AnMaster> Deewiant, hm?
15:34:32 <AnMaster> what do you mean?
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:38 <AnMaster> in cfunge?
15:34:41 <AnMaster> depends on where
15:34:45 <AnMaster> I pass ip around
15:34:50 <AnMaster> I don't pass funge space around
15:34:59 <Deewiant> funge space is a global?
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:35 <AnMaster> Deewiant, odd!
15:36:43 <Deewiant> :-D
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:45 <AnMaster> um?
15:37:51 <Deewiant> might explain the speed difference between CCBI and cfunge ;-)
15:37:55 <AnMaster> accessing a static variable
15:38:00 <AnMaster> vs. passing it around
15:38:06 <AnMaster> Deewiant, there are other parts too
15:38:17 <AnMaster> like using switch not function pointers
15:38:19 <AnMaster> D vs. C
15:38:25 <AnMaster> and a lot more
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:38:51 <Deewiant> beats me
15:39:04 <Deewiant> and what do you mean by that
15:39:22 <AnMaster> instructions per second
15:39:44 <Deewiant> haven't measured
15:39:45 -!- Corun has quit ("This computer has gone to sleep").
15:39:56 <Deewiant> or actually
15:39:58 <AnMaster> cfunge can do about 15 MHz / second in mycology when no fingerprints are done and environment is small
15:40:01 <Deewiant> doesn't it measure that
15:40:08 <AnMaster> Deewiant, eh?
15:40:11 <Deewiant> "Hz / second"? non-unit
15:40:23 <AnMaster> Deewiant, typo
15:40:50 <AnMaster> Deewiant, that assumes non-concurrent support too
15:40:58 <AnMaster> for concurrent support around 12 MHz
15:41:13 <AnMaster> this is on a 2 GHz box
15:41:15 <AnMaster> Sempron
15:41:20 <AnMaster> so small cpu cache
15:41:23 <Deewiant> so that's just a timing from start of main loop (after loading) to after?
15:41:46 <Deewiant> or the whole program runtime?
15:41:55 <AnMaster> Deewiant, actually just runtime
15:41:59 <AnMaster> so a bit faster indeed
15:42:05 <AnMaster> if you discard loading time
15:42:13 <AnMaster> quite a bit faster then
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:43:04 <AnMaster> and more CPU registers
15:43:16 <Deewiant> whatever
15:44:08 <AnMaster> anyway I hoped ais would show up before I went to norway tomorrow
15:44:15 <AnMaster> guess I'll send him a mail
15:44:38 <AnMaster> I renamed a #define he uses, to be able to do funge98 and funge108 handprints
15:45:01 <AnMaster> which is an URI
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:11:57 <tusho> hi ais523
16:12:27 <tusho> hmm
16:12:29 <tusho> AnMaster: why isn't he here?
16:13:16 <AnMaster> ais? no idea
16:13:21 <AnMaster> I need to reach him today
16:13:30 <tusho> email him
16:13:33 <tusho> but still
16:13:34 <tusho> he's normally here..
16:13:42 <tusho> typical, he goes one day after rebuilding the eso machine
16:13:47 <tusho> :)
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:02 <AnMaster> tusho, hah
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:53 <AnMaster> lyx gives semantic
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:22 <AnMaster> because I will do LaTeX
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:36 <AnMaster> it doesn't look good
16:16:47 <AnMaster> tusho, well the pdf one will be the official one
16:16:48 <AnMaster> period
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:16 <tusho> No way.
16:17:26 <AnMaster> anyway LaTeX one will be official
16:17:27 <AnMaster> :)
16:17:36 <AnMaster> that isn't propietary
16:18:15 <AnMaster> tusho, issue solved :P
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:20 <AnMaster> so I said LaTeX to be sure
16:19:20 <tusho> wtf
16:19:22 <tusho> lyx is open source
16:19:27 <tusho> ...
16:19:28 <tusho> isn't it
16:19:30 <AnMaster> tusho, yes but just one implementation
16:19:31 <AnMaster> :P
16:19:38 <AnMaster> so not as free and open as LaTeX
16:19:47 <AnMaster> LaTeX is more established
16:19:51 <tusho> fine by me
16:19:58 <AnMaster> but LyX could work too
16:20:01 <tusho> ESO will use ruby heavily, that's a language without a spec :P
16:20:09 <AnMaster> tusho, it got no spec!?
16:20:16 <tusho> AnMaster: just like python, perl, ...
16:20:16 <AnMaster> does python have a spec then?
16:20:19 <AnMaster> oh my
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:49 <AnMaster> nice
16:20:51 <tusho> the same cannot be said for python, perl
16:20:56 <AnMaster> tusho, erlang!
16:21:03 <tusho> AnMaster: does erlang have a spec?
16:21:04 <tusho> beats me
16:21:09 <AnMaster> tusho, it does iirc
16:21:13 <tusho> ok
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:24 <tusho> It's Ada
16:21:25 <tusho> not ADA
16:21:28 <AnMaster> kk
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:02 <AnMaster> nice
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:34 <AnMaster> it is open source?
16:22:42 <tusho> yes
16:22:45 <tusho> which makes the name even more ridiculous
16:22:51 <AnMaster> indeed
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:25 <AnMaster> Passenger?
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:43 <AnMaster> Passenger?
16:23:55 <tusho> AnMaster: it's that apache module I talked about
16:24:00 <AnMaster> ah right
16:24:02 <AnMaster> now I remember
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:17 <tusho> real men use TeX
16:25:19 <tusho> :)
16:25:25 <AnMaster> very fun
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:42 <tusho> we'll see
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:44 <AnMaster> eh of course I code in C
16:26:51 <tusho> AnMaster: REAL MAN STATUS: REVOKED
16:26:59 <AnMaster> tusho, you code in python
16:27:08 <AnMaster> so you are no real man either
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:33 <AnMaster> tusho, sorry I forgot the ~
16:27:51 <tusho> AnMaster: and I intentionally left mine off
16:27:53 <tusho> :)
16:27:56 <AnMaster> hah
16:28:09 -!- jix has joined.
16:28:34 <AnMaster> tusho, well maybe you reached the level of $\approxeq$ then?
16:28:39 <tusho> hah
16:28:43 <AnMaster> two ~ over a _
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:14 <AnMaster> well... postgre rocks
16:29:15 <tusho> we got like 16MB left
16:29:16 <tusho> always
16:29:20 <tusho> AnMaster: yeah, we'll have postgre
16:29:42 <AnMaster> and lighttpd > apache
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:11 <AnMaster> tusho, what about arc?
16:30:15 <AnMaster> will you support arc!?
16:30:17 * AnMaster runs
16:30:21 <tusho> AnMaster: yes!
16:30:25 <tusho> Arc Enterprise Edition
16:30:26 <AnMaster> tusho, really?
16:30:28 <tusho> :D
16:30:32 <AnMaster> hah
16:30:49 <AnMaster> tusho, you want a good front page too
16:31:05 <AnMaster> tusho, something looking like IETF one
16:31:07 <AnMaster> or something
16:31:14 <AnMaster> or ISO one
16:31:18 <AnMaster> bbiab
16:31:24 <tusho> AnMaster: IETF's looks like it's from 1996
16:31:25 <tusho> which it is
16:31:26 <tusho> :p
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:58:42 <AnMaster> and what about mercurial?
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:01:57 <AnMaster> tusho, cvs?
17:02:05 <tusho> AnMaster: OVER MY DEAD BODY
17:02:08 <AnMaster> hah :D
17:02:16 <AnMaster> rcs?
17:02:28 * AnMaster watches tusho go spare
17:02:31 <tusho> AnMaster: if an implementation of rcs in arc is provided, yes!
17:02:41 <AnMaster> tusho, what about cvs in arc?
17:02:49 <tusho> AnMaster: it'd have to be in arc-php
17:02:53 <AnMaster> haha
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:30 <AnMaster> which you will host I guess
17:03:32 <AnMaster> wait there are more
17:03:35 <AnMaster> tusho, monotone?
17:03:37 <AnMaster> tla?
17:03:42 <tusho> AnMaster: yep
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:03:59 <AnMaster> bzr is like improved tla
17:04:11 <tusho> AnMaster: yes, but without the craziness
17:04:14 <tusho> oh, and arch2..
17:04:15 <AnMaster> tusho, indeed
17:04:26 <tusho> arch2 is fun because it is even crazier
17:04:27 <tusho> :)
17:04:32 <AnMaster> it is?
17:04:35 <tusho> AnMaster: no bitkeeper though ;)
17:04:36 <AnMaster> hm
17:04:36 <tusho> and yes
17:04:41 <tusho> it has filenames like {arch}/+foo
17:04:46 <AnMaster> ouch
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:11 <tusho> *it's
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:54 <tusho> AnMaster: yeah
17:05:59 <tusho> no pushing over http, though
17:06:00 <tusho> or https
17:06:01 <tusho> we'll never do that
17:06:03 <tusho> always ssh
17:06:09 <AnMaster> indeed
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:07:38 <AnMaster> I know svn does
17:08:12 <tusho> AnMaster: no, you need git on the server though
17:08:13 <tusho> same for darcs
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:29 <AnMaster> !
17:08:30 <AnMaster> :P
17:08:36 <AnMaster> bzr > * in that aspect
17:08:41 <tusho> so what
17:08:46 <tusho> that's liket he least important thing ever
17:08:47 <AnMaster> nothing...
17:08:52 <AnMaster> bzr+ssh is faster than sftp
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:49 <tusho> yes yes yes :p
17:09:53 <tusho> never sudoers though
17:09:54 <AnMaster> for bzr repo browser I recommend logger head
17:09:54 <tusho> :-P
17:10:02 <tusho> and we don't have browsers up right now
17:10:02 <AnMaster> tusho, does ais have that?
17:10:05 <tusho> and yes
17:10:06 <AnMaster> tusho, ah
17:10:08 <tusho> me and ais are sudoers
17:10:09 <AnMaster> loggerhead is good
17:10:33 <tusho> AnMaster: we are probably waiting until we find a browser that does multiple vcs' in one
17:10:35 <AnMaster> tusho, bzr 1.0 or later :D
17:10:35 <tusho> for consistency in the ui
17:10:42 <AnMaster> tusho, ah, is there any such?
17:10:45 <tusho> not sure
17:10:48 <tusho> if there isn't, we'll write one
17:10:48 <AnMaster> viewvc does svn and cvs
17:10:49 <tusho> :)
17:11:03 <AnMaster> tusho, you will write bzr support?
17:11:09 <AnMaster> you'd need to do python then
17:11:09 <tusho> yes
17:11:12 <tusho> no
17:11:15 <AnMaster> to talk to lib.bzr
17:11:20 <AnMaster> err
17:11:21 <tusho> i could shell out :-P
17:11:22 <AnMaster> bzrlib
17:11:23 <tusho> though
17:11:27 <tusho> I think there's a ruby-python bridge
17:11:28 <AnMaster> tusho, that would be slow
17:11:29 <tusho> i could use that
17:11:30 <AnMaster> :/
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:21 <tusho> :p
17:13:38 <tusho> and probably sinatra for the framework - http://sinatrarb.com/ - it's nice and minimal
17:13:39 <AnMaster> tusho, trac is also great
17:13:51 * tusho stabs AnMaster repeatedly
17:13:57 <AnMaster> why?
17:14:01 <AnMaster> why do you hate trac?
17:14:03 <tusho> trac
17:14:09 <AnMaster> why do you hate trac?
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:34 <tusho> yes I have
17:14:39 <AnMaster> tell me!
17:14:40 <tusho> I'm just too lazy to share all the reasons right now
17:14:41 <tusho> :D
17:15:04 <AnMaster> share some?
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:18 <AnMaster> however
17:15:23 <AnMaster> all parts integrate nicely
17:15:31 <tusho> AnMaster: Buy me tusho.org and I'll post an article on it. :-P
17:16:34 <AnMaster> never
17:18:34 <tusho> AnMaster: WELL THEN
17:18:35 <tusho> :D
17:26:55 <AnMaster> tusho, trac+cvs
17:27:01 * AnMaster watches tusho cringe in pain
17:27:05 <tusho> AnMaster: i died
17:27:18 <AnMaster> does track even support cvs?
17:27:22 <AnMaster> trac*
17:27:22 <tusho> yes
17:27:23 <tusho> *trac
17:27:28 <tusho> and CVSTrac certainly does
17:27:31 <tusho> (trac's inspiration)
17:27:33 <tusho> (made by sqlite author)
17:27:39 <AnMaster> interesting
17:27:45 <AnMaster> sqlite rocks thoug
17:27:48 <AnMaster> though
17:27:55 <AnMaster> or do you hate it too?
17:28:00 <tusho> i like sqlite
17:38:19 <Deewiant> it doesn't even implement all of SQL92 though :-/
17:39:04 <oklopol> o
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:39:19 <Slereah_> Hello gentlemen.
18:40:26 <oklopol> hully
18:40:33 <Slereah_> AnMaster gentlemen, are you thar?
18:41:05 <AnMaster> Slereah_, yes packing
18:41:12 <AnMaster> leaving for norway tomorrow morning
18:41:15 <AnMaster> so kind of busy
18:41:16 <AnMaster> why?
18:41:27 <Slereah_> Oh, forget it then.
18:41:37 <oklopol> o
18:43:00 <AnMaster> oklopol, why?
18:43:05 <AnMaster> oklopol, going to oslo
18:43:25 <AnMaster> seeing the Fram Museum, Viking ship museum, and so on
18:43:47 <AnMaster> oklopol, family too
18:43:50 <Slereah_> Fram?
18:43:56 <AnMaster> Slereah_, google?
18:45:03 <Slereah_> "Fram ("Forward") is a ship that was used in expeditions in the Arctic and Antarctic regions"
18:45:06 <Slereah_> 'is one?
18:46:39 <AnMaster> aýe
18:46:41 <AnMaster> aye*
18:46:44 <Slereah_> Ah fuck.
18:46:50 <AnMaster> Slereah_, why?
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:17 <AnMaster> editors'
18:49:18 <AnMaster> *
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:07 <Slereah_> How do I do this?
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:14 <AnMaster> did you wait that long?
18:50:28 <Slereah_> I waited for quite a while.
18:50:36 <Slereah_> I got it to work before, so I knew what to expect.
18:50:38 <AnMaster> <oklopol> o
18:50:39 <AnMaster> <AnMaster> oklopol, why?
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:33 <AnMaster> ..
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:34 <AnMaster> could Slereah_ re-create it?
18:53:37 <AnMaster> I bet he couldn't
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:42 <Slereah_> And njust nuke the disk
18:53:45 <Slereah_> Because fuck it
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:14 <AnMaster> Slereah_, then linux
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:53 <AnMaster> root yes
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:31 <AnMaster> pikhq, nah, depends on distro
18:55:44 <AnMaster> gentoo is more like: well I expect you know what you are doing
18:55:47 * AnMaster use gentoo
18:55:54 <pikhq> AnMaster: Most distros are automated.
18:56:02 <AnMaster> <3 gentoo
18:56:04 <pikhq> Gentoo, though, definitely assumes you know what you're doing.
18:56:06 * pikhq <3 gentoo
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:19 * pikhq <3 Slackware
18:56:19 <AnMaster> indeed
18:56:32 * AnMaster loves freebsd too
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:10 <AnMaster> openbsd is just pure text
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:57:57 <AnMaster> pikhq, coca? XD
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:58:57 <AnMaster> I think c already hit me
18:59:04 <pikhq> I've only done normal LFS a few time.
18:59:07 <pikhq> Times, even.
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:31 <AnMaster> like:
18:59:35 <AnMaster> blah blah blah
18:59:46 <AnMaster> Do you want to blah blah [Yn]?
18:59:50 <AnMaster> and so on
18:59:57 <fizzie> Sounds familiar.
19:00:18 <AnMaster> fizzie, oh and checkboxes for package sets
19:00:47 <AnMaster> pikhq, use a 2.2 kernel then
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:01:19 <AnMaster> pikhq, never heard of it
19:01:26 <AnMaster> uclinux I know
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:12 <AnMaster> nice
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:27 <tusho_> *g*
19:04:35 <pikhq> They get rid of /proc, should you wish. . .
19:04:41 <AnMaster> hah
19:04:50 <AnMaster> pikhq, that will break stuff like strace
19:04:57 <tusho_> omg
19:04:59 <tusho_> removing /proc...
19:05:01 <tusho_> BREAKS THINGS
19:05:04 <AnMaster> yes
19:05:04 * tusho_ has a seizure
19:05:11 * AnMaster joins tusho_
19:05:16 <pikhq> No more than using Linux 2.2.
19:05:16 <tusho_> I CAN'T BELIEVE IT
19:05:24 * tusho_ rolls around crazily
19:05:28 <pikhq> Busybox can handle it, BTW.
19:05:30 <tusho_> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGGGGGGGGGGGGG
19:05:32 * AnMaster joins tusho_
19:05:40 * tusho_ joins #tusho_
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:09 <AnMaster> pikhq, for /dev/sda2?
19:07:17 <AnMaster> it being SCSI
19:07:22 <AnMaster> or maybe SATA
19:07:28 <pikhq> 0x0802.
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:08:00 * pikhq nods
19:09:30 <AnMaster> ah
19:09:34 -!- tusho_ has changed nick to tusho.
19:10:43 <AnMaster> tusho, can you /msg email for ais?
19:10:53 <tusho> ais523@bham.ac.uk
19:11:06 <AnMaster> k thanks
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:16:05 <pikhq> :-O
19:17:39 <AnMaster> impressive
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:22:30 <AnMaster> no clue
19:22:37 <AnMaster> depend on what features?
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:02 <pikhq> Bah.
19:44:17 <pikhq> If I reimplement stuff myself, then I'll end up with something that's not UNIX.
19:44:18 <pikhq> ;)
19:44:29 <pikhq> "I call it... UNIX++"
19:44:36 <pikhq> :p
19:45:42 <tusho> pikhq: Well, okay then
19:45:46 <tusho> tiny-linux + busybox
19:45:47 <tusho> But not uclibc.
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:46:53 <AnMaster> pikhq, linux 0.1?
19:47:02 <tusho> AnMaster: That's not linux-tiny.
19:47:14 <AnMaster> indeed
19:47:15 <AnMaster> it is not
19:47:19 <AnMaster> but should be pretty small
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:42 <tusho> And shrug.
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:47:59 <AnMaster> true :/
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:24 <AnMaster> Swedish keyboard
19:48:28 <AnMaster> it matches what I got here
19:48:29 <AnMaster> :D
19:48:41 <tusho> pikhq: Say, you should make the focus of your kernel the smallest POSIX system evar.
19:48:57 <pikhq> :)
19:49:03 <AnMaster> busybox isn't POSIX is it?
19:49:14 <pikhq> I thought it was.
19:49:14 <tusho> AnMaster: No, he'd have to reimplement just about everything.
19:49:16 <tusho> But still.
19:49:25 <tusho> Hm.
19:49:26 <pikhq> *shrug*
19:49:26 <tusho> Well maybe it is.
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:19 <tusho> :)
19:51:29 <AnMaster> hah
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:04 <tusho> For smallness.
19:52:05 <AnMaster> tusho, true I guess
19:52:34 <Slereah_> Well, the linux partition is back on /mnt/linux/
19:52:40 <Slereah_> How do I gain access to it?
19:52:41 <AnMaster> pikhq, what calling convention would be the smallest? I bet passing stuff in registers would be best
19:52:51 <AnMaster> and afk now
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:10 <AnMaster> pikhq, well what about cdecl?
19:55:43 <AnMaster> pikhq, I'm pretty sure linux pass stuff on the stack
19:55:43 <pikhq> Erm.
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:10 <AnMaster> pikhq, and network
19:57:24 <pikhq> If I bother to port uIP.
19:57:24 <AnMaster> ipv6
19:57:36 <pikhq> (uIP: a TCP/IP stack in 8k or less)
19:57:51 <AnMaster> ipv6 too?
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:58:58 <tusho> X11!
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:09 <tusho> it should do x11
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:13 <tusho> it'd rock
20:00:26 <pikhq> BIOS calls are actually useful from 16-bit code, after all.
20:00:58 <AnMaster> pikhq, you can thunk yes
20:01:17 <AnMaster> heck you can do that from 32-bit mode too
20:01:26 <pikhq> Nowhere near as easily.
20:01:51 <AnMaster> indeed
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:06:07 <tusho> sendmail
20:06:08 <tusho> more like
20:06:09 <tusho> sendspam
20:06:13 <AnMaster> hah
20:07:23 <pikhq> Good lord. Now, I'm imagining an OS which actually takes advantage of the x86's segmented architecture.
20:07:29 <pikhq> Yes, I am insane.
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:17:51 <tusho> pikhq: X11.
20:18:10 <pikhq> tusho: Not unless you want to write the X11 driver.
20:18:16 <tusho> pikhq: Shut up. :p
20:19:56 <AnMaster> haha
20:27:05 <tusho> so
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:36 <Slereah_> Not me.
20:42:48 -!- Hiato1 has joined.
20:42:50 <Hiato> Heh, why thank you Slereah_
20:43:03 <Slereah_> Well, I have no xchat.
20:43:12 <Hiato> Naah, no worries :)
20:43:25 <tusho> Hiato: yse?
20:43:27 <tusho> *yes
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:33 <tusho> find freenode
20:46:34 <tusho> click edi
20:46:35 <tusho> t
20:46:38 <tusho> and fill in the password field
20:46:41 <Hiato> righty o
20:46:44 <Hiato> heh, thanks :)
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:47:50 <Hiato> yay, thanks :)
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:15:54 <Slereah_> And then, BAM!
21:15:56 <Slereah_> POW!
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:15 <Slereah_> Bai
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:00 <Slereah_> No.
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:31:34 <Slereah_> Also Knight Rider.
21:31:51 <oerjan> hm
21:32:00 * oerjan doesn't know what that is
21:32:05 <Slereah_> DDD:
21:32:21 <Slereah_> Come on, David Motherfucking Hasselhoff!
21:32:25 <tusho> oerjan: !
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:34:20 <oerjan> 20 years, hm almost
21:35:14 <Slereah_> Hm.
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:12 <tusho> Shut up.
21:38:39 <Slereah_> It has words and everything!
21:38:40 <Slereah_> Well, it has words, at least.
21:38:47 <oerjan> it is possible knight rider was big in norway - there appears to be no norw. wikipedia entry on it
21:38:53 <oerjan> *was never
21:40:22 <Slereah_> Let me fill you in then :
21:40:26 <Slereah_> There's a secret agent
21:40:29 <Slereah_> And a talking car
21:40:33 <Slereah_> SOLVING CRIMES
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:43:28 <tusho> Win.
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:04 <Slereah_> Holy shit
21:47:27 <tusho> hahahahh
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:58:28 <lament> Also he's a ninja!
21:58:53 <Slereah_> *nunchucks noise*
21:58:53 <tusho> Slereah_: Wow.
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:18:26 <Slereah_> Ah, the speed is picking up
22:18:30 <Slereah_> I'm up to L
22:19:37 -!- sebbu has quit (Connection timed out).
22:23:36 <Slereah_> It are done, yay :D
22:24:54 <Slereah_> A man proposed me the following command to nuke fucking everything : dd if=/dev/zero of=/dev/...
22:25:01 <Slereah_> Is it wise?
22:32:31 -!- oerjan has quit ("Nuking fucking everything is never wise").
22:35:11 <tusho> back
22:35:17 <tusho> Slereah_: Hmm.
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:55 <tusho> Slereah_: But...
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:39:37 * Slereah_ turns off every HD
22:41:51 <Slereah_> The big HD seems to be sda.
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:45 <Slereah_> Fuck it, let's go with sda.
22:46:50 <tusho> Slereah_: Yes. That's right.
22:47:00 <tusho> Prepare for BURN
22:47:08 <Slereah_> Well, I'll see you as soon as I reinstall XP.
22:47:15 <tusho> Slereah_: wut
22:47:17 <Slereah_> If the HD works, that is.
22:47:17 <tusho> you have to wipe it first
22:47:21 <Slereah_> Yeah
22:47:24 <Slereah_> But after I wipe it
22:47:30 <Slereah_> I will reinstall XP.
22:47:32 <tusho> Slereah_: OK. But keep us updated on the wipe
22:47:33 <tusho> :D
22:47:37 <tusho> Also.
22:47:40 <tusho> Why not just install jewnix.
22:47:45 <tusho> *lewnix
22:47:53 <Slereah_> Because it is fucking terrible
22:48:07 <tusho> Slereah_: No it's... not?
22:48:13 <Slereah_> YES IT IS D:
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:48:52 <Slereah_> Problem is
22:48:59 <Slereah_> Even for everyday things
22:49:03 <Slereah_> I don't know how to use it
22:49:09 <tusho> Slereah_: But with US you have POWER!
22:49:14 <tusho> Which lunix are you using anyway
22:49:20 <Slereah_> Kubuntu
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:45 <Slereah_> One empty?
22:49:50 <tusho> Slereah_: Who knows?!
22:49:57 <Slereah_> You?
22:50:00 <Slereah_> I hoped!
22:50:07 <tusho> Nope. I just know that that'll trash it.
22:50:52 <Slereah_> I hope for one.
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:53:55 <Slereah_> WINDOWS
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:54:44 <tusho> Slereah_: VMWare
22:54:46 <tusho> ;---------;
22:55:01 <Slereah_> Stop inventing names.
22:55:07 <tusho> VMWare is not a name
22:55:15 <tusho> http://www.vmware.com/
22:56:18 <Slereah_> I still don't know what it is
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:27 <Slereah_> IT IS LIES
22:57:28 <tusho> There's not much place for it to go wrong.
22:57:37 <tusho> Also.
22:57:40 <Slereah_> Trust me tusho
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:01:24 <Slereah_> Install giant games on it.
23:01:32 <tusho> So. Do that.
23:02:10 <Slereah_> Also by the way, what would you recommand as a distro
23:02:21 <Slereah_> Keeping in mind my savyness.
23:02:44 <tusho> Ubuntu.
23:02:48 <tusho> It's like Kubuntu, but easier.
23:02:53 <Slereah_> 'kay
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_> 34580841+0 records in
23:05:05 <Slereah_> 34580840+0 records out
23:05:05 <Slereah_> 17705390080 bytes (18 GB) copied, 1014.53 seconds, 17.5 MB/s
23:05:07 <Slereah_> wat
23:05:33 <tusho> Slereah_: How big is the harddrive?
23:05:54 <Slereah_> 80 gigs.
23:06:00 <tusho> Slereah_: O dear.
23:06:02 <tusho> Well.
23:06:04 <tusho> Why are you wiping it, again?
23:06:21 <Slereah_> Because all else have failed.
23:06:37 <tusho> Slereah_: OK. Well. Odd.
23:06:41 <tusho> I don't know why that would happen.
23:08:00 <Slereah_> I'm trying it again.
23:08:33 <tusho> Slereah_: Godspeed.
23:08:45 <Slereah_> A thousand second isn't very speedy.
23:09:05 <tusho> Slereah_: Wait.
23:09:06 <tusho> Cancel it.
23:09:08 <tusho> (Ctrl-C)
23:09:15 <Slereah_> Done.
23:09:22 <tusho> Slereah_: OK:
23:09:59 <tusho> Slereah_: Meh
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:21 <tusho> poiuy_qwert: yes
23:11:26 <tusho> sgeo has a brainfuck+psox one
23:11:31 <poiuy_qwert> nice
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:11:57 <poiuy_qwert> i should finish mine
23:13:30 -!- immibis has joined.
23:14:21 * pikhq = 100% insane
23:14:36 <pikhq> I'm thinking of an 8086 exokernel.
23:14:44 <tusho> pikhq: POSIX?
23:15:00 <pikhq> tusho: What part of '8086 exokernel' says POSIX to you?
23:15:08 <tusho> The part saying 'AWESOME'
23:15:14 <Slereah_> The O is in common
23:15:19 <tusho> Slereah_: ?
23:15:22 <tusho> oh.
23:15:22 <tusho> hah
23:15:51 <Slereah_> Also, 080 = P D:
23:16:38 <Slereah_> And... 6 = SIX
23:16:40 <Slereah_> DDD:
23:18:24 <tusho> :DDDD
23:20:38 <poiuy_qwert> lol
23:21:28 <Slereah_> Hm. Could I wipe out a hard drive with an electric toothbrush?
23:21:35 <Slereah_> Ideas are forming
23:21:44 <Slereah_> I got one on my desk
23:22:00 <Slereah_> "Take that, hard drive!"
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_> 34580841+0 records in
23:27:10 <Slereah_> 34580840+0 records out
23:27:10 <Slereah_> 17705390080 bytes (18 GB) copied, 998.844 seconds, 17.7 MB/s
23:27:19 <Slereah_> It's toothbrush time.
23:27:23 <tusho> Slereah_: There's something bad about those 18 GB!
23:27:43 <Slereah_> I'll try the XP way.
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).
2008-07-09
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:14:22 <tusho> ZOOOOOP
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:15:38 <RodgerTheGreat> ok, that'll do
01:17:08 <pikhq> Looks vaguely like the Sierpinski Triangle.
01:17:38 <pikhq> *Very* vaguely
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:19 <RodgerTheGreat> lament: bingo!
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:21:47 * RodgerTheGreat shrugs
01:22:17 <RodgerTheGreat> looks neat though, eh?
01:22:58 -!- puzzlet has joined.
01:23:00 <lament> sure, now do the same for chess
01:23:22 <lament> or at least go
01:24:06 <RodgerTheGreat> lament: buy me more ram and a couple of crays and I'll get right on it
01:24:15 <lament> RodgerTheGreat: weak
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:34 <lament> should be doable
01:24:40 <RodgerTheGreat> oh, hm.
01:24:44 <RodgerTheGreat> that's a good point
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:08 <lament> true
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:25:59 <lament> hehehe
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:26:18 <RodgerTheGreat> GO MICROSOFT GOONS GO
01:26:40 <lament> haha
01:27:16 <lament> i have worked on some seadragon stuff actually
01:27:26 <RodgerTheGreat> oh, really? nifty stuff
01:27:37 <lament> i am not impressed
01:27:59 <RodgerTheGreat> well, the TED demo was pretty cool
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:29:32 <RodgerTheGreat> nope
01:30:06 <lament> (seadragon is now called deep zoom)
01:30:18 <RodgerTheGreat> oh
01:34:12 <lament> but really
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:52:39 <augur> :O
01:52:55 <augur> WHATVE I MISSED
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:38 <Slereah_> Dudes.
09:30:51 <Slereah_> I tried to reinstall Windows XP.
09:31:00 <Slereah_> Then my DVD player fucking ATE THE CD
09:31:06 <Slereah_> Holy shit
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:07:34 <Slereah_> OM NOM NOM
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:07 <oklopol> i mean
13:20:18 <oklopol> what do the colors represent exactly?
13:20:24 <RodgerTheGreat> victories and losses
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:21:32 <RodgerTheGreat> it was a quick hack
13:22:39 <oklopol> so one move has already been made there?
13:22:58 <RodgerTheGreat> yes
13:23:41 <oklopol> what was that move?
13:24:27 <RodgerTheGreat> bottom left, clearly
13:24:41 <oklopol> oh, right xD
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:26 <tusho> hi ais523
17:01:30 <ais523> hi tusho
17:01:35 <tusho> i won
17:01:43 <tusho> pretty sure
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:01:57 <tusho> that's true.
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:02:24 <tusho> you do
17:03:40 <ais523> anyway, I'll only be here for another 2 hours or so
17:03:59 <tusho> ah, ok why?
17:04:03 <tusho> you weren't here yesterday too
17:04:07 <ais523> have to get home by 8
17:04:12 <tusho> OK
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:04:48 <tusho> :)
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:14:47 <ais523> oklopol: sounds good
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:51 <tusho> :)
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:15 <tusho> possibly, yes
17:16:16 <tusho> :P
17:16:24 <tusho> i'd so go to take INTERCAL lessons from ais523, though
17:16:28 <oklopol> i'm happy with either way
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:16:58 <oklopol> is that a prob?
17:16:59 <oklopol> win
17:17:00 <oklopol> dows
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:27 <ais523> which is a pain
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:37 <oklopol> indeed
17:18:51 <ais523> well, you need to install a C compiler first
17:18:53 <ais523> do you have one already?
17:19:15 <oklopol> not sure
17:19:19 <oklopol> i'll check
17:19:37 <ais523> try opening up a command prompt (start|run then type cmd and return) and typing in the command gcc
17:19:52 <oklopol> i don't have 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:53 <tusho> so.
17:20:55 <oklopol> hmm
17:20:59 <tusho> also, cygwin is like slow as hell
17:21:00 <oklopol> i have cygwin
17:21:00 <tusho> mingw is good
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:11 <tusho> I'd say
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:45 <oklopol> it typoed, silly prompt.
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:38 <ais523> no
17:23:40 <ais523> scroll down
17:23:46 <ais523> and you'll see links to a bunch of zipfiles
17:23:46 <oklopol> heh, okay
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:24:00 <oklopol> oh, i see.
17:25:25 <ais523> incidentally, what version of Windows are you running?
17:25:34 <oklopol> vista
17:25:43 <ais523> ah, could be interesting
17:25:45 <oklopol> hmm....
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:08 <tusho> WJW
17:27:21 <ais523> tusho: what's that an abbrev for?
17:27:24 <tusho> Wow Just Wow
17:29:07 <ais523> oklopol: unzipped yet?
17:29:34 -!- Slereah__ has joined.
17:30:13 <oklopol> just the first two
17:30:28 <oklopol> the rest of this one, and then 5 to go
17:30:31 <ais523> ok
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:16 <oklopol> but we'll see
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:37 <oklopol> :D
17:33:48 <oklopol> i've made a few installers in vb!
17:34:15 <tusho> wow
17:34:17 <tusho> that means ...
17:34:23 <oklopol> i think installing is an ugly concept
17:34:23 <tusho> ais523 has made INFINITE installers!
17:34:26 <oklopol> :D
17:34:31 <oklopol> well, "written"
17:34:38 <oklopol> in vb, you click "make installer"
17:34:49 <oklopol> and there's a wizard
17:36:24 <oklopol> now 4 to go
17:36:24 <pikhq> In GNU-land, it's implicit when you use Autotools.
17:36:24 <pikhq> :)
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:34 <oklopol> you just run
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:40:48 <ais523> oklopol: ok
17:41:00 <ais523> everything unzipped into the same directory?
17:41:05 <ais523> i.e. you have one bin subdirectory
17:41:14 <oklopol> yeah
17:41:19 <ais523> ok
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:54 <oklopol> whaat
17:41:55 <oklopol> hmm
17:41:56 <oklopol> okay
17:41:59 -!- Slereah__ has quit (Read error: 104 (Connection reset by peer)).
17:41:59 <oklopol> what are those?
17:42:14 <ais523> oklopol: basically they're like system-wide variables that tell your computer how to do things
17:42:19 <oklopol> ais523: i mean
17:42:23 <oklopol> what vars?
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 <oklopol> hmmhmm
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:31 <ais523> oklopol: done?
17:44:37 <tritonio_> hello
17:44:44 <ais523> hi tritonio_
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:28 <oklopol> ah, right
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:43 <oklopol> okay, done
17:45:58 <oklopol> oki
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:26 <oklopol> worked
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:46:53 <oklopol> okay
17:47:02 <oklopol> awaiting orders.
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:47:47 <oklopol> done
17:48:06 <ais523> you need to extract it
17:48:09 <oklopol> done
17:48:17 <ais523> ok, then open up a command prompt
17:48:20 <oklopol> done
17:48:20 <ais523> and cd into the resulting directory
17:48:30 <oklopol> done
17:48:38 <ais523> then makeick.bat
17:48:49 <ais523> hmm... that's the first time anyone's tried to run that script except me
17:48:51 <ais523> I hope it works...
17:48:57 <oklopol> oh
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:13 <oklopol> ...
17:49:22 <ais523> ugh
17:49:35 <oklopol> i didn't add djdir either
17:49:36 <ais523> it's set it to the same thing as DJDIR
17:49:42 <ais523> s/it's//
17:49:44 <oklopol> so... that might be the prob
17:49:48 <ais523> yep
17:50:03 <oklopol> i'll add, wait a mo
17:51:10 <oklopol> djdir didn't actually exist before, should it have?
17:51:14 <ais523> no
17:51:28 <oklopol> gives same errors
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:43 <oklopol> nope.
17:51:49 <ais523> yes, same target as DJDIR
17:52:34 <oklopol> about a million more errors now :P
17:52:41 <ais523> ugh
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:19 <ais523> ok
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:53:52 <oklopol> hmm
17:54:01 <ais523> try hitting pause just after you start
17:54:05 <oklopol> hmm
17:54:05 <ais523> it's a rarely-used key on the ketboard
17:54:06 <oklopol> k
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:08 <ais523> those ones are fine
17:55:10 <oklopol> 'bison' is not recognized as an internal or external command,
17:55:11 <oklopol> oh
17:55:15 <ais523> then you should get a couple of errors
17:55:17 <ais523> about bison and flex
17:55:19 <ais523> those are fine
17:55:20 -!- Slereah_ has joined.
17:55:21 <oklopol> yeah
17:55:31 -!- Slereah__ has quit (Read error: 104 (Connection reset by peer)).
17:55:45 <ais523> then what?
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:37 <oklopol> okily dokily.
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:21 <ais523> -I./src
17:57:23 <oklopol> done
17:57:28 <oklopol> i mean
17:57:30 <oklopol> the opening.
17:57:31 <ais523> then try running again
17:57:40 <ais523> that's a capital I by the way
17:58:21 <oklopol> yeah i have a good font
17:58:45 <oklopol> erroooooors
17:58:56 <ais523> ok, first few this time?
17:58:57 <ais523> the same?
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:58 <oklopol> same ones
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:19 <ais523> actually, wait
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:36 <oklopol> hmm
18:00:45 <oklopol> temp has a lot of stuff
18:00:48 <ais523> it should do
18:00:52 <ais523> does it have parser.h?
18:01:15 <oklopol> no
18:01:21 <oklopol> parser.c and parser.o, but no .h
18:01:33 <oklopol> also .y is there
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:01:58 <oklopol> quite hard to say
18:02:27 <ais523> try downloading that and putting it there
18:02:30 <ais523> and then trying again
18:02:40 -!- Corun has quit ("This computer has gone to sleep").
18:02:46 <oklopol> yeah, wait a bit
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:18 <oklopol> are these okay?
18:03:35 <tusho> Not the first one...
18:03:48 <oklopol> doesn't sound like it, no
18:04:01 <ais523> the second one's ok
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:47 <ais523> ah, of course
18:04:49 <ais523> it only happened once?
18:04:53 <oklopol> then i paused
18:05:00 <ais523> ah, unpause then
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:53 <oklopol> oken
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:02 <oklopol> 1 file(s) copied.
18:06:05 <oklopol> Compiling..., then this, then the copy messages
18:06:12 <oklopol> and it ends
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:19 <oklopol> can i just scrape it?
18:08:20 <oklopol> hmm
18:08:22 <oklopol> bye bye
18:08:27 <tusho> he'll be back.
18:08:31 -!- ais523 has joined.
18:08:31 <oklopol> o rly
18:08:37 <oklopol> can i just scrape the whole file?
18:08:45 <oklopol> empty it
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> [minglefold]
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:40 <oklopol> [oritself]
18:09:40 <oklopol> (_1|_1)->(_1)
18:09:45 <oklopol> this is the contents now
18:09:48 <oklopol> is that k?
18:09:49 <ais523> oklopol: that one's less useful, but will work too
18:09:53 <ais523> that's fine
18:09:56 <ais523> now try recompiling
18:09:57 <oklopol> okay
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:38 <ais523> really?
18:10:42 <oklopol> well no
18:10:43 <ais523> I don't remember writing that message anywhere
18:10:46 <oklopol> :P
18:10:55 <oklopol> just joking to pass the time
18:11:01 <oklopol> hmm
18:11:02 <oklopol> almost
18:11:07 <oklopol> not outta mem, but
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:16 <tusho> I'm confused, X.
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:11:37 <oklopol> oken
18:11:40 <oklopol> eroror.
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:12:58 <oklopol> is that so
18:13:02 <ais523> where it says FLAGS$ change that to FLAGS%
18:13:06 <oklopol> okay
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:49 <oklopol> same error
18:14:55 <ais523> which one?
18:14:56 <tusho> oklopol: change it to %CFLAGS^
18:14:57 <tusho> err
18:15:00 <tusho> %CFLAGS%
18:15:02 <ais523> %CFLAGS%
18:15:11 <ais523> instead of %CFLAGS$
18:15:23 <oklopol> it's exactly as the lines before and after it now
18:15:27 <ais523> good
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:15:39 <oklopol> hmm
18:16:36 <ais523> heh, the never-be-null warning is warning me that my assert is always true
18:16:58 <ais523> errors this time?
18:19:32 <oklopol> err
18:19:41 <oklopol> 20:14… oklopol: same error
18:19:46 <ais523> which one?
18:19:50 <oklopol> you haven't given me instructions after that
18:19:52 <oklopol> err
18:20:04 <oklopol> 20:11… oklopol: cset-l.c:3: error: expected '=', ',', ';', 'asm' or '__attribute__' before '-' t
18:20:04 <oklopol> 20:11… oklopol: oken
18:20:24 <ais523> oklopol: did you fix "ick-clc_cset_latin1 should be ick_clc_set_latin1"
18:20:26 <ais523> it's another typo
18:20:36 <ais523> in makeick.bat
18:21:10 <oklopol> well no i didn't
18:21:11 <oklopol> so wait
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:22:09 <oklopol> hmm
18:22:12 <oklopol> set or cset?
18:22:15 <ais523> cset
18:22:17 <ais523> sorry
18:22:55 <oklopol> i think it worked
18:23:06 <ais523> oklopol: try running bin/ick -@
18:23:16 <ais523> if that produces a usage message, it worked
18:23:32 <oklopol> it did
18:23:37 <ais523> yay!
18:23:43 <ais523> now on to the actual INTERCAL
18:23:44 <oklopol> so i have intercal now?
18:23:48 <oklopol> oh :)
18:23:49 <ais523> yep
18:23:55 <oklopol> i do, so cool
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:15 <oklopol> how 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:25 <oklopol> okay.
18:24:30 <ais523> let's see...
18:24:38 <ais523> INTERCAL's an imperative language
18:24:39 <oklopol> do you lessonize on #eso?
18:24:43 <oklopol> i know that much
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:01 <tusho> do it here
18:25:04 <tusho> i'd like to dig it up in the logs
18:25:07 <ais523> yes
18:25:20 <ais523> ok, so you write all the commands in sequence
18:25:20 <oklopol> yeah here is good
18:25:25 <ais523> which is already more normal than befunge
18:25:35 <ais523> all statements start with a "statement identifier"
18:25:47 <oklopol> okay
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:18 <oklopol> okay
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:41 <ais523> actually DOGIVEUP
18:26:47 <ais523> because the spaces are optional
18:26:49 * oklopol tries
18:26:55 <oklopol> ...how do i compile?
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:23 <oklopol> is it case sensitive?
18:27:28 <ais523> oklopol: not on Windows
18:27:35 <oklopol> i mean
18:27:36 <ais523> oh, INTERCAL itself is
18:27:38 <oklopol> do give up
18:27:43 <ais523> it has to be allcaps
18:27:55 <ais523> there's only one lowercase letter in INTERCAL, and it's part of an operator
18:28:13 <oklopol> ick nop.i seems to crash
18:28:18 <ais523> in what way?
18:28:22 <oklopol> hangs
18:28:27 <oklopol> so doesn't really crash
18:28:29 <ais523> ok, that's strange
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 <oklopol> ctrl-c is fine
18:29:22 <ais523> that shouldn't have triggered one, but you never know...
18:29:34 <oklopol> didn't trigger one
18:29:51 <ais523> try ick -o nop.i
18:29:55 <ais523> that dumps the output to stdout
18:29:59 <ais523> so you can see where it hangs
18:30:06 <oklopol> hangs.
18:30:11 <ais523> ugh
18:30:14 <ais523> try ick -d nop.i
18:30:19 <oklopol> :P
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:46 <oklopol> lotsa output
18:30:52 <oklopol> pages after pages of stuff
18:30:55 <oklopol> -d
18:30:56 <ais523> that's wrong
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:31:17 <oklopol> i think i have already
18:31:50 <ais523> ok, then two newlines
18:32:41 <oklopol> Entering state 1
18:32:44 <oklopol> Reading a token: lexer: returning token 292
18:32:47 <oklopol> Next token is token PLEASE ()
18:32:50 <oklopol> Shifting token error ()
18:32:53 <oklopol> Entering state 3
18:32:56 <oklopol> Reducing stack by rule 7 (line 189):
18:32:59 <oklopol> $1 = token error ()
18:33:02 <oklopol> lexer: returning token 292
18:33:05 <oklopol> -> $$ = nterm command ()
18:33:07 <oklopol> Stack now 0 1
18:33:11 <oklopol> Entering state 7
18:33:14 <oklopol> Reducing stack by rule 2 (line 169):
18:33:17 <oklopol> $1 = nterm program ()
18:33:20 <oklopol> $2 = nterm command ()
18:33:23 <oklopol> -> $$ = nterm program ()
18:33:26 <oklopol> Stack now 0
18:33:27 <oklopol> this repeats, no matter how many newlines.
18:33:32 <ais523> ok
18:33:49 <ais523> your program is just PLEASE GIVE UP
18:34:00 <oklopol> DO GIVE UP actually
18:34:07 <ais523> ok, let me see if it works over here
18:34:19 <ais523> nope, infiniloop for me too...
18:34:19 <oklopol> k
18:34:30 <ais523> actually no, it worked
18:34:31 <ais523> it was just slow
18:34:35 <oklopol> oh.
18:34:55 <ais523> oklopol: ah, did you write your program in Notepad?
18:35:06 <oklopol> edit.exe actually
18:35:12 <oklopol> i don't have a hex editor
18:35:17 <ais523> I was wondering if it had a BOM that was screwing things up
18:35:23 <oklopol> BOM?
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:01 <ais523> yes it does
18:36:06 <ais523> it's just invisible
18:36:07 <oklopol> err, no it does not.
18:36:12 <oklopol> invisible?
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:40 <oklopol> let's call your assertion
18:36:44 * oklopol opens python
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:18 <tusho> I believe
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:31 <oklopol> 'PLEASE GIVE UP'
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:15 <oklopol> *characters
18:38:17 <tusho> oklopol: it does,
18:38:21 <tusho> but python's file reading handles it
18:38:23 <tusho> i believe
18:38:28 <tusho> anyway
18:38:28 <oklopol> that's retarded
18:38:29 <tusho> you used edit.com
18:38:30 <tusho> so.
18:38:32 <tusho> and no, it's not
18:38:35 <tusho> it's called
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:01 <tusho> sheesh
18:39:15 <oklopol> :|
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:03 <ais523> probably it isn't
18:40:07 <ais523> oklopol: try one of the example programs
18:40:13 <ais523> e.g. ick pit/primes.i
18:40:29 <ais523> does that work or does it infiniloop?
18:40:46 <oklopol> yeah infoops
18:40:56 <oklopol> same parser error
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:38 <ais523> or just before it?
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:49 <augur> oklopol!
18:41:51 <augur> im in europe!
18:41:59 <tusho> wanting to turn it off is, well
18:41:59 <tusho> you don't
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:40 <augur> :3
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:42:59 <tusho> oklopol: #python
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:17 <tusho> :p
18:43:18 <oklopol> tusho: i want to see if there's a BOM, that thing prevents me from doing that
18:43:18 <ais523> DO, apparently
18:43:21 <ais523> PLEASE is 293
18:43:22 <tusho> (And not in a bi-curious sense)
18:43:26 <tusho> oklopol: #python
18:43:29 <oklopol> why?
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:40 <oklopol> ais523: wha?
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:16 <tusho> so that's bull
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:29 <tusho> oklopol: #python
18:44:37 <oklopol> tusho: nah.
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:44:58 <augur> oh joy
18:45:01 <oklopol> tusho: no.
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:28 <oklopol> okay.
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:47:39 <ais523> yep
18:48:31 <ais523> that has PLEASE=292 like it should be
18:49:13 <oklopol> yay
18:49:16 <oklopol> it did nothing!
18:49:32 <oklopol> so
18:49:36 <oklopol> seems to work now
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:02 <oklopol> okay
18:51:39 * ais523 has to go in about 3 minutes
18:51:51 <oklopol> CXXIII
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:00 <oklopol> resubnit
18:52:05 <ais523> anyway, that's the correct output
18:52:07 <oklopol> what does that mean
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:24 <oklopol> heh :P
18:52:34 <ais523> anyway, I'll continue this some other time
18:52:37 <ais523> maybe tomorrow?
18:52:44 <ais523> I should be able to stay longer then, too
18:52:48 <oklopol> perhaps.
18:52:52 <ais523> ok, bye
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:52:59 <oklopol> bye
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:07:58 <augur> lalala
19:09:15 <oklopol> lololol
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:35:32 <tusho> back
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:36 <augur> ::rapes tusho::
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:40 <oklopol> augur is such a bad dood
20:00:43 -!- Slereah__ has quit (Read error: 104 (Connection reset by peer)).
20:00:55 <augur> im so bad
20:00:59 <augur> oh man am i bad
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:03:47 <oklopol> o yeah i' is.
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:31:27 <tusho> what i miss.
22:32:21 <lament> rape
22:32:37 <tusho> lament: by augur?
22:32:52 <augur> ofcourse.
22:32:55 <augur> i raped you.
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:53 <augur> :p
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:34:24 <tusho> 12
22:34:35 <augur> awesome.
22:34:40 <augur> im even badder.
22:34:46 <augur> ::really bad::
22:35:25 -!- atrapado has quit ("Abandonando").
22:59:07 <tusho> ::rapes augur::
22:59:10 <tusho> JUST GOTTA BE DIFFERENt
22:59:12 <tusho> ALWAYS REINVENTING MYSELF
22:59:17 <augur> ::enjoys it:
22:59:39 <oklopol> o
22:59:55 <augur> klpl.
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 <augur> sure!
23:01:24 <tusho> i can only give you a few samples, though
23:01:28 <augur> anything for the children
23:01:29 <augur> :p
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:09 <augur> oh god
23:02:09 <augur> nevermind
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:48 <tusho> not sure
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:03:58 <tusho> :)
23:04:04 <augur> ok.
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:41 <tusho> you could do
23:04:43 <tusho> initWithName: name
23:04:44 <tusho> i think
23:04:48 <tusho> not finalized that yet
23:04:50 <tusho> but probably
23:04:56 <tusho> (it wouldn't be inferred, though, just dynamic)
23:04:59 <augur> i can see the inspiration
23:05:16 <augur> well
23:05:27 <augur> in my opinion
23:05:34 <augur> (Shouter initWithName: ...) is wrong
23:05:42 <tusho> oh, you're right
23:05:43 <tusho> heh
23:05:45 <tusho> it'd be
23:05:52 <augur> Shouter withName: ...
23:05:58 <augur> or
23:06:14 <augur> (Shouter new) initWithName: ...
23:06:22 <tusho> yes
23:06:27 <tusho> it'd be (Shouter alloc) initWithName:...
23:06:31 <tusho> as is objective-c
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:28 <tusho> that's not mine
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:44 <tusho> well yes I know
23:07:46 <tusho> but the point is
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:36 <tusho> yes
23:08:40 <tusho> it has a layer for .new
23:08:41 <augur> huh.
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:15 <augur> ::rapes lament::
23:09:24 <tusho> and you can remove initWithName
23:09:26 <augur> tusho: that makes no sense.
23:09:26 <lament> don't rape me :(
23:09:26 <tusho> so yeah
23:09:34 <augur> the new: message should not return the object itself.
23:09:37 <tusho> augur: it does.
23:09:40 <augur> why?
23:09:45 <augur> it doesnt in ObjC
23:09:46 <tusho> because that is what it does in objective-c.
23:09:51 <tusho> (Class new) returns a new Class.
23:09:56 <augur> yes.
23:10:05 <augur> but setName: @"Joe" doesn't
23:10:17 <tusho> hmph, okay
23:10:19 <tusho> i'll revise it
23:10:29 <lament> in smalltalk, it probably would
23:10:30 <augur> so you cant do (((Shouter new) name:"Joe") sayName)
23:10:37 <tusho> lament: yeah
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:22 <tusho> yes
23:11:23 <tusho> oky
23:11:24 <tusho> *okay
23:11:25 <tusho> :P
23:11:32 <tusho> hmm
23:11:36 <tusho> what syntax for class-methods....
23:11:50 <augur> +-
23:11:55 <tusho> augur: i mean in my language
23:12:04 <augur> so do i.
23:12:05 <augur> use +-
23:12:12 <tusho> that's not smalltalky
23:12:15 <tusho> i'd like to keep smalltalky _syntax_
23:12:19 <augur> but it is ObjC-y
23:12:26 <tusho> yes, but syntax-wise, I'm going for smalltalk
23:12:37 <augur> hm
23:12:50 <tusho> augur: considering just having a forClass seperator
23:12:50 <tusho> like
23:12:52 <tusho> method
23:12:53 <tusho> foo
23:12:55 <tusho> forClass
23:12:59 <tusho> [all methods here are class-side]
23:13:02 <augur> eh.
23:13:14 <tusho> augur: how about
23:13:17 <tusho> + and -
23:13:20 <tusho> but - is implicitly assumed
23:13:25 <tusho> and you don't really ever need to specify it
23:13:26 <augur> whatever.
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:45 <tusho> yeah
23:14:48 <tusho> @ basically means:
23:14:54 <tusho> run this code in the context of the class I'm making
23:14:55 <tusho> so it runs
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:25 <augur> attr: ...
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:43 <augur> no it wouldnt
23:15:44 <tusho> augur: they're not required
23:15:45 <tusho> like I said
23:15:48 <augur> oh.
23:15:56 <augur> then self attr: ...
23:16:08 <tusho> could work
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:16:51 <tusho> but i agree
23:17:04 <augur> well, its explicit in that its a method call. :P
23:17:33 <augur> also, "self new"?
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:48 <augur> oh wait yes
23:17:50 <augur> nevermind :p
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:28 <tusho> :)
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:01 <augur> uh
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:01 <lament> and yet, there aren't
23:22:10 <tusho> even if there isn't, I can wrap around a class and implement them without any real trouble
23:22:11 <tusho> so i'm happy
23:22:31 <augur> and yet lots of cocoa classes have class variables..
23:22:31 <lament> no, they don't
23:22:34 <augur> yes, they do.
23:22:36 <lament> because there're no class variables in objc
23:22:46 <tusho> augur: name a class?
23:22:48 <tusho> 'cause, you know
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 <tusho> heh
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:26 <lament> it has global scope
23:23:31 <augur> its not treated like one.
23:23:36 <lament> um
23:23:37 <augur> its accessed via the class.
23:23:42 <tusho> yeah, um, augur
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:23:56 <lament> what's worse
23:24:04 <lament> suppose you have a method initialize
23:24:06 <lament> for your class
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:31 <lament> no, it does not.
23:25:36 <tusho> it doesn't
23:25:36 <augur> yes it does.
23:25:36 <tusho> :\
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:25:57 <lament> they're just globals
23:26:00 <lament> like any other global in C
23:26:01 <augur> then show me how you access them.
23:26:06 <augur> they ARE supposed
23:26:08 <lament> like you would access any other global
23:26:11 <augur> because you're supposing they're globals.
23:26:15 <tusho> augur: dude
23:26:16 <tusho> lament means
23:26:19 <tusho> they are literall
23:26:20 <tusho> y
23:26:22 <tusho> at the top scope
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:34 <lament> or
23:26:38 <lament> anywhere else where you wish to put them
23:26:39 <tusho> + (int)global { return MyClass_global; }
23:26:40 <tusho> or whatever
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:06 <lament> those are methods
23:27:09 <augur> yes its a method lament
23:27:13 <tusho> augur: implement a class method without it
23:27:14 <tusho> go on
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:27 <tusho> augur: yes
23:27:29 <tusho> which does
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:03 <tusho> I'll wait here.
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:28 <tusho> since its ==
23:30:29 <tusho> so same object
23:30:30 <lament> oh
23:30:34 <tusho> still
23:30:35 <augur> durr.
23:30:37 <augur> way to go lament.
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:01 <augur> you suppose
23:31:02 <tusho> lol @ augur
23:31:03 <augur> and yet its not supposed?
23:31:10 <lament> ?
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:34 <lament> stop trolling
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:23 <tusho> augur: which is?
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:04 <augur> so you say
23:33:12 <lament> yep
23:33:16 <augur> and yet you show no proof that these things are global
23:33:19 <lament> ugh
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:09 <augur> there*
23:34:11 <tusho> augur: show us
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:33 <tusho> troll
23:34:33 <tusho> troll
23:34:33 <tusho> troll
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:04 <tusho> You go, man!
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:19 <augur> ...
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:35:59 <lament> by being an asshole
23:36:06 <augur> im not being an asshole
23:36:09 <augur> im asking you to just show me
23:36:10 <augur> and you wont
23:36:12 <augur> just
23:36:13 <augur> fucking
23:36:15 <augur> show
23:36:16 <augur> 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:36 <augur> link.
23:37:43 <lament> google
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:11 <augur> ok.
23:38:16 <lament> because i program in objective c for work
23:38:33 <augur> googled, verified, and accepted.
23:38:37 <lament> you suck.
23:38:40 <tusho> finally!
23:38:41 <tusho> jeez
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:15 <tusho> i thought
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:16 <tusho> obviously.
23:40:18 <tusho> *back
23:40:41 <augur> hey, you've gotta make shit up to argue.
23:40:45 <augur> not me.
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:10 <tusho> sure.
23:41:11 <tusho> go ahead.
23:41:52 <tusho> augur: come on.
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:11 <tusho> let him quote.
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:02 <tusho> just quote.
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:29 <tusho> augur: tell.
23:43:31 <augur> as the case may be.
23:43:36 <tusho> tell.
23:44:04 <tusho> augur: come on..
23:44:36 <augur> ask rodger the great.
23:44:44 <tusho> he's stated that in public, actually
23:44:49 <augur> did he?
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:45:44 <augur> ok im off to bed.
23:45:58 <tusho> augur: quote
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:46:57 <lament> probably
23:47:44 <augur> aw tusho are you really that eager to see rodger say you act like a child?
23:47:51 <tusho> sure.
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:48:52 * RodgerTheGreat nods
23:49:08 <augur> actually i made that up but hey, what he said.
23:49:24 <tusho> you're retarded, augur. :)
23:49:34 <RodgerTheGreat> oh, I thought you were just making a statement to me
23:49:38 <tusho> you claimed that I was the one who needed to fabricate stuff for my arguments
23:49:39 <tusho> how ironic
23:49:51 <tusho> i do like RodgerTheGreat's implicit attack, though
23:49:52 <tusho> very smooth.
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:05 <tusho> woooooosh!
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:31 <RodgerTheGreat> fuck you too, you little pest
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:21 <tusho> :)
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:43 <tusho> Crazy, isn't it?
23:51:52 <augur> reasoned arguments?
23:51:56 <RodgerTheGreat> http://bash.org/?14207
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:15 <augur> ?
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:43 <augur> tusho
23:52:51 <augur> what hes saying is that we didnt need to find out you were 12
23:52:53 <augur> we could tell
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:19 <augur> ofcourse you dont
23:53:20 <tusho> If you have secret logs of that too I'd enjoy seeing them.
23:53:24 <RodgerTheGreat> tusho: reading comprehension, dude
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:27 <tusho> keep it up
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:57:58 <tusho> grats
23:58:28 <lament> well, for one
23:58:41 <lament> tusho actually said exactly how you can do globals in objc
23:58:45 <lament> with code examples
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:04 <augur> first of all.
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.
2008-07-10
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:02 <oklopol> so, you figure
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:13 <augur> tusho
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:41 <oklopol> you guys are funny
00:05:43 <oklopol> night ->
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:49 <tusho> so we did.
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:10 <tusho> we gave it
00:09:11 <augur> after that it was all up to you.
00:09:16 <augur> no
00:09:18 <augur> LAMENT gave it
00:09:22 <augur> twenty minutes later
00:09:26 <augur> you gave nothing.
00:09:48 <lament> augur: instead of "oh? but...", there actually was a bunch of "yes it does. yes it does."
00:09:52 <Slereah_> Anyone has trouble with ICQ?
00:10:11 <augur> actually lament, there was not "yes it does yes it does"
00:10:12 <augur> there was
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:34 <oklopol> always with the logs
00:11:39 <tusho> i did.
00:11:41 <tusho> same thing.
00:11:41 <oklopol> irc would be a better place without them
00:11:44 <tusho> (gasp)
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:26 <tusho> :)
00:13:33 <augur> i promised not to do that and i broke that promise.
00:13:39 <tusho> yes, okay.
00:13:41 <tusho> apology accepted
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:13 <tusho> :p
00:14:15 <tusho> but yeah.
00:14:21 <tusho> let's talk about esolangs
00:14:21 <tusho> :p
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:00 <tusho> not ... really.
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:17:56 <tusho> he's not, no
00:18:02 <tusho> but java has several bad stuff
00:18:08 <augur> oh ofcourse it does
00:18:09 <tusho> e.g. public slots
00:18:11 <augur> its horrible and vil
00:18:11 <tusho> that's just wrong
00:18:12 <tusho> :)
00:18:13 <augur> evil*
00:18:19 <augur> Java needs to die
00:18:22 <augur> and it is dying
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:45 <tusho> which is nice
00:18:46 <tusho> (or raping)
00:18:47 <augur> everything Java based i've ever used has been shitty
00:18:49 <augur> _everything_.
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:19 <tusho> hahaha
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:20:50 <augur> buggy
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:31 <tusho> and it's not slow
00:21:34 <tusho> that's crap
00:21:36 <tusho> it has a slow startup
00:21:39 <tusho> but it is not slow, no way
00:21:42 <augur> no dude
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:01 <augur> which is sad
00:22:06 <tusho> :|
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:39 <augur> i just hate java
00:22:47 <augur> everything ive ever used that was java sucked.
00:22:50 <augur> thats all i know.
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:03 <tusho> java itself isn't
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:26 <tusho> yes
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:13 <tusho> anyway
00:24:14 <tusho> java does blow
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:08 <lament> verbosity, etc
00:25:12 <lament> it's all for a reason
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:40 <lament> augur: 11
00:25:58 <augur> damn. too young for the #esoteric orgy im planning.
00:26:07 <lament> i'm also straight.
00:26:10 <tusho> lament: don't pretend.
00:26:14 <tusho> we all know you're 7.
00:26:18 <augur> and gay
00:26:18 -!- timotiis has quit (Connection timed out).
00:26:20 <tusho> we can tell from the way you speak!
00:26:21 <tusho> :p
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 <tusho> define 'coming'
00:27:09 <augur> ::orgies with oklopol and slereah::
00:27:18 <augur> <3youtusho
00:30:19 <lament> i don't have a lisp
00:30:20 <lament> PG has a lisp
00:30:41 <tusho> it's a shitty lisp though
00:30:44 <tusho> he even named it
00:31:16 <lament> ARC - stands for A Really Crappy
00:31:33 <lament> "ARC language"
00:31:46 <augur> lol
00:31:55 <augur> i dont know how much Arc varies from clisp
00:31:59 <tusho> uh.
00:31:59 <augur> i like scheme tho.
00:32:00 <tusho> very.
00:32:06 <tusho> arc is just ... intolerably crap
00:32:12 <augur> why?
00:32:20 <tusho> HOW TO MAKE ARC:
00:32:23 <tusho> 1. Announce it.
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:32:58 <augur> oh
00:33:00 <augur> 10 years
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:29 <augur> i mean 10 years?
00:33:31 <augur> really?
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:50 <tusho> er
00:45:57 <tusho> js2 adds optional static typing with quite some nice types
00:46:01 <tusho> namespaces
00:46:12 <tusho> and tons more
00:46:28 <tusho> including better debugging
00:46:33 <tusho> a nicer browser api
00:46:34 <tusho> (I believe)
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:44 <tusho> they don't
01:01:46 <tusho> but
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:27 <augur> types? possibly.
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:05:37 <tusho> soo..
01:05:39 <tusho> and yes
01:05:43 <augur> awesome
01:05:48 <augur> oklopols place
01:05:56 <tusho> why not my place
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 <oklopol> and i don't?
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:35 <tusho> hotidlerchick!
01:07:56 <oklopol> well, i may have, but that data may be outdated
01:08:09 <augur> hot idler chick?
01:08:19 <oklopol> how i live isn't public info really
01:08:22 <oklopol> yeah very hot.
01:08:30 <augur> idler???
01:08:37 <augur> oh
01:08:40 <augur> idle-er
01:08:41 <augur> ?
01:08:48 <tusho> yes.
01:08:51 <tusho> hotidlerchick.
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:02 <augur> now i see
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:17 <augur> :O
01:09:26 <tusho> supposedly
01:09:29 <tusho> i think it's just oklopol though
01:09:32 <tusho> his other machine
01:09:34 <augur> oklo, youre girlfriend lurks here?
01:09:37 -!- bsmntbombdood has joined.
01:09:40 <tusho> hes netsplit augur
01:09:41 <augur> your*
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:06 <augur> what?
01:10:07 <tusho> ok then oklopol who is hotidlerchick
01:10:26 <oklopol> do i know who it is?
01:10:32 <oklopol> on what grounds
01:10:42 <augur> oklo, lemme see your girly
01:10:55 <oklopol> you guys are silly :)
01:10:55 <tusho> oklopol: same ip, dude
01:10:56 <tusho> same ip
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 <oklopol> :D
01:12:11 <augur> or better yet, show me you, naked, in high resolution
01:12:18 <oklopol> i'll show you everything
01:12:24 <oklopol> and more
01:12:27 <augur> hot
01:12:27 <augur> ::waits::
01:13:45 <augur> well? cmon!
01:14:18 * oklopol presses send
01:14:38 <augur> uh huh
01:14:42 <tusho> augur: i assume you will be posting it in here for scientific study relating to the orgy.
01:14:44 <tusho> wait wut
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 <oklopol> *for
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:11 <oklopol> and it didn't get through
01:16:12 <tusho> lolololololol
01:16:27 <augur> its not a dumptruck its a series of tubes!
01:18:27 <oklopol> i don't understand
01:18:40 <oklopol> please speak slowlier
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:22 <tusho> :p
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:30:31 <augur> ok night guys
01:30:42 <oklopol> n
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
04:32:32 <RodgerTheGreat> <:D
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
09:16:50 <augur> o.o
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:49:30 <oklopol> ooo
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:20:51 <tusho> hi ais523
16:20:53 <ais523> hi tusho
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:25 <ais523> yes
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:34:48 <ais523> hi oklopol
17:36:28 <oklopol> hi
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:27 <oklopol> i'm in the mood
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:23 <oklopol> yep
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:38:48 <oklopol> yeah
17:39:11 <ais523> also, READ OUT outputs in Roman Numerals
17:39:16 <oklopol> yeah, noticed
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:36 <oklopol> okay
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:21 <oklopol> okay
17:40:21 <ais523> such as .1
17:40:32 <ais523> and a 32-bit variable's name is : followed by a number
17:40:33 <ais523> like :10
17:40:37 <oklopol> okay
17:40:46 <ais523> you assign to a variable using the <- command
17:40:50 <ais523> as in DO .1 <- #10
17:40:55 <oklopol> yep
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:00 <oklopol> yeah would print X
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:43 <oklopol> okay.
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:00 <ais523> like ONE TWO THREE
17:43:01 <oklopol> sounds feasible
17:43:03 <ais523> when entering the number
17:43:14 <oklopol> oki
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:27 <oklopol> what are they?
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:43:58 <oklopol> i know some volapük
17:44:01 <ais523> cool
17:44:05 <ais523> do you know numbers in it?
17:44:09 <oklopol> no :)
17:44:14 <oklopol> i used to
17:44:17 <ais523> probably best to stick to English, then
17:44:21 <oklopol> ya
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:02 <oklopol> volapük has accents?
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:21 <tusho> ais523: um yes
17:45:24 <tusho> ö
17:45:27 <tusho> and ü
17:45:27 <oklopol> ais523: you mean the umlaut?
17:45:30 <ais523> yes
17:45:36 <tusho> and
17:45:37 <ais523> it's not really an accent, I suppose
17:45:37 <tusho> ä
17:45:38 <tusho> but that's it
17:45:39 <ais523> but not in ASCII
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 <oklopol> anyway, do continue
17:45:52 <ais523> oklopol: it's because I'm used to thinking in English
17:45:57 <oklopol> ya.
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:03 <ais523> and so on
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:22 <ais523> yes, I think so
17:47:25 <oklopol> i'm a bit slow atm.
17:47:34 <ais523> 13 in binary is 1101
17:47:45 <oklopol> ya¨
17:47:46 <oklopol> *ya
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:48:38 <oklopol> okay i get it.
17:48:51 <ais523> AND is & and OR is V
17:48:53 <oklopol> all work like that?
17:48:56 <ais523> yes
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:27 <augur> morning!
17:49:28 <augur> well
17:49:30 <augur> not really but
17:49:35 <tusho> morning augur
17:49:36 <oklopol> morn
17:49:39 <ais523> afternoon augur!
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:49:57 <tusho> :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:10 <tusho> :)
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:15 <ais523> and so on
17:51:21 <oklopol> (binary_operator number) = (binary_operator number (leftshift number 1)), right?
17:51:22 <oklopol> okay
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:46 <oklopol> okay
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:00 <oklopol> alright
17:54:06 <oklopol> i think i can guess that one
17:54:09 <oklopol> but do go on
17:54:12 <ais523> #&1101 = 00001101 & 10000110 = 00000100
17:54:19 -!- Sgeo has joined.
17:54:28 <oklopol> haha, right.
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:54:43 <oklopol> okay, go one
17:54:44 <oklopol> *pon
17:54:47 <oklopol> *on, hmph
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:32 <oklopol> *thought
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:39 <oklopol> so explicit "'s
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:57:54 <oklopol> ya
17:58:04 <oklopol> can you start with either @ toplevel?
17:58:06 <ais523> yep
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?
17:59:50 <oklopol> hmm.
17:59:51 <oklopol> no.
18:00:01 <ais523> well, .1 $ .2 alternates bits in .1 and .2
18:00:04 <ais523> then you & the result
18:00:15 <ais523> then you select every second bit from the result
18:00:16 <oklopol> so there is precedence
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:00:49 <oklopol> oh, left-to-right?
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:22 <oklopol> oh, i see.
18:01:30 <oklopol> ais
18:01:32 <oklopol> i meant
18:01:37 <oklopol> '& ".1 $ .2". '
18:01:43 <ais523> ah, that's legal too
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:01:57 <oklopol> syntactically
18:02:13 <oklopol> can you do
18:02:17 <oklopol> .&35
18:02:20 <ais523> yes
18:02:23 <oklopol> cool
18:02:25 <oklopol> i like it
18:02:31 <oklopol> so
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:45 <tusho> :&#12#34
18:02:53 <ais523> tusho: no, you can't
18:02:54 <tusho> would make :<result of &#12#34>
18:02:55 <tusho> aww
18:03:04 <oklopol> heh
18:03:05 <ais523> after all, Perl does that
18:03:18 <ais523> besides, &#12#34's a syntax error
18:03:29 <tusho> bah
18:03:29 <ais523> oh, one other important point to mention: in INTERCAL, syntax errors happen at runtim
18:03:30 <ais523> e
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> :&#12#34 <- .&#12#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, &#12#34's meaningless anyway
18:04:34 <tusho> So's your face :(
18:04:50 <ais523> oklopol: here's another common idiom for you to try: what does " .1 ~ .1 " ~ #1 do?
18:05:06 <oklopol> hmm
18:05:28 <oklopol> checks for zero?
18:05:41 <ais523> yep
18:05:54 <ais523> because it ANDs .1 with itself
18:05:56 <ais523> which does nothing
18:05:58 <oklopol> ya
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:35 <oklopol> ya
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:51 <ais523> like (10)
18:06:57 <ais523> so you could do (10) DO .1 <- #1
18:07:06 <ais523> sorry, s/line/command/
18:07:07 <oklopol> yeah
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:48 <oklopol> ya
18:07:53 <ais523> it's written as DO (10) NEXT
18:07:54 <oklopol> it has an arbitrary limit on height?
18:07:57 <ais523> oklopol: yep, 80
18:08:06 <oklopol> okay, easy to remember
18:08:19 <ais523> RESUME takes one argument, which is an expression
18:08:21 <ais523> as in DO RESUME #1
18:08:28 <oklopol> and returns
18:08:32 <ais523> then it pops that many entries from the NEXT stack and returns at the last one popped
18:08:36 <oklopol> hmm
18:08:42 <ais523> so DO RESUME #1 returns from the procedure you're in
18:08:44 <oklopol> i see
18:08:50 <ais523> but DO RESUME #2 returns from the procedure that called that one
18:08:59 <oklopol> so you can do try-catch
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:26 <oklopol> haha
18:09:29 <oklopol> that's awesome :D
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:21 <ais523> s/Wikipedia/Esolang/
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:42 <tusho> hmm
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:13:48 <oklopol> what's "if"
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:40 <tusho> o
18:14:42 <tusho> i'm just saying
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> ais523: ooo
18:15:15 <tusho> http://esolangs.org/wiki/FlogScript
18:15:20 <tusho> zzo38's golfscript answer
18:15:42 <tusho> 80 char underload
18:16:03 <tusho> ais523:
18:16:03 <tusho> Ia:{[{\}{.}{;}{+}{_{)()}S0\:}{{(}\+{)}+}{_+:}{P.}{}]_(\:{~:!*(a^S}1/?=~_,0=!F[}~
18:16:09 <ais523> not bad
18:16:13 <tusho> wjw
18:16:33 <oklopol> ais523: i got it.
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:17:56 <ais523> oklopol: no
18:17:57 <ais523> but it's useful
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:18:23 <tusho> try it?
18:19:33 <oklopol> underload in cise, need to make
18:19:41 <ais523> yes, definitely
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:17 <tusho> 2..*
18:21:26 <tusho> nice, is it not?
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 <ais523> well, not really
18:21:56 <oklopol> an infinite list of factorials in cise is 1::Il,)&*
18:21:57 <ais523> just on hold
18:22:04 <tusho> ais523: like 2..*?
18:22:08 <ais523> tusho: why the 2?
18:22:13 <tusho> 1 * x = x
18:22:19 <tusho> so you can start factorials at 2*
18:22:21 <tusho> basically
18:22:25 <tusho> .. = inclusive range
18:22:30 <ais523> tusho: that fails on factorial 1
18:22:37 <tusho> oh, true
18:22:38 <tusho> okay
18:22:39 <tusho> 1..*
18:22:46 <tusho> and
18:22:49 <oklopol> the product of [] is 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:23:33 <ais523> let me check
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:24:55 <tusho> :)
18:25:00 <ais523> tusho: no, it's useful
18:25:03 <tusho> i can do that, though
18:25:04 <tusho> U*
18:25:05 <ais523> very useful for looping, and so
18:25:08 <tusho> if U = 1..
18:25:15 <ais523> s/so/such/
18:25:26 <ais523> J uses a similar method to do loop-like objects, I believe
18:25:42 <tusho> :U 1..;:F U*;
18:25:47 <tusho> then F is factorial
18:25:47 <tusho> or just
18:25:50 <tusho> :F 1..*
18:25:51 <tusho> err
18:25:52 <tusho> :F 1..*;
18:25:53 <tusho> of course
18:26:00 <tusho> though hm
18:26:05 <tusho> {1..*}:F
18:26:08 <tusho> that's shorter.
18:26:13 <tusho> [1..*]:F
18:26:14 <tusho> that's nice
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:31 <tusho> [1..*]:!
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:43 <oklopol> 2..*
18:26:49 <oklopol> is it stacky?
18:26:49 <tusho> oklopol: 1..* actually
18:26:51 <tusho> and yes
18:26:54 <tusho> 1 = push a 1
18:27:02 <tusho> hm wait
18:27:03 <tusho> it'll have to be
18:27:06 <tusho> 1~..*
18:27:08 <tusho> 1 = push a 1
18:27:10 <tusho> ~ = swap
18:27:11 <oklopol> 1..*, push 1, n 1 .. => [1.. n], * => 1*2*...*n ?
18:27:12 <tusho> .. = inclusive range
18:27:15 <oklopol> thought so
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:26 <tusho> [1~..*]:fact
18:27:28 <tusho> [...] = lambda
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:27:46 <ais523> s.compiler.interp.
18:28:28 <oklopol> there is an overload interp?
18:28:32 <ais523> not really
18:28:35 <oklopol> why didn't i know that
18:28:36 <ais523> I have at least two interps
18:28:38 <oklopol> not really?
18:28:43 <ais523> neither is finished
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:19 <tusho> and
18:29:21 <tusho> the third is ninjacode
18:29:52 <oklopol> cool ninjas
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:39:48 <ais523> hi oerjan
18:40:33 <oerjan> hi ais523
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:25 <tusho> a few syntaxes
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:28 <tusho> wow, what
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:39 <tusho> :\
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:16 <ais523> yes
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:07 <ais523> yes, that's it
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:45 <ais523> lament: yes, you can
19:44:49 <ais523> but then you'd just submit the sane program
19:44:52 <tusho> ais523: how about iota
19:44:55 <tusho> sane->iota
19:44:57 <tusho> submit the 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:50:07 <oerjan> an iota more fun
19:50:56 <tusho> heh
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:03 <tusho> err
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:50:32 <ais523_> ok
20:52:18 <ais523> uploading now
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:26 <tusho> ais523: ow
20:54:27 <tusho> why the bars
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:11:56 <AnMaster> back, and night
21:15:36 <oklofok> nack, and bite.
21:15:46 <ais523> hi AnMaster
21:16:05 <AnMaster> ais523, yeah been on train for about 5 hours, so going to sleep
21:16:12 <ais523> makes sense
21:16:13 <AnMaster> just got back from norway
21:16:47 <oerjan> it's all his fault!
21:19:02 <AnMaster> ais523, just send a /msg if you want something and I'll read it tomorrow
21:19:07 <ais523> ok
21:51:02 <augur> la.
21:53:23 <augur> oklopol!
21:53:26 <augur> well
21:53:29 <augur> oklofok!
21:54:22 <oklofok> cool
21:54:29 <oklofok> quite cool indeed yes.
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:44 <GregorR> tusho: Uh
22:14:51 <GregorR> tusho: Blocks and functions are differentiated.
22:14:55 <tusho> GregorR: I mean
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:08 <tusho> :{} vs {}
22:17:15 <GregorR> That's Plof 2, man.
22:17:17 <GregorR> Get up to date.
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:22:16 <tusho> Problem solved.
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:53:16 <oklopol> so it seems
23:53:59 <oklopol> oh, it left
23:57:19 <augur> oklopololol
23:59:02 -!- oklofok has joined.
23:59:02 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
23:59:05 <tusho> oklofok: 'IT'?
23:59:37 <augur> tusho: he doesnt know the persons gender
23:59:45 <oklofok> seemed appropriate
23:59:51 <oklofok> augur: that's not what i use in that case, in general.
23:59:56 <oklofok> i had no reason
23:59:58 <tusho> augur: 'chick'
2008-07-11
00:00:06 <augur> tusho: 'internet'
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:00:37 <tusho> am i?
00:00:59 <augur> I DONT KNOW
00:01:02 <augur> OMG HAVE I RAPED A GIRL?
00:01:03 <augur> ::cries::
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:01:47 <oklofok> :P
00:01:52 <oklofok> you and your silly funs
00:02:00 <tusho> I AM AFRAID SO AUGUR
00:02:07 <augur> ::silly funs oklofok::
00:02:26 <oklofok> FUN FOR YOUR LIFE
00:04:05 <augur> ::lovelove::
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:34 <augur> oh right
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:25:39 <oklopol> does your mum live there?
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:42:43 <oklopol> rick is your mum?
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:46:05 <lament> oh
06:46:10 <lament> ha
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?
09:41:39 <AnMaster> RISC is way saner than CSIC
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:12:46 <ais523> hi everyone
14:22:53 <ais523> or noone
14:23:01 <ais523> pity
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:22 <oklofok> o
14:26:32 <ais523> I think that the language may end up deterministically Turing-complete
14:26:34 <ais523> but I'm not sure yet
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:28:25 <ais523> s/$/d/
14:28:29 <oklofok> indeed.yep
14:29:35 <oklofok> so you can do that reliably given wrapping
14:32:00 <augur> oklo :D
14:32:08 <oklofok> :D
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:29 <ais523> read the talk page
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:09 <augur> so
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:34 <ais523> different from what?
14:40:37 <ais523> langs in general?
14:40:39 <ais523> esolangs in general?
14:40:41 <ais523> usual paradigms?
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:03 <augur> HS9+ is stupid :P
14:41:09 <ais523> yep
14:41:17 <ais523> although it makes a good counterexample for lots of stuf
14:41:19 <ais523> s/$/f/
14:41:34 <ais523> if you've never come across concatenative langs before, look up Underload
14:41:37 <ais523> that's one of mine
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:10 <ais523> really?
14:43:11 <augur> or they were
14:43:15 <ais523> do they use Joy
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:41 <augur> ofcourse it does
14:43:44 <augur> or so says wiki
14:43:45 <augur> :p
14:43:46 <ais523> it's quite different from the typical eso concatenative language
14:43:55 <augur> eso concatenatives, feh. :P
14:44:02 <augur> oh dude
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:07 <ais523> though
14:47:15 <ais523> it is manipulating code on the stack to do conditionals
14:47:16 <augur> i wonder
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:15 <augur> etc
14:48:33 <ais523> ah, the issue with Forth is that it doesn't have formalised code quotations
14:48:39 <augur> ah
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:25 <oklofok> have no idea.
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:37 <augur> it probably was
14:50:43 <augur> i think you misread the post
14:50:48 <oklofok> perhaps
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:27 <oklofok> ah, indeed.
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:53:41 <augur> ill take a look
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:54:47 <augur> and so on
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
14:59:22 <hotidlerchick> silly languages, so sad :(
14:59:39 <oklofok> quite
15:00:49 <oklofok> black is "symmetric"? what does that mean?
15:01:19 <oklofok> symmetric pieces of code are equal?
15:01:25 <oklofok> reversible?
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:02:57 <oklofok> both seem nice
15:03:29 <augur> you know me, im not hugely a fan of unusable languages ;)
15:03:32 <AnMaster> ais523, hi
15:03:38 <ais523> hi AnMaster
15:03:40 <AnMaster> ais523, any questions related to ffungi?
15:03:46 <ais523> not yet
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:46 <AnMaster> hm
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:02 <AnMaster> I guess so
15:06:12 <ais523> maybe I could put the prototypes in the .c file?
15:06:17 <AnMaster> you could
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:06:50 <ais523> yes
15:06:56 <AnMaster> in the C file?
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:08:19 <AnMaster> hm
15:08:26 <AnMaster> I guess so
15:09:08 <AnMaster> ais523, be sure to put in a comment or something to say "if you change these also change..."
15:09:18 <ais523> maybe a good idea
15:09:28 * ais523 wonders if anyone would dare change them anyway
15:14:01 <AnMaster> hm?
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:48 <AnMaster> well not me at least
15:14:51 <AnMaster> I bet only you
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:35 <AnMaster> indeed
15:17:47 <AnMaster> the struct, what is the name of it?
15:18:35 <ais523> ick_ipposdeltatype
15:19:22 <AnMaster> struct ick_ipposdeltatype
15:19:22 <AnMaster> {
15:19:22 <AnMaster> long long ix, iy, dx, dy;
15:19:22 <AnMaster> };
15:19:23 <AnMaster> hrrm
15:19:31 <AnMaster> why long long?
15:19:34 <augur> see ya guys
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:21:55 <AnMaster> hm
15:22:18 <AnMaster> I have been pondering a 128-bit funge, but it wouldn't be portable
15:22:37 <AnMaster> gcc extensions
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:27:58 <AnMaster> hah
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:28:44 <AnMaster> (max speed 2 GHz)
15:29:05 <ais523> AnMaster: are you planning to enter the ICFP, by the way?
15:29:11 <AnMaster> ICFP?
15:29:12 <ais523> s/,/ contest,/
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:38 <AnMaster> in what language?
15:29:41 <AnMaster> what type of tasks
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:30:45 <Deewiant> not any lang this year
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:15 <Deewiant> oh, okay
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:29 <Deewiant> ah, right
15:31:31 <ais523> Deewiant: are you entering
15:31:32 <Deewiant> that's what that was about then
15:31:37 <Deewiant> probably not
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:31 <AnMaster> that is silly
15:32:43 <ais523> well, yes
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:32:51 <AnMaster> and so on
15:32:55 <ais523> again, yes
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:35 <vinicius> not really, C++ won a couple.
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:34:41 <tusho> hi ais523
15:34:45 <ais523> hi tusho
15:34:49 <AnMaster> tusho won
15:34:53 <tusho> i win
15:34:59 <AnMaster> by 4 seconds
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:24 <tusho> pretty pointless
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:18:43 <Deewiant> heh
16:19:33 <AnMaster> ais523, hm?
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:10 <ais523> I think so
16:21:14 <ais523> but I'm not sure
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.
17:49:51 <Sgeo> No all.
17:49:56 <ais523> no?
17:50:11 <Sgeo> no=hi in Sine
17:59:53 <pikhq> Nu...
17:59:59 <augur> hey all
17:59:59 <augur> :D
18:05:33 <tusho> z
18:06:52 -!- ais523 has quit ("brb").
18:20:08 -!- timotiis has joined.
18:23:10 -!- ais523 has joined.
18:23:14 <tusho> wb ais523
18:23:17 <tusho> HAHAHAHHAHAHAHAHHA
18:23:36 <ais523> that was quick
18:23:52 <ais523> you managed to say that before my GUI had got into a sufficient state to view what you said
18:23:58 <tusho> brilliant
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:37 <Sgeo> ICFP?
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:04 <ais523> IRTC?
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:21 <tusho> l
18:28:25 <ais523> cool
18:28:26 <Sgeo> Internet Ray-Tracing Competition
18:28:34 <ais523> different nature of tasks, though
18:28:37 <Sgeo> I know
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:29:27 <tusho> ais523: syes
18:29:28 <tusho> *yes
18:29:33 <ais523> probably not
18:29:42 <tusho> shame
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:22 <ais523> they like doing those
18:32:53 <oklofok> i'd probably like doing those too
18:33:10 <ais523> oklofok: maybe you could help?
18:33:46 <tusho> ais523: I'LL 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:16 <tusho> And not Y.
18:34:17 <tusho> Y is wrong.
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:06 <oklofok> *is
18:36:12 <oklofok> and i don't really have any debugging tools
18:36:14 <oklofok> except print
18:36:31 -!- ais523_ has joined.
18:36:59 <ais523_> hi tusho
18:37:11 <tusho> darn
18:37:14 <oklofok> :P
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:32 <ais523_> it's reasonable, actually
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:21 <tusho> heh
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:41 <ais523__> ais523_: there?
18:43:46 <ais523__> apparently not
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:15 <tusho> ais523__: hi
18:44:24 <ais523__> (the interps are more important than the compilers because you can submit an executable)
18:44:27 <ais523__> and hi tusho
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:00:53 <tusho> apparently not
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:29:16 <hotidlerchick> okokoko
19:30:53 <tusho> hotidlerchick: ha
19:30:55 <tusho> you're obviously oklopol
19:30:57 <tusho> you just proved it
19:32:13 <hotidlerchick> :)
19:32:53 <hotidlerchick> only oklopol can say okokoko?
19:34:11 <hotidlerchick> besides
19:34:17 <hotidlerchick> I think he'd go more like
19:34:18 <hotidlerchick> o
19:34:19 <hotidlerchick> oko
19:34:22 <hotidlerchick> okoko
19:34:26 <hotidlerchick> okokoko
19:34:29 <hotidlerchick> okokokoko
19:34:53 <hotidlerchick> and so on
19:36:34 <hotidlerchick> enthusiastically
19:36:36 <tusho> hotidlerchick: you are oklopol :p
19:36:54 <hotidlerchick> okokokokokokokokokokokokokokokokokokokokokokokokokokoko
19:37:29 <hotidlerchick> whatever you say
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> vs
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:38:49 <oklopolor> :)
19:38:49 <tusho> bah
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:31 <ais523> [[
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:34 <ais523> ]]
19:44:41 <ais523> I knew I had the near-proof somewhere!
19:44:54 <ais523> that 314 is a /whowas result, BTW
19:44:55 <tusho> i guessed
19:45:29 <ais523> -rw-r--r-- 1 ais523 ais523 5300086 2008-07-11 19:44 irc.freenode.net_#esoteric.log
19:45:33 <ais523> just for reference
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:04 <tusho> well
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:56:34 <ais523> Deewiant: logrotate?
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:11 <ais523> Deewiant: I think so
19:57:22 <ais523> tusho: I like to be able to grep everything
19:57:29 <tusho> grep foo *
19:57:31 <tusho> tada
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:01:59 <oerjan> apparently not
20:02:06 <ais523> their server's gone down under the traffic of the contest starting...
20:02:30 <tusho> icfp.eso-std.org!
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:18 <tusho> wow
20:03:20 <tusho> it's for NASA
20:03:21 <tusho> :-P
20:03:23 <ais523> ah, got it
20:03:25 <ais523> tusho: probably not
20:03:29 <tusho> i know
20:03:30 <tusho> but heh
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:04:42 <tusho> UH I DUNNO LOL
20:05:14 <oerjan> who is boegel?
20:06:08 <oerjan> ah
20:06:12 <ais523> someone in #icfp-contest
20:06:38 <tusho> <saml> oh it's about NASA again. i hate NASA
20:06:39 <tusho> :|
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:09:32 <tusho> yes
20:14:17 <tusho> ais523: y u leaf
20:14:27 <tusho> <a1k0n> heh. intercal.
20:14:29 <tusho> *g*
20:14:31 <ais523> tusho: it was spamming me with notifications
20:14:52 <tusho> ais523: http://smlnj.org/icfp08-contest/simulator.html
20:14:55 <tusho> icfp simulator
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:29:59 <tusho> truth
20:32:07 <tusho> ais523: aha
20:32:09 <tusho> this is realtime apparently
20:32:12 <tusho> eek.
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:52:22 <tusho> no it's not
20:52:22 <tusho> :|
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.
20:57:17 <tusho> Sorry!
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:13 <Slereah_> Hello dudes.
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:51:51 <Slereah_> Yes.
21:52:04 <Slereah_> The fan broke down today.
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:15 <Slereah_> They're mine
21:53:53 <oerjan> remember, kids, never play inside the computer.
21:54:13 <Sgeo> Bye all
21:54:44 <ais523> bye
21:54:55 <Slereah_> The case is open.
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:28 <tusho> :(
22:13:39 <Slereah_> Middle button?
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 <oklopolor> okokokokokokokokokoko
22:15:15 <oklopolor> night
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:50 <tusho> wb ais523
22:18:52 <tusho> HAHAHAHhAHAHAHAHAHHAHA
22:19:07 <ais523> tusho: well, I said hi to #ESO
22:19:09 <ais523> I wonder who won?
22:19:14 <tusho> me
22:19:14 <tusho> by far
22:19:56 <oerjan> on the other hand, you both just lost the game.
22:20:08 <tusho> oerjan: aaaaaaaaaaaaar
22:20:10 <tusho> gh
22:20:13 <tusho> dfgdfsdfdfsgtju
22:20:14 <tusho> rw
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 <oerjan> ah
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 <oerjan> ooh
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:19 <ais523> tusho: hah, evidence!
22:21:25 <tusho> so after you lose
22:21:28 <tusho> you have to spam the lists
22:21:30 <tusho> forever
22:21:37 <tusho> since you'll have to think about it to send the message
22:23:03 <oerjan> nasty
22:24:44 <tusho> so yeah
22:24:45 <tusho> that needs fixing
22:24:54 <ais523> tusho: but you can't fix it
22:24:57 <ais523> because it's a pledge
22:25:00 <ais523> you'd need without-objection
22:25:04 <ais523> which takes 4 days...
22:25:07 <tusho> exactly.
22:25:21 <ais523> I act on behalf of tusho to think about The Game.
22:25:27 <tusho> Hah.
22:36:09 -!- Slereah2 has joined.
22:36:16 <Slereah2> It's going to be two long weeks :(
22:36:58 <oerjan> ouch
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:17 <Slereah2> My god, this is ridiculous
22:56:24 <tusho> doo doo
22:56:29 <Slereah2> I actually have to spin the fan manually before booting the computer
22:56:45 <tusho> hahahhahahhahah
22:56:48 <tusho> flinstones pc
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:46 <Slereah2> I hope it won't stop
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:58:19 <Slereah2> ("Beep beep beep beep beep")
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:01:47 <tusho> True.
23:01:49 <Slereah__> I don't live in Antarctica.
23:02:00 <tusho> ...
23:02:01 <tusho> :O
23:02:32 <Slereah__> What could help is an actual fan to put above, but I don't have any.
23:08:23 <lament> lick it
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:45:36 <tusho> X
23:45:37 <tusho> Discuss
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:51:58 <tusho> oerjan: how punny
23:52:47 <oerjan> <oerjan> <- now close to 100% puns, on this channel
23:55:10 -!- Slereah2 has joined.
23:55:17 <tusho> oerjan: what pun
23:56:33 -!- Corun has joined.
2008-07-12
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:38 <augur> hey ais
01:42:54 <augur> nevermind, hes not here
01:42:55 <augur> :_<
01:42:56 <augur> >_<
01:43:10 <augur> oklopol! :o
01:55:25 -!- Corun has quit ("Leaving").
02:47:41 <oklopol> o
02:57:33 -!- fxkr_ has joined.
03:09:18 -!- GreaseMonkey has joined.
03:10:53 <augur> night oklolove
03:10:56 <augur> ::bite::
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:17 <oklopol> holy shit
14:47:25 <ais523> oklopol: what?
14:47:27 <oklopol> lament: you were in my dream
14:47:33 <oklopol> a-fucking-gain
14:47:39 <oklopol> this time it wasn't irc.
14:48:33 <oklopol> let me start from the beginning, unless someone has something interesting to talk about
14:48:50 <oklopol> so
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:49:40 <oklopol> well, he got mad
14:49:52 <oklopol> we met at a mall
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:22 <oklopol> and point it at him
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:25 <oklopol> but kinda alive.
14:52:53 <oklopol> and my first thought was looking at his face would instantly tell me what to do :D
14:53:02 <oklopol> kinda warm feeling
14:53:09 <oklopol> not kinda disturbing.
14:53:17 <oklopol> but, all the cans had turned away
14:53:24 <oklopol> and i was devastated
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:16 <ais523> ok I think
15:09:29 <ais523> but my program still steers the rover into craters too much
15:10:23 <oklopol> can you link the rules?
15:11:58 <oklopol> hmm
15:20:09 <oklopol> this sounds quite fun
15:20:09 -!- tusho has joined.
15:20:26 <oklopol> i should've done it too
15:20:34 <tusho> hi ais523
15:20:47 <tusho> i totally wont hat one
15:20:52 <tusho> *won that
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:27 <ais523> from the telemetry
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 <oklopol> ah okay.
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:39:48 <oklopol> oh.
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:41:55 <oklopol> perhaps next year
15:42:07 <tusho> oklopol: use qemu
15:42:09 <tusho> they provide a livecd
15:43:38 <oklopol> guess i could.
15:43:58 <oklopol> any restrictions on the language?
15:44:27 <tusho> oklopol: yes
15:44:30 <tusho> whatever's on the licd
15:44:32 <tusho> *livecd
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:19 <oklopol> i know
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:09:58 <Deewiant> so I figured "screw it".
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:46 <tusho> well yes
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:10 <oklopol> *BTW
16:14:14 <Deewiant> :-)
16:14:26 <Deewiant> not Ob?
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:18 <ais523> anyone here, that is
16:26:18 <tusho> probably bad
16:26:22 <ais523> I was about to try
16:26:25 <ais523> not with my hard drive though
16:26:27 <ais523> with a disk image
16:26:28 <tusho> ais523: give it a go
16:30:14 -!- pikhq has joined.
16:44:02 <ais523> tusho: it worked
16:44:09 <tusho> heh
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:29 <RodgerTheGreat> seems pretty likely
16:47:40 <tusho> the thing about that formula i don't like
16:47:42 <tusho> is the big 'n'
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:43 <RodgerTheGreat> still quite intriguing
16:48:48 <tusho> but not what I hoped when I first saw it
16:48:53 <RodgerTheGreat> yeah
16:49:19 <tusho> an _actual_ self-plotting formula would probably be very long, kind of like those huge quines
16:49:22 <tusho> not very pretty
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:26:23 <tusho> yeah
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:31:30 <oklopol> *zing*
17:32:54 <oklopol> okay, i'm going to code A in language B now, anyone feel like supplying A and B?
17:34:51 <Slereah2> Malbolge in Malbolge.
17:35:26 <oklopol> pass
17:35:47 <tusho> oklopol: python in python
17:35:51 <Slereah2> Brainfucks in recursive functions.
17:35:58 <oklopol> passpass
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:23 <tusho> no.
17:36:25 <tusho> c in python.
17:36:28 <oklopol> :D
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 <oklopol> yeah, i know that
17:37:04 <tusho> lexing + parsing's a bit hard, some ambiguities
17:37:06 <tusho> but the actual language
17:37:07 <tusho> pretty simple
17:37:10 <oklopol> yeah.
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:40 <tusho> why not
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:38:51 <oklopol> *anymoer
17:38:53 <oklopol> *anymore
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:40:46 <oklopol> now befunge
17:43:14 <ais523> hi tusho
17:43:18 <ais523> you were slow there...
17:43:26 <tusho> meh
17:43:27 <tusho> wasn't paying attention
17:43:28 <ais523> oklopol: what lang?
17:43:32 <ais523> tusho: neither was I
17:44:58 <oklopol> ais523: C
17:51:43 <tusho> ais523: z
17:51:56 <ais523> hi tusho
17:51:58 <ais523> again
17:52:00 <oklopol> ais523: o
17:52:02 <tusho> hi ais523
17:52:06 <tusho> ooh
17:52:08 <tusho> shall we play a game
17:52:08 <tusho> z
17:52:23 <ais523> tusho: not right now, only 2 hours to the lighning deadline, at least not with me
17:52:23 <oklopol> o
17:52:26 <oklopol> hehe
17:53:10 <hotidlerchick> okokoko
17:53:46 <oklopol> ooooooooookokokoko.
17:53:47 <tusho> hotidlerchick: hi oklopol
17:54:09 <hotidlerchick> tusho: hi elliott
17:54:21 <tusho> hotidlerchick: hi oklopol
17:55:26 <oklopol> cool stuff
17:55:29 <hotidlerchick> oklopol: wanna swap identities?
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:37 <ais523> from #icfp-contest
17:55:45 <tusho> heh
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:01 <hotidlerchick> oklopol: can i still continue coding?
17:57:11 * ais523 so wants an IRC client command to do that automatically, without the other person knowing
17:57:12 <hotidlerchick> this is fucking disturbing
17:57:17 <ais523> and automatically rewriting all the messages
17:57:29 <oklopol> hotidlerchick: oooh, that would be so hot
17:57:38 <hotidlerchick> ;)
17:59:40 <hotidlerchick> tbh. i'm not entirely sure how to be you
17:59:56 <hotidlerchick> *-.
18:00:11 <oklopol> o
18:01:00 <oklopol> ask tusho, I'm sure he knows
18:01:39 <hotidlerchick> "just be yourself"? :P
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:41 <oklopol> ...
18:02:46 <hotidlerchick> :D
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:02:54 <hotidlerchick> ais523: true
18:03:09 <hotidlerchick> except for the extending the program space part
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:02 <ais523> look up a bit
18:12:03 <tusho> yes
18:12:04 <tusho> still
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:25 <tusho> 74*buttcake
18:16:30 <tusho> sorry, don't know
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:21 <ais523> then divide by 2pi
18:17:28 <Deewiant> r = v^2 / a where v is velocity forward, a is acceleration towards centre of circle
18:17:34 <Deewiant> I think
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:18:58 <Deewiant> possibly
18:28:50 <hotidlerchick> hmm
18:29:36 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
18:30:02 <hotidlerchick> i think you can solve it from that formula
18:31:00 <ais523> I tried to figure it and got v * 360 / (dtheta/dt)
18:31:02 <ais523> but that's wrong
18:31:11 <ais523> the 360 because it's in degrees
18:31:59 <hotidlerchick> hmmm
18:32:02 <hotidlerchick> i think i have an idea
18:32:17 <hotidlerchick> the object is always moving towards the tangent
18:32:36 <hotidlerchick> hmm, wait... i'm a bit slow atm
18:32:46 <hotidlerchick> have to think a bit
18:33:08 <ais523> yes, that's my problem, being a bit slow thinking mathematically due to being in super-coding mode
18:34:38 <hotidlerchick> i think i have it
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:21 <hotidlerchick> hmm
18:35:30 <ais523> that's the same formula I came up with
18:35:33 <hotidlerchick> yarr
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:36:52 <hotidlerchick> hmm, right
18:37:01 <ais523> ...except wouldn't turning faster give a smaller turning circle?
18:37:06 <hotidlerchick> hmm
18:37:11 <ais523> your formula's clearly wrong with angs_per_sec = 0
18:37:13 <hotidlerchick> yeah.
18:37:15 <ais523> the circle's infinite then
18:38:18 <tusho> ais523: maybe you should code another part
18:38:20 <tusho> time is ticking
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:47 <tusho> :\
18:38:56 -!- poiuy_qwert has joined.
18:39:23 <hotidlerchick> ais523: i actually just swapped them accidentally
18:39:32 <hotidlerchick> basically
18:39:36 <hotidlerchick> you move at speed v
18:39:37 <hotidlerchick> but
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:16 <hotidlerchick> yeah that should be right
18:41:23 <ais523> let me recompile and rerun
18:41:25 <ais523> to see what happens
18:41:34 <hotidlerchick> that's just the circumference ofc
18:41:49 <ais523> hotidlerchick: not radius?
18:41:53 <hotidlerchick> no.
18:42:16 <hotidlerchick> why would it be radius?
18:42:31 <hotidlerchick> when moving 5 degrees per second
18:42:32 <ais523> hotidlerchick: ah, good point
18:42:41 <hotidlerchick> we're moving at circumference * 5/360
18:42:48 <hotidlerchick> radius has nothing to do with anything
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:43:49 <hotidlerchick> well, you prolly had less speed?
18:43:54 <hotidlerchick> it was accelerating at first
18:44:03 <hotidlerchick> which made it turn most of the circle fast
18:44:05 <hotidlerchick> dunno.
18:46:28 <hotidlerchick> ais523: why the silence, trying to figure out circumference -> radius? ;)
18:46:33 <ais523> that wouldn't happen
18:46:37 <hotidlerchick> okay
18:46:39 <ais523> and circumference->radius is easy
18:46:42 <ais523> that's not the problem
18:46:47 <hotidlerchick> yeah it was a joke, kinda.
18:46:53 <hotidlerchick> anyway, you saying that's wrong?
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:47:40 * hotidlerchick opens python
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:38 <augur> ais
18:56:42 <ais523> yes
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:47 <tusho> [program]
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:09 <tusho> [x] i == x
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:21 <tusho> etc
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:02:38 <hotidlerchick> i mean the y axis
19:02:46 <ais523> thanks
19:03:05 <hotidlerchick> if you don't get that, i can explain it
19:03:07 <tusho> BREAKING NEWS: ais523+hotidlerchick win ICFP
19:03:07 <hotidlerchick> but it's kinda simple
19:03:14 <hotidlerchick> :D
19:03:28 <hotidlerchick> radizee is the formula
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:29 <hotidlerchick> yay :)
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:04:40 <tusho> ais523: /whois!
19:04:44 <tusho> wait
19:04:45 <hotidlerchick> *ominovorol
19:04:46 <tusho> what did I do
19:05:18 <tusho> ais523: :\
19:05:30 <hotidlerchick> anyway, don't use oklopol ominovorol, oklopol or ask my actual real name :P
19:05:35 <hotidlerchick> whoops.
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:05:58 <tusho> :p
19:06:03 <hotidlerchick> tusho: punctuation was funny.
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:07:59 <hotidlerchick> :D
19:08:16 <tusho> ais523: what am I credited -for-
19:08:16 <hotidlerchick> you speak a cool truth
19:08:18 <tusho> i don't know what i did
19:08:19 <tusho> :p
19:08:46 <hotidlerchick> you had a helpful mindset
19:08:52 <tusho> awwww
19:08:58 <ais523> tusho: eso-std.org, actually
19:09:19 <tusho> "TUSHO. FOR BEING ESO-STD.ORG.
19:09:21 <tusho> "
19:09:25 <tusho> .strip
19:10:05 <hotidlerchick> hmph, can't talk on #eso with this nick, "long time no be" was my official join pun.
19:10:31 <tusho> heh
19:12:06 <tusho> ais523: wait
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:12:43 <tusho> maybe even today
19:14:45 <hotidlerchick> i know a guy who registers every domain he sees.
19:14:48 <hotidlerchick> you be careful
19:14:56 <tusho> hotidlerchick: who, GregorR?
19:15:02 <hotidlerchick> http://www.vjn.fi/domains/
19:15:18 <hotidlerchick> also GregorR
19:15:25 <tusho> hotidlerchick: you need oklopol.org
19:15:26 <tusho> :p
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:15:39 <tusho> right?
19:15:43 <hotidlerchick> :)
19:15:51 <hotidlerchick> true, true
19:16:43 <hotidlerchick> i'll be more likely to get com
19:17:47 <tusho> hotidlerchick: is oklopol going to be selling things?!?!?!
19:17:48 <tusho> awesome
19:17:52 <tusho> Buy oklopol today!
19:17:54 <tusho> At oklopol.com!
19:19:05 <hotidlerchick> :)
19:19:36 <hotidlerchick> com is what i assume
19:19:40 <hotidlerchick> if i don't know what it is
19:19:51 <tusho> hotidlerchick: you could just type 'foo'
19:19:56 <tusho> and firefox will try .com,.org,google,etc
19:19:59 <tusho> o wait
19:20:00 <tusho> you use ie
19:20:11 <hotidlerchick> i use firefox
19:20:16 <hotidlerchick> i just like ie better
19:26:39 <oklopol> olp
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:49:25 <tusho> yay
19:51:24 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
19:56:29 -!- ais523 has joined.
19:56:39 <tusho> wb ais523
20:01:41 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
20:01:48 -!- ais523 has joined.
20:16:53 <tusho> argh
20:16:54 <tusho> wb ais523
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:40 <tusho> clap clap
20:17:42 <tusho> ;)
20:17:50 <tusho> ais523: i take it you'll do more revisions
20:17:53 <tusho> not just the lightning
20:17:56 <ais523> ofc
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:58:51 <oklopol> okokokokokokokoko
20:59:04 <oklopol> good night, hotties
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:06:58 <CakeProphet> :)
21:08:42 -!- timotiis_ has joined.
21:09:10 <CakeProphet> Can anyone link me to SAIOCP
21:11:22 -!- CakeProphet has quit (Remote closed the connection).
21:12:40 -!- hotidlerchick has changed nick to oklopol.
21:14:45 <tusho> SAIOCP? itym SICP
21:16:59 -!- Slereah2 has joined.
21:17:04 <oklopol> oooooooooooooo
21:17:11 <oklopol> good to be myself again
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:21:21 <oklopol> nick?
21:21:29 <oklopol> it's entirely different
21:22:38 <tusho> oklopol: same person though
21:22:55 <oklopol> :P
21:23:03 <oklopol> i guess nothing happened
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:51:43 <oklopol> i'd say so
21:52:04 <oklopol> and you generally start at the leftmost cell
21:52:12 -!- oerjan has joined.
21:52:19 <oklopol> hi oerjan
21:52:26 <oklopol> what's going on?
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:54:45 <oerjan> *newspaper
21:55:01 <oerjan> other than that, not much
21:56:06 <oklopol> that sounds awesome
21:56:08 <GregorR> A personal?
21:56:16 <GregorR> Are you getting sexay chat?
21:56:39 <oerjan> no, just requests for renting an apartment, alas
21:57:08 <psygnisfive> oerjan: AWESOME
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:37 <psygnisfive> sell the product to everyone that calls
21:57:39 <psygnisfive> or whatever
21:57:53 <oerjan> otoh i have so far failed to answer a single of the calls
21:58:12 <psygnisfive> lame
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:04:30 <ihope> Hmm. +[.+]
22:04:49 <psygnisfive> lolwhat
22:04:58 <psygnisfive> new smily? :D
22:05:28 <oerjan> well-known bf spamming program
22:05:34 <psygnisfive> ?
22:05:40 <oerjan> brainfuck
22:06:09 <oerjan> hm actually that one stops after one cycle
22:06:24 <ihope> It does?
22:06:33 <ihope> Oh, right.
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:07 <oklopol> oh
22:07:10 <oerjan> egobot if it were here, uses 16 bit by default
22:07:11 <oklopol> one cycle through chars.
22:07:36 * oerjan wonders if that was grammatical
22:09:33 <oklopol> no it was NOT
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:46 * oklopol starts drinking
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:25:02 <psygnisfive> awesome game
22:31:29 <tusho> ihope: better are programs which output their length
22:31:32 <tusho> as an ascii char
22:31:37 <tusho> so a 36 char program would print \36
22:41:39 <tusho> ihope: so:
22:41:49 <tusho> putChar'\12'
22:41:54 <ihope> Yeah.
22:42:10 <tusho> Hmm.
22:42:16 <tusho> What's a brainfuck version of that
22:43:03 <oerjan> something +++[->+++<] -like probably
22:43:14 <oerjan> (with . at the end)
22:43:41 <tusho> +++[->+++<].
22:44:03 * tusho has no BF interp atm
22:46:29 <oerjan> ++[->+++++++++<]>. i think
22:52:19 <oklopol> tusho: that doesn't work
22:52:30 <tusho> hmm
22:52:31 <tusho> better -
22:52:36 <tusho> output the decimal of the length
22:52:38 <oklopol> +++[->+++<]>.
22:52:43 <tusho> that's harder
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:02 <pikhq> Of course.
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
22:57:57 <tusho> yeah
23:09:47 -!- Slereah__ has joined.
23:10:06 <Slereah__> D:<
23:10:20 <tusho> Slereah__: lol
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:13:33 <Slereah__> :D
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:18:05 <psygnisfive> yeah i know
23:18:40 <Slereah__> What game?
23:19:55 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
23:38:14 <tusho> psygnisfive: cool idea for a game
23:38:16 <tusho> very cool
23:38:26 <tusho> its not time travel though
23:38:29 <tusho> it's "replaying"
23:38:29 <tusho> :p
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:04 <psygnisfive> no you can cause paradoxes
23:39:26 <tusho> ihope: +[.+]....
23:39:28 <tusho> Disproved.
23:39:31 <tusho> psygnisfive: and what happens
23:39:38 <psygnisfive> and the universe explodes
23:39:45 <tusho> psygnisfive: unlikely.
23:40:04 <psygnisfive> well the game universe does
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:41 <tusho> So?
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:32 <tusho> ihope: +++[...-]
23:41:40 <psygnisfive> how would that be time travel, oklopol.
23:41:52 <ihope> That does not use . more than 9 times.
23:42:00 <psygnisfive> whatchu mean whats the deal with 19?
23:42:15 <tusho> ihope: ++[....-]
23:42:16 <tusho> that does
23:42:19 <tusho> wait
23:42:21 <tusho> no it doesn't
23:42:26 <tusho> oerjan: you're provey
23:42:27 <tusho> disprove it
23:42:48 <oklopol> what
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:15 <psygnisfive> oklopol: what?
23:44:58 <oklopol> psygnisfive: just that the past self should already see the future self when playing the first round
23:45:14 <psygnisfive> right. ..
23:45:14 <tusho> ihope: Gee, I should write a program to find these things.
23:45:15 <tusho> ;)
23:45:26 <psygnisfive> and this is achievable how? :P
23:45:36 <oklopol> psygnisfive: time travel isn't achievable
23:45:37 <oerjan> an exhaustive search does seem possible
23:45:45 <psygnisfive> :P
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:32 <tusho> o
23:46:35 <tusho> psygnisfive weren't talkin' to me
23:46:46 <psygnisfive> oklo
23:46:48 <psygnisfive> how would you do it
23:46:54 <oklopol> probably like that
23:47:11 <oklopol> hope has nothing to do with reason
23:47:38 <psygnisfive> im having problems with the timing :(
23:47:45 <oklopol> what lev?
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:54 <oklopol> i don't know 19 is solved
23:47:56 <psygnisfive> all levels
23:47:57 <tusho> is that I see myslef make the same mistakes
23:48:01 <tusho> :|
23:48:01 <oklopol> i've only needed 4
23:48:31 <oklopol> hmm, actually 5 for one of the simple levels, but i think i could've done with less
23:48:31 <psygnisfive> ??
23:48:36 <oklopol> psygnisfive: wanna help with 19?
23:48:43 <psygnisfive> no i can get it
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:49:58 <oklopol> would be tons more fun.
23:49:59 <psygnisfive> it does
23:50:05 <oklopol> it does?
23:50:10 <psygnisfive> you just have to envision where you'll be
23:50:17 <psygnisfive> remember the puzzle where you had to change the past?
23:50:22 <psygnisfive> but non-destructively?
23:50:28 <psygnisfive> brb
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:00 <psygnisfive> so do i, oklopol
23:52:04 <psygnisfive> you can do that
23:52:07 <psygnisfive> you just have to do it right
23:52:09 <tusho> hmph
23:52:11 <tusho> I caused a paradox
23:52:13 <tusho> and nothing happened
23:52:20 <tusho> ah
23:52:21 <psygnisfive> ey?
23:52:22 <tusho> i see
23:52:24 <tusho> it error'd
23:52:27 <psygnisfive> yeah
23:52:32 <psygnisfive> universe asplode
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:40 <tusho> then replays them
23:52:41 <tusho> as another sprite
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:52:57 <psygnisfive> you have to be predictive
23:53:01 <oklopol> say i move to place A, then multiply into 7 guys
23:53:03 <psygnisfive> plan everything
23:53:12 <oklopol> how do i secord the place, and start from there every time?
23:53:15 <oklopol> *record
23:53:19 <tusho> time travel is the best way to get a clone army though
23:53:27 <psygnisfive> you dont record anything dude
23:53:29 <tusho> just go back to 10 minutes ago repeatedly
23:53:30 <tusho> :D
23:53:36 <psygnisfive> you have to act as tho you were going to do it
23:53:40 <psygnisfive> walking against walls and stuff
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:06 <oklopol> i mean
23:54:07 <oklopol> like
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:55:29 <psygnisfive> i still dont get you
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:32 <psygnisfive> i dont get what youre asking
23:56:34 <tusho> but he wants one
23:56:36 <oklopol> often, you need to walk n guys into a place, then put each on a different button
23:56:45 <oklopol> so
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:57:30 <oklopol> or tell me you won't
23:57:49 <psygnisfive> 19 is easy
23:57:53 <psygnisfive> just go through the motions :P
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:58:19 <oklopol> thx.
23:59:35 <psygnisfive> :p
23:59:52 <tusho> ihope: I wonder what BFBB(10) is
2008-07-13
00:00:40 <ihope> It'll output 12, I believe.
00:00:55 <tusho> ihope: I mean the prorgam
00:00:57 <tusho> *program
00:01:39 <ihope> +++[-....]
00:01:55 <tusho> Eek. I paradox'd.
00:02:38 <tusho> Level 7 is hard
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:06:27 <oklopol> more weight
00:07:15 <tusho> oklopol: yes
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:08:15 <psygnisfive> i cant get 21
00:10:14 <tusho> i beat 7!
00:10:29 <psygnisfive> lol
00:10:46 <oklopol> i'm at 21 too
00:10:53 <oklopol> psygnisfive: didn't you say you've beaten them all?
00:10:59 <psygnisfive> no. o.o
00:11:14 <oklopol> 01:47… oklopol: what lev?
00:11:18 <oklopol> 01:47… psygnisfive: all levels
00:11:20 <oklopol> but indeed
00:11:25 <oklopol> you were talking about the timeing
00:11:27 <oklopol> *timing
00:11:35 <oklopol> actually
00:11:37 <oklopol> i just beat 21
00:11:42 <oklopol> it's trivial
00:11:42 <psygnisfive> how?
00:11:46 <oklopol> errr
00:11:49 <oklopol> i didn't really plan
00:11:50 <oklopol> but
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:29 <psygnisfive> i can get the flap open
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:12:47 <oklopol> what's hard to do?
00:12:49 <oklopol> oh
00:12:50 <oklopol> well
00:13:10 <oklopol> you need to have the leftmost lift as high as it goes
00:13:14 <oklopol> and jump on the see-saw
00:13:28 <oklopol> and the guy on it will jump about as high as you dropped onto it from
00:14:20 <psygnisfive> ok
00:15:58 <tusho> i beat level 8!
00:16:35 <ihope> Oh, wow. That walkthrough video for level 7 makes it look really difficult. :-)
00:16:47 <tusho> Haha.
00:16:51 <tusho> I haven't used the walkthroughs
00:17:16 <oklopol> 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:19:25 <psygnisfive> yeah
00:19:26 <psygnisfive> its so slow
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:20:58 <tusho> lvl9 halp
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:05 <oklopol> err
00:21:11 <oklopol> i mean, you could do in any order
00:21:15 <oklopol> tusho: fast going there
00:21:18 <tusho> :\
00:21:33 <oklopol> you were just doing 19, can the levels be skipped? :P
00:21:38 <oklopol> *9
00:22:19 <tusho> nope
00:22:19 <tusho> :(
00:22:52 <tusho> what I mean is
00:22:55 <tusho> how do you get to the chip
00:22:57 <tusho> its too high up
00:23:25 <psygnisfive> tusho
00:23:28 <psygnisfive> half the fun is figuring it out
00:23:29 <psygnisfive> :P
00:23:39 <tusho> not if you can't
00:23:57 <psygnisfive> :P
00:24:50 <oklopol> l v L 9
00:24:56 <oklopol> well done, oklo.
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:25:49 <oklopol> tusho: i'll ook
00:25:51 <oklopol> look
00:25:59 <psygnisfive> yay 22
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:26:39 <psygnisfive> passed
00:26:43 <oklopol> tusho: yes
00:26:48 <tusho> and then?
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:28:05 <psygnisfive> i love the faux tardis design
00:28:06 <psygnisfive> :D
00:29:33 <oklopol> tusho: jump there
00:29:51 <tusho> its too high oklopol
00:29:52 <tusho> i can't reach it
00:29:58 <oklopol> stand on something
00:29:59 <tusho> even jumping from a bawx
00:30:03 <oklopol> then
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:06 <psygnisfive> im done with it
00:31:10 <psygnisfive> just use lots of guys and be patient
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:31:32 <psygnisfive> be patient.
00:32:06 <tusho> oklopol: how do you get a box higher?
00:32:07 <tusho> how?
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:32 <oklopol> tusho: err... lift it?
00:33:36 <oklopol> sheesh
00:33:41 <tusho> oklopol: even jumping off a lifted box
00:33:43 <tusho> i can't reach it
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:34:45 <calamari> hi
00:34:46 <tusho> ah
00:34:53 <tusho> hi calamari
00:35:11 <calamari> hello
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:36:44 <psygnisfive> i used like 10 guys just for simplicity
00:36:53 <psygnisfive> for 22
00:38:31 <tusho> Agh.
00:38:34 <tusho> I killed mysef
00:38:50 <tusho> yay
00:38:53 <tusho> i got 10
00:38:55 <tusho> on to 11
00:41:05 <GreaseMonkey> uh, which game is this?
00:41:16 <GreaseMonkey> also, hi calamari.
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:42:03 <tusho> :|
00:42:32 <psygnisfive> uh..
00:42:37 <psygnisfive> 25 was easy...
00:43:22 <oklopol> psygnisfive: only if you know boxes fall after a few seconds when you stand on the button.
00:43:28 <oklopol> i didn't know that
00:43:36 <oklopol> the puzzles suck bad.
00:43:38 <psygnisfive> lol
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:16 <tusho> Halp oklopol.
00:44:19 <oklopol> okay
00:44:35 <oklopol> tusho: well, you need to get the block down
00:44:40 <tusho> ya
00:44:42 <tusho> did that
00:44:42 <oklopol> errrr
00:44:46 <oklopol> actually not sure if you do
00:44:47 <oklopol> but
00:44:48 <oklopol> the gist is
00:45:00 <oklopol> you lift the elevator up
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:23 <tusho> ah right
00:45:24 <oklopol> and, err, that's it
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:02 <oklopol> either way it sucks ass
00:46:08 <psygnisfive> yes well it took me five seconds to do :P
00:46:18 <oklopol> me too
00:46:36 <oklopol> once i found out about the boxes
00:47:02 <psygnisfive> which ar you on?
00:47:32 <tusho> i did 11
00:48:35 <oklopol> 27 now
00:48:41 <oklopol> was looking at 11
00:49:01 <psygnisfive> im on 27 too
00:49:09 <psygnisfive> i do it by brute force tho
00:49:10 <psygnisfive> XD
00:49:19 <psygnisfive> so it takes a while for me lol
00:50:21 <tusho> I pime taradox'd 12.
00:50:26 <tusho> Well, they all got back.
00:50:27 <tusho> But
00:50:38 <oklopol> brute force?
00:51:00 <tusho> Gah.
00:51:02 <tusho> 12 is hard.
00:51:04 <tusho> :(
00:51:05 -!- timotiis_ has quit (Read error: 110 (Connection timed out)).
00:53:07 <oklopol> every level is so fucking trivial :<
00:53:10 <psygnisfive> yeah, brute force
00:53:14 <psygnisfive> like ill use lots of guys for now reason
00:54:04 <oklopol> ah.
00:56:03 <psygnisfive> or ill use a lot of time
00:57:08 <oklopol> i have the same approach
00:57:19 <oklopol> except i tried a different thing first
00:58:40 <psygnisfive> ?
00:59:17 <oklopol> let's just say stealing is never the answer
01:00:21 <tusho> plzx halp oklopol
01:00:22 <tusho> s
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:23 <tusho> plz halp oklopol
01:01:33 -!- wigyan has quit (Read error: 110 (Connection timed out)).
01:01:45 <oklopol> tusho: after this lev
01:03:28 <psygnisfive> 27 is annoying
01:03:51 <oklopol> yeah
01:04:03 -!- Slereah2 has joined.
01:06:03 <psygnisfive> timing is fucking annoying >_<
01:11:46 <oklopol> 28 bugs.
01:12:01 <psygnisfive> 28 requires backwards thinking i think
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:08 <oklopol> yay didn't glitch
01:18:10 <oklopol> now how did you pass it?
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:46 <oklopol> can't be lifted
01:18:56 <oklopol> and waits for the block to pass from under it
01:18:59 <oklopol> then falls down
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:31 <oklopol> hmm
01:19:36 <psygnisfive> i havent passed it yet
01:19:36 <psygnisfive> :P
01:19:37 <oklopol> first "impossible" level
01:19:48 -!- Slereah__ has joined.
01:19:49 <oklopol> wonder if these require some thought
01:19:54 <oklopol> you'd think...
01:20:00 <psygnisfive> which are you on now?
01:21:44 <psygnisfive> 28 pisses me off because the floor only sometimes catches the block
01:22:17 <oklopol> 29
01:22:21 <oklopol> yeah, that's the bug.
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:24:40 <tusho> heh
01:24:51 * tusho wnats cheatkoed
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:28:59 <oklopol> tusho: what lev?
01:29:10 <tusho> dunno
01:29:13 <psygnisfive> 29 is ridiculous
01:29:17 <oklopol> indeed
01:29:30 <psygnisfive> i cant get past it due to that fucking bug
01:29:40 <oklopol> 29? do you mean 28?
01:29:53 <psygnisfive> yeaqh that
01:29:58 <oklopol> 29 is ridiculously simple
01:29:58 <psygnisfive> :P
01:33:08 <oklopol> okay, 30 is trivial, but it misleads you.
01:34:31 <psygnisfive> fucking finally
01:34:43 <psygnisfive> had to use the walkthrough
01:34:43 <psygnisfive> :(
01:36:15 <psygnisfive> also, i think the gam engine has trouble with paradoxes
01:36:23 <tusho> of course it does
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:45 <oklopol> 34 was actually quite fun
02:20:59 <oklopol> could even be called a level.
02:26:29 <psygnisfive> 33 was annoying.
02:28:34 <oklopol> what was it?
02:31:17 <oklopol> okay passed the game
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:33:28 <oklopol> not sure what i mean here
02:33:31 <oklopol> care to elaborate?
02:33:56 <oklopol> no
02:34:14 <oklopol> i don't have time for that, it's half past 4
02:34:26 <psygnisfive> lol
02:35:10 <oklopol> yes, lol
02:35:42 <oklopol> i thought 33 was rather nice and clean
02:36:04 <oklopol> it's like hippity-hop-hoppity
02:36:10 <oklopol> and it's done
02:36:14 <oklopol> hmm
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:08 <oerjan> *are
02:40:13 <oerjan> i think
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:02 <psygnisfive> ugh
02:57:07 <psygnisfive> i wasted so much time on that game
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
02:58:00 <psygnisfive> x_x
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:08:57 <oklopol> i'm not
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").
04:49:03 <oklopol> anyone here?
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.
08:08:19 <CakeProphet> :o
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.
12:21:51 <augur> oklo! :D
12:22:19 <oklopol> :DDDDDDDDDDDDDDDDDDD
12:33:21 <augur> hey you
12:33:22 <augur> hows it goin
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:39:03 <augur> :(
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:23:15 <AnMaster> dumb
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:25:02 <AnMaster> I assume you used an VCS
14:25:07 <AnMaster> a VCS*
14:25:30 <AnMaster> if not: even dumber
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:42 <oklopol> sure, sure
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:43:28 <AnMaster> ;P
14:43:49 <oklopol> :)
14:44:27 * oklopol starts up mercurial
14:58:00 <augur> ::murders anmaster::
14:58:17 <AnMaster> augur, why?
15:00:35 <oklopol> he's very protective of me
15:00:40 -!- jix has joined.
15:09:05 -!- Slereah__ has joined.
15:12:45 <augur> <3oklopol
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:13:19 <tusho> hi ais523
16:13:21 <tusho> oh.
16:34:26 <ihope> Ello.
16:34:32 <tusho>
16:35:03 <oklopol> o
16:35:17 <tusho> oklopol: how did you survive that
16:35:54 <oklopol> survive WHAT
16:36:28 <tusho> oklopol: that
16:37:20 <oklopol> WHAT *IS* THAT?!?!?!?!?
16:37:30 <oklopol> can't say i care tho
16:38:52 <tusho> <tusho> ﷐
16:41:13 <oklopol> W-H-A-T??
16:41:34 * oklopol puts his glasses on
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:25:53 <augur> :(
17:25:59 <augur> oh well
17:26:03 <augur> ::pounces oklopolor::
17:39:02 <Slereah2> Furfaaaag
17:54:57 <oklopolor> o
17:55:15 <augur> oklopol are you a fur?
17:55:17 <augur> you should be a fur
17:55:19 <augur> right slereah?
17:55:25 <oklopolor> :(
17:56:10 <augur> what :(?
17:59:46 <oklopolor> furs aren't really my thing
18:00:30 <oklopolor> and now, I assumed you were talking to me, although perhaps that wasn't the case
18:01:00 <oklopolor> hmm hmm
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:02 <ais523> hi tusho
18:37:07 <tusho> oh, hi ais523
18:37:10 <tusho> odd to see you arrive so late
18:37:12 <tusho> esp. on sunday
18:37:18 <ais523> yes, blame the ICFP
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:55:47 <tusho> Shouldn't I?
18:55:50 <ais523> yep
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:02 <augur> so ais
19:00:09 <augur> no real interesting paradigms huh? :(
19:00:20 <ais523> you didn't like SMETANA?
19:00:24 <ais523> sorry, SMATINY?
19:00:28 <ais523> the improved version
19:00:44 <augur> no, it was silly.
19:00:54 <tusho> smatiny is silly?
19:00:56 <tusho> :|
19:01:05 <augur> sorry. ihope :P
19:01:09 <ais523> what about Flip? I don't know much about it but it's got a pretty interesting paradigm
19:01:49 <augur> pointlessly odd.
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:02:52 <ais523> yes, I saw that
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:40 <augur> i like J actually
19:03:46 <ais523> that's not very esoteric, and an unusualish paradigm
19:04:00 <augur> i like J. :P
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:07:24 <ais523> in what way?
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:08:51 <tusho> yes
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:14:32 <tusho> wow
20:14:33 <tusho> the second?
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:56 <tusho> also
20:15:57 <tusho> probably: http://thestupidestmanonearth.com/
20:16:06 <tusho> aha
20:16:07 <tusho> http://www.thestupidestmanonearth.com/
20:16:08 <tusho> it's the same site
20:16:11 <tusho> just two domains
20:16:14 <ais523> ah, ok
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:17:54 <ais523> yes
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:34:58 <SimonRC> ais523 is an artist too?
20:35:06 <ais523> SimonRC: no I'm not
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:26 <ais523> and music
20:35:31 <ais523> and esolangs of course, they're art too
20:36:51 -!- oklopol has joined.
20:37:26 <oklopol> mörn
20:37:31 <ais523> morning
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:45 <tusho> ais523: music?
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:01 <oklopol> *-before
20:40:21 <tusho> SimonRC: that's great
20:40:23 <tusho> call it Hasty
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:00 <oklopol> :)
20:41:27 <tusho> ais523: hmph, I just wrote a 46 line underload parser
20:41:33 <ais523> how?
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:41:49 <tusho> shall I show?
20:42:00 <ais523> I thought 46 was a bit excessive given that Underload and Brainfuck are equally easy to parse
20:42:10 <ais523> and yes, do show
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:51 <ais523> ha, snap
20:43:56 <tusho> just 'two references' seems kinda sucky
20:43:56 <SimonRC> indeed
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:44:41 <tusho> yes, but still
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 <ais523> tusho: yes
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:00 <tusho> heh, awesome
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:34 <SimonRC> ais523: indeed
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:49:58 <tusho> *recommends
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:51:59 <ais523> sorry, thinko
20:52:00 <tusho> like ICFP
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:52:47 <tusho> :)
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:43 <ais523> yes
20:54:59 <ais523> of course a parser in C does that for you, more or less, with the pointers
20:55:03 <oklopol> unrolling?
20:55:08 <oklopol> ah
20:55:09 <tusho> oklopol: basically
20:55:14 <oklopol> well go on
20:55:17 <tusho> a(b(c)d)e
20:55:18 <tusho> ->
20:55:34 <ais523> a1e 1=b2d 2=c
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:37 <tusho> {a<1>e,b<2>d,c}
20:55:41 <tusho> oklopol: see?
20:55:43 <tusho> you 'unroll it'
20:55:46 <tusho> by replacing nested structures
20:55:48 <tusho> with references to another
20:55:51 <tusho> in a flat list
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:14 <tusho> with references
20:56:29 <oklopol> yep
20:56:55 <tusho> but, yeah
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:21 <oklopol> neat.
20:57:25 <SimonRC> tusho: lol
20:57:31 <tusho> SimonRC: lol?
20:57:48 <SimonRC> yes, lol at the "blimp" terminology
20:58:06 <tusho> ah
20:58:07 <tusho> :)
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:04 <SimonRC> :e filename
21:03:05 <SimonRC> surely?
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:42 <tusho> hmph.
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:15 <tusho> ;)
21:17:18 <tusho> also - (10,000 lines of Visual Basic code in One routine)
21:17:21 <tusho> that's a pro?!
21:17:39 <tusho> brb
21:19:11 -!- Corun has quit ("This computer has gone to sleep").
21:19:24 <SimonRC> tusho: generated?
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:47:29 <tusho> back
21:47:34 <tusho> SimonRC: no
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:27 <tusho> wb ais523
21:50:48 <ais523> thanks
21:50:50 <ais523> and you win
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:54:42 * SimonRC goes to bed.
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:06:43 <GregorR> oerjan: Yeah, I see :P
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:07:32 <oerjan> heh
22:08:09 <tusho> GregorR: lmao
22:08:14 <tusho> oh, and:
22:08:32 <tusho> Deranged in-denial spammer from #haskell has conversation. http://rafb.net/p/10WLBR49.txt
22:09:51 <GregorR> Wow.
22:09:53 <GregorR> That's bizarre.
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:11 <AnMaster> oh?
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:23 <AnMaster> well I wouldn't use register
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:55 <ais523> or so it thinks
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:19 <AnMaster> like QNX
22:16:27 <ais523> AnMaster: it has to run on Linux
22:16:35 <AnMaster> ais523, well linux 2.6.what?
22:16:38 <ais523> and I'm trying to do lots of simulations in realtime so I can pick the best one
22:16:41 <ais523> AnMaster: I can check
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:20 <AnMaster> ais523, try profile feedback
22:17:43 <ais523> AnMaster: can't be root
22:17:52 <AnMaster> hrrm
22:17:53 <ais523> and profile feedback sounds good, I can't remember how to do it though
22:17:57 <AnMaster> a sec
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:32 <oerjan> ic
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:18:54 <AnMaster> what about that?
22:18:59 <AnMaster> then run program
22:19:00 <AnMaster> after that
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:23 <AnMaster> ais523, indeed
22:19:26 <ais523> also -combine is pointless because I only have one input file
22:19:31 <CakeProphet_> :)
22:19:34 <AnMaster> ais523, ok skip combine then
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:09 <ais523> AnMaster: yes
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:26 <AnMaster> SSE stuff
22:20:30 <tusho> uh
22:20:37 <tusho> ais523: you don't know what cpu the final will be run on
22:20:39 <tusho> just yours
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:43 <ais523> tusho: yes I do
22:20:46 <tusho> oh
22:20:46 <tusho> okay
22:20:48 <ais523> I'm not on an Athlomn
22:20:50 <AnMaster> ah...
22:20:53 <ais523> s/mn/n/
22:20:54 <tusho> qemu can emulate an athlon
22:20:54 <tusho> ais523:
22:20:55 <tusho> can't i
22:20:56 <tusho> t
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:04 <tusho> ;P
22:22:06 <AnMaster> *maybe*
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:46 <AnMaster> really
22:22:49 <ais523> tusho: I'm using it to live off
22:22:54 <tusho> ais523: thought so
22:22:55 <tusho> :p
22:23:18 <tusho> AnMaster: he can't touch the final server
22:23:21 <AnMaster> ah
22:23:24 <ais523> so I couldn't test it
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:23:56 <AnMaster> hrrm
22:24:01 <AnMaster> ais523, use -mtune then
22:24:05 <AnMaster> not -march
22:24:15 <ais523> ah, that means tune for that, but still work on other x86s?
22:24:16 <AnMaster> and skip -msse and -mfpmath
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:23 <AnMaster> ais523, aha
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:27 <ais523> think about it
22:27:29 <AnMaster> I see
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:10 <AnMaster> try them
22:28:15 <AnMaster> gcc 4.2 or gcc 4.3
22:28:29 <AnMaster> I still admit I use gcc 4.1.2 here :P
22:28:37 <AnMaster> I admit I still use*
22:29:17 <AnMaster> ais523, also you want to try -Wunreachable-code
22:29:23 <AnMaster> and
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:09 <AnMaster> that could help
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:30 <AnMaster> ais523, remove it from final
22:30:39 <AnMaster> use #ifdef instead
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:18 <AnMaster> ais523, btw what is the task?
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:33:30 <ais523> s/ingo/info/
22:33:36 <AnMaster> wow
22:33:38 <AnMaster> that is hard
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:13 <AnMaster> I see
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:36 <AnMaster> I see
22:34:40 <AnMaster> that depends on cpu a lot
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:35:22 <AnMaster> ah...
22:37:34 <oklopol> AnMaster: scroll a bit and see the martians... :P
22:37:41 <AnMaster> yes
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:07 <tusho> It's huge.
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:06 <AnMaster> ais523, um
22:39:10 <AnMaster> how did you build it
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:39:46 <ais523> yes
22:39:53 <ais523> it made a .gcda file
22:39:56 <ais523> and a .gcnu file
22:40:01 <AnMaster> err
22:40:04 <AnMaster> http://rafb.net/p/vkcFS963.html
22:40:06 <AnMaster> ais523, ^
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:07 <AnMaster> it is insane
22:41:12 <AnMaster> for anything but speed runs
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:04 <ais523> !!!
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:09 <tusho> AnMaster.
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:22 <AnMaster> thanks ais523!
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:33 <tusho> Befunge does not.
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 <ais523> what's the other?
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:46 <AnMaster> ais523, what error?
22:45:53 <ais523> the no coverage found error
22:46:03 <AnMaster> ah
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:17 <tusho> _very_ good
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:47:58 <tusho> his is just not
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:18 * AnMaster runs
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:43 <AnMaster> tusho, indeed
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:07 <tusho> that's ironic too
22:51:09 -!- CakeProphet_ has joined.
22:51:12 <AnMaster> that's a lot of irony
22:51:15 <AnMaster> too much for one day
22:51:15 -!- CakeProphet_ has changed nick to CakeProphet.
22:51:16 <tusho> and I chuckled a bit
22:51:17 <AnMaster> ;P
22:51:24 <tusho> but I grinned madly when I saw the next sentence
22:51:26 <AnMaster> posix_irony();
22:51:31 * AnMaster ducks
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:37 <ais523> about 21 hours left
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:01 <tusho> as much as he can
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:56:49 <AnMaster> ais523, yes that is correct
22:56:51 <AnMaster> but
22:56:55 <AnMaster> you link libc
22:56:57 <AnMaster> I bet
22:56:59 <ais523> yes
22:57:08 <AnMaster> maybe libm too
22:57:11 <ais523> yes
22:57:15 <ais523> for trig
22:57:16 <tusho> AnMaster, you scare me
22:57:18 <AnMaster> there you are then
22:57:30 <ais523> maybe I should generate a lookup table for sin and cos at the start of the program
22:57:41 <tusho> ais523: yes
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:57:58 <tusho> very fast
22:58:04 <AnMaster> aye
22:58:09 <AnMaster> very fast
22:58:13 <AnMaster> but no idea if it is sane
22:58:17 <tusho> ah, ais523
22:58:22 <tusho> generate tables.c
22:58:22 <tusho> and do
22:58:24 <tusho> #include "tables.c"
22:58:28 <tusho> in your program
22:58:28 <AnMaster> XD
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:24 <AnMaster> ais523, oh?
22:59:28 <ais523> I'll write a script to generate it
22:59:29 <AnMaster> thanks I guess
22:59:46 * tusho is mentioned in the readme too
22:59:47 <tusho> i'm special!
22:59:56 <AnMaster> ais523, BE SURE TO NOT USE A PENTIUM WITH THE FDIV BUG!
22:59:59 <AnMaster> ;P
23:00:09 <tusho> whoa, it's 1999
23:00:13 <tusho> what did you do AnMaster
23:00:16 <AnMaster> tusho, haha ;P
23:00:25 <AnMaster> I thought he had an old computer
23:00:28 <ais523> tusho: nah, it's 1993
23:00:30 <ais523> and it's Septembe
23:00:33 <ais523> s/$/r/
23:00:35 <tusho> ais523: oh, yeah, forgot
23:00:39 <ais523> I installed sdate yesterday
23:00:42 <AnMaster> haha :D
23:00:45 <ais523> Evolution seems not to like it, though
23:00:50 <AnMaster> ais523, oh?
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:24 <AnMaster> ais523, oh some usenet joke
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:01:49 <AnMaster> tusho, I know........
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:11 <ais523> and after AOL, Google
23:02:14 <ais523> so it's still ongoing
23:02:21 <tusho> ...........................................................
23:02:22 <lament> fucking newbies
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:07 <tusho> :(
23:03:14 <lament> that's how bad it was
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:56 <tusho> ##c's worse
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:33 <lament> be careful
23:05:40 <ais523> tusho: are you really going to?
23:05:43 <ais523> let me watch...
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:34 <AnMaster> well they are
23:06:39 <AnMaster> on a machine level
23:06:41 <lament> AnMaster: say it there.
23:06:45 <lament> AnMaster: go to ##C and defend tusho.
23:06:48 <AnMaster> but not on a logical level
23:06:50 <ais523> AnMaster: actually, on the machine level they have different lengths
23:06:52 <tusho> lament: hah
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:40 <lament> it's a necessity
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:15 <tusho> :)
23:10:16 <tusho> lament: seriously?
23:10:20 <tusho> awesome.
23:12:51 <AnMaster> <lament> unless you're really anal, you'll just fail at writing C
23:12:55 <AnMaster> well hm
23:13:00 <AnMaster> does tusho think I'm anal?
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:13:33 <AnMaster> (lame alias yes)
23:13:47 * tusho slaps AnMaster
23:13:53 <AnMaster> hah
23:14:16 -!- Algonquian has joined.
23:14:35 <tusho> hi Algonquian
23:14:36 <tusho> who be you
23:16:27 * oerjan summons a bigger fish
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:15 <AnMaster> oerjan, fun!
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:22:03 <AnMaster> ais523, interesting
23:24:14 <ais523> 4/5 on another run
23:24:18 <ais523> although it bounced off things a lot
23:24:25 <lament> ICFP?
23:24:30 <ais523> lament: yes
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:05 <tusho> you'd better
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:46 <tusho> hmph.
23:26:49 <tusho> i will
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:04 <tusho> and vise-versa
23:28:34 <ais523> that would be neat
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:44 <lament> befunge or something
23:28:59 <tusho> lament: he'd have to use cfunge
23:29:00 <tusho> QED
23:29:03 <ais523> ignorret is different on all three INTERCAL compilers I can find nowadays
23:29:07 <tusho> ;)
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:38 <augur> lalala
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:32:57 <ais523> oh, ok
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:47 <ais523> anyway, going home
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:08 <tusho> bye ais
23:34:09 <tusho> :)
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:42:53 <tusho> oklopol: ok
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:28 <tusho> try
23:49:29 <tusho> http://www.addictinggames.com/ngame.html
23:57:51 <Slereah2> This is not very addictive
23:57:57 <Slereah2> Try "Crash"
23:58:01 <Slereah2> That was an awesome game
23:58:07 <Slereah2> Also awesome music
23:58:18 <tusho> Slereah2: This IS addictive.
23:59:37 <tusho> HAHAHAHA
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:46 <tusho> I reached it
23:59:49 <tusho> but splatted onthe ground
23:59:51 <tusho> and died
2008-07-14
00:41:38 <AnMaster> addicting games?
00:41:39 <AnMaster> hm
00:41:41 <AnMaster> nethack!
00:41:45 <AnMaster> anyway, night
00:43:38 <tusho> nethack isn't addicting
00:55:26 <lament> nethack is addictive
00:56:31 <tusho> no it's not
00:58:50 <CakeProphet> ...this game is very addicting
00:58:51 <CakeProphet> but
00:58:53 <CakeProphet> how do you jump?
00:59:05 <tusho> CakeProphet: which one
00:59:10 <tusho> n?
00:59:12 <tusho> and if so, shift
00:59:28 <CakeProphet> x apparently works too
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:08 <CakeProphet> I'm pretty bad at this game
01:06:14 <CakeProphet> it's actually kind of laggy on my computer.
01:06:30 <CakeProphet> and
01:06:33 <CakeProphet> I don't know what nethack is.
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:09:53 <CakeProphet> ...so sue me
01:10:41 * oerjan calls CakeProphet Sue
01:10:49 <oerjan> that's what you meant, right?
01:15:48 <CakeProphet> ...-facepalm.jpg-
01:16:48 <CakeProphet> ....restarting.
01:16:53 -!- CakeProphet has quit ("lolwhut?").
01:17:38 <Slereah2> Gaiz
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:01 <Slereah2> Ugly picture, yes, but..
01:18:12 <augur> no tusho stop
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:18:30 <tusho> Forever.
01:19:13 <Slereah2> Isn't COBOL an old businessman? D:
01:19:28 <tusho> COBOL is evil.
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:08 <CakeProphet> so I finally switched over to Linux.
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:08 <CakeProphet> I lost it
01:26:16 <oerjan> SICP
01:26:24 <tusho> SICP SICP SICP SICP SICP SICP SICP SICP SICP SICP
01:26:26 <Slereah2> Ill urine.
01:27:18 <Slereah2> What's .nb?
01:33:25 <CakeProphet> yes.... what's the link to it
01:34:05 <tusho> CakeProphet: USE THE GOOGLE
01:35:22 <CakeProphet> done
01:39:30 <Slereah2> I have an article titled "Fecal vomiting of rare origin".
01:43:58 <tusho> Slereah2: o.o
01:45:57 <Slereah2> It's medical, don't worry
01:46:19 <Slereah2> From "California and western medicine", volume XXII, n8
01:46:30 <Slereah2> *XXIII
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:55:35 <lament> fecal vomiting is fun
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:07:46 <ihope> Burping?
02:23:19 <Slereah2> I think so.
02:31:31 -!- Corun has quit ("Macros are cheating").
02:44:52 <pikhq> I hope so.
03:10:11 -!- oerjan has quit ("Macaroni is not").
03:12:01 -!- augur has quit (Read error: 60 (Operation timed out)).
03:26:35 <lament> i pray it is so.
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:10 <oklopol> they're trivial
13:19:36 <oklopol> that was the first version of n, i think i passed it in like 2 sessions
13:20:11 <Sgeo> n?
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:25 <ais523> N?
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:05 <oklopol> ya
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:31:55 <Deewiant> aye
14:32:11 <oklopol> apart from enemies that can follow you, i really never die because i fail a jump or something
14:32:26 <oklopol> well
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:35:42 <Deewiant> evidently not :-/
14:36:01 <Deewiant> 2007-05-21 I still had 75
14:36:13 <oklopol> in what levs?
14:36:32 <Deewiant> ah, back in february I had 357, w00t
14:36:40 <Deewiant> all around
14:36:41 <Deewiant> Found 357/600 highscores - 59.5000% - under the name Deewiant.
14:36:41 <Deewiant> Average position 9.1849.
14:36:56 <Deewiant> a year later...
14:36:57 <Deewiant> Found 75/600 highscores - 12.5000% - under the name Deewiant.
14:36:57 <Deewiant> Average position 14.0400.
14:37:04 <Deewiant> and now nothing
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:16 <oklopol> heh
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:45:16 <tusho> hi ais523
16:45:22 <ais523> hi tusho
16:45:34 <tusho> i won
16:45:50 <ais523> yep
16:49:30 <oklopol> the tables have turned
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...
16:53:26 <tusho> quite
16:58:06 <olsner> huh?
17:00:36 <tusho> olsner: icfp
17:00:43 <tusho> and our say-hi-first competition
17:01:00 <olsner> oh, is it icfp now?
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:39 <ais523> 7pm UTC
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:19 <ais523> [[
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:22 <ais523> ]]
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:21:36 <ais523> but still...
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:13:55 <pikhq> Then do it. ;)
18:15:32 <ihope> :-)
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:38:51 <tusho> OK
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 <ais523> s/$/d/
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:34 <AnMaster> ais523, hi
18:40:35 <ais523> but that can be peephole-optimised
18:40:37 <ais523> hi AnMaster
18:40:38 <AnMaster> ais523, how goes stuff?
18:40:41 <ais523> pretty well
18:40:50 <ais523> I've submitted what I think will be my final entry
18:40:55 <AnMaster> nice
18:41:29 <ais523> I'll post source once the competition ends
18:41:53 <AnMaster> k
18:42:02 <AnMaster> ais523, I hope you win
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:12 <fxkr> he all
19:13:19 <fxkr> + he tusho ^^
19:13:22 <ais523> hi fxkr
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:07 <ais523> yep
19:14:12 <tusho> fxkr: Can I try and guess?
19:14:18 -!- timotiis has joined.
19:14:26 <fxkr> guess what?
19:14:31 <tusho> your nick
19:14:49 <ais523> tusho: I suspect fxkr stopped coming here after you started
19:14:55 <fxkr> ?!
19:14:56 <tusho> ais523: ouch
19:14:57 <tusho> :)
19:15:03 <ais523> s/after/before/
19:15:05 <ais523> sorry
19:15:07 <tusho> not ouch :)
19:15:08 <ais523> stupid typo
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:15:50 <ais523> ah, I know the nick
19:15:56 <ais523> quick grep of logs
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:44 <fxkr> ^^
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:17:31 <twistle> Anybody know me?
19:17:43 <twistle> If not, look on the wiki.
19:18:09 <tusho> hi twistle
19:18:31 <fxkr> hi twistle. i dont know you, but hi :)
19:18:41 <tusho> ais523:
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:17 <ais523> and hexish?
19:19:25 <twistle> Yeah. I have a feeling you JUST looked that up
19:19:29 <ais523> yes, I did
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:34 <twistle> Isn't that you?
19:20:50 <twistle> And did you invent DZZZZZ?
19:20:55 <twistle> Wait, no
19:20:56 <tusho> twistle: thutu and underload, I believe
19:20:57 <tusho> and
19:20:59 <tusho> tons of others
19:21:12 <tusho> http://esolangs.org/wiki/User:Ais523 <-- this many, it seems
19:21:12 <twistle> I'ma look at the wiki
19:21:23 <twistle> lol
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:13 <tusho> wb ais523_...?
19:30:18 <ais523_> hi
19:30:24 <ais523_> hm... my nick's changed
19:30:32 <tusho> ais523_: ais523 is still here
19:30:35 <tusho> but you rejoined as ais523_
19:30:37 <ais523_> yes, I know
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:31:14 <twistle> I like Black too
19:31:25 <ais523> thanks
19:32:22 <twistle> But my favorite esoteric language is probably Zetaplex
19:32:29 <twistle> What's yours?
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:20 <twistle> liiiiike
19:33:23 <tusho> similar to your mashup languages like iffi and stuff
19:33:39 <ais523> tusho: what is it?
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:35:12 <twistle> What y'all talkin' bout?
19:35:29 <tusho> twistle: Shrug
19:35:30 <tusho> :P
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:01 <twistle> ah, INTERCAL
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:43 <ais523> twistle: and Befunge
19:38:50 <tusho> twistle: add befunge and unlambda
19:38:51 <tusho> and yes
19:39:02 <tusho> INTERCAL, Brainfuck, Malbolge, Befunge, Unlambda
19:39:06 <twistle> I LOVE UNLAMBDA!
19:39:14 <tusho> the prime examples of paradigm-extremes
19:39:20 <ais523> tusho: 2 years and almost a month
19:39:31 <tusho> ais523: OK
19:39:38 <ais523> well, Underload's a paradigm-extreme too, that's probably why it caught on
19:39:42 <ais523> and OISC is too
19:39:51 <tusho> ais523: yes, but those are the biggies
19:39:53 <twistle> I like OISC
19:40:03 <twistle> Actually, I change my mind
19:40:04 <tusho> underload builds on unlambda quite a bit, really
19:40:14 <ais523> tusho: yep
19:40:18 <twistle> zetaplex isn't my favorite language.
19:40:28 <twistle> LAZY K IS!
19:40:32 <tusho> lazy k is fun
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:35 <ais523> pretty much
19:43:39 <ais523> you can combine some like in BF
19:43:44 <oklopol> ah
19:43:45 <ais523> but not remove any without modifying some
19:43:49 <oklopol> but can you *drop* some?
19:43:51 <oklopol> okay
19:44:07 <tusho> you can
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:21 <ais523> to replace (...)
19:44:26 <ais523> so that's cheating
19:44:26 <tusho> ais523: yes
19:44:30 <tusho> but (...) is conceptually 'heavy'
19:44:36 <tusho> dei isn't so much
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:45:58 <twistle> It's on the wiki
19:46:04 <lament> a local chinese restaurant has it on the tables.
19:46:15 <lament> salt, pepper and MSG.
19:46:16 <tusho> that looks cool twistle
19:46:27 <tusho> it's like smalltalk
19:46:28 <tusho> and feather
19:46:32 <tusho> without the time travel part
19:46:34 <tusho> and io
19:46:42 <tusho> twistle: however
19:46:45 <tusho> your syntax is ambiguous
19:46:45 <twistle> Yeah, I like smalltalk
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:47:25 <twistle> oooh pretty!
19:47:39 <twistle> That IS less ambiguous.
19:48:42 <twistle> main (passon stdout (Hello, world!))
19:48:48 <oklopol> i prefer the ambiguous way
19:48:50 <twistle> yayus!
19:49:21 <tusho> twistle: hmm
19:49:23 <tusho> I prefer []
19:49:29 <tusho> otherwise yours just looks like lisp
19:49:29 <tusho> :)
19:49:41 <tusho> twistle: say, can you write a longer program
19:49:42 <tusho> just on the spot?
19:49:48 <tusho> not too long
19:49:49 <tusho> just longer than that
19:50:18 <oklopol> have "..." on toplevel, '...' inside the "...", and prevent further nesting
19:50:18 <twistle> like...
19:50:43 <ais523> oklopol: in INTERCAL you can just alternate '' and "" from level to level, that's unambiguous
19:51:07 <tusho> twistle: i dunno
19:51:09 <tusho> how about cat
19:51:13 <tusho> (copies input to output)
19:51:20 <twistle> I know what cat is
19:51:23 <oklopol> ais523: 1. i know 2. that's obvious
19:53:56 <tusho> twistle: :3?
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:26 <twistle> Ooh, nesting!
19:56:37 <twistle> What would require nesting...
19:57:01 <oklopol> everything
19:57:08 <tusho> twistle: Just a heavily-nested expression.
19:57:12 <twistle> That program didn't!
19:57:13 <tusho> So I can toy around with different syntaxes.
19:57:40 <oklopol> twistle: i'm sure it did
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:40 <tusho> twistle: go on
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:02 <twistle> EOF
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:01:48 <twistle> A math object!
20:02:01 <lament> passon is a strange word
20:02:28 <lament> it looks french
20:02:51 <tusho> twistle: a math object?
20:02:52 <tusho> ugh
20:02:54 <tusho> just make integers obejcts
20:02:56 <tusho> *objects
20:03:08 <tusho> 1 '+ 2'
20:03:10 <tusho> see?
20:03:23 <twistle> lament: passon = pass on
20:03:32 <oklopol> twistle: he got that
20:03:46 <tusho> twistle: 1 + '3 '+ 2' '
20:03:51 <tusho> = 6
20:03:52 <twistle> It does look french
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:05:38 <tusho> Quite.
20:06:27 <twistle> The new syntax is:
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:21 <twistle> There!
20:07:23 <tusho> twistle: isn't sender always self?
20:07:31 <oklopol> tusho: well that's basically how nopol works
20:07:34 <oklopol> except a bit different
20:07:43 <twistle> It's unambiguous!
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:08:36 <tusho> OK twistle
20:09:27 <twistle> Actually, it's <sender> <receiver> '<message>' <wire>
20:10:24 <twistle> unambigous!
20:10:53 <twistle> *unambiguous!
20:10:55 <oklopol> you'd think
20:11:04 <twistle> hmmmm?
20:11:14 <oklopol> well, depends on what the message can be
20:11:26 <tusho> oklopol: an arbitary string
20:11:27 <tusho> I think
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:11:48 <ais523> coolxpression?
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:49 <oklopol> twistle: o
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:17:33 <oklopol> ya
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:03 <tusho> using regexes
20:21:08 <twistle> cool
20:21:15 <oklopol> happyness?
20:21:22 <tusho> oklopol: twistle: http://rafb.net/p/AVfy9w26.txt
20:21:25 <tusho> behold
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:05 <oklopol> or parseable
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:18 <oklopol> sure
20:23:27 <tusho> its not perfect yet, though:
20:23:27 <tusho> (define (factorial n)
20:23:28 <tusho> (if (zero? n)
20:23:28 <tusho> 1
20:23:28 <tusho> (* n (factorial (- n 1(((()
20:24:52 <tusho> (define (factorial n)
20:24:52 <tusho> (if (zero? n)
20:24:52 <tusho> 1
20:24:52 <tusho> (* n (factorial (- n 1)))))
20:24:53 <tusho> yay
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:25 <oklopol> hmm
20:28:38 <tusho> oklopol: wait
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:06 <tusho> oklopol: try it?
20:32:17 <tusho> but
20:32:18 <tusho> => "(() a) b) d)"
20:32:20 <tusho> oh
20:32:20 <tusho> uh
20:32:21 <tusho> I typed it
20:32:22 <tusho> wrong
20:32:29 <tusho> oklopol:
20:32:29 <tusho> irb(main):002:0> parenize("'''a' b' d'")
20:32:29 <tusho> => "(((a) b) d)"
20:33:52 <tusho> say
20:33:53 <oklopol> right, of course
20:33:54 <tusho> this gives me a crazy idea
20:34:00 <tusho> does anyone want to hear it? :p
20:34:58 <oklopol> err suuure
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:36:09 <tusho> oklopol: ?
20:36:57 <tusho> oklopol: .
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:37 <oklopol> functionbin
20:39:45 <ihope> Hmm, interesting.
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 <oklopol> huh?
20:40:16 <tusho> e.g. if you put 2 in the argument box
20:40:20 <tusho> is that 2 or "2"?
20:40:23 <oklopol> oh
20:40:30 <tusho> i'd probably get around that with:
20:40:32 <tusho> 2 is 2 the int
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:37 <tusho> oklopol: yeah
20:40:38 <tusho> BUT
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:41:13 <oklopol> sure
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:09 <oklopol> but yes, definitely
20:43:15 <ihope> Do they?
20:43:25 <oklopol> well there's that goto thingie
20:43:27 <oklopol> :P
20:43:30 <tusho> oklopol: does my functionbin thing sound useful?
20:43:35 <oklopol> tusho: sure
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:04 <tusho> I guess so.
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:25 <ihope> What is Feather?
20:46:33 <twistle> Hello, poiuy
20:46:33 <ais523> ihope: a lang idea I'm working on
20:46:43 <tusho> ais523: True.
20:46:49 <tusho> Wait, no.
20:46:52 <poiuy_qwert> hello twistle
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:05 <tusho> ihope: No.
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:09 <oklopol> ya taht one
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.
20:53:55 <oklopol> right, right
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:39:42 <ais523> tusho: which one?
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:37 <tusho> in 6 lines
21:40:46 <tusho> well, 4 really
21:40:51 <ais523> yes, seems pretty simple
21:41:04 <tusho> didn't think it would be that trivial
21:41:05 <tusho> but it is
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:16 <tusho> this just has '
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:06 <tusho> and, ais523
21:45:10 <tusho> i don't want to produce invalid output like that
21:45:14 <tusho> oh, wait
21:45:14 <tusho> hm
21:45:18 <tusho> i see
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:26 <ais523> s/$/>>/
21:46:29 <ais523> does your code handle that?
21:47:22 <tusho> it produces
21:47:23 <tusho> => "(a (b (c() d (e f))"
21:47:24 <tusho> so no
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:16 <tusho> what about
21:48:17 <ais523> the two first rules you have are different specialisations of that
21:48:19 <tusho> ''' ''' '''
21:48:21 <tusho> for ends
21:48:26 <tusho> it's /'['\s]*$/
21:48:33 <ais523> and the case I gave was the case you didn't cover
21:48:54 <tusho> ais523: s
21:48:54 <tusho> o
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:14 <tusho> seems right
21:49:15 <tusho> :D
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:57 <tusho> they aren't
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:15 <tusho> um....
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:34 <ais523> and compare
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:03 <ais523> ansic: 8335 (83.86%)
21:55:03 <ais523> yacc: 1077 (10.84%)
21:55:03 <ais523> lex: 516 (5.19%)
21:55:03 <ais523> sh: 11 (0.11%)
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:54 <tusho> :) heh
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:15 <tusho> % ls ~/Code|wc -l
21:56:16 <tusho> 581
21:56:31 <ais523> tusho: what about ls -R ~/Code|wc -l
21:56:35 <tusho> ais523: just did that
21:56:37 <tusho> 15851
21:56:45 <tusho> but I think I have a few downloaded pieces of code in here
21:56:46 <tusho> still
21:56:51 <tusho> it's notable that most of these files are empty
21:56:53 <tusho> or near-empty
21:56:54 <tusho> :)
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:58:49 <tusho> :p
21:59:18 <ais523> $ ls ~ -R | wc -l
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:00:40 <tusho> 181829
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:34 <ais523> not sure
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:01:55 <ais523> 378139 anyway
22:01:59 <ais523> so more than you
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:02:35 <ais523> ah, ok
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:05:12 <tusho> *expert
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:29 <tusho> :p
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:43 <ais523> only the expressions
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:16:18 <lilja> :o
22:16:22 <lilja> so scary
22:16:42 <tusho> lilja: wot
22:16:46 <lilja> you
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:20 <lilja> usually like this
22:18:27 <lilja> And then like this.
22:18:46 <ais523> tusho: lilja's right, you used a capital letter
22:18:52 <ais523> that's pretty unusual
22:18:59 <tusho> oh, right
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:20 <fxkr> :-p
22:19:28 <tusho> fxkr: ugly.
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:02 <lilja> don't do it :)
22:20:04 <tusho> lilja: not really
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:20:50 <lilja> tjaja
22:21:15 <tusho> tjjaja?
22:21:19 <tusho> oh, jeez
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:27:20 <tusho> lilja: yes
22:27:22 <tusho> once upon a time
22:27:24 <tusho> your face
22:27:25 <tusho> the end
22:27:33 <lilja> :\
22:28:28 <lilja> you are a mean person
22:29:30 <tusho> lilja: aw okay
22:29:32 <tusho> once upon a time
22:29:34 <tusho> there was an irc channel
22:29:38 <tusho> it was called #esoteric
22:29:39 <tusho> one day
22:29:41 <tusho> it died
22:29:43 <tusho> it went to heaven
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:00 <tusho> it was it
22:31:01 <tusho> it died
22:31:05 <tusho> and blossomed into psychedelia
22:31:06 <tusho> which died
22:31:07 <tusho> and blossomed into psychedelia
22:31:11 <tusho> over and over again, forever
22:31:12 <tusho> until one day
22:31:16 <tusho> it grew sentience
22:31:19 <tusho> but each time it died
22:31:23 <tusho> forgot everything
22:31:24 <tusho> at one point
22:31:25 <tusho> it remembers just
22:31:27 <tusho> just enough
22:31:28 <tusho> enough
22:31:28 <tusho> to
22:31:29 <tusho> to
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:31:58 <tusho> the end.
22:32:16 <lilja> thanks
22:32:56 <tusho> :)
22:33:17 <tusho> lilja: good story?
22:33:24 -!- ihope has joined.
22:33:33 <tusho> ihope: you missed the story
22:33:49 <ihope> What story?
22:34:11 <tusho> i'll paste
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:37:36 <tusho> ihope: how so
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:45 <tusho> though
22:39:47 <tusho> pause between lines
22:39:48 <tusho> for the pacing
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:44:49 <ihope> Yep.
22:45:12 <tusho> Link?
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:18 <ihope> :-)
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:46:43 <tusho> OUCH
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:06 <tusho> :(
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:39 <lilja> hmm
22:52:54 <tusho> lilja: It was improvised.
22:52:57 <tusho> No prior thought.
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:03 <tusho> Flow.
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.
22:54:01 <tusho> So.
22:54:02 <tusho> Harder.
22:54:06 <lilja> :D
22:54:10 <lilja> yeah right
22:54:13 <lilja> --->
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:21:31 <Corun> :-)
23:21:49 <pikhq> Hello, me.
23:23:04 <CakeProphet> :)
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:26:10 <oerjan> oh, or a girl.
23:33:13 <pikhq> Which, contrary to popular belief, can occur here.
23:34:29 <oklopol> girls need not be insane?
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:51 <oklopol> yeah, indeed
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:50:00 <lilja> :\
23:51:13 <lament> sukoshi is the same person as razor-x?
23:51:19 <oerjan> yes
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:52:48 <lament> heh
23:53:48 <lilja> oklopol: am I silly or insane?
23:54:02 <oklopol> hmm
23:54:11 <oklopol> i'd say more silly than insane
23:54:15 <oklopol> but definitely both
23:54:20 <lament> lilja: we shall see, depending on whether you'll stop visiting or not.
23:54:25 <oklopol> heh
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:41 <tusho> just geeky
23:57:49 <tusho> despite jokes to the contrary
23:58:11 <lament> fuck man i'm haf
23:58:16 <oklopol> yeah like those elaborate girlfriend jokes where you fake you have a girl sitting next to you
23:58:32 <tusho> roll eyes
23:58:42 <lilja> :)
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
2008-07-15
00:04:08 <oklopol> it's all good
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:24 <lilja> oh
00:10:25 <lilja> well
00:10:34 <tusho> lilja: we're all stupid in here.
00:10:34 <lilja> yeah, could be
00:10:37 <oklopol> lilja has a very smart ass
00:10:42 <lilja> :\
00:10:54 <oklopol> :D
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:53 <tusho> lament: of 4
00:11:56 <tusho> 98? shesh
00:11:58 <tusho> *sheesh
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:09 <tusho> kickban everyone
00:12:15 <tusho> lament: do the honours
00:12:18 <oerjan> ah yes! brilliant!
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:29 <tusho> but come on.
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:12 <oklopol> lilja: crap control
00:13:20 <lilja> ooh
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:23 <oerjan> ass boggling, too
00:14:25 <tusho> oerjan: don't you mean - ass boggling?
00:14:28 <tusho> hahahhahahaha
00:14:31 <oklopol> :)
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:22 <ihope> An obvious joke.
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:36 <tusho> Sorry
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:51 <tusho> :\
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:20 <tusho> ok.
00:16:41 <lament> PLEASE SAY AN OBVIOUS JOKE
00:16:50 * tusho craps
00:16:57 <ihope> AN OBVIOUS JOKE.
00:17:14 <lament> we're good at this.
00:17:30 <tusho> lament: yeah.
00:17:40 <ihope> Holy crap, a talking lament.
00:17:53 <oerjan> totally lamentable
00:17:59 <lament> sorry, i'll shut up
00:18:10 <ihope> I not know what is a shut up. Do not call me a shut up.
00:18:57 <oklopol> i don't get it
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:21 <oklopol> that's what she did
00:20:22 * lament bans *!*@*
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:22 <tusho> and hit enter
00:22:25 <tusho> note: not //ban *!*@*
00:22:28 <tusho> but /ban *!*@*
00:22:43 <lament> done
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:01 <tusho> hit enter
00:23:04 <tusho> type /ban *!*@*
00:23:06 <tusho> hit enter
00:23:10 <tusho> type /deop lament
00:23:10 <tusho> hit enter
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:38 <lament> i'd get lost halfway
00:23:41 <tusho> lament: good point, let me make it simpler
00:23:48 <tusho> lament: ok
00:23:55 <tusho> type /msg ChanServ ban #esoteric *!*@*
00:23:57 <tusho> hit enter
00:23:58 <tusho> that's it
00:24:27 <tusho> lament: done that?
00:24:33 <lament> Yes.
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:11 <tusho> oh, true
00:25:16 <lament> details, i know.
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:40 <oklopol> o
00:25:42 <tusho> thn /cs op #esoteric
00:25:45 <tusho> thn /ban *!*@*
00:25:46 <tusho> that's it
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:06 <oklopol> :)
00:27:13 <tusho> lament: What happened.
00:27:17 <oklopol> :)
00:27:43 <tusho> :(
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:33 <lament> You know wrong.
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:29:28 <lament> No.
00:29:32 <tusho> why not :(
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:31:45 <tusho> :(
00:32:00 <ihope> Join #everyoneisbanned!
00:32:45 <tusho> heh
00:32:59 <ihope> Gasp!
00:33:20 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
00:34:20 <tusho> N is fun
00:34:59 <lilja> oklopol: miksi helkkili?
00:35:08 <oklopol> tuntui siltä
00:35:10 <tusho> ihope: nobody can join it
00:35:15 <ihope> tusho: did you try?
00:35:20 <tusho> Yes.
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:35:33 <ihope> Oh.
00:35:46 <ihope> Try now.
00:36:03 <tusho> no
00:36:04 <tusho> :P
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:37:56 <ihope> What is N?
00:38:20 <oerjan> yksi kaksi kolme!
00:38:30 <ihope> Germanic!
00:38:33 <oklopol> vittu koskenkorvaa pilluun
00:38:37 <tusho> http://www.addictinggames.com/ngame.html
00:38:39 <lilja> :\
00:38:42 <oklopol> :\
00:38:53 -!- twistle has joined.
00:38:57 <lament> go ski into a cunt!
00:39:00 <oerjan> Finno-Ugric!
00:39:00 <oklopol> lilja: don't worry, no one active is finnish
00:39:01 <ihope> :\
00:39:11 <lilja> kyll sin taidat olla oudompi...
00:39:12 <oklopol> so no one can get offended
00:39:17 <lament> i'm offended
00:39:29 <lament> at least i know what vittu means
00:39:37 <oklopol> damn
00:39:46 <oklopol> the one fucking op on the whole chan!
00:39:46 <lilja> jos se olisikin vittukoskenkorvaa?
00:39:55 <oklopol> vitunkorvaa
00:39:58 <lament> http://en.wikipedia.org/wiki/Finnish_profanity
00:40:03 <lilja> :\
00:40:20 <lilja> mikhn se on?
00:40:21 <oklopol> damn, that almost translates all of my sentence
00:40:27 <lament> yep
00:40:32 <oklopol> vitunkorva is the ear of the vagina
00:40:37 <oklopol> you should know
00:40:45 <lament> the what of the what?
00:41:00 <oklopol> ear is the thingie you hear through
00:41:00 <lilja> hei hei!
00:41:04 <lilja> min tiedn!
00:41:25 <oklopol> lilja: i doubt the finnish is as fun to the others as it is for us :P
00:41:33 * oklopol is scared of lament
00:41:47 <oklopol> lament: did you catch my other dream about you?
00:41:53 <lament> no
00:41:53 <lilja> klitoriksen luona on se sellainen tosi etisesti korvaa muistuttava juttu, se sen tytyy olla
00:41:55 <lament> what happened?
00:42:12 <oklopol> lament: well basically
00:42:14 <oklopol> i shot this guy
00:42:18 <oklopol> and got really scared
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:30 <oklopol> half picture, half alive
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:15 <oklopol> but you'd turned away
00:43:22 <oklopol> needless to say, i was devastated
00:44:07 <lament> awful
00:44:25 <tusho> lmao
00:44:26 <oerjan> also, vittu _has_ to be related to the corresponding norwegian word. finnish doesn't have f does it?
00:44:32 <oklopol> it does
00:44:39 <oklopol> but f->v is common
00:45:22 <tusho> oklopol: ep1lvl1
00:45:22 <tusho> on n
00:45:23 <tusho> halp
00:45:33 -!- twistle has quit (Remote closed the connection).
00:45:52 <oklopol> wait
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:11 <oerjan> oh wait
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:39 <oklopol> *episode 1
00:46:39 <tusho> no
00:46:40 <tusho> episode 1
00:46:43 <tusho> level 1
00:46:47 <tusho> err
00:46:47 <oklopol> yeah, typero
00:46:48 <tusho> level 4
00:46:51 <tusho> oklopol: it's "steps"
00:47:01 <oklopol> humm?
00:47:24 <oerjan> if "korva" means ear, what does "kosken" mean?
00:48:18 <ihope> Easks?
00:48:31 <oerjan> o_O
00:49:17 <oklopol> koski is like, rapids
00:49:50 <oklopol> or rapid, dunno what the basic form is
00:50:05 <oklopol> and kosken is the genetive
00:50:55 <oerjan> ear of rapid? er...
00:51:27 <oklopol> yeah, literally speaking, it means that
00:51:29 <lilja> :D
00:52:15 <tusho> EAR OF RAPID
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:26 <oklopol> not that i have any idea
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:52:44 <oklopol> oh, right
00:52:46 <oklopol> makes more sense
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:28 <oklopol> koskenkorvankorva
00:53:41 <oerjan> tusho: what?
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:54:29 <oklopol> jan=town
00:54:38 <oklopol> clearly
00:54:45 <ihope> Earton.
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:01:50 <tusho> brb
01:01:52 <tusho> er
01:01:54 <tusho> I mean
01:01:55 <tusho> bye
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:05:23 <oerjan> i'm eating
01:05:47 <oklopol> holy shit
01:05:49 <oklopol> ?
01:05:51 <oerjan> bread with cod caviar
01:06:01 <oklopol> ah
01:06:05 <oerjan> now i will move on to the strawberry jam
01:06:14 <oklopol> go on, go on
01:06:35 <oerjan> then i shall delight on mackerel in tomato sauce
01:06:57 <oerjan> and finally a liver pat
01:13:10 <lilja> :(
01:13:13 <lilja> I'm hungry
01:38:16 <ihope> Ooh, personal detail.
01:38:32 <oklopol> god i'm horny
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:10 * oerjan doesn't
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:21:59 <oklopol> yes
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:33:32 <tusho> hi ais523
16:33:36 <ais523> hi tusho
16:33:54 <tusho> I WON
16:33:56 <tusho> er
16:33:58 <tusho> i won
16:34:00 <tusho> trivially
16:34:02 <tusho> lol capslock
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:21 <Hiato> Hello
17:13:27 <ais523> hello
17:13:45 <Hiato> phew :P
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:14:20 <Hiato> ;)
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:15:53 <Hiato> it's a spec
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:20 <tusho> Hiato: yes
17:18:25 <tusho> then put it on a pastebin like pastebin.ca
17:18:29 <tusho> ;)
17:18:37 <Hiato> 9 pages, but ok
17:18:38 <Hiato> :P
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:33 <tusho> no he doesn't
17:29:38 <tusho> he develops c-intercal on windows
17:29:46 <tusho> well
17:29:47 <tusho> not always
17:29:48 <tusho> but he dose
17:29:49 <tusho> *does
17:29:51 <tusho> he's said
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:30:43 <ais523> s/monet/money/
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:50:06 <tusho_> Am I still here?
17:50:23 <tusho_> ais523:
17:50:29 <Hiato> yes
17:50:31 <Hiato> you are
17:50:53 <ais523> tusho_: pong
17:51:15 <tusho_> yay
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:35 <ais523> bye tusho...
17:58:43 <Hiato> yay, no fatal flaws then :)
17:58:48 <ais523> strange quit message too
17:58:58 <tusho_> ais523: BWAHAHAHAHAA
17:58:59 <ais523> it's like a netsplit with only one server
17:59:01 <tusho_> I AM A GHOST
17:59:02 <tusho_> I AM HAUNTING YOU
17:59:05 <tusho_> LOOK BEHIND YOU
17:59:09 <ais523> no, actually tusho was the ghost
17:59:12 <ais523> you're the real user
17:59:17 <tusho_> I'M THE GHOST'S GHOST, AIS523
17:59:29 <ais523> STOP SHOUTING
17:59:50 <ais523> (presumably the bold on that won't have come through due to the channel mode)
18:02:15 <tusho_> ais523: NO
18:07:23 <tusho_> ais523: have you seen that link to the message which originated the IMG tag?
18:07:33 <ais523> no
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:52 <tusho_> proposed new tag: IMG
18:07:59 <tusho_> http://1997.webhistory.org/www.lists/www-talk.1993q1/0184.html guido
18:08:06 <tusho_> ais523: and finally:
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:08:16 <tusho_> :-)
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:14:20 <tusho_> So.
18:14:23 <tusho_> Er
18:14:24 <tusho_> Web
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
18:55:45 <ais523> maybe
18:58:41 <Sgeo> ambig-quotes?
19:01:04 <tusho_> Sgeo: parens with just one symbol
19:01:10 <tusho_> 'a 'b'' -> (a (b))
19:01:24 <tusho_> '''a' b' ''c' ''d''' e'
19:01:25 <tusho_> ->
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:30 <tusho_> Slereah2: Yes it is.
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:41 <tusho_> Huh.
19:45:49 <tusho_> I have some code in a weird languge on my HD
19:45:54 <lament> oh no?
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:46:52 <tusho_> no, I don't think so
19:47:02 <oklopol> *i'm
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:10 <lament> maybe it's Ruby.
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_> hmm
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:57:59 <tusho_> that is pretty weird
19:58:17 <oklopol> qq, double queue, like a deque
19:58:20 <tusho_> Munges the quoted program argument with itself.
19:58:23 <tusho_> wtf does that mean
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:49 <tusho_> o_______o
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:26 <tusho_> Ah, Xah Lee.
20:13:30 <tusho_> How your rants inspire laughter.
20:16:46 <tusho_> Good lord.
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:35 <oklopol> quite readable
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:29 <tusho_> but the magic bit?
20:19:32 <tusho_> #0 is the function itself.
20:19:34 <tusho_> aiee!
20:19:40 <oklopol> well yeah, obviously
20:19:46 <tusho_> oklopol: that's pretty insane, though
20:19:55 <oklopol> well c does that too
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:15 <tusho_> yeah not the asme
20:20:18 <oklopol> yeah, but sae concept.
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:19 <oklopol> *same
20:20:19 <tusho_> s
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:22 <oklopol> okokokokokokokoko
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:36 <tusho_> excellent
20:21:49 <oklopol> ais523: i see
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:34 <tusho_> Hmm.
20:24:40 <tusho_> UNIX pipes are kind of concatenative, right?
20:24:44 <tusho_> a | b | c -> a b c
20:24:50 <ais523> I suppose so
20:25:05 <ais523> in a concatenative lang all commands are functions from input to output mapping stacks to stacks
20:25:12 <tusho_> no
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:37 <tusho_> err
20:25:38 <tusho_> b.a
20:25:43 <tusho_> in this case, a|b=b.a
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:25:52 <tusho_> *uniq
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:02 <tusho_> which is true
20:27:05 <ais523> yes
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:21 <tusho_> always mix that up
20:27:28 <tusho_> ais523: that's not how most people refer to it as
20:27:31 <ais523> ah, ok
20:27:40 <ais523> maybe I need a new word for my way of thinking
20:28:36 <tusho_> ais523: idiomaticity
20:28:47 <tusho_> mm, that's a nice word.
20:28:50 <tusho_> idiomaticity
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:36 <tusho_> the problem is ...
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:31:59 <tusho_> it's not natural
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:55 <tusho_> ais523: yes, but
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:23 <oklopol> *usually
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:11 <oklopol> ais523: well yeah, sure
20:36:14 <ais523> tusho_: ah, you want to know how data's used before looking at how it's generated?
20:36:27 <oklopol> i can do it either way
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:39 <tusho_> it's kind of an urge
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:37:58 <tusho_> ais523: for example
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:08 <tusho_> and then, only then
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:38 <tusho_> even for reading
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:22 <ais523> oklopol: so do I!
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:25 <oklopol> well how?
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:44 <oklopol> heh
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:03 <oklopol> ya.
20:47:21 <oklopol> you can't encode sk as simply at least
20:47:57 <tusho_> 'tis
20:48:03 <tusho_> you just need to put the rest of the program into the thing you're doing
20:48:06 <tusho_> probably via *
20:48:26 <ais523> tusho_: but things like stack tricks normally use ^ to do
20:48:36 <tusho_> true
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:28 <oklopol> hmm
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:53 <oklopol> yeah
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:13 <tusho_> s/\^(.+)/($1)*^/g
20:51:55 <ais523> tusho_: that mangles (:^):^ badly, into (:():^)*^
20:52:01 <ais523> which isn't even in the required form
20:52:15 <tusho_> hm true
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:28 <tusho_> you know.
20:52:29 <tusho_> local to each ()
20:52:38 <oklopol> doubt it still works that simply
20:52:47 <oklopol> quite simple to try raelly.
20:52:49 <oklopol> *really
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:28 <AnMaster> ais523, hi
20:54:32 <ais523> hi AnMaster
20:54:32 <AnMaster> ais523, any issues?
20:54:36 <ais523> oklopol: oh, I see now
20:54:38 <oklopol> i swoppered all ^'s.
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:55:05 <oklopol> did i now`
20:55:06 <ais523> no, sorry, the second
20:55:13 <oklopol> *?
20:55:17 <oklopol> ah.
20:55:22 <oklopol> i didn't see that there
20:55:25 <oklopol> lessee
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:19 <AnMaster> interesting
20:57:26 <oklopol> well, it seems to work
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:48 * AnMaster checks
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:53 <AnMaster> blergh
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:00:53 <oklopol> hwa?
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:47 <AnMaster> ah
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:05:08 <AnMaster> heh
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:32 <AnMaster> ON THE WAY TO 108
21:07:32 <AnMaster> CORRECT SOURCE AND RESUBNIT
21:07:34 <AnMaster> um
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:01 <AnMaster> I'm quite sure it should
21:08:09 <tusho_> so?
21:08:10 <ais523> AnMaster: the spec doesn't say that
21:08:11 <tusho_> do you know it didn't?
21:08:13 <tusho_> it still crashed
21:08:15 <AnMaster> ais523, hrrm
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:08:46 <AnMaster> ais523, ah
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:10:52 <tusho_> imperative :-)
21:10:58 <tusho_> x = ...; y = ...; x+y
21:11:02 <tusho_> no more nesting
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:07 <tusho_> So amazin
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:27 <ais523> yes
21:13:38 <tusho_> ah, ok
21:13:39 <tusho_> brb
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:15 <ais523> and use UNIX newlines
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:10 <AnMaster> ais523, I used -bofF
21:16:18 <AnMaster> to ick
21:16:18 <AnMaster> could affect it?
21:16:31 <AnMaster> err
21:16:32 <AnMaster> O
21:16:33 <AnMaster> not oi
21:16:36 <AnMaster> not o*
21:16:39 <ais523> AnMaster: shouldn't
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:18 <AnMaster> pi2.bf
21:17:32 <ais523> AnMaster: mycology clipped to 25x80
21:18:03 <ais523> I get a west-hyperspace error with your program
21:18:23 <AnMaster> ais523, hm? my program == ?
21:18:31 <ais523> == pi2.bf
21:18:31 <AnMaster> pi2.bf?
21:18:33 <ais523> AnMaster: look at the program
21:18:36 <AnMaster> well check it's dimensions
21:18:38 <ais523> look at line 2 specifically
21:18:50 <ais523> reading backwards, >0399*p
21:18:54 <AnMaster> ah
21:18:56 <ais523> it's trying to p in (81,2)
21:18:59 <ais523> s/2/3/
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:19 <AnMaster> hrrm
21:19:33 <ais523> besides, interfunge just lets INTERCAL do the error checking and report an appropriate error message
21:19:58 <AnMaster> $ wc -c << EOF
21:19:58 <AnMaster> > 0#@>. 1#@v>#@,55+"skrow , :DOOG",,,,,,,,,,,,,,1#v:$v>"pud t'nseod : DAB",,,,,,,v
21:19:58 <AnMaster> > EOF
21:19:58 <AnMaster> 79
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:42 <AnMaster> ais523, I'll pastebin
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:32 <AnMaster> ais523, CRLF
21:22:36 <ais523> do you have crlf?
21:22:39 <AnMaster> mycology use it
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:22:58 <AnMaster> but in b98 you have to
21:23:04 <AnMaster> I recommend you 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:23:25 <AnMaster> after change to LF
21:23:32 <AnMaster> it works
21:23:36 <AnMaster> however there is an issue
21:23:41 <AnMaster> _
21:23:41 <AnMaster> I
21:23:41 <AnMaster> II
21:23:48 <AnMaster> with a lot of blank lines
21:23:54 <AnMaster> that is not correct behaviour
21:24:01 <AnMaster> for a befunge interpreter
21:24:16 <AnMaster> 0 1 2 3 4 5 6 7
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:29 <tusho_> back
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:25:41 <AnMaster> BAD: SGML spaces in Funge-93
21:25:54 <AnMaster> err
21:25:54 <AnMaster> wait
21:25:57 <AnMaster> my fault
21:26:01 <ais523> GOOD: Funge-93 spaces
21:26:02 <tusho_> AnMaster: it's written in frucking intercal
21:26:06 <tusho_> do you want it to be perfect?!
21:26:08 <AnMaster> ais523, my fault
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:27 <AnMaster> tusho_, maybe not
21:26:36 <AnMaster> tusho_, I'm afraid I forgot the ~
21:26:42 <tusho_> still not very nice
21:26:42 <AnMaster> ais523, heh ok
21:26:51 <tusho_> though I guess curse levels are hard to learn in a foreign language :)
21:27:55 <AnMaster> ja fy fan, det är det
21:27:58 * AnMaster runs
21:28:56 <AnMaster> hrrm
21:29:03 <AnMaster> should I implement TERM tonight?
21:29:12 <ais523> which fingerprint's that?
21:29:17 <AnMaster> terminal stuff
21:29:21 <AnMaster> ais523, it would use ncurses
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:13 <AnMaster> horrible
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:32:58 <AnMaster> while TRDS does
21:34:20 <AnMaster> in fact I won't need ncurses, I will just need termcap
21:34:43 <AnMaster> NCRS will be worse
21:42:16 -!- oerjan has joined.
21:54:51 -!- anjo has joined.
21:55:03 <anjo> saluton
21:56:36 <tusho_> anjo: hi
21:56:41 <tusho_> you knew?
21:56:42 <tusho_> *new
21:57:12 <ais523> hi anjo
21:57:14 <ais523> and oerjan
21:57:55 <anjo> hi
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:21 <oerjan> 'evening
21:58:24 <AnMaster> tusho_, do you know buzzwords? ;P
21:58:33 <tusho_> AnMaster: xpath isn't a buzzword..
21:58:35 <ais523> tusho_: no
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:13 <AnMaster> tusho_, indeed
21:59:18 * AnMaster prefers S-Expressions
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:01 <tusho_> easier
22:00:02 <AnMaster> tusho_, well I do prefer S-Expressions
22:00:06 <AnMaster> I coded with them
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:22 <tusho_> And vise-versa.
22:00:24 <AnMaster> XML got a lot of overhead
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:47 <AnMaster> basically
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:46 <AnMaster> tusho_, then it makes sense
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:39 <AnMaster> because as you said
22:02:45 <tusho_> "X is bad because when you misuse it, it has huge overhead"
22:02:46 * oklopol sucks
22:02:48 <AnMaster> "OMG XML TECHNOLOGIES" buzzword
22:02:56 <AnMaster> tusho_, it does have overhead for a lot of stuff
22:03:02 <AnMaster> that it is commonly used for
22:03:03 <tusho_> AnMaster: all of which are misuses.
22:03:10 <AnMaster> yes
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:32 <ais523> oerjan: no, I haven't
22:03:39 <AnMaster> ais523++
22:03:44 <tusho_> ais523: XHTML is crap
22:03:47 <tusho_> we can all accept that
22:03:55 <tusho_> it's a misuse of XML
22:04:06 <AnMaster> and S-Expressions wouldn't be good for HTML
22:04:09 <AnMaster> really wouldn't
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:05 <AnMaster> because tusho is lazy I guess
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:26 <AnMaster> ~
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:33 <AnMaster> ais523, hah!
22:06:41 <tusho_> lament: either you're reading the wrong ones or you're just wrong
22:06:42 <tusho_> :)
22:06:43 * AnMaster curses ncurses
22:07:03 * oerjan ncurses curses
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:26 <tusho_> go browse the web.
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:37 <AnMaster> sadly
22:07:49 <ais523> well, if enough people did that, a lot more pages would start validating
22:07:55 <AnMaster> ais523, indeed!
22:08:01 <ais523> just like when Firefox became popular a lot more sites stopped using IE-only markup
22:08:10 <AnMaster> yes
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:16 <ais523> Wikipedia validates
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:35 <lament> tusho_: okay.
22:10:40 <Deewiant> AnMaster: I can't remember
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:11:59 <oklopol> err
22:12:00 <tusho_> ais523: invalid XHTML pages
22:12:03 <tusho_> because it's mandatory
22:12:04 <oklopol> perhaps a bigger interval
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:42 <tusho_> ais523: no
22:12:44 <tusho_> that is not the reason
22:12:49 <ais523> that is 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:18 <tusho_> and yes
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:29 <tusho_> massively smallr
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:15:57 <tusho_> and no
22:16:03 <ais523> that seems completely against vi spirit
22:16:10 <tusho_> vi just love waving their e-peen around
22:16:12 <tusho_> *vi users
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:16:40 <tusho_> generally
22:17:37 <lilja> hrrrrrr
22:17:56 <tusho_> lilja: rrrrrrrrrrrrrh
22:18:00 <ais523> tusho_: actually I thought emacs users tended to be even more religious than vi users, except me
22:18:16 <tusho_> ais523: depends
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:39 <tusho_> :)
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:39 <tusho_> and yes
22:21:40 <tusho_> --dired
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:27 <tusho_> it's an OS>
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:31 <tusho_> no...
22:24:36 <tusho_> but let's just drop this, it's going nowhere
22:24:37 <tusho_> :p
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:23 <AnMaster> not sure why clear works now
22:38:38 <cherez> Confound you, quaterions!
22:38:55 <AnMaster> cherez, um what has they got to do with this?
22:38:56 <tusho_> Confound you, cherez!
22:39:03 <tusho_> AnMaster: Why does he have to talk about your topic?
22:39:06 <cherez> I'm not sure.
22:39:07 <tusho_> Why can't he talk about what he wants?
22:39:10 <AnMaster> ah
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:39:54 <AnMaster> so he was successful I guess
22:40:06 <AnMaster> oerjan, that exists?
22:40:13 <oerjan> yes
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:51 <tusho_> aw
22:44:55 <tusho_> I'm interested in it
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:13 <ais523> from where?
22:45:16 <tusho_> abcdefg - if you have 'ab', 'cdef', and 'g' as commands,
22:45:16 <tusho_> that's
22:45:19 <tusho_> ab cdef g
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:32 <ais523> same
22:45:38 <tusho_> abcde fg
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:45 <tusho_> if ab is defined
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:07 <tusho_> really fast
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:04 <ais523> 93's easier
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:16 <tusho_> :)
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:39 <AnMaster> would be interesting
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:53 <tusho_> etc.
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:33 <tusho_> oklopol: i'm not
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:58:31 <tusho_> TRDS TRDS TRDS TRDS
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:08:11 <tusho_> oklopol: TRDS
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:20 <oklopol> wow
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:36:46 <tusho_> and stdin
23:36:51 <AnMaster> oklopol, yes painful
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:38 <tusho_> GregorR: Not sur.
23:40:39 <tusho_> e.
23:40:41 <tusho_> Maybe.
23:40:51 <tusho_> Think it detects tty-ness, GregorR
23:41:17 <AnMaster> how can you rewind stdout?
23:41:54 <AnMaster> to me that makes no sense
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:17 <AnMaster> k
23:49:28 <AnMaster> tusho_, well that is what putp(clr_screen); does
23:49:30 <AnMaster> ncurses
23:49:35 <tusho_> sure, whatever
23:49:35 <tusho_> :)
23:57:43 -!- poiuy_qwert has quit (Read error: 110 (Connection timed out)).
2008-07-16
00:03:22 <AnMaster> night
00:21:37 <tusho_> oklopol:
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:34:57 * ihope comes and sees
01:35:16 <tusho_> ?
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:28 <ihope> Oh.
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:37:47 <oerjan> BUT IT'S YUCKY!
01:37:56 <oerjan> AND IT MOVES!
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:39:53 <oerjan> Yay, Crunchy!
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:32:23 <GregorR> That's pair #4
02:32:28 <GregorR> I'm so tired of shoes.
02:33:25 <ihope> Don't wear 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:11:22 <CakeProphet> :D
04:11:38 <CakeProphet> I grow weary of working
04:11:39 <CakeProphet> perhaps
04:11:46 <CakeProphet> I should create a robot
04:11:48 <CakeProphet> that works for me
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.
04:30:16 <ihope> Surely.
04:30:24 * ihope ponders
04:30:29 <ihope> Zamboni driving.
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:28:42 <oklopol> it's just so convenient
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
09:49:02 <AnMaster> BLERGH
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:12:32 <AnMaster> ah
10:12:38 <AnMaster> right there was an r
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:16 <oklopol> yeah
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:10 <oklopol> you can't output
10:17:14 <AnMaster> ah ok
10:17:16 <oklopol> well
10:17:25 <oklopol> it's really a language template
10:17:53 <AnMaster> turing complete language?
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:47 <AnMaster> ah
10:18:50 <oklopol> basically condition => result
10:19:05 <oklopol> but it's kinda OO, you're always describing an object
10:19:12 <AnMaster> bbiab food
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:00 <oklopol> all that shit
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:39:57 <AnMaster> back
10:40:12 <oklopol> (now adding objects without changing syntax, god i'm perverted)
10:40:21 <oklopol> basicaly
10:40:23 <oklopol> *basically
10:40:41 <oklopol> i was thinking objects could be created by "calling" a phase.
10:40:43 <oklopol> so
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:12 <AnMaster> "superturing"?
10:41:20 <oklopol> which would normally become active when the variable object is set to human
10:41:23 <oklopol> err
10:41:23 <oklopol> yeah
10:41:34 <oklopol> superturing, can evaluate H()
10:41:39 <oklopol> anyway
10:41:47 <AnMaster> H()?
10:41:51 <oklopol> if you have the "object human:" phase
10:41:52 <oklopol> err
10:41:55 <oklopol> halting test
10:41:58 <oklopol> anyway
10:41:58 <AnMaster> ah
10:42:00 <oklopol> if you have the "object human:" phase
10:42:03 <AnMaster> yes?
10:42:06 <oklopol> and you do something like
10:42:15 <oklopol> myHuman = object human
10:42:34 <oklopol> it will actually start a new thread that executes the code in the object human phase
10:42:43 <AnMaster> oh my
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:44:10 <AnMaster> like mutexes?
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:24 <fizzie> (?<!foo)
10:46:28 <AnMaster> thanks
10:46:39 <fizzie> Only fixed-width contents, though.
10:46:45 <AnMaster> yeah I know that
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:47:40 <AnMaster> :D
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:48:41 <AnMaster> in fact I had one
10:48:58 <AnMaster> wait that would still match
10:49:13 <fizzie> Well, I guess you'd miss things like "resize", but...
10:49:22 <AnMaster> that one would be size too
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 <AnMaster> oklopol, ah
10:50:55 <oklopol> the threads cannot be just "threads".
10:50:59 <oklopol> i mean
10:51:01 <oklopol> if someone says something
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:11 <oklopol> well
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:31 <tusho> hi ais523
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:53:41 <oklopol> we know
10:53:47 <oklopol> too slow not to
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:26 <oklopol> hehe
10:54:28 <tusho> also
10:54:33 <tusho> you should totally make fields first class.
10:54:46 <oklopol> http://bespin.org/~nef/logs/esoteric/
10:54:52 <oklopol> why is that?
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 <tusho> not field
10:55:28 <AnMaster> oklopol, your language looks too much like English :(
10:55:29 <tusho> s
10:55:36 <tusho> AnMaster: ob does not look lik eenglish dude
10:55:45 <oklopol> AnMaster: they're comments
10:55:51 <AnMaster> hm
10:55:53 <AnMaster> ah
10:55:59 <oklopol> you can remove all the english, it's no
10:56:00 <oklopol> nop
10:56:05 <AnMaster> oklopol, so what string marks it as a comment?
10:56:12 <oklopol> nothing
10:56:17 <oklopol> that's what marks it
10:56:19 <tusho> AnMaster: invalidness is ignored I imagine
10:56:20 <AnMaster> um
10:56:22 <AnMaster> ah
10:56:22 <tusho> like intercal
10:56:25 <AnMaster> right
10:56:28 <tusho> it's certainly esoteric
10:56:28 <tusho> :)
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:15 <oklopol> otherwise ignored
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
10:59:34 <oklopol> hmm
10:59:50 <oklopol> actually not, i guess
11:00:01 <oklopol> if we forget all practicality for a moment
11:00:15 <oklopol> now
11:00:22 <oklopol> condition X => result
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:01 <oklopol> now if we do
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:02:39 <oklopol> wait, father called...
11:06:37 -!- GreaseMonkey has quit ("Remote closed the previous member app").
11:06:40 <oklopol> okay, i'll continue
11:06:43 <oklopol> basically
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:11 <tusho> oklopol: ic ic
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:13:41 <tusho> *nos*
11:13:43 <tusho> *nod*
11:15:18 <oklopol> father called again
11:15:21 <oklopol> anyway
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:16:50 <oklopol> which is quite intuitive
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:18 <tusho> btw
11:18:20 <tusho> :)
11:18:33 <oklopol> like, when @ condition => result, result contains a (condition => result)
11:18:37 <oklopol> tusho: reading what? P:
11:18:38 <oklopol> :P
11:18:40 <oklopol> my rant?
11:18:46 <tusho> yea!
11:18:49 <oklopol> hehe :P
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:25 <oklopol> hmm...
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:14 <oklopol> oooooooooooooooo
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:08 <tusho> heh
11:23:29 <oklopol> hmm
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:02 <oklopol> so you could just d
11:24:03 <oklopol> o
11:24:08 <oklopol> state 1:
11:24:13 <oklopol> something here
11:24:16 <oklopol> state 2:
11:24:33 <oklopol> condition => push state; state 3
11:24:36 <oklopol> state 3:
11:24:40 <oklopol> condition => pop state
11:24:49 <oklopol> although as always, i don't do keywords
11:24:52 <oklopol> so prolly < and >
11:24:59 <oklopol> as prefix operators
11:25:23 <tusho> oklopol: maybe you should do a lang with some keywords
11:25:23 <tusho> just to see
11:25:31 <tusho> maybe it's awesome
11:25:32 <oklopol> well there's straw
11:25:36 <oklopol> it has a lot of them.
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:27:48 <oklopol> well
11:28:07 <oklopol> you can't pass !FieldName around :P
11:28:10 <oklopol> well actually
11:28:16 <oklopol> {_!FieldName}
11:29:54 <AnMaster> pixles or pixels? what is the correct spelling
11:30:03 <oklopol> pixel
11:30:11 <AnMaster> oklopol, in plural too?
11:30:15 <oklopol> pixels
11:30:18 <AnMaster> thanks
11:30:31 <oklopol> although i use the alternative form pixulos
11:30:50 <tusho> oklopol: pixelli
11:30:59 <oklopol> actually las pixulas
11:31:14 <oklopol> with a mexican accent
11:32:14 <fizzie> Pixies.
11:32:44 <AnMaster> Deewiant, there?
11:33:27 <AnMaster> Deewiant, in TOYS, should L wrap?
11:37:15 <oklopol> beware 5 lines of paste
11:37:15 <oklopol> variable stacks:
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:31 <oklopol> tusho: opinion, please
11:37:36 <tusho> hm wot
11:37:38 * tusho reads
11:37:41 <tusho> good, good
11:37:42 * AnMaster reads too
11:37:59 <oklopol> yeah anyone can read, i just assume tusho has the most energy to care :P
11:38:06 <AnMaster> well seems good
11:38:07 <oklopol> this is usually the case
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:44 <Deewiant> AnMaster: what's L
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:38:56 <oklopol> yay i'm interesting :))
11:38:58 <oklopol> anyway
11:39:01 <AnMaster> Deewiant, that one
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:44:57 <Deewiant> x & 1 is the same as x % 2
11:45:11 <AnMaster> yes true but what about other masks than that?
11:45:21 <Deewiant> just iterate
11:45:24 <Deewiant> x >> 1 is x / 2
11:45:57 <Deewiant> so if you want x & 1101 do x % 2, then x / 4, x & 2, x / 2, x % 2
11:57:04 <oklopol> hmm
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:06 <oklopol> with like + and *
11:58:16 <oklopol> A + B = (A ^ B) + (A & B) * 2
11:58:20 <oklopol> clearly
11:58:41 <oklopol> so we get (A ^ B) = A + B - (A & B) * 2, now can you do & with ^ and * or something?
12:01:10 <oklopol> hmm... i have an idea
12:04:10 <oklopol> damn, doesn't work
12:06:59 <tusho> beh...
12:07:15 <AnMaster> Deewiant, what about x xor y?
12:14:59 <oklopol> multiplication
12:15:08 <oklopol> or just if
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:18:53 <AnMaster> it's C FFI is worse
12:18:58 <AnMaster> way 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:01 <AnMaster> oklopol, hm?
12:27:08 <AnMaster> I'm writing some specs for said fingerprint now
12:32:12 <AnMaster> hm
12:32:15 <AnMaster> how to handle pointers?
12:32:27 <AnMaster> marshaling structs will be hard
12:33:41 <AnMaster> say char**
12:52:23 <oklopol> char**
12:52:59 <tusho> char**
12:53:28 -!- Slereah2 has joined.
12:57:02 <oklopol> Slereah2: do it
13:02:17 -!- Corun has joined.
13:08:21 <AnMaster> ...
13:08:22 <AnMaster> haha
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:23 <AnMaster> oklopol, tusho, Deewiant ^
13:09:35 <tusho> AnMaster: not a perfect time, sorry.
13:09:39 -!- timotiis has quit (Read error: 110 (Connection timed out)).
13:09:42 <AnMaster> hm ok
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:15:13 <oklopol> from F? not R?
13:15:25 <AnMaster> eh R
13:15:28 <AnMaster> was a typo
13:15:43 <AnMaster> oklopol, I renamed F to R
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:17:05 <oklopol> oooooooooo
13:18:20 <AnMaster> oklopol, what do you mean with that "oooooooooo"?
13:18:31 <oklopol> oh, nothing.
13:18:38 <oklopol> anyway, looks okay.
13:18:58 -!- olsner has joined.
13:19:03 <AnMaster> :)
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:35 <oklopol> refc?
13:20:39 <AnMaster> not refc
13:20:41 <AnMaster> REFC
13:20:46 <tusho> oklopol: refcount
13:20:54 <tusho> ais will get here, AnMaster
13:20:55 <tusho> it's just 1pm
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:04 <tusho> :P
13:21:05 <AnMaster> tusho, oklopol : http://catseye.tc/projects/funge98/library/REFC.html
13:21:08 <tusho> instead of 4pm
13:21:11 <AnMaster> not refcount
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:33 <AnMaster> oklopol, yes indeed
13:23:39 <AnMaster> you could store it in some cell
13:23:43 <AnMaster> p/g intructions
13:23:47 <AnMaster> instructions*
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:47 <AnMaster> huh?
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:07 <oklopol> don't google
13:25:08 <tusho> GRAPHICA PSOX ESCO TRDS
13:25:15 <tusho> the best #esoteric memes, and one non-meme
13:25:18 <oklopol> :P
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:25:54 <tusho> yes
13:25:57 <oklopol> nice.
13:25:58 <oklopol> anyway
13:26:00 <oklopol> errr
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:14 <oklopol> AnMaster: i know
13:27:18 <oklopol> that's why i asked
13:27:23 <oklopol> err
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:25 <AnMaster> ah
13:28:31 <AnMaster> I see what you mean
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:16 <oklopol> whoops
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:36 <oklopol> :: [X Y] names the cell
13:29:45 <AnMaster> right
13:29:50 <AnMaster> and?
13:29:59 <oklopol> so when you get to [1 1] twice, you don't actually make it twice
13:30:04 <oklopol> now the infinite problem
13:30:06 <oklopol> there is not
13:30:08 <oklopol> in general
13:30:25 <oklopol> a way to know whether something will later on make a connection between, say, [0 0] and itself
13:30:41 <oklopol> so
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:15 <AnMaster> oklopol, eh?
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:31 <AnMaster> ?
13:32:33 <oklopol> now the clever part
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:33:36 <oklopol> :)
13:33:38 <AnMaster> you are too smart
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:18 <AnMaster> oklopol, oh?
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:10 <AnMaster> there
13:35:13 <oklopol> oh, right
13:35:25 <oklopol> well there i assumed you know graphica syntax.
13:35:28 <AnMaster> oklopol, I don't
13:35:29 <oklopol> smart? i doubt that.
13:35:40 <oklopol> i'll explain, should be simple to grasp
13:35:43 <oklopol> oh
13:35:44 <AnMaster> k
13:35:50 <oklopol> that line was just the correction of the earlier one
13:35:53 <oklopol> but yeah, so
13:35:57 <oklopol> Grid = Node 0 0
13:36:00 <oklopol> this is just
13:36:16 <AnMaster> a grid?
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:36:30 <oklopol> now
13:37:07 <AnMaster> hm?
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:21 <oklopol> that's kinda important
13:38:21 <oklopol> :P
13:38:27 <AnMaster> yes I know what a graph is
13:38:33 <oklopol> good, good
13:38:38 <AnMaster> however that doesn't mean i understand it always
13:38:45 <oklopol> well
13:38:49 <AnMaster> but well I think I get it now
13:38:56 <oklopol> okay.
13:38:58 <AnMaster> oklopol, are you not defining a quadtree it seems?
13:39:05 <oklopol> quadtree?
13:39:08 <oklopol> what's that :)
13:39:19 <AnMaster> http://en.wikipedia.org/wiki/Quadtree
13:39:21 <oklopol> ah
13:39:22 <oklopol> oh no.
13:39:24 <AnMaster> actually no
13:39:32 <oklopol> that's very different
13:39:33 <oklopol> see
13:39:42 <AnMaster> you are defining something like each cell is connected to each other
13:39:46 <AnMaster> so not a tree
13:39:59 <oklopol> the thing about graphica is, the seemingly treeform structure actually becomes an arbitrary graph, because you can name cells.
13:40:33 <oklopol> and yeah
13:40:40 <oklopol> i'm doing exactly that
13:40:44 <oklopol> it's a 2d grid actually
13:41:04 <AnMaster> right
13:41:14 <AnMaster> oklopol, all of it have to be allocated right now?
13:41:21 <AnMaster> or is it allocated as needed
13:41:30 <oklopol> well
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:46 <oklopol> there is no size limit
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:18 <oklopol> yeah, i do that too.
13:42:39 <oklopol> btw for an n-ary hypercube http://www.vjn.fi/oklopol/graphica.txt
13:42:55 <oklopol> err not -ary.
13:42:58 <oklopol> n-dimensional
13:42:59 <AnMaster> because you seem to define this:
13:43:01 <AnMaster> struct node {
13:43:01 <AnMaster> size_t datasize;
13:43:01 <AnMaster> void * data;
13:43:01 <AnMaster> struct node * up;
13:43:01 <AnMaster> struct node * left;
13:43:02 <AnMaster> struct node * right;
13:43:04 <AnMaster> struct node * down;
13:43:06 <AnMaster> }
13:43:10 <oklopol> yes.
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:26 <oklopol> that is what i do
13:43:27 <AnMaster> :P
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:43:55 <AnMaster> we did?
13:44:00 <oklopol> well anyway, that C definition isn't exactly the same
13:44:05 <AnMaster> no?
13:44:09 <oklopol> if you write that, the actual graph is not generated
13:44:12 <oklopol> that's the whole point
13:44:15 <AnMaster> oh wait you can access by index
13:44:18 <AnMaster> or?
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:44:51 <AnMaster> which would be slow
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:11 <oklopol> *id's are
13:45:16 <AnMaster> you want a hash map
13:45:23 <AnMaster> that allows negative indexes too
13:45:34 <AnMaster> because -1,-1 is valid in Befunge98
13:45:38 <AnMaster> completely valid
13:45:42 <oklopol> duh
13:45:49 <AnMaster> "duh"?
13:45:51 <oklopol> [-1 -1] would also be generated by that
13:45:56 <AnMaster> ah
13:45:56 <oklopol> well duh, why wouldn't it be
13:46:02 <AnMaster> um
13:46:05 <AnMaster> ok
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:06 <AnMaster> yes it needs more code
13:48:07 <oklopol> you can do that with graphica too
13:48:10 <AnMaster> to allocate and set it yp
13:48:13 <AnMaster> up*
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:30 <oklopol> i''ll whoe
13:48:32 <oklopol> *show
13:48:35 <oklopol> *i'll
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:36 <oklopol> but whatever
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:51:51 <AnMaster> hm
13:52:19 <oklopol> "preset"? scratch preset.
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:57:58 <AnMaster> hm
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:07 <atsampson> what's the language?
13:59:12 <oklopol> graphica
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:27 <oklopol> well
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:06:06 <atsampson> yes, that's neat :)
14:07:04 <atsampson> do you need the [] in the tag in your short example?
14:07:10 <oklopol> hmm
14:07:14 <oklopol> probably not
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:08:34 <oklopol> so
14:09:11 <oklopol> http://www.vjn.fi/oklopol/graphica.txt
14:09:15 <oklopol> as you can see, wtf.
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:39 <oklopol> *-[]
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:12:21 <oklopol> *really
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:29 <AnMaster> ais523, hi
14:16:48 <ais523> hi tusho
14:16:50 <ais523> I'm pretty sure I won that time
14:16:52 <tusho> agh!!!!
14:16:56 <AnMaster> ais523++
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:05 <AnMaster> so what?
14:17:07 <ais523> tusho: that's early for you
14:17:07 <AnMaster> you still lost
14:17:10 <tusho> yes, it is
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:54 * AnMaster pokes ais523
14:18:56 <ais523> AnMaster: I would have expected P and R to be combined
14:19:01 <AnMaster> ais523, hm
14:19:03 <AnMaster> maybe
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:19:43 <oklopol> damn
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:40 <AnMaster> err typo
14:20:50 <ais523> apart from that, seems reasonable
14:20:51 <AnMaster> remove doesn't
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:49 <ais523> IFFI uses 0gnirts
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:04 <oklopol> ais523: with me?
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:02 <AnMaster> ais523, uh?
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:46 <AnMaster> well I'd rather not
14:24:50 <ais523> but not part of cfunge
14:24:51 <AnMaster> hm
14:25:10 <tusho> ais523:
14:25:13 <tusho> you construct a std::string
14:25:15 <tusho> from a char*
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:44 <AnMaster> can't* be installed at once
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:26 <AnMaster> ais523, eh?
14:27:31 <AnMaster> it is for library functions
14:27:34 <ais523> ok
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:05 <tusho> not that trivial
14:28:07 <tusho> but you know
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:13 <oklopol> ais523: read/got that?
14:29:24 <ais523> not read it yet
14:29:27 <ais523> I was reading email
14:29:28 <ais523> let me read it now
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:18 <oklopol> ais523: ->
14:30:23 <oklopol> it means
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:17 <oklopol> AnMaster: yes
14:31:21 <AnMaster> well not list, could be anything of course
14:31:22 <oklopol> you can also do <-
14:31:38 <oklopol> yeah, in this case it would be a double linked list
14:31:42 <oklopol> *doubly
14:31:48 <AnMaster> do you name the connections?
14:31:53 <oklopol> no, not currently
14:32:06 <AnMaster> so you can't have one called up and another down?
14:32:07 <AnMaster> or such
14:32:17 <oklopol> that's going to be added
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:21 <oklopol> but not yet possible
14:32:21 <AnMaster> oklopol, ^
14:32:26 -!- olsner has joined.
14:32:28 <oklopol> yep, that would be nice
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:41 <AnMaster> a loop has a down
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:32:53 <AnMaster> something like that
14:32:55 <oklopol> yeah
14:33:08 <oklopol> hmm...
14:33:09 <AnMaster> ais523, ARGH
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:05 <AnMaster> and +++ to "3x +"
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:17 <AnMaster> ais523, heh
14:34:22 <ais523> s/cells/casts/
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:03 <tusho> AnMaster: heh
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> <tusho> AnMaster: heh
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:39 <AnMaster> indeed it shouldn't
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:23 <AnMaster> -lncurses
14:46:32 <ais523> ah, ok
14:46:45 <tusho> ais523: wait, what fingerprint
14:46:50 <ais523> tusho: IFFI
14:46:51 <tusho> (name)
14:46:53 <tusho> ah
14:46:58 <tusho> why is AnMaster calling it IFFI
14:47:01 <AnMaster> no
14:47:01 <tusho> why not CFFI
14:47:02 <AnMaster> I'm not
14:47:04 <AnMaster> ...
14:47:05 <ais523> but the clash is on CFFI
14:47:07 <AnMaster> duh
14:47:11 <AnMaster> <AnMaster> oh btw fingerprint will be CFFI
14:47:12 <AnMaster> ....
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:18 <AnMaster> see
14:47:20 <tusho> why is your handprint CFFI
14:47:22 <tusho> that makes no sense
14:47:22 <oklopol> hmm
14:47:26 <tusho> it should be IFFI
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:01 <tusho> AnMaster: shut up
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:14 <tusho> OK
14:48:20 <ais523> that's as it should be, handprint = interp, fingerprint = semantic
14:48:23 <ais523> s/$/s/
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:49:05 <AnMaster>
14:49:06 <AnMaster> er
14:49:08 <AnMaster> ;P*
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:23 <oklopol> luckily no one read it :P
14:50:27 <oklopol> anyway, that's a brainfuck parser
14:50:33 <AnMaster> interesting
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 <AnMaster> for graphica
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:29 <AnMaster> oklopol, no implementation?
14:51:44 <oklopol> AnMaster: there is one, but i've added a few constructs to make this work
14:51:51 <AnMaster> hm ok
14:52:01 <oklopol> (::) doesn't exist in it, ?? doesn't exist in it, and !! doesn't exist in it
14:52:04 <oklopol> specifically
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:20 <AnMaster> as usual...
14:52:27 <AnMaster> (no offence meant)
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:04 <AnMaster> hm?
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:10 <AnMaster> tusho, not saying that
14:54:12 <oklopol> :D
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:34 <oklopol> tell me
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:57:11 <AnMaster> that could be a nice idea
14:58:13 <AnMaster> +--------c
14:58:13 <AnMaster> | ^
14:58:13 <AnMaster> | |
14:58:13 <AnMaster> +->a<--->b
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 <tusho> should be 255
14:59:29 <oklopol> ais523: that doesn't sound very extendable
14:59:29 <tusho> err
14:59:29 <tusho> 256
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 ring?
14:59:30 <ais523> oklopol: abcdefga
14:59:30 <oklopol> can you show me a parametrizable
14:59:30 <oklopol> one
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 <oklopol> well
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 <oklopol> hmm
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> s/Haify/Haifu/
14:59:34 <oklopol> ah rewriting.
14:59:34 <oklopol> yeah that's nice
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:40 <AnMaster> wtf, I lagged a lot
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:43 <oklopol> what
15:00:46 <oklopol> i didn't see tusho say that
15:00:55 <tusho> i did
15:00:56 <oklopol> oh
15:00:56 <tusho> :p
15:00:57 <AnMaster> oklopol, quite a bit ago
15:00:58 <oklopol> up there
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:04:43 <AnMaster> or was rather
15:05:05 <AnMaster> ais523, it isn't ctcp pong...
15:05:07 <AnMaster> * Ping reply from ais523: 1.32 second(s)
15:05:10 <AnMaster> I got that before
15:05:19 <ais523> AnMaster: well, why can't I send you a CTCP pong when you ping me/
15:05:24 <ais523> s/\//?/
15:05:24 -!- Slereah__ has joined.
15:05:25 <AnMaster> no reason
15:05:33 <AnMaster> ais523, except it contradicts the specs
15:05:37 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
15:05:39 <AnMaster> and stop spamming tusho
15:05:43 <tusho> ctcp has no specs for messages
15:05:45 <tusho> it's extensible
15:05:56 <AnMaster> yay:
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:17 <AnMaster> hehee
15:06:21 <tusho> awesome
15:06:21 <ais523> oklopol: the letters only matter within an expression
15:06:24 <tusho> can AnMaster see this
15:06:26 <AnMaster> tusho, ctcp ignore only
15:06:28 <oklopol> ais523: i know
15:06:29 <tusho> aww
15:06:30 <AnMaster> not other types of messages
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:42 <AnMaster> yes I did
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:03 <ais523> forever
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:35 <AnMaster> BCT?
15:07:41 <ais523> bitwise cyclic tag
15:07:44 <AnMaster> ah
15:07:47 * AnMaster googles
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:09 <ais523> s/element/edge/
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:10:46 <oklopol> err
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:11:25 <oklopol> oh, right. got it
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:12:52 <tusho> no
15:12:54 <tusho> i don't think so
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:13:31 <tusho> no
15:14:00 <tusho> it involves cyclic systems
15:14:01 <tusho> not bct
15:14:05 <AnMaster> ah
15:14:11 <AnMaster> well close then
15:14:20 -!- olsner has quit (Connection timed out).
15:14:44 <tusho> not really.
15:15:07 <AnMaster> tusho, two of the words matches ;P
15:15:07 <tusho> hmm
15:15:10 <tusho> not sure
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:16 <AnMaster> "
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:39 <ais523> hi tusho
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:09 <oklopol> that graph notation
15:16:10 <tusho> that domain does not go anywhere
15:16:12 <tusho> did it ever?
15:16:17 <ais523> tusho: yes, it did
15:16:21 <ais523> has it gone down?
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:33 <AnMaster> ah
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:06 <tusho> ah, science
15:17:09 <tusho> such a fast-moving world
15:17:09 <tusho> :)
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:07 <ais523> oklopol: ah, yes
15:18:16 <tusho> ais523: mathematica is based on term-rewriting
15:18:16 <oklopol> but
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:37 <ais523> sorry about that...
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:38 <oklopol> ah.
15:33:43 <oklopol> well
15:33:59 <oklopol> is there one that always does the optimal amount of reads?
15:34:02 <oklopol> oh, right, ofc not
15:34:20 <oklopol> for a sorted list the optimal amount is 0, so that's kinda trivially impossible
15:36:53 <AnMaster> ais523, bogosort?
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:42 <AnMaster> haha
15:37:43 <tusho> bogosort can fail though
15:37:49 <tusho> assuming a shite random number generator
15:37:51 <AnMaster> what about quicksort?
15:37:55 <tusho> ais523's would work
15:38:05 <oklopol> AnMaster: no.
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:22 <AnMaster> ais523, a lot I'd imagine
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:38:52 <oklopol> all were exponential iirc
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 <AnMaster> worst is infinite
15:39:56 <ais523> AnMaster: yep, O(n) to see if it's sorted and you need O(n!) tries on average
15:39:57 <oklopol> hmm
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:56 <oklopol> but not sure
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:04 <oklopol> ais523: much worse
15:43:14 <oklopol> 2^(n!) is worse than that
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:31 <tusho> textedit did it
15:43:31 <tusho> :)
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:53 <tusho> exactly
15:43:55 <ais523> s/decenders/descenders/
15:43:56 <tusho> so that's correct
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:24 <tusho> (non-OS X users)
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:12 <oklopol> the gist is
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:07 <oklopol> 1. abcdec
15:49:09 <oklopol> &/sp
15:49:09 <oklopol> a->b
15:49:12 <oklopol> whoops.
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 <ais523> s/tilte/title/
15:50:44 <tusho> the image is added with a css background, ais523
15:50:54 <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:36 <oklopol> hmm
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:52:59 <AnMaster> hm...
15:52:59 <oklopol> now
15:53:05 <AnMaster> is log n always less than n?
15:53:11 <oklopol> AnMaster: no.
15:53:26 <oklopol> so, they both have N connections, if they had a different amount, you'd backtract already
15:53:27 <oklopol> so
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:51 <oklopol> now
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:20 <oklopol> ais523: right.
15:54:25 <AnMaster> oklopol, as in big-O notation
15:54:28 <ais523> for all bases > 1, that is
15:54:30 <oklopol> hmm
15:54:55 <oklopol> yeah, it's always less
15:54:58 <oklopol> wasn't thinking
15:55:01 <oklopol> anyway, to continnue
15:55:03 <oklopol> *continue
15:55:07 <AnMaster> what about n log n then?
15:55:12 -!- Judofyr has joined.
15:55:15 <AnMaster> O(n log n) vs. O(n)
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:14 <oklopol> then
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:03 <oklopol> either one must succeed
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:06 <AnMaster> hm true
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:04 <oklopol> err
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:23 <oklopol> *decision tree
16:01:35 <oklopol> AnMaster: well the one you linked, for on
16:01:36 <oklopol> *one
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:12 <AnMaster> ais523, hm
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:30 <ais523> pikhq: yep
16:04:56 <tusho> idea
16:04:56 <pikhq> My preferred one is bucket sort.
16:05:00 <tusho> multi-threaded sort
16:05:01 <tusho> *g*
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:06:40 <oklopol> that makes it special
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:39 <ais523> tusho: 0xA7
16:07:50 <tusho> so &#xA7;?
16:07:52 <tusho> I forget how those work.
16:07:54 <pikhq> Heapsort is a fairly. . . Odd algorithm, IMO.
16:07:56 <ais523> tusho: yep
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:26 <tusho> but, you know
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:08:46 <AnMaster> smoothsort seems nice
16:08:53 <oklopol> pikhq: basically
16:08:57 <oklopol> it's a binary tree
16:09:08 <pikhq> Hmm.
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:44 <tusho> and browsers too
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:57 <pikhq> Oh.
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:12 <tusho> :p
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:38 <tusho> moneys
16:14:43 <tusho> i mean, sure, i could get it
16:14:46 <tusho> but beh
16:15:12 <ais523> I support that beh...
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:17 <AnMaster> pikhq, what about introsort?
16:16:22 <AnMaster> pikhq, it seems popular
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:13 <tusho> otherwise
16:17:14 <tusho> er
16:17:15 <pikhq> Bah; bogosort.
16:17:30 <pikhq> tusho: Clever.
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:17:55 <oklopol> *about 10 euros
16:17:57 <oklopol> lol
16:18:13 <oklopol> introsort is an ugly sort
16:18:22 <AnMaster> oklopol, but fast isn't it?
16:18:29 <AnMaster> on an average computer
16:18:33 <oklopol> it's very good in practise
16:18:39 <oklopol> which is quite irrelevant
16:18:46 <AnMaster> what about smoothsort?
16:19:07 <oklopol> never heard
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:29 <oklopol> ah
16:19:30 <oklopol> yeah
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:39 <ais523> s/n log n/n^2/
16:19:41 <oklopol> ais523: i'm fairly sure
16:19:41 <tusho> keymaker sooooooo opened a can of worms there
16:19:44 <tusho> but it'll never happen
16:19:46 <AnMaster> ais523, um no don't think so
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:05 <tusho> ais523: yes
16:20:09 <tusho> I might write one
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:41 <AnMaster> which is O(n log n)
16:20:46 <oklopol> purity > elegance > practicalityu
16:20:49 <oklopol> *practicality
16:20:52 <AnMaster> blargh
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:32 <pikhq> ;)
16:21:53 <oklopol> pikhq: isn't it meant for bf translation though?
16:21:59 <pikhq> No.
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:02 <oklopol> yeah
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:23:36 <oklopol> i mean, sensibly
16:23:41 <oklopol> now food ->
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:30:20 <pikhq> Viola.
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:46 <AnMaster> wtf
16:45:50 <AnMaster> how did they think there?
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:14 <tusho> (cross-compile)
16:46:16 <tusho> then move the binary over
16:46:17 <AnMaster> ah
16:46:17 <ais523> AnMaster: then you cross-compile, obviously
16:46:22 <AnMaster> right
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:47:18 <AnMaster> oh wait right
16:47:21 <AnMaster> you cross compile it
16:47:25 <AnMaster> blergh still
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:48:57 <AnMaster> or used some earlier compiler
16:49:04 <AnMaster> gnat wasn't the first one afaik
16:49:11 <tusho> AnMaster: That's ... what pikhq said.
16:49:15 <AnMaster> right
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:32 <ais523> s/\//?/
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:02 <AnMaster> Deewiant, brb, phone
16:50:05 <tusho> Also. It gets you major geek points.
16:50:08 <Deewiant> I don't know about libffi
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:50:53 <Deewiant> AnMaster: structs
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 <Deewiant> since everything else does
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:29 <tusho> YES
16:52:37 <ais523> s/from/for/
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:22 <oklopol> that's trivial
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:34 <tusho> yes
16:54:35 <tusho> implicit ones
16:54:37 <tusho> that's OK
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:04 <AnMaster> <Deewiant> AnMaster: structs
16:55:07 <AnMaster> well
16:55:10 <AnMaster> that is hard to do
16:55:16 <tusho> |-| |= |_ |_ 0!
16:55:16 <AnMaster> how to marshall bitfields?
16:55:18 <AnMaster> packing?
16:55:20 <AnMaster> and so on
16:55:26 <AnMaster> <Deewiant> but in general for -98 just use 0gnirts
16:55:32 <AnMaster> two reasons
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:01 <Deewiant> then separate the two cleanly
16:56:04 <Deewiant> or maybe you already did
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:56:57 <Deewiant> and yes, I know
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:33 <AnMaster> ais523, huh?
16:58:46 <AnMaster> you mean to the size of the funge cell type?
16:58:50 <ais523> AnMaster: yes
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:32 <AnMaster> Deewiant, yes indeed
16:59:38 <ais523> Deewiant: not all langs use a size_t
16:59:45 <AnMaster> hm?
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:52 <Deewiant> pointer to struct
17:01:57 <Deewiant> pointer to next field of struct
17:01:59 <Deewiant> hence you get the offset
17:02:01 <Deewiant> etc.
17:02:08 <AnMaster> Deewiant, well I need to describe the type of the struct too
17:02:11 <AnMaster> like bitfields
17:02:12 <AnMaster> and so on
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:46 <Deewiant> so they're just integers
17:02:58 <AnMaster> Deewiant, sometimes they are merged with the padding of other fields
17:03:08 <Deewiant> yes, and
17:03:18 <AnMaster> which makes it a lot more complex
17:03:33 <Deewiant> how
17:03:41 <AnMaster> for example: short; int:1;
17:03:56 <Deewiant> struct foo bar[2];
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:27 <Deewiant> &bar[0] <-- start address
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:04:48 <Deewiant> &bar[1] <-- end of &bar[0]
17:05:05 <ais523>
17:05:12 <ais523> 0x2193
17:05:20 <tusho> without stalk?
17:05:23 <ais523> tusho: ↑
17:05:36 <tusho> ...
17:05:38 <AnMaster> Deewiant, ?
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:06 <tusho> ah
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:54 <tusho> hmph
17:06:58 <tusho> I just want a filled v, essentially
17:06:59 <tusho> :-)
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:10 <ais523>
17:07:14 <ais523> that's what you want?
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:46 <Deewiant> all the info is there
17:07:49 <ais523> tusho: there's ▾ as well
17:08:00 <ais523> which is apparently the same thing but smaller
17:08:10 <tusho> ah yes
17:08:12 <tusho> thanks
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:54 <tusho> thanks Deewiant
17:08:55 <tusho> :)
17:08:58 <AnMaster> that will differ between 32-bit and 64-bit
17:09:03 <tusho> ▾ seems right
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:18 <ais523> U+25BE, then
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:18 <AnMaster> so offsetof() doesn't work
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:26 <Deewiant> ais523: of zeroes, rather
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:11:56 <Deewiant> ah, right
17:11:58 <Deewiant> my bad
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:24 <ihope> UTF-1.5849625.
17:13:33 <AnMaster> Deewiant, C library you mean
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:13:50 <Deewiant> I don't mean anything
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:25 <ais523> ihope: ah
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:15:31 <AnMaster> and alignment
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:09 <AnMaster> no...
17:17:12 <AnMaster> docs for whatever you call
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:17 <AnMaster> to tell it how it looks
17:18:19 <ais523> AnMaster: you use C#? I thought you didn't like the Windows API
17:18:27 <AnMaster> ais523, I have used C# + mono
17:18:30 <AnMaster> I don't any longer
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:00 <AnMaster> seemed*
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:16 <Deewiant> s/elnt/lent/
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:43 <Deewiant> yes.
17:20:51 <AnMaster> so the befunge programmer have to do the same
17:20:57 <Deewiant> yes, exactly.
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:05 <Deewiant> and exactly that
17:22:12 <Deewiant> you beat me to it
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:46 <AnMaster> and so on
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:12 <AnMaster> so I need a lot of unique ids
17:23:15 <Deewiant> well, you have to deal with pointers anyway, neh?
17:23:19 <AnMaster> yes
17:23:21 <Deewiant> how did you do that, actually
17:23:27 <Deewiant> a pointer doesn't necessarily fit in an int
17:23:34 <Deewiant> what about function pointers, too
17:23:36 <AnMaster> see details in specs
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:08 <AnMaster> maybe that?
17:25:15 <Deewiant> too specific
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:17 <tusho> uh...
17:28:19 <tusho> inaccurate.
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:15 * AnMaster just checked
17:29:49 <AnMaster> and I think I added C-INTERCAL there some months ago
17:30:04 <ais523> AnMaster: why?
17:30:14 <AnMaster> ais523, why not?
17:30:17 <ais523> makes sense
17:30:19 <AnMaster> it was missing
17:30:20 <ais523> I was just wondering
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:41 <AnMaster> ais523, does it need porting?
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:41:22 <AnMaster> was the first one
17:41:24 <AnMaster> it seems
17:42:07 <AnMaster> ais523, is one of the change log entries a poem!?
17:42:11 <AnMaster> 1.8
17:42:12 <ais523> no idea
17:42:21 <AnMaster> v. 1.8
17:42:21 <AnMaster> date: 2003/03/07 06:05:31; author: ade; state: Exp; lines: +1 -0
17:42:21 <AnMaster> Clear moonlight beckons.
17:42:21 <AnMaster> Requiem mors pacem pkg-comment,
17:42:21 <AnMaster> And be calm ports tree.
17:42:22 <AnMaster> E Nomini Patri, E Fili, E Spiritu Sancti.
17:42:24 <AnMaster> wtf
17:44:09 <Deewiant> :-DD
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:17 <AnMaster> Deewiant, ?
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:29 <AnMaster> POD?
17:50:38 <Deewiant> AnMaster: I do do other things you know, just because I don't answer in a minute...
17:50:42 <Deewiant> plain old data
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:50:57 <AnMaster> context*
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:07 <AnMaster> in C they certainly don't
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:04 <Deewiant> </definition>
17:53:55 <AnMaster> Deewiant, well this isn't a C++ FFI, it is a C FFI
17:54:00 <AnMaster> so not an issue
17:54:11 <Deewiant> you're completely missing my point
17:54:13 <Deewiant> as usual
17:54:15 <Deewiant> :-P
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:29 <AnMaster> yes and?
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:30 <Deewiant> just came to mind
17:55:39 <AnMaster> hm
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:39 <AnMaster> haha
17:56:45 <Deewiant> no, not for me it wasn't
17:56:49 <Deewiant> for AnMaster it might be ;-)
17:56:50 <tusho> Deewiant: well yeah
17:56:50 <tusho> :)
17:56:59 <AnMaster> hahah
17:57:19 <AnMaster> well anyway this CFFI isn't efficient
17:57:22 <AnMaster> I never said it was
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:12 <AnMaster> the rest I can do
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> `ffi_type_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:27:51 <oklopol> so
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:36 <oklopol> is that important?
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:27 <AnMaster> I hope you do :)
18:30:31 <ais523> AnMaster: no
18:30:35 <AnMaster> ais523, :(
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:30:48 <ais523> AnMaster: no
18:30:51 <AnMaster> ah ok
18:31:23 <oklopol> i will prolly leave like in half an hour.
18:31:29 <oklopol> AnMaster: well no
18:31:30 <oklopol> but
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:14 * oklopol has always fun
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:38 <ais523> AnMaster: ugh
18:34:39 <AnMaster> also it will take quite a bit of time to implement
18:34:48 <AnMaster> ais523, haha
18:34:53 <AnMaster> ais523, well maybe not
18:35:09 <AnMaster> ais523, more mess before the preprocessor, but less messy after
18:35:16 <AnMaster> however, it will not be feral
18:35:27 <AnMaster> that is a main difference
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:37:52 <AnMaster> qsort maybe
18:37:56 <AnMaster> but that's it
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:13 <AnMaster> ais523, um what?
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:38 <ais523> yes
18:38:50 <AnMaster> it is not an intended goal
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:10 <oklopol> ais523: looks correct?
18:39:25 <ais523> oklopol: yes
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:39:55 <AnMaster> oklopol, make a file now then
18:40:14 <oklopol> NEVER
18:40:14 <oklopol> well i guess.
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:00 <oklopol> *lose
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:43 <oklopol> *have
18:44:52 <tusho> oklopol: betcha python has them
18:44:53 <tusho> what were they
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:04 <tusho> how evil!
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:47:26 <oklopol> tusho: it's not hard
18:47:31 <oklopol> that's not the point
18:58:30 <AnMaster> back
18:59:48 * AnMaster is happy to see someone else than himself being the target for tusho's sarcasm for once
19:00:06 * tusho rolls eyes
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:02:36 <AnMaster> not really
19:03:03 <AnMaster> it is possible to split the c files into a totally non-logical manner
19:03:09 <AnMaster> say, one function per file
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:03 <AnMaster> Input*
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:04:55 <AnMaster> tusho, seen it
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:07:53 <AnMaster> this is worse
19:08:04 <tusho> AnMaster: oklo-coding is art.
19:08:09 <tusho> twisted, outsider art
19:08:10 <tusho> but art
19:08:21 <AnMaster> tusho, well mine is another sort of art then
19:08:27 <AnMaster> annoy-tusho art
19:08:29 <tusho> AnMaster: yeah ... 'awful' art
19:08:34 <oklopol> :)
19:08:39 <AnMaster> modern expressionism
19:08:39 <AnMaster> :P
19:08:42 <oklopol> anyway, me goes, see ya later
19:08:47 <AnMaster> oklopol, cya
19:08:49 <tusho> PREMODERN POSTEXPRESSIONISM
19:08:51 <tusho> ISM
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:22 <oklopol> right
19:09:25 <oklopol> not here
19:09:29 <oklopol> anyway, bye
19:09:30 <oklopol> ->
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:10:34 <AnMaster> ah
19:10:35 <AnMaster> true
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:48 <tusho> like?
19:14:50 <AnMaster> I wonder why you haven't bugged me
19:14:53 <AnMaster> tusho, see readme
19:15:11 <tusho> like I've downloaded cfunge
19:15:17 <AnMaster> tusho, haha :P
19:15:23 <AnMaster> well I won't say
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:49 <tusho> i am so excited
19:15:54 <tusho> i will download it immediately to see.
19:16:05 <AnMaster> tusho, well one because it contradicts Funge98 specs
19:16:57 <tusho> oh?
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:30 <lament> oh wow
19:18:37 <AnMaster> lament, what?
19:18:38 <lament> i just realized that i can't type !!!!!!111 by accident
19:18:45 <AnMaster> you can't?
19:18:49 <lament> nope
19:18:51 <AnMaster> different keyboard layout?
19:18:59 <lament> i think it's an OS X feature.
19:18:59 <AnMaster> dvorak or azerty maybe?
19:19:04 <AnMaster> lament, eh?
19:19:06 <AnMaster> what?!
19:19:11 <lament> If i press shift and hold 1
19:19:15 <AnMaster> yes?
19:19:25 <lament> once I release shift, it stops typing.
19:19:31 <AnMaster> interesting
19:19:38 <lament> same with any other key
19:19:52 <lament> <3 OS X
19:19:52 <tusho> yeah
19:19:54 <AnMaster> clearly Apple want's to kill l33t sp33k
19:19:55 <AnMaster> ;P
19:19:56 <tusho> it's good behaviour
19:20:01 <AnMaster> but a good idea
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:20:47 <lament> maybe.
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:21:52 <AnMaster> lament, defaults? blargh
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:18 <tusho> if it's in there
19:22:19 <tusho> you can do it
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 <AnMaster> tusho, well, nostalgia?
19:22:42 <tusho> safe for games, which already override that stuff
19:22:43 <AnMaster> ;P
19:23:04 <AnMaster> oh yes, in games
19:23:11 <AnMaster> because shift may mean run
19:23:12 <tusho> but games already get keypresses directly
19:23:14 <tusho> so they don't get that behaviour
19:23:16 <AnMaster> they do
19:23:23 <AnMaster> indeed
19:23:30 <AnMaster> tusho, anyway a reason: nostalgia :P
19:23:36 <AnMaster> not a good reason I knoiw
19:23:38 <AnMaster> know*
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:27:50 <AnMaster> that I then parse
19:27:53 <AnMaster> like say:
19:28:01 <AnMaster> "double, double, int"
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:27 <AnMaster> GOOD: L rolls value correctly
20:26:30 <AnMaster> GOOD: P picks value correctly
20:26:33 <AnMaster> both are lies
20:26:41 <AnMaster> the functions are still empty
20:26:55 <AnMaster> I just tested that my D in FRTH worked
20:27:26 <tusho> AnMaster: a bug in MYCOLOGY
20:27:52 <Deewiant> meh
20:27:58 <AnMaster> ah yes
20:28:00 <AnMaster> tusho, a typo
20:28:03 <AnMaster> indeed
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:19 <AnMaster> "Forth Roll command"
20:29:23 <AnMaster> is the only docs for it
20:29:26 <Deewiant> I can't remember either, read up on FORTH and find out
20:29:29 <AnMaster> and I don't know Forth
20:29:36 <Deewiant> so look at the forth docs
20:29:41 <AnMaster> ah well...
20:29:47 <AnMaster> or just reverse engineer ccbi
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:37:41 * AnMaster pokes tusho to inform him
20:37:47 <tusho> whatever
20:38:35 <AnMaster> tusho, http://rafb.net/p/tJYDmC47.html
20:38:43 <tusho> whatever
20:38:53 <AnMaster> also, C got /**/, D have /++/
20:39:03 <AnMaster> anyone with /%%/ or /--/?
20:39:28 <tusho> AnMaster: /++/ is just nestable comments
20:39:31 <tusho> /**/ works too
20:39:33 <AnMaster> ah
20:39:35 <AnMaster> interesting
20:39:38 <AnMaster> and useful
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:41:51 <AnMaster> maybe lament can tell me
20:41:52 <tusho> lament: I concur!
20:41:55 <tusho> :-P
20:42:30 <AnMaster> tusho, tell me then
20:43:13 -!- Slereah__ has joined.
20:43:28 <lament> AnMaster: i have no clue :D
20:43:36 <AnMaster> lament, haha
20:43:39 <AnMaster> so tusho, tell us
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:43:50 <tusho> :-)
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:51 <AnMaster> ah
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:09 <AnMaster> I see
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:43 <AnMaster> less steep learning curve
20:49:44 <Deewiant> that wasn't the point
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:15 <AnMaster> but for this. just wtf
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:39 <AnMaster> like C is
20:50:40 <Deewiant> no :-D
20:50:47 <AnMaster> what a pitty
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:10 <AnMaster> tell me
20:51:14 <Deewiant> yeah, kinda like linux
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:08 <AnMaster> hmm
20:52:25 <AnMaster> I normally prefer to use gdb
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:10 <AnMaster> oh?
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:20 <AnMaster> that would work
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:57:52 <AnMaster> haha
20:57:57 <AnMaster> Deewiant, you run:
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:39 <Deewiant> ah, handy
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:23 <AnMaster> ;P
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:47 <AnMaster> locate can't find it
20:59:55 <Deewiant> so use find
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:25 <AnMaster> hrrm not there
21:01:35 <AnMaster> oh xine history may have it *greps*
21:01:47 <AnMaster> aha.... on a partition not mounted by default....
21:01:55 <Deewiant> >_<
21:02:00 <Deewiant> you need to get organized
21:03:02 <AnMaster> Deewiant, aye, mount | wc -l outputs 37
21:03:14 <Deewiant> not that
21:03:19 <Deewiant> although, maybe that too ;-P
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:41 <Deewiant> or whatever
21:03:42 <AnMaster> a chroot I haven't needed for over half a year
21:03:45 <AnMaster> Deewiant, music partition?
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:03:57 <AnMaster> on the computer
21:03:58 <Deewiant> whatever
21:04:00 <Deewiant> in one place
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:16 <AnMaster> I'm short on disk space too
21:05:24 <Deewiant> so softlink
21:05:37 <AnMaster> too many svn checkouts
21:05:38 <AnMaster> :P
21:05:40 <pikhq> So save up $200 and get a terabyte drive. :p
21:05:48 <Deewiant> that works too. :-P
21:06:03 <AnMaster> yeah maybe
21:06:07 <AnMaster> 200 U.S. dollars = 1 201.31664 Swedish kronor
21:06:08 <AnMaster> hrrm
21:06:37 -!- strokov has joined.
21:06:46 -!- strokov has quit.
21:07:17 -!- ihope has changed nick to Normish.
21:07:27 <AnMaster> NOT another bind bug
21:07:28 <AnMaster> gah
21:07:32 -!- pikhq has left (?).
21:07:51 -!- Normish has changed nick to ihope.
21:17:28 -!- olsner has quit.
21:22:37 <AnMaster> Deewiant, blergh
21:22:41 <AnMaster> at FRTh
21:22:42 <AnMaster> FRTH*
21:23:01 <Deewiant> blergh?
21:23:08 <AnMaster> yes blergh
21:23:14 <Deewiant> okay.
21:23:15 <AnMaster> anyway I can't find docs
21:23:19 <AnMaster> Firefox can't find the server at www.google.com.
21:23:22 <Deewiant> blergh for everyone!
21:23:24 <AnMaster> my DNS is broken
21:23:44 <Deewiant> hence, memorize google's IP
21:24:04 <Deewiant> or one such IP, I guess there are many
21:24:08 <Deewiant> 209.85.129.99
21:34:19 -!- CakeProphet has quit ("lolwhut?").
21:38:47 <AnMaster> ah dns works now
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:42:59 <AnMaster> aha I think I got it
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:50 <AnMaster> tusho, there?
22:17:55 <tusho> Yes
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:19:49 <AnMaster> tusho, right?
22:20:11 <tusho> AnMaster: lol. no.
22:20:16 <AnMaster> no?
22:20:18 <tusho> he's written a paper on colorforth using just typography
22:20:22 <tusho> bold, underlined etc
22:20:25 <AnMaster> I see
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:31 <AnMaster> so yes I'm serious
22:21:33 -!- RedDak has joined.
22:21:37 <tusho> yes
22:21:43 <tusho> but you can obviously do typography with braille.
22:21:48 <AnMaster> hm
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:47:53 <Sgeo> Bye all!
22:48:55 <tusho> bye
22:48:57 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
23:06:15 <AnMaster> night too
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)).
2008-07-17
00:03:21 -!- Corun has joined.
00:38:08 -!- Slereah2 has joined.
00:44:08 -!- augur has joined.
00:44:27 <augur> ize back!
00:46:01 <GregorR> Ize in the back of ur hed!
00:46:07 -!- Slereah__ has joined.
00:47:41 <augur> zomg
00:47:44 <augur> GET OUT OF THURR
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:05:00 <pikhq> GregorR: :)
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:24 <adu> its ok
03:44:29 <adu> you are :)
03:44:59 -!- Corun has quit ("Yarr.").
03:47:11 <augur> i am! :o
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:51 <augur> uh
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:30 <augur> ?
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:17:29 <augur> funge, boring.
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
05:43:23 <augur> :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:07:35 <AnMaster> so where can I find one?
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"
09:34:54 <AnMaster> php ugh
09:35:02 <AnMaster> GregorR, for use in C?
10:23:32 -!- tusho has joined.
10:40:14 <tusho> GregorR: not one track
10:40:16 <tusho> it should be like
10:40:19 <tusho> 10 second samples
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:21 <AnMaster> tusho, already here
11:32:25 <AnMaster> early for you
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:51 <AnMaster> hrrm
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:33:52 <tusho> quite
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:34:53 <AnMaster> or maybe 2 more
11:35:17 <AnMaster> as I already got an old PATA (80 gb) + a SATA (350 GB)
12:09:42 <tusho> % uptime
12:09:42 <tusho> 12:09pm up 105 days 15:54, 0 users, load average: 1.59, 2.04, 2.00
12:09:44 <tusho> 105 days uptime
12:09:45 <tusho> :D
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:06 <oklopol> back
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:15:47 <oklopol> what's it about?=
13:15:54 <oklopol> ah, loaded at last
13:17:06 <oklopol> tusho: that's a retarded game
13:17:15 <tusho> oklopol: no it
13:17:17 <tusho> 's not!
13:17:22 <tusho> it's super mario bros
13:17:24 <tusho> but crazy
13:19:07 <oklopol> well yes, it's similar in graphics, just worse movement, uglier, and tons more annoying levels
13:19:20 <oklopol> and i don't even like smb
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:17 <tusho> your face
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:38:18 <AnMaster> text adventure!
14:41:20 -!- olsner has quit.
14:42:01 <tusho> AnMaster: *BEEP*
14:42:04 <tusho> tushoia
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:28 <AnMaster> hahah
14:42:28 <tusho> Initializing...
14:42:31 <tusho> ^L^L^L
14:42:33 <tusho> Room
14:42:35 <tusho> You are in a room.
14:42:36 <tusho> >
14:42:37 <AnMaster> Ifnocmo?
14:42:48 <tusho> I don't understand.
14:42:49 <tusho> >
14:42:51 <AnMaster> can't speel can you?
14:42:55 <AnMaster> <tusho> revision 5461 (C) 1987 Ifnocmo systems
14:43:11 <tusho> Infocom stole my name, actually.
14:43:13 <tusho> >
14:43:15 <AnMaster> hah
14:43:21 <AnMaster> look
14:43:31 <tusho> You are in a room. It is infinitely large. There is a cat here.
14:43:32 <tusho> >
14:43:33 <oklopol> KILL
14:43:37 <tusho> You kill the kat.
14:43:40 <oklopol> DIE YOU UGLY FUCKER
14:43:42 <tusho> It grows a k in the process.
14:43:43 <oklopol> thx.
14:43:45 <tusho> Inventory: kat
14:43:46 <tusho> >
14:43:56 <AnMaster> right
14:44:07 <oklopol> two can play this game!
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:21 <tusho> Correct.
14:45:21 <tusho> >
14:45:38 <AnMaster> > west
14:45:42 <AnMaster> > right
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:19 <AnMaster> investigate earth
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:09 <tusho> >
14:47:42 <AnMaster> > get earth
14:47:54 <tusho> You pick up the earth and stick it in your endless pockets along with the kat.
14:47:54 <tusho> >
14:48:11 <AnMaster> > north
14:49:04 <AnMaster> tusho?
14:49:06 <tusho> You go north forever.
14:49:13 <tusho> In front of you is everything.
14:49:13 <tusho> >
14:49:19 <AnMaster> > look
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:49:50 <tusho> You are there.
14:49:51 <tusho> >
14:49:57 <AnMaster> dig
14:50:27 <AnMaster> > dig
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:31 <tusho> >
14:50:33 <AnMaster> ahaha
14:50:46 <AnMaster> > up
14:50:59 <tusho> You fly into the sky. Yourself flies up too.
14:50:59 <tusho> >
14:51:12 <AnMaster> > east
14:51:33 <tusho> You go east and bash into yourself.
14:51:40 <tusho> You say "oof". Yourself says "ow".
14:51:40 <tusho> >
14:51:55 <AnMaster> > say "What is the goal of this game?"
14:52:06 <tusho> "You must find that in yourself."
14:52:06 <tusho> >
14:52:13 <AnMaster> > south
14:52:23 <tusho> You go south, and see a door. Yourself opens it.
14:52:23 <tusho> >
14:52:25 -!- atsampson has joined.
14:52:28 <AnMaster> > enter
14:52:42 <tusho> You enter the door, and yourself follows behind.
14:52:47 <tusho> You are in heaven.
14:52:48 <tusho> >
14:52:53 <AnMaster> > score
14:53:20 <tusho> You have 4 points.
14:53:20 <tusho> >
14:53:30 <AnMaster> > look
14:53:44 <tusho> You stub your toe.
14:53:44 <tusho> >
14:54:02 <AnMaster> eh? what do you mean?
14:54:56 <AnMaster> ..
14:54:59 <tusho> What do you mean.
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:55:52 <AnMaster> ah
14:55:59 <tusho> >
14:56:59 <tusho> >
14:57:24 <AnMaster> south
14:57:48 <tusho> You go south. There is a forth wall there.
14:57:49 <tusho> >
14:58:05 <AnMaster> dig
14:58:09 <AnMaster> look
14:58:19 <tusho> AnMaster: Wait, is forth wall an english idiom that you don't get
14:58:24 <AnMaster> oh?
14:58:28 <AnMaster> no I don't get it indeed
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
14:58:58 <AnMaster> ah
14:59:41 <tusho> >
15:00:05 <AnMaster> hrrm...
15:00:12 <AnMaster> > inventory
15:00:24 <tusho> You have a kat and the world.
15:00:47 <AnMaster> loot world
15:01:48 <tusho> You loot the world.
15:01:49 <tusho> You get TNT.
15:01:50 <tusho> >
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:02:40 <tusho> >
15:02:57 <AnMaster> > chat
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:03:40 <tusho> >
15:04:34 <AnMaster> > chat to the other one
15:05:05 <tusho> """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""stack overflow
15:05:06 <tusho> >
15:05:21 <AnMaster> what?
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:05:41 <AnMaster> ahah
15:05:43 <AnMaster> hehe
15:06:39 <tusho> >
15:08:08 <AnMaster> > quit
15:08:40 <tusho> You quit the room into the portal which contains the rooms of both tusho and AnMaster.
15:08:44 <tusho> >
15:09:24 <AnMaster> > exit
15:09:27 <AnMaster> ^C
15:09:39 <tusho> You can never quit this game.
15:09:40 <tusho> >
15:09:50 <tusho> [Adventure Lad sez: This game is real life!]
15:13:06 <tusho> >
15:35:14 -!- pikhq has joined.
15:49:54 -!- ais523 has joined.
15:50:22 <ais523> hi tusho
15:50:34 <tusho> aaaagh!
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:03:51 <augur> oklopollll!
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:30:32 <oklopol> augurrrrrrrrrrrrr
16:30:39 <augur> hey :)
16:30:41 <augur> ::bite::
16:30:43 <augur> hows it goin
16:31:31 <oklopol> chillin
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:16 <oklopol> i implemented eodermdrome
17:06:20 <oklopol> well, the part of it i know
17:06:22 <ais523> oklopol: great
17:06:25 <oklopol> graph rewriting & parsing
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:01 <oklopol> so it's slow like hell
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:17 <oklopol> well it's not that slow
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:42 <ais523> looks good
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:20:49 <tusho> back
17:21:08 <ais523> wb tusho
17:24:25 -!- timotiis has joined.
17:24:55 <oklopol> i didn't say anything
17:24:59 <ais523> ok
17:25:03 <oklopol> i will now though
17:25:04 <oklopol> so
17:25:13 <oklopol> i haven't taken into account the case where
17:25:14 <oklopol> err
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:06 <ais523> ah, ok
17:26:11 <oklopol> but it should be simple
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:29 <tusho> :D
17:27:40 <tusho> you need extra parens
17:27:41 <tusho> but yeah
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:32 <oklopol> oh?
17:28:34 <oklopol> nice
17:28:37 <tusho> oklopol: OMFG -
17:28:37 <tusho> import copy
17:28:39 <tusho> it's an import!!1111
17:28:40 <oklopol> :DDDDDDD
17:28:46 <tusho> your oklo license is revoked.
17:28:47 <oklopol> yeah, someone slap me
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:07 <oklopol> hmm
17:36:09 <oklopol> let's see
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:37:43 <oklopol> dunno if that's correct.
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:45 <oklopol> *stars
17:38:46 <ais523> yep
17:38:50 <ais523> can you explain the format you're using?
17:38:53 <oklopol> yeah
17:39:05 <oklopol> [(Node, [Node])]
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:34 <oklopol> err
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:40:38 <oklopol> i'll try and debug
17:44:15 -!- timotiis_ has joined.
17:45:34 <oklopol> ais523: it correctly leaves some guys without connectinos
17:45:36 <oklopol> connections
17:45:42 <ais523> ok
17:45:47 <oklopol> but, i need to rename shit as i rewrite
17:45:47 <oklopol> so
17:45:58 <oklopol> well anyway, i need to
17:46:02 <oklopol> and i have a bug there
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> after 1 rewrites
17:54:48 <oklopol> [(0, []), (2, []), (4, []), (5, []), (13, [14, 15, 16, 17]), (15, [13]), (16, [13]), (17, [13])]
17:54:56 <oklopol> looks correct now
17:55:02 <oklopol> wait
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:51 <ais523> that's wrong, I think
17:56:54 <oklopol> hmm
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:10 <oklopol> is that so
17:57:16 <oklopol> just looked at the first one
17:57:17 * oklopol debugs
17:57:28 <ais523> the first one is also wrong
17:57:54 <oklopol> umm, what should the result be then?
17:58:03 <oklopol> initial state:
17:58:06 <oklopol> [(3, [0, 2, 4, 5]), (0, [3]), (2, [3]), (4, [3]), (5, [3])]
17:58:09 <oklopol> rewriting from
17:58:12 <oklopol> [(8, [6]), (6, [8])]
17:58:15 <oklopol> to
17:58:18 <oklopol> [(11, [6, 9, 10, 12]), (6, [11]), (9, [11]), (10, [11]), (12, [11])]
17:58:21 <oklopol> current match:
17:58:25 <oklopol> [(3, 8), (0, 6)]
17:58:27 <oklopol> after 1 rewrites
17:58:30 <oklopol> [(0, []), (2, []), (4, []), (5, []), (13, [14, 15, 16, 17]), (15, [13]), (16, [13]), (17, [13])]
17:58:34 <oklopol> so
17:58:44 <oklopol> current match tells us what was matched against what
17:58:59 <oklopol> hmm...
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:17 <oklopol> oh?
17:59:26 <oklopol> i see, didn't know that
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:43 <oklopol> okay, that's fixable
17:59:51 <oklopol> well i missed all your rewriting explanations
17:59:54 <ais523> ah, ok
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:13 <oklopol> ya
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:07:40 <AnMaster> hi ais523
18:07:58 <ais523> hi AnMaster
18:08:19 <AnMaster> ais523, anything you wish to speak about?
18:08:22 <AnMaster> cfunge or such
18:08:26 <ais523> not immediately
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:18:00 <oklopol> i'd have to draw
18:18:14 <oklopol> well i'll drawify
18:19:47 <oklopol> it fails.
18:19:48 <oklopol> darn
18:20:25 <oklopol> not much though
18:20:36 <oklopol> and the match is correct
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:21 <oklopol> hehe
18:24:24 <oklopol> forgot debug info there :P
18:24:35 <oklopol> also a typo in the debug info.
18:24:48 <ais523> that looks right
18:24:50 <oklopol> but i now realize that's almost crucial
18:24:55 <oklopol> good, good
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:15 <tusho> but perhaps fun
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:37 <tusho> :p
18:31:57 -!- tusho has quit (Remote closed the connection).
18:32:07 <ais523> bye tusho...
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:14 <ais523> wb tusho
18:32:17 <oklopol> specifically
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:12 <AnMaster> yay!
18:33:13 <AnMaster> ;P
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:52 <oklopol> makes it too easy
18:33:53 <tusho> oklopol: well yeah, but not very consistently and you have loads of standalone functions operating on classes
18:33:55 <oklopol> and too verbose
18:33:55 <tusho> which is weird :p
18:33:59 <oklopol> yeah
18:34:09 <tusho> also, i think a more legible oklo program could actually be shorted
18:34:11 <tusho> *shorter
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:34:44 <tusho> :p
18:35:16 <oklopol> whitespace will indeed probably never happen
18:35:23 <AnMaster> why?
18:35:23 <oklopol> in python, that is, gets so ugly
18:35:29 <AnMaster> oklopol, you code in python right?
18:35:32 <oklopol> usually
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:35:55 <oklopol> well yes
18:35:58 <AnMaster> oklopol, foo(bar, quux)
18:36:02 <AnMaster> space should be there
18:36:04 <AnMaster> ;P
18:36:06 <oklopol> i always do indentation correct, python has taught me that
18:36:09 <oklopol> god no
18:36:14 <oklopol> that looks awful
18:36:14 <AnMaster> why not?
18:36:17 <AnMaster> ...
18:36:30 <oklopol> dunno, why yes?
18:36:31 <AnMaster> oklopol, why does it "looks awful"
18:36:44 <AnMaster> objectively
18:36:48 <AnMaster> it is more readable
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:03 <AnMaster> well do GNU style then:
18:37:07 <AnMaster> foo (bar, quux)
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:40 <AnMaster> years ago
18:37:54 <AnMaster> Deewiant, as in sizeof?
18:37:54 <oklopol> AnMaster: some papers suck
18:38:03 <Deewiant> or for, while, whatever...
18:38:09 <AnMaster> oklopol, a scientific studdy yes
18:38:16 <Deewiant> while (x); but foo(x);
18:38:18 <AnMaster> Deewiant, yes I do put in a space for if/while and such
18:38:23 <AnMaster> but not for sizeof()
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 <AnMaster> hm
18:39:14 <oklopol> AnMaster: or you can get used to mine.
18:39:15 <AnMaster> heh
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:39:48 <oklopol> well have fun believing
18:40:06 <AnMaster> oklopol, compare a hex dump of machine code to asm
18:40:09 <AnMaster> which is easier to read?
18:40:16 -!- Corun has joined.
18:40:23 <oklopol> ais523: more examples / IO rules done soon?
18:40:30 <AnMaster> oklopol, ?
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:40:54 <oklopol> than others
18:41:04 <ais523> rules can have a set of characters in parens before or after them
18:41:08 <ais523> or both
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:17 <AnMaster> oklopol, inherently easier?
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:32 <AnMaster> bah
18:45:40 <ais523> I support that bah...
18:45:56 <Deewiant> bahs for everyone
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:36 <Deewiant> lame :-D
18:46:56 <oklopol> well yeah, you shouldn't make programming too easy for yourself :D
18:47:04 <Deewiant> >_<
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:21 <ais523> s/$/s/
18:47:32 <Deewiant> it always helps
18:47:33 <oklopol> haskell does it pretty prefectly
18:47:37 <Deewiant> it's just diminishing returns
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:26 <ais523> yes
18:48:31 <Sgeo> DM also does that, iirc
18:48:47 <tusho> dm?
18:49:09 <Deewiant> dangermouse?
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:25 <ais523> well, yes
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:16 <AnMaster> there are exceptions
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:33 <AnMaster> Sgeo, and wtf is that?
18:50:35 <AnMaster> BYOND?
18:50:44 <Sgeo> developer.byond.com
18:50:49 <Sgeo> Build Your Own Net Dream
18:50:54 <AnMaster> err.. !?
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:07 <oklopol> god that was shitty
18:53:32 <lament> is that the thing with little 32x32 pictures flying around?
18:53:45 <oklopol> gf?
18:53:52 <oklopol> or byond
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:00 <oklopol> *occasionally
18:57:23 <AnMaster> the best is to code it in a real language
18:57:28 <AnMaster> say, C or even C++
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:33 <oklopol> so
18:57:40 <tusho> AnMaster: it's not a very good troll any more.
18:57:40 <oklopol> ()ab->rf would
18:57:42 <tusho> you can stop saying
18:57:52 <oklopol> err...
18:57:52 <AnMaster> tusho, well compared to game factory
18:57:53 <AnMaster> or such
18:57:54 <AnMaster> ...
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:57:58 <AnMaster> tusho, read before you troll
18:58:01 <oklopol> actually i have little idea
18:58:04 <oklopol> .
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:10 <ais523> (efg) abc rf
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:50 <tusho> :)
18:58:51 <AnMaster> err
18:58:56 <AnMaster> NOT LIMITED TO.
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:04 <AnMaster> tusho, :P
18:59:07 <ais523> oklopol: and something in parens after a rule is printed out whenever the rule matches
18:59:09 <AnMaster> so I'd rather not
18:59:47 <oklopol> ais523: so basically all this happens at a separate level from the subst-engine
18:59:52 <ais523> yes
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:24 <ais523> like Thue
19:00:29 <oklopol> \n-separated=
19:00:30 <ais523> s/matched/used/
19:00:30 <oklopol> ?
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:00:50 <oklopol> yes
19:00:56 <oklopol> ya.
19:01:01 <ais523> maybe output should be parens in the middle of a rule
19:01:05 <ais523> then it's unambiguous
19:01:47 <oklopol> or just, like, require them everywhere, and have . be the null requirement / null input
19:01:57 <oklopol> err.
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:03:42 <oklopol> is that the case?
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:11 <oklopol> hmm, actually...
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:22 <oklopol> i meean
19:07:23 <oklopol> *mean
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:15 <oklopol> the problem is...
19:08:17 <oklopol> err...
19:08:20 <oklopol> say a comes first
19:08:24 <oklopol> hmm
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:29 <ais523> s/world/word/
19:09:31 <oklopol> well i remember it's the first, but i didn't when i wrote that
19:09:34 <oklopol> ya
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:09:59 <oklopol> go for it
19:09:59 <AnMaster> what does that mean?
19:10:01 <AnMaster> STDIO?
19:10:03 <AnMaster> File IO?
19:10:06 <AnMaster> Network IO?
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:20 <AnMaster> ah STDIO then
19:10:31 <oklopol> *map input to output
19:10:37 <tusho> AnMaster: no
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:48 <oklopol> we're higher up here :P
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:43 <ais523> wait
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:09 <oklopol> means IO-completeness
19:12:31 <ais523> yes, that's it
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:19 <ais523> whoops
19:13:22 <ais523> I meant abcdefgah
19:13:27 <oklopol> yeah, thought so
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:33 <oklopol> hmm
19:15:34 <ais523> (a) ab acdafg (b) ab acdeafg
19:15:39 <ais523> oklopol: I don't think there are
19:15:42 <ais523> why not try it?
19:15:52 <oklopol> i haven't added input
19:15:59 <oklopol> but yeah
19:16:03 <oklopol> i could on paper
19:16:55 <oklopol> ais523: well
19:17:06 <oklopol> let's say you have "ab" @ stdin
19:17:14 <ais523> yes
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:17:57 * oklopol slaps head
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:37 <oklopol> god i'm stupid.
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:32 <ais523> probably
19:20:34 <ais523> like Unlambda
19:20:37 <oklopol> ya
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:21:31 <oklopol> ->
19:21:57 <ais523> ok
19:24:43 -!- olsner has joined.
19:32:18 <oklopol> god i love graphs
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:31 <oklopol> but anyway
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:14 <oklopol> into
19:36:28 <oklopol> an undirected graph with no extra info
19:36:45 <oklopol> and back, of course
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:37:55 <oklopol> as data types
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:15 <ais523> that's unambiguous
19:39:23 <oklopol> yes
19:39:28 <oklopol> i like it
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:03 <oklopol> huh?
19:40:06 <oklopol> ah.
19:40:12 <oklopol> right, nice
19:40:14 <ais523> like in [] in regexes
19:40:23 <oklopol> yeah. output is limited by that ofc
19:40:30 <oklopol> though
19:40:40 <oklopol> i mean
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:48 <AnMaster> heheh
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:41:43 <AnMaster> and where are the specs..
19:41:53 <oklopol> ,, is a comment
19:42:00 <oklopol> , comment in between these ,
19:42:03 <AnMaster> ah
19:42:04 <AnMaster> ok
19:42:09 <ais523> AnMaster: specs are this channel
19:42:13 <oklopol> hehe :P
19:42:14 <ais523> but I should write them up sometime
19:42:18 <AnMaster> ais523, good :)
19:42:21 <AnMaster> tomorrow?
19:43:05 <ais523> AnMaster: maybe
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:18 <oklopol> see ya all ->
19:43:19 <AnMaster> is offsetof() standard C?
19:43:22 -!- oklopol has quit (Client Quit).
19:43:25 <Deewiant> no
19:43:32 <AnMaster> )(/%=(/%
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:54 <Deewiant> why do you need it, anyway
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:27 <Deewiant> and exactly
19:44:31 <Deewiant> except that I'd have said it's trivial :-P
19:44:52 <AnMaster> ah
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:36 <Deewiant> it's trivial, it's trivial
19:45:37 <tusho> :P
19:45:45 <ais523> tusho: you just copied that off Wikipedia
19:45:48 <ais523> besides it doesn't always work
19:45:55 <Deewiant> why not
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:06 <Deewiant> how so
19:46:07 <ais523> Deewiant: because adding offsets to NULL isn't defined on some architectures
19:46:09 <Deewiant> AnMaster: yes
19:46:09 <ais523> AnMaster: yes
19:46:12 <AnMaster> hrrm
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:21 <AnMaster> wow
19:47:25 <AnMaster> what arches does that?
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:20 <Deewiant> no, it'd be just as easy
19:48:24 <tusho> what i mean is
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:35 <Deewiant> well sure
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:48:58 <AnMaster> gcc has __builtin_offsetof
19:49:06 <tusho> where is oklopol :<
19:49:10 <Deewiant> use that, it's probably more optimal!!
19:49:14 <AnMaster> <oklopol> see ya all ->
19:49:17 <AnMaster> * oklopol has quit (Client Quit)
19:49:20 <AnMaster> Deewiant, duh :P
19:49:24 <AnMaster> Deewiant, stop being an idiot
19:49:33 <AnMaster> Deewiant, it is just for those arches
19:49:34 <Deewiant> ~
19:49:34 <tusho> Deewiant: it's 7 seconds faster
19:49:43 <tusho> (so it actually takes -7 seconds to run)
19:49:50 <Deewiant> over 9000 times faster
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:00 <AnMaster> remember that
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:43 <AnMaster> stop being idiots you two
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:50:52 <AnMaster> Deewiant, no reason
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:05 <tusho> but i won't
19:51:06 <tusho> :)
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:51:22 <AnMaster> but it is standard
19:51:24 <AnMaster> so :)
19:51:30 <tusho> no it's not
19:51:34 <tusho> :|
19:51:34 <tusho> ah
19:51:35 <Deewiant> yes it is
19:51:35 <tusho> yes it is
19:51:36 <tusho> :P
19:51:38 <AnMaster> it is...
19:51:40 <Deewiant> >_<
19:51:50 <tusho> >_<
19:51:53 <tusho> our eyes hurt
19:51:56 <AnMaster> why?
19:52:08 <Deewiant> mine don't
19:52:21 <AnMaster> <>_<>
19:52:34 <Deewiant> >>_<<
19:52:43 <AnMaster> ><_><
19:52:46 <Deewiant> <<_>>
19:52:58 <AnMaster> >>_>>
19:53:02 <Deewiant> <<_<<
19:53:05 <AnMaster> ><_<<
19:53:11 <Deewiant> <<_<>
19:53:11 <tusho> <>_<>
19:53:19 <AnMaster> tusho, that one has been done...
19:53:22 <tusho> yes
19:53:26 <tusho> i felt like breaking it
19:53:27 <Deewiant> COMBO BREAKER!!
19:53:32 <AnMaster> :/
19:53:34 <Deewiant> and yeah
19:53:35 <tusho> ROUND 2
19:53:35 <tusho> <>_><
19:53:41 <Deewiant> >_<
19:53:49 <tusho> fail
19:53:51 <AnMaster> ~_~
19:54:04 <tusho> ø–ø
19:54:09 <AnMaster> ö_ö
19:54:10 <tusho> ¬…¬
19:54:19 <Deewiant> »_«
19:54:20 <AnMaster> µ_µ
19:54:20 <tusho> ç≈ç
19:54:28 <tusho> ∑_∑
19:54:37 <Deewiant> o¸o
19:54:44 <tusho> ô†ô
19:54:46 <AnMaster> $\inf\_\inf$
19:54:53 <Deewiant> ×_×
19:54:54 -!- lilja has joined.
19:55:04 <AnMaster> Deewiant, hey TeX is fun :P
19:55:15 <Deewiant> ›_‹
19:55:20 <tusho> ≥_≤
19:55:27 <tusho> ≥≤
19:55:39 <tusho> ∞_∞
19:55:41 <AnMaster> ≤≥
19:55:42 <AnMaster> ≤_≥
19:55:43 <tusho> o§o
19:55:43 <AnMaster> ≤__≥
19:55:45 <AnMaster> ≤___≥
19:55:50 <AnMaster> anyway
19:55:54 <AnMaster> <tusho> ∞_∞
19:55:59 <AnMaster> I already did that one...
19:56:02 <AnMaster> <AnMaster> $\inf\_\inf$
19:56:04 <AnMaster> see?
19:58:12 <tusho> AnMaster: you did it in tex.
19:58:20 <tusho> ·‚·
19:58:27 <AnMaster> yes and?
19:58:29 <tusho> ⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄
19:58:37 <tusho> °‹‡°· °‚·°—‚‚‚‚±—°°·‡⁄ ‚·°™⁄fl‡fifi⁄™‹›fi
19:58:43 <tusho> ŒËÈ„ŒÊÁ„ÊÁ‰„ËÁÊŒ„‰ÈËÁÁÁÁÈØ∏ÈØ∏”ØØ”’∏”’”’
19:58:43 <AnMaster> <tusho> ⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄⁄
19:58:43 <AnMaster> err?
19:58:45 <AnMaster> that's just a lot of /?
19:58:48 <tusho> ÅÍÓÌÏÌÅÍÎÌÓÔJHDKJFHÒÔÒÚÍÅÚÚÆÒÚÆ
19:58:49 <AnMaster> what is that good for
19:58:53 <tusho> ÛÛÇı◊ÙÇıˆÇ˜ˆı˜ˆ¯ˆ¯˜˜˜ˆ˘¯˜¯˘¿˘¯¿¿˘
19:59:01 <tusho> AnMaster: Not /. ⁄.
19:59:09 <AnMaster> they look the same here
19:59:11 <AnMaster> ............
19:59:15 <tusho> 1/3. 1⁄3
19:59:17 <tusho> compare
19:59:21 <AnMaster> the same
19:59:23 <AnMaster> exactly
19:59:29 <tusho> not exactly the same, AnMaster.
19:59:30 <AnMaster> except one got a .
19:59:31 <AnMaster> ...
19:59:33 <AnMaster> after it
19:59:42 <tusho>
19:59:44 <tusho> /
19:59:45 <tusho> /
19:59:47 <tusho>
19:59:48 <tusho> /
19:59:49 <AnMaster> tusho, they are exactly the same in bitstream vera sans
19:59:49 <tusho> compare.
19:59:56 <tusho> a/b
19:59:57 <tusho> a⁄b
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:18 <AnMaster> Bitstream Vera Sans Mono 9
20:00:25 <tusho> well duh
20:00:26 <tusho> monospaced
20:00:30 <AnMaster> yes
20:00:33 <AnMaster> of course I sue that on irc
20:00:34 <AnMaster> ...
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:58 <tusho> ˘¯¯¯˜¯˘ˆ¯˘˜
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:46 <Deewiant> I have the most recent
20:01:49 <AnMaster> hrrm
20:01:53 <AnMaster> Deewiant, this is konsole
20:01:55 <Deewiant> on windows, firefox at least does it
20:02:00 <Deewiant> but PuTTY doesn't seem to
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:16 <AnMaster> same font there
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:44 <AnMaster> k
20:02:53 <AnMaster> Deewiant, rather GTK and KDE does it
20:02:58 <AnMaster> but maybe not other onew
20:02:59 <AnMaster> ones*
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:14 <AnMaster> slightly
20:03:29 <AnMaster> Deewiant, the font engine I guess
20:03:38 <AnMaster> which for gtk apps would be pango
20:03:44 <AnMaster> for KDE I think it is in QT
20:03:47 <Deewiant> as well as for firefox.
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:32 <AnMaster> um cairo draws images iirc
20:04:40 <AnMaster> Description: A vector graphics library with cross-device output support
20:04:42 <AnMaster> that's cairo
20:04:49 <AnMaster> [I] x11-libs/pango
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:15 <tusho> olsner: yes
20:15:19 <tusho> it was painful
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:26 <AnMaster> tusho, rule 101?
20:17:31 <olsner> rule 101? is that one of the TC ones?
20:17:34 <tusho> cellular automata, dude
20:17:37 <tusho> olsner: yuppers
20:17:37 <AnMaster> ah
20:17:44 <tusho> i also wrote a bot that made the topic into a ticker
20:17:45 <olsner> tusho: nicers
20:17:47 <tusho> hello world
20:17:50 <tusho> dhello worl
20:17:50 <AnMaster> tusho, where are these rules classified?
20:17:52 <tusho> ldhello wor
20:17:54 <tusho> rldhello wo
20:17:56 <tusho> orldhello w
20:17:58 <tusho> etc
20:18:03 <tusho> and a 'folder'
20:18:05 <tusho> hello world
20:18:07 <tusho> hello wordl
20:18:11 <tusho> hello wodlr
20:18:13 <tusho> hello wdlro
20:18:15 <tusho> hello dlrow
20:18:18 <tusho> hellodlrow
20:18:21 <tusho> helldlrow o
20:18:24 <tusho> heldlrow ol
20:18:27 <tusho> hedlrow oll
20:18:29 <tusho> hdlrow olle
20:18:31 <tusho> dlrow olleh
20:18:36 <tusho> repeat ad infinitum
20:18:51 <AnMaster> tusho, where are the rules like rule 101 classified?
20:19:12 <tusho> AnMaster: google
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:28:38 <lilja> hrrr
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:11 <ais523> hi oklopol
20:58:23 <oklopol> now, you can have conditions on the timestamps
20:58:23 <oklopol> so
20:58:42 <oklopol> hi ais523
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:22 <oklopol> olsner: yes, very
21:00:51 <oklopol> now say you could output a continuation as its timestamp
21:00:52 <augur> lol
21:00:53 <augur> http://www.youtube.com/watch?v=8mwKq7_JlS8
21:00:57 <augur> 12 year old explaining jQuery
21:01:04 <augur> must be Tusho :D
21:01:07 <tusho> ?
21:01:11 <oklopol> augur: that link is so old he's probably died of age
21:01:12 <tusho> oh
21:01:13 <augur> youre 12 and a total jQuery whore
21:01:13 <tusho> I saw that ages ago
21:01:14 <tusho> ha
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:01:59 <augur> hes so adorable!
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 <oklopol> tusho: indeed you didn't
21:02:05 <tusho> augur: he's not a very good speaker is he
21:02:08 <tusho> um, er, uhhhh
21:02:08 <oklopol> that's irrelevant
21:02:14 <augur> no hes not
21:02:17 <tusho> i'd be worse
21:02:19 <augur> hes horrible
21:02:19 <tusho> id be like
21:02:22 <tusho> <bends down so nobody can see me>
21:02:23 <tusho> hi
21:02:24 <tusho> er
21:02:25 <tusho> can i go now
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:00 <augur> he needs to relax
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:03:51 <oklopol> *should
21:04:16 <oklopol> what's jquery? in 7 words
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:04:58 <augur> uh
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:49 * tusho rolls eyes
21:06:52 <tusho> he works for mozilla.
21:06:56 <tusho> of course it works in firefox.
21:07:01 <augur> thats even worse
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:08:58 <AnMaster> ais523, hm updated IFFI yet?
21:09:00 <AnMaster> to work?
21:09:05 <ais523> AnMaster: no, sorry
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:28 <ais523> ICFP, then sleeping
21:09:29 <AnMaster> I still look forward to seeing a C/CLC-INTERCAL FFI
21:09:31 <AnMaster> at some point
21:09:33 <oklopol> how old was tusho again, augur?'
21:09:35 <oklopol> :P
21:09:43 <oklopol> my memory's a bit fuzzy
21:09:47 <augur> 25 and hot as fuck
21:09:53 <tusho> lol wot
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:42 <tusho> *12
21:11:51 <augur> does the t-shirt say 12?
21:11:52 <augur> whatever
21:12:04 <augur> also, bash
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:22 <tusho> also, zsh
21:12:37 <augur> zsh.org is not a site of funny quotes from irc.
21:12:44 <tusho> nor is bash.org
21:12:46 <tusho> oh snap
21:12:58 <AnMaster> hah
21:13:01 <AnMaster> ksh?
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:15:53 <AnMaster> augur, I don't get it...
21:16:09 <augur> anmaster: what?
21:16:14 <AnMaster> <augur> http://youtube.com/watch?v=TcxpbhM0DaA
21:16:34 <augur> tusho: oh snap
21:16:52 <oklopol> ais523: well they're just continuations though, there can be no paradoxes or anything
21:17:03 <AnMaster> augur, context?
21:17:15 <augur> <tusho> oh snap
21:17:39 <ais523> oklopol: yes, I know, but that sort of lang is good for implementing Feather in
21:17:59 <AnMaster> augur, context of video
21:18:00 <AnMaster> ...
21:18:05 <augur> oh.
21:18:15 <augur> its from a volkswagen commercial.
21:18:21 <AnMaster> I see...
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:19:57 <AnMaster> yes I agree
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:20:57 <AnMaster> um
21:21:02 <augur> the point is to be completely bizarre and strange and thus memorable
21:21:07 <AnMaster> blergh
21:21:14 <AnMaster> I hardly ever watch TV
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:41 <AnMaster> I use adblock when browsing
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:26 <augur> save BSG
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:22:51 <AnMaster> from the 1950s
21:22:55 <AnMaster> some time back then
21:23:02 <AnMaster> for a VW
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:24:41 <augur> this one?
21:25:25 * AnMaster checks
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:23 <augur> :P
21:26:35 <AnMaster> eh?
21:26:44 <AnMaster> I don't understand german
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:20 <AnMaster> just found it
21:44:24 <ais523> yes, I know of that page
21:50:15 <augur> ais, is that really you?
21:50:19 <ais523> yes
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:50:48 <ais523> nah, just a bad photo
21:51:20 <augur> still, not my type. :P
21:51:42 <tusho> back
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:51:54 <ais523> s/$/t/
21:52:10 <ais523> augur: by describing a compiler from cyclic tag systems into it
21:52:11 <oklopol> augur: scared of math?
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:05 <tusho> and I sux at mafs
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:15 <ais523> it's just long
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:36 <ais523> tusho: oh
21:53:38 <tusho> he was making an incredibly witty comment about the verbosity of java
21:53:39 <tusho> oh ho ho
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:53:52 <ais523> also harder to read
21:54:15 <augur> tusho dont be so confrontational
21:54:18 <augur> ::rapes tusho::
21:54:26 <tusho> raping is pretty confrontational
21:54:27 <tusho> I find
21:54:35 <tusho> not that, you know, I have any prior experience.
21:54:37 <augur> quiet you! ::rapes your mouth::
21:54:53 <oklopol> you and your silly games
21:55:12 <augur> dont worry, oklopol, you know i only love you.
21:55:28 <oklopol> :)
21:56:10 <augur> tusho's just a receptacle of imaginary interblog cum
21:56:24 <lilja> :\
21:56:26 <tusho> it's vaguely creepy when you word it like that.
21:56:26 <tusho> :|
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:01:14 <lilja> olp
22:06:25 <oklopol> o
22:06:30 <ais523> oko
22:06:56 <tusho> okoko
22:07:01 <ais523> okokoko
22:07:26 <oklopol> o
22:07:26 <oklopol> o
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:09:36 <augur> :D
22:14:22 <oklopol> <3
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:18:53 <augur> :P
22:19:44 -!- tusho has set topic: augur <3 violating freenode topic policy.
22:20:06 <augur> you know it baby
22:20:20 <AnMaster> what policy?
22:20:27 <tusho> AnMaster: logs must be linked
22:20:33 <ais523> in the topic
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:45 <ais523> AnMaster: that's fine
22:20:46 <oklopol> hubhubhuub
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:20:57 <tusho> GOLF
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:05 <augur> >|
22:21:08 <augur> i hate you :(
22:21:14 -!- AnMaster has set topic: logs at http:tunes.org/~nef/logs/esoteric.
22:21:16 <tusho> <3
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:36 <ais523> s/tuso/tusho/
22:21:41 <AnMaster> ais523, also that would be per-channel policy, not network wide...
22:21:41 <tusho> it works without ?/
22:21:42 <tusho> *//
22:21:45 <tusho> AnMaster: no
22:21:47 <tusho> it's network wide
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:03 <AnMaster> <tusho> it works without ?/
22:22:06 <AnMaster> LIAR
22:22:08 <tusho> whatevs
22:22:08 -!- ais523 has set topic: http://tinyurl.com/6bts8x.
22:22:13 <tusho> tinyurl?
22:22:14 <tusho> Pfft.
22:22:15 <tusho> More lik
22:22:15 <AnMaster> lynx says:
22:22:15 <tusho> e
22:22:17 <tusho> HUGE URL
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:22:59 <augur> does not work.
22:23:10 <tusho> shit
22:23:14 <Sgeo> http.com ?
22:23:22 -!- tusho has set topic: vjn.cc/x.
22:23:23 <augur> INTERNET.COM
22:23:31 * Sgeo likes alnk.org
22:23:34 <augur> ITS HOW YOU GET ONTO THE INTERNET
22:24:51 <AnMaster> The following URL:
22:24:51 <AnMaster> http://hugeurl.com/
22:24:51 <AnMaster> has a length of 19 characters and resulted in the following TinyURL which has a length of 23 characters:
22:24:51 <AnMaster> http://tinyurl.com/z0cx
22:24:53 <AnMaster> how ironic
22:24:57 <AnMaster> it is longer...
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:25:56 <ais523> try previewing that
22:26:10 <augur> tinyurl should have something in its script that will only return a new url if its actually shorter.
22:26:19 <ais523> ah, pity
22:26:21 <ais523> it doesn't work directly
22:26:29 <AnMaster> augur, lie
22:26:30 <ais523> I went and redirected TinyURL to itself multiple times
22:26:32 <AnMaster> augur, see above
22:26:46 <tusho> ais523: that's LONGER
22:26:49 -!- tusho has set topic: http://vjn.cc/x.
22:26:50 <augur> anmaster: what?
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:16 <ais523> who owns vjn.cc, btw?
22:27:24 <tusho> #vjn, it's some channel oklopol is in
22:27:29 <AnMaster> ah
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:44 <AnMaster> ais523,
22:27:46 <AnMaster> "Custom alias (optional):"
22:27:48 <AnMaster> yay
22:27:56 <AnMaster> The following URL:
22:27:56 <AnMaster> http://tinyurl.com/recursive
22:27:56 <AnMaster> has a length of 28 characters and resulted in the following TinyURL which has a length of 28 characters:
22:27:56 <AnMaster> http://tinyurl.com/recursive
22:27:56 <AnMaster> [Open in new window]
22:28:16 -!- atsampson has quit (Read error: 104 (Connection reset by peer)).
22:28:21 <ais523> AnMaster: classic
22:28:23 <ais523> try clicking on that link
22:28:25 <Sgeo> Well, not quite.. http://alnk.org/1gingerpuppy
22:28:28 <AnMaster> yes doesn't work
22:28:29 <AnMaster> I know
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:21 <Slereah__> What the hell is this? :o
22:29:32 <ais523> Sgeo: yes, I know
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:03 <Slereah__> Nah.
22:30:08 <tusho> AnMaster: vjn.cc/one-letter
22:30:09 <tusho> vs
22:30:11 <tusho> xrl.us/sdfsdf
22:30:13 <Slereah__> It's a thing I put on pastebin
22:30:17 <Slereah__> And it somehow ended here
22:30:24 <Slereah__> What is this website?
22:30:26 <tusho> Slereah__: Someone linked to it.
22:30:30 <tusho> And that website saw the link.
22:30:31 <augur> oh, wait
22:30:34 <tusho> So it noted that it had been linked.
22:30:34 <augur> that IS 2,3
22:30:37 <augur> hahahahahahahahaha
22:30:44 <augur> oh man
22:30:46 <tusho> (Someone = the pastebin's main page)
22:30:49 <augur> thats funny
22:30:50 <AnMaster> tusho, www.vjn.cc/c
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:06 <AnMaster> www.vjn.cc/n
22:31:07 <AnMaster> :)
22:31:07 <tusho> Slereah__: no, it spiders sites lookin' for links
22:31:11 <tusho> by blahhhgers
22:31:24 <Sgeo> Bleh, I searched myself, only 1 hit
22:31:26 <Slereah__> How peculiar
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:31:50 <augur> have i shown?
22:31:55 <tusho> wtf.
22:31:57 <tusho> goatse is down.
22:32:03 <Slereah__> But... How did it end here?
22:32:11 <Slereah__> I only posted the link here, I think
22:32:13 <tusho> Slereah__: their spider found it.
22:32:15 <augur> goatse.ca?
22:32:15 <ais523> tusho: is that a scam to get people to look at goatse?
22:32:16 <augur> lame.
22:32:17 <tusho> and the pastebin main page
22:32:19 <tusho> will have found it
22:32:20 <tusho> ais523: maybe :)
22:32:46 <Slereah__> Meh.
22:32:51 <Slereah__> Goatse is so pass.
22:33:22 <tusho> Quite.
22:33:39 <augur> yeah.
22:33:48 <augur> i jerked off to that shit when i was tushos age!
22:34:15 <Slereah__> What, 52?
22:34:35 <augur> :O
22:34:38 <augur> tusho you lied to me!
22:34:38 <augur> T_T
22:34:46 <Slereah__> Here's a tip : if he invites you for candies
22:34:47 <augur> i thought you were 51!
22:34:49 <Slereah__> Refuse.
22:35:02 <augur> unless they're tasty rohypnol candies. i love those.
22:35:02 <AnMaster> I think he is around 22-30
22:35:04 <AnMaster> in age
22:35:19 <Slereah__> We should cut him in half
22:35:27 <Slereah__> And count the rings.
22:35:48 <tusho> AnMaster: you're logical, right? what evidence do you have for believing i'm not 12?
22:36:06 <AnMaster> tusho, the way you act
22:36:19 <AnMaster> you act too much grown up to be that youn
22:36:19 <tusho> elaborate?
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:36:49 <AnMaster> nothing I can prove
22:36:59 <Slereah__> I can prove it.
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:18 <Slereah__> Because I am tusho's father.
22:37:24 <Slereah__> I did his mom.
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:37:42 <AnMaster> not that
22:37:48 <Slereah__> Try #naruto
22:37:51 <AnMaster> ..
22:37:55 <augur> anmaster: lol.
22:37:55 <AnMaster> that wasn't what I meant
22:38:01 <AnMaster> we all do strange things here
22:38:05 <AnMaster> code esolangs for example
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:38:52 <AnMaster> augur, what?!
22:39:03 <AnMaster> stop insulting me :(
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:18 <AnMaster> in reality
22:39:21 <AnMaster> I think he is lying
22:39:24 <augur> you have no sense of humor
22:39:29 <AnMaster> augur, anyway I'm 18
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:42 <AnMaster> what did you expect?
22:39:50 <augur> sweden huh
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:06 <Slereah__> Guys
22:40:13 <AnMaster> augur, I'm a slightly fat (trying to exercise) Swedish 18 years old male
22:40:14 <Slereah__> How long has tusho been 12?
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 <tusho> AnMaster: lawl.
22:40:26 <augur> probably for under a year
22:40:30 <augur> there see? i was right
22:40:35 <AnMaster> tusho, what?
22:40:56 <AnMaster> tusho, send me a scan of your ID documents
22:40:59 <AnMaster> both front and back
22:41:00 <tusho> very funny
22:41:08 <tusho> augur: what should i say
22:41:08 <AnMaster> for the $10000000
22:41:14 <Sgeo> I think I started chatting when I was 12
22:41:20 <augur> what?
22:41:21 <AnMaster> to be able to transfer to your bank account
22:41:22 <AnMaster> ;P
22:41:24 <AnMaster> tusho, :Å
22:41:27 <AnMaster> ;P*
22:41:33 <augur> what should you say??
22:41:40 <augur> anmaster: give me your pic.
22:41:43 <Slereah__> I started internet 8 years ago :o
22:41:50 <AnMaster> augur, I don't have any on the computer
22:41:54 <Slereah__> Man was I retarded
22:41:57 <augur> take some, bitch
22:42:04 <augur> ive been on the net since like..
22:42:09 <augur> 1996 maybe?
22:42:10 <AnMaster> augur, nor will I put it up on internet
22:42:11 <Sgeo> I used things like "ne1"
22:42:20 <tusho> 1998 or so for me
22:42:32 <augur> tusho dont lie
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:42 <AnMaster> I had modem before
22:42:48 <AnMaster> so I used it a little
22:42:50 <AnMaster> not much
22:42:52 <tusho> augur: ...
22:42:53 <tusho> 4
22:42:59 <augur> uh
22:42:59 <tusho> 1995, 1996, 1997, 1998
22:43:03 <Sgeo> I definitely chose "Sgeo" 2001 or earlier
22:43:05 <tusho> er
22:43:06 <tusho> well
22:43:08 <tusho> 3.5 kind of thing
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:42 <AnMaster> err
22:43:45 <AnMaster> 1995*
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:49 <AnMaster> or 1996*
22:43:56 <augur> who said anything about audio proof?
22:43:57 <tusho> 1665
22:43:57 <tusho> XD
22:44:03 <augur> 1665!!!
22:44:03 <tusho> augur: i am recording a sample of my voice as proof of my age.
22:44:06 <AnMaster> typo that I corrected
22:44:07 <AnMaster> duh
22:44:09 <AnMaster> .......................
22:44:12 <AnMaster> anyway
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:44:34 <AnMaster> 2004 maybe
22:45:01 <augur> <3galipoka
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:19 <tusho> augur: hokay -
22:45:20 <AnMaster> galipoka?
22:45:32 <augur> ^ link ^
22:45:38 * tusho uploads
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:19 <tusho> augur: no.
22:47:24 <augur> aw cmon, it'd be funny!
22:47:24 <augur> XD
22:47:31 <tusho> if the second part of the mp3 doesn't convince you nothing will
22:47:33 <tusho> :p
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 <AnMaster> whatever it is
22:48:24 <augur> its too high pitched
22:48:32 <tusho> and, uh, well
22:48:33 <tusho> i'm 12
22:48:34 <tusho> what can I say :p
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:08 <tusho> i didn't :|
22:49:11 <AnMaster> yes it does
22:49:16 <tusho> although I agree it sounds like it
22:49:18 <tusho> but i didn't
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:21 <AnMaster> a few days agoi
22:50:23 <AnMaster> ago*
22:50:27 <tusho> what
22:50:28 <tusho> no i didn't
22:50:38 <augur> gasp!
22:50:39 <AnMaster> that "he like everyone else had substracted 10 years from his age"
22:50:40 <AnMaster> ...
22:50:41 <augur> tusho you've lied to me!
22:50:47 <tusho> hah
22:50:48 <AnMaster> not that I have
22:50:50 <AnMaster> I am 18
22:50:53 <tusho> augur: AnMaster: http://filebin.ca/upgdhg/wtfb.mp3
22:50:53 <ais523> well, Wikipedia says I'm 21
22:50:57 <AnMaster> note the quite isn't correct
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:32 <tusho> :P
22:51:37 <augur> that means nothing lol
22:51:48 <augur> pitch shifting can is unaffected by that
22:51:51 <AnMaster> that can be edited
22:51:55 <tusho> yes, but it goes low at the start
22:51:58 <tusho> well
22:51:59 <tusho> relatively low
22:52:00 <augur> yes and?
22:52:11 <tusho> i'm not an EXPERT AUDIO MODIFICATIONER, that's what
22:52:12 <tusho> :p
22:52:12 <oklopol> the beginning is clearly a child taklign
22:52:15 <oklopol> *talking
22:52:16 <augur> so you say
22:52:24 <oklopol> regarding the tusho clip
22:52:25 <AnMaster> oklopol, well no
22:52:41 <AnMaster> tusho, so what do you work with?
22:52:51 <augur> ok seriously
22:52:51 <tusho> AnMaster: ?
22:52:53 <augur> is it just me
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:13 <AnMaster> augur, I think it is unfunny
22:53:21 <tusho> AnMaster: why
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:53:54 <tusho> jesus
22:53:54 <tusho> :p
22:53:57 <AnMaster> like the Discworld novels
22:53:59 <AnMaster> oh
22:54:00 <tusho> i swear.
22:54:04 <AnMaster> and I do like monty python
22:54:11 <AnMaster> tusho, is this your little brother then?
22:54:17 <tusho> no, it's me
22:54:18 <AnMaster> tusho, look you *act* all grown up
22:54:20 <tusho> jesus fuck.
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:54:39 <AnMaster> well wtf
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:27 <AnMaster> tusho, could be someone else
22:55:31 <augur> but photo evidence is fine.
22:55:32 <AnMaster> a random pic from the net
22:55:36 <AnMaster> or a random video
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:48 <tusho> augur: nothx.
22:55:52 <oklopol> hmph
22:55:54 <augur> XD
22:55:56 <AnMaster> tusho, photoshop or gimp?
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:13 <tusho> :p
22:56:16 <tusho> but I'll hand-write it
22:56:26 <AnMaster> even so
22:56:30 <AnMaster> take a pic of that
22:56:32 <AnMaster> merge
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:01 <AnMaster> or real time talking
22:57:06 <tusho> real time talking
22:57:06 <AnMaster> over voip with pic
22:57:06 <tusho> I can do that
22:57:09 <tusho> got skype?
22:57:15 <AnMaster> open source software only
22:57:20 <tusho> i figured that :)
22:57:24 <augur> cmon tusho, pics
22:57:25 <tusho> link me one that isn't gtk
22:57:26 <AnMaster> tusho, got fgcom?
22:57:27 <tusho> and that has os x binaries
22:57:31 <tusho> and i'll do it
22:57:33 <AnMaster> tusho, got fgcom?
22:57:35 <oklopol> yeah pics
22:57:37 <tusho> what is fgcom
22:57:48 <oklopol> nude pics so we see yours haven't descented yet
22:57:52 <AnMaster> tusho,
22:57:53 <AnMaster> http://squonk.abacab.org/dokuwiki/fgcom
22:57:59 <augur> yes, definitely nudes.
22:58:04 <tusho> i'll decline.
22:58:10 <oklopol> darn, so close
22:58:12 <augur> XD
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:31 <tusho> thankyouverymuch
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:45 <AnMaster> will need to set it up though
22:58:46 <tusho> ninjam.com/download.php
22:58:59 <AnMaster> asterix?
22:59:05 <tusho> hah
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:13 <AnMaster> err
22:59:14 <tusho> but you could record it
22:59:18 <augur> ill record it yes
22:59:21 <AnMaster> asteriks
22:59:26 <AnMaster> err
22:59:28 <AnMaster> asterisk
22:59:31 <AnMaster> that is the spelling
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:09 <tusho> and stuff.
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:30 <oklopol> do what with me?
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:39 <augur> IT oklopol
23:00:39 <augur> ID
23:00:41 <tusho> i have ichat, but you know.
23:00:44 <AnMaster> otherwise you could use a filter
23:00:45 <augur> IT even
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:09 <augur> not*
23:01:14 <AnMaster> ahah
23:01:17 <AnMaster> so that is it
23:01:22 <AnMaster> you will use a voice filter
23:01:23 <AnMaster> good try
23:01:24 <augur> anmaster: dunno. you could install GNUStep and maybe it'll work
23:01:26 -!- RedDak has joined.
23:01:30 <tusho> AnMaster: wtf.
23:01:38 <AnMaster> augur, different ABI of course
23:01:38 <tusho> does anyone else think AnMaster is mentally insane.
23:01:42 <oklopol> :D
23:01:43 <augur> ABI?
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:19 <oklopol> :D
23:02:25 <oklopol> lol
23:02:34 <oklopol> perhaps some day
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:15 <augur> cmon tusho
23:03:20 <tusho> yes
23:03:21 <tusho> in a second
23:03:22 <tusho> jeez
23:03:22 <oklopol> yksi kaksi kolme
23:03:27 <augur> while you get your little brother?
23:03:37 <tusho> a womb
23:03:37 <augur> :p
23:03:44 <oklopol> i suggest you ask him something about monads
23:03:51 <AnMaster> oklopol, interesting
23:03:52 <augur> BUT I DONT KNOW ANYTHING ABOUT THEM MYSELF
23:03:55 <augur> HOW WILL I UNDERSTAND
23:04:11 <AnMaster> well hrrm
23:04:32 <oklopol> augur: everyone knows enough to test whether the other one knows
23:04:40 <augur> i dont :(
23:04:40 <AnMaster> augur, what about lambda calculus?
23:04:47 <augur> oh yes i know about that :D
23:04:55 <AnMaster> well I don't much
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 <AnMaster> indeed
23:05:12 <augur> but i know just the thing! :D
23:05:22 <tusho> back
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:38 <augur> haha
23:05:43 <tusho> quite.
23:05:44 <tusho> so
23:05:45 <augur> anmasters lying
23:05:48 <tusho> i'll add you on skype augur
23:05:48 <augur> everyone knows LC
23:06:04 <AnMaster> oklopol, not much
23:06:13 <augur> anmaster, its simple
23:06:24 <tusho> ok augur
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:26 <tusho> also
23:06:27 <augur> lambda <formals>. <body>
23:06:28 <tusho> set up a recorder
23:06:29 <augur> thats all there is
23:06:30 <augur> psygnisfive
23:06:32 <oklopol> tusho: psygnisfive?
23:06:34 <augur> im doing the recorder now
23:06:39 <tusho> ok
23:06:42 <tusho> augur: ready?
23:06:49 <augur> no wait
23:06:57 <tusho> ask me something about monads or something
23:07:31 <augur> oh dont worry
23:07:33 <augur> i know what to ask ;D
23:07:54 <tusho> um
23:07:55 <tusho> :|
23:07:58 <tusho> ready?
23:08:09 <augur> no child wait
23:08:10 <augur> jesus
23:08:50 <tusho> call refused
23:08:51 <tusho> :-|
23:09:46 <oklopol> o
23:11:54 <tusho> ok. recording imminent
23:13:25 <tusho> AnMaster: will you accept this as evidence
23:13:56 <AnMaster> tusho, video?
23:14:00 <augur> no video
23:14:05 <AnMaster> why not?
23:14:06 <tusho> i don't want to do a video chat.
23:14:06 <augur> he refuses video
23:14:09 <tusho> :|
23:14:11 <augur> until later
23:14:17 <tusho> first date, etc.
23:14:18 <tusho> oh snap
23:14:20 <augur> then we're gonna have cyber video sex
23:14:29 <AnMaster> hahha
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:37 <tusho> and?!
23:15:41 <AnMaster> he would have been 4 years then
23:15:44 <tusho> yes
23:15:48 <tusho> I got my first computer at 3
23:15:51 <tusho> as a christmas present..
23:16:00 <AnMaster> and you programmer on it?
23:16:04 <AnMaster> you could do that back then?
23:16:08 <tusho> no
23:16:14 <tusho> i learned to program like early 2004
23:16:25 <AnMaster> tusho, and you where how old then?
23:16:30 <AnMaster> also what is your IQ?
23:16:32 <AnMaster> because...
23:16:40 <tusho> i dunno my iq
23:16:46 <tusho> did that work
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:13 <AnMaster> oklopol, good one
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:17:57 <AnMaster> did he?
23:18:06 <oklopol> tusho: i learned to program like early 2004
23:18:16 <tusho> oklopol: whatevs
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:18:56 <augur> hahaha
23:19:05 <augur> hahahaha
23:19:05 <tusho> augur refuses to talk about monads
23:19:06 <tusho> >:|
23:19:17 <oklopol> he doesn't know shit!
23:19:19 <oklopol> bust him
23:19:21 <oklopol> bust him bad
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:19:52 <AnMaster> you mean: voice filter
23:19:53 <AnMaster> ?
23:20:02 <oklopol> :D
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:10 <tusho> BE PREPARED
23:20:25 <oklopol> what funcs?
23:20:33 <tusho> bind and return
23:20:37 <oklopol> ah right
23:20:38 <tusho> wtf
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:17 <tusho> tada
23:21:18 <tusho> :D
23:21:19 <AnMaster> ais523, there?
23:21:21 <augur> lol.
23:21:27 <ais523> yes
23:21:29 <AnMaster> ais523, what was the name of the intercal compiler?
23:21:29 <augur> oh this was brilliant
23:21:37 <ais523> C-INTERCAL, or ick
23:21:42 <ais523> ick is the filename
23:21:42 <AnMaster> err
23:21:44 <tusho> augur: post the monad types!
23:21:44 <AnMaster> ais523, I mean
23:21:46 <AnMaster> debugger
23:21:47 <tusho> i wanna hear the monad types
23:21:49 <AnMaster> sorry for typo
23:21:50 <ais523> yuk
23:21:50 <AnMaster> ais523, ^
23:21:54 <ais523> but you invoke it as ick -y
23:21:59 <AnMaster> oh ok
23:22:02 <AnMaster> that explains
23:22:05 <AnMaster> why I couldn't find it
23:22:17 <ais523> the debugger's stored as a .a file
23:22:21 <ais523> and compiled into your program
23:22:27 <tusho> augur: filebin.ca
23:22:30 <tusho> for uploading the NOMADZ
23:22:51 <AnMaster> ais523, I see but bleh
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:03 <tusho> augur: duh
23:23:04 <tusho> it has two sources
23:23:07 <tusho> pick Skype on one
23:23:07 <AnMaster> ais523, which reminds me, I had an idea of cfunge debugger over sockets
23:23:09 <augur> QUIET YOU
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:43 <augur> hahaha
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 <oklopol> hi greasie :PDD
23:24:18 <tusho> oklopol: GET SKYPE
23:24:21 <tusho> you need to be there for this
23:24:28 <oklopol> lilja has scype
23:24:32 <oklopol> *skype
23:24:33 <augur> oh my god XD
23:24:36 <tusho> i said oklopol
23:24:37 <tusho> not lilja
23:24:44 <augur> anmaster im so sorry this was useless XD
23:24:46 <oklopol> but i don't wanna dl :<
23:24:50 <tusho> augur: fine.
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:20 <AnMaster> well
23:25:23 <augur> i asked him about web 2.0 and he muttered it again
23:25:24 <AnMaster> he can't do scheme?
23:25:27 <AnMaster> that's not
23:25:32 <AnMaster> oh well
23:25:41 <tusho> there we go
23:25:44 <tusho> monamonads.
23:25:48 <augur> oh god that was hilarious
23:25:51 <oklopol> tusho isn't that clever, he just reads wikipedia fast
23:25:55 <tusho> haha
23:25:56 <AnMaster> oklopol, haha
23:26:10 <AnMaster> ok
23:26:13 <AnMaster> video chat
23:26:17 <tusho> no
23:26:19 <tusho> augur: upload the file
23:26:21 <AnMaster> is the only thing that will convince me
23:26:22 <tusho> of that monomads
23:26:27 <augur> HAHAHA
23:26:29 <AnMaster> monomads?
23:26:29 <tusho> it should be sufficiently convincing
23:26:31 <AnMaster> wtf is that
23:26:33 <tusho> AnMaster: nomads/monads
23:26:38 <tusho> even if it's not convincing it's funny
23:26:40 <AnMaster> nomads?
23:26:42 <AnMaster> monads I heard
23:26:48 <AnMaster> though I don't know what it is
23:26:51 <tusho> AnMaster: NOMADS!!!!!!!111
23:26:52 <AnMaster> or
23:26:54 <AnMaster> rather I do
23:26:58 <AnMaster> but I don't understand monads
23:27:00 <tusho> augur: I am eagerly awaiting the mp3.
23:27:01 <tusho> ;_;
23:27:08 <augur> im trying to figure out how to save it lol
23:27:12 <AnMaster> augur, I'm awaiting the ogg
23:27:18 <augur> hahaha
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:39 <ais523> oklopol: I disagree
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:51 <AnMaster> yes...
23:27:52 <tusho> augur: anyway
23:27:54 <tusho> you select it
23:27:55 <tusho> in the library
23:27:57 <tusho> then choose export to disk
23:27:57 <AnMaster> but that is unrelated
23:28:00 <tusho> voila
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:14 <oklopol> !
23:28:36 <AnMaster> oklopol, help: # For Haskell Nomads, see Monad (functional programming).
23:28:38 <AnMaster> click that
23:28:42 <AnMaster> nothing about nomads
23:28:46 <AnMaster> only about monads
23:28:51 <AnMaster> or are they the same?
23:28:54 <tusho> HEY AUGUR
23:28:56 <tusho> I'M WAITING
23:29:09 <oklopol> AnMaster: if you think i'm wrong about functional programming, just assume you misunderstood my joke :P
23:29:16 <oklopol> you C bitch!
23:29:30 <AnMaster> oklopol, I think that *I* know next to nothing about functional programming
23:29:32 <AnMaster> I admit that
23:29:36 <augur> ok uploading
23:29:41 <tusho> yay
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:27 <tusho> oh thanks
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:39 <AnMaster> you decide exact topic
23:31:47 <tusho> fine
23:31:53 <tusho> i tell you what AnMaster
23:31:55 <tusho> i'll call augur
23:31:55 <AnMaster> tusho, however... "EVIDENZE"
23:31:57 <tusho> you say a subject
23:31:59 <tusho> and i'll talk about it
23:32:02 <AnMaster> that proves you are 12
23:32:03 <augur> no dont say it HERE
23:32:05 <AnMaster> ;P
23:32:07 <augur> say it to ME in PM
23:32:10 <augur> so no coaching can occur
23:32:12 <AnMaster> tusho, ^
23:32:12 <tusho> OK
23:32:15 <tusho> ready for that?
23:32:16 <AnMaster> hm
23:32:21 <AnMaster> let me think of one
23:32:27 <tusho> multiple ones, AnMaster
23:32:29 <tusho> switch half-way
23:32:32 <tusho> so you know it's not rehearsed
23:32:39 <AnMaster> hm good point
23:32:43 <augur> im beginning to hope you're not 12, tusho
23:32:48 <tusho> why
23:33:13 <augur> because your personality and mannerisms in skype are almost attractive in their completely psychotic nature
23:33:18 <tusho> lmao
23:33:43 <oklopol> i loved the nomads cry :P
23:33:47 <AnMaster> yes
23:33:47 <tusho> :D
23:33:55 <AnMaster> and it doesn't match tusho on irc
23:33:58 <oklopol> and the clap of hands
23:34:02 <oklopol> that was brilliant
23:34:07 <tusho> AnMaster: ready?
23:34:11 <augur> i would be terribly disappointed if i were attracted to a 12 year old
23:34:14 <AnMaster> I told augur yes
23:34:14 <augur> your cock is way too small.
23:34:17 <tusho> lmao
23:34:24 <AnMaster> wait
23:34:31 * tusho waits
23:34:46 * tusho WAITS
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:30 <tusho> :______:
23:35:37 <oklopol> elaborate lies like that are awesome
23:35:45 <AnMaster> ok topic decided
23:35:52 <AnMaster> or topics rather
23:35:54 <oklopol> wish i was a mythomaniac or something
23:35:56 <AnMaster> augur, ready?
23:36:02 <AnMaster> augur, do it
23:36:19 <tusho> lmao
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:36:58 <AnMaster> there is another topic too
23:37:01 <AnMaster> so...
23:37:16 <AnMaster> you only need one of them
23:37:39 <tusho> AnMaster: done.
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:52 <AnMaster> yes I hope so
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:39 <AnMaster> or maybe even 17-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:38:54 <AnMaster> augur, and the other topic?
23:39:04 <tusho> the first thing I said was "i've got my wikipedia page ready, hah"
23:39:07 <tusho> ah
23:39:10 <tusho> the net connection is skippy
23:39:15 <tusho> oh well
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:26 <augur> hes so british :D
23:40:32 <tusho> lol
23:40:40 <tusho> AnMaster: is that evidence enough?
23:40:42 <augur> and not 12 at all
23:40:52 <AnMaster> tusho, you were reading from wikipedia I think
23:40:59 <AnMaster> and yes I agree with augur
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:11 <tusho> fine.
23:41:12 <AnMaster> oklopol, indeed
23:41:14 <tusho> i'll take a fuckin' photo
23:41:15 <AnMaster> :/
23:41:17 <augur> video!
23:41:20 <tusho> video, fine
23:41:21 <tusho> just a sec
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:12 <augur> dinner. :P
23:43:25 <tusho> augur: aw come on.
23:43:28 <tusho> :-|
23:43:35 * oklopol installed skype
23:43:42 <AnMaster> well I'm going to sleep shortly
23:43:45 <tusho> oklopol: your name?
23:43:56 <oklopol> oklopol
23:44:31 <oklopol> god
23:44:38 <oklopol> you actually calling me?
23:44:40 <tusho> yes
23:44:51 <tusho> just a sec, need to prepare my little brother
23:44:54 <tusho> tell him what to say, etc.
23:44:58 <tusho> OK
23:44:58 <oklopol> yeah
23:45:02 <tusho> he's ready
23:45:06 <oklopol> nice
23:45:13 <tusho> i can hear you typing.
23:45:16 <oklopol> tell him to say "hi oklo i like scheme"
23:45:24 <oklopol> hehe :P
23:45:34 <oklopol> say it more like *sch*eme
23:45:38 <oklopol> not sceme
23:45:40 <oklopol> oh
23:45:45 <oklopol> hmmhmm
23:45:50 <oklopol> :D
23:46:02 <tusho> i make everyone laugh
23:46:03 <tusho> :D
23:46:17 <oklopol> i don't even know where the microphone is here
23:46:18 <augur> oklopol! :D
23:46:29 <AnMaster> night
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:44 <oklopol> ?
23:46:46 <oklopol> typing
23:46:52 <tusho> no jkersjkesjkjoopkopklklml
23:46:53 <oklopol> ah :)
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:23 <tusho> in like 5 seconds
23:47:23 <tusho> :D
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:28 <oklopol> :D
23:47:35 <augur> oklopol, are you getting video?
23:47:36 <augur> or just talking
23:47:37 <tusho> :'(
23:47:39 <augur> ok afk
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:47:57 <oklopol> i don't really talk
23:47:59 <oklopol> :D
23:48:02 <tusho> what, ever
23:48:15 <tusho> i don't talk either
23:48:20 <tusho> as you can see ,I only say unintelligable things
23:48:30 <oklopol> well i like it
23:48:33 <tusho> grauh nuer glayi beurn
23:48:39 <oklopol> hmm
23:48:49 <oklopol> say that again, k?
23:49:01 <oklopol> :)
23:49:03 <tusho> HUHUHUH GEDDIT
23:49:03 <oklopol> so funny.
23:49:06 <tusho> SAY "THAT" AGAIN
23:49:08 <tusho> AHAHAHHAHAHAHAHHAHAH
23:49:10 <oklopol> :D
23:49:12 <tusho> shit
23:49:15 <tusho> my voice filter broke
23:49:20 <tusho> fixed it
23:49:40 <tusho> lilja: I CAN HEAR YOU
23:49:41 <tusho> WITH MY EYES
23:49:42 <tusho> ER
23:49:43 <tusho> EARS
23:49:49 <tusho> that was really a typo
23:49:53 <tusho> :|
23:50:07 <oklopol> tusho: that's just my voice filter.
23:50:09 <tusho> your keyboard is loud
23:50:09 <lilja> tjaja
23:50:14 <tusho> klunk clank krunk
23:50:23 <oklopol> i could say the same thing about yours
23:50:25 <tusho> KLUNK CLANK
23:50:25 <tusho> KRUNK
23:50:27 <tusho> CLUNAK
23:50:30 <tusho> CHICKEN
23:50:46 <tusho> should I say
23:50:47 <tusho> nomads
23:50:49 <tusho> ????????????
23:50:50 <oklopol> yeah
23:50:51 <oklopol> do :D
23:51:09 <oklopol> tusho: so, you live with your pants?
23:51:12 <oklopol> as in, parents
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:25 <tusho> :(
23:51:29 <oklopol> :D
23:51:38 <oklopol> well i was just wondering, are trey like deaf?
23:51:42 <oklopol> *they
23:51:52 <tusho> they're DEAD you insensitive clod
23:51:55 <tusho> I just told you I'm an ORPHAN
23:51:56 <tusho> :(
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:41 <tusho> tap tap tap tap
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 <oklopol> *you're so
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:21 <tusho> hah
23:53:23 -!- Corun has quit ("Leaving").
23:53:29 <tusho> krrrrrrr
23:53:33 <tusho> say
23:53:36 <tusho> shall I read out lines in #haskell
23:53:41 <oklopol> :D
23:53:47 <oklopol> err, shuuure
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:17 <tusho> :-|
23:55:24 <tusho> FINNISH: English, backawrds.
23:55:29 <tusho> or backwards
23:55:48 -!- pikhq has joined.
23:55:49 <tusho> you're just talking nonsense now to fuck with me
23:55:49 <tusho> admit it
23:56:11 <oklopol> :D
23:56:16 <oklopol> yes, that's the case
23:56:21 <tusho> have a video of my empty chair
23:56:39 <augur> ize back!
23:56:53 <oklopol> tusho: can you tell us a story?
23:57:02 <tusho> about what
23:57:06 <oklopol> but not the same as before
23:57:08 <augur> oklopol, are you on skype
23:57:09 <tusho> damnit
23:57:11 <tusho> augur: yes
23:57:13 <tusho> let's have a group chat!
23:57:13 <oklopol> augur: well yeah
23:57:16 <oklopol> xD
23:57:30 <tusho> group chat GO
23:57:34 <tusho> augur: you'd better record this
23:57:34 <oklopol> oh god
23:57:51 <tusho> depends, augur
23:57:53 <tusho> do you want to record video of
23:57:54 <oklopol> people... i will not talk :P
23:57:55 <tusho> MY EMPTY CHAIR?
23:58:25 <oklopol> well a silent chat like this is fine by me+
23:58:28 <oklopol> *me
23:58:34 <tusho> oh my god i'm BLACK
23:58:54 <tusho> :-|
23:58:57 <tusho> I AM GIVING YOU INSTRUCTIONS
23:58:58 <tusho> STERNLY
23:58:59 <tusho> :-|
23:59:08 <tusho> wait
23:59:09 <tusho> it's pronounced
23:59:12 <tusho> oh klo pol?!
23:59:13 <tusho> wow
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
2008-07-18
00:00:06 <tusho> well, well thank you
00:01:03 <tusho> i hope my dramatic music is sufficient
00:01:08 <augur> yes
00:01:12 <augur> shes an independent 3rd party
00:01:15 <augur> she has no bias
00:01:56 <tusho> sorry about that
00:02:06 <tusho> I CAN SPEAK FINNISH NOW
00:02:08 <tusho> :D
00:02:23 <oklopol> :)
00:02:23 <tusho> :DDDDDDDDDDDDDDddddddddd
00:02:26 <oklopol> english = finnish ^ -1
00:02:29 <augur> omg omg omg XD
00:03:01 <tusho> you're abandoning meeeeeeeeeeeeee
00:03:02 <tusho> :(
00:03:17 <oklopol> :)
00:03:19 <oklopol> cool orgy
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:14 <tusho> now
00:04:37 <augur> god wtf was that XD
00:04:56 <tusho> hello
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:06:07 <tusho> bitch
00:06:07 <tusho> :(
00:06:19 <lilja> hrrrr
00:06:26 <tusho> but
00:06:26 <tusho> but
00:06:28 <tusho> nomads
00:06:29 <tusho> :(
00:06:39 <tusho> but
00:06:39 <tusho> nomads
00:06:48 <lilja> piano!
00:07:07 <tusho> ill show you an empty chair augur
00:07:09 <tusho> AN EMPTY CHAIR
00:07:14 <tusho> just accept that call
00:07:15 <tusho> ;__;
00:08:09 <oklopol> :)
00:08:20 <oklopol> perhaps some other day
00:09:34 <tusho> lets retry that
00:10:42 <augur> i think tusho is a little girl
00:10:52 <lament> then
00:10:57 <lament> could you please stop raping her
00:11:09 <tusho> see
00:11:10 <tusho> you saw me
00:11:11 <tusho> ;_;
00:11:22 <augur> i did not! youre going to have to do it again
00:11:49 <tusho> you saw that
00:11:52 <tusho> did you not
00:12:01 <tusho> ...
00:12:02 <tusho> WELL?
00:12:05 <augur> yes
00:12:08 <tusho> >:|
00:12:10 <tusho> there
00:12:12 <tusho> is that proof enough
00:12:14 <tusho> :P
00:12:16 <tusho> get ready to take a screenshot for anmaster!
00:12:20 <augur> unfortunately yes :(
00:12:22 <augur> hold on
00:12:25 <augur> WAIT
00:12:39 <augur> ok
00:12:41 <augur> lol
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:18 <tusho> SHUT UP YOU
00:13:19 <tusho> >:(
00:13:24 <augur> you look like this south african lesbian i know
00:13:32 <oklopol> you have footage?
00:13:34 <tusho> 10
00:13:34 <tusho> 9
00:13:35 <tusho> 8
00:13:36 <tusho> 7
00:13:37 <tusho> 6
00:13:39 <tusho> 5
00:13:39 <tusho> 4
00:13:41 <tusho> 3
00:13:42 <tusho> 2
00:13:43 <tusho> 1
00:13:57 <tusho> well if you didn't get a screenshot then you suck
00:14:00 <augur> omg tusho
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:12 <augur> oh you have
00:14:19 <tusho> however it looks like i have to prove i'm male now
00:14:20 <tusho> :|
00:14:22 <augur> either that or you're a woman with a glandular problem
00:14:29 <augur> no please dont
00:14:29 <tusho> lmao
00:14:30 <oklopol> where's the pic?
00:14:35 <tusho> oklopol: i'm sure augur has it.
00:14:35 <augur> oh theres VIDEO oklopol
00:14:36 <augur> VIDEO
00:14:39 <tusho> VIDEO
00:14:39 <tusho> WHAT
00:14:40 <oklopol> oh
00:14:41 <tusho> I SAID SCREENSHOT
00:14:44 <tusho> :|
00:14:44 <oklopol> that's better
00:14:46 -!- Corun has joined.
00:14:51 <augur> i did take screen shots
00:14:53 <augur> lots of them
00:14:55 <tusho> you can't just go taking videos of our cybersex augur
00:14:58 <tusho> that's not fair
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:46 <oklopol> good, good
00:15:48 <tusho> is that all the calls for toda
00:15:49 <tusho> good
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:17 <augur> seriously
00:17:21 <tusho> how am i girly
00:17:21 <tusho> :|
00:17:22 <augur> and its not the hair
00:17:26 <augur> YOU LOOK LIKE A WOMAN
00:17:30 <tusho> no i don't.
00:17:35 <tusho> that was because my headphones were pulling my hair back
00:17:36 <tusho> :|
00:17:37 <augur> oh my god you do
00:17:42 <tusho> no i fucking don't :q
00:17:46 <augur> yes you do
00:17:50 <tusho> no i don't.
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:13 <augur> ITS NOT RIGHT
00:18:14 <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:00 <oklopol> THIS
00:19:01 <oklopol> OS
00:19:02 <oklopol> *IS
00:19:04 <oklopol> LESBOS
00:19:10 <augur> indeed
00:19:15 * tusho watches the feature film
00:19:17 <tusho> Tusho Is A Girl
00:19:18 <tusho> Part One
00:19:19 <augur> in sparta the guys fucked one another.
00:19:20 <oklopol> :D
00:19:27 <tusho> oh god
00:19:29 <tusho> I look horrible
00:19:33 <augur> and like a girl.
00:19:35 <tusho> i should have PREPARED
00:19:36 <tusho> :|
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:19:57 <tusho> lmao.
00:20:08 <tusho> i can't bear to watch it
00:20:10 <tusho> it's that awful
00:20:14 <tusho> I do not normally look like that
00:20:17 <tusho> srsly
00:20:18 <augur> it is!
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:46 <tusho> :|
00:20:50 <tusho> i don't look like a girl then
00:20:51 <tusho> much
00:21:07 <tusho> anyway
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:36 <tusho> my work here...
00:21:37 <tusho> ...is done
00:21:56 <augur> when you go through puberty you might end up being quite attractive tho.
00:22:10 <tusho> don't be creepy.
00:22:10 <tusho> :p
00:22:12 <augur> but right now, WAY too girly.
00:22:14 <tusho> anyway, i don't normally look like that
00:22:15 <tusho> seriously.
00:22:27 <augur> well then we'll talk again next time you look like a man
00:22:35 <tusho> :-|
00:22:43 <oklopol> :D
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:54 <oklopol> <3
00:22:56 <tusho> oklopol: what is your opinion on the matter
00:23:01 <oklopol> errr
00:23:03 <tusho> augur: you just broke your rule two messages after stating it
00:23:17 <augur> what?
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:23:40 <tusho> :-|
00:23:42 <oklopol> i'd say you're a person
00:23:45 <augur> HAHAHA
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:41 <augur> tusho
00:24:52 <tusho> augur: i need a leigon to fight AM
00:24:53 <tusho> so shut up
00:24:53 <augur> those videos are not evidence you're a male. not by far. :P
00:24:54 <tusho> :p
00:25:03 <tusho> anyway
00:25:05 <tusho> near the end of part 2
00:25:07 <tusho> i look male
00:25:07 <tusho> :-|
00:25:10 <oklopol> i've been told i'd make a pretty girl
00:25:10 <augur> lies
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:42 <tusho> xD
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:25:59 <tusho> lmao
00:26:06 <augur> who thinks tusho's really a 29 year old woman? ::raises hand:
00:26:17 <augur> and a lesbian.
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:31 <augur> its weird
00:26:34 <bsmntbombdood> what are those videos in topic?>
00:26:39 <augur> those are videos of tusho
00:26:42 <tusho> bsmntbombdood: proof that I am 12.
00:26:43 <tusho> and male.
00:26:45 <augur> pretending to be a young male.
00:26:49 <tusho> or female, if you listen to augur
00:26:53 <bsmntbombdood> actually you look pretty female
00:26:56 <oklopol> i'm pondering about taking a tour to meet all the active people here.
00:26:57 <augur> HAH
00:27:00 <tusho> fuck you bsmntbombdood
00:27:00 <augur> OWNED.
00:27:00 <tusho> :|
00:27:05 <oklopol> although i may steer clear of augur :P
00:27:08 <tusho> AnMaster: ping
00:27:12 <tusho> WAKE UP BASTARD
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:48 <bsmntbombdood> i wouldn't want her jealous
00:27:59 <tusho> VISIT ME
00:27:59 <augur> you wouldn't want grammar either
00:28:00 <tusho> wait wot
00:28:18 <augur> :P
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:47 <augur> yes they do
00:28:48 <tusho> Otherwise, no.
00:28:51 <augur> but you'd never hear it.
00:29:03 <GregorR> augur: Naturally.
00:29:06 <augur> and theyre not real speakers.
00:29:10 <oklopol> augur: okay
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 <augur> harmonics?
00:29:47 <tusho> augur: what purpose do you have for them?! :P
00:29:51 <GregorR> (Record it at 44100 that is)
00:29:53 <augur> the videos?
00:29:59 <tusho> yes
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:34 <tusho> augur: WAIT
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:31:09 <tusho> :|
00:31:10 <augur> oklopol!
00:31:12 <augur> add me on skype!
00:32:36 <oklopol> i can try.
00:33:00 -!- augur has quit (Read error: 104 (Connection reset by peer)).
00:33:04 -!- augur has joined.
00:33:11 <oklopol> you're already there
00:33:17 <augur> O_O
00:33:21 <augur> are you online?
00:33:39 <oklopol> yeah
00:36:35 -!- seveninchbread has joined.
00:36:52 <augur> seveninchbread, is "bread" a euphemism for penis?
00:38:05 <oklopol> hi prohpet
00:38:09 <oklopol> *prophet
00:38:20 <oklopol> how's it hanging?
00:39:00 <augur> why do i have audio of someone paddling through a lake? x.x
00:39:19 <tusho> its me
00:39:20 <tusho> duh
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:24 <augur> well
00:40:27 <augur> 600 files anyway
00:40:37 <CakeProphet> augur: no
00:40:39 <CakeProphet> but
00:40:42 <CakeProphet> it is what I intended you to think
00:40:52 <CakeProphet> so congratulations for being manipullable.
00:40:56 <augur> a hot dog bun?
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:41:54 <augur> TOO
00:41:55 <augur> WEIRD
00:42:01 <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:34 <tusho> augur: dude
00:44:37 <tusho> use musicbrainz picard
00:44:40 <tusho> it tags it from an audio hash
00:44:42 <tusho> :>
00:44:44 <augur> it doesnt work
00:44:49 <tusho> yes it doe
00:44:49 <CakeProphet> oklopol, excellent... as usual
00:44:50 <tusho> s
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:18 <oklopol> ah okay
00:45:23 <augur> thats right.
00:45:24 <tusho> augur: use the foosic tagger?
00:45:26 <tusho> there's tons of options
00:45:30 <augur> best reco'nize
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:28 <augur> btw
00:46:29 <tusho> oklopol: AnMaster isn't very good at english
00:46:29 <augur> hot chip
00:46:31 <augur> over and over
00:46:32 <augur> <3
00:46:43 <tusho> befunge 98 got some X
00:47:13 <oklopol> tusho: i've seen worse
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:01 <oklopol> yes, that's a given
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:48:45 <augur> yes
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:49:49 <tusho> augur: with me?
00:49:52 <tusho> that'd be fun
00:49:59 <augur> yes, and oklopol.
00:50:05 <augur> and anyone else who wants to join.
00:50:06 <oklopol> NOMAAAAAAAAADS
00:50:07 <tusho> augur and tusho talk about esolangs while oklopol & lilja laugh in the background
00:50:12 <oklopol> no
00:50:15 <augur> whos lilja anyway
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:29 <tusho> i mean
00:50:30 <tusho> i assume so.
00:50:45 <oklopol> lilja is my other persona i use over a voice filter
00:50:47 <oklopol> duh
00:50:52 <tusho> oh
00:50:52 <tusho> yeah
00:51:06 <augur> but really now
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:06 <tusho> lol.
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:56:59 <augur> fix it.
00:59:11 <tusho> lawl
00:59:30 <oklopol> ais523: i think it's a non trivial task to do graph -> eodermdrome.
00:59:59 <augur> FIX IT TUSHO
01:00:08 <tusho> no
01:02:52 <augur> :(
01:03:24 <pikhq> I can has Portal.
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:05:47 <augur> lol
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:11:58 <augur> XD
01:12:10 <augur> mainly cause i am a complete poof
01:12:20 <CakeProphet> oklopol: What is it?
01:12:25 <lilja> oh well, then poofs sound nice
01:12:33 <oklopol> CakeProphet: ais523's graph rewriting language
01:12:35 <augur> lol
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:09 <augur> i envisoned this:
01:14:31 <augur> <tusho> GRAR SCHEME GRR SGLASGJ SHITTY UNDERPOWERED TOO MINIMAL GRR RARG
01:14:32 <tusho> you envisioned...................
01:14:37 <tusho> heh
01:14:41 <tusho> when have I ever said that
01:14:58 <oklopol> doesn't tusho like scheme?
01:15:03 <tusho> i do
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:12 <tusho> :)
01:15:14 <augur> ITS IN THE LOGS'
01:15:23 <oklopol> i must've been otherwheres then
01:15:45 <tusho> iphone 2.0
01:15:46 <tusho> be quicker
01:15:48 <tusho> you stupid shit.
01:16:01 <augur> what now
01:16:03 <oklopol> ANTISCHEME, WHERE THE PARENS ARE BACKWARDS AND LISTS ARE FUCKING NEGATIVE
01:16:10 <augur> oh god
01:16:18 <augur> WHAT IS A NEGATIVE FUCKING LIST
01:16:21 <augur> you dont even know yourself
01:16:22 <augur> >P
01:16:26 <oklopol> don't you know nopol?
01:16:48 <augur> oklopol your girlfriend is going all :D on me
01:16:49 <augur> :(
01:16:52 <tusho> augur: it's a list that instead of being wrapped inwards like nested list
01:16:52 <tusho> s
01:16:52 <oklopol> that's one way to do negative lists
01:16:54 <tusho> is wrapped outwards
01:17:01 <oklopol> ya
01:17:02 <augur> im going to start confusing her for you and then im gonna be hitting on your girlfriend :( :( :(
01:17:05 <oklopol> negative in depth
01:17:18 <augur> that doesnt make any sense
01:17:19 <oklopol> augur: lol go for it :d
01:17:24 <augur> no i dont like girls! :(
01:17:25 <tusho> augur: yes it does
01:17:27 <tusho> think about it
01:17:28 <augur> they have vaginas
01:17:30 <tusho> (a b c)
01:17:33 <tusho> ((a b c))
01:17:34 <tusho> (a b c)
01:17:38 <tusho> and one more down
01:17:39 <augur> what? lol
01:17:45 <tusho> a )(b c
01:17:49 <tusho> see? it sort of folds out
01:17:51 <oklopol> :)
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:16 <oklopol> zero-depth list
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:04 <CakeProphet> not as a sequence
01:20:08 <CakeProphet> it's very possible for negative sets
01:20:09 <oklopol> for instance ([...]) != [(...)], where ()=positive, []=negative
01:20:11 <CakeProphet> that do not have an order
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:21 <CakeProphet> mhm
01:20:29 <CakeProphet> it's easy to do in any OO language.
01:20:32 <CakeProphet> where you can define datattypes
01:20:34 <augur> )a b c( is the negative list containing everthing but a, b, and c
01:20:34 <CakeProphet> though
01:20:35 <oklopol> CakeProphet: it's not negative length
01:20:40 <CakeProphet> it would be tricky
01:20:47 <CakeProphet> to define how you iterate over it
01:20:50 <CakeProphet> and indexing and such
01:20:52 <augur> so (member 'a ')a b c() returns false?
01:20:53 <CakeProphet> but for a set that doesn't matter.
01:21:00 <oklopol> also no, negative != infinite's complement
01:21:00 <CakeProphet> yep
01:21:06 <augur> e.g. (member 'a ')a b c() == (not (member 'a '(a b c)))
01:21:07 <augur> ?
01:21:13 <CakeProphet> oklopol: hmmm... yeah
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:39 <augur> only sort of not
01:21:40 <oklopol> but anyway, this is not about a negative length, it's negative depth
01:21:51 <CakeProphet> I'm not exactly sure
01:21:52 <oklopol> which kinda escapes the tree form in very, very weird ways
01:21:52 <CakeProphet> what depth is
01:21:54 <CakeProphet> in a list.
01:21:55 <augur> oklopol, you and your negatives.
01:22:01 <CakeProphet> as in
01:22:10 <CakeProphet> [[1,1], [1,2]]
01:22:12 <CakeProphet> has a depth of 2?
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:16 <oklopol> *yet
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:42 <CakeProphet> augur: I love to do these crazy things to
01:23:44 <CakeProphet> just wish I did them more.
01:23:56 <augur> youre both mad! >_<
01:24:00 <CakeProphet> oklopol: that reads as gibberish to me.
01:24:07 <CakeProphet> I'm assuming
01:24:09 <CakeProphet> the <>'s define lists
01:24:12 <oklopol> CakeProphet: no matter
01:24:12 <CakeProphet> and the :::'s are... something
01:24:29 <oklopol> i'm going to explain, the gist at least
01:24:36 <CakeProphet> alright, I'm game.
01:24:39 * CakeProphet is interested.
01:24:54 <oklopol> basically, map does (1,2,3...n) -> (f 1,f 2,f 3...f n), right
01:25:21 <CakeProphet> ........yeah.... what?
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:34 <CakeProphet> I know what a map function does, yes.
01:25:42 <oklopol> so we first get (f 1 2 3 4... n)
01:25:43 <oklopol> then
01:25:45 <CakeProphet> but I'm not familiar with that notation.
01:25:50 <oklopol> (f [1,2,3,4...n])
01:25:51 <CakeProphet> oh...
01:25:53 <CakeProphet> wait
01:25:54 <oklopol> where [] is a negative list
01:25:54 <CakeProphet> ...yeah
01:25:56 <CakeProphet> lol I'm dumb.
01:26:01 <oklopol> a negative list is a sick thing.
01:26:04 <oklopol> what it does is..
01:26:07 <oklopol> err
01:26:15 <oklopol> if the negative list has depth -1
01:26:18 <CakeProphet> ...so then it's like
01:26:26 <oklopol> then it will kinda rise above one level of normal list surrounding it
01:26:29 <CakeProphet> list[::2]?
01:26:34 <oklopol> in this case it will rise above the (f ...) thing
01:26:41 <CakeProphet> or am I misinterpreting the "step"?
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:54 <oklopol> hmm
01:26:57 <augur> even oklopol doesnt understand it
01:27:00 <oklopol> :)
01:27:07 <augur> oi! oklopol! PMs! read them!
01:27:08 <oklopol> CakeProphet: oh, no, it's not like that
01:27:13 <oklopol> oh, i will
01:27:31 <oklopol> you're welcome :)
01:27:35 <oklopol> CakeProphet: anyway, err
01:27:38 <CakeProphet> ...oh.
01:27:41 <CakeProphet> that's....... weird.
01:27:57 <oklopol> after doing the negative -> positive transformation
01:27:59 <oklopol> it becomes
01:28:10 <oklopol> ((f 1) ,(f 2) ... (f n))
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:34 <CakeProphet> if you have
01:28:54 <oklopol> well sure, except it doesn't actually differentiate between a list and a function call
01:29:02 <CakeProphet> ............sdfiohsuidfhisryetu7wruygsfdg
01:29:04 <oklopol> well it kinda does, but not conceptually
01:29:09 <augur> this is lisp right oklopol?
01:29:12 <CakeProphet> motherfuck
01:29:16 <oklopol> augur: yes, exactly.
01:29:21 <augur> CRAZY FINNISH LISP
01:29:26 <augur> WITH DIARESIS
01:29:33 <oklopol> lisp doesn't differentiate between a list and a function call?
01:29:36 <CakeProphet> x = [y = <1,2,3>, <1,2,3>]
01:29:39 <oklopol> (1 2 3 4) gives an error
01:29:45 <augur> LÏÏSPONËËN
01:29:47 <augur> or something
01:29:54 <oklopol> that's a list in nopol, because 1 can't be called
01:29:58 <CakeProphet> if you were to write a function (f x)
01:29:59 <oklopol> it's just rewriting
01:30:00 <CakeProphet> and then
01:30:07 <augur> and NEGATIVE LISTS
01:30:07 <CakeProphet> er....
01:30:11 <CakeProphet> how about (f y) instead
01:30:14 <oklopol> except in practise it's closer to lisp, but irrelevant here
01:30:18 <CakeProphet> then (map f x)
01:30:19 <augur> oklopol
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:31 <oklopol> augur: asd.
01:30:32 <CakeProphet> would make y = x
01:30:35 <CakeProphet> for each call to f?
01:30:39 <CakeProphet> ...
01:30:50 <oklopol> hmm
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:27 <oklopol> augur: duh
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:00 <oklopol> hmm
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:03 <oklopol> well kinda.
01:33:11 <CakeProphet> -nod- alright, I gotcha
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:33:39 <CakeProphet> no other state.
01:33:43 <CakeProphet> ... /just/ a tree.
01:33:46 <CakeProphet> alright.
01:33:47 <oklopol> yes
01:33:50 <oklopol> just one tree
01:33:57 <CakeProphet> hmmm... so then
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:22 <CakeProphet> I have not esolanged in forever.
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:34:39 <oklopol> thue
01:34:42 <CakeProphet> yes
01:35:09 <CakeProphet> in terms of how you describe things... as rewrite rules.
01:35:15 <CakeProphet> but its a tree now instead of a string.
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:33 <CakeProphet> hmmm... alright.
01:36:40 <oklopol> [append [1 [2 [3 []]] [2 [3 [4 []]]]] if you prefer without commas
01:36:42 <oklopol> now
01:36:45 <augur> what does that even do, oklopol. lol
01:36:47 <CakeProphet> if it's all linked lists
01:36:53 <oklopol> augur: it does absolutely nothing
01:36:54 <CakeProphet> you can just do [1 2 3 ...]
01:36:57 <CakeProphet> and I'll getcha
01:36:59 <oklopol> this is a tree with numbers and atoms.
01:37:06 <oklopol> nothing more added
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:37:18 <oklopol> something like this
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:38:52 <oklopol> i'll rewrite
01:38:54 <CakeProphet> rofl
01:38:57 <CakeProphet> alright.
01:39:09 <CakeProphet> I see how it works though... I believe
01:39:15 <oklopol> [append A []] => A; [append A [B C]] => [append [B A] C]
01:39:17 <CakeProphet> A matches anything.
01:39:17 <oklopol> something like this
01:39:21 <oklopol> yes
01:39:25 <CakeProphet> and is substitued as the A in the second expression
01:39:27 <CakeProphet> that's nice.
01:39:33 <oklopol> this will actually be kinda bugged, as the latter list will reverse
01:39:35 <oklopol> but you get the idea
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:37 <augur> with A = 4
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:40:57 <CakeProphet> ah
01:40:59 <CakeProphet> gotcha
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:05 <augur> afk gotta go
01:42:09 <oklopol> and the result would be [4, [3, [2, [1, [2, [3, []]]]]]
01:42:21 <CakeProphet> aha
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:06 <oklopol> anyway, the point is
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:46 <oklopol> augur: err
01:43:50 <CakeProphet> when do the functions get "called"?
01:43:55 <oklopol> the left side of the second rule
01:44:06 <oklopol> is [append A [B C]]
01:44:08 <CakeProphet> starts with append
01:44:09 <CakeProphet> yeah
01:44:14 <oklopol> B will match head, C will match tail
01:44:23 <augur> whatever :P
01:44:27 <oklopol> head is consed to A
01:44:29 <oklopol> tail C is left there
01:44:35 <augur> your notation is confusing anyway
01:44:35 <oklopol> CakeProphet: you don't calle
01:44:36 <oklopol> *call
01:44:41 <augur> ok im off
01:44:41 <oklopol> augur: no it's not
01:44:43 <augur> see ya
01:44:46 <augur> yes it is oklopol
01:44:47 <augur> :P
01:44:48 <augur> bye
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:11 <CakeProphet> ...nothing
01:45:14 <oklopol> well okay i had commas
01:45:15 <CakeProphet> he might have meant
01:45:22 <augur> nevermind
01:45:23 <augur> im off
01:45:24 <CakeProphet> that there's a lot of them
01:45:25 <CakeProphet> but that's not notation
01:45:27 <oklopol> but anyway, i think augur just sucks ass, as he's gay ;)))))
01:45:28 <CakeProphet> see ya
01:45:30 <augur> it doesnt help to discuss further
01:45:37 <oklopol> yeah, indeed not
01:45:41 <oklopol> anyway, bye you
01:45:51 <CakeProphet> yeah... I'd ditch the commas... not needed in this notation really.
01:45:52 <CakeProphet> less typing.
01:45:54 <CakeProphet> easier to read.
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:46:20 <oklopol> yes, true
01:46:29 <CakeProphet> ooooooooooh
01:46:31 <CakeProphet> that
01:46:34 <CakeProphet> is
01:46:35 <CakeProphet> cool
01:46:39 <CakeProphet> the function definition
01:46:39 <oklopol> yes
01:46:42 <CakeProphet> is the rewrite rule
01:46:44 <CakeProphet> fuck yeah
01:46:52 <CakeProphet> ......okay... now we have negative lists.
01:46:57 <oklopol> :P
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:08 <CakeProphet> ...oh
01:48:11 <oklopol> so for [...] a positive list and <...> a negative list
01:48:12 <CakeProphet> that makes sense
01:48:16 <CakeProphet> but it will take me several minutes
01:48:19 <CakeProphet> to understand it in detail
01:48:21 <CakeProphet> ...
01:48:23 <CakeProphet> because that is confusing.
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:42 <oklopol> of depth -2
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:35 <oklopol> and get...
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:23 <CakeProphet> ....I am getting it...
01:50:33 <CakeProphet> but I am not going to be able to think about it sanely.
01:50:35 <CakeProphet> yet.
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:43 <oklopol> the rewrite would be
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:06 <oklopol> err, sorry
01:51:07 <CakeProphet> ....can you take
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:20 <oklopol> hmm
01:51:22 <CakeProphet> and newline it where it doubles?
01:51:26 <oklopol> sure
01:51:28 <CakeProphet> so I can read that thing
01:51:35 <oklopol> wait a sex
01:51:57 <oklopol> http://www.vjn.fi/pb/p564464542.txt
01:52:35 <CakeProphet> hmmm...
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:52:40 <CakeProphet> but the depth was -2
01:52:44 <CakeProphet> so why are there three?
01:52:44 <oklopol> yes
01:52:49 <oklopol> hmm
01:52:52 <oklopol> well
01:52:57 <oklopol> if it was depth 0
01:53:06 <CakeProphet> ........what is depth -
01:53:07 <CakeProphet> er
01:53:09 <CakeProphet> 0
01:53:09 <oklopol> then it'd just be expanded into the list [d e k l m f g]
01:53:16 <CakeProphet> oh
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:43 <oklopol> well
01:53:49 <oklopol> i represented with |...| here
01:54:04 <CakeProphet> alright... that'll work for our purposes.
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:54:35 <oklopol> but it's nice already
01:54:38 <oklopol> so
01:54:40 <CakeProphet> it's pretty neat
01:54:43 <CakeProphet> I have to say
01:54:43 <oklopol> now that was depth 0
01:54:46 <CakeProphet> and vaguely makes sense
01:54:49 <oklopol> let's do depth -1
01:54:52 <CakeProphet> as it is sort of like... negative depth
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:55:19 <oklopol> do you get that?
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:11 <CakeProphet> yeah
01:56:12 <CakeProphet> that part makes sense
01:56:19 <oklopol> you get this stub, or the lambda, by removing the negative list, and replacing with *
01:56:30 <CakeProphet> hmmm... alright.
01:56:33 <oklopol> you then just "call" the stub for all elems of the negative list
01:56:36 <CakeProphet> ah okay
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:22 <CakeProphet> I see it now.
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:31 <CakeProphet> it's a bit hard to read
01:57:33 <CakeProphet> but yeah, I got it.
01:57:45 <oklopol> well try reading the actual notation :P
01:57:50 <oklopol> <...> for positive lists
01:57:55 <oklopol> >...< for negative ones
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:58:31 <CakeProphet> hmmm
01:58:33 <CakeProphet> yeah
01:58:37 <CakeProphet> it does map
01:58:39 <CakeProphet> over all the elements
01:58:55 <CakeProphet> but it copies everything else too
01:59:01 <CakeProphet> is that sort of like
01:59:16 <CakeProphet> to give each element a local state?
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
01:59:23 <oklopol> hmm
01:59:27 <CakeProphet> like
01:59:30 <CakeProphet> you could use the duplicate lists
01:59:45 <CakeProphet> as a state for your "mapping function"
01:59:47 <CakeProphet> maybe
01:59:49 <CakeProphet> I don't know.
01:59:53 <oklopol> :)
01:59:53 <oklopol> well
02:00:01 <oklopol> if i had something like a "strong list"
02:00:07 <oklopol> let's mark that with {...}
02:00:12 <CakeProphet> awwww yeah
02:00:14 <CakeProphet> curly brackets for the win.
02:00:18 <oklopol> and i had a kinda strong negative list
02:00:22 <CakeProphet> ....rofl
02:00:30 <oklopol> let's mark that with... err... \.../
02:00:32 <oklopol> :P
02:00:38 <CakeProphet> ...sure
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:05 <oklopol> except
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:31 <oklopol> because
02:01:40 <oklopol> you can just surround where you wanna jump out of with a strong list
02:01:48 <CakeProphet> aaaah
02:01:51 <CakeProphet> that would be nice.
02:02:05 <oklopol> like {... [... [... \.../ ...] [...] ...] ...}
02:02:08 <CakeProphet> strong list isn't really a good description... I think.
02:02:11 <CakeProphet> but
02:02:14 <CakeProphet> it differentiates for now
02:02:18 <oklopol> here, the \.../ would jump @ the {...} level
02:02:26 <CakeProphet> -nod-
02:02:38 <oklopol> well let's call them thick or something
02:02:38 <oklopol> now
02:02:38 <CakeProphet> by jump you mean map and make duplicates?
02:02:53 <oklopol> hmm
02:02:56 <oklopol> yes.
02:03:00 <CakeProphet> alright.
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:23 <oklopol> i'll explain
02:03:29 <CakeProphet> alright
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:03:54 <CakeProphet> ...oshi
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:04:20 <CakeProphet> ........uh oh
02:04:23 <oklopol> i'll show an example
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:05:17 <oklopol> do you get that?
02:06:04 <CakeProphet> ....one sec
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:27 <oklopol> yes
02:06:35 <CakeProphet> I'm still
02:06:42 <CakeProphet> using my shitty-pattern-matching-brain
02:06:43 <oklopol> and we are doing all possible substitutions from the two lists
02:06:46 <CakeProphet> to see how they substitute in
02:06:47 <oklopol> well
02:06:52 <oklopol> basically
02:06:56 <CakeProphet> it's like
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:25 <CakeProphet> (g,j) (h,j) (i,j)
02:07:31 <CakeProphet> then
02:07:54 <CakeProphet> (g k) (h k) (i k)
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:08 <CakeProphet> ...-nod- alright I got it.
02:08:12 <CakeProphet> that's cool...
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:27 <oklopol> so, basically
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:09:56 <CakeProphet> ....not yet.
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:37 <CakeProphet> ah ha
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:15 <CakeProphet> ...neat.
02:12:21 <CakeProphet> it's like
02:12:25 <CakeProphet> map and filter
02:12:28 <CakeProphet> but way more awesome.
02:12:44 <oklopol> well it's somewhat like amb.
02:12:49 <CakeProphet> ...what's amb.
02:12:51 <CakeProphet> ...
02:12:53 <oklopol> but this is a bit higher level
02:12:55 <oklopol> well
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:07 <oklopol> it's not a tarpit really
02:14:12 <CakeProphet> I think it would be nice.
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:07 <oklopol> well sure
02:15:18 <oklopol> i guess you could define the concept of lambda yourself
02:15:22 <oklopol> i should try some time
02:15:36 <oklopol> but, i'll be sleeping now, perhaps more lessons about my languages later :P
02:15:44 <CakeProphet> lambda as in the [(blah blah *)] stuff
02:15:49 <CakeProphet> ...that was very lazily typed
02:15:51 <CakeProphet> like
02:15:56 <CakeProphet> I didn't even pay attention to which brackets I was using.
02:16:12 <CakeProphet> .....alright. night.
02:16:29 <CakeProphet> I shall ponder on all of this. it's pretty ridiculously genius.
02:17:26 <oklopol> hehe, thanks :P
02:17:32 <oklopol> you should see graphica!
02:17:37 <oklopol> okay, err, night :D
02:17:38 <oklopol> ->
02:18:15 <CakeProphet> ...
02:18:17 <CakeProphet> night
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:45:02 <CakeProphet> hmmm...
02:45:14 <CakeProphet> you could have
02:45:53 <CakeProphet> a more robust pattern-matching syntax
02:47:01 <CakeProphet> a - before a single capital letter matches negative lists only... so you could have.
02:47:36 <CakeProphet> well... no that wouldn't work.
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:48:37 <CakeProphet> sort like quote in lisp.
02:48:41 <CakeProphet> *sort of
02:50:55 <CakeProphet> in a pseudo-rewrite-language it would be
02:51:50 <CakeProphet> [neg [A...]] => [neg <A...>];
02:51:59 <CakeProphet> ...er
02:52:39 <CakeProphet> [neg [A...]] => <A...>;
02:52:41 <CakeProphet> [neg <A...>] => [A...];
02:53:12 <CakeProphet> then abs
02:54:09 <CakeProphet> [abs [A...]] => [A...];
02:54:11 <CakeProphet> [neg <A...>] => [A...];
02:54:22 <CakeProphet> ...
02:54:24 <CakeProphet> god damnit
02:54:40 <CakeProphet> [abs [A...]] => [A...];
02:54:42 <CakeProphet> [abs <A...>] => [A...];
02:55:07 <CakeProphet> and then absneg... which does the opposite of abs
02:55:12 <CakeProphet> or negabs
02:55:42 <CakeProphet> [negabs A] => [neg [abs A]];
03:15:03 <augur> oklop :D
03:15:05 <augur> ..
03:15:07 <augur> oklo*
03:15:23 <augur> hey! whered tuulia go? >|
03:31:43 <augur> wheres EVERYONE gone?!
03:33:43 <CakeProphet> ...
03:42:42 <augur> hi :P
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
09:52:58 <CakeProphet> stage 1 looks relatively easy.
10:18:37 -!- tusho has joined.
10:19:14 <tusho> AnMaster: ping
10:21:15 <AnMaster> tusho, yes?
10:21:30 <tusho> AnMaster: i have definitive proof
10:21:33 <tusho> recorded by augur
10:21:36 <AnMaster> ah
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:49 <tusho> i'm sure
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:30 <AnMaster> wtf are you?
10:22:37 <tusho> augur thinks I look like a girl
10:22:39 <tusho> :p
10:23:13 <AnMaster> wow
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:07 <AnMaster> no sound?
10:24:22 <tusho> he did record sound
10:24:23 <tusho> I just didn't speak
10:24:27 <AnMaster> ah xine has sound
10:24:30 <AnMaster> mplayer doesn't
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:04 <tusho> lmao
10:25:07 <tusho> nooooooooooooooooooooooooooooooooooooooooooooooooooo
10:25:12 <AnMaster> tusho, oh yes you are
10:25:22 <tusho> its my headphones that make me look like that
10:25:24 <tusho> jeez
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:25:56 <AnMaster> just kidding
10:26:04 <AnMaster> well I do think you are a 12 year old girl now
10:26:14 <tusho> i am male.
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:37 <tusho> qed
10:26:48 <AnMaster> well what about the long hair</sexist>
10:26:58 <tusho> lawl
10:27:20 <AnMaster> anyway, I certainly didn't know about monads when I was 12...
10:27:50 <tusho> *NOMADS
10:27:52 <AnMaster> you act like you are quite a few years older than 12.
10:27:57 <AnMaster> tusho, berlgh ;P
10:28:01 <AnMaster> blergh*
10:28:35 <AnMaster> tusho, but I'm convinced you are a girl now. ;P
10:28:52 <tusho> :|
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:14 <AnMaster> no you couldn't
10:29:17 <AnMaster> not at that age
10:29:20 <tusho> duh
10:29:23 <tusho> i was mimicking the quality of your arguments
10:29:24 <tusho> :)
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:30:57 <AnMaster> yes exactly
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:31:25 <AnMaster> that's how it is
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:42 <AnMaster> haha
10:32:42 <tusho> Well, yes.
10:32:44 <tusho> But. More so.
10:32:52 <AnMaster> <tusho> besides, a 12 year old male talking about monads in #esoteric is improbable enough
10:32:55 <AnMaster> it is indeed
10:33:00 <AnMaster> so how do you explain it?
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:45 <AnMaster> when you were 4
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:40:20 <tusho> :)
10:42:24 <fizzie> Photoshopped!
10:42:50 <fizzie> The generic term for any digital manipulation.
10:43:15 <AnMaster> tusho, not really
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:29 <AnMaster> I already said that
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:44:29 * tusho rolls eyes
10:45:07 <AnMaster> fizzie, stop being a sexist to poor tusho
10:45:20 <tusho> hah
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:45:46 <AnMaster> isn't that so tusho?
10:46:08 <tusho> oh shut up
10:48:31 -!- GreaseMonkey has quit ("HydraIRC -> http://google.com <- Go find something better").
10:49:00 <tusho> ha
10:49:05 <tusho> I like that modified quit message
10:49:24 <AnMaster> yeah
10:50:07 <AnMaster> tusho, http://en.wikipedia.org/wiki/Popular_culture#In_Popular_Culture
10:50:33 <tusho> AnMaster: reverted vandalism
10:50:44 <AnMaster> tusho, eh?
10:50:54 <tusho> that section was just added a few minutes ago, AnMaster
10:50:55 <tusho> i removed it
10:50:59 <tusho> see: http://en.wikipedia.org/w/index.php?title=Popular_culture&action=history
10:51:02 <AnMaster> blergh
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:51:36 <tusho> it's a silly joke
10:51:37 <tusho> so.
10:51:37 <AnMaster> tusho, blergh
10:51:44 <AnMaster> you have no humor!
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:26 <AnMaster> not really
10:53:27 <AnMaster> but
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:53:49 <AnMaster> see those
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
10:54:29 <tusho> And?
10:54:35 <AnMaster> and what?
10:55:28 <puzzlet> and what what?
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:31 <Slereah__> Holy shit
12:56:38 <Slereah__> Guys, help me.
12:56:43 <Slereah__> I solved the halting problem
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:11 <Slereah__> It can wait
13:02:21 <AnMaster> haha
13:02:38 <AnMaster> fermats last theorem or what was it where the margin was too small?
13:03:14 <Slereah__> The very same
13:03:26 <Slereah__> Lazy fuck
13:03:29 <Slereah__> Can't go get a piece of paper.
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:43:48 <AnMaster> what are these maths?
13:45:22 <tusho> Deewiant: yeah, it was probably really trivial
13:45:24 <tusho> and really wrong
13:49:18 -!- lilja has joined.
14:04:06 -!- Corun has joined.
14:07:34 <oklopol> log time
14:07:53 <tusho> oklopol: ?
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:34:09 <oklopol> what game?
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:42:42 <tusho> pikhq: *months*?
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:00 <tusho> Not far off
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:24 <oklopol> oh, that.
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:44 <Deewiant> I didn't
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:54:48 <Deewiant> yep
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:02 <oklopol> i think i've played that
14:56:23 <oklopol> depends on when it came out
14:56:29 <Deewiant> '98
14:56:47 <oklopol> then i most likely have played it
14:56:52 <pikhq> "Doubt it differs much from Wolfenstein"?
14:56:53 <pikhq> WTF?
14:57:05 <oklopol> well you move around and shoot people
14:57:17 <pikhq> Well, yes.
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:57:48 <oklopol> *build
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:41 <Deewiant> not story or realism, I'd say
14:58:44 <Deewiant> more the gameplay
14:58:55 <Deewiant> half-life 2 has the best overall gameplay of all FPSs I've played, I think
14:59:00 <Deewiant> it just rolls along so nicely
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:15 <Deewiant> maybe
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:22 <tusho> hi ais523
15:09:23 <tusho> OH YEAH
15:09:28 <ais523> hi tusho
15:09:38 <ais523> [15:09] [CTCP] Received CTCP-PING reply from ais523: 20 seconds.
15:09:40 <ais523> I think I typed first
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:07 <ais523> ah, of course
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:07 <tusho> I'll check mine.
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:04 <tusho> ais523:
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:17 <tusho> :P
15:13:19 <tusho> ais523: yeah
15:13:26 <tusho> 'cause it does things like linkify people names
15:13:28 <tusho> if I say ais523
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:17 <ais523> which can't be right
15:14:32 <tusho> of course, your clock is wrong
15:14:33 <tusho> :)
15:14:59 <oklopol> ais523: do you have an idea for the graph->eoderm unparsing??
15:15:01 <oklopol> *-?
15:15:05 * pikhq <3 ntpd
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:41 <oklopol> :)
15:15:52 <ais523> tusho: well, your messages are coming pretty instantly at the moment
15:15:55 <ais523> I assume
15:16:00 <tusho> ais523: but you were lagging -then-
15:16:07 <ais523> tusho: yes, I know
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:28 <tusho> well.
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:17:27 <tusho> network lag
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:33 <ais523> so I won by lots
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:18:58 <ais523> so you had no chance
15:19:10 <tusho> ah, yes, probably
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:54 <ais523> quite possibly
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:12 <oklopol> of the best way
15:23:16 <oklopol> dunno, dunno
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:29 <oklopol> hmm, so, err
15:24:40 <oklopol> the graph can never disconnect with the drop protection rule
15:24:42 <oklopol> right?
15:24:48 <ais523> oklopol: I think so
15:25:16 <oklopol> hmm
15:25:22 <oklopol> actually i don't think that's the case
15:25:23 <oklopol> because
15:25:27 <oklopol> err
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:26:41 <oklopol> basically
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:31 <oklopol> now
15:27:42 <oklopol> to actually get rid of that, you have to match it, that's for sure
15:27:55 <ais523> yes
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:29:51 <oklopol> isn't this the reason?
15:29:55 <oklopol> i'll make the IO now
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:30:57 <ais523> ok
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:31:42 <ais523> dsl?
15:31:49 <oklopol> domain specific lang
15:31:57 <ais523> ah
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:32:45 <oklopol> yes, of course
15:32:46 <oklopol> :D
15:33:07 <oklopol> does cyclexa let you use it for other than string data?
15:34:15 <ais523> I hope so, eventually
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:30 <ais523> yes
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:18 <oklopol> which is trivial
15:37:34 <oklopol> but here, you will have to use danglers to differentiate between shit
15:37:36 <oklopol> hmm
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:42:37 <tusho> :D
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:30 <Deewiant> er, what? :-P
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:47 <tusho> and it activates
15:43:49 <Deewiant> ah, you meant that
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:40 <Deewiant> no
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:32 <tusho> :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:05 <Deewiant> not at all?
15:47:12 <tusho> okay.
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:47:32 <tusho> :p
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:10 <oklopol> that's not good
15:49:16 <tusho> that dosen't
15:49:18 <tusho> as far as I can see
15:49:20 <tusho> *doesn't
15:49:26 <Deewiant> do you?
15:49:29 <Deewiant> I don't think so
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:49:50 <oklopol> well yeah, okay.
15:50:12 <Deewiant> why wouldn't exactly that work?
15:50:13 <oklopol> but no you don't handle acceleration
15:50:17 <Deewiant> I'm not seeing it
15:50:42 <oklopol> acceleration can be considered something that never changes smoothly, but is always set to specific value right away
15:50:48 <oklopol> Deewiant: would work
15:50:51 <oklopol> but would not be as fun
15:50:57 <Deewiant> why not :-P
15:51:01 <oklopol> well
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:51:40 <Deewiant> ah, right.
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:16 <tusho> yes
15:53:24 <oklopol> 2d game, there's this elliptical thing, representing you
15:53:28 <oklopol> now
15:53:58 <oklopol> you have two sides, the blue one, and the red one, these are the focal points
15:54:04 <tusho> yes
15:54:05 <oklopol> now
15:54:11 <tusho> then
15:54:15 <oklopol> you have four buttons
15:54:22 <tusho> yes
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:06 <tusho> cool
15:55:17 <tusho> and like
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:56:50 <tusho> to avoid them
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:48 <tusho> youll spin
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:10 <oklopol> oh, no you aren't.
15:58:12 <tusho> oklopol: yeah, i'm just saying
15:58:13 <tusho> my idea is fun
15:58:18 <tusho> funner than yours
15:58:19 <tusho> :P
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:05 <tusho> and WOOSH
15:59:08 <tusho> you start spinning to it
15:59:09 <oklopol> i prefer slow and safe
15:59:14 <tusho> and adjust it just before you reach the end
15:59:16 <tusho> to go upwards
15:59:17 <oklopol> so you need to master the movement
15:59:18 <tusho> :DDDDDD
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
15:59:51 <tusho> but yeah
16:00:00 <tusho> ooh, there could be magnets which act as switches when you hit them
16:00:02 <tusho> and stuff
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:40 <oklopol> switches?
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:04 <tusho> and switches like
16:01:05 <tusho> to open doors
16:01:07 <tusho> and stuff
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:27 <tusho> :p
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:17 <tusho> :|
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:04:08 <tusho> :p
16:04:38 <oklopol> err sure
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:38 <tusho> (====)
16:06:40 <tusho> (
16:06:40 <tusho> =
16:06:40 <tusho> =
16:06:40 <tusho> =
16:06:41 <tusho> )
16:06:42 <tusho> etc
16:06:45 <tusho> over and over
16:06:47 <tusho> in wheels
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:11 <tusho> oklopol: i do
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:27 <tusho> or you'll fall
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:07 <tusho> and etc
16:08:12 <tusho> kind of like jumping through magnets
16:08:17 <oklopol> yes, i get it
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:09:56 <oklopol> so go for it
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:22 <tusho> oklopol: sort of
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:35 <oklopol> yes yes
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:22 <oklopol> in case you've played it
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:14:56 <tusho> no
16:15:12 <tusho> http://www.gamegarage.co.uk/puzzle-games/bounce/
16:15:13 <tusho> this?
16:15:23 <oklopol> no bounca
16:15:26 <oklopol> vjn.fi
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:16:32 <oklopol> pygame
16:16:36 <tusho> ah
16:20:08 * tusho pygame's it up
16:20:18 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
16:20:32 <oklopol> just press space, no other keys
16:22:16 <tusho> just a sec
16:25:28 <AnMaster> eh
16:25:33 <AnMaster> where is bounca?
16:25:49 <AnMaster> oklopol, ?
16:26:13 <tusho> AnMaster: vjn.fi
16:26:15 <tusho> games section
16:26:36 <AnMaster> oklopol, you want larger font on that website
16:26:44 <AnMaster> it is like 3 pt
16:26:48 <AnMaster> unreadable without zooming
16:27:02 -!- Corun has quit ("This computer has gone to sleep").
16:27:07 <tusho> wtf
16:27:09 <tusho> its totally readable
16:27:16 <AnMaster> tusho, not really
16:27:22 <tusho> the font is huge
16:27:27 <AnMaster> 1) light grey text on dark grey
16:27:29 <AnMaster> 2) small
16:27:34 <AnMaster> tusho, want a screenshot then?
16:27:34 <tusho> its not small
16:27:41 <tusho> and it's not that contrsced
16:28:17 <AnMaster> I will upload a screenshot
16:31:57 <AnMaster> tusho, http://omploader.org/vbTUw
16:31:59 <AnMaster> oklopol, ^
16:32:15 <tusho> your fonts are broken :)
16:32:17 <tusho> it's way bigger
16:32:30 <AnMaster> tusho, no see the screenshot
16:32:31 <AnMaster> they aren't
16:32:50 <tusho> yes they are
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:02 <AnMaster> minimum font size: 11
16:34:15 <AnMaster> tusho, how is that broken?
16:34:16 <AnMaster> tell me
16:34:25 -!- Hiato has joined.
16:34:32 <tusho> AnMaster: your browser is broken then.
16:34:37 <AnMaster> tusho, firefox 2.x
16:34:44 <tusho> i don't care
16:34:47 <tusho> i can't help you.
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:35:54 <Deewiant> what's usable
16:35:55 <AnMaster> I follow stable gentoo
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:30 <AnMaster> or whatever they call it
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:08 <pikhq> (Mmm, Conkeror.
16:37:09 <pikhq> )
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:25 <AnMaster> hahaha
16:37:27 <AnMaster> oh well
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:51 <augur> hahaha tusho
16:37:52 <augur> :D
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:08 <ais523> hi AnMaster
16:38:10 <pikhq> Hrm. They did a name change.
16:38:13 <pikhq> Make that GNU Icecat.
16:38:15 <AnMaster> ais523, updated c-intercal?
16:38:21 <ais523> AnMaster: no, not yet
16:38:26 <tusho> pikhq: EARTHFERRET
16:38:28 <ais523> it'll be done by the next release, don't worry
16:38:32 <augur> tushos a girl :D
16:38:36 <tusho> augur: shut up
16:38:38 <ais523> I did pull the latest version of cfunge to test against, though
16:38:47 <augur> aww but its cute!
16:38:49 <ais523> presumably all I need to do is change the fingerprint version and handprint override?
16:38:49 <AnMaster> and it didn't work
16:38:51 -!- olsner has quit.
16:38:57 <AnMaster> ais523, yes and add -lncurses
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:13 <augur> but still
16:39:20 <AnMaster> yes tusho is a girl
16:39:22 <AnMaster> we have proof
16:39:26 <tusho> shut up AnMaster
16:39:29 <tusho> anyway
16:39:30 <tusho> oklopol:
16:39:33 <tusho> hitting space does nothing
16:39:33 <tusho> :q
16:39:34 <AnMaster> ais523, see /msg
16:39:45 <augur> where is oklopol?
16:39:46 <augur> oklopol!
16:39:49 <augur> :O
16:39:54 <Deewiant> a girl? where do you get that
16:40:02 <AnMaster> Deewiant, augur can explain
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:16 <pikhq> 'Whee'.
16:40:17 <tusho> i gave voice evidence
16:40:19 <tusho> 'VOICE FILTER'
16:40:22 <Deewiant> ah, right
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:52 <AnMaster> or maybe 13
16:40:53 <ais523> pikhq: warn on URL redirection?
16:40:54 <AnMaster> but
16:41:03 <Deewiant> youth++
16:41:04 <AnMaster> she also revealed herself as a female
16:41:06 <AnMaster> didn't you tusho?
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:15 <Deewiant> pics or it didn't happen
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:19 <AnMaster> hahah
16:41:41 <AnMaster> pikhq, you mean like tinyurl?
16:41:56 <ais523> AnMaster: no, like Google, where they redirect all the links in the results via themselves
16:42:00 <AnMaster> ah...
16:42:01 <AnMaster> right
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:14 <AnMaster> it removes the click tracking
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:42:57 <AnMaster> and stfu
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:22 <tusho> anyway oklopol
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:11 <Deewiant> time spent finding link? eh?
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:45:44 <Deewiant> aye
16:46:05 <Deewiant> oh, so you think it'll make a difference in your future searches?
16:46:26 <tusho> it does
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:00:55 <augur> oklopollll :D
17:00:56 <tusho> i just bounce up
17:00:57 <tusho> and down
17:00:58 <tusho> and up and down
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:47 <tusho> oklopol: so yeah
17:01:47 <tusho> halp
17:01:49 <tusho> if I put it in edit mode
17:01:50 <tusho> I can make thing
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:01:53 <tusho> but.
17:02:00 <augur> gimme link!
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:23 <augur> gimme link! >_<
17:03:43 <tusho> oklopol: the default level is unusable
17:03:44 <tusho> is what i'm saying
17:04:06 <tusho> brb
17:04:36 <oklopol> why is it unusable?
17:04:44 <oklopol> it's a bit too easy, yes
17:05:18 <augur> oklopol!!!
17:05:19 <oklopol> hmm
17:05:26 <oklopol> actually, seems that may be an old version
17:05:44 <augur> OKLOPOL!@
17:06:47 <augur> >_<!!!
17:06:55 <oklopol> augur
17:06:56 <oklopol> :d
17:06:58 <oklopol> :D
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 <oklopol> err
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:18 <AnMaster> oklopol, what is vjn really?
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:08:53 <oklopol> AnMaster: no one knows
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:18:13 <oklopol> jumps once in between
17:20:12 <oklopol> augur: why would you wanna know my real nme?
17:20:13 <oklopol> *name
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:24:18 <augur> oklopol! pm!!
17:24:30 <augur> or skype
17:24:34 <lilja> :)
17:24:40 <augur> hey :P
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:27:20 <tusho> BACK
17:28:02 <tusho> augur: YES
17:28:03 <tusho> :p
17:28:08 <tusho> capslock
17:28:09 <tusho> sorry
17:28:38 <oklopol> tusho: CHANGE THAT LINE AND IT SHOULD BE PLAYABLE
17:28:43 <tusho> i fucked up the level
17:28:44 <tusho> sorry.
17:29:23 <oklopol> well yeah we have a dl limit on vjn.fi, you can't ever download the original again
17:29:45 <Deewiant> EVER
17:29:51 <oklopol> NEVER EVER
17:30:01 <tusho> :P
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:21 <augur> not completely
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:33 <tusho> it'll be ORGANIC!
17:32:34 <augur> no lol
17:32:38 <tusho> yes lol
17:32:38 <tusho> :<
17:32:42 <tusho> i hate strict regimes! stalin!
17:32:59 <tusho> i'll record this time
17:33:00 <tusho> because i want to
17:33:12 <augur> lol
17:33:25 <augur> maybe we dont even need to just talk about esolangs.
17:33:32 <tusho> augur: well yeah
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:47 <tusho> esoteric
17:33:55 <augur> yeah you're esoteric alright
17:34:02 <tusho> lawl.
17:34:04 <tusho> anyway.
17:34:06 <tusho> i'm ready.
17:34:10 <augur> well im not.
17:34:11 <augur> :P
17:34:15 <tusho> augur: tough
17:34:18 <tusho> :D
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:26 <tusho> :p
17:34:31 <ais523> oklopol: yes
17:34:34 <Sgeo> Ready for what?
17:34:34 <oklopol> also, could you make something that outputs somethign interesting?
17:34:42 <oklopol> *something
17:34:43 <tusho> Sgeo: me, oklopol and augur are doing a podcast
17:34:44 <tusho> about esolangs, and, uh.
17:34:46 <tusho> stuff.
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:34:50 <Sgeo> cool
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:35:35 <augur> no lol
17:35:38 <tusho> :p
17:36:16 <augur> i i just want some topics before we do anything
17:36:22 <tusho> augur: reactance?
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:39 <augur> NOMADS
17:36:45 <tusho> see, it's a hit
17:36:51 <tusho> are we ready now
17:36:51 <tusho> :P
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:17 <tusho> oklopol: do both
17:39:19 <tusho> call
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:28 <tusho> :P
17:39:35 <oklopol> ...
17:39:42 <oklopol> i need to go to the shop now :)
17:39:49 <tusho> well be quick
17:39:50 <tusho> :p
17:40:24 <oklopol> will take a while.
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:37 <oklopol> ais523: how
17:42:41 <oklopol> err
17:42:49 <oklopol> ais523: are you getting anywhere?
17:43:00 <ais523> oklopol: yes
17:43:06 <ais523> but I've only just started
17:43:06 <oklopol> nice
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:15 <oklopol> outputs
17:44:17 <oklopol> moi moi moi
17:44:23 <oklopol> ukkometso is the input
17:44:29 <oklopol> 3 is the amount of rewrites
17:44:48 <oklopol> right, shop.
17:45:15 <tusho> bye
17:45:20 <oklopol> --->
17:48:38 -!- augur has quit ("Leaving...").
17:50:02 -!- augur has joined.
17:50:17 <augur> x.x
17:50:35 <augur> holy mother of god installing pygame is taking forever
17:53:46 <tusho> augur: u hayt me
17:53:58 <augur> I HAYT YOU
17:54:06 <Deewiant> I DUNCAN IDAHO YOU
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:16 <tusho> and?
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:13 <lament> it's immoral!
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:26:33 <tusho> :O
18:30:50 <Deewiant> oh noes :-O
18:31:30 <oklopol> ais523: nice
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:20 <ais523> what do you think/
18:32:24 <ais523> s/\//$/
18:32:25 <oklopol> basically, you start with a boolean array for each connection
18:32:28 <oklopol> hmm
18:32:42 <oklopol> ah
18:32:52 <Deewiant> ais523: "think$"? :-)
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:19 <Deewiant> ais523: syntax error :-)
18:33:20 <oklopol> go for it
18:33:24 <Deewiant> s:/:?:
18:33:34 <Deewiant> or, if you must, s/\//?/
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:33:52 <Deewiant> oh, right
18:34:06 <Deewiant> I always misread /\ :-P
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:01 <ais523> ok, fixed on the wiki
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:33 <oklopol> but deterministically
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:07 <ais523> heh
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:15 <oklopol> *not exactly
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:43:50 * CakeProphet yawns.
18:43:53 <CakeProphet> oh god
18:43:55 <CakeProphet> I am tired.
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:28 <AnMaster> oklopol, there?
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:30:32 <AnMaster> hrrm
19:30:35 <AnMaster> oklopol, and gopher!
19:30:39 <AnMaster> I WANT GOPHER!
19:32:42 <oklopol> :)
19:41:09 -!- Hiato has joined.
19:44:46 <oklopol> hi Hiato
19:44:57 <Hiato> Hello oklopol
19:48:40 <tusho> AnMaster: here's how you do it
19:48:48 <AnMaster> hm?
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:49:05 <tusho> :D
19:49:28 <AnMaster> ...
19:50:13 <oklopol> :D
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:01:19 <Hiato> /summon oklopol
20:10:23 -!- augur has quit (Read error: 110 (Connection timed out)).
20:11:41 <tusho> oklopol: o
20:18:32 <oklopol> o
20:18:58 <tusho> oklopol: what game should I make
20:19:30 <pikhq> Doom.
20:20:54 <Deewiant> been made a couple dozen times over
20:22:02 <pikhq> IN BRAINFUCK.
20:22:04 <pikhq> :p
20:25:22 <tusho> pikhq: I was thinking kinda simpler.
20:25:23 <tusho> :P
20:26:45 -!- Hiato has quit ("Leaving.").
20:50:12 <CakeProphet> rofl
20:50:17 <CakeProphet> ...brainfuck with a GUI extension
20:50:20 <CakeProphet> would be epic.
20:50:32 <tusho> CakeProphet: no
20:50:34 <tusho> it wouldn't
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:38 <CakeProphet> I've never actually looked at PSOX
20:52:45 <pikhq> CakeProphet: That would be Def-BF. . .
20:53:01 <CakeProphet> right
20:53:02 <pikhq> Which is taking me so long to bother writing, it's almost as vaporware-esque as PSOX. :p
20:53:03 <CakeProphet> but
20:53:06 <CakeProphet> I don't remember how it worked.
20:53:07 <tusho> Def-BF isn't really that interseting.
20:53:08 <tusho> imo
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:21 <CakeProphet> I would personally love
20:57:34 <CakeProphet> to have something that allowed BF to be used to make like... a big application.
20:57:43 <CakeProphet> and would work on it too
20:59:41 <CakeProphet> ....the only way I could see BF being used to program an entire game... or a server... etc.
20:59:52 <CakeProphet> would be through IPC
20:59:55 <CakeProphet> of a bunch of brainfuck programs.
21:00:10 <pikhq> Or C2BF? :p
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:02:43 <CakeProphet> you actually could make big apps with it.
21:03:10 <CakeProphet> big, insanely concurrent, apps.
21:03:31 <CakeProphet> er... *interpreter
21:03:34 <CakeProphet> not operator. weird typos for the lose
21:04:03 <CakeProphet> "v-<
21:04:04 <CakeProphet> .ᛥ'
21:04:06 <CakeProphet> >-^
21:04:07 <CakeProphet> that really is
21:04:12 <CakeProphet> the most visually awesome cat program ever.
21:06:05 <Deewiant> v <v <
21:06:06 <Deewiant> # C
21:06:06 <Deewiant> @CAT,
21:06:06 <Deewiant> ~ T
21:06:06 <Deewiant> > ^
21:06:22 <CakeProphet> ...what is that.
21:06:23 <Deewiant> hmm, that paste didn't quite succeed O_o
21:06:27 <CakeProphet> .....no
21:06:29 <Deewiant> cat in befunge
21:06:29 <CakeProphet> rofl
21:06:35 <CakeProphet> ah
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:07:13 <CakeProphet> one for each byte
21:07:27 <Deewiant> :-P
21:07:30 <CakeProphet> and it's supposed to have
21:07:45 <CakeProphet> file, IPC, internet, etc
21:07:50 <CakeProphet> lots of IO support.
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:15 <CakeProphet> hmmm....
21:10:21 <CakeProphet> using OS threads would be supremely messy
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:10:41 <CakeProphet> thing
21:10:55 <CakeProphet> so I'll just make them pseudo-threads.
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:12:51 <CakeProphet> rofl... yes.
21:13:19 <CakeProphet> Hello, World would spawn... -counts- 14 threads.
21:13:30 <CakeProphet> 15 if you include a newline.
21:16:13 <oklopol> this sounds awesome
21:16:14 <oklopol> is it?
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:29:15 <tusho> this is bugSfoia
21:29:16 <tusho> *Sofia
21:39:04 <CakeProphet> http://esolangs.org/wiki/BugSophia
21:39:13 <CakeProphet> this has existed for severral years now at least.
21:39:16 <CakeProphet> just no interpreter.
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:39:29 <CakeProphet> I'll probably just rewrite it.
21:40:10 <CakeProphet> ...it might be awesome... but it's probably nothing as conceptually awesome as the negative lists thing.
21:40:36 <AnMaster> tusho, there?
21:40:42 <tusho> yes what
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:15 <AnMaster> I agree with the last 2 lines
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:09 <AnMaster> sister
21:46:12 <AnMaster> not brother
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:05 * AnMaster have saved the videos :P
21:47:18 <AnMaster> to show you later I guess
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.
21:59:33 <CakeProphet> I should get some hosting.
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:09:17 <CakeProphet> brb making interpreter
22:10:51 -!- pikhq has joined.
22:10:58 <CakeProphet> pikhq: word
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:13:54 <CakeProphet> :o
22:14:02 <CakeProphet> fascinating.
22:18:24 <CakeProphet> ....damnit
22:18:28 <CakeProphet> I can't find my notebook.
22:19:49 <CakeProphet> I'm pretty sure it was just like...
22:20:36 <Deewiant> trains are cool
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:23:13 <CakeProphet> and some other nonsense
22:23:16 <CakeProphet> I don't recall.
22:25:01 <CakeProphet> then you've got - | > < v ^
22:25:06 <CakeProphet> and +
22:25:13 <CakeProphet> for direction/thread-splitting.
22:25:21 <CakeProphet> so
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:26:58 <CakeProphet> +except
22:28:35 <CakeProphet> ...meh
22:30:32 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
22:31:43 <CakeProphet> anyways... -programs-
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:17 <oklopol> (truncated lytics)
23:28:32 <oklopol> anyway CakeProphet: spec it!
23:30:35 -!- pikhq has quit (Read error: 113 (No route to host)).
23:35:41 <CakeProphet> oklopol: ...
23:35:52 <CakeProphet> I'd like to find my old notebook
23:35:56 <CakeProphet> but if I can't
23:36:03 <CakeProphet> I'll just redefine all the instructions.
23:40:10 -!- augur has joined.
23:48:43 -!- pikhq has joined.
2008-07-19
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:44:21 <augur> ironic
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:23 <augur> :D
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:27 <augur> how poignant
00:53:29 <tusho> i checked
00:53:30 <tusho> it doesn't exist
00:53:41 <tusho> how do you make a usenet group again
00:53:42 <tusho> <.<
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:06 <augur> oh i see
00:54:09 <augur> 4 feb 03
00:54:10 <augur> shame
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:07 <oklopol> oooooooo
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:48 <augur> ??
00:55:56 <oerjan> (it used to the Infinite Featureless Plane of Death, but then the Mythbusters got onto it)
00:56:09 <oerjan> *to be
00:56:33 <oklopol> HI EVERYBODY
00:56:56 <oerjan> (er, i guess i'm spoiling a lot here)
00:57:27 <oerjan> HI OKLOBEING
00:58:23 <oerjan> the alt hierarchy was always less distributed (when i read newsgroups)
00:58:40 <oerjan> and more noisy
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:19 <augur> well
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:29 <augur> *cough*
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:34:59 <lilja> waffles!
01:35:07 <lilja> hrrr!
01:35:10 <oerjan> :(
01:35:15 * oerjan has no waffles
01:35:37 <oklopol> cool waffles
01:35:42 <oklopol> so cool
01:35:49 <lilja> nope
01:35:53 <lilja> hot waffles
01:35:59 <oklopol> warm and cuddle
01:36:01 <oklopol> *cuddly
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:19 <oklopol> god i envy you
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:40:45 <oerjan> T RUIN IT!
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:37 <augur> paper huh
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:49:58 <oerjan> <-- coffee
01:50:31 <oerjan> (not --> coffee as i already got it :) )
01:53:58 -!- Judofyr has quit.
01:57:22 <oklopol> hey i want coffee too
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:00:01 <oerjan> ah
02:00:21 <adu> :) :(
02:00:35 <adu> :/
02:00:42 <oerjan> :X
02:00:44 <adu> >:->
02:00:50 <adu> :P
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:05 <oerjan> not even :X ?
02:03:14 <adu> maybe :exit
02:03:22 * oerjan brings up vim
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:03:54 <oerjan> :X is encryption
02:03:58 <adu> o heh
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:54 <adu> o wow
02:04:59 -!- GreaseMonkey has joined.
02:05:04 <adu> hi GreaseMonkey
02:05:28 <adu> i want to implement fancy keybindings
02:05:34 <GreaseMonkey> 'lo
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:32 <adu> no
02:07:46 <adu> :P is "Put the text before the cursor [count] times
02:07:50 <adu> "
02:08:03 <oerjan> no, that's P. :P is different
02:08:16 <adu> o hehe
02:08:25 <adu> i need to learn how to use vim :help :p
02:08:40 <oklopol> :H
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:57 <oerjan> :help :h is different
02:09:59 <adu> hows the lang going?
02:10:03 <oerjan> (== :help)
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:11:55 <oklopol> adu: which lang?
02:11:56 <oklopol> :)
02:12:50 <oklopol> i do vaguely recall our talk, but not what the language was
02:14:42 <adu> oklang?
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:11 <adu> oklopol?
02:18:36 <oerjan> inquiring minds want to know, and will soon start blowing things up if not
02:18:53 <adu> well
02:19:10 * oerjan does recall oklotalk
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:19:59 <adu> lol
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:02 <oklopol> :)
02:23:08 <oklopol> i've only made oklotalk-- in fact
02:23:15 <adu> ic
02:23:18 <adu> even better!
02:23:32 <oklopol> http://www.vjn.fi/oklopol/oklotalk--.txt
02:23:36 <oklopol> not really :P
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:24:58 <oklopol> yes, something like that
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:22 <adu> Funge.NET
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:25:47 <oklopol> well yes i know that much
02:25:50 <adu> lol
02:25:55 <oerjan> o_O
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:15 <CakeProphet> (bugSophia here)
02:26:19 <CakeProphet> and... to make that sane
02:26:23 <oklopol> CakeProphet: yes, i know
02:26:37 <oklopol> so operators are fully symmetric on parameters?
02:26:38 <oklopol> err
02:26:39 <oklopol> i mean
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:10 <oklopol> CakeProphet: alright
02:27:22 <oklopol> but, err
02:27:32 <oklopol> all operators can take their operands in any order?
02:27:41 <CakeProphet> ...if they can't, I'm boned.
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:19 <oklopol> err
02:28:25 <CakeProphet> oklopol: /if/ I allow negatives
02:28:28 <oklopol> - A B = + A (- B)
02:28:31 <CakeProphet> but current state is represented in bites
02:28:34 <CakeProphet> *bytes
02:28:36 <CakeProphet> which
02:28:37 <CakeProphet> are not negative.
02:28:50 <oerjan> bites would be more in keeping with the bug theme :D
02:28:55 <CakeProphet> ...not to my knowledge.
02:28:56 <oklopol> :)
02:29:06 <adu> lolol
02:29:14 <oklopol> CakeProphet: "byte" does not say anything about semantics really
02:29:24 <oklopol> you know 2's complement?
02:29:36 <CakeProphet> aye
02:29:45 <oerjan> 2's company
02:30:07 <CakeProphet> but I don't really feel like treating bytes as short integers for the purposes of having negatives.
02:30:11 <CakeProphet> I could just define them as "numbers"
02:30:24 <oklopol> well no need for negatives
02:30:28 <CakeProphet> in this implementation, Python integers.
02:30:40 <oklopol> ya
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:21 <CakeProphet> that will be had
02:31:36 <CakeProphet> I was thinking flow control could be implemented in the halting rules.
02:31:39 <CakeProphet> so, for example.
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:23 <adu> ya
02:32:25 <oklopol> *-is
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:21 <oklopol> no need for bignums
02:33:27 <oklopol> fs is infinite
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:00 <CakeProphet> -a
02:34:04 <CakeProphet> and then
02:34:07 <adu> oklopol: fs?
02:34:12 <oklopol> fungespace
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:44 <oklopol> well i assume a fixnum
02:34:48 <adu> 16bit? 32bit? 64bit? which one? why? why not the others?
02:34:53 <oklopol> err
02:34:57 <oklopol> 32 perhaps
02:35:03 <adu> why not 64?
02:35:22 <CakeProphet> why not 256-bit?
02:35:24 <oklopol> i've never seen any need for anything other than bignum anywhere
02:35:27 <adu> CakeProphet: ya!
02:35:28 <oklopol> so don't ask me
02:35:30 <oklopol> i didn't make it
02:35:44 <oklopol> i believe in the 0/1/infinity rule
02:35:48 <adu> oklopol: you mean fixnum
02:36:04 <oklopol> what?
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:25 <adu> a ok
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:19 <CakeProphet> then.
02:38:37 <CakeProphet> (oh... and ) is increment, and ( is decrement)
02:38:45 <adu> :)
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:40:32 <CakeProphet> v))<">))v
02:40:34 <CakeProphet> | |
02:40:36 <CakeProphet> >~e~<
02:40:38 <CakeProphet> ...
02:40:40 <CakeProphet> it would help
02:40:45 <CakeProphet> if this was fixed width
02:41:03 <CakeProphet> I shall pastebin it somewhere.
02:41:11 <adu> lol you implemented bf in cise? lol
02:41:41 <oklopol> yes, assuming that's correct
02:41:48 <CakeProphet> ...it's not
02:41:54 <CakeProphet> I hit enter too soon
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:00 <oklopol> basically
02:45:09 <adu> ic
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:20 <oklopol> no
02:45:30 <adu> it also takes in interesting approach to side effects
02:45:43 <CakeProphet> http://pastebin.ca/1076165
02:45:50 <CakeProphet> comments are like brainfuck comments.
02:45:52 <adu> you know how in Haskell, print :: a -> IO ()
02:46:04 <oklopol> yeah
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:46:52 <oklopol> hmm
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:48:58 <oklopol> arrows?
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:50:32 <oklopol> ah
02:50:32 <adu> ok
02:50:32 <oklopol> i see
02:50:38 <oklopol> but bye
02:50:43 <adu> l8r
02:53:01 <CakeProphet> ...perhaps I should have wormholes.
02:53:20 <CakeProphet> so that all the little - | > < wires don't get cluttered.
02:53:23 <oerjan> also, time travel
02:53:29 <CakeProphet> on it.
02:54:11 <CakeProphet> oklopol currently wins at interestingness. ;_;
02:54:14 <CakeProphet> the negative lists thing is epic.
02:55:34 <CakeProphet> I think I'll also a ; operator.... which is "write to a stream and then blocking-read"
02:55:51 <CakeProphet> so you can basically have
02:55:53 <CakeProphet> functions
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:37 <CakeProphet> I might be able to explain it....
02:56:40 <oklopol> augur: see logs, it took a while to explain :P
02:56:46 <oklopol> that's another possibility
02:56:47 <CakeProphet> but I am not too confident
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:57:16 <CakeProphet> that is pure sex.
02:57:23 <oklopol> CakeProphet: you?
02:57:28 <CakeProphet> mhm
02:57:34 <oklopol> god you've grown
02:57:51 <CakeProphet> rofl
02:57:52 <augur> no sorry
02:57:54 <augur> oklopol is hotter
02:57:55 <CakeProphet> it's been like... 2 years?
02:57:57 <augur> you have no lips
02:58:03 <augur> if you had lips you might be as sexy as oklopol
02:58:05 <augur> but you're not
02:58:15 <augur> i like your hair tho
02:58:20 <augur> also: shave dude.
02:58:30 <CakeProphet> TOO
02:58:32 <CakeProphet> LAZY
02:58:38 <oklopol> i don't shave either
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:29 <CakeProphet> I bet we both have very slavic noses.
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:00:25 <CakeProphet> I actually document it
03:02:42 <augur> oklopol!!!
03:02:45 <augur> pictures!
03:05:08 <oklopol> !!!!!!!!
03:05:34 <oklopol> augur: perhaps some day
03:08:14 <augur> *today
03:15:17 <CakeProphet> I believe I had @ as the thread terminator
03:15:18 <CakeProphet> as
03:15:21 <CakeProphet> it looks like a big hole
03:15:27 <CakeProphet> that they would fall in or something.
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:36 <CakeProphet> oh
03:19:38 <CakeProphet> hmmm
03:19:43 <CakeProphet> but you can't determine when they terminate
03:19:47 <CakeProphet> which is
03:19:49 <CakeProphet> what actual halting is.
03:19:51 <CakeProphet> ...
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:32:00 <CakeProphet> ...lol
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:13 <oerjan> 's negative.
03:33:17 -!- augur_ has changed nick to augur.
03:33:20 <CakeProphet> no
03:33:21 <oerjan> -3. darn apostrophe again
03:33:22 <CakeProphet> I was loling at
03:33:24 <CakeProphet> how long that will take to explain
03:33:46 <adu> noob? no no I'm a boon
03:33:47 -!- augur has changed nick to Guest802.
03:33:54 <Guest802> >O
03:33:55 -!- Guest802 has changed nick to augur_.
03:34:01 <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:28 <psygnisfive> that makes no sense.
03:36:31 <CakeProphet> I enjoy writing Python code that only has like... 2 or 3 conditionals.
03:37:03 <CakeProphet> adu, nope
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:18 <CakeProphet> adu, I could explain if you like.
03:37:20 <adu> what are they?
03:37:26 <adu> CakeProphet: ok :)
03:37:30 <CakeProphet> so
03:37:42 <CakeProphet> if () is a list with a depth of 1
03:37:47 <CakeProphet> and (()) is a list with a depth of 2
03:37:53 <CakeProphet> ... then
03:38:00 <CakeProphet> <> will be a list with a depth of -1
03:38:05 <CakeProphet> and <<>> will be a list with a depth of -2
03:38:08 <CakeProphet> for our purposes
03:38:09 <psygnisfive> i dont know von neuman numerals
03:38:15 <adu> oooooooooooo
03:38:19 <CakeProphet> notation = helpful
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:51 <adu> o
03:38:52 <adu> n/m
03:38:58 <CakeProphet> it would be nice though
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:27 <CakeProphet> http://esolangs.org/wiki/Thue
03:40:35 <CakeProphet> it just helps to have a solid foundation on tree rewriting
03:40:36 <adu> ah
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:33 <CakeProphet> oh... alright.
03:41:35 <CakeProphet> so like
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:42:35 <CakeProphet> for example.
03:42:48 <CakeProphet> ...actually
03:42:56 <CakeProphet> we'll use ()'s instead
03:43:00 <CakeProphet> to fit with our above notation.
03:43:01 <adu> (every(thing (in (lisp (uses (parent))))))
03:43:21 <adu> ok
03:43:31 <CakeProphet> so if you have the rule (A (B C) => (B (C A))
03:43:47 <CakeProphet> (add a ")" there)
03:43:53 <adu> ok
03:43:58 <psygnisfive> no, YOU add a ")" there!
03:44:12 <CakeProphet> and an initial state of... ((1 (2 3)) (3 (2 1))
03:44:14 <CakeProphet> )
03:44:52 <CakeProphet> after on step you'll get ((2 (1 3)) (2 (3 1)))
03:44:54 <CakeProphet> *one
03:44:58 <CakeProphet> ...alright... so yeah
03:45:00 <CakeProphet> you get that.
03:45:06 <adu> right
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:45:44 <CakeProphet> well
03:45:48 <CakeProphet> on top of all of that
03:45:56 <adu> right
03:46:00 <CakeProphet> we now have negative lists...
03:46:01 <CakeProphet> which
03:46:20 <CakeProphet> basically evaluate into positive lists... as I'll explain in a second.
03:46:48 <CakeProphet> alright... so if you <1 2 3>
03:46:50 <CakeProphet> +have
03:47:18 <psygnisfive> im going to check that production.
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:49:14 <CakeProphet> so for example.
03:49:49 <CakeProphet> (== (+ <1 2 3>)) would rewrite to
03:50:13 <CakeProphet> erm... bad example.
03:50:38 <CakeProphet> -thinks-
03:51:04 <CakeProphet> (== (+ <(2 2) (3 3) (4 4)>))
03:51:07 <CakeProphet> would rewrite to
03:51:41 <CakeProphet> (== (+ (2 2)) (+ (3 3)) (+ (4 4)))
03:51:57 <CakeProphet> which would then rewrite to
03:52:06 <CakeProphet> (== 4 6 8)
03:52:10 <adu> thats just a map
03:52:12 <CakeProphet> which would then rewrite to being patently FALSE.
03:52:15 <CakeProphet> ....righto.
03:52:27 <adu> so its like a list that is implicitly mapped over
03:52:33 <CakeProphet> ...yes.
03:52:36 <adu> ok
03:52:40 <CakeProphet> it took me much longer to explain
03:52:42 <CakeProphet> BUT
03:52:45 <CakeProphet> they do more than that.
03:52:52 <CakeProphet> I just explained that first
03:52:54 <CakeProphet> because its simple.
03:53:01 <adu> ok
03:53:13 <CakeProphet> what happens when you have two negative lists...
03:53:20 <CakeProphet> in the same list.
03:53:23 <CakeProphet> like such
03:53:25 <adu> its like map . map
03:53:38 <CakeProphet> yeah... it maps all the possible pairs more or less
03:53:48 <psygnisfive> that production from earlier doesnt work.
03:53:57 <adu> so more like the Haskell list monad
03:54:06 <CakeProphet> ...not familiar with Haskell
03:54:13 <adu> its da bomb
03:54:39 <psygnisfive> cakeprophet: that production from earlier doesnt work.
03:54:44 <CakeProphet> ( (== (+ <1 2 3> <1 4 5>) )
03:54:47 <CakeProphet> psygnisfive: which
03:54:53 <CakeProphet> actually...
03:54:54 <oklopol> haskell's list monad is very similar, yes.
03:55:01 <psygnisfive> the ((1 (2 3)) (3 (2 1)))
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:55:43 <oklopol> :P
03:55:48 <CakeProphet> ...
03:56:02 <CakeProphet> I LIKE IT.
03:56:13 <psygnisfive> the production doesnt work, cake prophet.
03:56:15 <CakeProphet> but I am a still-toying-with-C-like-languages fag.
03:56:20 <CakeProphet> psygnisfive: I heard you.
03:56:28 <CakeProphet> and why not?
03:56:43 <oklopol> adu: nubBy?
03:56:58 <CakeProphet> adu: totally can't read that.
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:29 <CakeProphet> ...no
03:57:39 <CakeProphet> (A (B C) => (B (C A)
03:57:42 <CakeProphet> would not produce that.
03:57:49 <oklopol> adu: that doesn't by any chance calculate primes?
03:57:58 <adu> oklopol: yes it does
03:57:59 <psygnisfive> yes it would.
03:58:07 <oklopol> that's quite nice
03:58:13 <adu> :) its a classic
03:58:30 <psygnisfive> A = (1 (2 3)) b = 2, c = (2 1)
03:58:53 <oklopol> weird i never thought of doing it like that
03:59:07 <CakeProphet> not in ((1(2 3)) (3(21))
03:59:12 <psygnisfive> yes it does.
03:59:20 <CakeProphet> does anyone else agree?
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)))
03:59:58 <CakeProphet> yes
04:00:00 <CakeProphet> except that's not how they map
04:00:05 <psygnisfive> except it is.
04:00:11 <CakeProphet> k
04:00:23 <psygnisfive> i mean, how isnt it?
04:00:35 <CakeProphet> </conversation>
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:19 <psygnisfive> sorry, B with 3
04:01:19 <psygnisfive> :P
04:01:28 <psygnisfive> i keep making typos.
04:01:34 <psygnisfive> you get the point :P
04:01:48 <oklopol> i did, and it was clearly a typo
04:01:59 <oklopol> but it was still wrong
04:02:00 <oklopol> !
04:02:03 <CakeProphet> ...oh lawl
04:02:13 <CakeProphet> I see.
04:02:13 <psygnisfive> :p
04:02:13 <psygnisfive> i love you oklopol :D
04:02:18 <oklopol> you should
04:02:21 <oklopol> now
04:02:25 <psygnisfive> but the point is, as you stated it, cakeprophet, the production was wrong.
04:02:27 <oklopol> i'm gonna sleep
04:02:32 <oklopol> ->
04:02:43 <psygnisfive> ::kisscheek:: night oklo.
04:02:50 <CakeProphet> psygnisfive: correct. but it still remains to be proven if I care.
04:02:55 <CakeProphet> night.
04:03:09 <psygnisfive> well you clearly care since you were using it as the basis of your example :P
04:03:18 <CakeProphet> I was using to demonstrate tree rewriting
04:03:21 <CakeProphet> in case
04:03:24 <CakeProphet> it wasn't understood
04:03:31 <psygnisfive> and it was an incorrect demonstration.
04:03:31 <CakeProphet> but yeah
04:03:36 <CakeProphet> it would help to be accurate
04:03:41 <CakeProphet> but it was mainly to describe it.
04:03:43 <CakeProphet> in any case.
04:03:45 <CakeProphet> this conversation sucks.
04:04:00 <psygnisfive> so lets assume, A, B, C <- Atoms
04:04:02 <oerjan> it would help to be a curate
04:04:06 <psygnisfive> then yes your example is fine.
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:29 <psygnisfive> its not pedanticness.
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:39 <adu> lol
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:13 <adu> hi pikhq
04:07:15 <pikhq> Something of ours hit Digg or something again?
04:07:23 <adu> no, I'm just bored
04:07:27 <psygnisfive> who's new?
04:07:32 <adu> I'm old
04:07:38 <psygnisfive> you sound like a noob.
04:07:42 <adu> I've been here 5 times in the past year
04:07:51 <psygnisfive> you're a noob.
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:18 <pikhq> Hrm.
04:09:20 <adu> pikhq: so what's up
04:09:29 <psygnisfive> youre still a noob :D
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:06 <psygnisfive> lmfao
04:10:16 <psygnisfive> noob.
04:10:20 <adu> boon.
04:10:30 <psygnisfive> and definitely not modest either.
04:10:40 <pikhq> Well, *I'm* no noob.
04:10:51 * CakeProphet is a oldbie noob.
04:10:51 <adu> hi pikhq, can I help you today?
04:11:07 <psygnisfive> adu are you crying for attention?
04:11:08 <pikhq> I wrote PEBBLE before you were born (you young wippersnappers)! :p
04:11:21 <adu> lol
04:11:28 <psygnisfive> get off my lawn!
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:29 <CakeProphet> like all my other programs.
04:12:39 <oerjan> i should sincerely hope it is bugged
04:13:01 <psygnisfive> bugged?
04:13:06 <psygnisfive> are the soviets listening in
04:13:07 <psygnisfive> ?
04:13:08 <adu> CakeProphet: is there a reason you use dict() instead of {}?
04:13:21 <CakeProphet> other than personal preference, no.
04:13:30 <CakeProphet> same thing semantically.
04:13:34 <oerjan> no, the north koreans and the zimbabweans
04:13:56 <oerjan> also, cthulhu
04:14:08 <psygnisfive> damn north koreans
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:15:16 <CakeProphet> oh yeah... definetely bugged.
04:15:21 <CakeProphet> I didn't even do grids = []
04:15:24 <CakeProphet> somewhere at the top
04:15:55 <psygnisfive> lisp is sexier.
04:15:58 <psygnisfive> so uniform..
04:16:00 <psygnisfive> its beautiful T_T
04:16:17 <CakeProphet> I think Perl is pretty beautiful
04:16:23 <CakeProphet> for the exact opposite reason.
04:16:26 <CakeProphet> but so is Lisp
04:16:32 <psygnisfive> also, i use textmate which autobalances parens :D
04:16:35 <adu> I think Io is beautiful
04:16:52 <CakeProphet> ........oh yeah
04:16:56 <CakeProphet> I've never used it
04:16:58 <CakeProphet> but it looks really clean
04:17:01 <psygnisfive> io huh
04:17:17 <oerjan> Io sono bello
04:17:28 <CakeProphet> http://www.iolanguage.com/
04:17:33 <adu> I mean seeing "clone" instead of "new" or "class" just seems right...
04:17:41 <psygnisfive> it looks terribly eh.
04:17:54 <psygnisfive> adu: you'd like Self then.
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:49 <CakeProphet> by default.
04:18:50 <psygnisfive> also, im never sure how copying works in prototype based languages.
04:18:58 <psygnisfive> atleast when it comes to object graphw
04:18:59 <psygnisfive> s
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:13 <CakeProphet> I think its context sensitive
04:20:20 <CakeProphet> ...for io anyways
04:20:33 <CakeProphet> it would be a waste of memory to actually make copies of each function
04:20:40 <CakeProphet> a reference would be enough
04:21:28 <CakeProphet> but I think io actually makes clones of everything else.
04:21:34 <CakeProphet> so its a deep copy
04:21:42 <adu> psygnisfive: what's your favorite systems language?
04:21:51 <psygnisfive> "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:22:40 <psygnisfive> who cares that an OS was made in it?
04:22:48 <adu> me
04:22:52 <CakeProphet> io is very nice...
04:23:02 <CakeProphet> control flow statements
04:23:04 <CakeProphet> and functions
04:23:06 <CakeProphet> are the same
04:23:09 <CakeProphet> which is very clean to me.
04:23:37 <CakeProphet> and it uses smalltalk message-pasing syntax, which always looked nice to me.
04:23:40 <CakeProphet> it lacks a lot of punctuation.
04:23:43 <psygnisfive> adu: thats a silly requirement.
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:08 <adu> yes
04:24:08 <CakeProphet> ...I find Python the easiest used.
04:24:10 <CakeProphet> but
04:24:15 <CakeProphet> that's because it was my first
04:24:15 <CakeProphet> and I am most comfortable with it.
04:24:21 <psygnisfive> i like ruby.
04:24:26 <adu> nice
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:24:48 <CakeProphet> adu, also Python.
04:24:56 <CakeProphet> Perl is next.
04:24:57 <psygnisfive> ruby syntax is.. very simple. o_O
04:25:02 <adu> python for obfuscation?
04:25:11 <psygnisfive> lets see
04:25:14 <CakeProphet> psygnisfive: it always reads weird to me... like "list.each do"
04:25:18 <CakeProphet> it's not conceptually difficult
04:25:21 <psygnisfive> why??
04:25:21 -!- oerjan has quit ("And your little dog too!").
04:25:22 <CakeProphet> it just sounds weird in my head. ;)
04:25:28 <psygnisfive> the each method takes a block argument
04:25:32 <adu> psygnisfive: I would say Python syntax is simple, Ruby syntax is versitle
04:25:38 <psygnisfive> its not list.each do
04:25:45 <psygnisfive> its list.each(do...end)
04:25:52 <CakeProphet> psygnisfive: not arguing with you there.
04:25:54 <CakeProphet> right
04:26:00 <psygnisfive> since parens are optional, each do...end
04:26:01 <CakeProphet> you don't actually need the parens there.
04:26:03 <adu> psygnisfive: what's your favorite compiled language?
04:26:04 <CakeProphet> yeah
04:26:05 <psygnisfive> is completely sensible.
04:26:11 <CakeProphet> ...it is, sematically.
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:30 <psygnisfive> compiled: well, lisp.
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:26:50 <CakeProphet> I'm used to Python
04:26:54 <CakeProphet> where everything reads nicely.
04:27:01 <psygnisfive> adu: ok?
04:27:03 <psygnisfive> and?
04:27:11 <psygnisfive> cakeprophet: ruby reads nicely too :P
04:27:24 <CakeProphet> -shrug- personal preference.
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:03 <psygnisfive> hakell is nice too yeah
04:28:06 <psygnisfive> but up to a point.
04:28:08 * adu <3 Haskell
04:28:12 <CakeProphet> ....that, however, I will disagree with.
04:28:14 <psygnisfive> its too academic for me, too confusing
04:28:24 <CakeProphet> using the list.each do ... end example again.
04:28:43 <CakeProphet> explain how it reads like English.
04:28:53 <psygnisfive> well, if each were a function it'd be even more like english, yes i agree
04:28:58 <psygnisfive> each list do ... end
04:29:17 <psygnisfive> but its a method. so in that regard it has quantifier ordering reversed.
04:29:18 <CakeProphet> ...that would be odd.
04:29:25 <psygnisfive> why would that be odd?
04:29:30 <CakeProphet> it would read more like English, yes.
04:29:30 <psygnisfive> for each item in list, do ...
04:29:36 <CakeProphet> but the English that it reads like
04:29:40 <CakeProphet> would cease matching its semantics
04:29:54 <psygnisfive> how so?
04:30:08 <CakeProphet> because "each x" would suggest there are mulltiple x's being looped over.
04:30:11 <CakeProphet> when it is the thing
04:30:17 <CakeProphet> that the things come from
04:30:19 <adu> with (list) for (each) item in it, (do ... end)
04:30:24 <psygnisfive> uh.. no it wouldnt.
04:30:39 <psygnisfive> for each integer, double it.
04:30:43 <CakeProphet> I think it would make more since if it were a function like each(|dog|, pound, do ... end)
04:30:44 <psygnisfive> integer.each double
04:30:45 <CakeProphet> but then
04:30:47 <CakeProphet> I would stop liking Ruby.
04:31:21 <psygnisfive> integer is a collection
04:31:21 <psygnisfive> in english
04:31:21 <psygnisfive> thats how it works in english
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:22 <CakeProphet> I persoanlly like the {'s better
04:31:24 <psygnisfive> sets, if you will.
04:31:27 <CakeProphet> instead of do...end
04:31:33 <CakeProphet> for blah.each
04:31:36 <psygnisfive> thats an irrelevant choice. :P
04:31:44 <CakeProphet> because then the variable name is next to the each... and it makes more sense Englishly.
04:31:54 <CakeProphet> list.each {|item| ....}
04:31:58 <CakeProphet> or however the syntax is.
04:32:03 <psygnisfive> that is correct.
04:32:23 <adu> Englishly
04:32:26 <psygnisfive> it doesnt make it more englishy
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:32:51 <psygnisfive> for each integer do something to it
04:33:02 <CakeProphet> but indentation makes it weird to objectify blocks
04:33:03 <psygnisfive> that does not have the variable name
04:33:06 <psygnisfive> ofcourse you're right if you had
04:33:15 <CakeProphet> which is one of the "benefits" (advantages... or whatever) of Ruby.
04:33:17 <psygnisfive> for each n in integers, do ...
04:33:36 <CakeProphet> yeah
04:33:39 <CakeProphet> that's pretty much
04:33:47 <CakeProphet> the best English-reading syntax you could do.
04:33:49 <CakeProphet> but
04:33:51 <CakeProphet> it's not very terse.
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:00 <CakeProphet> adu, noep
04:34:13 <psygnisfive> but noone would say that
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:39 <psygnisfive> ive done formal semantics of japanese :D
04:34:39 <adu> token
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:49 <psygnisfive> perapera to shiranai no
04:35:50 <adu> CakeProphet: its impossible without a dictionary, because there are no spaces
04:35:56 <CakeProphet> I like Ruby's semantics.
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:34 <CakeProphet> really in normal conversation
04:36:38 <CakeProphet> you'd just say double each integer.
04:36:43 <psygnisfive> well yes
04:36:44 <adu> psygnisfive: its ok, perapera == fluent
04:36:48 <psygnisfive> speaking off
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:03 <psygnisfive> cakeprophet: wanna make it? :D
04:37:08 <CakeProphet> double(x) each |x| integer
04:37:16 <psygnisfive> adu: no, i'm not fluent in japanese at all.
04:37:21 <CakeProphet> there's a missing implied variable there.
04:37:41 <psygnisfive> cakeprophet: cmon, lets make a language :D
04:37:48 <CakeProphet> -shrug- I have places to go.
04:38:14 <CakeProphet> to me... Perl's one-line control flow statements
04:38:19 <CakeProphet> and Python control-flow expressions
04:38:22 <CakeProphet> read the most like english
04:38:23 <CakeProphet> out of all of them.
04:38:27 <psygnisfive> i wanna make a language that has implicit ability to understand quantified nouns
04:38:30 <CakeProphet> (... for item in list)
04:38:33 <CakeProphet> in Python
04:38:35 <CakeProphet> and
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:06 <psygnisfive> map double integers
04:39:19 <psygnisfive> if this were haskell
04:39:21 <CakeProphet> ...you can do that in languages already.
04:39:24 <CakeProphet> yes
04:39:32 <psygnisfive> but double 5 would just be 10
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:39:47 <psygnisfive> sure but
04:39:49 <psygnisfive> the point is
04:40:07 <psygnisfive> double as a function would be taking as its argument a quantified noun
04:40:12 <psygnisfive> not being passed to a map function
04:40:17 <CakeProphet> ah
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:03 <CakeProphet> double (each integer)
04:41:18 <psygnisfive> yeah
04:41:33 <CakeProphet> well... if you had it so that each item in integer implicitly received all messages
04:41:35 <CakeProphet> that would work
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:41:47 <CakeProphet> such as
04:41:49 <CakeProphet> doucle (each list)
04:41:52 <CakeProphet> *double
04:41:54 <psygnisfive> well yes
04:42:04 <psygnisfive> but thats your problem to name things correctly :P
04:42:18 <CakeProphet> it does not makes sense
04:42:21 <CakeProphet> to name a list
04:42:23 <CakeProphet> as integer
04:42:23 <psygnisfive> what?
04:42:26 <psygnisfive> well
04:42:28 <psygnisfive> integers
04:42:29 <CakeProphet> integer = []
04:42:30 <CakeProphet> ?
04:42:44 <psygnisfive> ofcourse you could use another quantifier
04:42:46 <psygnisfive> double all integers
04:43:02 <psygnisfive> but anyway
04:43:12 <psygnisfive> even "double each integers" is fine.
04:43:18 <psygnisfive> not perfectly english but so what
04:43:31 <psygnisfive> it reads pretty damn close
04:43:57 <psygnisfive> the point tho is quantifiers
04:44:11 <psygnisfive> even if it was dbl E ints
04:44:14 <psygnisfive> the point is the quantifiers. :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:48:40 <psygnisfive> tell me more.
04:48:43 <CakeProphet> rather than being a static name
04:48:56 <CakeProphet> like you could say
04:49:03 <CakeProphet> x is some integers
04:49:07 <CakeProphet> er...
04:49:17 <CakeProphet> I mean
04:49:27 <CakeProphet> integers refers to the whole
04:49:31 <CakeProphet> integer refers to parts
04:49:33 <CakeProphet> basically
04:50:20 <psygnisfive> well ive already got ideas about using predicate functions that are flagged as such
04:50:26 <psygnisfive> so that if you say something like
04:50:54 <psygnisfive> even? 5 == f
04:51:05 <CakeProphet> in which case each works a lot like implicit mapping.
04:51:15 <psygnisfive> where the ? is added in-system
04:51:30 <CakeProphet> so in a traditional programming language... if each were a keyword
04:51:30 <psygnisfive> whereas if you did just
04:51:31 <CakeProphet> and you said
04:51:34 <psygnisfive> even integers
04:51:35 <psygnisfive> its a filter
04:51:44 <CakeProphet> double(each integer)
04:51:47 <CakeProphet> or even
04:51:53 <CakeProphet> double(double(each integer))
04:52:03 <CakeProphet> it would be like
04:52:06 <psygnisfive> oh, no, i was thinking each would be some sort of function that produces a quantified expression.
04:52:12 <CakeProphet> map(double, map(double, integer))
04:52:24 <psygnisfive> granted, the sum total of it being quantified would simple be JUST (each integer) :p
04:52:32 <CakeProphet> ...anyways... I have to go.
04:52:39 <psygnisfive> ok see ya
04:52:42 <CakeProphet> thanks for the chat... think about it some more and see if you can make sense of it.
04:53:40 <adu> inght
04:53:44 -!- adu has quit.
04:54:54 <psygnisfive> sense of what? lol
04:54:58 <psygnisfive> theres nothing to make sense of. :P
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:51 <tusho> sucks
10:22:59 <tusho> i've never read a non-alt. group
10:23:00 <tusho> well
10:23:02 <tusho> comp.lang.*
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:28:32 <tusho> we get it already
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:42 <tusho> Incorrect.
10:32:47 <tusho> It uses its own code generator nowadays.
10:32:51 <tusho> Unless -fvia-c.
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:34:24 <tusho> and autobalancing
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:36 <tusho> FAIL
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:24:33 <AnMaster> morning tusho
12:24:40 <tusho> hi AnMaster
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:57 <tusho> oklopol: wtf?
12:34:59 <tusho> they're indentical
12:35:03 <tusho> :|
12:35:19 <tusho> dict(a=2, b=3) is {'a':2, 'b':3}
12:35:20 <tusho> always
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:13 <tusho> ah of course
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:31 <tusho> of course
12:46:42 <tusho> bit of a weird translation, but makes sense when the negative list has more stuff in
12:47:20 <oklopol> tusho: well
12:47:38 <tusho> oklopol: well
12:47:41 <tusho> what about this:
12:47:42 <oklopol> wait
12:47:44 <tusho> (a b <c d> e)
12:47:44 <tusho> ->
12:47:49 <tusho> ((a b c e) (a b d e))
12:47:50 <tusho> right?
12:48:07 <oklopol> hmm
12:48:11 <oklopol> yes exactly
12:48:20 <tusho> :D
12:48:22 <tusho> so
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:39 <tusho> also
12:48:44 <tusho> (a b <> e) -> ()
12:48:45 <tusho> right?
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:48:58 <tusho> well yeah
12:49:00 <oklopol> so there may be some problems
12:49:01 <tusho> but (a b <> e) -> ()
12:49:02 <tusho> right?
12:49:04 <oklopol> with complex things
12:49:06 <oklopol> err
12:49:20 <oklopol> yes, that's correct
12:49:28 <tusho> :D
12:49:30 <tusho> I get them now!
12:49:35 <oklopol> :)
12:49:39 <oklopol> did you get thick lists?
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:53:54 <tusho> :D
12:54:21 <oklopol> umm
12:54:37 <tusho> it's true oklopol
12:54:37 <oklopol> (<>) -> (), yeah
12:54:40 <tusho> :D
12:54:46 <oklopol> and then the upper one
12:54:48 <tusho> yep
12:54:50 <tusho> fun
12:55:13 <oklopol> ya
12:55:14 <oklopol> but err
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:29 <tusho> and makes sense
12:56:33 <tusho> and then you just embed it in another list
12:56:34 <tusho> so.
12:57:05 <oklopol> but it makes negatives impure!
12:57:27 <oklopol> well
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:57:46 <tusho> in which case
12:57:49 <tusho> i'd expect
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:12 <tusho> not the innermost
12:58:20 <oklopol> the semantics are already definitely impure for stuff like <<a b c
12:58:24 <oklopol> *<<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
12:59:45 <oklopol> perhaps read
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:21:24 <AnMaster> tusho, ais not here yet?
15:21:43 <tusho> no
15:27:04 -!- ihope has joined.
15:52:56 <tusho> AnMaster: it's saturday.
15:54:42 <AnMaster> tusho, and?
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:21:04 <oklopol> ais is one weird dude.
16:23:48 <tusho> why?
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:33:15 <tusho> well i'm not sure
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:09 <ihope> And you are.
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:18 <oklopol> what am i 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:22:39 <ihope> Ah.
17:23:00 <pikhq> "Could not create temporary file."
17:23:05 <pikhq> Fuck you, Mutt.
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:27 <oklopol> have you read aiama?
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
17:58:59 <tusho> oklopol: ur
18:08:11 <oklopol> hu?
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:12:47 <psygnisfive> :(
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:07 <psygnisfive> oklopol:
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:22:24 <psygnisfive> yes?
18:23:13 <psygnisfive> hence the reasoning that (1 2 <> 3) would evaluate to () since the neglist has the same length as ()
18:23:15 <psygnisfive> yes?
18:24:59 <tusho> psygnisfive: well
18:25:00 <tusho> basically
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:27 <tusho> filled in
18:25:34 <tusho> there's some nuances, but that's the basic idea
18:25:38 <tusho> and since <> is 'no choices'
18:25:39 <tusho> you get () back
18:26:16 <tusho> psygnisfive: does that make sense?
18:26:18 <tusho> it kinda -clicks-
18:26:20 <tusho> at one point
18:29:44 <psygnisfive> not with <>.
18:29:52 <psygnisfive> that was my first assumption but it does fail with <>
18:30:03 <psygnisfive> afk
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:37:42 <tusho> :)
18:38:35 <Judofyr> link?
18:39:08 <tusho> Judofyr: no link
18:39:18 <Judofyr> :(
18:39:24 <tusho> people://oklopol/mind/nopol/neglists
18:39:28 <tusho> have a URI
18:39:57 <AnMaster> <tusho> (1 2 <3 4> 5) -> (For each thing in (3 4), (1 2 thing 5))
18:39:58 <AnMaster> so...
18:40:10 <AnMaster> that is basically (3|4) in a regex?
18:40:15 <tusho> .........................................
18:40:16 <tusho> no
18:40:21 <AnMaster> but not a regex of course
18:40:33 <AnMaster> being expanded instead to all posibilities
18:40:42 <AnMaster> possibilities*
18:40:44 <AnMaster> tusho, no?
18:40:57 <tusho> >_<
18:41:09 <AnMaster> what?
18:42:07 <AnMaster> tusho, ?
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:30 <tusho> ask him.
18:42:41 <tusho> also, you'll need a bit of a functional programming mind to grasp it.
18:42:41 <AnMaster> oklopol, explain!
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:43:47 <AnMaster> tusho, where can I get one?
18:43:58 <AnMaster> ;P
18:44:28 <tusho> yaht & r5rs
18:44:37 <tusho> & lc
18:44:55 <AnMaster> not at the local walmart?
18:45:16 <tusho> no.
18:45:22 <AnMaster> damn ;P
18:46:48 <psygnisfive> just because various people get them doesnt mean that they make sense
18:46:59 <AnMaster> thanks psygnisfive
18:47:08 <tusho> psygnisfive: so we're all hallucinating?
18:47:12 <psygnisfive> no.
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:31 * AnMaster runs
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:14 <AnMaster> they exist
18:48:35 <tusho> objectively, they 'make sense'
18:48:42 <tusho> because they are specifiable
18:48:44 <tusho> implementable
18:48:44 <tusho> and real
18:48:49 <tusho> subjectively, no, they don't ;)
18:48:52 <AnMaster> does TURKY BOMB make sense?
18:49:02 <tusho> AnMaster: partly
18:49:06 <AnMaster> hah
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:46 <tusho> not really
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:05 <AnMaster> give me half a bit ;P
18:50:09 <AnMaster> or was it 1/3rd of one?
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:50:57 <AnMaster> but you can't set each half
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:44 <AnMaster> or whatever
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:02 <AnMaster> is turky bomb actually TC?
18:52:04 <tusho> NEGATIVE AMICED is a negative amount of bits
18:52:06 <tusho> what you do
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:19 <AnMaster> yep
18:52:20 <tusho> and *turkey
18:52:23 <tusho> and well
18:52:24 <AnMaster> yes typo
18:52:25 <tusho> it's so vague
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:43 <AnMaster> ;P
18:52:48 <tusho> it basically ends up as a computer simulation of the described drinking game
18:52:55 <AnMaster> haha
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:25 <tusho> yeah.
19:36:28 <tusho> they're not easy to explain
19:36:28 <tusho> :P
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:39:35 <psygnisfive> only its not filtering, its construction.
19:46:55 <tusho> its deterministic
19:46:55 <tusho> but yes
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:27 <tusho> see?
19:47:33 <tusho> it jumps up a level before doing every possibility
19:49:13 -!- Slereah__ has joined.
19:51:00 <psygnisfive> i said it looks like deterministic stuff
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:54:19 <psygnisfive> yes?
19:54:25 <psygnisfive> "looks terribly like"
19:55:25 <psygnisfive> anyway
19:56:10 <psygnisfive> i would like to see formal rules for doing negative lists
19:56:12 <psygnisfive> itd help a lot.
20:07:30 -!- timotiis has joined.
20:10:03 <psygnisfive> oklopol! formalism!
20:10:05 <psygnisfive> now!
20:11:24 <oklopol> iuo
20:11:30 <psygnisfive> iuo?
20:11:32 <psygnisfive> :O
20:11:42 <psygnisfive> iuo means "kiss me" in my conlang
20:11:43 <psygnisfive> :o
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:12:44 <psygnisfive> ok.
20:12:49 <oklopol> psygnisfive: i know
20:12:55 <psygnisfive> so then by that reasoning
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:16 <oklopol> well actually
20:14:32 <oklopol> basically, i have separate rules for when a negative list contains a singleton negative list
20:14:38 <psygnisfive> ok.
20:14:44 <psygnisfive> do you have ordered rules?
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:15:35 <oklopol> yes
20:15:41 <psygnisfive> but if you have some other rule like
20:15:46 <psygnisfive> <... neg-list ...> => ...
20:16:00 <psygnisfive> and that rule has a higher precedence than (... neg-list...)
20:16:04 <psygnisfive> then i can see there being a difference
20:16:15 <oklopol> yeah, that's the case
20:16:29 <psygnisfive> ok. tusho never mentioned such a rule.
20:16:38 <oklopol> tusho may not have known about such a rule
20:16:41 <tusho> i didn't
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:11 <oklopol> psygnisfive: exactly
20:17:12 <tusho> psygnisfive: except they make the list they're in turn into a list of all possibilities
20:17:14 <tusho> but yes
20:17:16 <psygnisfive> ok, thats simple enough.
20:17:17 <tusho> pretty much
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:17:34 <psygnisfive> i disagree but whatever.
20:18:02 <psygnisfive> they're just non-deterministic elements.
20:18:14 <oklopol> one way to see it
20:18:16 <oklopol> but
20:18:22 <psygnisfive> reminds me of haskell's filterM
20:18:22 <oklopol> it's not equivalent to that
20:18:45 <psygnisfive> it seems like it is :p
20:18:55 <psygnisfive> atleast for stuff like (... neg-list ...)
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:28 <psygnisfive> what would
20:19:33 <psygnisfive> <a <b c> d>
20:19:34 <psygnisfive> eval to
20:19:40 <psygnisfive> and what are the steps and rules
20:19:54 <oklopol> nothing, you can't have negative lists without something surrounding them
20:20:11 <psygnisfive> what would (<a <b c> d>) evaluate to.
20:20:16 <psygnisfive> + rules and steps
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:30 <oklopol> *nondeterministic
20:21:45 <psygnisfive> you unwrap the neglists top down.
20:21:59 <oklopol> psygnisfive: well indeed, the actual exception is when you have <neglist>
20:22:07 <oklopol> and not <... neglist ...>
20:22:12 <psygnisfive> (<<a b>>) => ?
20:22:35 <psygnisfive> or (<a b>) => ?
20:22:47 <tusho> (<a b>) = ((a b))
20:22:47 <psygnisfive> well, that last one is trivial nevermind
20:22:50 <tusho> that's obvious
20:22:50 <oklopol> first would fail, i think, latter would be triv
20:22:56 <psygnisfive> no tusho
20:22:58 <psygnisfive> thats wrong :)
20:23:04 <psygnisfive> (<a b>) => ((a) (b))
20:23:05 <oklopol> wrong, but triv still
20:23:14 <tusho> oh yeah
20:23:15 <psygnisfive> ok so whats the except with <neglist> ?
20:23:25 <oklopol> psygnisfive: basically, that you jump two levels up
20:23:32 <psygnisfive> example.
20:23:39 <psygnisfive> (a <<x y>> b)
20:23:44 <psygnisfive> => ?
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:21 <psygnisfive> one step at a time oklopol, please. :P
20:24:26 <oklopol> that's one step
20:24:34 <psygnisfive> uh huh :P
20:24:35 <oklopol> you remove <<e f g>> from there
20:24:39 <oklopol> then rise two levels up
20:24:44 <tusho> yeah
20:24:46 <tusho> it makes sense psygnisfive
20:24:47 <tusho> basically
20:24:51 <tusho> when you do <...>
20:24:51 <psygnisfive> quiet tusho
20:24:52 <oklopol> and call the list lambda for each elem
20:24:53 <tusho> it cycles the choices
20:24:53 <psygnisfive> you're useless.
20:24:56 <tusho> in the topmost list
20:24:58 <oklopol> :D
20:25:00 <tusho> <<...>> does it two levels up
20:25:03 <tusho> <<<...>>> three
20:25:03 <tusho> etc
20:25:10 <psygnisfive> tusho
20:25:11 <tusho> isn't that fairly simple?
20:25:11 <psygnisfive> be quiet.
20:25:16 <tusho> psygnisfive: no.
20:25:27 <psygnisfive> you're fucking up the signal to noise ratio.
20:25:42 <oklopol> oh you
20:25:43 <oklopol> anyway
20:25:44 <tusho> it wasn't noise.
20:25:44 <oklopol> err
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:01 <tusho> etc
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:36 <psygnisfive> ok i see now.
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:10 <tusho> :)
20:27:21 <oklopol> you guys are funny :)
20:27:22 <oklopol> anyway
20:27:28 <oklopol> i'll go eat! ->
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:28:37 <psygnisfive> its almost distributive.
20:28:44 <psygnisfive> so lets see
20:28:57 <psygnisfive> (list a b c) => '(a b c)
20:29:06 <psygnisfive> (neg-list a b c) => '<a b c>
20:29:37 <psygnisfive> (list a (neg-list b c) d) => '(a <b c> d) => '((a b d) (a c d))
20:30:42 <psygnisfive> eh..
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:31:49 <psygnisfive> since its not a list. :P
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:33 <tusho> you're wrong! ;)
20:32:39 <psygnisfive> i cant be wrong.
20:32:45 <psygnisfive> since im not calling it 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:08 <psygnisfive> i dont see why this is so hard to grasp.
20:33:22 <tusho> it's not
20:33:34 <tusho> i just wanted you to have to explain it
20:33:35 <tusho> :D
20:34:14 <psygnisfive> stop trolling, tusho.
20:34:25 <tusho> you're wrong!
20:34:26 <tusho> :D
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:35:28 <psygnisfive> brb
20:35:43 <Judofyr> the list is lie!
20:46:00 <psygnisfive> the lie is list!
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:19 <tusho> it's not length
20:49:21 <tusho> it's depth
20:49:30 <tusho> (a) = 1 depth. ((a)) = 2 depth.
20:49:31 <tusho> etc.
20:49:36 <tusho> these are negative depth
20:49:38 <psygnisfive> whatever
20:49:40 <psygnisfive> thats not the point
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:54:29 <psygnisfive> or depth-specifying
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:43 <psygnisfive> :p
20:55:45 -!- tusho has joined.
20:55:45 <oklopol> :p
20:55:57 <psygnisfive> the formal specification for them isnt that hard either
20:56:13 <oklopol> perhaps not
20:56:37 <psygnisfive> let L be (... (... (... N ...) ...) ...)
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:07 <psygnisfive> or something
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:18 <psygnisfive> the concept is simple enough.
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:57 <tusho> <3
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:52 <psygnisfive> :D
21:04:58 <psygnisfive> its not confusing! you just dont get it!
21:04:59 <psygnisfive> ;)
21:04:59 <oklopol> no one's blaming you for not grasping it from that
21:05:05 <psygnisfive> tusho is :(
21:05:14 <oklopol> well tusho is gay
21:05:23 <psygnisfive> hey, dont insult gay people.
21:05:23 <tusho> how did you know!
21:05:37 <psygnisfive> we knew because you look like a girl.
21:05:44 <psygnisfive> you girl.
21:05:47 <psygnisfive> GIRLY GIRL.
21:07:02 <oklopol> psygnisfive: its not confusing! you just dont get it! <<< err what?
21:07:13 <psygnisfive> i was pretending to be tusho.
21:07:16 <oklopol> :)
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:08:31 <oklopol> *
21:08:34 <oklopol> *your father's
21:08:52 <psygnisfive> i bet his father was a girl too :O
21:08:58 <oklopol> *zing*
21:09:03 <psygnisfive> ;D
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:33 <tusho> OH SNAP
21:09:38 <tusho> On another topic, hi Keymaker
21:09:43 <psygnisfive> its true D:
21:09:51 <Keymaker> hello
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:47 <psygnisfive> THANK YOU CAPTAIN OBVIOUS
21:10:55 <psygnisfive> am i the only one who thought that the keymakers accent was way to fucking weird?
21:11:06 <tusho> keymaker is cool.
21:11:08 <tusho> he makes quines.
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:12 <Keymaker> so i came to link both
21:13:32 <oklopol> Keymaker: i'm assuming that was by hand
21:13:52 <psygnisfive> there are no interesting esolangs :(
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:21 <psygnisfive> anyone have a link to eodermdrome?
21:16:27 <Keymaker> no, there's actual wheel
21:16:34 <oklopol> eodermdrome doesn't have examples, no
21:16:36 <psygnisfive> or to whirl?
21:16:44 <oklopol> been trying to get ais523 to write some
21:16:47 <psygnisfive> well how can i look into eodermdrome? :P
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:10 <Keymaker> two wheels
21:19:12 <oklopol> ah
21:19:22 <Keymaker> and each has different instructions, a few same, but essentially different
21:19:30 <oklopol> yeah i recall now
21:19:36 <Keymaker> yea
21:19:44 <psygnisfive> that sounds pointlessly silly. :P
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:22 <oklopol> especially with esolangs
21:20:52 <Keymaker> ah. first i created code snippets for memory storing (both 61 bytes)
21:21:04 <Keymaker> then i wrote the main code
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:22:11 <psygnisfive> the boring is spinning out of control :(
21:22:32 <oklopol> psygnisfive: buy a book
21:22:37 <oklopol> get a life
21:22:38 <psygnisfive> i have one :o
21:22:44 <psygnisfive> a book, i mean.
21:22:49 <psygnisfive> i dont have a life tho.
21:22:54 <Keymaker> my advice: go outside
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:23:41 <psygnisfive> crochetty?
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:31 <oklopol> outside is boring
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:28:49 <Keymaker> in most of them yeah
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:36 <psygnisfive> what distinguishes Whirl?
21:29:42 <Keymaker> (and anyways, my esoteric work is useful to me)
21:29:46 <oklopol> removed the wheels?
21:29:50 <psygnisfive> does it just become Brainfuck? a funge? a whatever?
21:29:52 <oklopol> aren't those the point
21:29:58 <psygnisfive> but ARE THEY?
21:30:02 <oklopol> it's not a syntactic substitution kid
21:30:12 <psygnisfive> i mean, the wheels have instructions?
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:28 <psygnisfive> its a silly hyperminimal tarpit
21:31:29 <oklopol> i'm pretty sure it becomes fundamentally different to program in with jumps
21:31:46 <oklopol> but i haven't tried
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:11 <psygnisfive> without actually removing them!
21:32:23 <Keymaker> how is that?
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:36 <psygnisfive> move forward m positions
21:33:41 <psygnisfive> etc etc to get from one instruction to the next
21:33:42 <psygnisfive> yes?
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:27 <psygnisfive> that is
21:34:33 <psygnisfive> to get to instruction 5
21:34:42 <psygnisfive> 11111*011111
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:01 <psygnisfive> which is fine
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:33 <Keymaker> it can't be
21:35:41 <psygnisfive> but you just said it COULD.
21:35:50 <psygnisfive> its implicit in your design.
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:36:54 <psygnisfive> to get to instruction 5, you need 11111
21:36:55 <psygnisfive> and so on
21:36:57 <psygnisfive> yes?
21:37:08 <oklopol> yeah
21:37:10 <psygnisfive> ok
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:40 <oklopol> yeah
21:37:43 <psygnisfive> you simply do undo all rotates after you do them
21:37:58 <psygnisfive> so that you get back to 0 every time
21:38:04 <psygnisfive> just like a rotary dial phone
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:38:54 <tusho> like usual
21:38:54 <psygnisfive> theres nothing new conceptually.
21:38:56 <tusho> :)
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:12 <psygnisfive> they're still an obfuscatory gimmick
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:43 <tusho> no
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:13 <psygnisfive> im not saying you could
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:44 <oklopol> what is your point
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:16 <psygnisfive> its not that tusho
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:30 <psygnisfive> no.
21:42:37 <psygnisfive> its a pointless gimmicky rehash of brainfuck.
21:42:47 <psygnisfive> whirl isnt brainfuck
21:42:48 <Keymaker> this isn't brainfuck, the instruction set is compeltely different
21:42:55 <psygnisfive> but it is pointless and gimmicky.
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:05 <psygnisfive> anyway im off
21:43:06 <psygnisfive> bye
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:46:49 <Keymaker> yes, definitely
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:47:32 <oklopol> yeah
21:47:50 <tusho> yep
21:48:01 <Keymaker> and tusho, what was the discussion?
21:48:07 <Keymaker> :D
21:48:16 <oklopol> the discussion is a lie
21:48:18 <tusho> Keymaker: the one not involving psygnisfive saying how boring whirl was
21:48:40 <Keymaker> ah. so what was said last?
21:50:31 <oklopol> it is true of course that not many languages on the wiki have that "new computational model" feelign
21:50:33 <oklopol> *feeling
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:54:02 <tusho> agreed
21:54:18 <AnMaster> night
21:54:51 <oklopol> n82u2
21:56:54 <Keymaker> has anyone ran that collatz program i linked? see if it works any fast
21:57:13 <Keymaker> i tried to make it so
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:13 <oklopol> well yeah
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:40 <ihope> ef, eh?
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:09 <oklopol> ihope: not exactly :)
22:07:16 <ihope> :-)
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:08:44 <oklopol> oh, right, the brainfuck
22:10:22 <ihope> Interesting.
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:11:35 <Keymaker> quite right
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:21:43 <oklopol> found
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:26:02 <Keymaker> ah, ok
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:28:50 <oklopol> elaborate.
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:31:41 <oklopol> have fun
22:33:44 <ihope> :-)
22:34:05 <ihope> We care what you think when you tell us how to use "used to" correctly.
22:35:25 <oklopol> what?
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:27 <tusho> ...
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:18 <oklopol> happens to the best of us
22:46:34 <oklopol> i had breakfast at 20.00 or something
22:46:52 <tusho> i had breakfast like 10.30
22:46:53 <oklopol> woke up at 14.00
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:36 <tusho> Keymaker: aww
22:49:37 <tusho> come in tomorrow!
22:49:39 <tusho> we're fun!
22:49:53 <Keymaker> hah, sorry, i generally hate irc
22:50:01 <tusho> you hate us because we're FUN >:(
22:50:15 <Keymaker> :D
22:50:28 <oklopol> Keymaker: bye
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:36 <oklopol> well yes, that too.
22:50:37 <tusho> bye. :p
22:50:42 <Keymaker> bye :)
22:50:44 -!- Keymaker has left (?).
22:51:11 <oklopol> eyes are getting tired it seems, SparseGraph -> StereoTypical
22:51:18 <tusho> hahahaha
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:24 <tusho> oh no
23:26:26 <tusho> not this again
23:26:29 <tusho> anyway its not keymakers language
23:26:37 <psygnisfive> whatever
23:26:43 <psygnisfive> tell me how jumps make it not gimmicky.
23:28:54 * tusho rolls eyes
23:29:01 <psygnisfive> thats not an explanation.
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:23 <oklopol> psygnisfive
23:29:34 <psygnisfive> i already showed how its gimmicky.
23:29:39 <tusho> no you didn't.
23:29:42 <tusho> you just stated untrue things
23:29:45 <tusho> when we told you they weren't true
23:29:47 <psygnisfive> i did no such thing tusho
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:22 <ihope> Oh, I know why.
23:30:30 <psygnisfive> the ring commands are mappable directly and trivially to individual non-ring based instructions.
23:31:11 <tusho> no
23:31:11 <tusho> th
23:31:11 <tusho> ey
23:31:12 <tusho> are
23:31:13 <tusho> not
23:31:16 <psygnisfive> yes, they, are.
23:31:16 <tusho> because
23:31:17 <tusho> they
23:31:17 <tusho> change
23:31:18 <tusho> the
23:31:19 <tusho> offset
23:31:21 <tusho> of
23:31:23 <tusho> jumps
23:31:25 <tusho> so
23:31:27 <tusho> you
23:31:29 <psygnisfive> tusho
23:31:29 <tusho> have
23:31:31 <tusho> to
23:31:32 <psygnisfive> did you read what i just said?
23:31:33 <tusho> think
23:31:36 <tusho> ahead
23:31:37 <tusho> a
23:31:39 <tusho> lot
23:31:41 <tusho> no
23:31:43 <tusho> its
23:31:45 <tusho> not
23:31:47 <tusho> the
23:31:49 <tusho> most
23:31:51 <tusho> imaginative
23:31:53 <tusho> paradigm
23:31:55 <tusho> ever
23:31:57 <tusho> but
23:31:57 <psygnisfive> tusho stop being a child.
23:31:59 <tusho> its
23:32:01 <tusho> marginally
23:32:04 <tusho> interesting
23:32:16 <tusho> so
23:32:16 <tusho> there
23:32:16 <psygnisfive> its not marginally interesting at all.
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:32:44 <psygnisfive> where do you see jumps in the spec, btw.
23:33:09 <tusho> psygnisfive: it obviously has control flow
23:33:12 <tusho> or it wouldn't be tc
23:33:22 <psygnisfive> do you mean if? ok. ill look at that.
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:46 <tusho> exactly
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:46 <oklopol> well sure
23:37:47 <tusho> and dijkstra did it first.
23:37:50 <oklopol> but asjdfokajds still :)
23:37:55 <oklopol> yeah, yeah
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:31 <tusho> not very
23:38:31 <tusho> :p
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:03 <oklopol> i knew about arrays
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:14 <tusho> affected
23:39:15 <tusho> whatever
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:45:47 <ihope> Looks like it.
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:03 <oklopol> ihope: yes
23:55:20 <oklopol> that's it
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:07 <oklopol> i'm assuming stack-based
23:57:10 <oklopol> swap errors in my head
23:57:13 <psygnisfive> see above.
23:57:13 <oklopol> intio makes no sense
23:57:15 <oklopol> hmm
23:57:17 <psygnisfive> swap is just shorthand for 00
23:57:23 <oklopol> ah.
23:57:26 <psygnisfive> not is just shorthand for 11111111110000011111111110
23:57:27 <psygnisfive> etc
23:57:30 <oklopol> ah, that kinda swap
23:57:35 <psygnisfive> swap rings
23:57:39 <oklopol> yeah
23:57:40 <psygnisfive> switch, if you want.
23:57:41 <psygnisfive> whatever.
23:57:45 <psygnisfive> it doesnt matter what you call it.
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:08 <oklopol> as you said, right
23:58:14 <psygnisfive> but just from that its pretty trivial.
23:58:18 <oklopol> sorry, i'm reading bottom-to-top, it seems :P
23:58:26 <oklopol> well yeah, of course
23:58:38 <psygnisfive> i shall look at if in a moment tho.
2008-07-20
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:01:11 <psygnisfive> unless i dont understannd PAdd
00:02:09 <oklopol> you understand it
00:02:15 <oklopol> assuming i understand it
00:02:44 <psygnisfive> i dont see anything that says what padd does.
00:02:49 <psygnisfive> i mean
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:55 <oklopol> oh
00:04:56 <tusho> psygnisfive: i would say so.
00:04:57 <oklopol> dang :D
00:04:59 <tusho> that's what a pc is
00:05:00 <psygnisfive> ok.
00:05:08 <tusho> oklopol: think about it
00:05:11 <tusho> you TURN the wheel
00:05:12 <tusho> get it?
00:05:13 <tusho> turning tarpit
00:05:28 <oklopol> ...
00:05:35 <tusho> ..
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:00 <oklopol> psygnisfive: it's not
00:06:08 <psygnisfive> or not-gimmicky.
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:05 <tusho> by adding on
00:07:08 <tusho> which requires more instructions
00:07:08 <tusho> etc
00:07:12 <psygnisfive> but moving the wheel doesnt affect where you jump to.
00:07:20 <psygnisfive> well, it does in that regard, yes.
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:07:59 <psygnisfive> except the wheel is a gimmick.
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:18 <psygnisfive> i dont like most things.
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:32 <psygnisfive> its not interesting if its a gimmick.
00:08:37 <psygnisfive> but thats just me.
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:31 <psygnisfive> but that doesnt make it interesting.
00:09:38 <psygnisfive> it makes it pointlessly gimmicky.
00:09:46 <tusho> thats not what wheel is.
00:09:51 <psygnisfive> but it is.
00:09:58 <oklopol> :)
00:10:00 <tusho> it's not and you're being an idiot
00:10:01 <tusho> :|
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:52 <tusho> doesn't. work.
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:44 <psygnisfive> because i like designing languages.
00:11:57 <psygnisfive> theres a reason i dont spam about reactance and try to keep it to separate rooms.
00:12:02 <psygnisfive> or did you forget about that?
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:41 <oklopol> :D
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:52 <psygnisfive> name aside
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:10 <tusho> weird, I know
00:13:36 <oklopol> hey, that's not fair, he occasionally fights with you and calls you names.
00:13:45 <tusho> oh, that's true
00:13:48 <psygnisfive> and mocks her for her age and gender.
00:13:49 <tusho> marginally more productive, i guess
00:14:13 <oklopol> :)
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:28 <psygnisfive> esoteria?
00:14:30 <psygnisfive> esoterica?
00:14:36 <psygnisfive> you get the point.
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:15:59 <psygnisfive> i havent looked at graphica.
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:16:53 <psygnisfive> i mean, cmon, think about that
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:17:52 <psygnisfive> uh
00:17:54 <psygnisfive> tusho
00:17:57 <psygnisfive> that WAS the interesting idea
00:18:09 <psygnisfive> it didnt lead to one, it WAS one
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:20 <tusho> no
00:18:20 <tusho> ist not
00:18:21 <oklopol> :D
00:18:25 <psygnisfive> apparent it is
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:18:58 <psygnisfive> thats it
00:19:01 <tusho> this is a conversation filled with an infuriatingly large amount of stupid
00:19:11 <psygnisfive> i agree
00:19:16 <psygnisfive> lets just have an orgy.
00:19:19 <psygnisfive> ::rapes tusho::
00:19:35 <oklopol> :D
00:19:40 <psygnisfive> man, this would've been a great discussion for a podcast, do you realize that?
00:19:45 <psygnisfive> we would've had so many people listening
00:19:48 <tusho> psygnisfive: what, 'no fuck you'
00:19:49 <oklopol> :P
00:19:51 <tusho> 'no, fuck YOU'
00:19:56 <tusho> at least mien would have ended with 'NOMADS!!!'
00:19:59 <tusho> *mine
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:21:51 <lilja> the accents
00:21:52 <lilja> ah
00:21:58 <psygnisfive> :)
00:21:58 <oklopol> perv
00:22:07 <tusho> we have to record that podcast tomorrow
00:22:11 <psygnisfive> it'd have to be talked
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:28 <lilja> :(
00:22:29 <psygnisfive> except tusho, he's too young
00:22:44 <tusho> hmph
00:22:46 <tusho> i am so left out
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:28 <tusho> lol wut
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:23:43 * oklopol continues reading ->
00:24:42 <ihope> Why are you reading the blank space to the right of yourself?
00:24:52 <psygnisfive> tusho: uncanny valley???
00:25:01 <psygnisfive> it's starting to look so real it looks fake? o_O
00:25:24 <tusho> ...
00:25:35 <psygnisfive> well, thats what the uncanny valley is. :(
00:25:40 <psygnisfive> i dont understand your usage!
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:25:59 <psygnisfive> well thats sort of correct
00:26:07 <tusho> hello ihope
00:26:17 <tusho> damn
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:42 <tusho> in this case
00:26:47 <psygnisfive> where it temporarily drops to looking completely weird
00:27:11 <psygnisfive> uh, tusho, that analogy is a poor one. :P
00:27:13 <ihope> tusho: actually, quite boring.
00:27:18 <psygnisfive> infact
00:27:29 <tusho> psygnisfive: i know
00:27:31 <tusho> its terrible
00:27:33 <tusho> that's why i love it
00:27:34 <tusho> :D
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:41 <tusho> esp.
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:00 <psygnisfive> ::kisses tusho passionately::
00:28:13 <psygnisfive> is that where it stops being creepy?
00:28:15 <psygnisfive> tell me when
00:28:21 <psygnisfive> ::slides hand down tushos pants::
00:28:25 <psygnisfive> am i there yet?
00:28:27 <ihope> Ooh, they're to November...
00:28:38 <psygnisfive> AM I IN YOUR UNCANNY VALLEY? :O
00:28:46 <tusho> psygnisfive: That's the most strained innuendo ever.
00:28:55 <psygnisfive> XD
00:29:26 <tusho> "Are you a robot, baby? Because you're sure in my uncanny alley."
00:29:30 <tusho> er
00:29:31 <tusho> valley.
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:30:28 <psygnisfive> due to beer goggles? lighting? something?
00:31:37 <tusho> Due to your face.
00:31:39 <tusho> Bye for today.
00:31:44 <psygnisfive> D:
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:35:37 <ihope> February 2007...
00:37:27 <ihope> Bye.
00:37:56 <psygnisfive> o.o
00:40:00 <lilja> hrrrr
00:40:11 <psygnisfive> hey lilja.
00:40:12 <psygnisfive> sup.
00:40:35 <lilja> mostly hrrrr
00:40:39 <psygnisfive> :p
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:11 <lilja> hmm
00:41:16 <lilja> could be waffles also
00:41:21 <psygnisfive> mm waffles
00:41:31 -!- tusho has quit.
00:41:33 <psygnisfive> ::steals liljas waffles::
00:41:50 <lilja> that's rather skillful
00:41:58 <lilja> since they're not ready
00:42:50 <psygnisfive> i stole them...
00:42:54 <psygnisfive> FROM THE FUTURE
00:43:00 <lilja> :\
00:43:19 <lilja> I guess there's no sense in making them in that case
00:43:26 <psygnisfive> ofcourse there is!
00:43:28 <lilja> hrrrr :(
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:46 <psygnisfive> exactly!
00:43:48 <oklopol> i'd say better start making them :o
00:43:50 <psygnisfive> PARADOX!
00:43:50 <lilja> bah
00:43:56 <psygnisfive> PADAROX
00:44:02 <psygnisfive> PAXAROD!
00:44:06 <psygnisfive> KURFUFFLE
00:44:11 <lilja> hrr-rr?
00:44:25 <psygnisfive> hey hey hey hey hey
00:44:28 <psygnisfive> you know i dont speak finnish
00:44:36 <lilja> hrr :(
00:44:50 <psygnisfive> take your crazy reindeer language outta here, this is IRC!
00:45:11 <lilja> :<
00:45:22 <psygnisfive> ok fine the finnish can stay
00:45:28 <lilja> hrrr!
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:46:09 <lilja> massage!
00:46:10 <lilja> ---->
00:46:38 <psygnisfive> lüüposuonenää tïïuviasö kuunonëën
00:46:41 <psygnisfive> or whatever
00:47:08 <ihope> The word "massage" clumps to "sagemas". "sagem" is happy, "as" is left out.
00:47:30 <psygnisfive> ihope, what are you doing? XD
00:48:01 <ihope> "doing" clumps to "dogin"; in that, "do", "g" and "i" are happy while "n" is left out.
00:48:15 <psygnisfive> :D
00:48:22 <psygnisfive> ihope is on drugs
00:48:31 <psygnisfive> lilja how was my finnish?
00:48:35 <psygnisfive> were there enough vowels?
00:48:58 <psygnisfive> maybe the words should be longer
00:49:08 <oklopol> that was perfect finnish
00:49:11 <psygnisfive> :D
00:49:13 <oklopol> how did you do that?
00:49:15 <psygnisfive> I R FLUENT
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:02 <oklopol> in general
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:31 <psygnisfive> ihope, what does all of this mean.
00:52:50 <ihope> Oh, it's a thing I used to do.
00:52:55 <psygnisfive> tell me more.
00:53:00 <ihope> My new thing is tapping out melodies on my teeth.
00:53:03 <psygnisfive> tell me about... your mother?
00:53:10 <psygnisfive> explain "happy"
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:43 <psygnisfive> wait, what?
00:55:54 <psygnisfive> an even number of times and its no longer changing?
00:56:01 <ihope> Yes.
00:56:04 <psygnisfive> i dont understand
00:56:11 <ihope> If you do the thing to "soduns" twice, you get "soduns" again.
00:56:20 <psygnisfive> oh i see.
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:57:16 <psygnisfive> gotcha.
00:57:43 <ihope> Yep.
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:18 <psygnisfive> o-like?
00:58:31 <psygnisfive> whaaa
00:58:35 <psygnisfive> i dont follow :(
00:58:43 <ihope> So "soduns" is "ooolooo", which has 3 letters on each side.
00:58:49 <psygnisfive> oh i see.
00:58:51 <psygnisfive> you're weird. :D
00:58:54 <ihope> :-)
00:58:55 <psygnisfive> ooolooo
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).
00:59:44 <psygnisfive> "olololool", definitely oklopol there.
00:59:55 <psygnisfive> needs more k tho. oklolool.
01:00:11 <psygnisfive> i would argue that "o" should be 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:00:34 <psygnisfive> :O
01:01:04 <psygnisfive> you is right.
01:01:09 <psygnisfive> but i like my reasoning.
01:01:14 <ihope> :-)
01:01:27 <ihope> Hmm, that gives kind of a different sense of happiness.
01:01:45 <psygnisfive> merely a superset of happiness
01:01:51 <psygnisfive> i think
01:01:56 <psygnisfive> my semantics professor loved that construction
01:02:06 <psygnisfive> all the Xes in {} are Y.
01:02:07 <psygnisfive> :O
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:03:31 <psygnisfive> well, i dont know like what
01:03:31 <psygnisfive> but
01:03:32 <psygnisfive> :P
01:03:37 <psygnisfive> predicating over an empty set
01:03:40 <psygnisfive> essentially
01:04:03 <psygnisfive> a lot of people in the class didnt get it
01:04:11 <lkoko> Yours is "kollololloo"!
01:04:27 <psygnisfive> are o, l, and k themselves?
01:04:41 <psygnisfive> that is, is oklopols "oklopol"?
01:05:10 <psygnisfive> oh but you said p is b-like
01:05:15 <psygnisfive> so it would atleast be oklobol
01:05:21 <lkoko> And k is b-like, not k-like.
01:05:27 <psygnisfive> haha
01:05:31 <psygnisfive> oblobol?
01:05:43 <lkoko> Yeah. :-)
01:05:53 <psygnisfive> that makes no sense :D
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:08:51 <psygnisfive> ?
01:19:31 -!- TheBlunderbuss has joined.
01:30:51 <lilja> o
01:33:27 <lilja> should I write or sleep?
01:33:46 -!- TheBlunderbuss has left (?).
01:34:23 <psygnisfive> you should write! :o
01:34:26 <psygnisfive> sleep is lame!
01:34:39 <lilja> but I'm quite sleepy
01:34:58 <psygnisfive> ok then sleep
01:35:09 <lilja> hmm hmm
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:35:40 <lilja> gaah
01:35:43 <lilja> I'll write
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:34 <oklopol> C=character, N=number
01:37:44 <ihope> Ooh, hypnogogic states are fun.
01:37:50 <ihope> The C can be a letter or a number?
01:37:54 <oklopol> hypnogogic?
01:37:59 <oklopol> no, just a letter
01:38:01 <oklopol> sorry
01:38:28 <oklopol> well anyway
01:38:37 <oklopol> basically, you determine the order of the letter
01:38:38 <oklopol> s
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:13 <oklopol> resulting in a score of 4
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:22 <lilja> I feel sad
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:40 <lilja> hmm
01:44:47 <ihope> Pick an abstract thing.
01:45:26 <lilja> tja, that'd be good
01:45:41 <lilja> hrr-rr
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:06 <oklopol> yeah
01:47:08 <ihope> Oh.
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:49:26 <oklopol> heh
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:04 <oklopol> you have those nowadays?
01:51:10 <ihope> No.
01:51:12 -!- GreaseMonkey has joined.
01:51:13 <oklopol> i recall you tried and failed, at some point
01:51:15 <oklopol> okay
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:11 <psygnisfive> :O
01:53:15 <psygnisfive> come this fall!
01:53:23 <ihope> Sit for you?
01:53:25 <oklopol> sit for you?
01:53:33 <psygnisfive> trip sit.
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:27 <oklopol> for other reasons
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:55:06 <psygnisfive> i do. :o
01:55:12 <psygnisfive> want oklopol to come, i mean
01:55:16 <psygnisfive> not have schizophrenia XD
01:55:25 <oklopol> :D
01:56:15 <lilja> :)
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?
01:59:20 <psygnisfive> s/is/
02:00:25 <oklopol> 22.2.2222
02:00:37 <psygnisfive> :(
02:00:39 <ihope> http://22.2.2222/
02:00:44 <lilja> 4th of March
02:00:49 <ihope> Sorry.
02:01:44 <psygnisfive> huh. 6 days before me. :o
02:02:14 <oklopol> perhaps we should celebrate these days with a week long orgy
02:02:26 <psygnisfive> sounds like a plan!
02:02:27 <oklopol> psygnisfive: what is your age
02:02:33 <psygnisfive> 22
02:02:33 <oklopol> in years and seconds
02:02:38 <psygnisfive> pfft. :P
02:02:43 <lilja> :)
02:02:55 <psygnisfive> microseconds would be better.
02:03:24 <ihope> "An orgy (όργιον) was a secret cultic congregation at nighttime in Ancient Greek religion, overseen by an orgiophant." Interesting.
02:03:25 <oklopol> too much information!
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:08:49 <psygnisfive> you too oklopol. be honest
02:08:50 <psygnisfive> :o
02:13:39 <lilja> hmm
02:13:43 <lilja> I dunno
02:13:47 <lilja> but hey
02:13:54 <lilja> oklopol's making waffles!
02:14:35 <psygnisfive> cmon tell :o
02:14:38 -!- Corun has joined.
02:14:42 <psygnisfive> and dont give some silly pervy thing like rimming
02:14:46 <psygnisfive> "oh im into rimming :O"
02:14:51 <psygnisfive> no i want a real pervy thing
02:15:00 <psygnisfive> like "oh i love dog cock" or something. something INTERESTING.
02:16:45 <psygnisfive> *crickets*
02:16:54 <psygnisfive> this is boring. you're not saying anything interesting. :(
02:16:59 <psygnisfive> you're not saying anything! D:
02:17:29 <ihope> Waffles. >:-)
02:17:35 <psygnisfive> thats like expected.
02:17:37 <psygnisfive> of all humans.
02:17:44 <psygnisfive> i'd totally fuck a waffle.
02:17:49 <ihope> Glass stir rods are very useful, actually.
02:17:50 <psygnisfive> or eat a waffle with cum cream.
02:17:51 <psygnisfive> :o
02:17:57 <psygnisfive> glass stir rods?
02:18:00 <psygnisfive> for sounding?
02:18:06 <ihope> I don't know what that is.
02:18:18 <psygnisfive> insert of stuff in your urethra.
02:18:51 <psygnisfive> insertion*
02:18:52 <ihope> Just one of the many possibilities.
02:19:06 <psygnisfive> ihope, what are your pervs
02:19:08 <psygnisfive> besides waffles
02:19:13 <ihope> :-P
02:19:33 <ihope> What are pervs, exactly?
02:20:04 <psygnisfive> god, i have way too many.
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:20:51 <psygnisfive> :o
02:20:59 <lilja> hrrrr
02:21:02 <psygnisfive> not all of your pervs.
02:21:11 <psygnisfive> lilja is aroused by hrr. :o
02:21:18 <lilja> of course
02:21:19 <psygnisfive> thats why she keeps saying it!
02:21:25 <psygnisfive> she's masturbating!
02:21:35 <lilja> all the time
02:21:46 <lilja> hrrrrrrrrrrrr
02:21:51 <psygnisfive> poop back and forth forever :o
02:21:57 <oklopol> what's boring about rimming?
02:22:02 <oklopol> too normal or too weird?
02:22:09 <psygnisfive> too normal.
02:22:25 <psygnisfive> i mean, everyone does it.
02:22:28 <psygnisfive> atleast if you're gay.
02:22:35 <psygnisfive> and those who dont are weird germophobes
02:23:38 <psygnisfive> tell me!
02:23:40 <psygnisfive> what are your pervs!
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:17 <psygnisfive> aww why not? :(
02:24:18 <oklopol> but yeah, everyone does it
02:24:58 <psygnisfive> why no tell?
02:25:25 <oklopol> i like pretty much everything
02:25:32 <psygnisfive> you're into zoo?
02:25:33 <psygnisfive> scat?
02:25:41 <psygnisfive> gore?
02:25:41 <psygnisfive> :o
02:25:53 <ihope> I might be into one of these things.
02:25:59 <psygnisfive> oh just tell which ihope
02:26:01 <psygnisfive> jesus christ
02:26:08 <oklopol> :D
02:26:09 <ihope> I'm not familiar with your terminology.
02:26:21 <oklopol> animal shit blood
02:26:28 <psygnisfive> gore is more than just blood
02:26:31 <psygnisfive> its .. gore.
02:26:32 <oklopol> yeah
02:26:34 <ihope> Besides, I'm 15, you perverts. :-P
02:26:35 <psygnisfive> blood, guts, etc.
02:26:42 <oklopol> i'm sure ihope cares about the details
02:26:45 <psygnisfive> so which are you into, ihope.
02:26:53 <psygnisfive> zoo, scat, or gore?
02:27:02 <oklopol> ihope: i'm pretty sure i was more perverted than now when i was 15 :P
02:27:04 <psygnisfive> and oklopol: was that a yes? :P
02:27:13 <oklopol> yes to what?
02:27:15 <psygnisfive> that you're into zoo+scat+gore
02:27:16 <psygnisfive> :P
02:27:17 <oklopol> :D
02:27:22 <oklopol> oh you funny man
02:27:24 <ihope> Hmm, none of those, I think.
02:27:26 <psygnisfive> oh cmon dont be so cryptic :p
02:27:33 <psygnisfive> ok well whats your perviest interest, ihope.
02:27:34 <psygnisfive> be honest.
02:27:43 <psygnisfive> noone here will think you're weird.
02:27:46 <oklopol> psygnisfive: specifically, i will not answer on this channel, if asked with a serious tone
02:27:49 <psygnisfive> im an amoralist and oklopol's finnish.
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:29:29 <psygnisfive> ihope, cmon, dish.
02:29:35 <psygnisfive> oklopol is into scat. what about you.
02:29:46 <oklopol> sure sure
02:32:06 <psygnisfive> here, since you're worried about logs
02:32:09 <psygnisfive> #esofetishes
02:32:15 <oklopol> lol :D
02:32:20 <oklopol> we had #esoteric-sex a while back
02:32:29 <psygnisfive> haha
02:32:42 <psygnisfive> then i came and turned #esoteric into that? :p
02:32:46 <psygnisfive> cmon! join!
02:32:47 -!- Corun has quit ("This computer has gone to sleep").
02:32:47 <psygnisfive> talk!
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:09 <psygnisfive> Mission?
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:33:26 <psygnisfive> names these days
02:33:32 <ihope> Yeah.
02:33:34 <psygnisfive> i love them, but man are they weird
02:35:15 <ihope> There's also this guy named Ash that I'd like to love if I can...
02:36:16 <oklopol> pikhq likes ash
02:36:31 <ihope> Does he have The Sims Life Stories too?
02:38:16 <psygnisfive> hahaha
02:40:58 <psygnisfive> so ihope, cmon, tell. whats your fetish.
02:41:06 <psygnisfive> :|
02:41:42 <ihope> Well, I guess furry has a stereotype of being fetishy anyway.
02:42:08 <psygnisfive> furry is normal
02:42:13 <psygnisfive> everyone here is a furry
02:42:32 <ihope> What, really?
02:42:36 <psygnisfive> no but perhaps.
02:42:43 <psygnisfive> i am. oklopol could be.
02:42:45 <ihope> Now you're going to tell me everything else I say is normal. :-P
02:42:47 <psygnisfive> perhaps hes a husky
02:43:04 <psygnisfive> no, tusho is a husky, hes more random
02:43:11 <psygnisfive> and hyper
02:43:36 <psygnisfive> but since you're a fur. i'd give you a 50% chance of being into zoo
02:43:52 <ihope> What is zoo?
02:43:57 <psygnisfive> animals.
02:44:47 <psygnisfive> half the furs i know are into zoo.
02:44:52 <ihope> Physical animals?
02:44:52 <psygnisfive> and a good number of nonfurs i know.
02:44:58 <psygnisfive> a lot of them are really fucking hot too
02:44:59 <ihope> Real ones?
02:45:05 <psygnisfive> yes, ihope, real animals.
02:45:05 <psygnisfive> :P
02:45:21 <ihope> Not that, no. I'm the huggy type. :-P
02:45:29 <psygnisfive> the huggy type?
02:46:13 <ihope> Never mind. :-)
02:46:18 <psygnisfive> tell me! :O
02:47:03 <ihope> The kind who would like hugging.
02:47:09 <psygnisfive> ah. ::hugs ihope::
02:47:16 * ihope hugs psygnisfive
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:48:57 <psygnisfive> its a cat. itd be weird if you did.
02:49:02 <psygnisfive> most zoo is dog-centric.
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:07 <psygnisfive> which are relatively thin.
02:51:09 <ihope> I wouldn't want to do it.
02:51:14 <psygnisfive> liar
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:28 <psygnisfive> snaking all inside you
02:51:30 <psygnisfive> you pervert
02:51:35 <psygnisfive> you're a sicko!
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:28 <oklopol> do go on
02:52:30 <psygnisfive> no do finish that sentence
02:52:36 <psygnisfive> oklopols into scat, he wont mind
02:52:48 <psygnisfive> and tusho's a girl, so god knows what would bother him.
02:52:48 <psygnisfive> her.
02:52:49 <psygnisfive> it.
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:53:49 <psygnisfive> pork and beef are imported words
02:53:54 <psygnisfive> i dont know the pre-norman words
02:54:19 <psygnisfive> but its just a note that thats why the words are porc and beef
02:54:26 <psygnisfive> pork*
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:50 <psygnisfive> but thats completely wrong.
02:55:59 <ihope> I think I've heard that, too.
02:57:30 <psygnisfive> trust me, i'm a linguist.
02:57:32 <psygnisfive> btw
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
02:59:13 <oklopol> but one of those yeah
03:00:32 <psygnisfive> i dont want finnish! >O
03:00:45 <psygnisfive> this is true.
03:00:47 <oklopol> :)
03:00:48 <psygnisfive> no erectile bone
03:01:42 <ihope> Uh oh. I hope I know something you don't.
03:02:00 <oklopol> are you named after that?
03:02:26 <ihope> My name comes from... darker times.
03:02:35 <psygnisfive> its actually native american
03:02:40 <psygnisfive> its said ee-hoe-pay
03:02:55 <ihope> My ancestors made me swear an oath that I would never disclose the origin of my name.
03:02:59 <psygnisfive> it means "bringer of death" in ojibwa
03:03:08 <ihope> Oh, and I went and told you. Darn it.
03:03:29 <psygnisfive> ihope is infact an ancient ojibwa "Demon"
03:03:36 <psygnisfive> not a demon, as such
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:31 <psygnisfive> Czarist Russia?
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:06 <psygnisfive> how peculiar.
03:05:17 <pikhq> oklopol: Um, WTF?
03:05:34 <psygnisfive> pikhq: whats your perviest fantasy/fetish/kink
03:05:35 <oklopol> pikhq: a complex joke.
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:03 <oklopol> got it?
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:16 <psygnisfive> great musician.
03:06:20 <pikhq> *Ah*.
03:06:24 <psygnisfive> gotta catch 'em all.
03:06:34 <psygnisfive> pikhq: cmon, tell me.
03:06:36 <psygnisfive> whats your perv.
03:06:44 <oklopol> :)
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:23 <psygnisfive> gore?
03:07:24 <psygnisfive> incest?
03:07:25 <ihope> I read Freefall, by (gasp!) the way; did you know that?
03:07:26 <psygnisfive> bdsm?
03:07:31 <psygnisfive> GIRLS?
03:07:37 <ihope> Oh, BDSM, that's an interesting case.
03:07:46 <psygnisfive> BDSM isnt really fetishy to me but
03:07:47 <pikhq> Definitely into girls. :p
03:07:48 -!- oerjan has joined.
03:07:48 <psygnisfive> to most it is
03:07:55 <pikhq> But that's not a fetish, now is it?
03:07:57 <psygnisfive> ew. pikhq, you freak, get out of here.
03:08:02 <ihope> I'm sure I'll be into girls one of these days.
03:08:02 <psygnisfive> oerjan, whats your fetish
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:09:57 <psygnisfive> typical.
03:09:58 <psygnisfive> who doesnt.
03:10:11 <psygnisfive> be moar intrsting kay?
03:10:15 <oerjan> O_O
03:10:27 <pikhq> Um. . .
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:46 <psygnisfive> really?
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:12:07 <psygnisfive> NOMADS!
03:12:13 <oklopol> NOMAAADS
03:12:35 <oerjan> MONADS!
03:12:52 <psygnisfive> oerjan has a monads fetish.
03:13:06 <ihope> Just an ordinary brain fetish.
03:13:16 <psygnisfive> he likes to functor your monad
03:13:20 <psygnisfive> if you know what i mean
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:14:53 <psygnisfive> and homoiconicity for homosexuality.
03:14:53 <ihope> But "bijection"!
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:14 <ihope> Indeed.
03:15:16 <oerjan> monic clearly implies masturbation
03:15:19 <oklopol> except for the punny stuff
03:15:23 <oklopol> "hihi goes both ways"
03:15:26 <ihope> oerjan: automorphism.
03:15:32 <ihope> A bijection could be defined as a both-ways injection, no?
03:15:32 <oerjan> ah yes
03:15:38 <oklopol> ihope: yes
03:15:59 <oklopol> a perfect mapping
03:16:05 <psygnisfive> bijection could alternatively mean oral-anal/vaginal double penetration
03:16:24 <ihope> Nah. :-)
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:45 <oerjan> one-to-one
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:17:57 <psygnisfive> are you serious? XD
03:18:12 <pikhq> Hmm. Perhaps I should put on my robe and wizard hat?
03:18:21 <psygnisfive> <3 you pikhq
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:37 <oklopol> that's slipknot lyrics
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:18:55 <ihope> Lyrics, really?
03:19:01 <oklopol> yeah
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:26 <psygnisfive> 32.
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:19:43 <ihope> Cool.
03:19:45 <psygnisfive> slipknot ::vomits::
03:19:46 <oklopol> and then i forget.
03:19:50 <oklopol> :)
03:19:53 <psygnisfive> numetal is the worst ever.
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:20:16 <psygnisfive> you have shit taste in music then.
03:20:22 <oklopol> :)
03:20:23 <oklopol> nah
03:20:50 <psygnisfive> yah
03:21:58 <psygnisfive> real metal > numetal
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:24:14 <oklopol> w/e
03:24:50 <psygnisfive> :P
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:12 <psygnisfive> lmfao is this seriously all in The Sims?
03:27:21 <ihope> The Sims Life Stories.
03:27:27 <psygnisfive> thats so fucked up XD
03:27:30 <ihope> :-)
03:27:35 <psygnisfive> and completely unrealistic
03:27:39 <ihope> No, he is. :-P
03:27:39 * oerjan now just needs to know what WooHoo means. or maybe not.
03:27:57 <oerjan> oh wait
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:30:53 <ihope> :-P
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:12 <oerjan> :D
03:34:29 <pikhq> Dammit.
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:47 <psygnisfive> lol
03:41:48 <oklopol> is he a total doodoo head?
03:41:52 <psygnisfive> ichose my roomie :)
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:03 <psygnisfive> were you going to have hot gay sex?
03:49:08 <oerjan> but, but, i am not going into college...
03:49:21 <ihope> Must be Seth.
03:49:36 <oerjan> ah, lurk
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:52:49 <ihope> Oh.
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:33 <oerjan> karma is hard
03:53:38 <pikhq> :p
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:54:36 <oerjan> argh
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:21 <psygnisfive> i totally agree.
03:57:30 <psygnisfive> that double cheese burger is totally fuckable.
03:57:33 <psygnisfive> mmm yeah baby
04:04:23 <pikhq> ... Do they know WTF they're talking about?
04:04:56 <psygnisfive> who what when
04:05:05 <psygnisfive> oh hey yo're talking about language
04:05:05 <psygnisfive> :o
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 <psygnisfive> http://youtube.com/watch?v=cW-bomqZ3Lw
04:09:07 <pikhq> (my English gets a bit odd when I'm in the mood to wax Shakespearean. ;))
04:09:09 <psygnisfive> the guy is hot
04:09:16 <psygnisfive> his behavior is excessively artificial.
04:09:38 <psygnisfive> shakespearean english is artificial poetic prose, you know. during his time noone spoke like that.
04:10:17 <bsmntbombdood> hell yes
04:10:21 <psygnisfive> hell yes?
04:10:21 <pikhq> Some lines were written how the commoner would speak.
04:10:31 <psygnisfive> the lines of commoners? :P
04:10:32 <pikhq> (typically the lower-class folk within his plays)
04:10:34 <pikhq> Bingo.
04:10:37 <psygnisfive> :P
04:10:45 <pikhq> However, I *don't care*.
04:10:47 <bsmntbombdood> fuck shakespear
04:10:47 <psygnisfive> bsmntbombdood: what hell yes
04:10:50 <bsmntbombdood> fucking thing sucks
04:11:01 <pikhq> I also wax poetic at times. ;)
04:11:12 <psygnisfive> omg
04:11:16 <pikhq> bsmntbombdood: Never read him beyond what you had to do for class?
04:11:18 <psygnisfive> James Joyce wrote esopoetry
04:11:20 <psygnisfive> :O :O :O
04:11:25 <bsmntbombdood> pikhq: correct, sir
04:11:28 <bsmntbombdood> no desire to
04:11:39 <pikhq> Shakespeare as taught in school sucks balls.
04:11:41 <psygnisfive> Finnegan's Wake is an esopoem! :O
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:32 <psygnisfive> every time i heard "Finnegans Wake"
04:12:36 <psygnisfive> i think it should be something related to like
04:12:50 <psygnisfive> a hyperspace ripple or something
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:09 <psygnisfive> Newtons Wake or something
04:13:18 <ihope> Wait, that doesn't work, either.
04:13:20 <psygnisfive> which had a very fantastical scifi cover
04:13:28 <psygnisfive> what?
04:13:32 <psygnisfive> ill do it, jesus christ
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:41 <ihope> psygnisfive: yep.
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:01 * pikhq nods
04:15:19 <ihope> psygnisfive: but that introduces a "someone". You're not allowed to do that. :-)
04:15:24 <psygnisfive> actually i am
04:15:28 <psygnisfive> since the sentence is passive
04:15:35 <pikhq> psygnisfive: Also, that ad?
04:15:37 <psygnisfive> which has an implicit agent
04:15:47 <psygnisfive> the active form would require an explicit agent
04:15:48 <psygnisfive> hence someone
04:15:49 <pikhq> That's almost as stupid as "Head On".
04:15:53 <pikhq> *Almost*.
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:04 <psygnisfive> your mom has weird island rules.
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:37 <psygnisfive> ihope, you're hopeless.
04:17:58 <ihope> Isn't sticking a whole sentence in into a "that"... wrongful?
04:18:02 <psygnisfive> no.
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:15 <psygnisfive> but not for the reasons you cite.
04:19:23 <ihope> Why is it peculiar?
04:19:28 <psygnisfive> "it".
04:19:41 <ihope> That's what I said.
04:19:57 <psygnisfive> uh
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:06 <psygnisfive> not because of the "it"
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:20:35 <psygnisfive> yes
04:20:39 <psygnisfive> but the problem is your analysis is wrng
04:20:46 <psygnisfive> it only works in this one situation
04:20:55 <psygnisfive> that <sentence> is common and acceptable.
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:21:59 <psygnisfive> that is
04:22:02 <psygnisfive> this construction
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:25 <psygnisfive> sometimes.
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:03 <pikhq> ihope: Glee.
04:23:10 <psygnisfive> actually its not syntactically normal either
04:23:14 * pikhq paints white
04:23:21 <ihope> It isn't?
04:23:22 <psygnisfive> since paint requires two arguments. :P
04:23:37 <pikhq> No it doesn't.
04:23:43 <psygnisfive> its only syntactically normal if one of those arguments has a null phonological (and thus typographical) form
04:23:44 * ihope paints pikhq
04:23:57 <psygnisfive> well, it doesnt if you're using a different verb paint
04:24:01 <psygnisfive> as in, "I paint."
04:24:13 <ihope> Hmm, so "I paint pikhq" is "I paint pikhq <null>"?
04:24:14 <psygnisfive> but "I paint pink." is different.
04:24:24 <psygnisfive> ihope: no...
04:24:28 <ihope> Oh.
04:24:30 <psygnisfive> where are you getting the null from?
04:24:42 <psygnisfive> pikhq is the second argument to the verb.
04:24:52 <pikhq> Your assertion that paint is binary.
04:24:56 <psygnisfive> it is.
04:25:01 <psygnisfive> "pikhq" is the second argument.
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 <ihope> s/x/c/
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:44 * pikhq nods
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:12 <ihope> Hmm.
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:26 <psygnisfive> trivial.
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:26:54 <psygnisfive> as well as typical Naive Syntax
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:27:57 <psygnisfive> no. ish.
04:28:02 <pikhq> I don't care, just stick it in a binary tree. :p
04:28:05 <psygnisfive> modified is the wrong term to use there.
04:28:13 <psygnisfive> pikhq: ok gimme a second.
04:28:25 <ihope> psygnisfive: specified?
04:28:33 <psygnisfive> eh sure. ish.
04:28:34 <psygnisfive> :)
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:50 <psygnisfive> yes.
04:28:56 <psygnisfive> tho the other uses of modified are wrong as well.
04:29:04 <ihope> All of them?
04:29:07 <pikhq> Whereas the rest of us are mere dabblers (at best).
04:29:08 <psygnisfive> yes.
04:29:14 <ihope> Should they be "specified" as well?
04:29:18 <psygnisfive> give me a moment to do the P&P parse
04:29:21 <psygnisfive> no they shouldnt.
04:29:23 * pikhq nods
04:29:45 <psygnisfive> also
04:29:49 <psygnisfive> object control :D
04:30:14 <psygnisfive> thats the phenomena this sentence exhibits, btw, that makes "I painted it pink" an invalid relative clause ;)
04:31:35 <oerjan> "phenomenon" ;)
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:04 <pikhq> I don't parse it.
04:35:09 <pikhq> I do a good impression thereof.
04:35:11 <pikhq> :p
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:35:58 <psygnisfive> WE ARE ZE ROBOTS
04:36:02 <psygnisfive> DOOT DOOT DOO DEET DOO
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:36:43 <psygnisfive> you asked for a parse! :(
04:36:55 <pikhq> Well, yes.
04:37:00 <psygnisfive> and its a binary tree
04:37:04 * oerjan asks for parsley
04:37:11 <psygnisfive> as all P&P trees are.
04:37:12 <pikhq> I'm surprised that you actaully did it, that's all. :p
04:37:15 <psygnisfive> and all minimalist trees.
04:37:17 <psygnisfive> uh dude
04:37:22 <psygnisfive> ive been doing this for the last year :)
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:32 <psygnisfive> or something like that
04:38:33 <pikhq> We in the computer science field tend to make our grammars easy to parse.
04:38:56 <psygnisfive> natural languages might be Type 0 :(
04:39:00 <oerjan> LALR! LALR! LALR!
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:24 <pikhq> ;)
04:39:29 <psygnisfive> tho i suspect its only Type 0 thanks to post-linearization techniques. maybe.
04:40:02 <psygnisfive> next ill give you the Minimalist parse
04:40:17 <oerjan> OM
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:46:45 <psygnisfive> btw that was slightly wrong, sorry.
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:53:46 <pikhq> :p
04:54:19 * oerjan blinks
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:07 <oerjan> "entire"
04:55:12 <pikhq> Oh.
04:55:15 <pikhq> *FUCK*.
04:55:18 <pikhq> s/entire/enter/.
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:43 <psygnisfive> or grammar
04:55:54 <pikhq> Most programmers are, however.
04:55:56 <psygnisfive> infact, we make fun of those people.
04:55:59 <pikhq> (by necessity)
04:56:08 <psygnisfive> sometimes with sticks.
04:56:10 <psygnisfive> or bats.
04:56:12 <psygnisfive> metal bats.
04:56:30 <pikhq> I was imagining you beating people with flying rodents, actually.
04:56:38 <pikhq> Much more amusing thought.
04:56:40 <psygnisfive> thats what im talking about.
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:58:50 <psygnisfive> you could be both/troth
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:27 <psygnisfive> possible +Math
04:59:29 * oerjan debates it
04:59:39 <pikhq> oerjan: No fair!
04:59:42 <psygnisfive> mainly because, lets be honest
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:34 <psygnisfive> Chomsky hierarchy.
05:00:39 <pikhq> Especially automata theory & grammar theory. . .
05:00:39 <psygnisfive> Chomsky is....
05:00:43 <psygnisfive> a theoretical syntactician.
05:01:07 <psygnisfive> also a political writer.
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:01:51 <pikhq> Anarchy? Bah.
05:01:54 <psygnisfive> making decisions along the way
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:35 <psygnisfive> cryptoanarchy?
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:33 <psygnisfive> thats a weird use of the crypto- prefix
05:03:38 <psygnisfive> given that all other uses mean hidden
05:03:53 <pikhq> It's meant as a pun.
05:04:02 <pikhq> Feel free to groan.
05:04:12 <psygnisfive> oh i see
05:04:12 <psygnisfive> because its crytpoed
05:04:12 <psygnisfive> its hidden from prying eyes
05:04:12 <psygnisfive> haw.
05:04:12 <psygnisfive> :P
05:04:25 <psygnisfive> all of my linguistics tee-shirts are puns. :)
05:04:31 <psygnisfive> for instance
05:04:39 <psygnisfive> a picture of a log cabin.
05:04:44 <psygnisfive> get it?
05:04:46 <psygnisfive> its a...
05:04:48 <psygnisfive> TREE STRUCTURE
05:04:50 <psygnisfive> BWAHAHAHAHAHA
05:04:50 <psygnisfive> XD
05:04:53 <psygnisfive> *ahem*
05:04:57 * oerjan groans
05:05:07 <lilja> :)
05:05:14 <oerjan> hi lilja
05:05:17 <psygnisfive> see? lilja likes it.
05:05:23 <lilja> h, hey
05:05:25 <psygnisfive> im going to send her one of the t-shirts
05:05:25 <lilja> and bye
05:05:27 <psygnisfive> when i make them.
05:05:29 <lilja> I'm going to sleep
05:05:32 <psygnisfive> night you.
05:05:41 <lilja> it's already bright outside :\
05:05:47 <psygnisfive> haha
05:05:58 <lilja> 7 am
05:06:00 <psygnisfive> when i was in europe it was staying light until 10pm
05:06:00 <lilja> damn
05:06:01 <oerjan> i'm a frayed that pun was a bit of a stretch to me...
05:06:02 <psygnisfive> it was awesome
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:06 <psygnisfive> get it? :D
05:07:15 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
05:07:30 <oerjan> argh! the pain!
05:07:37 <psygnisfive> sin tacks! :D
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:08:05 <psygnisfive> and she was like
05:08:08 <psygnisfive> "Sin tacks! :D"
05:08:15 <psygnisfive> shes crazy like me. :D
05:08:17 <psygnisfive> its great.
05:08:22 <psygnisfive> if i were straight i'd marry her
05:08:52 <psygnisfive> she's the only one who gets me :(
05:14:21 <psygnisfive> i need a book on computation theory
05:14:22 <psygnisfive> someone give
05:14:25 <psygnisfive> i know you have it!
05:14:26 <psygnisfive> give!!!
05:16:16 -!- oerjan has quit ("Need a break").
05:23:52 <psygnisfive> damnit, its too quiet
05:33:31 <pikhq> Indeed.
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:10:20 <tusho> hi
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:27 <tusho> sorry
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.
14:58:28 <tusho> oklofok
15:06:39 -!- lilja has joined.
15:09:19 -!- pikhq has joined.
15:13:42 <oklofok> o
15:14:11 <oklofok> tusho
15:14:27 <tusho> o oklofok
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:34:52 <deveah> Oi
17:36:37 -!- Corun has quit ("This computer has gone to sleep").
17:44:49 <tusho> deveah: hi
17:50:27 -!- Slereah__ has joined.
17:51:50 <lilja> okokokokokokoko
17:56:00 <deveah> i see most esoteric ppl are interested in roguelikes too
18:01:14 <AnMaster> nethack!
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:03:14 <lilja> o
18:03:15 <tusho> esoteriKKK
18:03:18 <deveah> what everything?
18:04:24 <deveah> tusho, when I was your age, I did almost everything too :D
18:04:34 <tusho> zzo38 is ..
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:05:59 <lilja> opopopopopopo
18:06:02 <lilja> opopopopopopo
18:06:12 <lilja> omg
18:06:19 <lilja> wrong channel :D
18:07:01 <deveah> omg you can really use more than two letters in one line!
18:07:32 <lilja> mm-hmm
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:53 <AnMaster> that's kind of crazy
18:07:57 -!- timotiis has joined.
18:09:25 <tusho> deveah: shut up, okoing is sacred
18:09:41 <AnMaster> koko too?
18:09:45 <AnMaster> kokokoko*
18:09:46 <tusho> yes
18:09:48 <AnMaster> ;P
18:09:50 <AnMaster> hm
18:09:50 <tusho> it's a variant!
18:09:55 <tusho> just add a k to the beginning
18:09:57 <AnMaster> anananan?
18:10:11 <AnMaster> and there is:
18:10:15 <AnMaster> tutututututututut too
18:10:18 <tusho> no
18:10:20 <tusho> unacceptable
18:10:25 <AnMaster> tutututututu?
18:10:59 <tusho> no
18:11:04 <lilja> utututututututututu
18:11:46 <deveah> tusho: okoing?!
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:01 <AnMaster> deveah, are you new here?
18:15:38 <deveah> no, I've been here before a few times
18:16:29 <deveah> why?
18:23:01 <AnMaster> k
18:23:06 <AnMaster> didn't remember the nick
18:28:30 <deveah> cya
18:28:32 -!- deveah has left (?).
18:35:43 <psygnisfive> oklopol: not i said usually.
18:36:18 <psygnisfive> i oversimplified it when i said that yesterday
18:36:44 <lilja> oklopol is gone
18:36:55 <psygnisfive> oklofok*
18:37:39 <lilja> he also :)
18:37:43 -!- oklofok has quit (Read error: 60 (Operation timed out)).
18:37:46 <psygnisfive> lilja*
18:38:04 <lilja> hrrr
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:30:51 <AnMaster> pikhq, not valid
19:33:40 -!- Corun has joined.
19:33:42 <tusho> AnMaster: Very valid.
19:34:10 <AnMaster> I disagree
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:00 <AnMaster> I didn't say that
19:35:08 <tusho> what did you say then?
19:35:16 <AnMaster> "<AnMaster> pikhq, not valid"
19:35:18 <AnMaster> to be exact
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:26 * AnMaster runs
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:40 <oklopol> :D
19:36:41 <AnMaster> s/I meaning/my meaning/
19:36:48 <tusho> you demonstrate it daily..
19:37:17 <AnMaster> + another reason was pure selfishness
19:37:17 <AnMaster> I'd like to see Def-BF
19:37:18 <AnMaster> and play with it
19:37:20 <AnMaster> it sounds great
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:37:43 <AnMaster> so I'd like to see the specs
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:01 <AnMaster> tusho, indeed I agree
19:41:11 <AnMaster> this is a reasonable explanation
19:41:23 <AnMaster> but shouldn't ESO have pointed out this issue?
19:41:28 <AnMaster> you are a member of ESO
19:41:32 <oklopol> :)
19:42:06 <oklopol> it's been an active topic on #eso for the past few days
19:42:16 * oklopol continues his monologue
19:42:19 <AnMaster> pikhq, ok I can see one big issue
19:42:27 <AnMaster> pikhq, the pointers are 8 bit?
19:42:32 <AnMaster> to fit in a cell?
19:42:39 <oklopol> always with the exact sizess :)
19:42:41 <oklopol> *sizes
19:43:20 <AnMaster> pikhq, well how large are the pointers, and how large are the cells?
19:43:31 <pikhq> System word.
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:05 <AnMaster> are*
19:47:36 <AnMaster> and where are you working on def-bf, who is on the standard committee
19:47:39 <AnMaster> ;P
19:47:55 <AnMaster> tusho, I seek to join ESO
19:48:00 <tusho> oh god.
19:48:14 <AnMaster> where should I apply for a membership?
19:48:22 <tusho> oh god.
19:48:41 <oklopol> :D
19:48:44 <AnMaster> well I will ask ais when I see him next then
19:48:50 <AnMaster> he may be able to tell
19:48:50 <tusho> actually i'm in charge
19:48:55 <tusho> ais just has sudoers :P
19:48:58 <tusho> but, #ESO
19:49:03 <AnMaster> is +m...
19:49:07 <AnMaster> can't really ask there then
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:51:59 <AnMaster> exception tables?
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:18 <AnMaster> ?
19:55:27 <tusho> funge-93 is pretty incomplete.
19:55:33 <AnMaster> yes it is
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
19:56:44 <AnMaster> tusho, agreed!
19:56:59 <AnMaster> which is kind of fun too
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:10 * AnMaster watches tusho
20:05:22 <tusho> i'm numb by now.
20:05:22 <tusho> sorry.
20:05:35 <AnMaster> calm down, I won't
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:20:55 <AnMaster> they wouldn't be defined
20:20:58 <AnMaster> stdio I mean
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:08 <pikhq> Don't know what?
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:22:53 <AnMaster> as in ?
20:22:58 <AnMaster> 0x123?
20:23:01 <AnMaster> or?
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:28:03 <AnMaster> pikhq, well?
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:40 <AnMaster> ah
20:37:41 <AnMaster> tell me then
20:37:44 <AnMaster> <AnMaster> as in ?
20:37:44 <AnMaster> <AnMaster> 0x123?
20:37:44 <AnMaster> <AnMaster> or?
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:50 <AnMaster> intel syntax? not at all
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:09 <AnMaster> ok
20:39:17 <AnMaster> who isn't here...
20:39:19 <AnMaster> right
20:39:26 <AnMaster> and I got to sleep in about an hour
20:39:28 <pikhq> His spec.
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:03 <AnMaster> tire 2 will be a preprocessor
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:08 <AnMaster> pikhq, eh?
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:32 <tusho> LET'S MAIM PIKHQ!
20:41:34 * tusho maims pikhq
20:41:36 <AnMaster> tusho, hm?
20:41:50 <pikhq> Believe me when I say you don't want to write your own linker.
20:41:57 <AnMaster> tusho, it was no criticism
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 <pikhq> Bah.
20:42:29 <AnMaster> because the specs doesn't say anything about other stuff
20:42:46 <AnMaster> no it will be native C
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:02 <AnMaster> thanks oklopol
20:43:05 <oklopol> has anyone even ever seen it, really? no.
20:43:10 <tusho> i agree
20:43:11 <oklopol> AnMaster: no, not thanks
20:43:13 <AnMaster> oklopol, I have seen it
20:43:15 <tusho> I'm aassemblist
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:20 <tusho> AnMaster: Ha.
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:47 <AnMaster> pikhq, GAS syntax? ;P
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:18 <pikhq> ;p
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:27 <tusho> but in that it
20:44:28 <tusho> DOESN'T EXIST
20:44:30 <AnMaster> pikhq, I got AMD
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:44:50 <oklopol> indeed.
20:44:52 <AnMaster> tusho, thanks
20:45:00 <tusho> Ironically, I made an error there.
20:45:01 <AnMaster> but...
20:45:01 <AnMaster> is
20:45:05 <tusho> Should have been 'grammatical correction'.
20:45:05 <AnMaster> I HAZ AMD?
20:45:06 <AnMaster> correct?
20:45:08 <AnMaster> tusho, ?
20:45:11 <tusho> AnMaster: Only in LOLCODE.
20:45:14 <AnMaster> ah
20:45:15 <AnMaster> right
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:45:45 <tusho> it's grating
20:46:09 <oklopol> grating?
20:46:14 <tusho> yes.
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:03 <AnMaster> I'm sorry tusho
20:47:05 <AnMaster> but
20:47:05 <tusho> I imagine so.
20:47:07 <oklopol> tusho: well sure, sure, but i think that's more the kind of error native ppl make
20:47:09 <AnMaster> I will emit C code
20:47:13 <AnMaster> one function
20:47:14 <tusho> So?
20:47:16 <AnMaster> with lots of goto
20:47:19 <tusho> So?
20:47:19 <AnMaster> as jumps
20:47:22 <AnMaster> what?!
20:47:23 <tusho> So?
20:47:29 <AnMaster> oh my
20:47:31 <tusho> AnMaster: That's how my Underload compiler worked...
20:47:35 <AnMaster> right
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:46 <tusho> brb
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:28 <AnMaster> as in string literals
20:50:44 <AnMaster> the standard doesn't say anything about it
20:50:49 <pikhq> There is none specified yet.
20:50:50 <oklopol> string strang strung
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:51:49 * pikhq nods
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:02:55 <AnMaster> pikhq, so?
21:07:06 <tusho> bakkk
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:08:54 <AnMaster> I have
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:25 <AnMaster> I need decent 3D
21:09:30 <tusho> AnMaster: Apple.
21:09:31 <tusho> :)
21:09:32 <AnMaster> think high end, flight simulator
21:09:35 <AnMaster> tusho, not apple
21:09:44 <AnMaster> I need something I can afford
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:25 <AnMaster> I can install linux myself
21:10:29 <AnMaster> that isn't an issue
21:10:32 <tusho> AnMaster: What I mean is that they're linux friendly.
21:10:37 <AnMaster> true
21:10:43 <tusho> I saw a good wiki about them once
21:10:44 <tusho> lemme find it
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:13 <AnMaster> hm
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:43 <AnMaster> can't get 7 of 7 I bet...
21:12:48 <tusho> AnMaster: Pick 3.
21:12:52 <tusho> http://www.thinkwiki.org/wiki/ThinkWiki
21:12:54 <tusho> Go fish. :p
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:19:17 <AnMaster> but where?
21:21:04 <pikhq> ss:0
21:21:23 <AnMaster> pikhq, ss is?
21:21:29 <pikhq> The stack segment.
21:21:34 <AnMaster> segment...
21:21:46 <tusho> <AnMaster> segment...
21:21:48 <tusho> Kill. Kill. Kill.
21:21:54 <AnMaster> pikhq, that is something not specified by the standard againt
21:21:55 <AnMaster> again*
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:35 <AnMaster> to quote from the standard
21:22:41 <pikhq> Your point being?
21:22:46 <pikhq> :p
21:22:49 <AnMaster> pikhq, that you need 2 stacks
21:22:55 <pikhq> Fair 'nough.
21:22:59 <AnMaster> so it doesn't answer my question
21:22:59 <pikhq> There's also ds:0.
21:23:07 <AnMaster> data segment right?
21:23:12 * pikhq nods
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:45 <pikhq> Yes.
21:23:58 <AnMaster> because that is what everyone does these days
21:24:09 <AnMaster> does any "real" OS use segmentation?
21:24:15 <pikhq> DOS.
21:24:16 <pikhq> :p
21:24:26 <AnMaster> well "modern and real"
21:24:36 <Deewiant> DOS was a hoax!
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:18 <AnMaster> where you can have NX iirc
21:25:28 <AnMaster> or is that only 64-bit?
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:01 <AnMaster> ah right
21:26:22 <pikhq> For example: everything newer than a Pentium and older than an Athlon 64.
21:26:30 <AnMaster> right
21:26:42 <AnMaster> pikhq, my CPU got NX anyway
21:26:47 <AnMaster> it is a 64-bit sempron
21:26:51 <AnMaster> running a 64-bit OS
21:28:29 <tusho> AnMaster: my CPU *has* NX
21:28:37 <AnMaster> tusho, yes and?
21:28:45 <tusho> AnMaster: Grammatical fix.
21:28:51 <AnMaster> argh
21:28:52 <AnMaster> right
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:03 <AnMaster> it is easy to mis-say
21:29:05 <tusho> AnMaster: i guessed
21:29:25 <AnMaster> so you got it?
21:29:26 <AnMaster> ;P
21:29:33 <AnMaster> or rather
21:29:36 <AnMaster> so you has it?
21:29:38 <AnMaster> right?
21:29:44 <AnMaster> ;P;Å
21:29:46 <tusho> AnMaster: in which context
21:29:47 <AnMaster> ;P;P*
21:29:56 <AnMaster> tusho, that "it is is how it is said in Swedish"
21:30:00 <tusho> ah
21:30:01 <tusho> heh
21:30:30 <oklopol> what is all this low level weirdness on my #esoteric
21:30:45 <AnMaster> oklopol, Def-BF
21:30:54 <AnMaster> to low or not to low...
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:46 <AnMaster> oklopol, great
21:32:47 <AnMaster> do it!
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:53 <AnMaster> I will implement tomorrow
21:32:54 <AnMaster> to late today
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:03 <AnMaster> tusho, I realize that
21:33:05 <AnMaster> realise*
21:33:21 <AnMaster> however the linux kernel is in C
21:33:23 <AnMaster> so what?
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:33:58 <AnMaster> as the result
21:34:06 <tusho> AnMaster: The linux kernel has hefty asm.
21:34:11 <AnMaster> I know that
21:34:17 <AnMaster> but the majority is in C
21:34:23 <tusho> Not the most important parts.
21:34:24 <AnMaster> in device drivers and such
21:34:34 <AnMaster> only the arch specific stuff includes asm really
21:34:46 <AnMaster> for obvious reasons...
21:35:06 <AnMaster> tusho, because the linux kernel is portable
21:35:15 <tusho> yes
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:05 <pikhq> Trvially.
21:37:10 <pikhq> Trivially, rather.
21:37:14 <AnMaster> that could be run as the kernel?
21:37:20 <AnMaster> as in linked into a kernel
21:37:24 <AnMaster> + some glue asm
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:06 <AnMaster> than in kernel space
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:35 <AnMaster> edwardk, is that US?
21:39:35 <oklopol> yes!
21:39:37 <oklopol> well no.
21:39:39 <pikhq> Not I.
21:39:52 <oklopol> yeah is seattle in that us everyone keeps talking about?
21:39:53 <pikhq> I'm in Boston.
21:40:06 <AnMaster> pikhq, is that in US then?
21:40:13 <pikhq> Yes.
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:30 <AnMaster> I bet most wouldn't know
21:40:30 <pikhq> UK.
21:40:32 <AnMaster> yet...
21:40:37 <AnMaster> all assume we know of US
21:40:38 <pikhq> edwardk: Underage.
21:40:39 <oklopol> AnMaster: swedish
21:40:40 <AnMaster> how unfair is that?
21:40:42 <AnMaster> quite
21:40:43 <AnMaster> oklopol, good
21:40:47 <oklopol> *sweden
21:40:50 <edwardk> pikhq: fair nuff
21:40:52 <AnMaster> and pikhq was wrong
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:03 <AnMaster> tusho, and?
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:48 <oklopol> boston is the same thing
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:03 <pikhq> Sweden.
21:42:04 <tusho> AnMaster: sweden
21:42:04 <AnMaster> as in where in Sweden
21:42:09 <tusho> Somewhere.
21:42:12 <AnMaster> because I know where in US New York is
21:42:12 <AnMaster> ...
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:11 <oklopol> new york is a state
21:43:12 <AnMaster> not relevant
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:45 <pikhq> :p
21:43:54 <AnMaster> not really
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:05 <AnMaster> or a bit shorter
21:44:07 <oklopol> i probably know the states as well as an average american
21:44:07 <AnMaster> but not much
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:44:49 <AnMaster> but...
21:44:52 <AnMaster> that is not the same
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:36 <AnMaster> pikhq, there you are then
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:00 <AnMaster> yes and?
21:46:05 <AnMaster> tusho, they should learn!
21:46:10 <tusho> GASP! He knows more about his country than Sweden. How amazing.
21:46:21 <AnMaster> not odd
21:46:28 <AnMaster> of course you know more about your own country
21:46:30 <AnMaster> but
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:01 <tusho> No.
21:47:03 <tusho> No they don't.
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:16 <AnMaster> this is a general issue
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:34 <tusho> It's comparable.
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:17 <oklopol> ya
21:48:19 <oklopol> fast answer
21:48:21 <oklopol> ;)
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:27 <oklopol> finland is the balls
21:49:31 <AnMaster> oklopol, UGH
21:49:36 <oklopol> stockholm is at the bottom of the glans
21:49:40 <tusho> Well.
21:49:43 <tusho> That's an interesting analogy.
21:49:51 <AnMaster> that's obscene
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:49:58 <tusho> "UGH! Genitals!"
21:50:05 <AnMaster> tusho, not really
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:15 <AnMaster> that make me go UGH
21:50:29 <AnMaster> pikhq, is that true?
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:24 <AnMaster> then
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:00 <AnMaster> that isn't correct
21:52:02 <pikhq> North America is a fucking large continent.
21:52:12 <AnMaster> unless Canada is 0
21:52:12 <tusho> Canada is the size of Europe?
21:52:16 <tusho> Well I didn't know that.,
21:52:50 <CakeProphet> I'd say that's almost right...
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:01 <CakeProphet> we could check empirically.
21:53:17 <Deewiant> Europe is also around 10.
21:53:21 * pikhq nods
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:30 <CakeProphet> -shrug- I honestly think
21:55:35 <CakeProphet> it's a condition of circumstance
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:04 <CakeProphet> ...I don't know it?
21:56:05 <AnMaster> or even the capital of France
21:56:10 <CakeProphet> don't know it either.
21:56:16 <AnMaster> capital of Germany?
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:26 <CakeProphet> ....yes I know that one.
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:45 <CakeProphet> oh oh oh -raises hand-
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:56:58 <CakeProphet> yes
21:56:59 <AnMaster> CakeProphet, tell then
21:57:00 <CakeProphet> but see
21:57:06 <CakeProphet> you have like four-billion countries
21:57:07 <tusho> AnMaster: The sizes are the same ..
21:57:08 <CakeProphet> whereas we have... 3.
21:57:11 <AnMaster> well maybe
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:43 <tusho> *definition
21:57:46 <AnMaster> well afk
21:57:47 <tusho> We're talking about humans.
21:57:48 <AnMaster> night
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.
21:58:13 <tusho> bye.
21:58:17 <CakeProphet> night
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:31 * CakeProphet lives in the US state of Georgia, ftr.
22:02:56 <CakeProphet> I'm not sure if the capital of Georgia is internationally relevant or not.
22:03:04 <CakeProphet> it's a big city, no doubt.
22:04:05 <oklopol> wouldn't have remembered the capital
22:04:21 <pikhq> It's barely even locally relevant. :p
22:04:32 <CakeProphet> rofl
22:04:36 <CakeProphet> ATLANTA.
22:04:45 <pikhq> See? Who cares about Atlanta?
22:04:46 <oklopol> yeah
22:04:50 <CakeProphet> Atlanta only becomes relevant
22:04:56 <CakeProphet> when you are attempting to make a cross-country flight
22:04:58 <CakeProphet> in the US
22:05:01 * pikhq nods
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:06:41 <CakeProphet> *Turner
22:07:24 <CakeProphet> I know most of the west Europe capitals.
22:07:50 <CakeProphet> not where they're located in the country.
22:07:54 <CakeProphet> Except Berlin for some reason.
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:00 <CakeProphet> awesome music.
22:12:13 -!- RedDak has joined.
22:12:23 <CakeProphet> there was seriously this amazing drummer who was like... inbred.
22:12:43 <CakeProphet> it was like Deliverance.
22:12:51 <Guest53704> cakeprophet! :O
22:12:51 <Guest53704> hi.
22:12:54 <Guest53704> oklopol! :O
22:12:57 <Guest53704> hey. ;D
22:12:59 <Guest53704> tusho! :O
22:13:00 <Guest53704> die.
22:13:08 <Guest53704> :P
22:13:20 <tusho> hi augur
22:13:29 <Guest53704> hey.
22:13:31 <Guest53704> hows it goin
22:13:39 <tusho> i dunno Guest53704
22:15:39 <oklopol> okokokokokokokokokokokoko
22:15:42 <oklopol> okokokokokokokokokokokoko
22:15:47 <oklopol> hi Guestie
22:17:19 <Guest53704> damnit
22:17:21 -!- Guest53704 has changed nick to psygnisfive.
22:17:30 <psygnisfive> fucking nickserv
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:21 <oklopol> so that
23:09:29 <oklopol> say you have speed
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:25 <oklopol> the point is
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.
2008-07-21
00:01:22 <CakeProphet> oklopol: like... introspection of code behavior?
00:01:56 <CakeProphet> if this calls that, do this?
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:48:33 <oklopol> CakeProphet: err
00:48:59 <CakeProphet> pikhq: inbetween
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:19 <CakeProphet> as in...trim it up but don't shave it.
00:49:20 <oklopol> if that can be ensured
00:49:20 <psygnisfive> oklopol your girlfriend is interrogating me! :(
00:49:27 <oklopol> psygnisfive: i know
00:49:29 <psygnisfive> :p
00:49:33 <lilja> hrrrr
00:49:55 <oklopol> pikhq: keep the current one
00:50:10 <CakeProphet> oklopol: hmmm... ah
00:50:18 <CakeProphet> not any language I know of.
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:44 <pikhq> :p
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:09 <CakeProphet> oklopol: I could see it being impossible
00:51:14 <CakeProphet> it just wouldn't straightforward, you know.
00:51:17 <oklopol> CakeProphet: it is in general, yes
00:51:25 <CakeProphet> er...
00:51:27 <CakeProphet> *possible
00:51:29 <CakeProphet> ...
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:07 <oklopol> well not necessarily
00:53:10 <oklopol> but preferably
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:17 <CakeProphet> until later.
00:53:23 <CakeProphet> for a single-pass interpreter, that is
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:53:51 <CakeProphet> yes
00:53:58 <oklopol> yep, that's the idea
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:10 <oklopol> sorry!
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:27 <bwr> ah
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:38 <oklopol> n would be 2 after that
01:00:51 <oklopol> and if you did n.inc, you'd get n+1 without modifying n
01:01:05 <bwr> ah
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:03:12 <bwr> haha
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:04:52 <bwr> ok
01:04:54 <CakeProphet> ...yeah
01:04:56 <CakeProphet> was going to say
01:05:00 <bwr> what do you mean then
01:05:10 <CakeProphet> ...dupdog is a very bad example.
01:05:15 <CakeProphet> because it was not thought at all
01:05:15 <oklopol> say befunge without a stack, and just p/g
01:05:22 <oklopol> in case you know befunge
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:00 <bwr> yea
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:30 <CakeProphet> as its state.
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:40 <CakeProphet> ...ahahaha... functional dupdog.
01:11:58 <CakeProphet> ggggggggggggggggggggggggg?(gggggggg?gggggggggggggggg?ggggggggggggg?)
01:13:02 <CakeProphet> hmmm...
01:13:10 <CakeProphet> well... if say
01:13:19 <CakeProphet> codehere(codethere)
01:13:32 <CakeProphet> if the instructions in codehere manipulated the code in codethere.
01:13:57 <CakeProphet> ...
01:14:00 <CakeProphet> I'm not sure what I'm thinking.
01:19:03 <CakeProphet> ...nah... not like that.
01:19:23 <CakeProphet> it'd be more like...
01:21:00 <CakeProphet> g > ee ee >> lo < ee < ee
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:21 <bwr> why not?
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:25:08 <bwr> right
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:19 <CakeProphet> ...
01:26:47 <CakeProphet> so your operands are also your operators.
01:26:56 <bwr> i am confused
01:26:57 <bwr> :P
01:27:11 <CakeProphet> It will have to be /just/ right.
01:27:16 <CakeProphet> otherwise it will be a mess.
01:27:21 <CakeProphet> well
01:27:25 <CakeProphet> it will be a bad mess
01:27:26 <CakeProphet> instead of a good mess.
01:27:28 <CakeProphet> ;)
01:27:45 <CakeProphet> like if make one instruction lt
01:27:51 <CakeProphet> and one instruction tl
01:27:58 <CakeProphet> and some other instructions that reverse words
01:28:06 <CakeProphet> then you have... something.
01:28:56 <CakeProphet> and something like la da la da > de do de do <
01:29:01 <CakeProphet> would be a self-modifying loop.
01:29:04 <CakeProphet> of some... sort.
01:30:45 * CakeProphet is trying to find the eureka moment... where it figures out how everything will become usable.
01:38:29 <psygnisfive> oklopollll
01:38:33 <psygnisfive> your girlfriend likes my voice :(
01:38:35 <psygnisfive> it frightens me
01:38:55 <oklopol> :)
01:39:00 <oklopol> she likes many voices
01:41:54 <psygnisfive> thank god
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:04 <oklopol> at least somewhat
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:45:47 <oklopol> *not all
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:57:26 <oklopol> but i don't care
01:59:05 -!- cherez has joined.
02:51:24 <CakeProphet> oklopol: if only ASCII had more brackets.
02:51:44 <oklopol> heh
03:05:50 -!- oerjan has joined.
03:31:46 <Slereah__> I don't even know where the curly brackets come from.
03:31:51 <Slereah__> I mean, technically
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:35:28 <oerjan> mutation
03:35:43 <Slereah__> onoes!
03:35:57 <oerjan> evolution in action
03:35:58 <Slereah__> Wasn't it... INTELLIGENT DESIGN?
03:36:03 <Slereah__> Or at least stupid design
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:03 <Slereah__> BACTERIAS?
03:38:06 <CakeProphet> ....why does everyone care about terseness
03:38:16 <CakeProphet> until
03:38:18 <Slereah__> WHAT'S WRONG WITH AUTOREPLICATING RNA STRANDS?
03:38:20 <CakeProphet> they define an XML spec.
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:13 <psygnisfive> 9 squiggles 0?!
03:39:36 <oklopol> that fucking blew my mind
03:39:49 <oklopol> this girl seriously needs a timecube of her own
03:39:56 <psygnisfive> haha
03:39:59 <CakeProphet> rofl
03:39:59 <Slereah__> This seems terribly stupid
03:40:04 <CakeProphet> it does.
03:40:14 <Slereah__> Also her voices echo
03:40:16 <puzzlet> ok i'm watching it
03:40:17 <Slereah__> She must be God
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:35 <psygnisfive> so..
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:41:47 <psygnisfive> DIGIT SUM LEVEL
03:41:48 <psygnisfive> lmfao
03:41:50 <CakeProphet> OSHI
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:10 <psygnisfive> the vedas are stupid
03:43:11 <psygnisfive> sorry
03:43:14 <oklopol> they just get me so fucking angry
03:43:14 <psygnisfive> but they are
03:43:15 <oklopol> :P
03:43:22 <oerjan> was wiener's famous dachshound involved?
03:43:51 <Slereah__> oerjan : It could be!
03:43:57 <Slereah__> Just tell that exact same story around you
03:44:01 <Slereah__> And add the dog
03:44:06 <Slereah__> That's how anecdotes work!
03:44:07 <oerjan> ah
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:45:14 <psygnisfive> oklopol, is you near your girlfriend?
03:45:33 <oklopol> no
03:45:54 <psygnisfive> oh. nevermind then.
03:46:04 <oklopol> no do tell anyway
03:46:14 <psygnisfive> well its kind of pointless now. :P
03:47:18 <oklopol> yes but tell anyway
03:47:29 <psygnisfive> get off irc, dont be lame. go cuddle.
03:47:34 <psygnisfive> :P
03:47:43 <psygnisfive> obviously not relevant :P
03:47:49 <oklopol> :)
03:48:04 <oklopol> i can cuddle myself
03:48:15 <psygnisfive> pics or it didnt happen.
03:48:43 <oklopol> fresh batch coming soon just ya wait ::::)
03:48:49 <psygnisfive> :D
03:49:05 <oklopol> but seriously, i sleep now, and no, you will not be getting naked pictures tonight :P
03:49:06 <oklopol> ->
03:49:15 <psygnisfive> i dont want naked pictures
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:49:21 <psygnisfive> tho i wont refuse them :D
03:53:48 <Slereah__> There was also an episode of Dilbert.
03:53:54 <Slereah__> "Who'd like to hug?"
03:54:02 <Slereah__> And then you see Asok hugging himself.
03:54:08 <Slereah__> "Oh, you mean each other."
03:56:34 <psygnisfive> hahaha
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:03:44 <psygnisfive> whats the problem?
04:03:49 <oklopol> and
04:03:50 <oklopol> err
04:03:57 <psygnisfive> o.o;
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:04:54 <psygnisfive> i dont understand but ok :D
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:16 <oklopol> err
04:05:17 <oklopol> just
04:05:28 <oklopol> a 2d matrix, like.
04:05:40 <oklopol> so that nodes are connected to their four neighbors
04:05:50 <psygnisfive> ok
04:06:01 <psygnisfive> so a square graph like structure
04:06:13 <oklopol> well yeah i guess
04:06:15 <oklopol> so anyway
04:06:51 <oklopol> he was wondering whether the obvious solution, a cross of height and width 2n+1
04:06:54 <oklopol> was the optimal
04:07:09 <oklopol> well, it's clear we can only separate four structures with removing one node
04:07:09 <psygnisfive> im not sure what the problem is tho :D
04:07:15 <oklopol> oh?
04:07:16 <oklopol> well just
04:07:31 <oklopol> you have an initial connected structure
04:07:35 <oklopol> and one node is removed
04:07:46 <psygnisfive> how big is the 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:08 <psygnisfive> ok.
04:08:14 <psygnisfive> and what are the restrictions??
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:08:57 <psygnisfive> i dont entirely follow.
04:09:01 <psygnisfive> but you need to sleep. bye.
04:09:02 <psygnisfive> :P
04:09:06 <oklopol> :|
04:09:11 <oklopol> i can't unless you get it
04:09:12 <oklopol> so
04:09:12 <oklopol> err
04:09:20 <oklopol> what's hard about it :P
04:09:21 <psygnisfive> i refuse to get it. go to sleep.
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:45 <oklopol> err
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:07 <oklopol> shape can be anything
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:24 <psygnisfive> that structure is infinitely large.
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:32 <oklopol> *connected structures
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:12:57 <psygnisfive> there is not largest
04:13:04 <psygnisfive> unless im misunderstanding the problem.
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:25 <psygnisfive> yes i said that already :p
04:13:28 <oklopol> n need not be infinity, that's one of the trivial cases
04:13:30 <psygnisfive> but if you used four squares
04:13:34 <psygnisfive> or any square
04:13:35 <psygnisfive> or anything
04:13:39 <psygnisfive> there is no largest
04:13:47 <psygnisfive> but you do split it into structures smaller than the original one
04:13:49 -!- vollmond has joined.
04:13:51 <psygnisfive> but there is no largest
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:31 <psygnisfive> but there can be no largest
04:14:36 <oklopol> err?
04:14:39 <psygnisfive> take four squares and connect them at the corner
04:14:40 <oklopol> well say n is 3
04:14:51 <psygnisfive> if n is three you have what sort of structure?
04:14:54 <psygnisfive> o-o-o?
04:14:57 <oklopol> you saying you can have the initial structure infinite?
04:14:58 <psygnisfive> where o is a node and - is a connection
04:14:58 <psygnisfive> ?
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:32 <oklopol> 9 is
04:15:51 <psygnisfive> if n is three, what is an example of such a structure
04:16:07 <psygnisfive> because i dont think im following
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:27 <psygnisfive> and a largest possible structure
04:16:34 <oklopol> this is the largest possible
04:16:39 <psygnisfive> how is that n = 0
04:16:41 <psygnisfive> er
04:16:42 <psygnisfive> n = 3
04:16:50 <psygnisfive> and how is that the largest
04:16:53 <psygnisfive> how do you define largest
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:23 <psygnisfive> but what is largeness
04:17:26 <oklopol> the problem was just proving this, which is of course trivial
04:17:30 <oklopol> oh
04:17:33 <oklopol> number of nodes.
04:17:36 <psygnisfive> ok
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:29 <psygnisfive> what does the 3 do?
04:18:32 <psygnisfive> where does 3 come in?
04:18:42 <psygnisfive> its just some number?
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:18:55 <oklopol> n can be 3 too.
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:12 <oklopol> yes
04:19:25 <oklopol> the problem was just proving that
04:19:28 <psygnisfive> ..
04:19:33 <psygnisfive> whats to prove?
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:19:51 <psygnisfive> er
04:19:53 <psygnisfive> four smaller structures
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:27 <psygnisfive> it must have n-1 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:20:48 <psygnisfive> thus you have (n-1)*4 nodes
04:20:53 <psygnisfive> plus the node you remove at the center
04:20:58 <psygnisfive> the shape itself is irrelevant.
04:21:12 <psygnisfive> i dont see why this is an interesting problem
04:21:20 <oklopol> it's not
04:21:27 <psygnisfive> then why are you trying to solve it? :(
04:21:30 <oklopol> i can give you the other one i solved
04:21:31 <oklopol> err
04:21:34 <psygnisfive> youre confusing
04:21:35 <oklopol> i wasn't trying to solve it
04:21:36 <psygnisfive> go to sleep
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:21:55 <psygnisfive> go to sleep, oklopol :p
04:21:56 <oklopol> yeah
04:22:00 <oklopol> the other one is more interesting
04:22:02 <oklopol> basically
04:22:05 <psygnisfive> go to sleep.
04:22:07 <oerjan> also, after this mess i'm not sure if he will be able to anyhow
04:22:08 <psygnisfive> im not listening
04:22:17 <oklopol> you have an NxN matrix
04:22:21 <oklopol> oerjan: will you listen?
04:22:21 <psygnisfive> oh god
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:42 <oerjan> right (in order?)
04:23:46 <oklopol> yes
04:23:48 <oklopol> at first
04:23:52 <psygnisfive> its morning for oklopol too!
04:23:55 <psygnisfive> he hasnt slept yet!
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:24:55 <oklopol> now, the problem was jut
04:24:57 <oklopol> *just
04:25:09 <oerjan> you mean separated by more than one column?
04:25:11 <psygnisfive> oklopol, i presume you wrap?
04:25:13 <oklopol> to prove that there is no set of movements that makes this chain move away from the matric
04:25:15 <oklopol> *matrix
04:25:20 <oklopol> oh, right
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:25:56 <psygnisfive> ok so..
04:25:59 <psygnisfive> i dont follow again :D
04:26:00 <oklopol> oerjan: hmm
04:26:01 <oklopol> err
04:26:17 * oerjan doesn't either
04:26:31 <oklopol> well let's try again :)
04:26:39 <oerjan> can a number stay in place?
04:26:45 <oklopol> err, yes.
04:26:52 <oklopol> it can move right, left, or stay put
04:27:03 <oklopol> right
04:27:03 <oklopol> also
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:17 <oerjan> oh
04:27:24 <oklopol> just that you can't have adjacent numbers two apart
04:27:41 <psygnisfive> what do you mean adjacent numbers
04:27:41 <oklopol> otherwise everything can move freely, although at most one to either direction on each step
04:27:46 <oklopol> 1 and 2 are
04:27:49 <psygnisfive> oh you mean ok
04:27:49 <oklopol> 4 and 3 are
04:27:53 <oklopol> 3 and 6 aren't
04:27:53 <psygnisfive> between rows
04:27:55 <oklopol> ya
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:11 <psygnisfive> ok so whats the goal now?
04:28:17 <oklopol> oerjan: nothing
04:28:20 <oklopol> but that doesn't solve it.
04:28:22 <oklopol> or does 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:34 <psygnisfive> right?
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:15 <oklopol> err yes, NxN matrix
04:29:23 <oklopol> psygnisfive: yes exactly
04:29:32 <psygnisfive> so really the problem is this:
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:08 <psygnisfive> in which case i dont think its possible
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:21 <psygnisfive> oklopol: thats what it amounts to tho.
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:38 <oklopol> *right
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:04 <oklopol> psygnisfive: no, i didn't
04:31:10 <oklopol> oerjan: you won't get the last one out
04:31:12 <psygnisfive> oh. well then.
04:31:21 <psygnisfive> i thought you had that restriction :p
04:31:27 <psygnisfive> if i didnt, then the solution is obvious.
04:31:30 <oklopol> psygnisfive: i do
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:20 <psygnisfive> then yes, the solution is plainly obvious
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:32:39 <oklopol> psygnisfive: yes, true
04:32:40 <oklopol> do prove it
04:32:40 <oklopol> oerjan: yes
04:32:49 <psygnisfive> all movement is left one at a time
04:32:51 <oklopol> what?
04:32:55 <psygnisfive> or right
04:32:59 <psygnisfive> one space at a time
04:33:06 <oklopol> psygnisfive: you won't get the last one out
04:33:09 <psygnisfive> i know
04:33:11 <psygnisfive> but let me finish
04:33:16 <oklopol> okay
04:33:16 <oerjan> this implies at least _some_ adjecent numbers must leave in different places, a contradiction
04:33:22 <oerjan> *adjacent
04:33:26 <oklopol> oerjan: yes, that's it.
04:33:38 <psygnisfive> item m will take m steps to get out
04:33:44 <psygnisfive> that is, it gets out on row m+1
04:34:14 <psygnisfive> if you go in one direction
04:34:28 <psygnisfive> and N-m steps if you go in the other direction
04:34:56 <psygnisfive> maybe not N-m actually sorry
04:34:59 <psygnisfive> N-m+1
04:35:09 <psygnisfive> so item 1 gets out in 1 step, going left
04:35:19 <psygnisfive> and N steps going right
04:35:24 <psygnisfive> 2 gets out in 2 steps going left
04:35:27 <psygnisfive> N-1 going right
04:35:28 <psygnisfive> and so on
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:25 <psygnisfive> N-(N/2+1)+1 = N-N/2-1+1 = N/2
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:07 <psygnisfive> as much of a proof as im going to give.
04:39:16 <oklopol> err okay, i don't see a proof there
04:39:22 <psygnisfive> why not?
04:39:24 <psygnisfive> its clear.
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:39:58 <psygnisfive> no
04:40:07 <psygnisfive> i proved that its possible to get it out in Ceil(N/2) steps
04:40:08 <psygnisfive> :P
04:40:25 <oklopol> :|
04:40:33 <psygnisfive> for items < N/2, move left, for items > N/2 move right
04:40:42 <oklopol> err
04:40:44 <psygnisfive> they only need to make N/2 moves.
04:40:55 <oklopol> first of all you *cannot* solve that
04:41:02 <psygnisfive> what?
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:53 <oklopol> err
04:41:56 <psygnisfive> because your previous explanation permitted what i just said.
04:41:57 <oklopol> there cannot be a row
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:40 <psygnisfive> i dont know what that means.
04:42:44 <oklopol> okay
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:11 <oklopol> 1 and 2 are adjacent
04:43:16 <oklopol> 4 and 3 are adjacent
04:43:21 <oklopol> 6 and 3 aren't adjacent
04:43:26 <psygnisfive> ok. i think i follow.
04:43:32 <oerjan> --> shower
04:43:39 <psygnisfive> and in that case, its not possible.
04:43:52 <oklopol> yeah, it's not, the point was to prove tat
04:43:52 <oklopol> *that
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:34 <psygnisfive> for any item m
04:44:51 <psygnisfive> moving left will take m steps since its m from the edge
04:44:59 <psygnisfive> moving right will take N-m+1 steps
04:45:13 <oklopol> yes, duh
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:38 <psygnisfive> so spreading as a whole is useless
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:48:50 <oklopol> sure
04:49:01 <psygnisfive> putting it into maths is just grunt work.
04:49:09 <psygnisfive> take the end items
04:49:11 <psygnisfive> item 1, say
04:49:23 <psygnisfive> that will move, at most, N spaces left
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:49:59 <psygnisfive> so theres no solution.
04:50:03 <oklopol> psygnisfive: i'd say the mathematical way to say it is quite simple
04:50:09 <psygnisfive> yes, but its grunt work
04:50:11 <psygnisfive> and pointless.
04:50:30 <oklopol> :P
04:50:32 <psygnisfive> sometimes formal proofs are unnecessary.
04:50:36 <oklopol> well that's one way to see it
04:50:41 <psygnisfive> especially for something like this.
04:51:01 <psygnisfive> the extreme possibilities cant solve it, and therefore no intermediate possibilities can.
04:51:08 <psygnisfive> no movement + no spreading = fail
04:51:14 <psygnisfive> full movement + no spreading = fail
04:51:18 <psygnisfive> no moving + spreading = fail
04:51:24 <psygnisfive> full movement + spread = fail
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:01 <psygnisfive> go to sleep, oklopol. :P
04:53:08 <oklopol> perhaps i should, at some point
04:53:13 <oklopol> it's just i'm not at all tired
04:53:17 <psygnisfive> lame
04:53:21 <oklopol> so... it's a bit hard.
04:53:26 <psygnisfive> oh i bet it is
04:53:29 <psygnisfive> ;O
04:53:31 <psygnisfive> :P
04:55:21 <psygnisfive> gimme more pics of you :D
04:55:40 <oklopol> still don't have any :)
04:55:51 <psygnisfive> but you have a webcam!
04:55:52 <oklopol> also the only software i had for the webcam broke
04:55:57 <oklopol> hmm
04:55:57 <psygnisfive> lame
04:56:01 <oklopol> i have skype now, though
04:56:05 <oklopol> so i could take vid
04:56:10 <psygnisfive> ok :D
04:56:15 <psygnisfive> get on skype
04:56:15 <psygnisfive> :D
04:56:17 <oklopol> ...
04:56:26 <psygnisfive> ill take the vid :P
04:56:31 <oklopol> i'm on skype, but that's not gonna happen :P
04:56:32 <psygnisfive> actually i wont bother recording it
04:56:40 <psygnisfive> aww
04:56:41 <psygnisfive> :(
04:56:48 <psygnisfive> why not?
04:56:49 <psygnisfive> :(
04:56:58 <oklopol> mainly because i'm naked.
04:57:02 <psygnisfive> ..
04:57:06 <psygnisfive> VIDEO.
04:57:07 <psygnisfive> NOW.
04:58:01 <oklopol> :)
05:01:17 -!- poiuy_qwert has joined.
05:09:32 <psygnisfive> hey :(
05:09:34 <psygnisfive> that was mean!
05:09:36 <psygnisfive> tease.
05:09:37 <psygnisfive> >|
05:10:19 <oklopol> :D
05:10:39 <psygnisfive> ::pounce::
05:11:18 <psygnisfive> lets make a truly queer language oklopol.
05:11:24 <psygnisfive> something thats really different.
05:11:32 <psygnisfive> not painfully hard or whatever
05:11:38 <psygnisfive> no funges or brainfucks or the like
05:11:47 <psygnisfive> something with a completely different perspective on computation
05:15:02 <CakeProphet> ...this has already been done.
05:15:09 <CakeProphet> but yes
05:15:14 <CakeProphet> it would be awesome to do it again.
05:15:45 <oerjan> sometimes, xkcd is ... weird.
05:15:56 <oerjan> that's one reason why we love it, i assume
05:16:00 <psygnisfive> hows it been done
05:16:09 <psygnisfive> i mean, i know it HAS, most new paradigms are like that
05:16:15 <psygnisfive> but i wanna know
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:04 <psygnisfive> lol
05:17:06 <psygnisfive> ok
05:17:12 <oklopol> it's just my computer crashed for 15 minutes
05:17:22 <psygnisfive> ouch
05:17:38 <psygnisfive> get a mac :D
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:18:51 <psygnisfive> :(
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:14 <oklopol> but actually
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:41 <oklopol> and the comp jammed again
05:19:42 <oklopol> so now
05:19:49 <psygnisfive> :O
05:19:55 <psygnisfive> get a mac :)
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:20:42 <psygnisfive> except jerk off on camera for me
05:20:44 <psygnisfive> i mean uh
05:20:52 <oklopol> right, that i can't do.
05:21:03 <oklopol> not sure if i can live with that, need to ponder the issue
05:21:06 <oklopol> ->
05:21:08 <oklopol> night
05:21:12 <psygnisfive> finally!
05:21:16 <oklopol> :)
05:21:22 <psygnisfive> ::kisscheek:: night
05:21:24 <oklopol> got pretty tired looking at the black screen
05:21:26 <oklopol> ->
05:21:45 <psygnisfive> oerjan, xkcd, weird, why?
05:22:31 <oerjan> today
05:22:41 <psygnisfive> looking
05:23:18 <psygnisfive> lmfao wtf XD
05:24:48 <oklopol> link!
05:24:49 <oklopol> ...
05:24:55 <psygnisfive> GO TO SLEEP
05:25:00 <oklopol> :(
05:25:00 <oerjan> http://xkcd.com/
05:25:08 <psygnisfive> go have wet dreams about me. :X
05:30:30 <oklopol> ->
05:53:18 -!- oerjan has quit ("Omnibus").
06:15:22 <CakeProphet> ...John Mayer is very very good.
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:55:10 <AnMaster> Athens
07:55:23 <AnMaster> Belgrade
07:55:34 <AnMaster> Dublin
07:55:42 <AnMaster> Lisabon
07:55:51 <AnMaster> Moscow
07:56:21 <AnMaster> and of course Oslo, Helsinki, Stockholm, Copenhagen
07:56:27 <AnMaster> Reykjavik
07:56:54 <AnMaster> Warsawa (or is it Warsaw in English?)
07:57:33 <AnMaster> Hm Turkey, that would be Ankara
07:57:54 <AnMaster> bb going to swim
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:36:57 <deveah> mornin dudes
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:19:43 <AnMaster> lets see...
10:20:03 <AnMaster> Baghdad
10:20:22 <AnMaster> New Delhi
10:20:36 <AnMaster> Singapore, or is that part of China nowdays?
10:20:50 <AnMaster> Taipei, would be Taiwan iirc
10:21:00 <AnMaster> Lhasa... Tibet
10:21:37 <AnMaster> Kuala Lumpur, Kathmandu, Islamabad
10:22:11 <AnMaster> Beirut, Bangkok
10:22:54 <AnMaster> Naypyidaw is Burma, not sure about spelling
10:23:04 <AnMaster> can't do more
10:23:23 <AnMaster> as for US and Canada
10:23:26 <AnMaster> they are countries
10:24:14 <AnMaster> Washington D.C. and Ottawa
10:24:19 <AnMaster> Mexico City
10:24:29 <AnMaster> that's all in North America iirc
10:24:48 <AnMaster> South America.... hm
10:25:03 <AnMaster> Brasilia, Buenos Aires,
10:25:17 <AnMaster> Lima?
10:25:51 <AnMaster> well I'm bad at south america
10:26:23 <AnMaster> Africa...
10:26:47 <AnMaster> Pretoria, Dakar, Dar es Salaam
10:27:07 <AnMaster> Tripoli
10:27:21 <AnMaster> Harare
10:27:48 <AnMaster> Tunis?
10:27:58 <AnMaster> not too good there either
10:28:12 <AnMaster> for Oceania and Australia...
10:28:21 <AnMaster> Wellington, Canberra
10:28:46 <AnMaster> nop can't think of more there
10:29:48 <AnMaster> GregorR, ^
10:31:42 -!- tusho has joined.
10:33:32 <Deewiant> AnMaster: Seoul
10:33:43 <Deewiant> Peking is valid in English as well, the more common is Beijing
10:33:58 <AnMaster> Deewiant, ah thanks
10:34:02 <Deewiant> Warsaw in English
10:34:13 <AnMaster> still I think I managed rather good
10:34:16 <Deewiant> Singapore isn't part of China
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:00 <AnMaster> tusho, no GregorR was
10:35:03 <AnMaster> <GregorR> AnMaster, fizzie: Now list all the state capitals of the US states and Canadian provinces :P
10:35:10 <AnMaster> not a lot I can do about that
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:35:46 <AnMaster> read the logs
10:35:51 <AnMaster> from all over the world
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:36:51 <AnMaster> puzzlet, where is it located?
10:36:59 <puzzlet> Sri Lanka
10:37:02 <AnMaster> k
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:37:42 <AnMaster> well yes I do care
10:37:46 <AnMaster> I love knowledge
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:19 <tusho> is longer than
10:51:22 <tusho> http://en.wikipedia.org/wiki/APL
10:51:27 <tusho> er
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:00 <tusho> deveah: regexps
11:22:14 <deveah> what?!
11:22:19 <tusho> deveah: look it up.
11:22:26 <tusho> http://en.wikipedia.org/wiki/Regular_expression
11:25:36 <deveah> and why s/foo/bar ?
11:25:49 <deveah> why not "a regexp" ?
11:25:58 <oklopol> deveah: it's not just a regex
11:26:11 <oklopol> the gist is
11:26:12 <oklopol> s/from/to/
11:26:24 <deveah> and s is...
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:26:49 <oklopol> i would do
11:27:01 <oklopol> s/soemthnig/something/
11:27:11 <deveah> oh
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:29:26 <deveah> okay then
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)).
13:22:32 <psygnisfive> oklopol
13:22:39 <psygnisfive> how many hours of sleep have you had
13:48:23 <tusho> psygnisfive: 72
13:48:45 <psygnisfive> :P
13:48:48 <psygnisfive> he hasnt :(
13:49:12 <psygnisfive> 6 hours
13:49:14 <psygnisfive> not that bad
13:49:18 <psygnisfive> assuming he slept all of it
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:38:44 <ais523> hi tusho
14:38:50 <tusho> fucking fuck.
14:38:53 <tusho> :|
14:38:56 <psygnisfive> lol
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:37 <tusho> that's crazy!
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:08 <tusho> so?
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.
14:49:10 <ais523> wb ais523
14:49:18 <psygnisfive> lol
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:18:26 <psygnisfive> what are they making noises about?
15:19:22 <tusho> pikhq: I've never had any problems with upgrading macs.
15:19:37 <psygnisfive> not upgrading
15:19:39 <psygnisfive> updating
15:19:47 <psygnisfive> not even as bad as an upgrade!
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:01 <psygnisfive> uh
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:50 <psygnisfive> ah.
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:10 <psygnisfive> convenient.
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:44 <psygnisfive> dude even on ubuntu
15:23:49 <pikhq> Um, no.
15:23:53 <ais523> well, I'm not Torvalds
15:23:54 <ais523> and it works for me
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:16 <psygnisfive> instructions which /didnt work/
15:25:31 <pikhq> Um. . . There shouldn't need to be instructions.
15:25:35 <psygnisfive> well there were
15:25:41 <psygnisfive> i didnt make the ubuntu site
15:25:42 <pikhq> "In the package manager: install gparted."
15:25:55 <psygnisfive> they were command line instructions, too.
15:26:02 <pikhq> *facepalm*
15:26:30 <psygnisfive> uh.. is google down?
15:26:34 <psygnisfive> i cant access google...
15:26:54 <pikhq> If Google is down, then I think we have bigger issues to worry about.
15:27:01 <psygnisfive> :p
15:27:02 <pikhq> Such as the nuking of California.
15:27:13 <psygnisfive> i cant access google :(
15:27:44 <psygnisfive> ok there we go
15:27:55 <ais523> Google isn't down
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:38 <psygnisfive> i dont have a problem with the CL
15:28:40 <psygnisfive> far from it
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:20 <psygnisfive> (installs, i mean, not apps to run)
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:31:53 <psygnisfive> indeed.
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:38 <psygnisfive> and it almost never works
15:32:42 <psygnisfive> especially for utilities and the like
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:35 <psygnisfive> yeah.
15:35:37 <psygnisfive> dependency errors.
15:35:40 <psygnisfive> i dont know dude.
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:35:51 <psygnisfive> o_o;
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:40 <tusho> It starts with \0
15:36:42 <tusho> Then:
15:36:46 <tusho> Until x == crc32(x)
15:36:48 <tusho> 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:05 <psygnisfive> ais: halting problem much?
15:37:14 <ais523> well, at least CRC32's reverse-engineerable
15:37:14 <tusho> psygnisfive: Uh, no.
15:37:16 <psygnisfive> i hope its bistable and never terminates.
15:37:18 <tusho> It just depends on CRC32's definition
15:37:20 <tusho> :P
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:37:37 <tusho> ;_;
15:37:39 <psygnisfive> ::prays for bistability::
15:37:42 <ais523> well, using division
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:33 <tusho> humph
15:42:40 * tusho considers a good hashing function to find a self-hash in
15:43:04 -!- Dewio has joined.
15:45:02 <tusho> brb
15:45:27 <AnMaster> ais523, hi
15:45:32 <ais523> hi AnMaster
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:45:55 <ais523> s/write/right/
15:45:58 <ais523> ok, updated
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:13 <AnMaster> as in virtual machine style
15:46:16 <AnMaster> compiled though
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:46:56 <AnMaster> so I would want to learn
15:47:05 <ais523> AnMaster: I'd use flex/bison
15:47:12 <ais523> or lex/yacc, the original versions of such
15:47:17 <AnMaster> ais523, you use both at once?
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:48:52 <AnMaster> and if you added blocks
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:31 <AnMaster> yes [ not {
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:50:44 <AnMaster> ah
15:50:45 <AnMaster> right
15:51:04 <AnMaster> ais523, file endings for flex is .l isn't it? and what is it for bison?
15:51:09 <ais523> .y
15:51:16 <AnMaster> thanks
15:51:20 <AnMaster> now to learn bison too
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 <AnMaster> ah
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> ./etc/cftoec.sh
15:52:11 <AnMaster> Finished pulling and applying.
15:52:13 <pikhq> Shift/reduce conflicts galore.
15:52:16 -!- Dewio_ has joined.
15:52:20 <AnMaster> what do I do now ais523?
15:52:25 <AnMaster> I'm not that used to darcs
15:52:35 <AnMaster> how do I make it throw away my version
15:52:37 <AnMaster> and use yours
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:53:39 <AnMaster> ah
15:53:41 <AnMaster> thanks
15:54:52 -!- Dewi has quit (Nick collision from services.).
15:54:56 -!- Dewio_ has changed nick to Dewi.
15:56:33 <AnMaster> ais523, are flex regexes?
15:56:39 <ais523> yes
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:08 <ais523> yes, it would
15:57:12 <ais523> AnMaster: longest match, I think
15:57:19 <AnMaster> huh?
15:57:20 <AnMaster> ok
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:26 <AnMaster> that's in the .y file?
15:58:29 <ais523> s/data/tokens/
15:58:29 <ais523> AnMaster: yes
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:57 <AnMaster> ah
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:28 <AnMaster> say:
15:59:36 <AnMaster> ? takes a hex number as a parameter
16:00:40 <tusho> wow, ais523 is a walking yacc tutorial.
16:01:03 <AnMaster> to which I'm very grateful
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:12 <AnMaster> ah
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:28 <AnMaster> hm...
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:13 <AnMaster> hrrm
16:04:29 <AnMaster> I written simple parsers in bash and such
16:04:33 <AnMaster> and in C
16:04:37 <AnMaster> hand coded them
16:04:41 -!- Dewio has quit (Read error: 101 (Network is unreachable)).
16:04:55 <ais523> pikhq: yep
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:45 <AnMaster> ok
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:06:21 <ais523> and sends it to yacc
16:07:07 <AnMaster> thanks
16:12:12 <tusho> WTF
16:12:15 <tusho> LINERIDER REQUIRES SILVERLIGHT
16:12:17 <tusho> NOW
16:12:36 <ais523> oh dear
16:13:31 * pikhq mutters about Silverlight being the worst thing for mankind since mankind
16:13:32 <pikhq> :p
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:13:54 <tusho> FFFFFFFFF
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:12 <tusho> >:|
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:01 <AnMaster> I need 64-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:16:55 <AnMaster> wait, need to \ the ?
16:17:24 <ais523> AnMaster: you need to define yylval.numval, that's what the %union directive's for
16:17:28 <ais523> apart from that, yes
16:17:30 <AnMaster> ahh right
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:18:20 <AnMaster> lexer and parser here
16:19:05 <AnMaster> ah yes header
16:19:41 <ais523> you can get yacc to generate the header file if you like
16:19:46 <AnMaster> right
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:34 <AnMaster> ais523, what are {W} and {D}?
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:16 <AnMaster> to match then
16:24:18 <AnMaster> them*
16:24:26 <AnMaster> ah right
16:24:26 <ais523> yes, I think so
16:24:28 <ais523> maybe \/\/
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:19 <AnMaster> or does spaces work too
16:25:57 -!- Corun has joined.
16:27:08 <ais523> AnMaster: any whitespace works
16:27:17 <AnMaster> newlines too?
16:27:18 <ais523> tabs are neater, though
16:27:20 <AnMaster> this is a long match
16:27:21 <ais523> AnMaster: I think so
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:26 <AnMaster> say, //.*$
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:29:58 <AnMaster> multiline match?
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:31 <AnMaster> say:
16:30:34 <AnMaster> // "blah
16:30:38 <AnMaster> blah "foo"
16:30:43 <ais523> AnMaster: it's longest match from each particular point
16:30:48 <AnMaster> ah right
16:33:50 <AnMaster> pikhq, what is a valid variable name and function name in Def-BF?
16:34:09 <AnMaster> [A-Za-z][A-Za-z0-9]*
16:34:10 <AnMaster> or?
16:34:43 <pikhq> I'm saying [[:alpha:]_\-][[:alphanum:]]*
16:34:47 <pikhq> Erm.
16:34:56 <pikhq> [[:alpha:]_\-][[:alphanum:]_\-]*
16:35:14 <AnMaster> ok
16:35:55 <AnMaster> pikhq, import: is anything until end of line?
16:36:19 <AnMaster> ais523, other question:
16:36:21 <AnMaster> yylval.str = yytext;
16:36:25 <AnMaster> or do I need to strdup() it?
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:07 <AnMaster> hm
16:37:14 <ais523> and in professional compilers they tend to be hashed
16:37:17 <pikhq> He's currently on Freenode.
16:37:30 <AnMaster> k
16:37:33 <pikhq> I'd start with strdup.
16:37:56 <AnMaster> hm
16:37:58 <AnMaster> how to parse:
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:45 <AnMaster> ah thanks
16:38:58 <AnMaster> so would doing something like: ^import:{W}(.+)$ { yylval.str = strdup(yytext); return tok_import; }
16:39:00 <AnMaster> be wrong?
16:39:13 <ais523> that might be OK
16:39:16 <ais523> lex is for tokenising
16:39:22 <ais523> so you don't use it to match brackets or anything like that
16:39:27 <AnMaster> ah
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:18 <AnMaster> hm
16:41:22 <pikhq> I recommend pulling up the flex manual.
16:41:26 <pikhq> (info flex)
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:41:58 <AnMaster> that crashes less than info
16:42:07 <pikhq> Same exact documentation.
16:42:11 <AnMaster> yep
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:03 <RodgerTheGreat> 'sup everybody?
16:43:33 <AnMaster> RodgerTheGreat, hi
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:43:56 <AnMaster> as ?0x123 or in decimal or?
16:44:09 <RodgerTheGreat> AnMaster: that's something I omitted... hm
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:15 <RodgerTheGreat> nifty
16:45:20 <AnMaster> well will be
16:45:23 <AnMaster> it will take a while
16:45:32 <AnMaster> as I'm learning flex/bison at the same time
16:45:34 <RodgerTheGreat> I don't have a problem with VMs
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:02 <AnMaster> hah
16:46:30 <RodgerTheGreat> as long as you don't code it in Ruby... :)
16:46:38 <AnMaster> the pre-processor will strip all function information and such, and just generate the basic commands part
16:46:46 <RodgerTheGreat> yup
16:46:56 <RodgerTheGreat> that was the original intent
16:46:59 <AnMaster> that's tire 1 and tire 2
16:47:19 <RodgerTheGreat> as opposed to "tiers"?
16:47:27 -!- oklopol has joined.
16:47:29 <AnMaster> typo
16:47:31 <AnMaster> anyway
16:47:40 <AnMaster> RodgerTheGreat, what about standard library?
16:47:48 <ais523> hi oklopol
16:48:04 <AnMaster> the second tier will generate one additional instruction, "use compiler implementation of this standard library function"
16:48:07 <AnMaster> that's my idea at least
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:30 <AnMaster> the suite defc
16:50:36 <RodgerTheGreat> cool
16:50:49 <pikhq> RodgerTheGreat: I'd also recommend differentiating between a hosted and freestanding implementation, as C does.
16:51:23 <RodgerTheGreat> pikhq: explain what you mean by hosted in this case
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:02 <RodgerTheGreat> so freestanding
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:39 <RodgerTheGreat> ah
16:53:39 <oklopol> hi ais523
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:29 <pikhq> Hmm.
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.
16:58:09 <RodgerTheGreat> I guess
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:44 <AnMaster> tusho, depends
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:38 <tusho> e.g. concat
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:12 <tusho> even so
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:19:58 <AnMaster> for [ ]
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:20:28 <AnMaster> but you could run into issues
17:20:31 <AnMaster> if it is deep enough
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:13 <AnMaster> um?
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:08 <RodgerTheGreat> yeah, this is something pikhq and I have discussed
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:45 <RodgerTheGreat> oklopol: agreed
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:53 <AnMaster> with 0x
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:27 <oklopol> that's one possibility
17:26:28 * tusho wants to see oklopol's Parserless Languge
17:26:31 <tusho> *language
17:26:39 <pikhq> We'll see once I've got a Def-BF kernel running. ;)
17:26:39 <oklopol> tusho: i have lots
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:55 <tusho> is still a parser
17:26:57 <tusho> oklopol: uhhh
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:06 <tusho> still parsing
17:27:07 <tusho> :)
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:29:24 <oklopol> *just
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:34:54 <psygnisfive> o.o
17:35:04 <psygnisfive> oklopol! :D
17:39:20 <AnMaster> yay what a nice recursive parser I made
17:39:24 <AnMaster> for the low level part
17:39:30 <AnMaster> pre-processes code already
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:16:36 <psygnisfive> lalala
18:16:45 <psygnisfive> dust in the wind = good song
18:16:54 <psygnisfive> actually, that should be a <-
18:17:03 <psygnisfive> since its obviously not a set, nor is it an identity
18:19:10 <lament> i don't like it
18:19:13 <lament> it's whiny
18:19:21 <lament> well, not the song, the singer is whiny.
18:19:26 <lament> the song is bitchy.
18:23:09 <AnMaster> http://rafb.net/p/fdXBOV79.html
18:23:12 <AnMaster> pikhq, ^
18:23:13 <AnMaster> RodgerTheGreat, ^
18:23:31 <AnMaster> some issues still
18:23:34 <pikhq> Sweet; you can parse Brainfuck.
18:23:35 <pikhq> ;p
18:23:37 <tusho> Congratulations you implemented brainfuck.
18:23:37 <RodgerTheGreat> hm
18:23:40 <AnMaster> haha
18:23:42 <AnMaster> very funny
18:23:43 <AnMaster> yes
18:23:45 <AnMaster> ++[>-[>><]<][[-]>+]?0x12Ab2+
18:23:47 <AnMaster> was the program
18:23:50 <AnMaster> something doesn't work
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:05 <tusho> :p
18:24:11 <tusho> In fact.
18:24:12 <AnMaster> the node is there
18:24:14 <tusho> You can't parse brainfuck.
18:24:16 <tusho> It ends with a +.
18:24:21 <AnMaster> yes...
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:29 <AnMaster> pikhq, to optimize
18:32:31 <tusho> It should be in a seperate optimizer step.
18:32:35 <AnMaster> and no it isn't in parser
18:32:36 <pikhq> That should be a transformation on the parsed tree.
18:32:36 <tusho> So that [><-] can be optimized.
18:32:37 <AnMaster> it is in optimizer
18:32:38 <AnMaster> ...
18:32:42 <pikhq> Oh.
18:32:42 <tusho> So that >< is eliminated
18:32:43 <tusho> then [-]
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:07 <AnMaster> but it will be
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:33:42 <ais523> I suppose so
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:13 <AnMaster> a "zero current cell" token
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:34 <AnMaster> as in "add 4"
18:36:40 <AnMaster> will also be done in optimizer
18:37:24 <pikhq> Fair 'nough.
18:37:36 <AnMaster> now to write code emitter
18:37:41 <pikhq> Hmm. This makes me half-tempted to learn how to write a GCC frontend.
18:37:50 <AnMaster> pikhq, GAH
18:38:03 <pikhq> ;p
18:38:34 <psygnisfive> oklopol whens your birthday
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:55:20 <AnMaster> hm
18:55:23 <AnMaster> code generation is hard
18:55:47 <psygnisfive> not if you use lisp :D
18:55:51 <AnMaster> blergh
18:55:54 <AnMaster> well I generate C
18:55:55 <AnMaster> using C
18:56:00 <psygnisfive> oh.
18:56:01 <psygnisfive> ouch.
18:56:04 <psygnisfive> why is it hard??
18:56:05 <AnMaster> as in generate a C file
18:56:06 <tusho> that is not hard.
18:56:17 <AnMaster> psygnisfive, because it's first time I do it I guess
18:56:21 <psygnisfive> lol
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:44 <AnMaster> well we all live and learn
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:56:56 <psygnisfive> i'd hate to have to manage strings in c
18:57:04 <AnMaster> just trying to figure out how to generate code the best way
18:57:09 <psygnisfive> yes, print as you go is good.
18:57:10 <tusho> AnMaster: fprintf.
18:57:18 <AnMaster> tusho, yes of course...
18:57:20 <AnMaster> but it wasn't that
18:57:21 <tusho> and a switch around the type of the instruction in a main loop
18:57:22 <tusho> you're done
18:57:26 <AnMaster> it was how to use gotos and so
18:57:56 <tusho> AnMaster: "don't"
18:58:04 <AnMaster> tusho, eh?
18:58:11 <AnMaster> the generated code will use gotos
18:58:16 <tusho> why
18:58:16 <AnMaster> it's the only sane way for jump
18:58:19 <psygnisfive> why? :(
18:58:24 <psygnisfive> gotos are evil! :(
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:27 <AnMaster> look
18:58:28 <tusho> but why do you need to use it
18:58:29 <tusho> ah
18:58:30 <tusho> okay then
18:58:31 <AnMaster> tusho, exactly
18:58:32 <AnMaster> it is
18:58:33 <AnMaster> about
18:58:34 <AnMaster> generated
18:58:35 <AnMaster> code
18:58:36 <AnMaster> not
18:58:37 <tusho> yes
18:58:37 <AnMaster> about
18:58:38 <tusho> i
18:58:38 <tusho> know
18:58:39 <psygnisfive> omg stop
18:58:39 <tusho> that
18:58:40 <tusho> but
18:58:41 <AnMaster> the code I write by hand
18:58:41 <tusho> the
18:58:42 <tusho> point
18:58:42 <tusho> is
18:58:43 <tusho> most
18:58:45 <tusho> of
18:58:47 <tusho> the
18:58:49 <tusho> time
18:58:51 <tusho> you
18:58:53 <tusho> can
18:58:53 <psygnisfive> tusho! >_<!
18:58:55 <tusho> avoid
18:58:57 <tusho> it
18:59:01 <tusho> psygnisfive: blame AnMaster
18:59:05 <AnMaster> yes loops will use while {}
18:59:12 <psygnisfive> someone should make a keyboard map that swaps space and return
18:59:29 <psygnisfive> yay! :D
18:59:37 <psygnisfive> i downloaded the Theory of Computation torrent
18:59:39 <psygnisfive> with like
18:59:41 <psygnisfive> 20 books on ToC
18:59:43 <psygnisfive> who wants? :D
19:00:00 <oklopol> i
19:00:20 <oklopol> send i like virtual bookers
19:00:21 <psygnisfive> 30 books actually
19:00:33 <oklopol> well that's a bit too much send like 29 of them
19:00:40 <psygnisfive> ;)
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:02:28 <psygnisfive> hahaha
19:02:31 <psygnisfive> actually it is 29 books
19:02:36 <psygnisfive> and one info file
19:02:37 <psygnisfive> hahahahaha
19:04:15 <psygnisfive> http://www.wellnowwhat.net/transfers/Theory%20of%20Computation.zip
19:04:18 <psygnisfive> not yet
19:04:23 <psygnisfive> give it 10 minutes
19:04:26 <psygnisfive> but thats where itll be
19:06:05 <AnMaster> psygnisfive, how large?
19:06:09 <AnMaster> and what does it contain
19:06:14 <psygnisfive> 100ish meg
19:06:21 <AnMaster> psygnisfive, https?
19:06:29 <psygnisfive> no
19:06:32 <psygnisfive> its just my web server
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:32 <AnMaster> not that it would help much
19:07:43 <tusho> Deewiant: I was leaving that bit of humour to the reader.
19:07:48 <tusho> Subtlety and all that.
19:07:55 <Deewiant> :-)
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:09 <AnMaster> blergh
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:09:51 <AnMaster> tusho, um? what?
19:09:55 <AnMaster> yes of course :P
19:10:02 <AnMaster> at least now that you said it
19:10:04 * tusho groans
19:10:05 <AnMaster> it didn't before
19:10:11 <AnMaster> tusho, thanks for the idea
19:10:14 <AnMaster> I'm grateful
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:37 <AnMaster> tusho, hahah
19:10:40 <AnMaster> it was your idea
19:10:42 <AnMaster> not mine
19:10:47 <tusho> AnMaster: I was being sarcastic
19:10:50 <AnMaster> I wouldn't have done it unless you mentioned it
19:10:54 <AnMaster> but now I will have to
19:11:53 <pikhq> God gave man indent(1) for a purpose.
19:12:02 <AnMaster> astyle > indent
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:08 <pikhq> God is a BOFH.
19:14:09 <AnMaster> tusho, actually I won't indent the code
19:14:13 <pikhq> And Jesus his PFY.
19:14:13 <AnMaster> but you believed I would
19:14:15 <AnMaster> amusing
19:14:25 <AnMaster> but doesn't C-INTERCAL indent it's code?
19:14:28 <AnMaster> iirc it does
19:14:34 <tusho> AnMaster: It's not amusing.
19:14:38 <tusho> It's something you would do.
19:14:40 <AnMaster> tusho, what isn't?
19:14:48 <AnMaster> tusho, C-INTERCAL does it
19:14:59 <tusho> not fully, AnMaster
19:15:00 <tusho> only basic
19:15:05 <tusho> i.e. like 3 lines of code
19:15:06 <AnMaster> indeed not fully
19:17:15 <AnMaster> actually I will have to generate gcc specific code
19:17:18 <AnMaster> using computed goto's
19:18:17 <AnMaster> :/
19:19:59 <tusho> you never have to
19:20:00 <tusho> AnMaster: use a switch
19:20:02 <tusho> a big switch
19:20:03 <tusho> around everything
19:20:10 <tusho> int i = 0;
19:20:13 <tusho> switch(i){...}
19:20:17 <tusho> and at the top
19:20:17 <tusho> top:
19:20:19 <AnMaster> ah I see what you mean
19:20:21 <tusho> then to 'goto var'
19:20:22 <AnMaster> interesting idea
19:20:22 <tusho> do
19:20:24 <tusho> 'i=var; goto top'
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:17 <AnMaster> however, loops won't be fun
19:21:19 <tusho> switch is freeform
19:21:20 <tusho> while (x) {
19:21:23 <tusho> case 3: ...
19:21:24 <tusho> case 4: ...
19:21:25 <tusho> }
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:41 <tusho> lament: really
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:28 <tusho> it is
19:25:40 <AnMaster> so you can just do something like: JUMP_RELATIVE_PC variable
19:25:43 <AnMaster> and then jump again
19:25:55 <lament> tusho: i don't buy that
19:26:02 <tusho> lament: then don't
19:26:16 <oklopol> err isn't the reason just
19:26:28 <oklopol> case'0':case'1':case'2': etc
19:26:41 <oklopol> not that i know, just always assumed
19:26:44 <psygnisfive> oklopol
19:26:46 <psygnisfive> upload done
19:26:47 <psygnisfive> btw
19:26:48 <oklopol> psygnisfive
19:26:51 <oklopol> :o
19:27:03 <oklopol> psygnisfive: what upload? :D
19:27:09 <psygnisfive> the books!
19:27:21 <oklopol> where did you upload them?
19:27:30 <tusho> the reason is that partly oklopol
19:27:30 <tusho> the
19:27:33 <tusho> case a: case b: case c:
19:27:34 <tusho> ....
19:27:35 <psygnisfive> http://www.wellnowwhat.net/transfers/Theory%20of%20Computation.zip
19:27:36 <tusho> case d: ...
19:27:37 <tusho> etc
19:27:43 <tusho> and the easiest way to do that?
19:27:46 <tusho> as it is now.
19:29:34 <oklopol> reasons raisins, no one cares about reasons
19:29:40 <oklopol> psygnisfive: thanks
19:29:46 <psygnisfive> oklopol: always :)
19:39:02 -!- Corun has joined.
20:07:15 <psygnisfive> quiet.
20:18:37 <tusho> loud.
20:19:25 <AnMaster> yay it (partly) works
20:22:19 <oklopol> that's what she said
20:22:24 <psygnisfive> haha
20:23:20 <oklopol> sorry, it's just i've never used that so that it made even remotely sense.
20:23:29 <psygnisfive> lol
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:38:48 <AnMaster> an*
20:38:55 <AnMaster> doesn't work though :P
20:45:49 <pikhq> Whoo.
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:47:26 <AnMaster> no
20:47:29 <AnMaster> but it is new to me
20:48:32 <oklopol> i've generated c code manually, like a true codar
20:48:42 <oklopol> by pressing keys
20:48:45 <AnMaster> well I coded in C...
20:48:58 <AnMaster> tusho, but I admit this is my first compiler
20:49:00 <psygnisfive> oklopol P
20:49:00 <psygnisfive> :P
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:08 <Deewiant> manual code generation, wow
20:49:20 <oklopol> "bow before me and shit"
20:49:22 <oklopol> well done
20:49:25 <tusho> hahah
20:49:26 <psygnisfive> :P
20:49:28 * tusho bows before oklopol
20:49:31 * tusho shits
20:49:31 <psygnisfive> well, you ARE into scat
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:50:14 <AnMaster> that's specific to Def-BF
20:55:57 <oklopol> constant call, it's the friend of the damned, press its buttons and you'll know its name...
20:58:20 <bsmntbombdood> did someone say scat?
20:58:53 -!- Corun has quit ("This computer has gone to sleep").
20:58:59 <psygnisfive> lol
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:20 <RodgerTheGreat> it loses something when it's typed
21:03:27 <oklopol> well
21:03:41 <oklopol> the actual chorus @ the lyrics i copied from...
21:03:57 <oklopol> (Scatting)
21:03:59 <oklopol> I'm the Scatman
21:04:01 <AnMaster> ah found it
21:04:01 <oklopol> (Scatting)
21:04:05 <oklopol> I'm the Scatman
21:04:09 <oklopol> (Scatting)
21:04:23 <oklopol> although i guess that's funnier.
21:04:45 <oklopol> i used to like that song
21:04:55 <oklopol> perhaps i still do, haven't heard it for ages
21:08:42 <psygnisfive> such a good song :O
21:08:51 <RodgerTheGreat> it's catchy, I'll give it that
21:09:28 <psygnisfive> in the music video theres this boy thats hot
21:09:37 <psygnisfive> who really needs to sit on my cock
21:09:44 <RodgerTheGreat> ...
21:09:59 <oklopol> if it rhymes it must be true.
21:10:33 <RodgerTheGreat> oklopol: what if it's a slant rhyme?
21:10:48 <psygnisfive> whats a slant rhyme?
21:11:56 <RodgerTheGreat> http://en.wikipedia.org/wiki/Slant_rhyme
21:12:09 <AnMaster> oj
21:12:11 <AnMaster> ok*
21:12:12 <AnMaster> this
21:12:19 <AnMaster> I will do just to irritate tusho
21:12:20 <psygnisfive> oh
21:12:22 <psygnisfive> same-coda
21:12:23 <AnMaster> I will load the input file
21:12:29 <AnMaster> using mmap()
21:12:34 <AnMaster> just to make tusho go crazy
21:12:41 <tusho> actually mmap is less work than reallocating a buffer all the time
21:12:50 <AnMaster> tusho, that is another aspect
21:12:54 <psygnisfive> as opposed to same rime
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:37:51 <RodgerTheGreat> there is no convention yet
21:37:55 <RodgerTheGreat> I suggest .dbf
21:37:59 <AnMaster> ok thanks
21:43:26 -!- atsampson has quit (Read error: 104 (Connection reset by peer)).
21:44:11 <AnMaster> I have yet to implement input
21:44:14 <AnMaster> apart from that it works
21:44:22 <AnMaster> the low level part that is
21:44:31 <AnMaster> oh wait call doesn't work completely
21:44:33 <AnMaster> there is a bug there
21:44:36 <AnMaster> will fix that tomorrow
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:02 <AnMaster> or .bf
21:46:24 <tusho> yes
21:46:25 <tusho> the point is
21:46:29 <tusho> 'bf' means befunge in file extensions
21:46:33 <tusho> so .defb is better
21:46:37 <tusho> or .dfb
21:46:44 <AnMaster> fuckbrain?
21:46:54 <tusho> .defbf would be acceptable also
21:47:04 <AnMaster> well RodgerTheGreat decides
21:47:14 <tusho> AnMaster: that's why I pinged RodgerTheGreat
21:47:15 <tusho> not you
21:47:17 <AnMaster> yes
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:31 <AnMaster> gcc -std=c99 tmp/helloworld.c
21:47:37 <RodgerTheGreat> .db
21:47:39 <AnMaster> :)
21:47:42 <AnMaster> data base?
21:47:43 <tusho> RodgerTheGreat: conflicts with database
21:47:49 <tusho> that's a common sqlite extension
21:47:50 <tusho> for instance
21:47:54 <AnMaster> RodgerTheGreat, call stack is broken
21:47:58 <AnMaster> will redeign tomorrow
21:48:02 <Deewiant> tusho: there are always conflicts
21:48:04 <AnMaster> and reimplement optimizing
21:48:13 <tusho> Deewiant: but .defb and .defbf are unlikely to.
21:48:14 <RodgerTheGreat> jesus just pick something and stop pinging me
21:48:18 <Deewiant> if you want one <= 4 chars, at least
21:48:56 <AnMaster> .dfb
21:48:58 <AnMaster> what about that?
21:49:12 <AnMaster> RodgerTheGreat, btw:
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:21 <AnMaster> from compiler
21:49:30 <tusho> Deewiant: .db is pretty conflicty though.
21:49:40 <tusho> and bf means befunge in file extensions
21:49:41 <tusho> to esolangers
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:50 <AnMaster> from compiled app
21:49:53 <Deewiant> in this case, though, I wouldn't go with it.
21:50:58 <AnMaster> however
21:51:04 <AnMaster> the file extension of brainfuck is .b
21:51:14 <AnMaster> so dfb makes sense
21:51:22 <Deewiant> why not .defb
21:51:22 <AnMaster> I vote for .dfb
21:51:28 <AnMaster> Deewiant, DOS!
21:51:30 <AnMaster> ;P
21:51:34 <AnMaster> at least ais would say that
21:51:45 <AnMaster> 8.3 remember?
21:51:48 <Deewiant> he would, but you're not ais
21:51:49 * AnMaster shudders
21:51:57 <Deewiant> and I'm asking you
21:52:00 <Deewiant> why not .defb :-P
21:52:02 <AnMaster> Deewiant, well I give same issue
21:52:06 <AnMaster> why it could be a problem
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:52:52 <AnMaster> no clue
21:53:05 <AnMaster> anyway I know a good extension
21:53:06 <AnMaster> .d
21:53:12 <AnMaster> no one would use that ;P
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:30 <AnMaster> yeah guess so
21:53:36 <Deewiant> most 3-chars are, too
21:53:53 <AnMaster> Deewiant, sure .c is taken more than once?
21:53:58 <AnMaster> I can't believe that
21:54:05 <tusho> AnMaster: of course
21:54:07 <Deewiant> oh, sure
21:54:08 <AnMaster> wtf
21:54:09 <Deewiant> http://filext.com/file-extension/c
21:54:13 <AnMaster> that makes no sense
21:54:16 <tusho> yes it does
21:54:17 <Deewiant> 8 times, or 7?
21:54:21 <tusho> not all the world is C, AnMaster
21:54:37 <lament> actually, all the world is C.
21:54:38 <Deewiant> 7, turns out
21:54:52 <AnMaster> well night
21:54:54 <AnMaster> got to go
21:54:55 <AnMaster> cya
21:55:02 <Deewiant> ya
21:55:10 <tusho> lament: not rly.
21:56:43 <AnMaster> wait
21:56:45 <AnMaster> about C
21:56:49 <AnMaster> .c != .C
21:56:51 <AnMaster> yet
21:56:54 <AnMaster> it list both as same
21:57:00 <AnMaster> Extension: C
21:57:00 <AnMaster> Program and/or Extension Function [What's This?] Company [What's This?]
21:57:00 <AnMaster> C/C++ Program File
21:57:14 <AnMaster> Extension: C
21:57:14 <AnMaster> Program and/or Extension Function [What's This?] Company [What's This?]
21:57:14 <AnMaster> UNIX Compact File Achive
21:57:33 <AnMaster> C file is .c
21:57:36 <AnMaster> archive is .C
21:57:39 <AnMaster> tusho, Deewiant ^
21:57:41 <AnMaster> that site is crap
21:57:45 <AnMaster> anyway night really now
21:57:55 <tusho> it's not crap
21:57:59 <tusho> it's very useful
21:58:03 <Deewiant> yeah, it's crap because it's case-insensitive
21:58:06 <Deewiant> it's completely useless
21:58:10 <Deewiant> might as well boycott it
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:58:45 <Deewiant> humans do, though
21:58:51 <Deewiant> God vs god, for instance
21:58:56 <Deewiant> names in general
21:59:15 <Deewiant> Bill, bill, Ray, ray
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:41 <Deewiant> I'm not sure I see your point
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:41 <tusho> yes
22:02:45 <tusho> names are the exception
22:02:57 <tusho> however, consider http://awesomefamily.org/Jack/
22:02:58 <tusho> vs
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:23 <Deewiant> that's not what I meant
22:04:33 <lament> oh, i guess it's not
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:50 <lament> nor OS X
22:04:51 <Deewiant> don't know about OSX
22:04:56 <tusho> lament: that is just confusing though
22:05:03 <tusho> it leads to nothing but mistakes
22:05:12 <lament> sure
22:05:24 <tusho> case-insensitive but case-preserving is basically the sane way to do this
22:05:35 <lament> yes, i believe so
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:30 <tusho> try
22:06:33 <tusho> mv foo.txt Foo.txt
22:06:43 <lament> yes, it works
22:06:44 <Deewiant> mv is different
22:06:51 <lament> both with mv and in Finder
22:06:59 <tusho> does it?
22:07:11 <tusho> lament:
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:14 <tusho> I'm on tiger
22:07:17 <tusho> maybe leopard fixed t
22:07:20 <lament> maybe.
22:07:28 <Deewiant> or maybe lament's not on HFS?
22:07:40 <tusho> HFS+ actually
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:08:43 <tusho> hfs+ then
22:08:47 <tusho> must be leopard
22:08:48 <tusho> yay, then
22:09:05 <Deewiant> haven't tried Vista in this regard, maybe they fixed that there, too ;-)
22:09:26 <Deewiant> although I'm not hopeful ;-P
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:24:31 <oklopol> yeah vista fixed it
22:25:52 <oklopol> well actually i think you've always been able to do it in explorer
22:27:08 <Deewiant> no, not in XP
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:28:23 <Deewiant> I know something doesn't :-P
22:33:17 -!- Corun has quit ("This computer has gone to sleep").
22:33:24 <tusho> guys
22:33:28 <tusho> would you live in a police state
22:33:28 <tusho> if
22:33:29 <tusho> wait for it
22:33:30 <tusho> the police
22:33:31 <tusho> were
22:33:32 <tusho> NINJAS
22:33:33 <tusho> i would
22:33:40 <pikhq> I wouldn't.
22:33:49 <pikhq> Because, properly speaking, that would be a ninja state.
22:33:50 <pikhq> :p
22:34:11 <tusho> pikhq: No.
22:34:13 <tusho> They'd be police.
22:34:14 <tusho> But...
22:34:16 <tusho> Ninja.
22:34:17 <tusho> Police.
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:18 <tusho> NINJA
22:37:19 <tusho> POLICE
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:39 <tusho> Deewiant: NINJAS.
22:37:44 <tusho> NINJA POLICE STATE.
22:38:15 <Deewiant> m/POLICE STATE/i <-- 1
22:38:37 <Deewiant> hence police state, hence I wouldn't live there, given the choice. :-P
22:38:38 <tusho> Deewiant: NINJAS.
22:38:40 <tusho> GOD DAMNIT.
22:38:43 <tusho> WHAT IS WRONG WITH YOU.
22:38:47 <tusho> FUCKIN' NINJA POLICE.
22:38:48 <tusho> STATE.
22:39:10 <Deewiant> ninjas are cool only when they're not actively trying to mess with you
22:39:36 <tusho> Deewiant: WRONG.
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:40:55 <pikhq> Or, -cool^2.
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:20 <Deewiant> meh, bad troll is bad
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:44:01 <tusho> pikhq: No. Plus
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:51:12 <oklopol> ever happen to you?
23:51:43 <pikhq> Regularly.
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:51 <oklopol> okay i think i got it
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 :)
23:58:38 <tusho> oklopol: o
23:58:53 <oklopol> o
23:59:16 <tusho> oko
2008-07-22
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:12:22 <psygnisfive> oklopol!
00:12:28 <psygnisfive> where can i find your muzak
00:12:30 <psygnisfive> tell me!!
00:16:22 -!- Slereah__ has joined.
00:21:03 <psygnisfive> oklopol! :|
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:28:38 <psygnisfive> hello :)
01:29:38 <oklopol> god my back hurts
01:30:06 * psygnisfive massages oklopols back
01:46:08 -!- RodgerTheGreat has quit (Read error: 60 (Operation timed out)).
02:00:25 <oklopol> thanks
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").
05:17:31 <psygnisfive> tusho, you there?
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:26:56 <AnMaster> that is easy
10:27:00 <AnMaster> it is a ext3 feature
10:27:02 <AnMaster> not gentoo feature
10:27:12 <AnMaster> ext2/3 reserves some space for root
10:27:15 <AnMaster> iirc 5%
10:27:49 <AnMaster> can be changed using tune2fs or whatever it is called
10:28:59 -!- tusho has joined.
10:29:11 <AnMaster> tusho, about case insensitive
10:29:15 <AnMaster> that is really hard to do
10:29:18 <AnMaster> it depends on locale
10:29:28 <tusho> ...
10:29:33 <AnMaster> tusho, yes it does
10:29:35 <tusho> AnMaster: You need to support locales in a modern OS already.
10:29:40 <tusho> And Unicode.
10:29:45 <tusho> So no. It's not.
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:29:54 <AnMaster> on other it shouldn't
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:37:56 <AnMaster> I checked that
10:57:39 -!- Judofyr has quit.
11:05:57 <tusho> hi jud
11:05:58 <tusho> oh
11:06:00 <tusho> he left
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:15 <AnMaster> tusho, there?
12:10:22 <tusho> maybe
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:10:57 <AnMaster> pointers
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:17 <tusho> ah
12:11:18 <tusho> then no
12:11:19 <AnMaster> in Def-BF
12:11:20 <tusho> don't do that
12:11:29 <AnMaster> tusho, any optimizing breaks in fact
12:11:35 <tusho> AnMaster: then don't
12:11:56 * AnMaster ponders
12:12:26 <AnMaster> I have written a good brainfuck optimizer. I guess I will make it a stand-alone program
12:12:59 <AnMaster> yet...
12:13:31 <AnMaster> in fact you can't optimize Def-BF at all when it comes to +++ or ---
12:13:36 <tusho> then don't
12:13:36 <AnMaster> due to the jumps
12:13:46 <AnMaster> hm
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:31 <tusho> or at least
12:14:32 <tusho> very ahrd
12:14:32 <oklopol> uhhuh?
12:14:36 <AnMaster> oklopol, if you have +++++, you could jump into the middle of that
12:14:38 <AnMaster> that is the issue
12:14:39 <tusho> oklopol: you can jump to an arbitary pointer location
12:14:41 <AnMaster> with Def-BF
12:14:44 <oklopol> i know
12:14:52 <AnMaster> so you need something like:
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:14:59 <AnMaster> add(4) goto +3;
12:15:01 <oklopol> duh
12:15:04 <AnMaster> add(3) goto +2;
12:15:06 <AnMaster> and so on
12:15:13 <AnMaster> and then a lot of labels
12:15:29 <AnMaster> but yes keeping both versions could work
12:15:33 <AnMaster> but would be quite complex
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:15:43 <tusho> ouch, oklopol
12:15:47 <tusho> no.
12:15:51 <AnMaster> why not?
12:15:59 <AnMaster> and it isn't just loop
12:16:05 <oklopol> it would not be complex
12:16:08 <oklopol> just faster
12:16:20 <AnMaster> oklopol, the generated code would be even messier
12:16:26 <AnMaster> but ok
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:16:51 <tusho> no
12:16:54 <tusho> it's not
12:17:02 <tusho> how is that just 4 lines of code
12:17:04 <tusho> that's a stupid idea
12:17:11 <oklopol> doesn't work?
12:17:11 <AnMaster> oklopol, what about ++<-+>--
12:17:18 <AnMaster> that would be optimized into a NOP
12:17:19 <AnMaster> but...
12:17:25 <AnMaster> keeping the other version too
12:17:29 <AnMaster> that would be painful
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:46 <oklopol> it can be complex
12:17:50 <AnMaster> input was the test code:
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:18:42 <AnMaster> tusho, I should indeed
12:18:50 <AnMaster> thanks tusho
12:19:01 <oklopol> tusho: what's the problem with my approach?
12:19:01 <tusho> :)
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:42 <oklopol> how is that a huge?
12:19:45 <AnMaster> tusho, haha ok
12:19:52 <oklopol> *that huge
12:19:54 <tusho> AnMaster:
12:19:54 <tusho> /* ] */ case 41: ; }
12:19:56 <tusho> i love the wink
12:19:58 <tusho> ; }
12:20:01 <AnMaster> tusho, it isn't a wink
12:20:03 <AnMaster> you need the ;
12:20:04 <tusho> shut up
12:20:06 <tusho> it is a wink
12:20:07 <tusho> ; }
12:20:07 <AnMaster> to not get a compiler error
12:20:13 <tusho> shut up ; }
12:20:19 <AnMaster> tusho, you need the ; to not get a compiler error :P
12:20:24 <tusho> shut up ; }
12:20:32 <AnMaster> I will insert a newline there then
12:20:36 <AnMaster> just to shut you up
12:20:38 <oklopol> heh, fun switch behavior
12:20:45 <tusho> AnMaster: nooo
12:20:46 <tusho> don't
12:20:47 <tusho> I like it
12:20:49 <AnMaster> haha
12:20:50 <AnMaster> ok
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:28 <AnMaster> hm
12:21:36 <AnMaster> tusho, with optimizer it gets just a few line
12:21:42 <AnMaster> but of course breaks jumps
12:21:46 <tusho> AnMaster: i would just omit the optimizer
12:21:51 <tusho> better to have a 'proper' implementation
12:21:58 <AnMaster> tusho, posix_fallocate? ;P
12:22:03 * AnMaster runs
12:22:22 * tusho commits seppeku
12:22:26 <oklopol> tusho, really, how would it be hard :D
12:22:32 <AnMaster> seppeku?
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:23:53 <oklopol> func per loop
12:24:19 <AnMaster> um
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:22 <oklopol> anyway
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:26:59 <tusho> um
12:27:00 <tusho> he has to oklopol
12:27:01 <tusho> for jumps
12:27:18 <oklopol> i doubt that
12:27:26 <AnMaster> oklopol, def bf got a "call" and a "return"
12:27:29 <AnMaster> so yes I need it
12:27:38 <AnMaster> I have a callstack
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:28 <AnMaster> hm
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:43 <oklopol> why stupid?
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:29:55 <AnMaster> not that hard
12:30:04 <tusho> AnMaster: it's inelegant though
12:30:06 <AnMaster> and not that much larger
12:30:11 <AnMaster> tusho, it is not huge however
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:31:28 <oklopol> AnMaster: good choice
12:31:30 <AnMaster> I will need node insert now
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:12 <AnMaster> yes
12:36:21 <AnMaster> want to see the optimizer code?
12:36:29 <AnMaster> it's quite uggly
12:36:51 <AnMaster> http://rafb.net/p/lQlzyr62.html
12:38:39 <AnMaster> tusho, what do you think about that?
12:38:45 <tusho> trash it
12:38:47 <tusho> you'll feel better
12:38:47 <tusho> :)
12:39:02 <AnMaster> tusho, nah rewrite it
12:39:10 <AnMaster> tusho, but is it good for plain bf?
12:39:17 <tusho> shrug
12:51:43 -!- Sgeo has joined.
12:58:55 <tusho> http://www.simplynoise.com/ <-- pink noise @8% = nice for coding
13:21:26 <tusho> Whee.
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:35:56 <AnMaster> heh
13:36:01 <AnMaster> tusho, what language?
13:36:08 <tusho> ruby
13:36:11 <tusho> using the 'rake' tool
13:36:16 <tusho> which is like a souped-up make for ruby
13:36:24 <AnMaster> ok
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:36:57 <tusho> heh
13:37:00 <AnMaster> just to confuse everyone
13:37:03 <tusho> rake is less typing though
13:37:04 <tusho> :)
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:15 <tusho> :P
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:38 <tusho> monotone=mtn
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:17 <AnMaster> markstraneg
13:38:19 <AnMaster> err
13:38:21 <AnMaster> margestrange
13:38:27 <AnMaster> as in up, down, strange...
13:38:27 <tusho> if you do a local link
13:38:29 <AnMaster> quarks
13:38:33 <tusho> that is, no protocol
13:38:37 <tusho> it'll add .html to the end
13:38:42 <AnMaster> k
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:49 <AnMaster> to optimize it now
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:23 <AnMaster> gopher gopher gopher!?
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:28 <AnMaster> ;P
13:40:28 <tusho> :P
13:40:32 <tusho> I might add a provision for mailto
13:40:38 <AnMaster> tusho, and gopher
13:40:45 <tusho> AnMaster: heh, fine
13:40:59 <AnMaster> tusho, I have been thinking about gophers. as in gopher + ssl ;)
13:41:04 <AnMaster> just kidding
13:41:06 <tusho> haha
13:41:10 <AnMaster> don't get a heart attack
13:41:10 <tusho> gophers://lots.of.them/
13:41:15 <AnMaster> haha
13:41:24 <AnMaster> well with ICANN doing that to the domainnames...
13:41:25 <tusho> GET gophers://pray/
13:41:31 <AnMaster> wouldn't supprise me
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:41:50 <AnMaster> ah...
13:41:50 <tusho> 'gopher spray'
13:41:55 <AnMaster> right
13:42:02 <tusho> which is a reference to monkey island
13:42:02 <AnMaster> and gopher spray is?
13:42:09 <tusho> in which it was like fly spray
13:42:14 <tusho> in that it got rid of gophers
13:42:20 <AnMaster> odd
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:15 <AnMaster> an optional jump field
13:43:17 <AnMaster> at the end
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:43:51 <AnMaster> now... how to write optimizer
13:44:18 <tusho> hmph
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:47:43 <tusho> yay
13:47:44 <tusho> i got it working
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:48:35 <AnMaster> oh god
13:49:14 <tusho> AnMaster: what
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:33 <AnMaster> oh god
13:49:38 <tusho> what
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:49:52 <tusho> and large
13:49:53 <tusho> so.
13:50:01 <AnMaster> oh right
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:14 <AnMaster> :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:45 <tusho> but it's fine
13:50:48 <tusho> if you want something, you 'require' it
13:50:49 <AnMaster> import cure.cancer;
13:50:50 <AnMaster> ?
13:50:54 <tusho> AnMaster: not quite.
13:51:01 <AnMaster> right
13:51:10 <AnMaster> require cure.cancer;
13:51:13 <tusho> but, zlib, ftp/http/imap/pop/smtp/telnet clients, option parser, mini http server...
13:51:20 <tusho> cgi lib
13:51:25 <tusho> hash functions
13:51:34 <tusho> just useful stuff that you use almost every day
13:51:37 <AnMaster> tusho, low level stuff too?
13:51:43 <tusho> AnMaster: in what sense
13:51:45 <AnMaster> for FFIing
13:51:52 <AnMaster> like constructing structs for FFI
13:51:55 <AnMaster> to C
13:52:02 <tusho> require 'ffi'
13:52:03 <tusho> I believe
13:52:04 <AnMaster> iirc python and perl got it
13:52:10 <tusho> ah, wait, no
13:52:25 <AnMaster> bbiab food is ready
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:17 <AnMaster> /* + */ case 0: ADD(3);
15:04:17 <AnMaster> /* > */ case 7: NEXT(1);
15:04:17 <AnMaster> /* ? */ case 12: CONST(0);
15:04:17 <AnMaster> /* - */ case 27: SUB(2);
15:04:17 <AnMaster> /* ? */ case 33: CONST(0);
15:04:22 <AnMaster> it's getting better at least
15:04:25 * AnMaster was afk eating
15:04:34 <AnMaster> pikhq, hi there
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:04:55 <AnMaster> or so
15:05:04 <AnMaster> so you need to emit several code versions
15:05:49 <AnMaster> +++++-->>><<[-]---+++<>++---<-+>-[->+><-<]
15:05:51 <AnMaster> take that
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:06:55 <AnMaster> pikhq, I got an idea though
15:07:01 -!- sebbu has quit (Read error: 113 (No route to host)).
15:07:01 -!- sebbu2 has changed nick to sebbu.
15:07:05 <pikhq> Oh?
15:07:07 <AnMaster> case 0: ADD(3) goto x;
15:07:13 <AnMaster> case 1: ADD(2) goto x;
15:07:15 <AnMaster> and so on
15:07:20 <AnMaster> so you emit each code version
15:07:37 <AnMaster> that is how I will do it
15:07:55 <AnMaster> pikhq, it can already optimize it well based on brainfuck rules
15:08:06 <AnMaster> no instruction reordering yet
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:08:49 <pikhq> Yes.
15:08:52 <AnMaster> damn
15:09:00 <pikhq> High level code is a superset of low level coded.
15:09:04 <pikhq> s/coded/code/
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:36 <AnMaster> WHAT!?
15:09:43 <AnMaster> pikhq, what do you mean?
15:09:50 <AnMaster> like __attribute__?
15:09:53 <AnMaster> for Def-BF?!
15:09:57 <pikhq> Ding ding ding.
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:09 <pikhq> Ah, yes.
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:33 <AnMaster> you got bzr?
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:11:58 <pikhq> Nope.
15:12:08 <AnMaster> pikhq, install it then
15:12:13 <AnMaster> 1.0 or later
15:12:32 <AnMaster> pikhq, feel free to reuse my code. it is GPL3
15:12:32 <pikhq> At work ATM. . .
15:12:38 <AnMaster> ah ok
15:12:44 <AnMaster> pikhq, when you get home do it then
15:12:52 <pikhq> Mmkay.
15:12:58 <pikhq> Simple enough to emerge.
15:13:03 <AnMaster> bzr branch http://rage.kuonet.org/~anmaster/bzr/defc
15:13:05 <AnMaster> pikhq, ^
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:06 <AnMaster> pikhq, right
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:38 <AnMaster> ah
15:14:50 <AnMaster> oh well
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:17 <AnMaster> it is afternoon now
15:15:24 <AnMaster> tis jul 22 16:15:24 CEST 2008
15:15:28 <pikhq> 7 hours.
15:15:39 <AnMaster> pikhq, I will be sleeping then
15:15:42 <pikhq> 10:15 here.
15:16:02 <AnMaster> just so you know
15:16:08 <pikhq> Mmkay.
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:21 <AnMaster> and post links
15:16:29 <pikhq> I make no promises on fixing the Bison; I'm addicted to HL2 and Portal ATM. ;p
15:16:37 <AnMaster> blergh
15:16:52 <AnMaster> pikhq, pastebin the non fixed version if it isn't fixed
15:17:00 <pikhq> Mmkay.
15:21:08 <tusho> cool, I added a blog display to my personal wiki without touching the actual code
15:21:19 <AnMaster> oh god
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:35 <tusho> ;)
15:21:40 <AnMaster> I know how to solve it! I write the optimzier in bash
15:21:44 <AnMaster> and run system()
15:21:46 <tusho> oh
15:21:47 <AnMaster> just kidding
15:21:49 <tusho> christ
15:21:50 <tusho> :D
15:21:52 <AnMaster> I'm not stupid
15:22:01 <AnMaster> tusho, I do have one system() call
15:22:03 <AnMaster> gcc
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:23 <AnMaster> oh
15:22:27 <AnMaster> chrust
15:22:27 <tusho> so i can edit stuff super-trivially
15:22:30 <AnMaster> christ*
15:22:37 <tusho> AnMaster: nothing wrong with that...
15:22:49 <tusho> just "editor filename" in a handler :P
15:22:59 <tusho> brb
15:23:04 <AnMaster> oh
15:23:07 <AnMaster> jesus
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:05 <AnMaster> two things:
15:55:13 <RodgerTheGreat> pikhq: hm. what did you have in mind?
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:01 <AnMaster> anyway I got an error in jump
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.
15:59:53 <RodgerTheGreat> this is true
16:00:14 <RodgerTheGreat> however, in the high-level language you can disallow inter-function jumps
16:00:21 <pikhq> Oh?
16:00:29 <pikhq> Well, that is handy.
16:00:38 <RodgerTheGreat> why not? It'd just enforce good form
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:01:50 <RodgerTheGreat> yeah, maybe for a function-pointer type purpose
16:01:59 <AnMaster> there you are then
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:03 <RodgerTheGreat> yeah, and function pointers are a bit different
16:03:31 <AnMaster> really?
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:43 <RodgerTheGreat> pikhq: basically, yeah
16:04:49 <AnMaster> RodgerTheGreat, I have implemented the low level part
16:04:52 <RodgerTheGreat> except in very rare and obscure circumstances
16:04:56 <AnMaster> bzr branch http://rage.kuonet.org/~anmaster/bzr/defc
16:04:57 <AnMaster> to get it
16:04:59 <AnMaster> RodgerTheGreat, ^
16:05:04 <RodgerTheGreat> we shouldn't design a major feature of the language around an obscure case
16:05:04 <AnMaster> it's in C and compiles to C
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:38 <AnMaster> that can run C code
16:05:43 <AnMaster> then you need longjmps
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:09:59 <AnMaster> hm true
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:25 <RodgerTheGreat> I'm trying to locate it
16:11:47 <AnMaster> <AnMaster> bzr branch http://rage.kuonet.org/~anmaster/bzr/defc
16:11:48 <AnMaster> RodgerTheGreat, ^
16:12:03 <RodgerTheGreat> yes. where the fuck is the actual code?
16:12:09 <AnMaster> RodgerTheGreat, it is there
16:12:10 -!- Corun has joined.
16:12:17 <AnMaster> RodgerTheGreat, it is a version control system
16:12:19 <AnMaster> you check it out
16:12:21 <AnMaster> using that commanbd
16:12:26 <AnMaster> it's like svn
16:12:26 <AnMaster> or got
16:12:27 <AnMaster> git*
16:12:32 <AnMaster> or cvs or whatever
16:12:35 <RodgerTheGreat> fantastic, another thing I need to install
16:12:41 <AnMaster> bzr is small
16:12:42 <RodgerTheGreat> couldn't you just pastebin it?
16:12:43 <AnMaster> in python
16:12:49 <AnMaster> RodgerTheGreat, it's multiple files
16:12:51 <Deewiant> the code isn't visible without a bzr client, hmh
16:12:53 <AnMaster> I split my code into modules
16:13:00 <AnMaster> Deewiant, yeah webui is broken
16:13:06 <AnMaster> can't get that to work with last python
16:13:13 <AnMaster> need to install loggerhead
16:13:17 <AnMaster> just too lazy to do so
16:13:37 <AnMaster> Deewiant, the server doesn't know anything about bzr
16:13:42 <AnMaster> it is just a lighttpd setup
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:14:08 <tusho> back
16:15:08 <AnMaster> a sec
16:15:17 <AnMaster> I just spotted a bug
16:17:17 <AnMaster> http://omploader.org/vbWhq
16:17:20 <AnMaster> it's a tar.bz2
16:17:34 <AnMaster> RodgerTheGreat, you need cmake to compile it
16:17:42 <AnMaster> cmake .
16:17:43 <AnMaster> make
16:17:54 <AnMaster> current it is low level code only
16:17:58 <AnMaster> as I fail at flex/bison
16:19:42 <RodgerTheGreat> interesting
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:01 <AnMaster> RodgerTheGreat, in emitter.c?
16:21:05 <RodgerTheGreat> yes
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:11 <AnMaster> }
16:21:14 <tusho> \0
16:21:16 <AnMaster> that will end with a NULL
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:50 <AnMaster> but same principle
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:05 <AnMaster> as I edit the code
16:22:21 <pikhq> RodgerTheGreat: Learn C. :p
16:22:33 <RodgerTheGreat> it's just as easy to store the size of an array.
16:22:42 <RodgerTheGreat> it'll optimize better anyway
16:22:43 <Deewiant> or to use sizeof and calculate it without having to store anything.
16:22:49 <RodgerTheGreat> bam
16:23:15 <tusho> RodgerTheGreat: if it doesn't change at runtime, yeah
16:23:41 <RodgerTheGreat> static const arrays don't generally change at runtime
16:23:54 <tusho> good point
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:16 <AnMaster> tusho, see other reason ^
16:24:28 <tusho> AnMaster: i don't see another reason
16:24:31 <tusho> why not use sizeof?
16:24:36 <AnMaster> tusho, coded at late night :P
16:24:42 <tusho> ok, good point :P
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:12 <RodgerTheGreat> or n-order traversals
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:32 <pikhq> Yes.
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:26:48 <RodgerTheGreat> 'legal' != 'valid' as we all know
16:26:56 <pikhq> Agreed.
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:36 <tusho> Hah.
16:27:50 <AnMaster> pikhq, there are no memory leaks
16:27:53 <AnMaster> check with valgrind
16:28:00 <AnMaster> no memory leaks in any place
16:28:10 <pikhq> AnMaster: "If you're going to have the array change size at runtime".
16:28:15 <AnMaster> pikhq, ah yes
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:50 <AnMaster> the theory is easy
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:29:44 <AnMaster> pikhq, I can't read that
16:29:50 <AnMaster> pikhq, give me AT&T syntax!
16:30:03 <pikhq> Alright.
16:30:09 <AnMaster> to be your code looks like nasm syntax
16:30:12 <AnMaster> which I can't read
16:30:18 <AnMaster> I can partly read AT&T syntax
16:30:18 <pikhq> There's my better version. :)
16:30:27 <AnMaster> where?
16:30:29 <pikhq> I'm going for AT&T; just give me a sec.
16:30:33 <AnMaster> ah
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:01 <AnMaster> I can read gas syntax
16:36:03 <AnMaster> but not write it
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:54:36 <AnMaster> hm
16:55:02 <AnMaster> I think I got the new optimize working, except the translation of [-] into ?0x0
16:55:12 <pikhq> Whoo.
16:55:15 <AnMaster> as I emit while loops
16:55:23 <AnMaster> pikhq, it doesn't work correctly yet
16:55:28 <AnMaster> but I'm on the right track
16:55:31 <AnMaster> and it partly works
16:55:42 <AnMaster> the tree store the old stuff too now
16:55:45 <AnMaster> as an alt node
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:00:27 <AnMaster> not int 80
17:04:42 <AnMaster> wait.. what is going on here
17:04:50 <AnMaster> code is generated backwards in parts
17:04:55 * AnMaster debugs
17:05:21 <Deewiant> "xce, xae vom"
17:05:25 <AnMaster> no...
17:05:26 <AnMaster> I mean
17:05:27 <AnMaster> like:
17:05:34 <AnMaster> case 123: foo
17:05:37 <AnMaster> case 122: bar
17:05:41 <AnMaster> case 121: quux
17:05:46 <AnMaster> case 124: xyzz
17:05:50 <AnMaster> parts are reversed
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:28 <AnMaster> toggle optimize allowed
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:24:24 <AnMaster> as a toggle marker
17:24:41 <RodgerTheGreat> I think my previous statements are clear
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:37 <AnMaster> pikhq, depends on arch
17:25:40 <AnMaster> yeah
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:31:42 <AnMaster> that won't be emitted
17:31:50 <AnMaster> err
17:31:52 <AnMaster> % I mean
17:32:05 <AnMaster> but they would stop any optimizing across the border
17:32:10 <AnMaster> pikhq, RodgerTheGreat does that wound sane?
17:32:23 <Guest76788> yargh
17:33:00 <AnMaster> who is this Guest76788 ?
17:33:03 <RodgerTheGreat> literal % is not forbidden in high level code
17:33:04 <Guest76788> damnit
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:44 <tusho> you can't use it
17:34:46 <AnMaster> RodgerTheGreat, well got details for it?
17:34:54 <psygnisfive> only they don't exist on freenode
17:35:02 <psygnisfive> and only sometimes does nickserv actually kick me off
17:35:11 <RodgerTheGreat> AnMaster: I'm busy atm. I'll work on it later.
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:03 <tusho> psygnisfive: no
17:36:05 <psygnisfive> try messaging this person
17:36:06 <tusho> that only updates if they identify
17:36:07 <psygnisfive> no such nick
17:36:10 <tusho> that only updates if they identify
17:36:14 <psygnisfive> ok
17:36:18 <AnMaster> tusho is correct
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:50 <AnMaster> as someone else owns it
17:36:55 <oerjan> it says "account knotty" maybe that is online?
17:37:05 <AnMaster> oerjan, indeed likely
17:37:13 <oerjan> yep
17:37:52 <oerjan> (online but away, according to whois)
17:38:28 <psygnisfive> anyway, on to more interesting things
17:38:52 <AnMaster> RodgerTheGreat, so when will % be allowed in high level code?
17:39:19 <RodgerTheGreat> I said I'm busy
17:39:23 <AnMaster> ah right
17:39:43 <AnMaster> well I'm leaving at 11 (UTC+2 or CEST)
17:39:52 <AnMaster> tis jul 22 18:39:52 CEST 2008
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:45:13 <AnMaster> not sure
17:46:27 <oklopol> o
17:47:53 <AnMaster> oklopol, the problem is that walking the tree is much harder now
17:47:58 <AnMaster> node merging is easy
17:48:06 <AnMaster> but now I can't remove the nodes
17:48:10 <AnMaster> the theory is easy
17:48:13 <AnMaster> the practise... not so
17:49:06 <psygnisfive> oklopol :D
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:07 <psygnisfive> oko seed XD
17:57:14 <oklopol> :P
17:57:25 <tusho_> o
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:26 <psygnisfive> animals.
17:59:30 <tusho_> oerjan: mineral
17:59:32 <psygnisfive> big sexy finnish beasts.
17:59:37 <psygnisfive> hey, maybe they're all three
17:59:38 <tusho_> psygnisfive: big sexy finnish minerals
17:59:52 <psygnisfive> photo-synthesizing silicon-based 4-legged creatures
17:59:53 <psygnisfive> :o
18:01:06 -!- oerjan has quit (Remote closed the connection).
18:01:15 -!- oerjan has joined.
18:01:27 <oerjan> gah
18:02:32 <pikhq> Hmm?
18:02:53 <tusho_> pikhq: he cycled
18:02:55 <tusho_> presumably by mistake
18:03:17 <pikhq> Ah.
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:06:53 <oklopol> network made a mistake
18:23:32 <AnMaster> wow
18:23:45 <AnMaster> tried to compile lostking...
18:23:58 <AnMaster> "Out of memory"
18:23:59 <AnMaster> aborted
18:24:22 <AnMaster> in the write part I think
18:25:18 <AnMaster> $ du -bsh out.c
18:25:19 <AnMaster> 71M out.c
18:25:24 <AnMaster> I managed to get it to run that far
18:25:41 <tusho_> 71mb of compiler output?
18:25:42 <AnMaster> with optimizing
18:25:43 <tusho_> Your compiler sucks :P
18:25:44 <AnMaster> $ du -bsh out.c
18:25:44 <AnMaster> 38M out.c
18:25:50 <AnMaster> tusho_, look... it is the lostking
18:25:52 <AnMaster> you know about it?
18:25:56 <tusho_> yes
18:25:57 <AnMaster> huge brainfuck program
18:25:58 <tusho_> of course i do
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:26:48 <AnMaster> but gcc...
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:30 <tusho_> oklopol: nop
18:27:31 <tusho_> e
18:27:32 <tusho_> :(
18:27:35 <AnMaster> as I needed that when debugging
18:27:43 <oklopol> i wanna make my own dis module
18:27:45 <oklopol> :--)
18:27:57 <oklopol> for the noest of reasons.
18:28:09 <pikhq> 1.2M LostKng.0.c
18:28:11 <pikhq> :D
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:34:26 <AnMaster> from 38
18:34:30 <AnMaster> when optimizing
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:05 <AnMaster> tusho_,
18:40:06 <AnMaster> $ du -bsh out.c
18:40:07 <AnMaster> 4.3M out.c
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:40:26 <tusho_> Literally.
18:40:55 <pikhq> 2.2M a.out
18:41:08 <AnMaster> well I'm waiting for gcc to compile this
18:41:11 <AnMaster> at -O0
18:41:20 <pikhq> tusho_: It's easy with LostKng.
18:41:28 <AnMaster> could take a bit
18:41:31 <AnMaster> :P
18:41:51 <AnMaster> sorry can't compile it
18:41:56 <AnMaster> hit ulimit too quick
18:42:14 <pikhq> Hah.
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:45:39 <AnMaster> case 87: SUB(1);
18:45:39 <AnMaster> case 88: ; }
18:45:40 <AnMaster> wtf
18:45:42 <pikhq> Oh, yes. . . :)
18:45:44 <AnMaster> why wasn't that optimized
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:38 <AnMaster> RodgerTheGreat, eh?
18:46:40 <pikhq> Great. Now you might have me back in on PEBBLE instead of Def-BF.
18:46:55 <psygnisfive> oklopol
18:46:58 <AnMaster> pikhq, stop that
18:47:00 <RodgerTheGreat> this can be applied within Def-BF to a limited extent
18:47:06 <psygnisfive> in Hereford - Reflection
18:47:07 <AnMaster> thanks RodgerTheGreat
18:47:11 <psygnisfive> is that you growl singing?
18:47:25 <psygnisfive> and normal singing?
18:48:06 <pikhq> AnMaster: Don't worry; I'm in a Brainfucking mood right now.
18:48:15 <AnMaster> pikhq, Def-brainfucking?
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:49:46 <RodgerTheGreat> hm
18:50:27 <RodgerTheGreat> well, the heuristics we came up with certainly *seemed* like they would produce good results...
18:56:10 <AnMaster> 3.8 MB now
18:58:33 <AnMaster> (ulimit -m 1075200 ;gcc -O0 -std=c99 -o lostking out.c; )
18:58:35 <AnMaster> lets see
18:58:40 <AnMaster> this will be over 1 GB
18:58:46 <AnMaster> lets see if it manages it
18:58:52 <AnMaster> I'm not optimistic
19:00:22 <AnMaster> 12 mb left on quota
19:00:32 <AnMaster> wait I think it did it
19:00:43 <AnMaster> maybe
19:21:20 <AnMaster> btw
19:21:26 <AnMaster> pikhq, RodgerTheGreat: gcc is still compiling
19:21:29 <AnMaster> after half an hour
19:21:39 <AnMaster> haven't passed the ulimit
19:21:43 <AnMaster> but 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:41 <AnMaster> so I could sed that away
19:22:45 <AnMaster> if you think that is the cause?
19:23:08 <AnMaster> pikhq, ?
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:23:49 <AnMaster> pikhq, hah'
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:29 <AnMaster> you think it will work then?
19:24:34 <pikhq> It might.
19:24:38 <pikhq> Though it will still take a while.
19:25:12 <tusho_> aww
19:25:14 <tusho_> let it go AnMaster
19:25:18 <AnMaster> tusho_, what?
19:25:18 <tusho_> i wanna see the hugefuckingjumptable
19:25:21 <AnMaster> I aborted it
19:25:24 <AnMaster> I will try now
19:25:28 <AnMaster> as pikhq suggested
19:25:41 <tusho_> bah
19:25:45 <tusho_> that won't give a huge jump table AnMaster
19:25:50 <pikhq> tusho_: You're welcome to try.
19:25:57 <AnMaster> tusho_, true
19:26:07 <tusho_> pikhq: I am actually using this box
19:26:07 <tusho_> :P
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:26:45 <AnMaster> compiler*
19:26:51 <AnMaster> leibniz?
19:26:53 <AnMaster> wtf is that
19:26:56 <AnMaster> pikhq, ??
19:27:00 -!- Hiato has quit ("Leaving.").
19:27:03 <tusho_> <AnMaster> leibniz?
19:27:09 <pikhq> That would be a 'no'.
19:27:11 <tusho_> out of context attack
19:27:20 <tusho_> well
19:27:24 <AnMaster> I don't get it..
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:34 <AnMaster> ah...
19:27:34 <AnMaster> no
19:27:39 <AnMaster> I use my desktop
19:27:40 <pikhq> You fail.
19:27:43 <tusho_> AnMaster: you know who http://en.wikipedia.org/wiki/Gottfried_Leibniz is right
19:27:47 <AnMaster> and yes I heard the name
19:27:55 <AnMaster> just it made no sense here
19:28:23 <AnMaster> wow
19:28:26 <AnMaster> without the cases
19:28:27 <AnMaster> it finished
19:28:51 <AnMaster> I think, that computed goto, though gcc specific, may work better
19:28:58 <AnMaster> $ du -bsh lostking
19:28:58 <AnMaster> 8.5K lostking
19:29:08 <AnMaster> err
19:29:10 <AnMaster> something is wrong
19:30:38 <AnMaster> ah yes
19:30:40 <AnMaster> no case
19:30:42 <AnMaster> but switch
19:30:46 <AnMaster> result: no generated code
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:31:52 <AnMaster> pikhq, yes, but gcc specific
19:31:53 <AnMaster> hrrm
19:32:00 <pikhq> Your point being?
19:32:06 <oerjan> no, goto blows. it's come from that sucks.
19:32:58 -!- Sgeo has quit (Connection timed out).
19:33:28 <pikhq> oerjan: :D
19:33:55 <pikhq> Hmm. Computed come from, anyone?
19:34:21 <oerjan> i think CLC-INTERCAL has it, or perhaps both
19:34:26 <oerjan> these days
19:35:50 <tusho_> everything has it
19:35:53 <tusho_> even J-INTERCAL
19:35:54 <AnMaster> oerjan, in generated code...
19:36:07 <tusho_> computed come from is, like, intercal's hallmark
19:37:16 <psygnisfive> tusho_:
19:37:31 <tusho_> psygnisfive:
19:37:32 <AnMaster> goto
19:37:33 <psygnisfive> what was that thing you suggested i get to go along with musicbrainz
19:37:34 <AnMaster> not comefrom
19:38:13 <tusho_> psygnisfive: musicbrainz picard
19:38:15 <tusho_> it tags things(TM)
19:38:21 <tusho_> it's the one thing
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:32 <psygnisfive> ?
19:38:44 <tusho_> oh
19:38:46 <tusho_> i said
19:38:47 <tusho_> if that didn't work
19:38:50 <tusho_> try the foosic tagger
19:38:54 <psygnisfive> ok
19:38:54 <tusho_> but really, i'd just use picard
19:38:57 <tusho_> foosic's tags suck
19:39:01 <psygnisfive> well im on a mac so no picard
19:39:12 <tusho_> uh
19:39:14 <psygnisfive> i did get the mac version tho
19:39:15 <tusho_> picard runs on os x
19:39:19 <psygnisfive> of musicbrainz
19:39:22 <tusho_> dude
19:39:23 <psygnisfive> but its called ieatbrainz
19:39:24 <tusho_> musicbrainz isn't a program
19:39:24 <psygnisfive> anyway
19:39:33 <tusho_> psygnisfive:
19:39:34 <tusho_> http://musicbrainz.org/ftpmirror/pub/musicbrainz/users/robert/picard-0.9.0beta1-build2.dmg
19:39:35 <psygnisfive> the distinction is irrelevant, tusho. :P
19:39:40 <psygnisfive> anyway
19:39:40 <tusho_> no it's not
19:39:42 <psygnisfive> the point is
19:39:42 <tusho_> http://musicbrainz.org/ftpmirror/pub/musicbrainz/users/robert/picard-0.9.0beta1-build2.dmg
19:39:44 <tusho_> picard for os x
19:39:45 <tusho_> use it
19:39:51 <psygnisfive> i have a tagger that uses music brainz
19:39:54 <tusho_> no
19:39:56 <tusho_> not all taggers are equal
19:39:59 <psygnisfive> ok.
19:40:11 <psygnisfive> well the musicbrainz db doesnt have all my songs
19:40:12 <psygnisfive> :(
19:40:16 <tusho_> it does.
19:40:17 <psygnisfive> infact it doesnt have most of them
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:29 <tusho_> use picard
19:40:30 <psygnisfive> lol right
19:40:40 <tusho_> musicbrainz has everything, more or less.
19:40:45 <Deewiant> not hardly
19:40:47 <psygnisfive> because theres so much you can do wrong when theres only one button: "find tags"
19:41:04 <psygnisfive> but im going to try picard anyway
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:42 <tusho_> anyway
19:41:43 <tusho_> I accept that
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:41:54 <tusho_> and no i don't :q
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:30 <psygnisfive> most of my music is not store stuff :p
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:46 <tusho_> i'm picky
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:01 <Deewiant> tusho_: sure
19:47:03 <tusho_> heh
19:47:07 <psygnisfive> tusho_: i'd tag it manually too
19:47:10 <Deewiant> if not remotely, then locally
19:47:12 <psygnisfive> if i knew the information
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:29 <tusho_> ooh, i have an idea
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:49 <Deewiant> bad idea. :-P
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:03 <tusho_> repeat
19:48:05 <Deewiant> "good" "good" "bad" "ok"
19:48:14 <tusho_> Deewiant: well, multiple words
19:48:19 <tusho_> anyway
19:48:22 <tusho_> then get another copy
19:48:23 <tusho_> with the real tags
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 <Deewiant> I was talking about albums
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:47 <tusho_> over and over again
19:48:47 <tusho_> oh
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:09 <Deewiant> beginning to end.
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:50:56 <psygnisfive> :\
19:51:46 <AnMaster> $ du -bsh ./lostking out.c
19:51:46 <AnMaster> 4.2M ./lostking
19:51:46 <AnMaster> 1.6M out.c
19:51:47 <AnMaster> heh
19:51:49 <AnMaster> at -O0
19:51:53 <AnMaster> however
19:51:56 <AnMaster> there seem to be a bug
19:52:00 <AnMaster> something doesn't work
19:52:26 <AnMaster> great
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:18 <psygnisfive> guys guys guys
19:56:21 <psygnisfive> bela fleck and the fleck tones
19:56:23 <psygnisfive> check em out
19:56:50 <AnMaster> psygnisfive, eh?
19:56:54 <AnMaster> psygnisfive, these are esolangs?
19:56:58 <psygnisfive> no lol
19:57:03 <psygnisfive> its a band
19:57:16 <AnMaster> as in music?
19:57:19 <psygnisfive> yes
19:57:25 <AnMaster> k.
19:57:28 <AnMaster> classical music?
19:57:34 <AnMaster> if not, I'm not interested
19:57:36 <psygnisfive> uh.. funky jazz stuff
19:57:40 <AnMaster> not my style
19:57:45 <psygnisfive> ok
20:04:30 <psygnisfive> i wish i could play an instrument
20:05:06 <psygnisfive> maybe i should try to learn piano. :O
20:05:09 <RodgerTheGreat> the harmonica is quite easy to pick up
20:05:13 <RodgerTheGreat> it's also cheap and portable
20:05:19 <psygnisfive> :P
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:19:33 <RodgerTheGreat> this is the interpretation I originally had
20:20:01 <RodgerTheGreat> so ?0xXXXXXXXX takes two cells
20:20:40 <RodgerTheGreat> and +[->+<] takes seven cells
20:20:55 <AnMaster> um
20:21:01 <AnMaster> how can ?0x take two cells
20:21:08 <AnMaster> that is just a parameter for ?
20:21:15 <RodgerTheGreat> that is a parameter for >
20:21:18 <RodgerTheGreat> *?
20:21:27 <AnMaster> yes and?
20:21:41 <AnMaster> RodgerTheGreat, if you generate ASM each instruction will likely take more than one actual CPU address
20:21:55 <AnMaster> at least some will
20:22:16 <AnMaster> there is no 1-to-1 mapping between source code size and generated code size
20:22:24 <RodgerTheGreat> correct
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:23:53 <RodgerTheGreat> no, in my above example I had 8 X's- 32bits
20:24:02 <AnMaster> well mine is 64-bit
20:24:04 <AnMaster> so :)
20:24:10 <AnMaster> or rather
20:24:14 <AnMaster> you can select at compile time
20:24:15 <RodgerTheGreat> so one cell for ? and one cell for the parameter
20:24:20 <AnMaster> of the compiler
20:24:25 <pikhq> RodgerTheGreat: Perhaps, say, a jump table? :p
20:24:30 <AnMaster> RodgerTheGreat, however it isn't stored like that
20:24:37 <AnMaster> internally I mean
20:25:02 <AnMaster> RodgerTheGreat, I see it as a parameter that can be embedded in the same byte
20:25:05 <AnMaster> kind of ;P
20:26:43 <AnMaster> but fine with me
20:27:24 <AnMaster> RodgerTheGreat, an issue
20:27:27 <AnMaster> with ?0x...
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:42 <RodgerTheGreat> ideally a NOP
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:28:49 <RodgerTheGreat> but strictly speaking, undefined
20:28:54 <AnMaster> undefined. right, exit then
20:29:06 <AnMaster> or maybe error
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:36 <RodgerTheGreat> play around with it
20:30:39 <AnMaster> pikhq, I don't that is possible on x86
20:30:42 <AnMaster> without adding nops
20:30:46 <AnMaster> to make some longer
20:30:49 <pikhq> AnMaster: With adding nops.
20:30:56 <AnMaster> pikhq, that will be slow
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:38 <AnMaster> pikhq, oh god
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:31:56 <AnMaster> for some of them
20:32:06 <AnMaster> but that would be very slow
20:32:11 <pikhq> Still impossible.
20:32:14 <pikhq> A pointer is 4 bytes.
20:32:19 <AnMaster> ah true
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:38 <AnMaster> pikhq, relative jump...
20:32:43 <AnMaster> that's shorter pointer isn't it?
20:32:48 <pikhq> Jump table is a possibility.
20:32:51 <RodgerTheGreat> I really want to support MIPS and PPC eventually
20:32:59 <pikhq> Except that it would be fucking insane.
20:32:59 <AnMaster> pikhq, well jump tables every x bits
20:33:03 <AnMaster> not a good idea
20:33:10 <RodgerTheGreat> eugh
20:33:24 <AnMaster> RodgerTheGreat, I agree
20:33:33 <pikhq> RodgerTheGreat: It gets hard as hell when you start thinking about actually *doing* it.
20:33:37 <pikhq> Hmm.
20:33:39 <AnMaster> RodgerTheGreat, my implementation is portable
20:33:47 <RodgerTheGreat> like so many things in esoteric programming
20:33:56 <pikhq> You *know*, if we assume a virtual machine, instead of real hardware, this is trivial.
20:33:56 <pikhq> ;p
20:34:09 <AnMaster> pikhq, yes right
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:36 <AnMaster> mine is compiled to C code
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:32 <RodgerTheGreat> very easy to do, actually
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:11 <AnMaster> no?
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:43:10 <AnMaster> well I guess it is
20:43:21 <RodgerTheGreat> and honestly I wouldn't care if it wasn't
20:43:27 <AnMaster> sure I get it
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:27 <AnMaster> well mine is GPL3+
20:49:33 <AnMaster> no need to reuse if you don't want to
20:49:53 <RodgerTheGreat> by all means, license your own work as you see fit
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
20:50:29 <RodgerTheGreat> cool with me
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:56:48 <tusho_> fuck german though.
21:56:49 <tusho_> :D
21:56:54 <tusho_> anyway
21:56:56 <tusho_> that's OK
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:08 <tusho_> :P
21:57:13 <AnMaster> tusho_, there could be
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:17 <AnMaster> but not sure
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:57:41 <psygnisfive> are you kids talking about language
21:57:43 <AnMaster> beyond a few words
21:58:07 <AnMaster> Deewiant, we still got locales
21:58:17 <AnMaster> what about ä and Ä
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:26 <AnMaster> outside the a-z
21:58:31 <Deewiant> special case?
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:58:54 <Deewiant> well, uh :-P
21:58:57 <AnMaster> other chars aren't
21:59:03 <psygnisfive> anmaster: what are you coding?
21:59:09 <AnMaster> psygnisfive, not me
21:59:13 <AnMaster> this is general discussion
21:59:13 <psygnisfive> whats who coding
21:59:15 <psygnisfive> ok
21:59:15 <Deewiant> fortunately unicode generally provides the information
21:59:16 <AnMaster> since yesterday
21:59:23 <psygnisfive> whats the theoretical thing being coded
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
21:59:50 <AnMaster> no idea if such stuff happens
21:59:52 <AnMaster> but it could
22:00:00 <AnMaster> and how would you solve it?
22:00:04 <Deewiant> well sure, it's not a fully solved problem
22:00:09 <psygnisfive> what are you coding?!
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:24 <AnMaster> psygnisfive, and night
22:00:25 <AnMaster> all
22:00:27 <psygnisfive> right but hypothetically
22:00:44 <tusho_> we're not
22:00:45 <tusho_> coding
22:00:48 <tusho_> hypothetically or no
22:00:48 <tusho_> t
22:00:57 <psygnisfive> ok whats the problem you're trying to solve
22:00:58 <psygnisfive> -_-
22:01:01 <tusho_> none
22:01:02 <tusho_> jesus
22:01:10 <psygnisfive> then wtf are they talking about
22:01:17 <psygnisfive> "and how would you solve it?"
22:01:18 <tusho_> file systems
22:01:23 <tusho_> and case insensitivety
22:01:27 <tusho_> *insensitivity
22:01:36 <psygnisfive> oh. for non-ascii characters?
22:01:41 <tusho_> yes
22:01:45 <tusho_> and locales
22:01:56 <psygnisfive> unicode fs?
22:02:02 <tusho_> no
22:02:04 <tusho_> just fs
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:11 <psygnisfive> no i mean couldnt the fs use unicode
22:02:15 <tusho_> psygnisfive: yes.
22:02:17 <tusho_> but it depends on the locale
22:02:18 <psygnisfive> ok.
22:02:20 <tusho_> what is case-equivilent
22:02:21 <tusho_> and what's not
22:02:25 <tusho_> we're tryign to resolve that issue
22:02:30 <psygnisfive> oh i see yes.
22:02:45 <psygnisfive> ask apple? im sure they've got that junk figured out. :P
22:02:53 <tusho_> they haven't, really
22:02:57 <tusho_> unfortunately
22:02:57 <psygnisfive> oh?
22:03:00 <tusho_> its flawed
22:03:03 <tusho_> ^^^^^^^^^ read up and see why
22:03:03 <tusho_> :p
22:03:07 <psygnisfive> meh.
22:03:12 <psygnisfive> unicode is flawed.
22:03:15 <psygnisfive> but thats another discussion.
22:03:19 <tusho_> not terribly flawed.
22:03:21 <tusho_> it's pretty freakin' good
22:03:23 <psygnisfive> it is
22:03:33 <psygnisfive> but for certain character sets its just.. idiotic.
22:03:34 <psygnisfive> anyway
22:03:42 <Deewiant> how's that
22:03:43 <psygnisfive> hey i saw Star Trek 5 last night
22:03:50 <psygnisfive> what a silly movie that was
22:04:00 <psygnisfive> i mean, REALLY silly
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:04:32 <psygnisfive> ;O
22:04:37 <psygnisfive> XD
22:05:05 <tusho_> that
22:05:06 <tusho_> is really
22:05:09 <tusho_> stretched.
22:05:19 <psygnisfive> oh it'll be stretched alright
22:05:24 <tusho_> ..
22:05:32 -!- Slereah__ has joined.
22:05:37 * psygnisfive is a horrible, horrible person
22:05:45 <tusho_> agreed
22:07:26 <tusho_> http://uuner.doslash.org/forfun/sedtris.sed
22:07:28 <tusho_> tetris in sed
22:07:34 <tusho_> http://samhuri.net/sedtris.png
22:10:00 <Deewiant> wow, nice
22:10:32 <psygnisfive> did you make that tusho?
22:10:37 <tusho_> no.
22:10:41 <psygnisfive> ok.
22:10:44 <tusho_> # Julia Jomantaite <julia.jomantaite@gmail.com>
22:10:47 <tusho_> honestly.
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:35 <psygnisfive> er.. whoops
22:23:47 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
22:24:12 <tusho_> Cat, psygnisfive?
22:24:20 <psygnisfive> mustard.
22:24:44 <psygnisfive> tho we should make a programming language where that's the cat program
22:24:50 <tusho_> haha
22:24:54 -!- Judofyr has joined.
22:25:04 <tusho_> hi Judofyr
22:25:23 <Judofyr> hi
22:25:38 <psygnisfive> omg theres this french mustard
22:25:41 <psygnisfive> maille or something like that
22:25:43 <psygnisfive> its so good :O
22:29:50 <tusho_> woohoo
22:29:53 <tusho_> my site is up!
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:30 <tusho_> yay.
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:09 <Judofyr> tusho_: gratz!
22:31:18 <tusho_> heh
22:31:18 <tusho_> :p
22:31:24 <Judofyr> have you bought tusho.org?
22:31:29 <tusho_> no, but i will soon
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:48 <Judofyr> got 6 years for $10
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:14 <Judofyr> less is more
22:32:30 <tusho_> anyway, I use slicehost for hosting
22:32:33 <tusho_> and I think mydomain for domains
22:32:35 <tusho_> used to use yahoo
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:39 <Judofyr> you're a ruby guy :O
22:33:44 <psygnisfive> tusho, you better get tusho.org soon
22:33:46 <psygnisfive> otherwise i will
22:33:51 <tusho_> psygnisfive: :| don't.
22:33:55 <tusho_> or if you do give it to me.
22:33:58 <psygnisfive> ::does::
22:33:58 -!- ihope has joined.
22:34:01 <tusho_> agh.
22:34:07 <tusho_> come on psygnisfive :\
22:34:09 <tusho_> Judofyr: i'm ehird
22:34:10 <tusho_> :p
22:34:23 <Judofyr> ah :P
22:34:35 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
22:35:00 <psygnisfive> oklopol, are you following me?
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:35:59 <Judofyr> all those names!
22:36:01 <Judofyr> oh, and fuck wi-fi
22:36:03 <Judofyr> and I'm pretty pleased with Webby: http://judofyr.net/posts/building-a-website-with-webby.html
22:36:05 <Judofyr> :)
22:36:47 <tusho_> Judofyr: how on earth could I use something i didn't write
22:36:48 <tusho_> psht
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:22 <tusho_> then redirects back
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:38:48 <Judofyr> sure?
22:39:03 <tusho_> yes
22:39:04 <Judofyr> ruby -e"Time.now.iso8601"
22:39:15 <Judofyr> "undefined method `iso8601' for Tue Jul 22 23:39:00 +0200 2008:Time (NoMethodError)"
22:39:26 <tusho_> Judofyr: huh
22:39:27 <tusho_> well
22:39:29 <tusho_> it's not rss/rss
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:52 <tusho_> since I use it
22:39:57 <tusho_> and that's all the rakefile requires
22:40:23 -!- CakeProphet_ has joined.
22:40:55 <Judofyr> you're right!
22:40:59 <Judofyr> require 'time' is all you need!
22:41:05 <tusho_> right then
22:41:05 <tusho_> :)
22:41:16 * ihope hugs CakeProphet_
22:41:25 <CakeProphet_> ...hello
22:41:35 -!- CakeProphet has quit (Nick collision from services.).
22:41:36 -!- CakeProphet_ has changed nick to CakeProphet.
22:43:17 <ihope> Ello.
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:06 <Judofyr> oh?
22:46:16 <Judofyr> why?
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:46:51 <Judofyr> middleware?
22:47:00 <tusho_> yeah that's what I was going for
22:47:01 <tusho_> still
22:47:03 <tusho_> I'll do it sometime
22:47:28 -!- Slereah__ has joined.
22:47:44 -!- atsampson has quit (Read error: 113 (No route to host)).
22:51:25 <psygnisfive> http://youtube.com/watch?v=SV3R5vdxnMk
22:59:17 -!- Slereah_ has joined.
23:06:46 -!- atsampson has joined.
23:08:27 <olsner> psygnisfive: weird
23:08:44 <psygnisfive> more like german
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:12:24 <olsner> *strzende
23:21:45 <psygnisfive> dunno
23:21:47 <psygnisfive> its german
23:21:49 <psygnisfive> who the hell knows
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:55 <tusho_> on another note
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:17 <psygnisfive> "there doesn't seem to be anything here"
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:47:42 <Judofyr> good days!
23:47:44 <tusho_> THAT is a good url.
23:48:08 <Judofyr> you can still link to that URL, though
23:48:14 <tusho_> yes
23:48:15 <psygnisfive> "there doesn't seem to be anything here"
23:48:21 <tusho_> psygnisfive: that's the comments.
23:48:25 <tusho_> it's the article above that.
23:48:28 <tusho_> :P
23:48:28 <psygnisfive> ok.
23:48:43 <psygnisfive> im not part of reddit
23:48:45 <psygnisfive> so it doesnt matter
23:48:46 <psygnisfive> :D
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:36 <psygnisfive> it requires that i type something :O
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:49:58 <psygnisfive> done
23:50:06 <psygnisfive> ::is loved forever::
23:50:08 <tusho_> Judofyr: in related news, I have just 14 karma from one submission :D
23:50:15 <tusho_> gah
23:50:17 <tusho_> someone else downvoted it
23:50:20 <tusho_> hahahah
23:50:31 <Judofyr> I got 25 for translating it to norwegian :)
23:50:38 <Judofyr> and a t-shirt!
23:50:45 <tusho_> heh
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:52 <tusho_> raa, jeez
23:51:59 <tusho_> i completely forgot about that thing because it's dead and useless.
23:52:08 <Judofyr> yeah
23:52:41 <Judofyr> Don't Forget About MUDs!
23:52:50 <tusho_> i liked thato ne
23:52:59 <Judofyr> that was .... funny?
23:54:03 <tusho_> yes
23:54:19 <Judofyr> I'm too young :/
23:55:02 <tusho_> as am I
23:55:05 <tusho_> but i still know what a MUD is
23:55:06 <tusho_> so :P
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:41 <tusho_> oklopol: ha
23:55:47 <tusho_> "BBS? You kids today."
2008-07-23
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:19:35 <CakeProphet> :)
00:28:17 <psygnisfive> (ask CakeProphet 'sup?)
00:28:45 <CakeProphet> CakeProphet reply to: psygnisfive with: 'nm la'
00:29:21 <psygnisfive> does SmallTalk allow that?
00:29:26 <psygnisfive> reply to:?
00:29:28 <psygnisfive> with a space?
00:30:42 <CakeProphet> er
00:30:47 <CakeProphet> no it does not.
00:30:58 <psygnisfive> is this some other language?
00:30:58 <CakeProphet> CakeProphet replyto: psygnisfive with: 'nm la'
00:31:01 <CakeProphet> my bad.
00:31:02 <psygnisfive> :P
00:31:10 <psygnisfive> brb actually
00:31:23 <psygnisfive> (set-status 'brb)
00:31:29 -!- psygnisfive has changed nick to psygnisfive[brb].
00:35:42 -!- olsner has quit ("Leaving").
00:44:10 <psygnisfive[brb]> (set-status 'back)
00:44:16 -!- psygnisfive[brb] has changed nick to psygnisfive.
00:44:42 <psygnisfive> sup bitches
00:45:49 <psygnisfive> o.o
00:49:28 <psygnisfive> o.o
00:49:49 <psygnisfive> (poke everyone)
00:49:57 * psygnisfive pokes cakeprophet
00:50:00 * psygnisfive pokes anmaster
00:50:04 * psygnisfive pokes oklopol
00:50:06 * psygnisfive pokes tusho
00:50:11 * psygnisfive pokes deewiant
00:50:14 <CakeProphet> I like IOs message syntax more so than smalltalks.
00:50:22 <psygnisfive> iomessage syntax?
00:50:36 <CakeProphet> though it doesn't allow you to have things like replyto: and then replyto:with:
00:50:40 <CakeProphet> it's just
00:50:48 <CakeProphet> object message (args...)
00:50:54 <psygnisfive> ah
00:51:09 <psygnisfive> augur replytowith cakeprophet "hello"
00:51:10 <psygnisfive> ?
00:51:11 <CakeProphet> that is the syntax for like everything...
00:51:19 <CakeProphet> non-alphanumeric characters don't require a space
00:51:25 <CakeProphet> thus 2+2 and such
00:51:35 <psygnisfive> yeah
00:51:50 <CakeProphet> and all the arguments a lazily evaluated
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:52:59 <psygnisfive> it should instead have like
00:53:11 <psygnisfive> x == 2 implies "Hello, World!" println
00:53:29 <psygnisfive> where implies is a method of booleans
00:53:51 <psygnisfive> ok im off again
00:53:55 <psygnisfive> augur setstatus "away"
00:53:58 <psygnisfive> ..
00:54:00 <psygnisfive> psygnisfive*
00:54:00 <psygnisfive> :P
00:54:04 -!- psygnisfive has changed nick to psygnisfive[away.
00:56:52 <CakeProphet> that's pretty much how smalltalk does conditionals
01:00:11 <CakeProphet> io, to me, looks more uniform than lisp.
01:00:48 <CakeProphet> because lisp has macros that pretty much make their own rules.
01:07:11 <CakeProphet> ahahahaha
01:07:11 <psygnisfive[away> well im not gone yet
01:07:15 <CakeProphet> I have
01:07:20 -!- psygnisfive[away has changed nick to psygnisfive.
01:07:23 <CakeProphet> 100 workspaces
01:07:43 <psygnisfive> why do lisp macros look less uniform??
01:08:01 <CakeProphet> they don't look less uniform
01:08:05 <CakeProphet> they are less uniform
01:08:10 <CakeProphet> there's functions... and then there's macros.
01:08:20 <CakeProphet> but they look exactly the same
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:34 <CakeProphet> ...they are.
01:08:38 <psygnisfive> theyre not but they might as well be
01:08:55 <psygnisfive> i dont see why theyre not uniform tho
01:08:56 -!- Judofyr has joined.
01:09:25 <CakeProphet> psygnisfive: ...I am saying that lisp is not uniform.
01:09:30 <CakeProphet> not that it... matters.
01:09:34 <psygnisfive> i dont see why :O
01:09:35 <psygnisfive> but ok
01:09:35 <CakeProphet> but that's what it claims to be.
01:09:48 <CakeProphet> it has functions and macros... two seperate things.
01:09:53 <psygnisfive> so?
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:37 <CakeProphet> it's not really a... problem.
01:10:40 <CakeProphet> because lots of languages do this.
01:10:51 <psygnisfive> ive never heard anyone claim that everything is computed via the same parts of eval/apply
01:11:18 <CakeProphet> ...nevermind.
01:11:22 <psygnisfive> :P
01:11:30 <psygnisfive> ok.
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:12:38 <CakeProphet> *can't.
01:12:50 <psygnisfive> does it matter?
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:14:19 <CakeProphet> cond, if, loop, etc.
01:14:23 <psygnisfive> special forms, i know.
01:14:56 <CakeProphet> cond and if don't really surprise me much
01:14:58 <CakeProphet> but like
01:15:01 <CakeProphet> loop is just... weird.
01:15:04 <psygnisfive> why?
01:15:22 <psygnisfive> i dont know if i like the syntax for it in scheme but
01:17:08 <psygnisfive> ok now im off
01:17:21 <CakeProphet> kkk
01:17:21 <psygnisfive> [self setStatus: Away]
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:28:51 <psygnisfive-away> hello! :D
02:34:02 <psygnisfive-away> :o
02:34:06 -!- psygnisfive-away has changed nick to psygnisfive.
02:34:10 <psygnisfive> o.o
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:34:50 <psygnisfive> what is rootnomic
02:34:53 <psygnisfive> what is nomic in general
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:35 <psygnisfive> oh yes, that
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:08:54 <psygnisfive> no :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:09:24 <ihope> Hmm, cool.
03:09:27 <ihope> What is reduce?
03:09:36 <psygnisfive> reduce is..
03:09:45 <psygnisfive> turn a collection into a single item
03:09:48 <psygnisfive> so like
03:10:00 <psygnisfive> well, its sometimes known as fold
03:10:24 <psygnisfive> foldl (+) [1,2,3,4,5] = 15
03:10:32 <psygnisfive> 1+2+3+4+5
03:10:38 <psygnisfive> using haskell
03:10:41 <RodgerTheGreat> mapreduce, like the internal google tool?
03:10:52 <psygnisfive> it might be doable on MapReduce but no
03:11:01 <psygnisfive> i was thinking just map and reduce.
03:11:02 <RodgerTheGreat> but the same operations, I mean?
03:11:06 <psygnisfive> sort of
03:11:10 <RodgerTheGreat> hm
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:11:41 <psygnisfive> ok here, can i do some haskell code?
03:12:10 <psygnisfive> map f [] = []
03:12:10 <psygnisfive> map f x:xs = f x : map f xs
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:13:22 <psygnisfive> foldr f init [] = init
03:13:22 <psygnisfive> foldr f init x:xs = f x (foldr f init xs)
03:13:28 <psygnisfive> foldr being a right reduce
03:13:43 <psygnisfive> summation is a kind of reduce, sure
03:13:47 <psygnisfive> its a reduce with +
03:13:53 <psygnisfive> products being reduce with *
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:14:25 <psygnisfive> it doesnt have to be commutative
03:14:32 <psygnisfive> it just has to be closed
03:14:48 <RodgerTheGreat> closed under the datatype?
03:14:52 <psygnisfive> yes
03:14:57 <psygnisfive> it has to be of type
03:14:59 <RodgerTheGreat> alright, I'm with you
03:15:01 <psygnisfive> a->a->a
03:15:13 <psygnisfive> forall a
03:16:04 <psygnisfive> anyway
03:16:09 <ihope> map here refers to applying one function to every element of a list, yes?
03:16:16 <psygnisfive> yeah
03:16:23 -!- puzzlet_ has changed nick to puzzlet.
03:16:32 <psygnisfive> map f [a,b,c,...] = [f a, f b, f c, ...]
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:19 <psygnisfive> but MapSortReduce doesnt sound as cool
03:17:33 <psygnisfive> anyway
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:30:03 <psygnisfive> la
03:44:36 <ihope> Eeshoo.
03:44:42 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
03:44:56 -!- Judofyr has joined.
03:48:25 <psygnisfive> eeshoo?
03:52:24 <psygnisfive> whtats eeshoo?
03:58:48 <ihope> An interjection.
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:41 <Deewiant> hmm
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:01:44 <AnMaster> Deewiant, nice
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:16:32 <AnMaster> for some optimizing
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:11 <AnMaster> hi tusho
10:23:12 <tusho> um
10:23:16 <tusho> whose been using my nick
10:23:22 <tusho> hi
10:23:24 <tusho> what we talkin' bout
10:23:28 <AnMaster> tusho, using your nick?
10:23:29 <AnMaster> nah
10:23:32 <tusho> no
10:23:33 <AnMaster> <Deewiant> hmm
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 <tusho> to tell me
10:23:37 <AnMaster> <AnMaster> Deewiant, nice
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:56 <AnMaster> RC/Funge has the TRDS crap
10:23:57 <tusho> i release software telepathically
10:24:08 <tusho> up votes6
10:24:09 <tusho> down votes5
10:24:10 <tusho> darnit
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:48 * AnMaster runs
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:36:08 <tusho> c isn't english
11:37:18 <AnMaster> true
11:37:49 <AnMaster> tusho, English is more like some sort of RPC language
11:37:58 <tusho> not rly
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:18 <tusho> it's cool
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 <tusho> uh
11:49:06 <AnMaster> "Couldn't mmap() input file: Invalid argument"
11:49:08 <tusho> flex is a lexer
11:49:10 <tusho> lemon is a parser generator
11:49:20 <AnMaster> tusho, ah typo.
11:49:42 <tusho> anyway
11:49:43 <tusho> sqlite uses lemon
11:49:48 <AnMaster> yes I know that
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:44 <pikhq> So, for example:
14:27:47 <AnMaster> pikhq, not mentioned in spec
14:27:50 <pikhq> var: a "ABC"
14:27:53 <pikhq> Yes it is.
14:27:59 <AnMaster> pikhq, how do you later assign it?
14:28:07 <AnMaster> as in foo=2;
14:28:10 <pikhq> Ah.
14:28:29 <pikhq> foo?0x00000002
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:50 <AnMaster> pikhq, care to paste yours
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:30 <AnMaster> plus some other stuff
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:17 <AnMaster> it will help at least
14:32:27 <pikhq> It and I are on different systems.
14:32:35 <AnMaster> again...
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:37:48 <AnMaster> would be useful
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:42:03 <AnMaster> pikhq, thanks
14:42:04 <AnMaster> a sec
14:43:31 <AnMaster> pikhq, hm, thanks
14:43:48 <AnMaster> pikhq, what is yywrap for?
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:46:16 <tusho> back
15:47:28 <tusho> ihope: the implementation's hideous usage and constraints
15:48:51 -!- puzzlet_ has joined.
15:55:14 <RodgerTheGreat> pikhq: 'sup?
16:01:17 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
16:04:27 <pikhq> Yo.
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:05:50 <pikhq> Never mind.
16:06:16 <RodgerTheGreat> mm
16:06:24 <pikhq> New DC when DC recovers from a bicycle wreck.
16:06:26 <RodgerTheGreat> might be *a* friday
16:06:44 <RodgerTheGreat> I'm glad you're beginning to share my rage about DC
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:08 <pikhq> Fudge monkeys.
16:07:11 <RodgerTheGreat> riiiight
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:10:54 <RodgerTheGreat> I can only take so much abuse as an audience member
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:11:39 <RodgerTheGreat> tusho: not talking to you
16:11:53 <RodgerTheGreat> "abuse as an audience member"- audience for DC
16:11:56 <tusho> oh.
16:12:16 <RodgerTheGreat> yes.
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:13:00 <tusho> hi MikeRiley
16:13:04 <MikeRiley> hello
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:18:19 <RodgerTheGreat> that's where the "riiiight" came from
16:18:37 <RodgerTheGreat> and it's not awful, it's realistic
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:19:53 <RodgerTheGreat> once again THIS IS HIS SOLE SOURCE OF INCOME.
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:43 <sebbu> i paused
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:02 <pikhq> Jebus.
16:31:11 <pikhq> 0.491 BAC.
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:18 <RodgerTheGreat> make it happen
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:32:48 <pikhq>
16:33:06 <tusho> pikhq:
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:34:31 <tusho> hah
16:35:51 <pikhq> RodgerTheGreat: I think there's less alcohol in some hard liquors. . .
16:36:03 <RodgerTheGreat> pikhq: this is correct
16:36:13 <pikhq> What did the guy do, chug a gallon of everclear?
16:36:22 <RodgerTheGreat> blood with a BAC of .5 would presumably be 100-proof
16:36:28 <RodgerTheGreat> pikhq: maybe intravenously
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:39:44 <RodgerTheGreat> pikhq: physically, yes. cellularly, no.
16:39:54 <pikhq> Well, of course.
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:43:47 <AnMaster> tusho, nop I don't
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:44:18 <AnMaster> for Def-BF
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:52:16 <RodgerTheGreat> possibly RTN
16:54:34 <AnMaster> hm
16:54:40 <AnMaster> RodgerTheGreat, what about attributes?
16:54:49 <RodgerTheGreat> I'm giving that thought
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:32:57 <iano> testing
17:33:13 -!- iano has left (?).
17:33:25 <tusho> failed
17:33:55 <MikeRiley> guess so
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:25 <Deewiant> oh hey, you're here too
17:50:26 <MikeRiley> and cat's eye diagnostics work that way...
17:50:29 <MikeRiley> yes i am...
17:50:36 <Deewiant> excellent :-)
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:19 <Deewiant> probably was
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:41 <Deewiant> true
17:52:58 <MikeRiley> just in case you want some zeros for some stupid reason...
17:53:03 <Deewiant> :-)
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:53:39 <AnMaster> eh
17:53:40 <AnMaster> what
17:53:49 <AnMaster> that makes no sense
17:53:55 <MikeRiley> did not to me either...
17:53:58 <Deewiant> evidently Mike asked Chris
17:54:00 <MikeRiley> but that is what chris told me long ago...
17:54:01 <Deewiant> and that's what he said
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:55:55 <AnMaster> ah....
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:17 <Deewiant> but then...
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:47 <Deewiant> yeah, I can put it up, sec
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:23 <Deewiant> ah, okay
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:30 <tusho> cooooooooool
17:57:32 <MikeRiley> that stupid k instruction has always been a problem!! eheheheheeh
17:57:40 <Deewiant> yeah
17:57:41 <MikeRiley> yes he is the funge guy...
17:57:44 <AnMaster> Deewiant, anything else where it disagrees with mycology?
17:57:51 <Deewiant> AnMaster: haven't run it yet, actually
17:57:53 <Deewiant> AnMaster: want to?
17:57:59 <AnMaster> well will shortly
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:58:51 <AnMaster> come comes*
17:58:56 <Deewiant> I don't know
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
17:59:35 <Deewiant> I was hoping you might
17:59:37 <Deewiant> yep :-)
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> $ ../cfunge diagt.b98
18:00:37 <AnMaster> thread 2 startedthread 1 startedFAIL no stackFAIL
18:00:42 <AnMaster> I'm not sure what that means
18:00:45 <Deewiant> nice :-D
18:00:47 <Deewiant> let me try
18:00:54 <AnMaster> Deewiant, anyway it is much harder to parse the output of this tool
18:00:58 <AnMaster> than of mycology
18:01:15 <Deewiant> sure, mycology was partly designed for it to be easy to see what's going on
18:01:19 <Deewiant> from the output, that is
18:01:21 <Deewiant> not the code. ;-)
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:01:44 <AnMaster> Deewiant, rather = I guess
18:01:51 <Deewiant> ah, right, sh
18:02:13 <AnMaster> but what does it expect? that I have it chmod +x and have PATH include current dir?
18:02:18 <AnMaster> neither is true on my system
18:02:28 <Deewiant> okay, so diag1.b98 loops infinitely
18:02:35 <AnMaster> Deewiant, it doesn't here
18:02:39 <MikeRiley> it should not loop indefinitely
18:02:46 <AnMaster> it quits with:
18:02:47 <AnMaster> iterate:!!!!!!!!!FAIL
18:02:47 <Deewiant> or then it just takes a long time
18:02:50 <AnMaster> Deewiant, ^
18:02:56 <ihope> tusho: would you come back if rootnomic's proposal system were replaced with something better?
18:02:56 <Deewiant> hangs after compare:OK for me
18:02:59 <AnMaster> real 0m0.028s
18:02:59 <AnMaster> user 0m0.017s
18:02:59 <AnMaster> sys 0m0.008s
18:03:02 <AnMaster> remember, cfunge is fast
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:24 <AnMaster> tusho, you left in a huff?
18:03:25 <Deewiant> MikeRiley: ignore him, he's a performance freak
18:03:29 <tusho> AnMaster: no
18:03:34 <tusho> i never started it
18:03:40 <AnMaster> Deewiant, it outputs it once here
18:03:40 <MikeRiley> real 0m0.002s
18:03:40 <MikeRiley> user 0m0.000s
18:03:40 <MikeRiley> sys 0m0.000s
18:03:42 <Deewiant> ookay, diag3b.b98 also loops infinitely
18:03:44 <MikeRiley> that is running diag1
18:03:45 <tusho> OH BURN
18:03:47 <AnMaster> MikeRiley, hm, impressive
18:03:49 <Deewiant> :-D
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:06 <AnMaster> MikeRiley, from diag1.b98 ?
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:13 <MikeRiley> yes from diag1
18:04:18 <AnMaster> tusho, very fun
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:29 <MikeRiley> diagt gives me this:
18:04:30 <AnMaster> Deewiant, any idea what is wrong then?
18:04:36 <Deewiant> nope
18:04:42 <Deewiant> and not gonna look in any detail right now
18:04:43 <MikeRiley> thread 2 started
18:04:43 <MikeRiley> thread 1 started
18:04:43 <MikeRiley> OK
18:04:43 <MikeRiley> Instructions Executed: 793 in 758 cycles
18:04:43 <MikeRiley> Execution time : 0.00 seconds
18:04:44 <MikeRiley> Instructions per second: inf
18:04:46 <MikeRiley> Exiting with return code = 0
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:48 <MikeRiley> real 0m0.004s
18:04:50 <MikeRiley> user 0m0.000s
18:04:52 <MikeRiley> sys 0m0.004s
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:08 <Deewiant> a tree of some kind?
18:05:09 <AnMaster> MikeRiley, or using static memory model stuff?
18:05:14 <Deewiant> ah, right
18:05:15 <tusho> AnMaster: how about sane optimizations
18:05:16 <Deewiant> static memory, too
18:05:20 <tusho> as opposed to your rather random attempts
18:05:21 <Deewiant> by default
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:46 <MikeRiley> diagt on the dynamic model:
18:05:47 <Deewiant> wraparound didn't work IIRC
18:05:49 <MikeRiley> thread 2 started
18:05:49 <MikeRiley> thread 1 started
18:05:49 <MikeRiley> OK
18:05:49 <MikeRiley> Instructions Executed: 793 in 758 cycles
18:05:49 <MikeRiley> Execution time : 0.00 seconds
18:05:50 <MikeRiley> Instructions per second: inf
18:05:52 <MikeRiley> Exiting with return code = 0
18:05:54 <MikeRiley> real 0m0.003s
18:05:56 <MikeRiley> user 0m0.000s
18:05:57 <AnMaster> huh
18:05:58 <MikeRiley> sys 0m0.000s
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:30 <MikeRiley> it could be...
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:08:43 <AnMaster> well... the whole FNGR thing
18:09:00 <AnMaster> MikeRiley, cfunge can be found at http://rage.kuonet.org/~anmaster/cfunge/
18:09:05 <AnMaster> just fyi
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:23 <AnMaster> this is esoteric after all
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:10:42 <AnMaster> tusho, :D
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:23 <Deewiant> ah yeah, FNGR
18:11:27 <Deewiant> it contradicts the Funge spec
18:11:30 <AnMaster> MikeRiley, no it just breaks the Funge specs
18:11:43 <MikeRiley> how so??
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:18 <AnMaster> so he better tell you
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:42 <Deewiant> that doesn't work, though
18:13:45 <AnMaster> so you can unload and load totally random and end up with one half fingerprint
18:13:45 <Deewiant> run mycology and see ;-)
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:20 <AnMaster> cfunge certainly have
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> specification.
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:15:57 <AnMaster> to clarify the undefined
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:22 <Deewiant> yeah, essentially
18:16:25 <AnMaster> MikeRiley, this is true, but what happens when you unload out of order?
18:16:33 <Deewiant> i.e.
18:16:34 <AnMaster> it should pop the top item
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:03 <AnMaster> Deewiant, indeed
18:17:12 <Deewiant> and the result should be that M is now whatever was loaded before ROMA
18:17:18 <MikeRiley> i agree,,,
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:07 <Deewiant> MikeRiley: for instance, N
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:18:59 <AnMaster> or reference one
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:25 <Deewiant> apart from N
18:20:43 <MikeRiley> hmmm,,,will have to think about that...
18:20:44 <Deewiant> and what does T do?
18:20:50 <Deewiant> "Tag stack entry n with new fingerprint fp"?
18:20:56 <Deewiant> says nothing to me :-P
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:34 <Deewiant> ah, so that can't work either
18:21:39 <Deewiant> since again, you can't know what fingerprints are loaded.
18:21:53 <Deewiant> in general
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:16 <MikeRiley> hmmmmmmm
18:22:16 <Deewiant> no, it can't
18:22:23 <Deewiant> load FNGR, load ROMA, unload NULL
18:22:33 <Deewiant> all the ROMA instructions are gone now
18:22:38 <Deewiant> as are some of FNGR's
18:22:42 <Deewiant> so what is truly loaded?
18:22:46 <MikeRiley> that should not be the case
18:22:53 <Deewiant> yes, it should :-)
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:07 <Deewiant> no NULL loaded
18:23:09 <Deewiant> just unloaded
18:23:23 <MikeRiley> if NULL is unloaded without being loaded first, then nothing should happen...
18:23:26 <Deewiant> "RGNF"4("AMOR"4("LLUN"4)
18:23:28 <Deewiant> incorrect
18:23:48 <MikeRiley> hmmmmmmm
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:06 <Deewiant> *(even if that fingerprint
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:24 <AnMaster> yes it should
18:24:26 <Deewiant> hence, you can essentially forget about N and T
18:24:27 <AnMaster> according to the spec
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:10 <MikeRiley> that is certainly possible...
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:28:44 <AnMaster> look at the examples below
18:28:59 <AnMaster> wait no, it doesn't show that
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:40 <Deewiant> tusho: how's that
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:31:59 <Deewiant> yeah
18:32:04 <MikeRiley> just like k,,,,i wonder if the the intent and what was written were not the same...
18:32:05 <AnMaster> Deewiant, what does FBBI do?
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:43 <AnMaster> hm
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:14 <AnMaster> ;P
18:33:14 <MikeRiley> it is wild!!!! eheheheheheeheh
18:33:15 <Deewiant> TRDS is excellent
18:33:24 <Deewiant> best idea ever
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:33 <AnMaster> hah
18:33:39 <MikeRiley> i saw somebody mention about time travelling IPs, just had to try it!!! eheheheheeheheh
18:33:39 <AnMaster> opps
18:33:41 <AnMaster> oops*
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:00 <Deewiant> AnMaster: :-D
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:34:48 <AnMaster> unusual laugh that
18:34:57 <AnMaster> (no offence meant)
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:35:54 <MikeRiley> yep, it changes a lot!!!!!
18:35:55 <AnMaster> for funge-108
18:36:02 <Deewiant> MikeRiley: oh, that reminds me
18:36:07 <Deewiant> regarding I/O in TRDS
18:36:23 <Deewiant> you only specify, and implement, that , and . don't do anything twice
18:36:37 <AnMaster> what about fingerprint IO?
18:36:37 <Deewiant> what about others, like &~io=
18:36:43 <Deewiant> and other fingerprints, yeah
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:13 <AnMaster> tusho, oh, do grow up...
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:43 <Deewiant> see the "PrintTime" variable
18:39:48 <Deewiant> and again, only for , and .
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:02 <Deewiant> around line 550 in main.c
18:40:05 <MikeRiley> looking
18:40:06 <tusho> MikeRiley: how, exactly, do you vocalise ,,,,?
18:40:10 <Deewiant> it makes some degree of sense
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:25 <MikeRiley> eheheheeheheheheheeh
18:40:33 <Deewiant> tusho: a lot of short pauses really fast
18:40:42 <AnMaster> tusho, nah it is befunge code
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:39 <MikeRiley> not sure why i did that.....
18:41:51 <Deewiant> hmm
18:41:52 <AnMaster> using this at the end of the irc line is better though ;) >:#,_@
18:41:54 <Deewiant> that works too, I suppose
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:18 <AnMaster> tusho, it's funge code
18:42:21 <Deewiant> :-D
18:42:23 <tusho> AnMaster: shut up you
18:42:26 <AnMaster> tusho, prints until a 0
18:42:32 * tusho slaps AnMaster
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:01 <tusho> shut up you
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:30 <tusho> MikeRiley: huh
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:20 <AnMaster> tusho, not saying that
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:44:47 <tusho> :D
18:45:00 <AnMaster> tusho, to allow you to contribute to the vibrant Funge community ;P
18:45:04 <Deewiant> who wants to write TRDSFuck?
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:07 <AnMaster> poor MikeRiley
18:46:12 <Deewiant> ^__^
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:31 <AnMaster> say, your website, yet
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:46 <MikeRiley> www.elf-emulation.com/funge/
18:46:49 <tusho> Deewiant: ^___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________^
18:46:50 <Deewiant> MikeRiley: but IO happens anyway, so you can't prevent it! ;-)
18:46:54 <tusho> HELP MY FACE
18:46:54 <tusho> OH GOD
18:46:58 <Deewiant> ...
18:47:00 <tusho> AND MY EYES. THEY ARE POINTING UPWARDS
18:47:04 <tusho> OH GOD THE PAIN
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:17 <tusho> AAAAH HOLY SHIT
18:47:19 <tusho> IT'S GROWING
18:47:22 <AnMaster> tusho, duh GROW UP
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:51 <AnMaster> ahah....
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:05 * AnMaster looks again
18:50:21 <Deewiant> AnMaster: bottom
18:50:23 <AnMaster> ah found it
18:50:29 <AnMaster> right
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:17 <MikeRiley> no....not for my funge stuff...
18:52:20 <AnMaster> MikeRiley, just want to know if there are any changes to mini funge or the fingerprints
18:52:25 <AnMaster> since that version
18:52:29 <MikeRiley> not that i can think of....
18:52:35 <AnMaster> thanks
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:10 <Deewiant> oh noes
18:53:15 <MikeRiley> eheheheheheheeh
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:22 <AnMaster> as year of publishing
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:42 <MikeRiley> eheheheheheheheeh
18:53:50 <MikeRiley> good question,,,,just use this year....
18:53:57 <AnMaster> MikeRiley, I have already I think, well almost
18:54:00 <AnMaster> MikeRiley, C FFI
18:54:02 <AnMaster> for befunge
18:54:05 <AnMaster> using libffi
18:54:09 <AnMaster> haven't yet finished specs
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:56:11 <MikeRiley> ok,,,
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:29 <MikeRiley> looking
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:00:54 <MikeRiley> looking
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:06 <MikeRiley> yes,,,i think so....
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:42 <MikeRiley> very well could be....
19:07:56 <AnMaster> MikeRiley, I mean it needs to tie into a INTERCAL interpreter really
19:08:03 <AnMaster> or compiler
19:08:05 <MikeRiley> yes....
19:08:06 <AnMaster> C-INTERCAL is a compiler
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:11:03 <AnMaster> parsing it is a pain
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:31 <AnMaster> agreed!
19:13:46 <AnMaster> MikeRiley, your dynamic memory model, what exactly is it?
19:13:55 <AnMaster> a hash map?
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:15 <MikeRiley> it is not a hash map tho...
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:04 <AnMaster> or you could have better cpu
19:16:11 <AnMaster> need to try it on my cpu to be sure
19:16:14 <AnMaster> will do that later
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:07 <MikeRiley> mem.c contains the code for it...
19:17:17 <MikeRiley> yes, it could....
19:17:48 <AnMaster> you will need 2^32 * 2^32 * 4 (assuming sizeof(fungeCell) == 4) for each sector
19:17:51 <AnMaster> wait no
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:19:02 <AnMaster> not the static one?
19:19:17 <psygnisfive> hello
19:19:43 <AnMaster> psygnisfive, hi
19:21:08 <MikeRiley> well,,,,not 100% positive,,,,need to study the code a bit more...
19:21:15 <MikeRiley> it is kinda convoluted...
19:21:51 <Deewiant> :-D
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:30 <AnMaster> MikeRiley, right
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:10 <AnMaster> Deewiant, ah
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:33 <AnMaster> where "type" means "cat"
19:23:37 <Deewiant> :-D
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:13 <AnMaster> I do see that
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:40 <AnMaster> it is for stuff like that
19:24:43 <AnMaster> assumes as POSIX OS
19:24:45 <Deewiant> and I presume it assumes POSIX?
19:24:46 <Deewiant> yeah...
19:24:49 <Deewiant> so, not portable. :-)
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:25:49 <AnMaster> got some sort of index?
19:25:58 <MikeRiley> there is a row index....
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:24 <MikeRiley> there is a search involved....
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:15 <MikeRiley> it expands it...
19:27:24 <AnMaster> moving all items upwards?
19:27:29 <MikeRiley> yep....
19:27:33 <AnMaster> well... intersting
19:27:33 <MikeRiley> so can be quite slow....
19:27:42 <MikeRiley> i really should rewrite that....
19:27:57 <AnMaster> I think cfunge's is "reasonable speed in all cases but not extremely fast in any"
19:28:10 <Deewiant> no, that's CCBI. ;-)
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:25 <Deewiant> mine is slower. :-P
19:28:28 <AnMaster> I profiled cfunge
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:28:50 <MikeRiley> i bet!!!!
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:15 <AnMaster> Deewiant, bash slower than D
19:29:16 <AnMaster> even
19:29:17 <AnMaster> ;P
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:28 <Deewiant> see ya
19:29:30 <AnMaster> wrote an irc bot in bash
19:29:33 <MikeRiley> me too actually!!
19:29:37 <AnMaster> (http://envbot.org)
19:29:44 <AnMaster> and I wrote a brainfuck interpreter in bash
19:29:46 <MikeRiley> see you later...
19:29:49 <AnMaster> MikeRiley, cya
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:09 <AnMaster> this will be yet another one
19:32:14 <AnMaster> for the 3k4 one
19:32:26 <Deewiant> heh
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:04 <AnMaster> wait not really useless
19:33:06 <Deewiant> so default to the spec, but allow useful behaviour as well :-P
19:33:11 <AnMaster> you can still do 0k3
19:33:13 <Deewiant> no, of course not completely
19:33:14 <AnMaster> and have that work
19:33:16 <Deewiant> and 2k4
19:33:23 <AnMaster> 1k4
19:33:32 <AnMaster> however you can never get just one iteration?
19:33:36 <Deewiant> no :-(
19:33:38 <AnMaster> that seems strange
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:34:25 <Deewiant> for instance, 1k]
19:34:43 <AnMaster> will turn 180 degrees...
19:34:56 <AnMaster> as in r
19:35:00 <AnMaster> Deewiant, right?
19:35:01 <Deewiant> no, I'm talking about the 108 way
19:35:03 <Deewiant> CCBI's way
19:35:05 <AnMaster> ah
19:35:06 <Deewiant> turn 90 degrees at k
19:35:06 <AnMaster> right
19:35:08 <AnMaster> well yes
19:35:11 <Deewiant> but
19:35:17 <AnMaster> ?
19:35:21 <Deewiant> I think it'd be simpler if you said that after k, the IP always moves
19:35:22 <Deewiant> so
19:35:27 <Deewiant> 1k]
19:35:30 <Deewiant> 1
19:35:31 <Deewiant> 2
19:35:34 <Deewiant> hits the 2
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:22 <AnMaster> hm...
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:09 <Deewiant> :-)
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:37:45 <AnMaster> ...
19:37:51 <Deewiant> :-D
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:22 <Deewiant> your lines are too long :-P
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:50 <AnMaster> hrrm
19:39:51 <Deewiant> looks like it's pretty much copied from CCBI :-P
19:39:59 <Deewiant> ip->position = posinstr;
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:16 <Deewiant> heh
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:40:49 <Deewiant> yep, I know
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:27 <Deewiant> it is?
19:42:46 <AnMaster> well all that mixin! stuff
19:42:48 <AnMaster> and such
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:25 <AnMaster> totally different
19:43:26 <Deewiant> can't be bothered, whatever
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:15 <Deewiant> ah
19:44:17 <AnMaster> which I later can do a binary search in
19:44:23 <AnMaster> using the fingerprint
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:44:38 <AnMaster> :P
19:44:47 <AnMaster> actually not a binary search
19:44:54 <AnMaster> I just do a simplified search
19:45:20 <AnMaster> returning false if I reach an index that is higher than the wanted one
19:45:26 <AnMaster> err not index
19:45:32 <AnMaster> but entry
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:36 <AnMaster> return false;
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:13 <AnMaster> Deewiant, any questions?
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:10 <Deewiant> looks more complex than mine
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
19:50:20 <AnMaster> from the same spec files
19:50:21 <AnMaster> brb
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:03:34 <AnMaster> for 108
20:03:49 <Deewiant> s/move/moves/
20:03:53 <AnMaster> right
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:42 <AnMaster> are the two lines before
20:04:43 <AnMaster> hm
20:04:47 <AnMaster> ah right
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:01 <Deewiant> as an example
20:05:05 <AnMaster> then you move away from k
20:05:16 <Deewiant> yeah, doesn't matter.
20:05:18 <Deewiant> no special cases.
20:05:22 <Deewiant> execute and move.
20:05:26 <AnMaster> right
20:05:39 <AnMaster> Deewiant, exception: spaces and ;;
20:05:44 <AnMaster> it should reach past the spaces
20:05:55 <AnMaster> and any ;...;
20:06:02 <AnMaster> 3k ; ; ;; ; f
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:06:32 <AnMaster> or pastebin it
20:06:39 <AnMaster> yeah I think I pastebinned it
20:06:39 <Deewiant> don't think so
20:06:43 <Deewiant> well whatever
20:06:48 <Deewiant> you did mention it though
20:06:50 <AnMaster> Deewiant, I can forward it
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:09 <Deewiant> AnMaster: at my homepage
20:07:13 <AnMaster> hah ok
20:07:33 <Deewiant> http://iki.fi/deewiant/files/misc/public.key
20:07:35 <AnMaster> Deewiant, the FRA law made me paranoid
20:07:38 <AnMaster> I guess you seen it
20:07:39 <Deewiant> good :-)
20:07:43 <AnMaster> Deewiant, at some key server?
20:07:47 <Deewiant> no
20:07:50 <AnMaster> hrrm ok
20:07:51 <Deewiant> I'm too paranoid ;-)
20:07:58 <AnMaster> harhar
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:08:37 <AnMaster> two?
20:08:47 <Deewiant> meh
20:08:49 <Deewiant> one should be expired
20:08:53 <Deewiant> guess I botched the export
20:08:55 <AnMaster> k
20:09:13 <Deewiant> the iki one should be recent
20:09:37 <AnMaster> Deewiant, what is the fingerprint?
20:09:41 <Deewiant> yeah, B7... is revoked
20:09:51 <AnMaster> is it "4517 8F90 84CF C529 7382 2B84 B9D3 F95E DEDF 0F79"?
20:10:04 <Deewiant> yeah
20:10:13 <AnMaster> good :)
20:11:27 <oerjan> programmers are scary people. all fixated on execution.
20:12:34 -!- MikeRiley has joined.
20:12:46 <MikeRiley> you here deewiant??
20:12:48 <Deewiant> AnMaster: uploaded a fixed file which should have only the latter key
20:12:50 <Deewiant> sure
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:20 <MikeRiley> nope....
20:13:27 <MikeRiley> or at least, not necessarily...
20:13:27 <Deewiant> :-P
20:13:35 <AnMaster> Deewiant, forwarded
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:27 <Deewiant> ah yeah, right
20:14:28 <Deewiant> that's why
20:14:36 <Deewiant> that's what CCBI does, too
20:14:38 <MikeRiley> i knew there had to be a reason!!! eheheheeheheh
20:14:42 <Deewiant> MikeRiley: and yeah, so
20:14:49 <Deewiant> you admit that it's a bug that it will rerun i and o, for instance? :-)
20:15:07 <AnMaster> or =
20:15:10 <Deewiant> or & and ~, which are worse :-P
20:15:16 <AnMaster> yes indeed they are
20:15:23 <AnMaster> but you need to buffer all input then
20:15:26 <AnMaster> even when you used it
20:15:30 <AnMaster> Deewiant, which is crazy....
20:15:31 <MikeRiley> no, not a bug for i and o,,,
20:15:38 <AnMaster> MikeRiley, no?
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:18 <AnMaster> yes it is
20:16:23 <MikeRiley> in the general case, that is true...
20:16:28 <AnMaster> you need to store the files
20:16:35 <AnMaster> as in store a copy of them
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:45 <MikeRiley> then they would not work...
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:02 <AnMaster> haha
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:18 <AnMaster> & and ~
20:17:20 <AnMaster> as Deewiant said
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:17:35 <AnMaster> say, BASE
20:17:37 <AnMaster> or whatever
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:09 <AnMaster> in the rerun
20:18:13 <MikeRiley> i can accept that...
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:18:32 <AnMaster> MikeRiley, say, HRTI
20:18:36 <AnMaster> yeah
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:18 <AnMaster> :P
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:17 <MikeRiley> what about output from BASE??
20:20:20 <Deewiant> and that it's allowed for an interpreter to reprint , and . and so forth
20:20:26 <Deewiant> AnMaster: undefined.
20:20:27 <AnMaster> it shouldn't be printed again at next run
20:20:39 <Deewiant> or no, what, wait
20:20:41 <Deewiant> they go to stdout
20:20:42 <Deewiant> so defined.
20:20:44 <Deewiant> :-P
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:20:58 <AnMaster> MikeRiley, indeed
20:21:01 <Deewiant> MikeRiley: I'd add something about IO in the spec if I were you
20:21:11 <AnMaster> psygnisfive, eh?
20:21:11 <MikeRiley> i agree and will do that...
20:21:25 <Deewiant> i.e. any file IO or input in general is undefined in an entire TRDS program
20:21:30 <Deewiant> or rather
20:21:36 <Deewiant> if you ever jump backwards in time
20:21:38 <MikeRiley> i woud say to time jumped ips....
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:07 <psygnisfive> If L is some language over S, then L ⊆ S*
20:22:09 <AnMaster> psygnisfive, ????????
20:22:19 <AnMaster> oh god
20:22:24 <AnMaster> psygnisfive, you lost me
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:27 <psygnisfive> :P
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:22:44 <AnMaster> psygnisfive, no I don't
20:22:45 <psygnisfive> ok let me make it more familiar to you
20:22:48 <psygnisfive> suppose you have C, right
20:22:51 <AnMaster> yes
20:22:53 <AnMaster> I got C
20:22:54 <AnMaster> :P
20:23:05 <psygnisfive> and C has a bunch of keywords (int, return, if, etc)
20:23:08 <psygnisfive> and it has a bunch of symbols
20:23:08 <AnMaster> aye
20:23:14 <psygnisfive> (, {, =, &, etc
20:23:20 <AnMaster> yes, are you writing a lexer?
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:20 <psygnisfive> call that set of symbols S
20:24:22 -!- ais523 has joined.
20:24:23 <AnMaster> MikeRiley, guess why I decided to not implement TRDS?
20:24:32 <Deewiant> because you're lazy. :-P
20:24:37 <psygnisfive> S* is just the kleene star over that
20:24:40 <AnMaster> psygnisfive, right
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:51 <psygnisfive> yes?
20:24:58 <AnMaster> psygnisfive, but wtf is a "kleene star"?
20:24:59 <psygnisfive> so IF * RETURN > > || (
20:25:03 <Deewiant> ais523: no, he's lazy. :-)
20:25:08 <AnMaster> ais523, hi!!!!!!!!!!!!!
20:25:11 <psygnisfive> kleene star is just like the regex *
20:25:14 <ais523> hi AnMaster
20:25:18 <AnMaster> ais523, and the other one!
20:25:19 <ais523> oh, and hi tusho too
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 <tusho> FUCKING HELL
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:33 <tusho> you got me ais523
20:25:37 <psygnisfive> ok anmaster?
20:25:38 <AnMaster> psygnisfive, hm ok
20:25:52 <AnMaster> ais523, why have you been away so long?
20:25:53 <psygnisfive> so IF * RETURN > > || ( is in S*
20:26:04 <AnMaster> psygnisfive, um a sec, too many convos at the same time
20:26:06 <AnMaster> let me read up
20:26:12 <psygnisfive> because its any number of symbols in S* put together into a string.
20:26:29 <psygnisfive> (wait)
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:26:54 <AnMaster> ais523, oops
20:27:05 <AnMaster> ais523, hope that is fixed now :)
20:27:11 <ais523> I'm not sure
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:26 <AnMaster> ais523, oh I see
20:27:33 <oerjan> olsner: >=> i think
20:27:33 <AnMaster> ais523, but with your own computer I hope?
20:27:41 <ais523> hopefully
20:27:42 <oerjan> (the new one)
20:27:49 <ais523> although it's a pain to use a laptop here
20:27:55 <AnMaster> ais523, why is that?
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:00 <AnMaster> ais523, no wlan?
20:28:02 <ais523> AnMaster: only a few desks to put it on
20:28:07 <AnMaster> ais523, ah...
20:28:08 <ais523> there is wlan, pretty good wlan at that
20:28:11 <AnMaster> ais523, nice
20:28:14 <ais523> just lack of space to place a laptop
20:28:21 <AnMaster> ais523, well is it crowded?
20:28:36 <psygnisfive> >|
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:51 <ais523> pretty much
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:16 <oerjan> olsner: yeah
20:29:18 <psygnisfive> how'd i lose you
20:29:25 <AnMaster> ais523, wlan isn't restricted by walls
20:29:32 <AnMaster> not much anyway
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:14 <AnMaster> ais523, oh right :/
20:30:17 <ais523> and I don't have access to the other floors
20:30:22 <AnMaster> ais523, why not?
20:30:26 <psygnisfive> who here knows anything about formal languages?
20:30:29 <psygnisfive> raise your hands
20:30:30 <ais523> it's used by a department I don't belong to
20:30:36 * ais523 raises their hand
20:30:37 <AnMaster> ah
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:16 * oerjan raises his hand
20:31:17 <AnMaster> ais523, 2) RC/Funge author found too
20:31:20 <psygnisfive> vote! >O
20:31:21 <ais523> wow
20:31:21 <AnMaster> ais523, MikeRiley in here
20:31:27 <AnMaster> ais523, he want to fix stuff
20:31:35 <AnMaster> in his RC/Funge
20:31:46 <ais523> that is news, it reminds me of when I found that CLC-INTERCAL and J-INTERCAL both existed
20:31:48 <AnMaster> ais523, 3k4 will push four 4
20:31:55 <psygnisfive> lame.
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:11 <ais523> oh
20:32:12 <Deewiant> ais523: 1) being a consequence of 2)
20:32:13 <ais523> wait
20:32:14 <AnMaster> which we all thought it did
20:32:16 <ais523> I misread
20:32:25 <AnMaster> and what Deewiant said
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:32:57 <ais523> Deewiant: #k4
20:33:04 <ais523> or is that cheating?
20:33:07 <Deewiant> yes
20:33:13 <Deewiant> because the idea is you'd have a variable
20:33:15 <AnMaster> it's cheating..
20:33:19 <Deewiant> and now you'd have to check whether it's 1
20:33:31 <Deewiant> or whatever
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:38 <ais523> what about 4k[?
20:34:47 <ais523> or 22kk4?
20:34:50 <MikeRiley> 1k^ should go up from the k....
20:34:51 <Deewiant> 1k^ is the same as 2k^ is the same as 99**k^
20:34:51 <AnMaster> ais523, 1k[ turns 180 degrees
20:34:56 <AnMaster> ARGH NOT THE DOUBLE k!
20:35:00 <MikeRiley> 4k[ will end up turning left...
20:35:00 <AnMaster> I HATE THAT ONE
20:35:03 <Deewiant> oh yeah, double k
20:35:06 <Deewiant> MikeRiley: considered that?
20:35:22 <Deewiant> MikeRiley: did you read the end of my mail yet, by the way?
20:35:26 <ais523> what about 4k#
20:35:27 <MikeRiley> which one??
20:35:27 <Deewiant> where I forwarded that little spiel on k
20:35:32 <Deewiant> at the end
20:35:37 <MikeRiley> 4k# is a bit harder to define...
20:35:43 <MikeRiley> yes...i did get that...
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:35:58 <MikeRiley> that is what i would expect....
20:36:00 <ais523> AnMaster: how can it?
20:36:03 <Deewiant> it won't
20:36:04 <Deewiant> 4 times
20:36:07 <AnMaster> ais523, oh wait it won't
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:20 <AnMaster> ais523, sorry typo
20:36:22 <Deewiant> right?
20:36:23 <MikeRiley> if you had 4k#12345 the next instruction should be the 4....
20:36:26 <AnMaster> Deewiant, right
20:36:30 <AnMaster> so it will be 5 anyway
20:36:32 <AnMaster> right?
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:36:56 <AnMaster> err
20:36:59 <AnMaster> 22kk4
20:37:01 <AnMaster> I meant that
20:37:07 <MikeRiley> 22k4 will give you 3 4s on the stack...
20:37:14 <MikeRiley> with a 2 below it...
20:37:16 <AnMaster> MikeRiley, see what I said
20:37:18 <AnMaster> typo
20:37:22 <AnMaster> I meant 22kk4
20:37:33 <MikeRiley> 22kk4 hurts my head!!! eheheheheheeh
20:37:41 <ais523> it hurts everyone's head, I think
20:37:41 <AnMaster> MikeRiley, it does indeed
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:09 <AnMaster> MikeRiley, ^
20:38:13 <ais523> and took huge pains trying to sort it out
20:38:19 <Deewiant> AnMaster: may reflect? O_O
20:38:23 <AnMaster> Deewiant, yes
20:38:23 <Deewiant> none of that crap
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:45 <Deewiant> ais523: what's that?
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:39:59 <AnMaster> 1) fetch next instruction k
20:40:05 <AnMaster> 2) execute it at the first k
20:40:18 <Deewiant> ais523: heh, nice
20:40:19 <AnMaster> 3) this execution will now fetch the next instruction, which will be k
20:40:22 <AnMaster> 4) ARGH!
20:40:27 <AnMaster> Deewiant, ^
20:40:30 <MikeRiley> now that seems reasonable....
20:40:31 <Deewiant> "ARGH"?
20:40:41 <Deewiant> pop two 2s
20:40:43 <Deewiant> stack is [2,2]
20:40:44 <Deewiant> hit k
20:40:49 <MikeRiley> since the k calls for finding the next instruction in the path of the ip
20:40:50 <Deewiant> execute the next k
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:18 <AnMaster> which is k
20:41:21 <AnMaster> Deewiant, see what I mean?
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:41:40 <AnMaster> which makes it insane
20:41:49 <AnMaster> it kind of is multichar
20:41:53 <AnMaster> when you think about it
20:42:01 <MikeRiley> it is and it is not...
20:42:14 <MikeRiley> it is in that it uses the next character to define what it will do...
20:42:16 <ais523> AnMaster: '
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:22 <ais523> and arguably #
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:42 <AnMaster> Deewiant, yes...
20:42:55 <AnMaster> Deewiant, so please suggest a sane way to solve nested k
20:42:57 <AnMaster> and what about:
20:42:58 <ais523> AnMaster: well, what does 3k'abc do?
20:43:03 <AnMaster> 333333kkk#
20:43:10 <AnMaster> tell me what the heck that should do
20:43:20 <AnMaster> ais523, good question
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:43:50 <AnMaster> Deewiant, hm true
20:44:07 <AnMaster> Deewiant, but it should execute all at the first k?
20:44:08 <AnMaster> or?
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:35 <AnMaster> oh god
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:45:48 <MikeRiley> no 1k] will not turn 180 degrees
20:45:51 <MikeRiley> it will turn 90
20:46:04 <AnMaster> hm?
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:18 <Deewiant> eh?
20:46:22 <MikeRiley> yes
20:46:22 <ais523> because the command it's "looking at" changes
20:46:29 <ais523> because the direction of processing changes
20:46:32 <Deewiant> oh, right
20:46:33 <AnMaster> ais523, ^><v doesn't move
20:46:36 <MikeRiley> the command k executes is in the path of the IP..
20:46:37 <ais523> AnMaster: I know
20:46:37 <AnMaster> they just changes direction
20:46:41 <Deewiant> or no, wait
20:46:41 <ais523> but they change what the k refers to
20:46:43 <AnMaster> oh wait I see what you mean
20:46:45 <Deewiant> ais523: you need two 2s there
20:46:49 <ais523> Deewiant: no I don't
20:46:55 <Deewiant> 2#^k<
20:46:58 <Deewiant> jump to the k
20:47:00 <Deewiant> it pops the 2
20:47:05 <Deewiant> hits the < twice
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 <Deewiant> no, that doesn't make sense
20:47:30 <AnMaster> Deewiant, he says k looks ahead at each iteration
20:47:36 <Deewiant> ah, hmm
20:47:43 <Deewiant> I don't think that's what the spec says
20:47:48 <MikeRiley> yes it does
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:19 <MikeRiley> that is from the spec
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:31 <ais523> sorry
20:48:34 <ais523> Deewiant: agreed
20:48:34 <Deewiant> :-)
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:06 <AnMaster> Deewiant, it does to me
20:49:11 <AnMaster> as the specs doesn't say it
20:49:17 <AnMaster> as you pointed out above
20:49:20 <AnMaster> consider order
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:26 <AnMaster> Deewiant, it will be slower
20:49:26 <Deewiant> 2k]
20:49:27 <Deewiant> v
20:49:32 <Deewiant> oh noes, teh slowness
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:56 <AnMaster> yes what Deewiant said
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:20 <AnMaster> not...
20:50:31 <AnMaster> whatever is after the 2
20:50:36 <AnMaster> see what I mean?
20:50:49 <ais523> AnMaster: yes
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:13 <AnMaster> Deewiant, um
20:52:15 <AnMaster> what?
20:52:24 <Deewiant> k#
20:52:26 <Deewiant> like j
20:52:26 <AnMaster> yes
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:52:41 <MikeRiley> seems to me it would be like j...
20:52:42 <AnMaster> err
20:52:43 <AnMaster> from the k
20:52:45 <AnMaster> not
20:52:49 <AnMaster> not from the #
20:53:01 <Deewiant> like said, unless you think about it too deeply
20:53:09 <AnMaster> Deewiant, and then you mean?
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:53:49 <AnMaster> yes it is
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:20 <AnMaster> and a few more
20:55:25 <Deewiant> did you write a proper TURT test, then?
20:55:32 <AnMaster> Deewiant, not "full" no
20:55:33 <ais523> Deewiant: planning to add IFFI to Mycology?
20:55:39 <Deewiant> ais523: probably not. :-)
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:15 <ais523> I have one already
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 <AnMaster> ais523, negative arguments?
20:56:50 <ais523> that doesn't mean they don't exist
20:56:52 <AnMaster> that's a good one
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:57:55 <ais523> yes, I suppose so
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:14 <AnMaster> or whatever
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:33 <AnMaster> yes that too
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:18 <ais523> so an error
20:59:25 <AnMaster> "jumping to negative funge-space" <-- why does that make me think of treknobabel?
20:59:28 <AnMaster> just why
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:11 <AnMaster> haha
21:00:16 <ais523> AnMaster: I do, I actually have code to simulate the 32-bit wraparound
21:00:23 <AnMaster> ais523, um what?
21:00:24 <oerjan> http://tvtropes.org/pmwiki/pmwiki.php/Main/ReversePolarity
21:00:33 <oerjan> (standard warning applies)
21:00:40 <AnMaster> oerjan, what warning?
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:44 <AnMaster> ais523, ah...
21:01:59 <AnMaster> MikeRiley, but is that really useful?
21:02:04 <MikeRiley> it can be....
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:36 <MikeRiley> yeah,,,,,
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:03:25 <AnMaster> oerjan, ah works now
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:31:26 <psygnisfive> what?
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.
21:52:01 <AnMaster> night
21:52:04 <AnMaster> ais523, ^
21:52:08 <ais523> night AnMaster
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:44:55 <ihope> Ello.
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:03 <tusho> but nahhh
22:51:04 <tusho> i doubt it
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:04 <RodgerTheGreat> can you tell us more about how you got it?
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:56:22 <RodgerTheGreat> context can lead us in the right direction
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:18 <RodgerTheGreat> plus there isn't the right symbol distribution
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:57:40 <RodgerTheGreat> mmm
22:59:18 <pikhq> Seems like it would require some cryptanalysis.
22:59:20 <psygnisfive> is there some sort of high-level BF?
22:59:34 <pikhq> psygnisfive: :D
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:33 <pikhq> Oh, that's all?
23:00:45 <psygnisfive> well its just a start :p
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:05 <psygnisfive> what kinds are there?
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:05 <tusho> it looks like it
23:04:22 <RodgerTheGreat> psygnisfive: PEBBLe is a very powerful macro system for BF that pikhq developed
23:04:28 <psygnisfive> ahh
23:04:33 <psygnisfive> BF macros
23:04:35 <psygnisfive> lol
23:04:35 <psygnisfive> :D
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:16 <RodgerTheGreat> ...
23:06:25 <tusho> and netsplits
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:18 <psygnisfive> pikhq: show me pebble
23:07:19 <psygnisfive> :O
23:07:26 <RodgerTheGreat> Pikhq's Esoteric Brainfuck Bastard Language?
23:07:27 <tusho> RodgerTheGreat: portable esoteric brainfuck based language, eh?
23:07:34 <tusho> it's sad that i know that :)
23:07:43 <RodgerTheGreat> I was fairly close
23:07:45 <tusho> psygnisfive: it has tcl's syntax
23:07:53 <psygnisfive> i wanna see how it works
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:31 <psygnisfive> interesting
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:09:55 <psygnisfive> so that instead of writing this:
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:07 <psygnisfive> you could write this:
23:10:10 <tusho> { words | bold }.character[1]
23:10:13 <tusho> er
23:10:16 <tusho> with an == in there somewhere
23:10:16 <psygnisfive> "{ words | style == bold }.character[1]"
23:10:18 <tusho> yeah
23:10:25 <psygnisfive> what i find most interesting about this
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:39 <psygnisfive> no
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:03 <tusho> well yeah
23:11:06 <tusho> kind of like an array programming language
23:11:09 <tusho> implicit maps
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:02 <psygnisfive> but still
23:12:04 <psygnisfive> its cool
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:12:32 <tusho> whatevr :)
23:13:00 <psygnisfive> APL is so painful to read
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:02 <psygnisfive> i mean, seriously:
23:14:03 <tusho> apl never really was THAT mainstream
23:14:03 <psygnisfive> X[⍋X+.≠' ';]
23:14:06 -!- juokaz has quit (Remote closed the connection).
23:14:18 <tusho> ⍋ christmas tree
23:14:43 <tusho> welp
23:14:45 <tusho> puzzle guy is gone
23:14:52 <psygnisfive> i mean, i can see standard stuff like set notation junk
23:14:53 <psygnisfive> etc
23:14:59 <psygnisfive> the rest of it tho?
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:46 <psygnisfive> i just wanna see a spec :(
23:18:56 <pikhq> It's in the tarball.
23:19:01 <psygnisfive> ok :D
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:19:54 <psygnisfive> (each Set).to_string
23:19:56 <psygnisfive> or something
23:20:12 <tusho> psygnisfive: { numbers | odd }.sum
23:20:16 <tusho> yummy
23:20:19 <tusho> and as for the mapping thing
23:20:24 <psygnisfive> no that doesnt make sense
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:43 <tusho> yes
23:20:45 <psygnisfive> ok.
23:20:48 <tusho> the : is what specifies 'over members'
23:20:50 <psygnisfive> ok.
23:21:03 <psygnisfive> well, in my quantifier language im going to handle it differently
23:21:09 <psygnisfive> using quantifiers.
23:21:17 <tusho> sure
23:21:18 <psygnisfive> :p
23:21:27 <psygnisfive> i like this, we need to think of more interesting things to do
23:21:38 <tusho> windows:show
23:21:48 * tusho is just going to spurt out random code samples until the language forms in his head
23:21:54 <psygnisfive> XD
23:22:35 <tusho> in fact psygnisfive
23:22:37 <tusho> i could just do
23:22:43 <tusho> sum { numbers | odd }
23:22:44 <tusho> vs
23:22:48 <tusho> { numers | odd }.succ
23:22:57 <tusho> cleaner-looking
23:23:01 * pikhq is just going to shove PEBBLE down psygnisfive's throat
23:23:04 <psygnisfive> i prefer .:
23:23:15 <tusho> psygnisfive: mm, i think mine could have merits though
23:23:16 <tusho> we'll see
23:23:22 <tusho> i wish that paper had more examples of it
23:23:23 <psygnisfive> because i like methods
23:24:05 <psygnisfive> methods are sort of like monads
23:24:09 <psygnisfive> well
23:24:11 <psygnisfive> the dot is.
23:24:25 <psygnisfive> the dot is like haskell's >>=
23:24:29 <tusho> object orientation is reverse CPS
23:24:38 <tusho> think about it
23:24:44 <psygnisfive> and i rather like . thinking
23:24:51 <psygnisfive> do this then do this to that then do this to that
23:24:53 <psygnisfive> and so on
23:24:56 <tusho> yeah
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:44 <psygnisfive> e.g. x f instead of f x
23:25:49 <tusho> psygnisfive: concatenative
23:25:49 <tusho> :P
23:25:53 <psygnisfive> yeah but
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:02 <psygnisfive> if you want
23:26:03 <tusho> turn sout it kinda sucks.
23:26:11 <tusho> psygnisfive:
23:26:14 <tusho> a . b = b a
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:26:26 <tusho> fear the evil
23:27:02 <psygnisfive> maybe : could be that syntax to counterpoint .
23:27:21 <psygnisfive> 5:succ:abs == abs (succ 5)
23:27:35 <tusho> hmm, i thought of a good alt. to :
23:27:35 <tusho> ->
23:27:38 <tusho> because it digs in
23:27:41 <psygnisfive> eh
23:27:44 <tusho> { words | style == bold }->character[1]
23:27:46 <psygnisfive> very perl/php
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:17 <psygnisfive> blahblahblah->to_string()
23:28:22 <tusho> yeah, well, whatever they wanna do :P
23:28:26 <psygnisfive> and ive always hated it
23:28:30 <tusho> but c has it, and i think it's a good visual metaphor -for this use-
23:28:38 <tusho> hmm
23:28:47 <tusho> { { words | bold } italic } <-- don't like this
23:28:49 <tusho> how about
23:28:53 <tusho> words.{ bold }
23:29:10 <tusho> words.{bold}.{italic}->character[1]
23:29:32 <psygnisfive> i dont see what the first would mean
23:29:36 <tusho> err
23:29:41 <psygnisfive> {{ words | bold } italic ]
23:29:42 <tusho> {{words|bold}|italic}
23:29:42 <psygnisfive> ??
23:29:47 <tusho> forgot a |
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:11 <psygnisfive> oh, yeah, i guess.
23:30:17 <tusho> { { words | bold } | italic } = bold italic words
23:30:24 <psygnisfive> you could just do
23:30:26 <tusho> ofc you can do bold && italic
23:30:27 <tusho> but what the heck
23:30:29 <psygnisfive> { words | bold and italic }
23:30:43 <psygnisfive> ok i have to make dinner
23:30:44 <psygnisfive> afk
23:30:45 <psygnisfive> bye
23:30:45 <tusho> words.filter{ bold && italic }->character[1]
23:30:46 <tusho> :PP
23:30:48 <tusho> bye
23:30:49 <tusho> *:P
23:30:50 -!- Corun has joined.
23:34:20 <tusho>
23:34:22 <tusho>
23:53:33 <ihope> Bye?
23:53:55 <ihope> Bye, psygnisfive.
2008-07-24
00:12:10 <psygnisfive> back desu yo
00:13:08 <psygnisfive> someone should make a programming language that weeaboos could use
00:13:16 <psygnisfive> every statement has to end in "desu yo"
00:13:34 <psygnisfive> even better if it has to be in hiragana
00:14:32 <psygnisfive> x = 2 + 2 ですよ。
00:16:32 <psygnisfive> using a function as a predict necessarily requires the syntax <item> が <function> ですか。
00:17:11 <psygnisfive> foo = bar が quux ですか。
00:17:40 <psygnisfive> i think it'll catch on
00:24:07 <psygnisfive> oh, no no
00:24:13 <psygnisfive> instead of x = 2 + 2 desu yo.
00:24:15 <psygnisfive> it has to be
00:24:20 <psygnisfive> x wa 2 + 2 desu yo
00:24:50 <psygnisfive> abd foo wa bar ga quux desu ka
00:24:56 <psygnisfive> or something like that
00:25:27 <psygnisfive> foo wa bar ga quux da ka n' desu yo
00:27:28 <tusho> isn't japanese stack-based?
00:27:29 <tusho> or whatever
00:28:10 <RodgerTheGreat> most languages (the ones with parentheses at least (that I'm aware of)) are stack-based
00:28:11 <psygnisfive> no
00:28:20 <psygnisfive> but it is head-final
00:28:21 <psygnisfive> maybe
00:28:21 <RodgerTheGreat> in a very vague sense
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:30:17 <tusho> e
00:30:18 <tusho> ;)
00:30:50 * RodgerTheGreat shrugs
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:32:54 <tusho> I guess
00:32:59 <tusho> i mean
00:33:01 <tusho> it would, obviously
00:33:03 <tusho> but. I dunno
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:38:50 <psygnisfive> looking like
00:39:00 <psygnisfive> <condition> tara <result>
00:39:21 <psygnisfive> or nara
00:39:29 <psygnisfive> we could use nara.
00:39:41 <psygnisfive> blah blah blah nara blah blah blah.
00:39:54 <psygnisfive> or as the japanese would say...
00:39:59 <psygnisfive> nani nnani nara nani nani
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:40:40 <lilja> hrrr
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:26:00 <psygnisfive> ive always got you talking about sex
04:27:21 <ihope> Yep, it was you.
04:27:31 <ihope> Turns out that wasn't a sexual desire at all. Sorry.
04:28:02 <psygnisfive> ihope, how old are you?
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:20 <psygnisfive> lol
04:32:23 <psygnisfive> 18-70
04:32:25 <psygnisfive> thats a big gap
04:32:26 <psygnisfive> lol
04:32:47 <psygnisfive> how old are you ihope
04:32:49 <psygnisfive> tell me.
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:32:58 <ihope> Mostly old.
04:33:10 <psygnisfive> so you're under 18?
04:33:14 <ihope> Yep.
04:33:17 <psygnisfive> damnit, theres goes any hope of sexing you.
04:33:23 <psygnisfive> guess rape'll have to to. ::rape::
04:33:36 <ihope> Oh, by no means! Unless you're male or something.
04:33:45 <psygnisfive> oh i am. :p
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
04:36:31 <ihope> Is that 29 books?
04:36:45 <psygnisfive> yep
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:16:47 <CakeProphet> awwww yeah
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.
05:27:05 <psygnisfive> sup cakeprophet
05:27:51 <CakeProphet> word
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.
11:51:48 <AnMaster> hi tusho
11:51:55 <tusho> hello
11:52:09 <AnMaster> bbiab
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:12:30 <SimonRC> AnMaster: yes, \f
15:12:35 <AnMaster> thanks
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:24:47 <tusho> so do rfc'
15:24:48 <tusho> s
15:24:52 <tusho> *rfcs
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:30:22 <tusho> AnMaster: Yes.
15:30:31 * tusho shrugs
15:31:13 <AnMaster> and trefunge uses it
15:31:18 <AnMaster> formfeeds I mean
15:34:29 <pikhq> Hmm.
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:20 <AnMaster> pikhq, you mean trigraphs or?
15:35:28 <AnMaster> I never heard of digraphs
15:35:39 <pikhq> An amendment to the C standard in '94 added digraphs.
15:35:48 <pikhq> An example:
15:36:02 <AnMaster> does gcc support it without the -trigraphs switch?
15:36:12 <AnMaster> pikhq, also what about the bison code?
15:36:16 <AnMaster> did you get anywhere with it?
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:34 <pikhq> Fuck.
15:37:39 <AnMaster> I guess no
15:37:48 <AnMaster> or what?
15:37:50 <pikhq> I make no guarantees about such things happening when it's not the weekend.
15:37:58 <AnMaster> pikhq, ah right
15:38:00 <AnMaster> sorry
15:46:38 -!- Corun_ has joined.
15:54:04 -!- MikeRiley has joined.
15:57:54 <tusho> pikhq: what is <::>
15:58:17 <pikhq> []
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:08:49 <tusho> hee
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:13 <pikhq> Yes.
16:14:30 <pikhq> You want even more insanity?
16:14:39 <pikhq> Digraphs, like monographs, are considered tokens.
16:14:40 <tusho> monographs?
16:14:44 <pikhq> Trigraphs are preprocessed.
16:14:48 <pikhq> tusho: The ordinary characters.
16:14:58 <tusho> a
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:20:56 <pikhq> Bleck.
16:21:01 <pikhq> Well, I firmly don't know.
16:21:10 <AnMaster> anyone else?
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 <SimonRC> more than that too
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:00 <SimonRC> "putchar(b[1[i]]) + b++;"
17:05:34 <pikhq> Ah yes.
17:05:53 <pikhq> I'm evil.
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:48 <tusho> AnMaster: simple
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:53 <tusho> after the .
17:06:58 <tusho> if it's about the last part of the sentence
17:06:59 <tusho> before
17:07:11 <AnMaster> tusho, thanks
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:47 <AnMaster> pikhq, what bubble sort?
17:07:49 <SimonRC> tusho: looks like how I'd do it
17:07:53 <Tritonio__> hello
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:32 <SimonRC> tusho: where is that?
17:08:34 <AnMaster> or does SimonRC have a link?
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:00 <tusho> SimonRC: no
17:09:03 <tusho> i was buyy typing
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:13 <tusho> I do this
17:09:13 <AnMaster> pikhq, oh god
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:20 <AnMaster> pikhq, golfing?
17:09:21 <tusho> as for quoting
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:38 <tusho> e
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:38 <pikhq> :p
17:10:41 <SimonRC> (for fun, do it with recursion on main and ?: as the only control structures)
17:10:59 <tusho> QUESCOL</obscure>
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:34 <tusho> and laugh
17:11:42 <tusho> also note JS' lack of tail recursion
17:12:06 <SimonRC> tusho: ouch
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:12:54 * SimonRC reads 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:20:54 <SimonRC> *go
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:00 <AnMaster> MikeRiley, hi!
17:30:01 <tusho> SimonRC: even if it is kinda nice, it'll be horrid to write and its hideously non-idiomatic
17:30:03 <MikeRiley> hello
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:47 <MikeRiley> on 3d vectors...
17:35:48 <AnMaster> are they hard to implement in Funge?
17:35:53 <MikeRiley> not hard at all...
17:35:58 <AnMaster> hm ok
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:36:58 <SimonRC> y
17:37:12 <AnMaster> SimonRC, depends, try SUBR
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:06 <MikeRiley> do not need to...
17:38:11 <AnMaster> no?
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 <AnMaster> which would be quite a feat
17:38:43 <SimonRC> it pushes the "next" location on the return stack, then instead turns left/right and goes that way...
17:38:48 <AnMaster> while doing it in C is easy
17:38:49 <MikeRiley> i read the cells using the union, and do the math from the union...
17:38:53 <AnMaster> I do it using a union
17:39:02 <SimonRC> nice and fungey rather than that crap with calculated offsets
17:39:04 <AnMaster> MikeRiley, same
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:40 <AnMaster> :P
17:39:48 <MikeRiley> i doubt that is possible!!! eheheheheheeheh
17:39:56 <Deewiant> well, befunge is turing-complete
17:39:59 <MikeRiley> too tied into the interpreter...
17:40:05 <Deewiant> you'd have to write a befunge interpreter in the mini-funge
17:40:09 <Deewiant> which implements TRDS
17:40:10 <AnMaster> yes...
17:40:13 <MikeRiley> that is what you would have to do....
17:40:15 <AnMaster> which would be crazy
17:40:23 <MikeRiley> and dang slow!!!!!!!
17:40:26 <AnMaster> anyway mini-funge couldn't implement FILE either
17:40:33 <MikeRiley> not without expanding it....
17:40:36 <AnMaster> indeed
17:40:40 <AnMaster> I done some extending
17:40:51 <AnMaster> based on !Befunge's extended mini-funge
17:40:59 <AnMaster> called dynafing
17:41:08 <MikeRiley> i have seen a page on that somewhere...
17:41:27 <AnMaster> brb phone
17:41:29 <Deewiant> phlamethrower.co.uk IIRC
17:41:47 <tusho> phlamethrower = same site as the one with the befunge domain name
17:41:56 <Deewiant> quite
17:41:57 <tusho> save for the logo and link to the other domain
17:42:05 <tusho> err, nt logo
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:42:40 <Deewiant> his name is there somewhere
17:42:45 <Deewiant> I think
17:42:51 <MikeRiley> i think it is...
17:43:28 <MikeRiley> hey Deewiant, did you see my email about the FIXP errors???
17:46:05 <Deewiant> I did now :-)
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:34 <MikeRiley> yes it does...
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:48 <Deewiant> meh
17:54:51 <Deewiant> there should be a _ there
17:54:51 <MikeRiley> tested break points at other addresses and works fine....
17:54:56 <MikeRiley> hmmmmmm
17:55:04 <Deewiant> maybe you've got a different origin than I do
17:55:09 <Deewiant> line 524, column 38
17:56:05 <Deewiant> or hmm
17:56:07 <MikeRiley> let me try again...
17:56:10 <Deewiant> if it doesn't stop there
17:56:22 <Deewiant> does it go to (45,520) (a w)?
17:56:34 <MikeRiley> let me try...
17:56:44 <Deewiant> maybe the w is flipped actually
17:56:50 <MikeRiley> stopped at that
17:56:55 <Deewiant> what's on the stack
17:56:59 <MikeRiley> hold on
17:57:10 <MikeRiley> 0 350000 8191 8191 8192
17:57:22 <Deewiant> alright
17:57:33 <Deewiant> and next it probably goes to (45,519) right?
17:57:38 <MikeRiley> let me see...
17:57:49 <MikeRiley> yes...
17:58:07 <Deewiant> alright, so I've just got the w wrong
17:58:38 <MikeRiley> hopefully a simple fix...
17:58:47 <Deewiant> yeah, it is
17:59:10 <Deewiant> or it should be
17:59:17 <Deewiant> ;-)
17:59:20 <MikeRiley> eheheheh
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:15 <Deewiant> your asin is wrong
18:02:22 <Deewiant> 17.45760312 is the exact result
18:02:30 <Deewiant> 17.4575 is wrong then
18:03:10 <MikeRiley> depends on rounding and precision....
18:03:18 <Deewiant> not rounding
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:32 <MikeRiley> true,,,,,
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:03:59 <Deewiant> sure
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:07 <Deewiant> +use
18:04:08 <AnMaster> Deewiant, what?
18:04:08 <MikeRiley> probalby should!!!
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:04:31 <AnMaster> Deewiant, yes I know
18:04:37 <AnMaster> Deewiant, in all places?
18:04:40 <Deewiant> in two places
18:04:47 <AnMaster> in mycology that is?
18:04:53 <Deewiant> yes, in FIXP
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:07 <AnMaster> ah
18:05:08 <AnMaster> right
18:05:10 <AnMaster> no BAD
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:12 <AnMaster> ah right
18:06:14 <Deewiant> or hopefully the weekend, anyway
18:06:24 <AnMaster> <MikeRiley> yeah,,,always fun editing funge code!!!!
18:06:27 <AnMaster> I got a trick
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:06:48 <AnMaster> just end every line with:
18:06:49 <AnMaster> 11x>
18:06:53 <AnMaster> 11x>
18:06:58 <AnMaster> aligned like that
18:07:09 <MikeRiley> i see.....interesting....
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:20 <AnMaster> is an example
18:07:24 <AnMaster> MikeRiley, that works really well
18:07:28 <MikeRiley> ok,,,,will go and grab it....
18:07:42 <MikeRiley> brb
18:09:42 <MikeRiley> yep,,,,that looks better....
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:36 <AnMaster> thread 2 started
18:10:36 <AnMaster> thread 1 started
18:10:36 <AnMaster> OK
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:10:59 <Deewiant> alright
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:21 <AnMaster> those ones
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:41 <AnMaster> I would like to hear
18:12:53 <Deewiant> as if I would know offhand
18:12:54 <MikeRiley> the "a b" one works fine for me....
18:12:59 <MikeRiley> that one shows good....
18:13:13 <MikeRiley> the other 2 show bad tho...
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:40 <MikeRiley> makes sense...
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:32 <MikeRiley> hold on....let me look...
18:16:36 <Deewiant> of course he doesn't, since 3k4 is before that
18:16:38 <AnMaster> yes not very hard to break
18:16:47 <AnMaster> Deewiant, ah right duh
18:17:06 <MikeRiley> the 3k< shows up bad right above it
18:17:22 <MikeRiley> and the 0y one and the 3k4 one...
18:17:26 <MikeRiley> everything else shows good....
18:17:29 <MikeRiley> or undef
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:13 <AnMaster> MikeRiley, I had that once
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 <MikeRiley> certainly possible...
18:19:23 <AnMaster> MikeRiley, when I fixed one the other part broke
18:19:29 <AnMaster> I had *two* off by one errors
18:19:32 <MikeRiley> i have had that happen to me as well...
18:19:33 <AnMaster> that masked each other
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 <Deewiant> "quite a few"?
18:21:24 <AnMaster> MikeRiley, does all your fingerprints handle division by zero?
18:21:28 <Deewiant> do remind me :-P
18:21:32 <MikeRiley> they should....
18:21:39 <Deewiant> CPLI didn't in mine, IIRC
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:52 <AnMaster> TOYS too(?)
18:21:56 <MikeRiley> could be some division by zero bugs still there....
18:21:57 <Deewiant> meh, that's all one bug :-)
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:04 <AnMaster> and errors
18:23:11 <AnMaster> MikeRiley, ok that's odd...
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:23:56 <AnMaster> which is odd
18:24:01 <MikeRiley> interesting....
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:27 <MikeRiley> it does look past spaces,,,
18:26:31 <MikeRiley> and past ; pairs...
18:26:35 <AnMaster> ah :)
18:26:38 <AnMaster> ccbi doesn't iirc
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:04 <AnMaster> a sec
18:27:05 <AnMaster> I got one
18:27:36 <AnMaster> 3k ; ; ;; ; f
18:27:44 <AnMaster> add some code at the end to print out to check
18:29:34 <MikeRiley> will try it....
18:29:50 -!- CakeProphet has quit ("lolwhut?").
18:30:18 <MikeRiley> that works just fine...
18:30:18 * SimonRC goes
18:30:24 <AnMaster> MikeRiley, my funge-108 draft can be found at http://rage.kuonet.org/~anmaster/funge-108/
18:30:29 <AnMaster> in pdf and lyx formats
18:30:31 <MikeRiley> going to grab it...
18:30:38 <AnMaster> lyx is just a GUI frontend to LaTeX really
18:31:02 <MikeRiley> got it...
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:32:49 <MikeRiley> yep...
18:33:18 <AnMaster> (not Funge-108, you would get 3 15s, as it *always* skips go forward then then)
18:33:21 <AnMaster> wait...
18:33:23 <AnMaster> hm
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:00 <AnMaster> 3k 4
18:34:08 <AnMaster> C. Pressy said you should seek past spaces
18:34:24 <Deewiant> hmm
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:13 <Deewiant> yep, same with ;
18:35:13 <AnMaster> MikeRiley, yep...
18:35:24 <MikeRiley> same thing with the ; pairs....
18:35:27 <AnMaster> aye
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:15 <AnMaster> Deewiant, um no
18:36:23 <Deewiant> then it has to be the char, no?
18:36:30 <Deewiant> otherwise it's special cases again
18:36:30 <AnMaster> well but:
18:36:44 <AnMaster> 1kv
18:36:46 <AnMaster>
18:36:47 <AnMaster>
18:36:51 <AnMaster> a
18:36:57 <AnMaster> should that jump over the spaces?
18:37:01 <AnMaster> not that it matters in this case
18:37:09 <AnMaster> but it matters when you have:
18:37:12 <AnMaster> 1k a
18:37:15 <Deewiant> again
18:37:20 <AnMaster> where it would be logical to jump over the a
18:37:26 <Deewiant> if you want "1k ]"
18:37:28 <AnMaster> as otherwise you execute it once to many
18:37:34 <Deewiant> s/1/2/
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:07 <AnMaster> (but delta may have been)
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:38:58 <AnMaster> 1k ]
18:39:00 <AnMaster> a
18:39:01 <AnMaster> or
18:39:02 <AnMaster> 1k ]
18:39:05 <AnMaster>
18:39:06 <AnMaster>
18:39:07 <AnMaster> a
18:39:09 <AnMaster> err
18:39:11 <AnMaster> a
18:39:13 <AnMaster> is what I mean
18:39:15 <MikeRiley> if you have it jump and instruciton,,,,then lkv should jump the instruciton underneath the k...
18:39:17 <AnMaster> after some blank lines
18:39:28 <MikeRiley> why should their be exceptions of the delta is changed??
18:39:33 <MikeRiley> specs do not call for that....
18:39:37 <AnMaster> no there shouldn't be
18:39:39 <AnMaster> I didn't say that
18:39:45 <AnMaster> gah must try to say it clearer
18:39:52 <AnMaster> will bbiab with some examples
18:39:58 <MikeRiley> ok,,,
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:10 <AnMaster> will still just 10 once
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:46 <AnMaster> that's even more odd IMO
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:43:48 <AnMaster> right
18:43:53 <AnMaster> but in 108 it will be
18:43:56 <MikeRiley> good!!!!
18:43:57 <AnMaster> the issue here is spaces
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:31 <AnMaster> or next char 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:38 <AnMaster> anyway next char doesn't work
18:44:49 <AnMaster> 2k; this is a comment;a
18:44:57 <AnMaster> now that doesn't make any sense
18:45:01 <MikeRiley> i agree,,,,
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:07 <tusho> ,,,,,,
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:57 <AnMaster> 1kv
18:45:57 <AnMaster>
18:45:57 <AnMaster> a
18:45:57 <AnMaster> b
18:45:58 <Deewiant> AnMaster: yeah, but now you're bringing in all these ; cases
18:46:01 <AnMaster> will push the b?
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:26 <AnMaster> Deewiant, indeed it should
18:46:29 -!- Corun has quit ("This computer has gone to sleep").
18:46:34 <MikeRiley> i agree there deewiant...
18:46:36 <AnMaster> which means it should *seek past next instruction*
18:46:39 <AnMaster> not *next char*
18:46:40 <Deewiant> AnMaster: so what's the problem then :-)
18:46:42 <AnMaster> which is what # does
18:46:44 <MikeRiley> if you are seeking yes....
18:46:53 <Deewiant> AnMaster: well, the way I see it is not that it seeks
18:47:01 <AnMaster> <AnMaster> 1kv
18:47:01 <AnMaster> <AnMaster>
18:47:01 <AnMaster> <AnMaster> a
18:47:01 <AnMaster> <AnMaster> b
18:47:06 <AnMaster> that pushes a or b?
18:47:12 <Deewiant> both
18:47:30 <AnMaster> 1kv
18:47:30 <AnMaster> ;
18:47:30 <AnMaster> Really?
18:47:30 <AnMaster> ;
18:47:30 <AnMaster> a
18:47:31 <AnMaster> b
18:47:34 <AnMaster> what about that?
18:47:36 <Deewiant> yes, really.
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:48:22 <Deewiant> right?
18:49:07 <AnMaster> hm
18:49:20 <AnMaster> right the one after it just executed
18:49:24 <AnMaster> this is 108 after all
18:49:28 <AnMaster> not 98
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:53 <MikeRiley> why extra special cases???
18:50:57 <MikeRiley> only 1 special case...
18:50:58 <AnMaster> I hoped to avoid that by simply saying "always jumps forward"
18:51:12 <AnMaster> hrrm
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:51:45 <MikeRiley> otherwise execute 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:23 <AnMaster> yes
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:07 <MikeRiley> no matter what is there...
18:54:09 <AnMaster> right :)
18:54:11 <Deewiant> and only if it's going to hit it next
18:54:18 <Deewiant> I guess that works
18:54:19 <MikeRiley> yes,,,only if it hits 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:54:35 <AnMaster> Deewiant, it is
18:56:17 <MikeRiley> all my FIXP problems are now solved....
18:56:38 <Deewiant> did you just switch to doubles? ;-P
18:57:06 <MikeRiley> that i did....
18:57:16 <MikeRiley> solved all the remaining bads...
18:57:20 <MikeRiley> in FIXP...
18:57:32 <Deewiant> it's probably still not a robust solution, if I just tested big enough numbers
18:57:37 <Deewiant> but meh, whatever
18:57:50 <AnMaster> what is the issue with the FIXP Deewiant?
18:57:59 <Deewiant> no issue
18:57:59 <AnMaster> not using epsilon to test? :P
18:58:13 <Deewiant> well, it's fixed point
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:58:55 <Deewiant> yeah
18:59:02 <MikeRiley> yes it would...
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:27 <Deewiant> yep
19:00:35 <pikhq> It's not like it's impossible to compute the Taylor series...
19:00:39 <Deewiant> yep
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:02 <tusho> s/,+ ?/, /g
19:03:05 <MikeRiley> oh....by the way....i have change FILE a little bit,,,,added another command to it...
19:03:06 <tusho> ;)
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:35 <AnMaster> messing up later on
19:06:40 <AnMaster> with the changed k
19:06:42 <MikeRiley> possible...
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:07 <MikeRiley> that is possible....
19:07:27 <MikeRiley> execution time of mycology is:
19:07:28 <MikeRiley> real 0m1.476s
19:07:28 <MikeRiley> user 0m1.400s
19:07:28 <MikeRiley> sys 0m0.052s
19:07:33 <AnMaster> http://rafb.net/p/uVhUs586.html
19:07:50 <AnMaster> MikeRiley, I guess some differ?
19:08:00 <AnMaster> as for i and o
19:08:06 <AnMaster> those are due to the -S switch
19:08:10 <AnMaster> -S enables sandbox mode in cfunge
19:08:16 <AnMaster> preventing any unsafe actions
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:07 <AnMaster> and some more
19:11:11 <MikeRiley> yes 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:11:57 <MikeRiley> yes,,,it would...
19:12:06 <AnMaster> MikeRiley, DIRF too btw
19:12:15 <MikeRiley> DIRF as well...
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:30 <AnMaster> but no I don't block &~,.
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:01 <AnMaster> using control codes
19:14:07 <MikeRiley> yep.....
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:12 <MikeRiley> yep....
19:15:13 <AnMaster> nah I wouldn't block esc
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:07 <MikeRiley> yep...not too likely....
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:17:49 <AnMaster> upload done
19:17:51 <AnMaster> and cya
19:18:03 <MikeRiley> will look when i get back....
19:18:06 <MikeRiley> cya....
19:18:08 -!- MikeRiley has quit ("Leaving").
19:19:20 -!- Corun has joined.
19:23:15 <AnMaster> Deewiant, 432kk5
19:23:20 <AnMaster> this got 2 issues
19:23:25 <AnMaster> at which k is the 5 executed
19:23:38 <AnMaster> when it jumps past next instruction after first k
19:23:41 <AnMaster> where does it end up?
19:24:03 <AnMaster> and then what about 432kkv
19:24:08 <AnMaster> from what k does that go down?
19:24:09 <Deewiant> it jumps to the 5, no?
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:24:30 <Deewiant> that's how I see it
19:24:41 <AnMaster> inner k?
19:24:44 <AnMaster> you mean second one?
19:24:45 <Deewiant> so kkk is even trickier :-)
19:24:48 <Deewiant> yep
19:24:57 <AnMaster> Deewiant, so what about:
19:24:59 <AnMaster> 432kkv
19:25:01 <AnMaster> ab
19:25:03 <Deewiant> what about it
19:25:12 <Deewiant> hmm
19:25:12 <AnMaster> will that execute a or b after?
19:25:19 <Deewiant> a
19:25:26 <Deewiant> I'd say
19:25:56 <Deewiant> because the outer k completes last
19:26:03 <AnMaster> right
19:34:01 <AnMaster> Deewiant, http://rafb.net/p/35jr7b24.html (&#64257; 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:34:59 <AnMaster> of of them anyway
19:35:08 <Deewiant> pastebin, specifically
19:35:09 <AnMaster> I just copied it from pdf output
19:35:17 <AnMaster> yeah one of them did it
19:35:34 <Deewiant> "execute the 4 four times" s/4/5/
19:35:43 <AnMaster> ah thanks
19:36:09 <AnMaster> fixed that typo
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:37:47 <AnMaster> and refactoring
19:38:00 <AnMaster> Deewiant, anyway what does ccbi do on nested k currently?
19:38:10 <Deewiant> stuff
19:38:18 <AnMaster> "stuff"?
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:38:37 <Deewiant> but I'm not sure
19:38:41 <Deewiant> no, you can just test it :-P
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:31 <Deewiant> as well as the outer k
19:39:36 <AnMaster> well mine wound probably execute the second k on the second k
19:39:37 <AnMaster> currently
19:39:56 <AnMaster> but I can see how to handle multiple k nicely
19:40:02 <AnMaster> it is called recursion
19:40:03 <Deewiant> sure, it wouldn't be hard
19:40:05 <AnMaster> with special casing
19:40:05 <Deewiant> er, no
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:41:46 <AnMaster> this will work on 3 k too
19:41:54 <AnMaster> brb
19:48:30 -!- Sgeo_ has joined.
19:50:02 <AnMaster> Deewiant, what if the second k changes delta when it first executes?
19:50:13 <AnMaster> wait yeah
19:50:25 <AnMaster> no it is consistent still
19:50:28 <Deewiant> then nothing
19:50:29 <Deewiant> yes
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:14 <AnMaster> *position*
19:53:29 <AnMaster> 432kk#abcdef
19:53:30 <AnMaster> say
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:11 <AnMaster> or: 432kk#
19:54:12 <AnMaster> err
19:54:13 <Deewiant> so go ahead and think about it, I don't want to :-)
19:54:14 <AnMaster> or: 432kkj
19:54:39 <AnMaster> Deewiant, well what about something else that sets position without messing with other stuff?
19:54:49 <AnMaster> say something from SUBR
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:54:57 <AnMaster> ah right
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:56:34 <AnMaster> hrrm...
19:57:09 <AnMaster> wow
19:57:12 <AnMaster> just wow
19:57:16 <AnMaster> internal compiler error
19:57:30 <Deewiant> GCC failing on you? :-)
19:57:42 <AnMaster> Deewiant, well this code is quite messed up now
19:57:46 <Deewiant> heh
19:58:27 <AnMaster> as the function got different prototypes with concurrency support and without it
19:59:03 <AnMaster> #ifdef CONCURRENT_FUNGE
19:59:03 <AnMaster> # define RunSelf() RunIterate(ip, IPList, threadindex)
19:59:03 <AnMaster> #else
19:59:03 <AnMaster> # define RunSelf() RunIterate(ip)
19:59:03 <AnMaster> #endif
19:59:05 <AnMaster> that works
19:59:13 <AnMaster> no internal compiler error now
19:59:22 <Deewiant> fk2kkkt
19:59:26 <AnMaster> what!?
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:22 <AnMaster> wait
20:02:56 <AnMaster> In 432kk5 the second k would actually execute the 5 *five* times the second iterations
20:02:58 <AnMaster> Deewiant, right?
20:03:09 <AnMaster> as the first iteration pushed 5s
20:04:07 <AnMaster> Deewiant, tell me, what should 32kk5 >:#._@ print?
20:04:12 <AnMaster> *poke*
20:07:01 <Deewiant> outer k pops two, executes twice:
20:07:10 <Deewiant> inner k pops three, executed thrice:
20:07:14 <Deewiant> 5
20:07:23 <Deewiant> inner k pops zero, nothing happens
20:07:39 <Deewiant> oh, d'oh
20:07:46 <AnMaster> first time: 5 5 5
20:07:47 <Deewiant> inner k pops /five/, executed 5 times:
20:07:50 <Deewiant> 5
20:07:51 <AnMaster> second time...
20:07:55 <Deewiant> so
20:07:56 <AnMaster> 5 5
20:07:57 <AnMaster> +
20:07:58 <Deewiant> output: 5555555
20:08:00 <AnMaster> 5 5 5 5 5
20:08:14 <AnMaster> Deewiant, nop, . adds a trailing space
20:08:16 <AnMaster> according to spec
20:08:21 <Deewiant> oh, it was a . not a ,
20:08:31 <Deewiant> well, anyhoo, 7 bytes
20:08:38 <AnMaster> yes
20:08:40 <Deewiant> are pushed on stack
20:08:47 <AnMaster> and . wouldn't output a 5
20:08:53 <AnMaster> it would output some control char
20:08:58 <AnMaster> err
20:08:59 <AnMaster> ,
20:09:00 <AnMaster> I mean
20:09:09 <AnMaster> Deewiant, anyway then what about: 4k'a
20:09:12 <AnMaster> that is a bit hard itself
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:24 <psygnisf_> heeeeey guys
20:11:55 <AnMaster> Deewiant, yes... but I think it may push some '
20:11:58 <AnMaster> or a
20:12:01 <AnMaster> not sue
20:12:02 <AnMaster> sure*
20:13:34 <AnMaster> Deewiant, help please http://rafb.net/p/Y2LKjU71.html
20:13:38 <AnMaster> does that test seem right?
20:13:43 <AnMaster> in cfunge it cause an infinite loop
20:13:49 <AnMaster> and tracing goes bad
20:13:50 <AnMaster> mad*
20:14:01 <AnMaster> tix=0 tid=0 x=4 y=5: " (34)
20:14:01 <AnMaster> tix=0 tid=0 x=4 y=4: B (66)
20:14:01 <AnMaster> tix=0 tid=0 x=4 y=5: " (34)
20:14:01 <AnMaster> tix=0 tid=0 x=4 y=6: (32)
20:14:01 <AnMaster> tix=0 tid=0 x=4 y=7: > (62)
20:14:02 <AnMaster> tix=0 tid=0 x=4 y=0: k (107)
20:14:05 <AnMaster> and that makes no sense
20:14:40 <Deewiant> seems right to me
20:14:50 <AnMaster> (gdb) call FungeSpaceDump()
20:14:50 <AnMaster> Fungespace follows:
20:14:50 <AnMaster> 432kkv
20:14:50 <AnMaster> ""
20:14:50 <AnMaster> DD
20:14:51 <AnMaster> OA
20:14:53 <AnMaster> OB
20:14:57 <AnMaster> G"
20:14:59 <AnMaster> "
20:15:01 <AnMaster> >>:#,_a,@
20:15:03 <AnMaster> seem right there too
20:16:36 <AnMaster> Deewiant, I see what the issue is
20:16:44 <AnMaster> next time k will look at the "
20:16:45 <AnMaster> not the v
20:16:49 <AnMaster> as the delta changed
20:16:51 <AnMaster> for the inner k
20:16:54 <AnMaster> Deewiant, :P
20:17:16 <Deewiant> but is that what we want
20:17:22 <AnMaster> it is
20:17:23 -!- Sgeo has quit (Connection timed out).
20:17:30 <Deewiant> seems weird
20:17:31 <AnMaster> Deewiant, just my test case was fucked up then
20:17:38 <Deewiant> but I guess it makes sense
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:19:43 <AnMaster> 432kkv
20:19:43 <AnMaster> zz
20:19:43 <AnMaster> z>0"DAB">:#,_a,@
20:19:43 <AnMaster> >0"DOOG">:#,_a,@
20:19:45 <AnMaster> ok that works
20:19:47 <AnMaster> for testing it
20:24:31 <AnMaster> yay that prints good now
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:35:59 <AnMaster> 432kk#
20:36:00 <AnMaster> and
20:36:08 <AnMaster> 2k'a
20:36:24 <AnMaster> MikeRiley, tell me what happens in those
20:36:24 <MikeRiley> ok,,,
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:03 <AnMaster> however.
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:38:40 <AnMaster> I said
20:38:44 <MikeRiley> should push the '....
20:38:45 <AnMaster> 432kk#
20:38:48 <AnMaster> as in jumping
20:38:53 <AnMaster> to be exact
20:39:02 <AnMaster> 432kk#abcdef123456789
20:39:05 <AnMaster> or whatever
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:23 <AnMaster> well yes and no
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:40:55 <AnMaster> MikeRiley, ^
20:40:57 <AnMaster> for funge108
20:41:02 <MikeRiley> looking
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:17 <AnMaster> it fills a page
20:42:27 <MikeRiley> yeah,,,,,k should have filled a page on the 98 spec....
20:42:28 <AnMaster> this code however: 4k#5
20:42:37 <AnMaster> that will certainly jump over the 5
20:42:43 <MikeRiley> yes....
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:14 <MikeRiley> different situation...
20:43:30 <MikeRiley> from my understanding of this:
20:43:38 <MikeRiley> when 4k#5 executes,,,,
20:43:43 <MikeRiley> ip is pointing at 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:00 <MikeRiley> 2nd iteration ip is pointing at 5
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:44:57 <AnMaster> hrrm
20:45:04 <MikeRiley> since # moves the ip.....
20:45:19 <AnMaster> yes...
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:40 <AnMaster> the way I see it
20:45:42 <MikeRiley> in something like kk...the ip remains pointing at the first k...since no instructi9on is changing ...
20:45:59 <AnMaster> yes... and no... :/
20:46:01 <Deewiant> unless it's kk#...
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:31 <AnMaster> *headache*
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:46:47 <AnMaster> yes
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:01 <AnMaster> remember?
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:36 <AnMaster> :P
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:05 <MikeRiley> ok,,,,
20:48:15 <AnMaster> as well as 98 too kind of
20:48:20 <MikeRiley> in that respect,,,,i think something like 32kk# should execute the #...
20:48:24 <MikeRiley> that would be usefull....
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:48:49 <AnMaster> right?
20:49:13 <MikeRiley> well,,,,the 98 spec does not say that k modifies the ip from its standard way of moving...
20:49:23 <AnMaster> indeed
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:49:40 <MikeRiley> yes...
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:51:54 <AnMaster> good point
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:14 <AnMaster> 13 cba
20:53:17 <AnMaster> 4k'abcd .,,,a,@
20:53:20 <AnMaster> that was the code
20:53:23 <MikeRiley> in Rc/Funge, i got cba' on the stack,,,
20:53:30 <AnMaster> not what I had expected
20:53:40 <AnMaster> wait
20:53:43 <MikeRiley> with c as top of stack...
20:53:50 <AnMaster> $ ./cfunge tests/iterate-fetchchar.b98
20:53:51 <AnMaster> 13 cba'
20:53:51 <AnMaster> from
20:53:56 <AnMaster> 4k'abcd .,,,,a,@
20:54:07 <AnMaster> one too few , in test program first time
20:54:29 <AnMaster> MikeRiley, and no 13?
20:54:33 <Deewiant> just use >:#,_ :-P
20:54:34 <MikeRiley> oh,,,,i have the 13 as well,,,,so 13 cba'
20:54:45 <AnMaster> wonder what ccbi does :P
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:55:52 <AnMaster> hehe
20:56:05 <MikeRiley> eheheheeheheheheheheeh
20:56:08 <Deewiant> unless you count fingerprints ;-)
20:56:21 <AnMaster> well I mean fixing the BAD in fingerprints too
20:56:27 <Deewiant> good luck with TRDS ;-)
20:56:31 <MikeRiley> eheheheheeheheheheh
20:56:32 <AnMaster> ah true...
20:56:33 <AnMaster> ouch
20:56:36 <AnMaster> that will take some time
20:56:41 <MikeRiley> but then anmaster does not have that one...
20:56:47 <AnMaster> indeed I don't
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:13 <MikeRiley> yes, that is how they execute...
20:57:19 <MikeRiley> thought about changing it....
20:57:21 <AnMaster> MikeRiley, interesting way of doing it
20:57:25 <AnMaster> I use function pointers
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:43 <AnMaster> to generate an array
20:57:49 <Deewiant> well, RC/Funge-98 still has the incorrect way of doing fingerprints, no?
20:57:56 <MikeRiley> yep...
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:19 <AnMaster> url need to be updated yes
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:04 <AnMaster> fixed :P
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:16 <AnMaster> then:
21:00:17 <AnMaster> tools/gen_fprint_list.sh
21:00:25 <AnMaster> to update the list
21:00:42 <AnMaster> // FILE - File I/O functions
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:00:44 <AnMaster> there we have it :)
21:01:59 <AnMaster> and now I uploaded yet a newer version of the funge-108 draft
21:02:18 <MikeRiley> will have to grab that...
21:02:56 <MikeRiley> got it....
21:11:45 <MikeRiley> problems in FTH module are now all fixed...
21:11:51 <MikeRiley> FRTH module that is...
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:13:44 <AnMaster> well what one do you use?
21:13:46 <Deewiant> I would, but I lack a server
21:13:47 <MikeRiley> cvs
21:13:51 <AnMaster> oh my
21:13:55 <AnMaster> why cvs?
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:24 <AnMaster> well no need
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:45 <Deewiant> too paranoid ;-)
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:06 <AnMaster> not sure what one
21:22:11 <Deewiant> there is
21:22:25 <AnMaster> oh?
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:24 <AnMaster> svn and cvs have sourceforge
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:54 <AnMaster> so not odd
21:26:56 <Deewiant> bitbucket is the one I was thinking of
21:27:02 <Deewiant> and freehg is the other
21:27:22 <AnMaster> Deewiant, doesn't mercurial work on a plain http server?
21:27:23 <MikeRiley> IIPC fixed now...
21:27:23 <AnMaster> bzr does
21:27:32 <Deewiant> no, bzr and darcs only
21:27:40 <AnMaster> Deewiant, ah. bad luck
21:27:45 <Deewiant> or, well
21:27:52 <Deewiant> if you have CGI support
21:27:54 <Deewiant> then, sure
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:07 <AnMaster> right, but I mean without cgi
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:34 <AnMaster> I got root there (duh)
21:28:59 <AnMaster> Deewiant, well yes I may fix the webui stuff tomorrow
21:29:21 <AnMaster> try to get loggerhead working
21:29:22 <AnMaster> anyway
21:29:28 <AnMaster> it is mirrored on launchpad
21:29:33 <AnMaster> launchpad has loggerhead
21:30:22 <AnMaster> Deewiant, https://code.launchpad.net/~anmaster/cfunge/main
21:30:36 <AnMaster> doesn't have the last changes though
21:30:43 <AnMaster> Last mirrored: 5 hours ago
21:30:43 <AnMaster> Next mirror: in 10 minutes
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:35:39 <MikeRiley> looking...
21:36:02 <oklopol> who are you, mike?
21:36:15 <Deewiant> RC/Funge-98's author
21:36:19 <oklopol> nice
21:36:31 <AnMaster> MikeRiley, next update of that mirror will happen in a few minutes it seems
21:36:32 <oklopol> nite
21:36:34 <oklopol> ->
21:36:39 <AnMaster> oklopol, heh cya
21:37:46 <psygnisf_> oklopol!
21:37:52 <psygnisf_> its only 4:30!
21:37:55 <psygnisf_> you cant go to sleep!
21:37:57 <psygnisf_> ..
21:38:00 -!- psygnisf_ has changed nick to psygnisfive.
21:38:26 <AnMaster> psygnisfive, I'm going to sleep soon too
21:38:35 <psygnisfive> wtf?!
21:38:36 <MikeRiley> still early afternoon for me...
21:38:45 <psygnisfive> how are you going to sleep so early?!
21:42:01 <psygnisfive> http://news.ycombinator.com/item?id=253693
21:42:02 <psygnisfive> lol
21:42:04 <psygnisfive> oh kids
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:34 <AnMaster> MikeRiley, 22:43 here
21:43:35 <Deewiant> gah
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:43:48 <MikeRiley> 13:43 here...
21:43:56 <psygnisfive> anmaster: learn about humor
21:44:01 <Deewiant> for (;;){} is pretty small too, but that doesn't mean it's efficient >_<
21:44:04 <psygnisfive> also, learn about formal languages
21:44:06 <AnMaster> psygnisfive, error
21:44:17 <AnMaster> humor is undefined
21:44:21 <MikeRiley> where is "here" anmaster???
21:44:28 <psygnisfive> has anyone ever tried write a forth program backwards?
21:44:29 <AnMaster> MikeRiley, Sweden
21:44:32 <AnMaster> MikeRiley, and you?
21:44:41 <MikeRiley> las vegas,nevada,usa....
21:44:44 <AnMaster> ah
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:19 <psygnisfive> er.. "into rev"?
21:45:23 <AnMaster> $ echo "abc" | rev
21:45:24 <AnMaster> cba
21:45:24 <AnMaster> see?
21:45:29 <psygnisfive> yes, sure.
21:45:43 <psygnisfive> programming it like its lisp, but reading it backwards.
21:45:45 <AnMaster> except:
21:45:46 <AnMaster> $ echo -e "abc\ndef" | rev
21:45:46 <AnMaster> cba
21:45:46 <AnMaster> fed
21:47:08 <AnMaster> tusho, you forgot to join #eso btw
21:47:16 <psygnisfive> :o
21:47:17 <psygnisfive> whats #eso?
21:47:30 <AnMaster> Esoteric Standard Organisation
21:47:41 <AnMaster> ask tusho
21:48:56 <AnMaster> MikeRiley, anyway switzerland... Wouldn't that be same timezone as me?
21:49:23 <AnMaster> GMT+1
21:49:30 <AnMaster> currently CEST
21:49:34 <AnMaster> due to summertime
21:49:41 <AnMaster> (or as they say in US, daylight saving)
21:49:46 <psygnisfive> what does ESO do
21:49:48 <MikeRiley> yep,,,it was gmt+1
21:50:20 <AnMaster> http://eso-std.org/
21:50:28 <AnMaster> have a homepage without info on it
21:50:32 <AnMaster> that's what they do :P
21:50:33 <psygnisfive> theres no info there
21:52:06 <AnMaster> psygnisfive, indeed not
21:52:18 <AnMaster> psygnisfive, think ISO for esoteric languages
21:52:23 <AnMaster> that is the plan anyway
21:52:33 <psygnisfive> how will THAT work?
21:52:44 <AnMaster> psygnisfive, well I'm eager to find out too
21:52:52 <tusho> bak
21:52:53 <AnMaster> psygnisfive, helping with standards anyway
21:52:55 <psygnisfive> tusho
21:52:57 <psygnisfive> explain ESO
21:52:58 <AnMaster> tusho, #eso
21:53:03 <tusho> psygnisfive: no
21:53:04 <tusho> AnMaster: no
21:53:05 <AnMaster> tusho, you forgot to join
21:53:08 <tusho> AnMaster is wrong
21:53:12 <AnMaster> tusho, what?
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:43 * AnMaster shrugs
21:53:46 <AnMaster> anyway night
21:53:48 <tusho> can
21:53:50 <tusho> 't recall that
21:53:52 <tusho> but I was wrong, then
21:53:57 <psygnisfive> tusho, whats ESO do
21:54:52 <tusho> psygnisfive: long story.
21:54:57 <psygnisfive> ive got time
21:55:15 <tusho> i've not got the patience to type out all of it atm :)
21:55:20 <psygnisfive> :P
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:56:40 <tusho> -shrug-
21:59:32 -!- oklopol has quit (Connection timed out).
22:00:15 <MikeRiley> down to only 8 bads left...
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").
2008-07-25
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.
01:40:08 <psygnisfive> boo!
02:00:28 <zEEbe> booo!
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.
08:18:57 <psygnisfive> lalala
09:12:22 -!- olsner has quit ("Leaving").
09:23:52 <AnMaster> morning
09:26:56 <psygnisfive> hey
09:26:59 <psygnisfive> later today
09:27:04 <psygnisfive> im teaching you about formal languages
09:38:58 <AnMaster> psygnisfive, no thanks
09:39:00 <AnMaster> too busy
09:39:32 <psygnisfive> :P
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:25:50 <AnMaster> jemarch, what?
10:25:56 <AnMaster> who are they?
10:26:04 <jemarch> heh :)
10:27:45 <AnMaster> ~/funges/interpreters/rcfunge $ ./funge -Y -md ~/src/cfunge/trunk/mycology/mycology.b98
10:27:45 <AnMaster> Segmentation fault
10:27:47 <AnMaster> hrm
10:28:01 <AnMaster> need to reach Mike Reily
10:28:04 <AnMaster> err spelling
10:37:24 -!- tusho has joined.
10:38:07 <AnMaster> hi tusho!
10:38:23 <tusho> hi AnMaster
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:26 <AnMaster> why the quit...
10:39:35 -!- tusho has joined.
10:39:38 <AnMaster> wb
10:39:39 <AnMaster> why the quit?
10:40:16 <tusho> testing stuff
10:42:09 <AnMaster> k
11:04:24 <AnMaster> Deewiant, should 0k 7 skip over next instruction or next char?
11:04:30 <AnMaster> next instruction seem sanest
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: åäö
11:36:55 <AnMaster> UNDEF: got "å"
11:36:55 <AnMaster> hrrm
12:00:20 <Deewiant> instruction seems sanest to me too, although it's bound to be insane in some case ;-)
12:07:00 <AnMaster> Deewiant, indeed
12:07:04 <AnMaster> k is insane
12:07:18 <AnMaster> Deewiant, it is really an optimized version of:
12:07:28 <AnMaster> err
12:07:31 <AnMaster> can't paste that code
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)).
14:30:47 <AnMaster> hi pikhq
14:30:54 <pikhq> Hi.
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:12:25 <pikhq> :(
15:44:48 -!- MikeRiley has joined.
16:00:27 <AnMaster> MikeRiley, hi, your last release segfaults when loading mycology for me
16:00:32 <AnMaster> using -md -Y
16:00:40 <AnMaster> want a backtrace?
16:00:43 <MikeRiley> increase the stack size...
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:36 <MikeRiley> here is my full command line:
16:01:37 <MikeRiley> time ../../funge -i 500000 -c 200000 -Y -md -w mycology.b98
16:01:49 <AnMaster> what does -w do?
16:01:54 <MikeRiley> enables warnings...
16:02:23 <AnMaster> ah right
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:28 <AnMaster> (cfunge got -h)
16:03:43 <MikeRiley> yeah, i noticed that the other day!! eheheheheh i should add one....
16:03:51 <AnMaster> would be useful yet
16:03:53 <AnMaster> yes*
16:04:00 <MikeRiley> yep,,,would be usefull...
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:06:41 <MikeRiley> that would be usefull....
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:28 <AnMaster> all before the fingerprints
16:08:39 <MikeRiley> i can accept that....
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:08:55 <AnMaster> with some macors
16:08:59 <AnMaster> in the .gdbinit 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:10 <AnMaster> um G as in the fgets()?
16:10:19 <AnMaster> or rather get line
16:10:29 <MikeRiley> yes....
16:10:55 <MikeRiley> i see it execute once and get 'bar\n'
16:10:59 <MikeRiley> then again to get 'baz'
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:24:41 <AnMaster> bbiab food
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:35 <AnMaster> but it is rather slow
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:14 <AnMaster> MikeRiley, that seems odd :P
17:17:26 <MikeRiley> that does seem odd....
17:17:29 -!- Corun has joined.
17:17:40 <MikeRiley> which version are you actually running???
17:17:54 <AnMaster> v1.08
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:19:39 <AnMaster> ah
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> typedef union u_doubleint {
17:20:28 <AnMaster> double d;
17:20:28 <AnMaster> struct { int32_t high; int32_t low; } i;
17:20:28 <AnMaster> } doubleint;
17:20:30 -!- jemarch has quit ("ERC Version 5.0 (CVS) $Revision: 1.1.1.1 $ (IRC client for Emacs)").
17:20:32 <AnMaster> that is my union for it
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:43 <AnMaster> MikeRiley, that's strange
17:22:55 <AnMaster> MikeRiley, is the code the same as in 1.08?
17:23:01 <AnMaster> I want to take a look at it
17:23:47 <MikeRiley> hold on a few minutes,,,and will put 1.0.9 where can get at it....
17:23:48 <AnMaster> MikeRiley, not odd at all
17:23:49 <AnMaster> union {
17:23:50 <AnMaster> double f;
17:23:50 <AnMaster> struct { long int l; long int h; } i;
17:23:50 <AnMaster> } FpDp;
17:23:58 <AnMaster> long int == 64-bits on x86_64
17:24:02 <AnMaster> not 32-bits
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:25:29 <AnMaster> GCC does it, MSVC doesn't
17:25:37 <AnMaster> icc may do it, not sure
17:25:41 <AnMaster> pcc probably not
17:26:18 <AnMaster> MikeRiley, on and double is *always* 64-bits
17:26:24 <AnMaster> and float always 32-bits
17:26:55 <AnMaster> union {
17:26:55 <AnMaster> float f;
17:26:55 <AnMaster> long int i;
17:26:55 <AnMaster> } FpSp;
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:01 <Deewiant> sure, a couple aim for it
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:14 <AnMaster> MikeRiley, interesting
17:28:20 <AnMaster> may want to set your clock :)
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:30:44 <AnMaster> same in debugger.c
17:31:25 <AnMaster> mterm.o: In function `Input':
17:31:25 <AnMaster> mterm.c:(.text+0x39): warning: the `gets' function is dangerous and should not be used.
17:31:30 <AnMaster> is another warning I get
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:11 <AnMaster> fizzie, hm
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:32 <AnMaster> or double
17:34:45 <Deewiant> you don't?
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:28 <AnMaster> not 100% sure
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:17 <MikeRiley> for what??
17:36:32 <AnMaster> as in -Wall -Wextra -Wformat=2 ...
17:36:38 <MikeRiley> i just use -Wall
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:36:49 <AnMaster> for cfunge :P
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:33 <AnMaster> which I think is required
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:38:53 <AnMaster> fizzie, ah
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> typedef union u_doubleint {
17:41:56 <AnMaster> double d;
17:41:56 <AnMaster> struct { int32_t high; int32_t low; } i;
17:41:56 <AnMaster> } doubleint;
17:42:03 <AnMaster> need to store that on the funge stack
17:42:15 <AnMaster> so the sizes *need* to match
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:24 <AnMaster> and one cell for float
17:44:30 <AnMaster> I can accept wasted space
17:44:36 <AnMaster> but not the other way around
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:36 <AnMaster> it used long int by mistake
17:45:44 <AnMaster> so it didn't work on 64-bit platforms
17:45:48 <AnMaster> at all
17:45:51 <fizzie> Actually, I didn't: I just jumped into the conversation without reading the logs.
17:45:57 <AnMaster> ah
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:46:49 <AnMaster> err
17:46:51 <AnMaster> that doesn't work
17:47:00 <AnMaster> it needs to be same size as the funge-space
17:47:04 <AnMaster> they can't be unions
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:25 <AnMaster> indeed
17:48:36 <AnMaster> fizzie, and the cells need to be a specific size
17:48:40 <AnMaster> in various other places
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:04 <MikeRiley> yep....
17:50:12 <AnMaster> and this hurts on my cpu
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:45 <MikeRiley> yeah,,,,,
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:05 <MikeRiley> no...i do not...
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:51:44 <AnMaster> defined in stdint.h
17:52:49 <MikeRiley> oh.......
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:05 <AnMaster> or similar
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:50 <AnMaster> configure would be autoconf
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:00 <MikeRiley> autoconf i am familiar with...
17:55:02 <AnMaster> cfunge uses cmake
17:55:07 <AnMaster> MikeRiley, well use autoconf then
17:55:12 <AnMaster> use what you like :)
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> IF(CONCURRENT_FUNGE)
17:57:38 <AnMaster> ADD_DEFINITIONS(-DCONCURRENT_FUNGE)
17:57:38 <AnMaster> ENDIF(CONCURRENT_FUNGE)
17:57:41 <AnMaster> for example
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:03 <tusho> (uses python)
18:00:07 <tusho> if concurrent_funge:
18:00:09 <tusho> ...
18:00:10 <tusho> vs
18:00:13 <tusho> IF(CONCURRENT_FUNGE)
18:00:13 <tusho> ...
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:40 <tusho> shrug
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:19 <AnMaster> tusho, nice
18:01:28 <tusho> plus
18:01:31 <tusho> doom3 used it as a build system
18:01:33 -!- MikeRiley has quit ("Leaving").
18:01:37 <AnMaster> so?
18:01:38 <tusho> i'd think they'd be pretty careful about that
18:01:48 <AnMaster> tusho, cmake got KDE
18:01:56 <tusho> *KDE uses cmake
18:01:57 <AnMaster> and some other heavy projects
18:02:02 <tusho> and true, but so has scons
18:02:03 <AnMaster> tusho, yes as users
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:02:56 <tusho> *on
18:03:09 <AnMaster> I do care for python 2.4 and 2.5, maybe 2.3 too
18:03:17 <AnMaster> not longer back than that
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:32 <AnMaster> oh?
18:03:37 <AnMaster> 1.5 then?
18:03:45 <tusho> AnMaster: yeah, so what
18:03:51 <tusho> scons devs can be masochists if they want
18:03:53 <AnMaster> was it even more unusable?
18:03:57 <tusho> but they apparently have users working on 1.5
18:03:58 <tusho> which is a WTF
18:04:01 <tusho> and 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:04:20 <tusho> *have
18:04:24 <tusho> (that was at you)
18:04:26 <AnMaster> argh right
18:11:10 -!- Sgeo has joined.
18:57:12 -!- lilja has joined.
18:57:20 <lilja> okokokokoko
19:39:13 <psygnisfive> blahblahblah
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:42:02 <tusho> psht
19:43:05 -!- Corun has joined.
19:44:14 -!- oerjan has joined.
19:52:27 <psygnisfive> awesome quotes?
19:52:58 <tusho> psygnisfive: yes
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:46 <psygnisfive> ah ok, so only since you were 11.
19:53:50 <tusho> hah
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:20 <psygnisfive> i was envisioning a little(r) tusho
19:54:32 <oerjan> february i think, wasn't that when you posted that regexp language...
19:54:33 <psygnisfive> and it was funny
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:46 <psygnisfive> :O
19:54:50 <tusho> p.s. february which year
19:55:02 * oerjan goes to check his filestamp
19:55:54 <oerjan> oh, May 30 2007
19:56:26 <psygnisfive> you know what i want on Mac OS X?
19:56:31 <tusho> oerjan: that the regexp time
19:56:32 <psygnisfive> i want a built-in way to make booklets
19:56:33 <tusho> or my first visit
19:56:37 <psygnisfive> why is there no such facility?
19:56:40 <psygnisfive> -_-
19:56:47 <oerjan> tusho: the filestamp on my interpreter for it
19:56:59 <tusho> oerjan: ah
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:24 <tusho> it seems it
19:58:29 <tusho> it's just string rewriting, albeit bizzare one
19:58:32 <tusho> s/one//
19:59:18 <oerjan> i don't think we figured that out. although with full perl regexps anything is possible :D
19:59:34 <oerjan> oh wait it was python
19:59:35 <tusho> well yeah :)
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:04 <tusho> also
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:07:49 <AnMaster> psygnisfive, issue solved :P
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:11:09 <tusho> *live
20:11:11 <tusho> texlive. get it.
20:11:46 <psygnisfive> does it require ghostscript?
20:11:56 <tusho> no.
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:19 <psygnisfive> i know im an asshole. ;)
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:19 <AnMaster> har
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:44 <AnMaster> and to add a -h
20:13:48 <AnMaster> as well as a man page
20:13:57 <AnMaster> if that isn't user friendly I don't know what is
20:14:00 <AnMaster> psygnisfive!
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:29 <AnMaster> wtf is that
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:42 <tusho> etc
20:14:47 <tusho> it's 100mb, but then it has just about everything
20:14:50 <psygnisfive> awesome tusho. <3
20:14:52 <tusho> including all the document types and other contributed stuff
20:14:58 <tusho> also: it uses xetex
20:14:59 <tusho> so: unicode
20:15:00 <AnMaster> tusho, well not all contributed stuff
20:15:07 <tusho> AnMaster: well yeah
20:15:08 <AnMaster> tusho, and xetex got issues
20:15:15 <psygnisfive> i will look at it tusho, thank you
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:27 <AnMaster> tusho, :P
20:15:30 <tusho> is a torrent
20:15:31 <tusho> for it
20:15:32 <tusho> (it's free)
20:15:35 <tusho> official torrent
20:15:43 <AnMaster> tusho, once it has micro typography I may consider xetex
20:15:48 <AnMaster> pdftex got it
20:15:56 <psygnisfive> pdfteX!
20:15:57 <tusho> AnMaster only uses things that have features which he doesn't use
20:16:00 <psygnisfive> also impossible to get installed!
20:16:09 <AnMaster> psygnisfive, I bet texlive contains it...
20:16:10 <AnMaster> duh
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:18 <AnMaster> just get a tex distro
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:34 <AnMaster> ...........
20:16:35 <tusho> they all say 'use tex live foo'
20:16:39 <tusho> so yeah.
20:16:40 <AnMaster> I USE microtypography
20:16:42 <psygnisfive> i just cant stand the majority of open source software
20:16:43 <AnMaster> so what
20:16:43 <AnMaster> the
20:16:44 <AnMaster> heck
20:16:46 <AnMaster> do you mean?
20:16:47 <AnMaster> tusho, ?
20:16:49 <AnMaster> tell me
20:16:50 <tusho> AnMaster: and you develop kernels in python
20:16:51 <tusho> :)
20:16:55 <AnMaster> tusho, no I don't
20:16:59 <tusho> no, you don't
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:17 <AnMaster> not at all
20:19:31 <AnMaster> I just can't bear people who don't act like grown ups
20:22:25 -!- MikeRiley has joined.
20:40:47 <AnMaster> MikeRiley, hi
20:40:54 <MikeRiley> hello!!
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:41:58 <MikeRiley> which finishes up my BADs....
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:01 <MikeRiley> no.....and may not....
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:46:53 <AnMaster> HRTI right?
20:47:00 <AnMaster> that one is a pain
20:47:02 <MikeRiley> yep!!!!
20:47:05 <MikeRiley> the ff*kyn
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:29 <AnMaster> under valgrind
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:48 <AnMaster> :)
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:13 <Deewiant> :-)
20:48:13 <MikeRiley> i figured that....
20:48:22 <Deewiant> it was just fkyn at first
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:31 <AnMaster> with -S switch
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:48:51 <AnMaster> and -S restrict that
20:49:03 <AnMaster> Deewiant, cfunge got very good granularity on my system
20:49:09 <AnMaster> thanks to HPET I bet
20:49:09 <MikeRiley> my interval is pretty small....from just m to t will show about 200....
20:49:15 <AnMaster> my system has HPET
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: S pushed 969346
20:49:38 <AnMaster> UNDEF: T after M pushed 30 and a second T, after ff*kyn, pushed 232
20:49:38 <AnMaster> GOOD: ET reflected
20:49:42 <AnMaster> using -S
20:49:42 <MikeRiley> and that certainly does!!!! eheheheheheheeh
20:49:48 <AnMaster> MikeRiley, ^
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:01 <AnMaster> Deewiant, I know...
20:50:06 <MikeRiley> yep....a whole lot!!!!!
20:50:16 <AnMaster> you can pre-allocate yours
20:50:20 <AnMaster> a lot faster actually
20:50:25 <AnMaster> than allocating in chunks
20:50:28 <AnMaster> yes I do it in chunks
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:51:15 <MikeRiley> yes it would...
20:51:25 <AnMaster> environment mostly
20:51:31 <AnMaster> that is the main time hog
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:27 <AnMaster> FreeBSD have smaller ones
20:52:30 <AnMaster> at least on my server
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:52:59 <MikeRiley> wow!!! that is not very many!!!
20:53:03 <AnMaster> 86 on my Gentoo system
20:53:04 <AnMaster> ...
20:53:07 <AnMaster> most are HUGE too
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:22 <AnMaster> like that
20:53:26 <Deewiant> 41 62 2598 on WinXP here
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:53:31 <AnMaster> and that is not all of it
20:53:36 <AnMaster> LS_COLORS is exetreme
20:53:38 <Deewiant> just pipe it through wc
20:53:39 <AnMaster> extreme*
20:53:44 <AnMaster> Deewiant, I did that...
20:54:01 <AnMaster> gentoo $ env | wc -c
20:54:02 <AnMaster> 5696
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:20 <AnMaster> freebsd $ env | wc -c
20:54:20 <AnMaster> 337
20:54:23 <Deewiant> and they say Windows is bloated ;-)
20:54:27 <AnMaster> Deewiant, a lot less I bet?
20:54:27 <MikeRiley> eheheheheeheh
20:54:37 <AnMaster> mind you the latter is a root shell
20:54:41 <AnMaster> will check as normal user
20:54:42 <Deewiant> AnMaster: I pasted mine above...
20:54:47 <AnMaster> ah yes
20:54:57 <AnMaster> for root on my gentoo:
20:54:59 <AnMaster> # env | wc -c
20:54:59 <AnMaster> 3891
20:55:03 <AnMaster> a bit less than for user
20:55:11 <AnMaster> but blame my .bashrc for some of that
20:55:15 <AnMaster> bbiab
20:55:35 <MikeRiley> wc shows 3525 for my environment...
20:57:00 <tusho> 21 23 1360
20:57:12 <tusho> os x
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: G works
20:59:29 <MikeRiley> @+#GOOD: 1J moves itself south one row
20:59:33 <MikeRiley> why???
20:59:47 <Deewiant> guess somethings not as GOOD as Mycology thinks ;-)
21:00:01 <Deewiant> s/things/thing's/
21:01:12 -!- oerjan has quit ("Walk").
21:01:13 <MikeRiley> hmmmmm wonder if the G code is strange...
21:02:13 <AnMaster> back
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:13 <MikeRiley> what is your take on G???
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:49 <Deewiant> because he's lazy :-P
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:35 <AnMaster> same for k
21:04:43 <MikeRiley> yep....
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:09 <MikeRiley> let me look...
21:05:12 <AnMaster> Deewiant, anyway didn't you simply say you reverse engineered the RC/Funge one above? :P
21:05:16 <AnMaster> and that is harder
21:05:21 <AnMaster> at least CCBI's source is very readable
21:05:30 <Deewiant> where did I say that?
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:04 <AnMaster> ah
21:06:06 <AnMaster> right
21:06:16 <AnMaster> MikeRiley, j being?
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:42 <MikeRiley> the vector supplied to it.
21:06:58 <MikeRiley> does not mention where j comes from...
21:07:10 <MikeRiley> F is similar,,
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:37 <AnMaster> j = StackPop(ip->stack);
21:07:37 <AnMaster> i = StackPop(ip->stack);
21:07:39 <MikeRiley> F is the referse...
21:07:41 <AnMaster> that's from cfunge
21:07:49 <AnMaster> I expect it is in CCBI too
21:07:52 <AnMaster> the comment
21:07:54 <MikeRiley> so you are popping j first in both cases????
21:07:57 <Deewiant> yeah
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:08:57 <AnMaster> and the other ones too
21:09:24 <AnMaster> Deewiant, you should test MODE in combination with FRTH
21:09:30 <MikeRiley> reversing i and j still give me:
21:09:32 <MikeRiley> GOOD: F works
21:09:32 <MikeRiley> GOOD: G works
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:17 <AnMaster> so I suggest you test it
21:10:30 <Deewiant> it's unspecced
21:10:44 <AnMaster> Deewiant, you said "top of stack even when using MODE"
21:10:48 <AnMaster> or something like that iirc
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:10:53 <AnMaster> anyway I don't implement MODE
21:11:08 <AnMaster> thank god for that
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:36 <AnMaster> quite a performance hit
21:11:54 <AnMaster> unless you do something crazy like allocate it in the middle of a heap block
21:12:13 <AnMaster> so basically you need a dequ
21:12:18 <AnMaster> err
21:12:21 <AnMaster> deque*
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:14:55 <MikeRiley> not really....
21:15:23 <AnMaster> MikeRiley, roll
21:15:43 <psygnisfive> oh god x_x
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:15:57 <psygnisfive> i just hurt my back T_T
21:16:03 <AnMaster> psygnisfive, ouch
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:17:07 <psygnisfive> :(
21:18:03 <AnMaster> psygnisfive, ouch
21:18:10 <AnMaster> psygnisfive, visit a doctor?
21:18:19 <psygnisfive> this has happened before
21:18:25 <psygnisfive> it goes away in a few hours
21:18:31 <AnMaster> psygnisfive, be more careful?
21:18:37 <psygnisfive> all i did was bend over! T_T
21:18:56 <AnMaster> psygnisfive, don't do that then?
21:19:06 <psygnisfive> but.. how.. what..
21:19:07 <psygnisfive> X_X
21:27:17 <AnMaster> psygnisfive, what?
21:27:38 <psygnisfive> how can i not bend over?!
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:15 <AnMaster> psygnisfive, or?
21:28:21 <MikeRiley> i will alloy my dynamic stack to grow and shrink,,,shrinking will be on the same chunk boundary....
21:28:33 <AnMaster> MikeRiley, hm why shrink?
21:28:37 <AnMaster> there is no need really
21:28:38 <MikeRiley> why not???
21:28:43 <AnMaster> and it is slower
21:28:57 <AnMaster> I already allocate in chunks
21:29:11 <AnMaster> 4096 items at a time
21:29:56 <AnMaster> assuming 32-bit Funge and x86 this mean four memory pages at a time I think
21:30:03 <AnMaster> um wait yes
21:30:32 <AnMaster> $ getconf PAGE_SIZE
21:30:33 <AnMaster> 4096
21:30:35 <AnMaster> same on x86_64
21:30:40 <MikeRiley> well,,,,i want rid of mycology's 500,000 item stack!!! ehehehehehehe
21:30:56 <AnMaster> haha
21:31:09 <AnMaster> MikeRiley, it is simple to fix
21:31:16 <AnMaster> env -i ./funge blah blah
21:31:18 <AnMaster> maybe do
21:31:24 <AnMaster> env -i TERM=$TERM ./funge blah blah
21:31:31 <AnMaster> and maybe PATH too
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:32:53 <MikeRiley> it gets perl from the path....
21:32:57 <AnMaster> ah good
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:25 <AnMaster> even though I reported it
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:57 <AnMaster> that's what it looks like
21:33:59 <Deewiant> because the spec says that they come in a row
21:34:04 <AnMaster> yes and?
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:04 <AnMaster> so...
21:36:10 <AnMaster> it doesn't handle that either
21:36:17 <Deewiant> what's it say
21:36:19 <AnMaster> Deewiant, do you think Funge-108 should fix this in some way?
21:36:26 <MikeRiley> i think it should...
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:47 <AnMaster> MikeRiley, good idea
21:36:50 <MikeRiley> instead of relying on the double null...
21:36:54 <AnMaster> agreed
21:36:54 <Deewiant> AnMaster: not if we had a reasonable k :-P
21:37:01 <AnMaster> Deewiant, eh?
21:37:06 <Deewiant> easier to write in Funge
21:37:10 <AnMaster> Deewiant, would you prefer something like:
21:37:10 <Deewiant> compare: >:#,_ to k,
21:37:17 <AnMaster> "foo bar"7
21:37:23 <AnMaster> easy yes
21:37:29 <AnMaster> but imagine long strings
21:37:33 <AnMaster> then correcting a typo
21:37:40 <AnMaster> then having to recalculate it
21:38:01 <Deewiant> oh noes, Befunge is hard to use for string manipulation!!
21:38:06 <AnMaster> har
21:38:07 <AnMaster> har
21:38:11 <Deewiant> there's STRN for that
21:38:24 <AnMaster> STRN takes 0"gnirts"
21:38:31 <MikeRiley> almost done with the TOYS module now....
21:39:11 <AnMaster> nice
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:39:53 <AnMaster> that conflicts
21:40:00 <AnMaster> and you need that char
21:40:06 <Deewiant> oh noes, Befunge is a pain!!
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:19 <MikeRiley> or use FNGR!!!! eheheheheheeheh
21:41:31 <AnMaster> MikeRiley, no, it breaks standard ;P
21:41:59 <MikeRiley> eheheheehehehe
21:42:09 <MikeRiley> should T in TOYS reflect on a bad dimension???
21:42:25 <AnMaster> MikeRiley, mine does at least
21:42:37 <AnMaster> TOYS is so vague it is hard to say what it should
21:42:45 <MikeRiley> i agree...
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:13 <AnMaster> }
21:43:15 <AnMaster> that is my T
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:21 <AnMaster> MikeRiley, indeed
21:45:23 <tusho> MikeRiley: why not N dimensions?
21:45:23 <tusho> :D
21:45:45 <AnMaster> tusho, that is hard because you need to select at execution time
21:45:51 <tusho> yes
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:48:11 <AnMaster> MikeRiley, um? x?
21:48:36 <AnMaster> x will allow that
21:49:42 <MikeRiley> yes,,,x will certainly allow for that...
21:50:02 <AnMaster> not very userfriendly for 105 dimensions though
21:50:17 <MikeRiley> ehehehehhe really!!!!
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:38 <AnMaster> newline, formfeed
21:51:46 <AnMaster> what to use for the next 115 dimensions?
21:51:49 <AnMaster> in the source file
21:51:56 <AnMaster> MikeRiley, give me a good answer to that please
21:52:52 <MikeRiley> hmmmmmmm,,,,good question....
21:53:09 <MikeRiley> maybe use another control character,,,,followed by a byte for the dimension???
21:53:29 <AnMaster> followed?
21:53:34 <AnMaster> hm yes ok
21:53:38 <AnMaster> right
21:53:48 <AnMaster> MikeRiley, vertical tab!
21:53:53 <AnMaster> no one uses that these days
21:54:25 <AnMaster> MikeRiley, anyway would changing dimension n reset all lower dimensions?
21:55:15 <MikeRiley> i would say yes....
21:55:26 <MikeRiley> just like putting lf into the file resets x and y in trefunge...
21:55:40 <MikeRiley> vt seems applicable...
21:57:13 <MikeRiley> two BADs to go and TOYS will be all done...
21:58:23 <AnMaster> MikeRiley, in what parts of TOYS?
21:58:48 <MikeRiley> BAD: 000p000W reflects
21:58:48 <MikeRiley> BAD: 000p100W reflects
21:59:10 <AnMaster> night
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:13:20 <tusho> Be afraid.
22:13:22 <tusho> Be very afraid.
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:16:53 <Corun> I doubt it
22:17:00 <Corun> Can your serifs... _swim_?
22:17:10 <Corun> Through _ink_?
22:17:10 <tusho> Swim? Pah! My serifs can /fly/.
22:17:17 <Corun> I am in space
22:17:20 <tusho> And they evaporate ink *just like that*.
22:17:34 <Corun> Surrounded by a sphere of "sans serif" ink
22:17:39 <Corun> Bring it.
22:18:19 <tusho> Corun: Bring what? My serifs are already behind you...
22:18:32 <Corun> That's odd
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:07 <Corun> YOU'RE CHEATING
22:19:12 <tusho> I can cheat all I want.
22:19:14 <tusho> And why?
22:19:16 <tusho> Because I have serifs.
22:19:17 <tusho> Fuck yeah.
22:19:20 <Corun> Then I can speak when dead :-P
22:19:25 <tusho> No.
22:19:28 <tusho> Only I can cheat.
22:19:30 <Corun> I am speaking
22:19:31 <tusho> Do you have serifs? NO.
22:19:35 <Corun> How do you know?
22:19:39 <Corun> HOW DO YOU KNOW?
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:17 <tusho> No.
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:53 <tusho> No.
22:20:55 <tusho> They'd just kill you.
22:21:18 <Corun> They also kill you
22:21:21 <Corun> For talking to me
22:21:22 <tusho> No.
22:21:23 <tusho> They love me.
22:21:26 <tusho> I'm wubbalicious.
22:21:42 <Corun> The ones I know hate you
22:21:49 <tusho> You are imagining them.
22:21:57 <Corun> O
22:21:59 <Corun> Oh
22:22:00 <Corun> Well
22:22:02 <Corun> Shit.
22:22:10 <Corun> I guess you win then
22:22:31 <tusho> How the cocky have fallen.
22:22:46 <Corun> :'-(
22:23:37 <tusho> Aww here.
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:18:56 <tusho> whoever you are
23:19:00 <tusho> 'Once upon a time it suddenly decided to flip backwards, and there went Time'
23:19:01 <tusho> tee hee
23:19:47 <tusho> wrong chan
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.
2008-07-26
00:05:01 -!- KingOfKarlsruhe has quit (Remote closed the connection).
00:34:57 -!- tusho has quit.
00:40:07 <SimonRC> ff*ky, what a thought
00:40:32 -!- RedDak has quit (Remote closed the connection).
00:50:23 * SimonRC goes to bed
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:15:48 <pikhq> (I keed, I keed)
03:16:23 <psygnisfive> ok guys i have an idea
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:17:29 <psygnisfive> but which are incredibly abstract despite
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:49 <psygnisfive> sure whatever
03:18:50 <pikhq> psygnisfive: That's a terrible example.
03:18:55 <psygnisfive> yeah i know ;)
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:24 <psygnisfive> its built in, but its not primitive
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:19:59 <pikhq> Ah.
03:20:03 <psygnisfive> in old school lisp, for instance, the primitive operations were like
03:20:16 <psygnisfive> eq, atom, list, cons, car, cdr, and cond
03:20:19 <psygnisfive> oh and quote
03:20:25 <psygnisfive> or something along those lines
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:22:13 <psygnisfive> :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:25:49 <pikhq> AHAH!
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:38 <psygnisfive> well i was really thinking more like
03:26:43 <pikhq> On matrixes?
03:26:47 <psygnisfive> array programming languages have array operations as primitives, right
03:26:56 <ihope> pikhq: sure.
03:27:00 <ihope> Yes. >:-)
03:27:04 <pikhq> >:D
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:28:31 <psygnisfive> what would Language X look like
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:00 <psygnisfive> uh
03:32:13 <psygnisfive> pikhq: http://en.wikipedia.org/wiki/Array_programming
03:33:13 <pikhq> Ah.
03:33:22 <psygnisfive> thanks for playing.
03:33:22 <psygnisfive> :P
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:41 <psygnisfive> YOU SIR ARE A DISGRACE
03:33:41 <psygnisfive> :P
03:33:43 <pikhq> Not array operations.
03:33:57 <psygnisfive> omg omg omg hey so i make my own tee-shirts
03:34:04 <psygnisfive> lets come up with eso teeshirts
03:34:06 <psygnisfive> :o
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:33 <pikhq> s/array/vector/
03:35:40 <pikhq> Damn you...
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:36:41 <psygnisfive> EVIL?
03:36:43 <psygnisfive> ..
03:36:44 <psygnisfive> EBIL*
03:37:04 -!- ihope has quit (Read error: 104 (Connection reset by peer)).
03:38:00 <pikhq> Yes.
03:38:17 <pikhq> You know, ones that require n-dimensional thought.
03:38:55 <psygnisfive> no i dont know
03:41:16 <pikhq> DIMENSIFUCK.
03:41:19 <pikhq> :D
03:43:18 <psygnisfive> ?
03:43:30 -!- ihope has joined.
03:43:32 <ihope> Firefox got a migraine.
03:43:46 <psygnisfive> whats firefox have to do with this?
03:45:36 <ihope> I don't know, but soon after the backwards typing it froze up and I had to restart it.
03:45:54 <psygnisfive> but why does that affect your irc???
03:46:03 <ihope> Um, no reason.
03:46:07 * ihope whistles innocently
03:46:11 <pikhq> Chatzilla?
03:46:15 <pikhq> You bastard!
03:46:18 <pikhq> Use XULrunner!
03:46:21 <psygnisfive> oh. thats lame.
03:46:29 <pikhq> There is no browser, there is only XUL.
03:47:22 <ihope> Using sed | nc | sed would be fun.
03:48:03 <pikhq> Brilliant.
03:48:22 <psygnisfive> so cmon!
03:48:31 <psygnisfive> i want to make #esoteric teeshirts
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:52:53 <psygnisfive> like
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:54:05 <psygnisfive> get it?
03:54:08 <psygnisfive> they're sin tacks..
03:54:10 <psygnisfive> syntax
03:54:10 <psygnisfive> :D
03:54:45 <psygnisfive> im doing another one thats a log cabin
03:54:49 <psygnisfive> "tree structure"
03:54:51 <psygnisfive> :B
03:55:29 <pikhq> How would you feel about sticking Var'aq on a shirt?
03:55:37 <psygnisfive> whats it look like
03:56:43 <pikhq> Klingon.
03:56:49 <pikhq> No, seriously.
03:57:00 <psygnisfive> why would we put that on a tee-shirt
03:57:02 <psygnisfive> that would be silly
03:57:23 <pikhq> It's a programming language.
03:57:29 <pikhq> All the keywords are in Klingon.
03:57:32 <psygnisfive> yes so?
03:57:44 <pikhq> It's twice-esoteric.
03:57:51 <psygnisfive> but its not FUNNY
03:57:59 <pikhq> Oh, you want *funny*?
03:58:13 <psygnisfive> it has to be interesting and humorous
03:58:18 <psygnisfive> witty
03:58:19 <psygnisfive> ironic
03:58:20 <psygnisfive> something
03:58:41 <pikhq> "Esoteric languages: because the levels of hell deserve it."
03:59:03 <psygnisfive> *snore*
04:01:45 <pikhq> "Brainfuck? I hardly even know you!"]
04:02:22 <psygnisfive> also lame
04:03:27 <psygnisfive> im thinking a haskell one that mocks IO as being a useless complication. :T
04:03:58 <pikhq> Tempting.
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:12:56 <psygnisfive> OH GOD
04:12:59 <psygnisfive> THATS GENIUS
04:13:00 <pikhq> Hrm. How many people here have websites in Dmoz?
04:13:06 <pikhq> psygnisfive: What?
04:13:23 <psygnisfive> a tree made up of bits
04:13:28 <psygnisfive> a binary tree!
04:13:36 <pikhq> LMAO
04:14:02 <psygnisfive> who wants one? :O
04:14:24 * ihope frowns, as a binary tree is not made up of bits
04:14:37 <psygnisfive> ihope, you're lame.
04:14:59 * ihope frowns, as he's lame
04:15:06 <ihope> Wait, what?
04:15:13 <psygnisfive> its a pun
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:04 <psygnisfive> i love silly puns
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:28:54 <psygnisfive> i think thats wrong. :P
04:29:04 <psygnisfive> would it have to be like
04:29:57 <psygnisfive> blah: /.+red|red.+|.*[^r]ed.*| ....
04:30:10 <psygnisfive> or something
04:30:24 <psygnisfive> why isnt there some way of grouping
04:30:43 <ihope> Isn't there?
04:30:46 <psygnisfive> i dont know.
04:30:48 <psygnisfive> anyway
04:30:53 <ihope> What's wrong with mine?
04:30:58 <psygnisfive> its wrong. :P
04:31:07 * ihope hits psygnisfive
04:31:33 <ihope> It's right.
04:31:38 <psygnisfive> maybe. :D
04:31:53 <psygnisfive> no you're right, it is
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:20 <pikhq> (Please?)
04:41:28 <psygnisfive> oh.
04:41:29 <psygnisfive> i know
04:41:48 <psygnisfive> dont even bother
04:41:57 <psygnisfive> just have a function that returns an object that behaves exactly like a regexp
04:42:03 <psygnisfive> same methods, etc
04:42:11 <psygnisfive> only it behaves like the complement
04:42:39 <psygnisfive> or if regexp's arent objects just data
04:42:54 <psygnisfive> then have a wrapper
04:43:01 <psygnisfive> i mean figure
04:43:07 <psygnisfive> if this is how you test a regexp:
04:43:21 <psygnisfive> test( expression, string )
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:36 <psygnisfive> is the same as
04:43:42 <psygnisfive> !test( expression, string )
04:43:42 <pikhq> ihope: I hate you.
04:43:43 <pikhq> ]
04:43:48 <pikhq> And all regexp fans.
04:43:49 <pikhq> :p
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:03 <pikhq> if.
04:46:08 <pikhq> BWAHAHAAH!
04:46:11 <psygnisfive> what?
04:46:32 <ihope> "if"?
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:53:26 <psygnisfive> what?
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:42 <pikhq> 'Trivial'.
05:03:48 <psygnisfive> pœnis!
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:08 <psygnisfive> and flip the accept/reject states
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:02:14 <psygnisfive> er, the complement expression
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:21:51 <psygnisfive> using the matches-anywhere semantics
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:02 <psygnisfive> and then complement that
08:25:11 <psygnisfive> not to match a substring
08:25:16 <fizzie> Yes, it certainly sounds a lot more useful.
08:25:27 <psygnisfive> night.
08:25:33 <fizzie> Morning.
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:36 <AnMaster> hrrm
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:26:00 <AnMaster> the spec forbids it
09:26:05 <AnMaster> bbiab
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:47:50 <AnMaster> Deewiant, no that is easy
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:22 <AnMaster> errr...?
09:59:36 <AnMaster> foo 0 0 0 0
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:14 <AnMaster> correct
10:01:16 <Deewiant> "foo", null is two zeroes, end of args makes it four
10:01:16 <AnMaster> so are env
10:01:21 <Deewiant> no
10:01:24 <Deewiant> env is terminated by a single null
10:01:58 <AnMaster> no....
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:08 <Deewiant> yes, exactly...
10:02:11 <AnMaster> that will be double null at the end
10:02:11 <Deewiant> "an additional null", not two
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:22 <AnMaster> hm
10:02:27 <AnMaster> that must be a typo?
10:02:30 <Deewiant> I do not care
10:02:33 <Deewiant> that's what it says
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:24 <AnMaster> heh
10:03:43 <AnMaster> Deewiant, it is weekend now
10:03:48 <Deewiant> yes, quite
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:08 <AnMaster> hah
10:04:09 <Deewiant> what's the k consensus
10:04:15 <Deewiant> everything in mycology is correct except for the 3k4?
10:04:21 <AnMaster> no
10:04:27 <AnMaster> Deewiant, you use k in some other places
10:04:33 <AnMaster> you need to check them
10:04:44 <Deewiant> s/everything/every place where k is checked/
10:04:47 <Deewiant> ?
10:04:58 <AnMaster> BAD: 0y pushes wrong stack stack size
10:05:04 <AnMaster> that one must use k
10:05:09 <Deewiant> yes yes, whatever
10:05:22 <AnMaster> Deewiant, also I suspect BAD: "a b" takes more than 5 ticks
10:05:23 <AnMaster> uses k
10:05:25 <Deewiant> but all the k tests that currently show GOOD for CCBI, except for 3k4, are correct
10:05:28 <Deewiant> or?!
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:11 <AnMaster> with Funge-98 style k:
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:15 <Deewiant> GOOD: 0k^ doesn't execute ^
10:06:15 <Deewiant> GOOD: 1k[ turns left from k
10:06:15 <Deewiant> [UNDEF: k executing space]
10:06:15 <Deewiant> GOOD: 2k# jumps twice from k
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:22 <Deewiant> the question is
10:06:25 <Deewiant> are all of those correct
10:06:28 <Deewiant> with the exception of the last
10:06:30 <Deewiant> AnMaster: ??
10:06:37 <AnMaster> Deewiant, um.... good question
10:06:41 <AnMaster> ak47k$
10:06:46 <AnMaster> that one should be wrong I guess?
10:06:49 <Deewiant> 4 and 7 cancel each other out
10:06:53 <Deewiant> er
10:06:53 <AnMaster> ah
10:06:54 <Deewiant> a and 7
10:07:01 <Deewiant> so it does 11 pushes and 8pops
10:07:04 <Deewiant> instead of 10 and 7
10:07:15 <Deewiant> that's why I added the 3k4 test originally :-P
10:07:35 <AnMaster> GOOD: 2k# jumps twice from k
10:07:41 <AnMaster> that...
10:07:42 <AnMaster> um
10:07:44 <AnMaster> not sure :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 <Deewiant> and said it was correct
10:08:20 <AnMaster> GOOD: 3k< takes two ticks
10:08:20 <AnMaster> BAD: "a b" takes more than 5 ticks
10:08:20 <AnMaster> aha
10:08:23 <AnMaster> that explains the tick issue
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:09:15 <AnMaster> so I'd blame that on CCBI
10:09:17 <AnMaster> err
10:09:19 <AnMaster> on mycology
10:15:34 <AnMaster> Deewiant, right?
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:31 <AnMaster> >"celfer y :DAB"82*k,@
10:19:53 <AnMaster> on line 112:
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:20:33 <AnMaster> >"mialc y1 :DAB"6a*1-k,
10:20:36 <Deewiant> not easy
10:20:42 <AnMaster> wait...?
10:20:45 <AnMaster> hm
10:21:03 <AnMaster> @,k+2f"BAD: 1y reflects"a<
10:21:13 <AnMaster> there is two sapces on line 113
10:21:16 <AnMaster> that you can use
10:21:23 <Deewiant> well that's an addition anyway
10:21:26 <Deewiant> so it doesn't matter
10:21:29 <Deewiant> just change 2 to 1
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:22:12 <AnMaster> sure
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:40 <AnMaster> Deewiant, um a question...
10:28:50 <AnMaster> how many spaces are you talking about?
10:29:01 <AnMaster> they differ between the two texts
10:29:02 <Deewiant> ?
10:29:06 <Deewiant> yes...
10:29:12 <AnMaster> is it intentional?
10:29:20 <Deewiant> because the first says that the code assumes that one space works correctly
10:29:27 <AnMaster> ah right
10:29:28 <AnMaster> true
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:31:46 <Deewiant> I don't know!!
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:36 <AnMaster> botte?
11:10:53 <tusho> AnMaster: ESO's (ostensibly, but really I'm the one doing it) bot for #esoteric
11:11:05 <AnMaster> ah
11:11:15 <AnMaster> tusho, you forgot to join #eso btw
11:11:18 <AnMaster> and where the heck is ais
11:11:25 <tusho> ais comes at 3pm
11:11:28 <tusho> its 11
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:41 <tusho> http://ellio.tt/
11:13:50 <tusho> i'm not lame enough, though
11:36:48 -!- ais523 has joined.
11:36:54 <tusho> hi ais523
11:37:04 <tusho> AWESOMA POWA
11:37:16 <ais523> hi tusho
11:37:18 <ais523> you're early...
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:10 <tusho> :)
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:29 <AnMaster> ais523 hehe
11:40:47 <ais523> unfortunately I forgot it was Saturday
11:40:55 <AnMaster> ais523, so it opened later?
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:41:04 <ais523> AnMaster: yes
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:01 <tusho> :p
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:10 <tusho> as we speak
11:55:35 <ais523> ok
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:06 <tusho> oh?
11:56:08 <tusho> hah
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 <tusho> yes
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:30 <tusho> and after a point
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:19 <tusho> Meanhwile,
11:58:20 <tusho> set :haml, {:output => :html5, :escape_html => true, :attr_wrapper => '"'}
11:58:22 <tusho> is being ignored
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:52 <tusho> yes
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:20 <tusho> but
12:07:23 <tusho> ruby -rubygems
12:07:26 <AnMaster> <ais523> basically, there's a protocol which all versioning systems use
12:07:27 <AnMaster> um
12:07:31 <AnMaster> doesn't really work
12:07:34 <tusho> how can it add a commandline parameter to ruby?
12:07:36 <tusho> well
12:07:38 <tusho> -r means 'require'
12:07:39 <tusho> that dos
12:07:41 <tusho> *does
12:07:43 <tusho> require "ubygems"
12:07:48 <tusho> ubygems.rb is just require "rubygems"
12:07:50 <tusho> :DDDD
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> mysql> help analyse
12:09:08 <ais523> Name: 'PROCEDURE ANALYSE'
12:09:14 <ais523> mysql> help analyze
12:09:14 <ais523> Name: 'ANALYZE TABLE'
12:09:22 <tusho> hee hee
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:21 <ais523> not exactly
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:11:56 <AnMaster> <tusho> :DDDD
12:11:56 <AnMaster> um
12:11:59 <AnMaster> that's insane :P
12:12:07 <tusho> AnMaster: doesn't hurt anyone, does it :P
12:12:11 <AnMaster> just to make -rubygems work?
12:12:12 <AnMaster> instead of
12:12:14 <tusho> yes
12:12:17 <AnMaster> -rrubygems
12:12:17 <tusho> instead of -rrubygems
12:12:20 <AnMaster> well..
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:35 <tusho> i mean
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:51 <AnMaster> that is really -m an
12:12:54 <AnMaster> and -m andoc
12:12:54 <tusho> although mostly they're migrating to github
12:12:56 <AnMaster> tusho, ^
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:12 <tusho> ais523: wow
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:15 <AnMaster> eh?
12:13:17 <tusho> AnMaster: heh
12:13:21 <AnMaster> ais523, what is libiberty?
12:13:22 <tusho> and
12:13:24 <tusho> -liberty
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:29 <AnMaster> oh yes
12:13:31 <tusho> gcc uses it
12:13:39 <AnMaster> ais523, I seen a libost once, so you had -lost on command line
12:13:42 <AnMaster> :P
12:13:48 <tusho> AnMaster: I was gonna make an irc lib in c once
12:13:49 <AnMaster> forgot what it was for
12:13:50 <tusho> liburk
12:13:51 <ais523> the trick was that everything started with D
12:13:54 <AnMaster> tusho, haha
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:11 <AnMaster> know why?
12:14:16 <ais523> or cpp prog.c -Drop -Dwarf -Down -Drain
12:14:20 <AnMaster> ost is Swedish for cheese
12:14:21 <AnMaster> :D
12:14:24 <tusho> liboser
12:14:32 <tusho> pronounced 'lib oh ser'
12:14:37 <AnMaster> ais523, hehe
12:14:41 <ais523> hmm... libink.a for a FFI?
12:14:47 <AnMaster> ais523, :P
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:16:39 <AnMaster> .\" an.tmac
12:16:40 <AnMaster> .\"
12:16:40 <AnMaster> .do mso andoc.tmac
12:16:43 <AnMaster> from one of the an ones
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:25 <AnMaster> which maps to doc
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:50 <ais523> ▼▾
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:18:09 <tusho> ah
12:18:15 <ais523> ▲▴
12:18:25 <AnMaster> ais523, what about sideways?
12:18:36 <ais523> ▶▸◀◂
12:18:39 <AnMaster> nice
12:18:43 <AnMaster> ais523, diagonal?
12:18:48 <ais523> also ►◄
12:19:08 <ais523> ◢ ◣ ◤ ◥ is the nearest I can get
12:19:14 <AnMaster> hah
12:19:16 <ais523> but they're right-angled not equilateral
12:19:32 <tusho> I'll stick with &uarr; and &darr; 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:00 <AnMaster> equilateral?
12:20:01 <ais523> an equilateral angle has all three angles at 60 degrees
12:20:04 <AnMaster> ah
12:20:06 <ais523> s/angle/triangle/
12:20:17 <AnMaster> so all edges are equally long too then?
12:20:20 <ais523> yes
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:20:54 <AnMaster> literally :P
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:33 <ais523> s/commadns/commands/
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:04 <AnMaster> ais523, yes and?
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:40 <AnMaster> right
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:00 <ais523> oh, and NOP
12:27:08 <ais523> basically, each shove command points to a square
12:27:10 <AnMaster> what does the shove ones do?
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:46 <AnMaster> is it turing complete?
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:28:16 <AnMaster> hm
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:48 <Deewiant> but "type" isn't it
13:08:52 <Deewiant> s/ it//
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:18:42 <AnMaster> ais523, um....
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:39 <ais523> oh, of course
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:32 <AnMaster> ais523, the latter
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:12 <tusho> yeah
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:12 <AnMaster> tusho, "sl"?
13:25:18 <tusho> AnMaster: common typo of ls
13:25:23 <AnMaster> har har
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:43 <AnMaster> nor do I
13:25:46 <ais523> otoh I often type la by mistake and even more often type l by mistake
13:25:52 <AnMaster> more common is ls -> ld
13:25:53 <tusho> alias l=ls -l
13:25:54 <ais523> as in, l return s rather than ls return
13:25:54 <tusho> duh
13:25:54 <tusho> :)
13:25:57 <AnMaster> ais523, ^
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:22 <AnMaster> ais523, indeed it does
13:26:25 <ais523> I thought la would too but apparently it doesn't
13:26:43 <ais523> load a library, possibly
13:26:43 <AnMaster> that would be libtool ;P
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:24 <oklofok> deja vu
13:27:26 <AnMaster> ais523, help enable
13:27:28 <AnMaster> in bash
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:27:57 <AnMaster> um
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:25 <AnMaster> ais523, ?
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:55 <AnMaster> that was even more silly
13:29:57 -!- Comtech2 has left (?).
13:29:59 <AnMaster> ais523, :P
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:13 <AnMaster> ais523, wasn't me though
13:30:17 <ais523> just the Windows kernel
13:30:25 <AnMaster> ais523, well it is "beside" it
13:30:29 <AnMaster> but act more like "under" it
13:30:50 <ais523> what is colinux for, btw?
13:31:17 <AnMaster> well I thought you knew?
13:31:23 <ais523> I know what it does
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:33:57 <AnMaster> um what?
13:33:57 <AnMaster> no
13:34:10 <AnMaster> ais523, it lets you run linux apps at decent speed under windows
13:34:17 <AnMaster> not 3D and such
13:34:22 <ais523> much the same as kqemu does?
13:34:23 <AnMaster> but good speed
13:34:27 <AnMaster> almost native speed
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:04 <AnMaster> rather dynamically
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:35:59 <AnMaster> in the config file
13:36:00 <AnMaster> or whatever
13:36:02 <ais523> ah, yes
13:36:10 <AnMaster> but cpu resource shouldn't be
13:36:23 <AnMaster> ais523, at least back when I last used colinux it used and xml file for config
13:36:31 <AnMaster> this was back in 2005 or so
13:36:55 <AnMaster> so stuff may have changed
13:37:03 <MikeRiley> AnMaster: down to 1 bad in Rc/Funge-98.....and did do something about the fingerprints...
13:37:10 <AnMaster> MikeRiley, nice!
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:37:50 <AnMaster> MikeRiley, 32-bit?
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:10 <MikeRiley> no comand line switch needed...
13:38:13 <MikeRiley> 32-bit...
13:38:23 <AnMaster> MikeRiley, ah ok
13:38:29 <AnMaster> nice!
13:38:36 <AnMaster> MikeRiley, what about the other parts?
13:38:39 <AnMaster> mycoinput
13:38:42 <AnMaster> and mycotrds
13:38:53 <AnMaster> they are separate scripts iirc
13:38:56 <AnMaster> err
13:38:57 <MikeRiley> mycotrds fails,,,,but my TRDS implementation is incomplete...
13:38:57 <AnMaster> programs
13:39:05 <MikeRiley> mycoterm and mycouser run fine...
13:39:05 <ais523> MikeRiley: what about IFFI?
13:39:11 <MikeRiley> IFFI???
13:39:19 <AnMaster> ais523, IFFI is only sane in C-INTERCAL
13:39:19 <ais523> 'tis my fingerprint
13:39:21 <AnMaster> :P
13:39:26 <ais523> which does an FFI to INTERCAL
13:39:27 <MikeRiley> oh...eheheheheeheh
13:39:28 <ais523> via linkage
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:04 <MikeRiley> i bet it would...
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:40:41 <AnMaster> IFFI I mean
13:41:20 <AnMaster> MikeRiley, your SOCK doesn't do IPV6
13:41:27 <MikeRiley> no it does not...
13:41:30 <AnMaster> maybe you should create a SCK6 for ipv6? :)
13:41:39 <MikeRiley> written before IPV6 existed...
13:41:43 <AnMaster> ah yes
13:41:47 <MikeRiley> that is a good idea...
13:41:54 <AnMaster> MikeRiley, also what about SCKE?
13:41:57 <Deewiant> aaah
13:41:59 <AnMaster> iirc that is from GL/Funge
13:42:02 <AnMaster> Deewiant, what?
13:42:03 <Deewiant> fixing k breaks mycotrds
13:42:03 <MikeRiley> have not looked at that yet...
13:42:15 <AnMaster> Deewiant, ahahaha fun to fix!
13:42:22 <Deewiant> :-(((
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:42:54 <AnMaster> for ever touching TRDS
13:42:57 <AnMaster> hehehe
13:43:00 <MikeRiley> eheeheheheheheh
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:31 <AnMaster> something I won't do
13:43:36 <Deewiant> it probably doesn't work
13:43:38 <ais523> 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:42 <MikeRiley> why not???
13:43:44 <Deewiant> and coded it really quickly
13:43:52 <AnMaster> ais523, fingerprints as funge-code
13:43:57 <ais523> ah
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:31 <AnMaster> it got more features
13:44:47 <AnMaster> like allowing loading fingerprints inside the ghost IP's funge space
13:44:52 <AnMaster> and stack-stacks in there
13:45:05 <AnMaster> oh ip quit/create notification
13:45:08 <AnMaster> using:
13:45:09 <AnMaster> =@
13:45:10 <AnMaster> and
13:45:12 <AnMaster> =t
13:45:21 <AnMaster> much nicer IMO
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:00 <AnMaster> ais523, eh wait?
13:46:03 <ais523> with a stack of stack-stacks, for the main program and each executing fingerprint?
13:46:09 <AnMaster> err
13:46:12 <AnMaster> ais523, no
13:46:19 <AnMaster> stack-stack is copied on entry to the ghost iirc
13:46:24 <AnMaster> from the haunted ip
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:31 <AnMaster> not sure
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:48:33 <AnMaster> appendix C
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:01 * AnMaster ponders properly typeset IRC
13:52:03 <AnMaster> heh
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:49 <tusho> Yes—but
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:06 <MikeRiley> yeah,,,sorry about that!!!!
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:46 <AnMaster> ais523, well nor on cfunge
13:56:47 <AnMaster> -V
13:56:47 <ais523> I want to add a version command
13:56:50 <AnMaster> on cfunge
13:56:54 <AnMaster> as I use getopt
13:56:57 <ais523> but haven't thought of a sufficiently twisted way to do it yet
13:56:58 <AnMaster> not getopt_long
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:20 <MikeRiley> i have version in mine as -v....
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:06 <AnMaster> I got -h
13:58:07 <AnMaster> for help
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:27 <ais523> s/info/input/
13:58:29 <AnMaster> ais523, hehe
13:58:34 <AnMaster> -@ is just silly
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:11 <AnMaster> MikeRiley, ^
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:49 <AnMaster> consider how input is done
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:27 <AnMaster> MikeRiley, yes indeed
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:41 <AnMaster> that could be fun
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:21 <ais523> oh dear
14:03:26 <ais523> well, I only need the install to work
14:03:31 <AnMaster> ais523, heh?
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:44 <AnMaster> that won't work
14:03:53 <ais523> and my Windows computer is almost a two-hour walk from my internet connection
14:03:59 <AnMaster> ais523, to finish off stuff
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:39 <AnMaster> ais523, you can't just move
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:48 <AnMaster> ...
14:04:50 <AnMaster> and such
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:04:58 <ais523> but as a regular user
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:03 <tusho> wb ais523_
14:14:21 <ais523_> sorry...
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:31 <ais523> AnMaster: how?
14:32:44 <AnMaster> in registry
14:32:51 <AnMaster> iirc it does
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:33:44 <AnMaster> or cygwin services won't work
14:33:52 <AnMaster> sshd under cygwin does work
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:16:41 <AnMaster> hope he gets back
15:16:43 <AnMaster> now
15:18:05 <tusho> wow
15:18:07 <tusho> w.tf is registered
15:18:09 <tusho> http://w.tf/
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:26 <Deewiant> I did fix mycology...
16:09:39 <Deewiant> but "Mycology" is the whole thing
16:09:41 <MikeRiley> and posted??
16:09:46 <Deewiant> I'm not going to release only mycology.b98
16:09:56 <MikeRiley> can i get a copy at least??
16:10:06 <Deewiant> if you can fix mycotrds.b98 :-P
16:10:20 <MikeRiley> eheheheeh
16:13:05 <AnMaster> hey
16:13:06 <AnMaster> http://bzr.kuonet.org/
16:13:10 <AnMaster> to everyone that complained before
16:13:13 <AnMaster> Deewiant, and MikeRiley ^
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:56:46 <tusho> Back
16:57:00 <AnMaster> tusho, you complained about browsing before!
16:57:04 <AnMaster> issue solved
16:57:07 <AnMaster> http://bzr.kuonet.org/
16:57:26 <tusho> thanks
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:10 <Deewiant> wow
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:27 <Deewiant> my optimizations :-)
17:29:35 <Deewiant> if (i == '$') ...
17:29:39 <AnMaster> Deewiant, do like me then, don't overoptimize
17:29:42 <Deewiant> was returning too early
17:29:50 <Deewiant> naw, it was just a silly mistake
17:29:58 <AnMaster> very funny :P
17:30:15 <AnMaster> tusho, +v in #eso please :D
17:34:57 -!- Sgeo has joined.
17:36:23 <AnMaster> Deewiant, got the updated mycology anywhere?
17:36:30 <Deewiant> not just yet
17:36:38 <Deewiant> am writing changelog and such
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:11 <AnMaster> actually, exactly one tick
17:37:15 <Deewiant> AnMaster: it was before I had moved the IP back to the k after getting the operand
17:37:22 <AnMaster> aha
17:48:02 <AnMaster> tusho, you will love this
17:48:04 <AnMaster> bzr-git
17:48:06 <AnMaster> <jelmer> now working on supporting "bzr branch <git-url>"
17:48:13 <tusho> ugh.
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:32 <tusho> very lossy
17:48:37 <AnMaster> tusho, there is already bzr-svn
17:48:42 <tusho> yes
17:48:45 <tusho> that works OK
17:48:45 <AnMaster> works fairly well I heard
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:09 <AnMaster> ah ye
17:50:11 <AnMaster> yes*
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:51 <tusho> except less so
17:50:55 <tusho> the concepts mesh a bit more
17:50:55 <AnMaster> lament, ah? what ones did you use before?
17:51:01 <lament> nothing really
17:51:03 <lament> some TFS
17:51:06 <AnMaster> TFS?
17:51:09 <AnMaster> what is that?
17:51:09 <lament> microsoft's thing
17:51:13 <AnMaster> ugh
17:51:14 <lament> it's really bad
17:51:15 <tusho> lament: git man ;)
17:51:18 <tusho> (man git)
17:51:24 <AnMaster> lament, bzr!
17:51:29 <lament> what's wrong with svn?
17:51:31 <AnMaster> or mercurial
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:13 <AnMaster> officially
17:52:15 <Deewiant> AnMaster: new Mycology/CCBI up
17:52:15 <AnMaster> :P
17:52:17 <tusho> and then, push to the other one
17:52:21 <lament> tusho: okay
17:52:24 <tusho> that is, your 'checkout' is in fact a complete repo
17:52:26 <lament> so how is it better?
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:33 <AnMaster> Deewiant, url? I forgot
17:52:40 <tusho> lament: 1. faster speed (all local)
17:52:41 <Deewiant> iki.fi/deewiant
17:52:43 <Deewiant> AnMaster: bookmark it :-P
17:52:44 <tusho> 2. as many commits as you want
17:52:45 <AnMaster> thanks
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:06 <lament> mm
17:53:10 <tusho> 5. great merging
17:53:11 <Deewiant> tusho: 2?
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:39 <Deewiant> news to me :-)
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:46 <Deewiant> ah, right
17:53:54 <tusho> DVCS' fix it by making it local to you until you push
17:53:55 <lament> hm
17:53:56 <Deewiant> makes sense
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:07 <AnMaster> Deewiant, um wait
17:54:10 <lament> tusho: but then your actual commit (push) will be a Big Commit
17:54:17 <AnMaster> Deewiant, what is that about?
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:29 <tusho> lament: well duh
17:54:30 <tusho> but the point is
17:54:34 <tusho> your commits are still small and modular
17:54:35 <tusho> in the revision history
17:54:40 <lament> oh, i see
17:54:42 <Deewiant> AnMaster: a bug in cfunge? :-P
17:54:46 <lament> yeah, sounds nice
17:54:53 <lament> i'm definitely stuck with SVN, though
17:54:58 <tusho> yeah, I can imagine
17:54:59 <AnMaster> most likely
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:38 <lament> makes sense
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:09 <tusho> yeah
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:26 <AnMaster> shouldn't it?
17:56:30 <Deewiant> no...
17:56:32 <Deewiant> 5
17:56:32 <Deewiant> k
17:56:32 <Deewiant> z
17:56:35 <Deewiant> 3 ticks
17:56:37 <Deewiant> :-P
17:56:45 <AnMaster> Deewiant, + the tick when it executes z another time
17:56:51 <Deewiant> yeah, that's the third tick
17:56:53 <Deewiant> the k takes one tick
17:56:55 <AnMaster> ah right
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:24 <lament> just a nice UI
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:42 <lament> for merges
17:57:45 <AnMaster> Deewiant, and... BAD: "a b" takes more than 5 ticks
17:57:47 <AnMaster> I fixed that bug
17:57:53 <AnMaster> Deewiant, so that must be off
17:57:54 <tusho> lament: try FileMerge.app
17:57:56 <tusho> (you'll have it)
17:57:57 <MikeRiley> super!!! will go and grab them....
17:57:58 <tusho> open -a FileMerge
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:17 <lament> tusho: ooh
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:16 <tusho> and bzr:
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:05 <Deewiant> because it's just too slow
18:00:09 <Deewiant> and buggy :-P
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:41 <MikeRiley> running new mycology now....
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:00:59 <Deewiant> AnMaster: then find the cause
18:01:09 <tusho> I'd say git and hg are Good Choices
18:01:12 <MikeRiley> no BAD:s!!!!!!!!!
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:35 <AnMaster> why the heck do I get that
18:01:36 <AnMaster> Deewiant, ?
18:01:41 <MikeRiley> i doubt that will work,,,but will try and see...
18:01:41 <Deewiant> from what
18:01:44 <AnMaster> it is not due to CRLF, it is something else
18:01:46 <AnMaster> Deewiant, from kate....
18:01:52 <Deewiant> ah, right
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:06 <AnMaster> sorry
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:36 <AnMaster> it can only view it
18:02:38 <tusho> AnMaster: you could...
18:02:38 <MikeRiley> but i did not expect it to work...
18:02:39 <tusho> use...
18:02:40 <Deewiant> so your text editor sucks
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:09 <Deewiant> my very first TRDS test
18:03:10 <Deewiant> I was all giddy
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:18 <Deewiant> there are always exactly two
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:32 <Deewiant> AnMaster: varies
18:05:38 <tusho> it doesn't support one of their most important parts
18:05:38 <tusho> :P
18:05:42 <Deewiant> tusho: is it at the top?
18:05:44 <AnMaster> Deewiant, at 5kz
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:05 <AnMaster> nor zk5
18:07:12 <Deewiant> it's zkp I think
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:07:48 <Deewiant> and people were all confused
18:07:54 <AnMaster> Deewiant, how so?
18:07:55 <Deewiant> when actually it was <k3
18:07:59 <Deewiant> but how would I output that
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:27 <Deewiant> would you rather it was
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:08:57 <Deewiant> and hence, 5kz
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:15:32 <psygnisfive> what?
18:16:09 <psygnisfive> ihope: instead of generating a new regexp that has a complementary pattern
18:16:25 <psygnisfive> just take the automata for the "Positive"
18:16:34 <psygnisfive> and swap the accept/reject states
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:38 <psygnisfive> ok ihope, fine
18:17:53 <psygnisfive> then just wrap the positive automata in a logical not. :P
18:18:09 <ihope> :-)
18:18:21 <psygnisfive> but either way i think it'd be cleaner than building a custom complement expression
18:18:24 <psygnisfive> i mean
18:18:45 <psygnisfive> the regexp for /|[^r].*|.../ as a complement to /red/
18:19:06 <psygnisfive> and the automata that goes with it
18:19:25 <ihope> /~(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:40 <tusho> ihope: /(?!red)/
18:19:42 <ihope> The complement of /red/ using a complement operator.
18:19:44 <tusho> works in ruby.
18:19:55 <psygnisfive> listen now, thats not the point
18:20:08 <psygnisfive> and ruby probably swaps states :p
18:20:46 <psygnisfive> swapping states is easy, look
18:20:59 <psygnisfive> given your FA state sets
18:21:15 <psygnisfive> Q and F being your total states and final states, respectively
18:21:28 <psygnisfive> then swapping just means F' = Q-F
18:21:44 -!- lilja has joined.
18:22:18 <tusho> 18:21BigJibby:
18:22:19 <tusho> ,def codex
18:22:19 <tusho> 18:21wpbot:
18:22:19 <tusho> codex is at http://codex.wordpress.org and can be searched by error_bot using |codex <search terms>
18:22:19 <tusho> 18:21JibbyBot:
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:23:58 <AnMaster> as in the wrong cell
18:24:19 <AnMaster> inside the ><
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:44:47 <Deewiant> AnMaster: ccbi has a debugger
18:46:26 <AnMaster> Deewiant, yes but I need trace, output of current instruction and thread id
18:46:30 <AnMaster> to be able to track it down
18:47:14 <AnMaster> Deewiant, well don't expect anything before next weekend then
18:47:18 <Deewiant> no, you need no such thing
18:47:25 <Deewiant> just set a breakpoint at where the >< starts
18:47:36 <tusho> Deewiant: back from the sauna already?
18:47:44 <Deewiant> yeah
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:01 <tusho> Deewiant: 5 years
18:48:01 <tusho> duh
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:48:57 <AnMaster> really?
18:49:05 <Deewiant> er
18:49:07 <Deewiant> in cfunge, I meant
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:49:51 <Deewiant> hmm, what comes before that
18:50:02 <MikeRiley> here is more of the output:
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> UNDEF: S pushed 8
18:50:16 <MikeRiley> GOOD: converted 127.0.0.1 for C with I
18:50:17 <MikeRiley> UNDEF: I pushed 16777343
18:50:19 <MikeRiley> GOOD: connected to local port 51959 with C
18:50:21 <MikeRiley> GOOD: accepted connection with A
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:30 <Deewiant> hmm
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:11 <tusho> .
18:54:13 <MikeRiley> the original would stay in a loop accepting additional connections...
18:54:13 <Deewiant> okay then
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:50 <tusho> god damnit
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:15 <tusho> i wish
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.
18:57:03 <psygnisfive> anyone? anyone?
19:02:23 <AnMaster> Deewiant, of course accept() doesn't destroy original socket!
19:02:28 <AnMaster> at least not on POSIX
19:19:54 <Deewiant> MikeRiley: fixed that now (I hope)
19:20:43 <MikeRiley> is it posted??
19:20:47 <Deewiant> yep
19:20:51 <MikeRiley> will go and get it...
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:22:29 <MikeRiley> looks good!!!! :)
19:22:41 <Deewiant> all GOOD now? ;-)
19:22:46 <MikeRiley> all good!!!!
19:22:51 <Deewiant> great :-)
19:23:07 <MikeRiley> well,,,we both got to get some bugs fixed from that whole process!!! eheheheheeheh
19:25:11 <Deewiant> yep, so it goes :-)
19:25:20 <Deewiant> AnMaster was even better in that regard ;-)
19:25:27 <AnMaster> Deewiant, ?
19:25:34 <Deewiant> bug finding
19:25:38 <AnMaster> yes right
19:25:52 <AnMaster> Deewiant, I will look into concurrency bug more next weekend
19:25:54 <AnMaster> no time before that
19:26:00 <Deewiant> works for me
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:28:20 <Deewiant> yep :-)
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:23 <tusho> funge108, pfft ;)
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:06 <Deewiant> s/0/9/
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:13 <MikeRiley> do not have it...
19:35:25 <Deewiant> http://www.phlamethrower.co.uk/befunge/tquine.php
19:35:28 <MikeRiley> mine does have graphic output for TURT...
19:35:30 <MikeRiley> looking...
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:41:54 <SimonRC> :-S
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 <Deewiant> tusho: :-)
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:04 <Deewiant> AnMaster: why wouldn't it?
19:43:13 <MikeRiley> with the graphics enabled, it is generating lots and lots of windows...
19:43:21 <pikhq> :D
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:39 <tusho> AnMaster: SDL.
19:44:58 <AnMaster> tusho, don't want to depend on that
19:45:04 <AnMaster> MikeRiley, ah :)
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:16 <tusho> Riiiiiiiiiiight.
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:45:53 <AnMaster> tusho, thanks...
19:46:11 <MikeRiley> i see what it is doing now....
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:41 <AnMaster> pikhq, hah
19:48:46 <AnMaster> pikhq, well I depend on POSIX
19:48:48 <MikeRiley> and since he keeps reloading it....keeps creating windows!!! eheheheeheh
19:48:51 <AnMaster> and ncurses
19:48:54 <AnMaster> and C99
19:48:56 <AnMaster> but that's it
19:48:57 <AnMaster> :)
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:23 <tusho> Critical hit!
19:51:27 <tusho> PIKHQ fainted.
19:51:39 <AnMaster> tusho, what are you imitating?
19:51:56 <pikhq> LMAO
19:52:02 <pikhq> Pokemon.
19:52:09 <tusho> AnMaster: the battle system in the pokemon gameboy games
19:52:16 <AnMaster> oh...
19:52:17 <AnMaster> I see
19:52:28 <AnMaster> I never been into such stuff
19:53:25 <Deewiant> AnMaster used IGNORANT.
19:53:27 <Deewiant> It's super effective!
19:53:33 <Deewiant> tusho fainted.
19:53:44 <tusho> Hahahah.
19:53:53 <AnMaster> I see Deewiant isn't ignorant
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:55:26 <pikhq> I beg to differ.
19:57:11 <MikeRiley> i need to port that stuff to my compatability library,,,dealing with all that X junk is annoying....
19:58:18 <AnMaster> MikeRiley, eh?
19:58:21 <AnMaster> try SDL!
19:58:22 <AnMaster> ;P
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:00:53 <AnMaster> :P
20:01:00 <MikeRiley> yeah,,,,Rc/Funge-98 was written before my library was...
20:01:02 <Deewiant> GetEnvironmentStringsA
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:01:52 <pikhq> (Mmm, Qt.)
20:01:58 <AnMaster> pikhq, That's C++
20:02:01 <AnMaster> otherwise I would agree
20:02:28 <Deewiant> AnMaster: and in a POSIX vein it would be posix_genvst ;-)
20:02:37 <AnMaster> genvst?
20:02:49 <pikhq> It's *sane* C++.
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:03:23 <AnMaster> hah.
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:19 <ihope> Yep.
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:27:26 <ihope> The derivative.
21:28:27 <SimonRC> of course
21:28:28 -!- lament has quit (Read error: 104 (Connection reset by peer)).
21:33:09 -!- MikeRiley has joined.
21:53:06 <AnMaster> night
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:49:32 <Slereah_> Esopeople!
22:49:38 <Slereah_> I has a new computer!
22:50:47 <SimonRC> I saw
22:51:08 <Slereah_> Shush
22:51:11 <Slereah_> Nobody asked you.
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:05:22 <tusho> ds
23:05:22 <tusho> ds
23:05:23 <tusho> sd
23:05:23 <tusho> ds
23:07:33 <Slereah_> buttox.
23:08:19 <psygnisfive> blah blah blah
23:08:22 <psygnisfive> slereah, shut your face
23:10:16 <Slereah_> BUT HOW WILL I SUCK YOUR DICK THEN
23:12:16 <Slereah_> Man. Reinstalling all your stuff is annoying
23:12:25 <Slereah_> All those viri and adwares.
23:20:40 -!- MikeRiley has left (?).
23:22:55 * SimonRC goes.
23:28:13 -!- RedDak has joined.
23:28:54 <lilja> hrrr
23:50:19 -!- Slereah_ has quit (Read error: 60 (Operation timed out)).
23:56:12 -!- Corun has joined.
2008-07-27
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:37:37 <tusho> a
00:37:37 <tusho> a
00:48:10 <psygnisfive> hey
00:48:16 <tusho> b
00:48:16 <tusho> b
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:29:57 <psygnisf_> i<3NFAs
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:18:58 <psygnisfive> dbc: i prefer NFAs
09:19:04 <psygnisfive> i dont see how theyre more of a hassle to program, either
09:19:09 <psygnisfive> you're just weeb
09:19:10 <psygnisfive> ..
09:19:11 <psygnisfive> weak
09:19:15 <psygnisfive> like my spelling
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:48:09 <AnMaster> hm?
09:48:17 <AnMaster> dbc, md5 in brainfuck
09:48:18 <AnMaster> hahaha
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:31 <AnMaster> tusho, easy on Linux you know
12:23:37 <tusho> as on OS X.
12:23:40 <tusho> one command.
12:23:44 <AnMaster> you said "tries" :P
12:23:46 <tusho> lookupd -flushdns
12:23:51 <tusho> AnMaster: Because I didn't know the command.
12:23:51 <AnMaster> k
12:23:54 <AnMaster> I see
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:34:25 <olsner> tusho: heh
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:01:40 <MikeRiley> you about Deewiant???
15:02:01 <Deewiant> aye
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:04:02 <MikeRiley> ok, on FRTH i can do that...
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:10:33 <MikeRiley> that is possible.....
15:10:38 <Deewiant> :-D
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:12:38 <MikeRiley> good point....
15:14:06 <MikeRiley> oh...I added a D command to the FILE fingerprint,,,,,to delete a file....
15:18:14 <tusho> Deewiant:
15:18:18 <tusho> stack diagrams are pretty simmple
15:18:23 <tusho> swap = (a b -- b a)
15:18:29 <tusho> drop = (a b -- a)
15:18:32 <tusho> dup = (a -- a a)
15:18:32 <tusho> etc
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:25 <Deewiant> tusho: and that was my point.
15:41:27 <tusho> OK
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:44:40 <Deewiant> good :-)
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:50:04 <Deewiant> what for?
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:52:11 <Deewiant> "FOOB"4($$
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:29 <Deewiant> that was handy, yeah
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:19 <Deewiant> hmm
15:55:23 <Deewiant> I can't type today :-/
15:55:28 <MikeRiley> interesting idea....
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:08 <Deewiant> yep
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....
15:59:47 <Deewiant> yep
15:59:57 <MikeRiley> i like the idea....
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:03 <Deewiant> why not both? :-)
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:34 <MikeRiley> starting ideas:
16:05:38 <MikeRiley> D - Duplicate all semantics
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> P - Pop off all semantics
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:35 <MikeRiley> i like the idea of pushing 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:08:04 <MikeRiley> true....
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:20 <MikeRiley> yes!!! eheheheheehheeh
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:15:14 <MikeRiley> good idea....
16:15:49 <MikeRiley> S - Swap nth semantic with top
16:15:49 <MikeRiley> K - Copy nth semantic to top
16:16:03 <MikeRiley> R - Roll semantic stack
16:16:45 <MikeRiley> W - Swap top two semantics
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:17:43 <MikeRiley> i can do that!!! eheheeheheheh
16:18:39 <MikeRiley> L - Clear all semantics in a given stack
16:19:32 <MikeRiley> Z - unload all fingerprints
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:20:44 <MikeRiley> P is more like )
16:20:48 <Deewiant> that was a )...
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:27 <MikeRiley> very likely....
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:21:51 <MikeRiley> yes...
16:22:36 <MikeRiley> yes...
16:22:37 <MikeRiley> F - Copy all of given fingerprint's semantics to top of stack
16:22:47 <Deewiant> eh?
16:22:50 <MikeRiley> actually, push them,,,
16:22:58 <Deewiant> isn't that exactly (? :-P
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:10 <Deewiant> hm
16:24:16 <Deewiant> so
16:24:24 <Deewiant> that's "LLUN"4) followed by (
16:24:28 <Deewiant> or P followed by (
16:24:33 <MikeRiley> no....
16:24:41 <Deewiant> how not
16:24:50 <MikeRiley> since whatever semantics that ROMA did not implement,,,,would still work with MODU...
16:25:02 <Deewiant> oh, right
16:25:04 <Deewiant> so it's
16:25:11 <Deewiant> "AMOR"4) followed by "AMOR"4(
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:04 <Deewiant> eh?
16:27:09 <Deewiant> "LLUN"4( ?
16:27:26 <MikeRiley> would push the transparent on top of all the stack entries....
16:27:47 <Deewiant> so, isn't that the same as D?
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:28:40 <MikeRiley> hmmmmmmmm
16:28:45 <MikeRiley> good point...
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:14 <MikeRiley> removing B from spec...
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:32:21 <MikeRiley> nope,,,it would not....
16:32:29 <Deewiant> or oh, right
16:32:36 <Deewiant> misthought
16:32:41 <MikeRiley> no problem,,,,
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> D - Duplicate all semantics
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:32 <MikeRiley> K - Copy nth semantic to top
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:39 <MikeRiley> P - Pop off all semantics
16:44:41 <MikeRiley> S - Swap nth semantic with top
16:44:43 <MikeRiley> R - Roll semantic stack
16:44:45 <MikeRiley> V - Move all of given fingerprint's semantics to top of stack
16:44:47 <MikeRiley> W - Swap top two semantics
16:44:49 <MikeRiley> Z - unload all fingerprints
16:45:50 <Deewiant> V?
16:47:18 <Deewiant> how does it work?
16:47:25 <MikeRiley> like F but moves the entries...
16:47:32 <MikeRiley> instead of copying them...
16:47:33 <Deewiant> er...
16:48:11 <Deewiant> I'm not seeing it
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:15 <MikeRiley> the semantics for it are...
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:30 <Deewiant> it is impossible
16:50:31 <MikeRiley> easy....look at the stack entry...
16:50:39 <Deewiant> no, this is feral again
16:50:45 <MikeRiley> i do not think so....
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:44 <MikeRiley> yes....loop through the stack...
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:54:40 <MikeRiley> yeah,,,,i agree!!!!!!
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:37 <MikeRiley> which???
17:00:47 <Deewiant> namely, that you need to be able to compare two semantics for equality
17:00:58 <Deewiant> V
17:01:13 <MikeRiley> then so would F....
17:01:24 <Deewiant> not if V is equivalent to ) followed by (
17:01:27 <Deewiant> er
17:01:27 <Deewiant> F
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:37 <MikeRiley> i disagree that it is 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:09 <MikeRiley> i do not see why...
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:17 <Deewiant> okay, so then it's not feral
17:06:20 <Deewiant> :-P
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:36 <Deewiant> yeah, evidently
17:06:45 <MikeRiley> FING does not change how anything works...
17:06:55 <MikeRiley> everything works the same...
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:29 <MikeRiley> back shortly,,,breakfast calls...
17:07:33 <Deewiant> yeah, and your definition is what the spec says so you're right I suppose :-)
17:12:58 <tusho> Back
17:13:16 <tusho> was it you who asked about HRTI and TRDS together?
17:13:17 <tusho> no
17:14:08 <Deewiant> meh
17:19:07 <SimonRC> idea:
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:24:12 <MikeRiley> back
17:25:35 -!- timotiis has joined.
17:25:56 -!- Sgeo has joined.
17:35:11 <tusho> SimonRC: cool
17:35:49 <Deewiant> SimonRC: brainfuck? :-)
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:05 <SimonRC> e.g. pointer-free trees
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:17 <Deewiant> not necessarily :-P
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:44:59 <SimonRC> hmm
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:47 <Deewiant> yes, somewhat
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:52:20 <SimonRC> no, I meant HRTI's S
17:52:54 <MikeRiley> what about HRTI's S???
17:54:03 <SimonRC> well, it doesn't have an instruction to get the whole number of seconds
17:54:28 <Deewiant> what do you mean?
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:02 <MikeRiley> that works too...
17:55:09 <MikeRiley> true...
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:55:43 <Deewiant> by combining it with y
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:57:04 <MikeRiley> yep...
17:57:46 <psygnisfive> hey!
17:58:29 <psygnisfive> NFA's arent THAT hard to program..
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:43 <MikeRiley> how does this spec look:
17:59:44 <MikeRiley> FING
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:54 <MikeRiley> P ( -- ) - Pop off all semantics
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:06 <MikeRiley> fp n - same as used for ( command
18:00:08 <MikeRiley> sem - Semantic (A-Z or 0-25)
18:00:10 <MikeRiley> src - Semantic (A-Z or 0-25)
18:00:12 <MikeRiley> dst - Semantic (A-Z or 0-25)
18:00:56 <Deewiant> well, I do hope you'll explain more about CFKMRV than just that :-)
18:01:08 <MikeRiley> i will....
18:01:12 <Deewiant> for Z, I'd rather say "clear all semantic stacks" or something
18:01:20 -!- sebbu2 has quit ("@+").
18:01:25 <MikeRiley> ok,,,,
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:51 <MikeRiley> ok, hold on....
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:02:49 <MikeRiley> how is that??
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 <MikeRiley> for all the instructions A-Z.
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:38 <Deewiant> yes, I know
18:11:45 <Deewiant> but that makes it sound as though it does exactly what IMAP does
18:12:03 <MikeRiley> ok how about:
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:34 <MikeRiley> B did not change,,,A did....
18:13:48 <MikeRiley> A was changed to have B's function
18:13:55 <Deewiant> yes, exactly
18:13:59 <MikeRiley> ok,,,hold on
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:14:23 <MikeRiley> ok,,,,just a sec
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:45 <Deewiant> better :-)
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:11 <Deewiant> :-)
18:19:29 <Deewiant> maybe you should make it smaller, then ;-)
18:19:30 <MikeRiley> hmmmmmmmmmmmm
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:03 <psygnisfive> hey guyssss
18:25:20 <Deewiant> oh yeah, true
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:17 <psygnisfive> let me ask you somfing
18:26:23 <psygnisfive> when you hear the word "formalism"
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:22 <psygnisfive> anyone else?
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:29:57 <tusho> not ad hoc
18:30:01 <Deewiant> MikeRiley: (: wouldn't work, it'd have to be ($:
18:30:25 <MikeRiley> well,,,you get my meaning...
18:30:37 <Deewiant> yes
18:30:57 <psygnisfive> tusho: elaborate on your distinction between "formal" and "informal"
18:31:03 <tusho> psygnisfive: no
18:31:08 <psygnisfive> :(
18:31:08 <tusho> that's as much as i can give
18:31:11 <psygnisfive> ok.
18:32:14 <MikeRiley> to me,,,formal would indicate it adheres to a specified standard, nothing added, nothing removed...
18:34:00 <MikeRiley> brb
18:41:23 -!- calamari has joined.
18:47:40 <MikeRiley> back
18:49:31 <MikeRiley> All FING commands operate as if FING were not on the semantic stacks. The equivalent
18:49:31 <MikeRiley> operation would be as:
18:49:31 <MikeRiley> i=SemPop(semantic)
18:49:31 <MikeRiley> do useful work
18:49:31 <MikeRiley> SemPush(semantic,i)
18:49:32 <MikeRiley> In order to actually modify commands within FING you would need to load two copies as in:
18:49:34 <MikeRiley> "GNIF"4)$:1)
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:06:59 <AnMaster> MikeRiley, hi again
19:07:13 <MikeRiley> hello!!!
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:10:47 <tusho> years.
19:11:22 <SimonRC> no, months
19:11:39 <SimonRC> when was the big PEBBLE and co surge?
19:12:34 <tusho> co?
19:12:37 <tusho> oh
19:12:37 <tusho> hm
19:12:42 <tusho> that was 2007
19:12:46 <SimonRC> really?
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:32 <SimonRC> doesn't time fly
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:13:47 <MikeRiley> eheheheheeheheheheheh
19:14:09 <tusho> i still want trdsfuck
19:14:12 <tusho> actually
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:15:29 <tusho> shrug
19:15:34 <SimonRC> or through spaceime
19:15:43 <tusho> ooh
19:15:44 <tusho> i'd like that
19:16:46 <SimonRC> gottit!
19:16:52 <SimonRC> you have a train
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:19 <tusho> SimonRC: wow.
19:19:20 <SimonRC> actually, I wonder if one can use the signalling rules from OTTD to make a turing-complete machine
19:19:20 <tusho> uh.
19:19:28 <SimonRC> (without the time-travel)
19:19:31 <tusho> SimonRC: what is an infinite loop in that?
19:19:33 <tusho> invent a syntax
19:19:35 <tusho> one instruction per char, of course
19:19:37 <tusho> it's a tarpit
19:19:39 <tusho> ;)
19:19:41 <SimonRC> I'm more of an ideas guy
19:19:46 <tusho> awwww
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:50:52 <AnMaster> tusho, anyway you code it
19:51:46 <tusho> AnMaster: why?
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:42 <AnMaster> hrrm
19:52:51 <AnMaster> tusho, you would lay the track in a circle?
19:52:54 <AnMaster> that could work
19:52:59 <tusho> AnMaster: that doesn't involve time travel
19:53:00 <tusho> :P
19:53:13 <AnMaster> tusho, well changing the switches does
19:53:20 <AnMaster> anyway infinite loop then is easy
19:53:25 <AnMaster> just jump to now -2
19:53:27 <AnMaster> or whatever
19:53:34 <AnMaster> and you get an infinite loop
19:53:46 <AnMaster> tusho, see what I mean?
19:53:49 <tusho> yes
19:53:54 <tusho> but I was hoping for something a bit more contrived
19:53:54 <tusho> :P
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:05 <SimonRC> it has no condition
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:54:54 <AnMaster> <track>
19:55:10 <AnMaster> <segment x="32" y="42" />
19:55:16 <AnMaster> err wait
19:55:35 <AnMaster> <segment startx="32" starty="42" endx="20" endy="42" />
19:55:37 <AnMaster> even
19:55:41 <AnMaster> then of course:
19:55:43 <AnMaster> </track>
19:55:49 <AnMaster> oh wait
19:55:50 <AnMaster> switches too
19:55:51 <AnMaster> hrrm
19:56:03 <AnMaster> or you could use a sane format if you wanted :P
19:56:31 <AnMaster> SimonRC, go and implement it!
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:20:33 <SimonRC> Please disambiguate.
20:20:45 <tusho> 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:32:04 <SimonRC> ok
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:34:19 <tusho> ihope: err
20:34:20 <tusho> what
20:35:31 <ihope> You do have a sister?
20:36:04 <AnMaster> eh?
20:36:18 <AnMaster> (maybe she got a brother though?)
20:36:19 * AnMaster runs
20:38:23 <ihope> Actually, would it be sexist to mostly-jokingly guess that nobody on #esoteric has any sisters?
20:38:26 * ihope shrugs
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:43 <tusho> uh
20:40:43 <tusho> beat sme
20:40:49 <AnMaster> To install the results, become root and do
20:40:50 <AnMaster> ditto build/dst /
20:40:50 <tusho> let's see
20:40:52 <AnMaster> on OS X
20:40:54 <tusho> dude
20:40:55 <tusho> it's a bsd command
20:40:56 <tusho> not os x
20:40:57 <AnMaster> command not found here
20:40:58 <Deewiant> fortunately, google knows all
20:40:59 <Deewiant> http://www.google.com/search?q=man%20ditto
20:41:00 <AnMaster> tusho, ah!
20:41:06 <tusho> from what I can tell
20:41:11 <tusho> NAME
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:41:23 <tusho> hmm ok
20:41:26 <tusho> seems to be os x
20:41:27 <AnMaster> ah
20:41:27 <tusho> but whatever
20:43:15 <AnMaster> tusho, I'm trying to finally build LLVM
20:43:27 <AnMaster> to try it out
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:58:32 <psygnisfive> oklopol! :D
20:58:33 <psygnisfive> <3
20:59:02 -!- CakeProphet has joined.
21:02:32 <oklopol> !
21:05:05 -!- lilja has joined.
21:15:06 -!- MikeRiley has left (?).
21:20:37 -!- Hiato has quit ("Leaving.").
21:41:58 <psygnisfive> sup oklopol
21:42:00 <psygnisfive> hows it goin
21:42:33 <oklopol> well it's pretty high up in the classical sense
21:42:40 <psygnisfive> :p
21:42:47 <oklopol> i mean
21:42:48 <psygnisfive> oklopol
21:42:50 <oklopol> goin fine
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:17 <psygnisfive> ??
21:43:22 <psygnisfive> lol
21:43:38 <psygnisfive> what do you believe formalism means, in that usage?
21:43:42 <oklopol> lol yourself hotboy :|
21:44:04 -!- olsner has joined.
21:44:14 <psygnisfive> hotboy huh
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:10 <oklopol> err
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:45:48 <psygnisfive> ok
21:45:59 <oklopol> do tell
21:46:07 <psygnisfive> i will, eventually. :p
21:46:13 <oklopol> so awesome
21:46:18 <psygnisfive> "hotboy"?
21:46:23 <lilja> :)
21:46:36 <psygnisfive> lilja! :D
21:46:37 <psygnisfive> hey.
21:46:38 <oklopol> psygnisfive: don't read too much into that
21:46:42 <lilja> hey hey
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:23 <psygnisfive> ihope, sort of. :)
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:49:55 <oklopol> well do tell
21:50:07 <psygnisfive> in a bit. im making a bumper sticker right now.
21:50:10 <psygnisfive> "My other car is a cdr."
21:50:11 <psygnisfive> :D
21:50:31 <oklopol> that makes no sense, but i guess it's funny.
21:50:42 <psygnisfive> its a lisp inside joke. :P
21:50:50 <oklopol> what's the point?
21:50:59 <oklopol> how is a car a cdr?
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:36 <psygnisfive> ok.
21:51:37 <tusho> oklopol: 'My other car is a Toyoto'
21:51:38 <tusho> *toyota
21:51:40 <psygnisfive> so whats the problem? :P
21:51:40 <tusho> it's a parody of that
21:51:45 <oklopol> tusho: i know that too
21:51:50 <oklopol> just saying that makes no sense imo
21:51:56 <psygnisfive> why doesnt it make sense?
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:13 <tusho> but still.
21:52:17 <psygnisfive> indeed
21:52:20 <psygnisfive> but when you think about it
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:35 <tusho> Read SICP. :p
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:22 <SimonRC> and the list syntax?
21:53:25 <psygnisfive> no, you couldn't.
21:53:33 <psygnisfive> well
21:53:38 <tusho> (car (cons 1 2)
21:53:40 <psygnisfive> so long as (Car (cons a b)) = a
21:53:42 <tusho> -> (cdr (cons 1 2)
21:53:45 <tusho> beep, fail
21:53:49 <tusho> your swaps don't work
21:54:00 <psygnisfive> uh tusho
21:54:06 <psygnisfive> (cdr (cons 1 2)) => 2
21:54:13 <oklopol> ...
21:54:19 <tusho> yes
21:54:22 <tusho> so they return different values
21:54:26 <psygnisfive> yes they do
21:54:29 <tusho> so swapping all car/cdr applications DOESN'T WORK
21:54:32 <psygnisfive> but if (cdr (cons 1 2)) => 1
21:54:39 <psygnisfive> and (car (cons 1 2)) => 2
21:54:43 <tusho> psygnisfive: Then you've renamed 'car' to 'cdr'.
21:54:44 <psygnisfive> then wheres the problem?
21:54:44 <oklopol> come to #esoteric to see people know everything and assume others don't know anything
21:54:45 <tusho> And vise-versa.
21:54:48 <psygnisfive> tusho: ofcourse
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:34 <psygnisfive> and vice versa
21:55:43 <SimonRC> yes
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:22 <oklopol> iddizn't?
21:56:30 <psygnisfive> whether not abstractly
21:56:32 <psygnisfive> consider
21:56:40 <psygnisfive> if (1 . 2)
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:56:43 <SimonRC> BUT
21:56:47 <psygnisfive> then (car (1 . 2)) => 1 right?
21:56:54 <psygnisfive> but i could jsut as easily define
21:56:59 <psygnisfive> (car (2 . 1)) => 1
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:24 <psygnisfive> ihope, dunno :D
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:43 <psygnisfive> but consider lists
21:57:45 <tusho> ass-ymetry
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:21 <psygnisfive> and you get the exact same behavior
21:58:27 <tusho> Man, that's a sweet ass-car.
21:58:53 <SimonRC> ihope: yes
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:21 <tusho> ihope: Wow.
21:59:24 <tusho> That's...
21:59:28 <psygnisfive> so theres no real way to tell them apart except in how your system uses car and cdr.
21:59:36 <tusho> reverse assing..
21:59:41 <ihope> Yeah!
21:59:42 <tusho> read sicp
21:59:51 <psygnisfive> who read sicp?
21:59:59 <tusho> psygnisfive: Sussman.
22:00:06 <psygnisfive> i know who wrote sicp thanks :P
22:00:11 <psygnisfive> i mean, who should read it
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:30 <psygnisfive> to find out what?
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:00:51 <psygnisfive> you're confusing tusho :(
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:13 <psygnisfive> ok?
22:01:22 <psygnisfive> whats your point???
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:01:35 <ihope> Okay.
22:01:38 <psygnisfive> X_X
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:04:59 <psygnisfive> theres no ordinality there
22:05:07 <psygnisfive> its just an abstract relationship
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:06:29 <oklopol> ((cons 'my 'hot) 'car)
22:06:59 <tusho> (SICP)
22:07:08 <psygnisfive> O_O
22:07:16 <psygnisfive> tusho: that example was right out of SICP :D
22:07:34 <tusho> (must-read-sicp? 'psygnisfive) ;;=> #t
22:07:48 <psygnisfive> tusho, why do you say stupid things?
22:07:52 <psygnisfive> that example is right out of SICP.
22:07:56 <tusho> psygnisfive: To find out, read SICP.
22:07:56 <psygnisfive> the authors of SICP
22:08:05 <psygnisfive> *sigh*
22:08:06 <oklopol> psygnisfive: read sicp to me
22:08:10 <psygnisfive> ok :D
22:08:11 <oklopol> out loud, in skype, right now
22:08:17 <psygnisfive> can we do it in 10 minutes?
22:08:23 <oklopol> no we need like 12
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:50 <lilja> :)
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:09:04 <tusho> ++, I tell you.
22:09:21 <oklopol> <3
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:10:59 <oklopol> tusho owns at committing
22:11:46 <ihope> psygnisfive: no, he doesn't.
22:11:49 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
22:12:14 <psygnisfive> ok
22:12:16 <oklopol> no need for people who haven't read sicp to take you seriously.
22:12:37 <tusho> exactly!
22:12:39 <tusho> :D
22:12:50 <oklopol> it's like people who haven't read sicp |----------------| people who have
22:13:02 <tusho> more liek
22:13:03 <oklopol> and err you know right is the right way to go
22:13:13 <tusho> ._____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
22:13:18 <oklopol> ah indeed
22:13:22 <tusho> the . is the insignificant people who haven't read sicp
22:13:28 <oklopol> yeah
22:13:31 <tusho> like psygnisfive
22:13:45 <oklopol> i'm assuming your writing the massive ascii-art O in your writor pad right now
22:13:49 <psygnisfive> but.. i have read it! :(
22:13:49 <oklopol> *you're
22:14:03 <tusho> psygnisfive: WHY MUST YOU LIE?
22:14:23 <psygnisfive> no u
22:14:29 <oklopol> psygnisfive: that box of gifts you sent me didn't be openod :<
22:14:38 <oklopol> it say noooo you can't.
22:14:46 <oklopol> like you know books.
22:14:47 <psygnisfive> ::confused:: :D
22:14:56 * oklopol is an confusor
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:15 <psygnisfive> its not tho :(
22:16:50 <oklopol> well i could never say "its" for "it's", but like, structurally.
22:17:16 <psygnisfive> not structurall
22:17:17 <psygnisfive> y
22:17:53 <oklopol> you linguistic silly-dangler
22:17:54 <oklopol> anyway
22:18:00 <oklopol> tell me about your formalities
22:19:33 <oklopol> psygnisfive: anyway don't worry i rape all languages equally
22:19:34 <psygnisfive> patience!
22:42:03 -!- RedDak has joined.
22:47:23 -!- Sgeo has joined.
22:49:08 <oklopol> i'm growing out of patience
22:49:21 * SimonRC goes to bed.
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:09:22 <ihope> Must be.
23:09:46 <oklopol> must've been awkward
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:12:53 <ihope> I guess not.
23:13:06 <psygnisfive> oklopol thats for you
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:17:43 <oklopol> elaborate
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:20 <oklopol> or didn't know
23:21:43 <oklopol> i don't believe in meaning
23:21:50 <psygnisfive> ;)
23:22:00 <oklopol> it's all formal to me
23:22:13 <psygnisfive> well, there IS formal semantics
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:49 <psygnisfive> lol
23:24:59 <oklopol> need to continue reading my book, you see
23:24:59 <psygnisfive> well there is atleast ONE difference
23:25:05 <oklopol> what is that one?
23:25:13 <psygnisfive> one is named "informal"
23:25:25 <psygnisfive> DONT THINK ABOUT IT TOO HARD
23:25:30 <psygnisfive> YOUR LOGIC CIRCUITS WITH EXPLODE
23:25:30 <oklopol> well yeah i guess there might be an *informal* difference ;)
23:25:37 <psygnisfive> actually thats a formal difference!
23:25:43 <oklopol> dang
23:25:45 <oklopol> indeed it is
23:25:48 <psygnisfive> ;D
23:25:53 <psygnisfive> "HOTBOY"?
23:26:05 <oklopol> i haven't seen you.
23:26:14 <psygnisfive> what the hell does hotboy mean?!
23:26:32 <psygnisfive> please provide a formal description
23:26:35 <oklopol> i guess like hotdog, but you're eating a young male instead
23:26:40 <oklopol> *like a
23:26:45 <psygnisfive> oh that IS hot
23:26:50 <psygnisfive> so you're eating me?
23:27:08 <oklopol> sure sure
23:27:09 <psygnisfive> is it a euphemism for you sucking my cock, by analogy to having a hotdog in your mouth?
23:27:14 <psygnisfive> or is if a euphemism for vore?
23:27:27 <oklopol> well eating is usually for vagina or actual bite&swallow action
23:27:32 <tusho> oklopol/psygnisfive vore. wtf
23:27:36 * tusho dies
23:27:50 <psygnisfive> you can eat out someones ass too.
23:27:53 <oklopol> hmm
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:32 <psygnisfive> hahaha
23:29:41 <tusho> yeah, psygnisfive will give you a demonstration otherwise
23:29:46 <psygnisfive> i will
23:29:49 <psygnisfive> if you want, olsner
23:30:08 <psygnisfive> you're not 12 right?
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:50 <psygnisfive> ::rapes tusho's ass::
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:09 <psygnisfive> and spain.
23:31:12 <tusho> no it's not
23:31:12 <oklopol> how can it be so fucking hard to leave, i don't exactly find this all that entertaining
23:31:13 <tusho> :P
23:31:19 <psygnisfive> ok, well, it will be in a month
23:31:22 <oklopol> mildly entertaining, yes, but the book is better
23:31:25 * oklopol retries
23:31:30 <tusho> if I was female and in japan i'd be legal!
23:31:30 <psygnisfive> what book, oklopol?
23:31:39 <psygnisfive> what do you mean IF you were female?
23:31:59 <tusho> har har
23:32:04 <oklopol> this is some basic thingie about discrete math
23:32:19 <oklopol> simple shit
23:32:47 <psygnisfive> oklopol, did the CompSci books not work?
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:01 <oklopol> did not.
23:33:04 <psygnisfive> the download?
23:33:06 <psygnisfive> or the files?
23:33:09 <oklopol> hmm
23:33:22 <oklopol> actually, now that i think about it, it was because i stopped dl'ing midway
23:33:24 <oklopol> :D
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:31 <psygnisfive> good job, oklopol.
23:33:32 <psygnisfive> :P
23:33:42 <tusho> i have a question
23:33:48 <tusho> jews have jew magic, right. Is there any gay magic?
23:33:49 <psygnisfive> i have an answer!
23:33:52 <psygnisfive> oh yes
23:33:55 <psygnisfive> there's plenty of 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:18 <psygnisfive> well, they're not really comparable
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:26 <psygnisfive> they're two different classes of magic
23:34:30 <tusho> psygnisfive: ahh
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:08 <olsner> unbeatable combo
23:35:08 <psygnisfive> such a thing would destroy the universe.
23:35:12 <tusho> :D
23:35:22 <psygnisfive> speaking of jewish 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:33 <psygnisfive> of israel.
23:35:48 <tusho> how the fuck do you lose japan
23:35:56 <psygnisfive> well
23:35:57 <tusho> that's like "OH, GERMANY. YEAH, I FORGOT ABOUT THAT PLACE"
23:35:57 <psygnisfive> The Japanese
23:36:01 <tusho> "WHERE IS IT AGAIN?"
23:36:03 <tusho> "I CAN'T FIND IT"
23:36:10 <psygnisfive> Japan WAS lost once
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:37 <psygnisfive> boy were the japanese shocked about that
23:36:42 <tusho> I was totally ready to put those two last lines up.
23:36:55 <psygnisfive> tusho: MAKE ONE.
23:36:59 <tusho> i am
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:03 <psygnisfive> USE RUBY
23:37:06 <tusho> psygnisfive: i am
23:37:08 <tusho> and Sinatra
23:37:12 <psygnisfive> then why the fuck arent you finished?
23:37:16 <tusho> and jQuery (go fuck me.)
23:37:28 <psygnisfive> ::fucks tusho::
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:37:42 <psygnisfive> how can you fuck that up, tusho
23:37:49 <psygnisfive> Ruby on Rails
23:37:50 <psygnisfive> Do it.
23:37:52 <tusho> psygnisfive: no.
23:37:53 <tusho> you fail.
23:37:55 <psygnisfive> itll take 10 minutes to finish.
23:37:57 <tusho> as does rails
23:38:13 <psygnisfive> IT FAILS LESS THAN YOUR NONEXISTANT QDB
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:10 <psygnisfive> blah blah blah
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:42 <psygnisfive> excuses
23:39:43 <tusho> jeez.
23:39:58 <tusho> it'll probably be done tomorrow.
23:40:22 <psygnisfive> uh huh
23:40:24 <psygnisfive> it better be
23:40:25 <psygnisfive> faggot.
23:40:49 <tusho> psygnisfive: i'm glad you're so insecure in your sexuality that you have to attribute it to others
23:40:49 <tusho> :D
23:41:03 <psygnisfive> well you DO like girls right?
23:41:15 <tusho> yes, but i'm male.
23:41:22 <psygnisfive> in your dreams maybe
23:41:33 <tusho> yeeeeees
23:41:40 <psygnisfive> are you transexual?
23:41:41 <psygnisfive> ftm?
23:41:45 <psygnisfive> i could see that
23:41:54 <tusho> i am both sexes
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:06 <psygnisfive> impossible
23:42:10 <tusho> psygnisfive: WRONG
23:42:13 <tusho> I used jew magic
23:42:17 <psygnisfive> DAMN JEWS
23:42:50 <olsner> hmm, so 1 * tusho = 200% * tusho? that'd mean tusho = 0
23:43:04 <psygnisfive> truth.
23:43:13 <tusho> no olsner
23:43:15 <tusho> we used jew maths
23:43:31 <olsner> oh no jew didn't!
23:43:53 <tusho> i didn't
23:43:54 <tusho> the jew did
23:44:21 <psygnisfive> do you have a jew tied up in a cage or something, doing your bidding?
23:44:24 <psygnisfive> what are you, RACIST?
23:44:24 <oklopol> :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
23:44:29 <psygnisfive> oklopol! :D
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:26 <psygnisfive> oklopol, prover for what?
23:47:29 <psygnisfive> i'd enjoy that
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:47:49 <oklopol> like, inducktion
23:47:57 <psygnisfive> to do what tho?
23:47:59 <psygnisfive> i mean
23:48:30 <oklopol> like prove cool truths given a set of sexy axioms
23:48:40 <psygnisfive> ah.
23:48:41 <psygnisfive> example?
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:49:55 <oklopol> err
23:50:04 <oklopol> fail @ quantification there, but you get it
23:50:23 <oklopol> forall x: forall y:
23:50:26 <oklopol> more liek
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:06 <oklopol> but you know what i mean
23:53:10 <oklopol> that would be awesome^7
23:53:19 <olsner> but you could have sex with other people's programs? as long as they're old enough?
23:54:18 <oklopol> the younger the better :o
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:14 <psygnisfive> this is the weirdest conversation ever
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:55:26 <oklopol> then i guess it's okay
23:56:01 <oklopol> a real-life fetish for program source would be so cool
23:56:21 <psygnisfive> itd be delightfully weird
23:56:27 <psygnisfive> i bet tusho has that fetish
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:56:46 <tusho> xD
23:57:01 <oklopol> gotta catch them all!
23:57:09 <psygnisfive> tusho masturbates to haskell code
23:57:18 <tusho> psygnisfive: oh baby, that's so well-typed
23:57:43 <psygnisfive> catamorphisms *murr*
23:57:46 <oklopol> types are one of the sexiest things imo
23:57:53 <oklopol> in programming
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:32 <psygnisfive> variable typing or data typing?
23:58:38 <tusho> oh, oh, yeah, restrict that polymorphism good
23:58:43 <oklopol> psygnisfive: variable
23:58:50 <psygnisfive> meh. i dont like variable typing.
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:19 <psygnisfive> NEW meaning? what was the OLD meaning?
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
2008-07-28
00:00:07 <psygnisfive> oh so guys
00:00:17 <psygnisfive> we need to make a language thats highly parallel in its primitives
00:00:30 <psygnisfive> where parallelization is trivial
00:00:33 <oklopol> everything is executed at the same time INFINITE TIMES
00:00:38 <psygnisfive> not in the haskell sort of fashion
00:00:52 <psygnisfive> haskell i dont like because its very recursive in its parallelism
00:00:55 <psygnisfive> same with erlang
00:00:56 <oklopol> ALSO ALL COMBINATIONS OF ALL OPERATIONS ARE EXECUTED IN PARALLEL GARAGHAHAHGRAREDS
00:01:01 <oklopol> ...
00:01:06 * tusho orgasms
00:01:10 <psygnisfive> O_O
00:01:19 <psygnisfive> i mean, look at the haskell map function:
00:01:42 <psygnisfive> map f [] = []
00:01:42 <psygnisfive> map f x:xs = f x : map f xs
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:29 <psygnisfive> better:
00:02:32 <psygnisfive> map f [] = []
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:38 <tusho> tell me...
00:02:42 <tusho> oh god
00:02:43 <tusho> it's
00:02:43 <tusho> it's
00:02:47 <psygnisfive> map f [..x..] = [..f x..]
00:02:47 <tusho> (a -> b) -> [a] -> [b]
00:02:49 * tusho orgasms
00:03:03 <psygnisfive> yes, that is correct tusho
00:03:14 <psygnisfive> oklopol: Ef?
00:03:23 <oklopol> ef is one of my awesomest languages
00:03:23 <psygnisfive> in erlang i think it'd be
00:03:27 <psygnisfive> map([]) = []
00:03:30 <psygnisfive> er
00:03:36 <psygnisfive> map(f, []) = []
00:04:03 <psygnisfive> map(f, [x|xs]) = f(x)|map(f,xs)
00:04:04 <tusho> erlang is explicitly parallel psygnisfive
00:04:06 <tusho> not automatically
00:04:09 <psygnisfive> its the same thing!
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:41 <oklopol> PARALLLLLLLEL
00:04:49 <oklopol> errr
00:04:52 <oklopol> not erlang :D
00:04:53 <oklopol> Ef
00:04:54 <psygnisfive> nor do collections have to be accessed by defining recursions
00:04:59 * oklopol slaps oklopol
00:05:07 * psygnisfive slaps oklopol
00:05:17 * psygnisfive slaps tusho
00:05:57 * tusho slaps tusho
00:06:06 <oklopol> i'm gonna do some sleeping now.
00:06:38 <oklopol> WHEN YOU FAIL IT'S TIME TO BAIL
00:07:00 <oklopol> yes, it fucking rhymes.
00:08:44 <oklopol> so, an episode of awesome south park, or sleep?
00:09:54 <psygnisfive> sleep
00:10:04 <oklopol> tusho: comments?
00:10:20 <tusho> sleep
00:10:30 <oklopol> i need to ask the bot
00:11:06 <oklopol> 02:10… +oklopol: %choice jax sleep
00:11:07 <oklopol> 02:10… @trazer: jax
00:11:11 <oklopol> thought so
00:11:14 <psygnisfive> jax?
00:11:17 <oklopol> jax is finnish for episode ofc
00:11:35 <psygnisfive> sure its not finnish for masturbate on camera?
00:11:36 <oklopol> ...raped finnish
00:12:06 -!- olsner has quit ("sleep 21600 && wakeup").
00:13:05 <psygnisfive> im pretty sure it means "masturbate on camera"
00:13:50 <oklopol> no what's runx
00:19:04 <psygnisfive> mah bumper sticker dont stick to mah bumper
00:19:06 <psygnisfive> D:
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:36:51 <Tritonio_> hello
01:37:36 <Tritonio_> calamari are you here?
01:44:40 <calamari> hi Tritonio
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:45:07 <lament> ...
07:45:09 <lament> 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:36:01 <psygnisfive> you crazy lament
08:41:27 -!- AnMaster has joined.
08:42:01 -!- jemarch has joined.
08:42:46 <jemarch> hi
08:44:14 <AnMaster> morning
09:00:01 <psygnisfive> morning! :D
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:04:23 <ais523> hi tusho
18:04:27 <tusho> ...
18:04:28 * tusho kills himself
18:04:38 <ais523> bye tusho
18:04:49 <tusho> hah
18:06:16 <oklopol> :D
18:06:32 <tusho> urgh
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:43 <tusho> you have to do
18:06:45 <tusho> $junk = foo(bar);
18:06:46 <tusho> $foo[N[
18:06:48 <tusho> *[N]
18:06:48 <ais523> why do you have to write an addon for php software?
18:06:59 <oklopol> yeah that's quite stupid
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:27 <tusho> ais523: um no
18:08:29 <tusho> you can do
18:08:31 <tusho> $a=2;
18:08:32 <tusho> $a[0]
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:09 <ais523> oh, ok
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:10:06 <oklopol> *as everything
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:05:42 <psygnisfive> :O
20:07:47 <ais523> hi AnMaster
20:10:30 <AnMaster> hi ais523
20:10:37 <AnMaster> ais523, any cool new stuff?
20:10:46 <ais523> not really
20:10:54 <ais523> likely there will be sometime
20:10:56 <ais523> just not right now
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:31 <ais523> clever
20:16:33 <ais523> what's .su?
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:17:56 <tusho> pikhq: *g*
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> oh.
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:03 * tusho kills himself
20:19:09 <tusho> (second time today)
20:19:44 <psygnisfive> in soviet russia, domain name request executes YOU!"
20:19:51 <tusho> hah
20:20:00 <tusho> ais523: do you think the domain pun is worth a signed bloody contract
20:20:03 <tusho> i'm not so sure
20:20:06 <ais523> no, it isn't
20:20:10 <tusho> £12/year, sure. written contract? no.
20:20:14 <psygnisfive> what pun are you going for now?
20:20:23 <tusho> psygnisfive: that's where YOU come into play!!!!!!111
20:20:26 <tusho> where YOU = #esoteric
20:20:44 <psygnisfive> so its not a specific pun?
20:20:49 <psygnisfive> you just want _a_ pun?
20:20:55 <tusho> yeah.
20:21:02 <tusho> involving 'us' or 'ourselves' would be nice
20:21:13 <psygnisfive> ourselv.es?
20:21:16 <tusho> taken
20:21:36 <psygnisfive> ours.elv.es
20:21:42 <psygnisfive> you can oh
20:21:43 <psygnisfive> damn
20:21:52 <psygnisfive> elv.es is taken too
20:21:55 <psygnisfive> fuckers!
20:22:04 <psygnisfive> pretty picture tho
20:23:25 <psygnisfive> esot.er/ic
20:23:27 <psygnisfive> :D
20:23:53 <tusho> heh
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:24:58 <ais523> is that one real?
20:25:02 <tusho> no
20:25:03 <ais523> it should be
20:25:04 <tusho> should be though
20:25:06 <tusho> heh
20:27:05 <psygnisfive> forwardslash not slash
20:27:17 <tusho> psygnisfive: the BBC says slash
20:27:17 <ais523> no, should be slash because that's what Slashdot uses
20:27:24 <tusho> so thar
20:27:51 <psygnisfive> bbc and slashdot are wrong :(
20:28:05 <psygnisfive> \ and / are both slashes
20:28:13 <psygnisfive> http:\\slashdot.org
20:28:15 <psygnisfive> doesnt work! :(
20:29:31 <psygnisfive> hm interesting
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:48 <tusho> so
20:31:50 <tusho> domain puns
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:20 <psygnisfive> shut up dewiant
20:33:44 <tusho> 'SHUT UP YOU AND YOUR TRUTH'
20:34:44 <psygnisfive> EXACTLY
20:34:51 <psygnisfive> REALITY IS WRONG.
20:35:17 <psygnisfive> lmfao
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:35:47 <Deewiant> depends on your font :-P
20:36:09 <psygnisfive> what?
20:36:23 <Deewiant> well, if your font displays the space character as a smiley face
20:36:27 <Deewiant> you'd see a smiley face
20:36:40 <psygnisfive> oh, well yes, if you're using a retarded font then you're correct ofcourse
20:37:36 * MikeRiley returns
20:37:41 <ais523> wb
20:37:45 <MikeRiley> thanks!!
20:37:59 <psygnisfive> damn you mikeriley!!!
20:38:05 <MikeRiley> ????
20:38:17 <ais523> psygnisfive: ?
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:41:01 <psygnisfive> yes, - is a dash
20:41:15 <psygnisfive> or is it a hyphen
20:42:44 <psygnisfive> yes, thats a hyphen
20:42:59 <Deewiant> or is it a minus sign
20:43:05 <psygnisfive> no its a hypen
20:43:05 <Deewiant> or what kind of dash
20:43:08 <psygnisfive> a minus is –
20:43:25 <psygnisfive> oh, no,
20:43:28 <psygnisfive> – is a figure dash
20:43:34 <Deewiant> - – — ― −
20:43:36 <psygnisfive> -
20:43:39 <psygnisfive> thats a minus
20:43:42 <Deewiant>
20:43:47 <Deewiant> − is a minus
20:44:01 <Deewiant> U+2212
20:44:05 <psygnisfive> oh yes, there we go
20:44:12 <psygnisfive> why wasnt that next to +
20:44:13 <psygnisfive> thats weird
20:44:23 <Deewiant> + is ASCII
20:44:33 <psygnisfive> no id ont mean like that
20:44:37 <Deewiant> but - is a "hyphen-minus"
20:44:48 <psygnisfive> my character palette displays the hyphen-minus next to +
20:45:00 <psygnisfive> and then displays − 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:46:06 <Deewiant> double hyphens! = =
20:46:14 <Deewiant> ゠⸗
20:46:30 <psygnisfive> no it doesnt
20:46:39 <psygnisfive> ÷±
20:46:44 <psygnisfive> thats the order of those two characters
20:46:59 <psygnisfive> 00F7 and 00B1
20:47:04 <Deewiant>
20:47:21 <psygnisfive>
20:47:25 <tusho> a∕b
20:47:45 <psygnisfive> :)
20:47:50 <Deewiant> \
20:48:00 <psygnisfive> is set minus used?
20:48:26 <Deewiant> − again
20:48:57 <Deewiant> or \
20:49:37 <psygnisfive> my semantics prof used a minus sign for set minus
20:49:42 <psygnisfive> A-B instead of A\B
20:49:48 <Deewiant> yep
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
20:50:42 <Deewiant>
21:01:07 -!- pikhq has left (?).
21:06:27 <tusho> gah
21:06:33 <tusho> velociraptu.re is not taken
21:06:38 <tusho> but you have to be in reunion something
21:07:35 <psygnisfive> veloci-rapture? lol
21:23:50 <AnMaster> Deewiant, http://www.dsource.org/projects/llvmdc/
21:23:57 <AnMaster> Deewiant, does that work with ccbi?
21:32:52 <tusho> bah
21:32:54 <tusho> .st costs a lot
21:32:56 <tusho> 27 poudns a year
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:47 <psygnisfive> bologist?
21:41:57 <tusho> psygnisfive: inside joke.
21:42:06 <psygnisfive> you're someone who reads/edits Bolog?
21:42:11 <tusho> no.
21:42:16 <tusho> it's from biologist, obviously
21:42:31 <psygnisfive> oh, thats a dZ not a g
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.
21:59:13 <AnMaster> night btw
21:59:27 <ais523> night
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:06:35 <SimonRC> weird
22:06:49 <SimonRC> but not totally random
22:07:04 <ais523> no, not totally
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:48 <ais523> working pretty well
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:17:26 <SimonRC> ISTR exim does that
22:25:04 <olsner> who wants a cleveland steamer?
22:25:13 <ais523> olsner: ?
22:25:20 <olsner> just asking...
22:27:07 <SimonRC> please, this is a PG-13 channel
22:27:44 <pikhq> Lies.
22:27:50 * pikhq walks around the room naked
22:28:19 <lilja> uh oh
22:28:57 <tusho> it's not a pg-13 channel SimonRC
22:29:03 <ais523> it should me
22:29:05 <ais523> s/me/be/
22:29:07 <tusho> hasn't been since oklopol and bsmnt arrived
22:29:11 <tusho> which was ages ago.
22:29:38 <SimonRC> heh
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:07 <SimonRC> tusho: indeed
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:19 <tusho> but who cares?
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:39 <psygnisfive> what?
22:35:41 <psygnisfive> what'd i do?
22:35:52 <tusho> psygnisfive: ais523 is complaining that the channel isn't pg13
22:36:13 <psygnisfive> oh yes
22:36:37 <psygnisfive> so i was assraping a goat earlier and..
22:36:48 <tusho> oh you wacky psygnisfive
22:36:51 <psygnisfive> :D
22:39:21 * tusho awaits domain propogation
22:41:19 -!- AnMaster has quit (Connection timed out).
22:42:21 <psygnisfive> which domain did you get. tusho?
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:42:54 <psygnisfive> did you get bologi.st??
22:43:00 <tusho> no
22:43:03 <ais523> tusho: which domain did you register?
22:43:05 <tusho> .st costs £27/year
22:43:05 <tusho> :(
22:43:08 <psygnisfive> oh right
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:34 <ais523> ok, I'll look
22:43:35 <tusho> also don't give anyone the url. it's sekrit.
22:43:54 <psygnisfive> sekr.it?
22:43:58 <psygnisfive> :O
22:43:58 <tusho> no.
22:44:01 <psygnisfive> damn
22:44:21 <psygnisfive> tus.ho!
22:44:50 <tusho> no.
22:45:10 <psygnisfive> >.<
22:45:23 <ais523> what do you mean no.?
22:45:30 <tusho> i didn't get tus.ho
22:46:04 <psygnisfive> has ais blocked me or something?
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:12 <ais523> at the time
22:46:13 <psygnisfive> oh thats lame :P
22:46:14 <tusho> ... why?
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:37 <tusho> what
22:46:38 <tusho> raping goats?
22:46:40 <psygnisfive> about what sort of thing?
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:05 <psygnisfive> lol. ais, you have no sense of humor
22:47:08 <ais523> SimonRC: I have notifications pop up on top of everything when something comes through on IRC
22:47:09 <ais523> normally it's usual
22:47:15 <SimonRC> ok
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:12 <ais523> I saw that
22:48:16 <ais523> but not particularly
22:48:19 <psygnisfive> ok.
22:48:23 <SimonRC> psygnisfive: legality?
22:48:32 <ais523> definitely not if it was illegal, as I'm deliberately keeping this computer copyright-clean
22:48:34 <psygnisfive> probably completely illegal
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:31 <tusho> SimonRC: I know.
22:49:37 <tusho> But eso-std.org propagated in like
22:49:38 <tusho> 5 minutes
22:49:42 <SimonRC> luck?
22:49:45 <tusho> yes.
22:49:47 <tusho> I want luck
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:23 <psygnisfive> lol oklopol :D
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
22:51:42 <SimonRC> ais523: oh, yeah
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:31:18 <psygnisfive> BAHAHAHA
23:31:45 <psygnisfive> Gwen: Have you ever eaten alien meat?
23:31:45 <psygnisfive> Jack: Yes.
23:31:46 <psygnisfive> Gwen: What was it like?
23:31:48 <psygnisfive> Jack: Well, he' seemed to enjoy it. ;D
23:36:21 <SimonRC> *groan*
23:45:00 <psygnisfive> oh jesus christ
23:45:01 <psygnisfive> hahaha
23:45:12 <SimonRC> ?
23:45:23 <psygnisfive> Jack: ::yell at Gwen's husband, insulting him, etc.::
23:45:33 <psygnisfive> Rhys, the husband: ::yells back::
23:45:40 <psygnisfive> Jack, looking at Gwen: This is quite homoerotic..
23:52:57 <oklopol> i know a better joke
23:53:00 * oklopol farts
23:54:18 <psygnisfive> :(
2008-07-29
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.
08:06:23 <psygnisfive> hey
09:17:08 -!- lament has quit.
09:29:52 -!- olsner has quit ("Leaving").
09:30:56 -!- jemarch has joined.
09:34:02 <jemarch> hi
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:26:33 <AnMaster> Deewiant, ah ok
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:37:14 <tusho> what/
11:42:11 <AnMaster> Deewiant, it seems to be so indeed
11:42:15 <AnMaster> tusho, LLVMDC
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:44:56 <tusho> ...why?
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:12 <AnMaster> makes the code a lot cleaner
11:46:18 <tusho> sigh
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:48:01 <Deewiant> also known as <<loop>> in GHC
11:52:35 <AnMaster> <tusho> I have a new slogan. CFUNGE: Who cares, it's fast
11:52:37 <AnMaster> it isn't about that
11:52:46 <AnMaster> it is about cleaning up the IO stuff
11:52:52 <AnMaster> the current code is messy
11:53:00 <tusho> CFUNGE: Who cares, the code is modular and pretty
11:53:20 <AnMaster> hah
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:37 <tusho> Uh. AnMaster .
14:30:38 <AnMaster> tusho, mmap() doesn't work on files of size == 0
14:30:40 <tusho> Just special-case it.
14:30:41 <AnMaster> that's why
14:30:41 <tusho> for (;;)
14:30:53 <AnMaster> tusho, so yes I will special case it indeed
14:30:55 <AnMaster> that is what I said
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:40 <AnMaster> at runtime
14:32:47 <tusho> yes
14:32:48 <tusho> specialcase
14:32:52 <AnMaster> indeed....
14:32:55 <tusho> if (filetoloadsz == 0) { for (;;); }
14:33:02 <AnMaster> wrong
14:34:36 <AnMaster> anyway it is len
14:34:40 <AnMaster> that is the variable
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:35:21 <AnMaster> ;P
14:58:34 -!- ais523 has joined.
14:59:36 <AnMaster> hi ais523
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:26 <ais523> no
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:37 <ais523> that's fine
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:26 <pikhq> Sure it is!
15:03:29 <pikhq> Heard of longjmp?
15:03:30 <pikhq> :p
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:03:53 <pikhq> Fair 'nough.
15:03:55 <pikhq> Hmm.
15:04:00 * pikhq contemplates
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:05:59 * pikhq grins
15:06:17 <ais523> yes
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:04 <ais523> no
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:17 <ais523> welll, setjmp does
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:09:44 <pikhq> s/cflass/class/
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:16 <pikhq> Sweet. :)
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:10:58 <pikhq> Your thoughts?
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:40 <pikhq> Hmm.
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:14 <pikhq> Mmmkay.
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:10 <pikhq> ;p
15:15:30 <ais523> bubble sort of its command line argument?
15:15:50 <pikhq> Yup.
15:15:50 <ais523> must be, I just noticed the file name
15:15:56 <pikhq> Dammit; you figured it out.
15:16:00 <pikhq> :(
15:16:03 <pikhq> Ah well.
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:15 <ais523> well, yes
15:17:18 <ais523> the first command line argument
15:18:12 <Deewiant> ah, statics are initialized to zero
15:18:15 <Deewiant> didn't know that
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:45 <ais523> is the command line
15:19:53 <ais523> plus the filename of course
15:19:59 <ais523> but it's not a ridiculously long define
15:20:03 <Deewiant> -Dunsigned= ? evill
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:43 <Deewiant> :-P
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:20:51 <pikhq> :p
15:20:53 <ais523> pikhq: yes
15:21:01 <ais523> well, not exactly
15:21:13 <pikhq> ... How...?
15:21:15 <ais523> also the block of BF-like code near the start is not all Brainfuck
15:21:20 <ais523> about 3/4 of it is
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:32 <Deewiant> vim's probably will
15:22:34 * Deewiant tries
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:14 <Deewiant> no, evidently it doesn't :-/
15:23:20 <pikhq> Ahah.
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:01 <Deewiant> the $_= gave it away :-)
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:17 <pikhq> :-o
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:32 <pikhq> Shell?
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:24:48 <Deewiant> :-D
15:24:49 <pikhq> :p
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:27 <pikhq> I joke.
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:11 <Deewiant> Turing-complete? O_o
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:48 <AnMaster> -fstack-protector
15:46:50 <AnMaster> in gcc
15:46:51 <ais523> ah, ok
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:10 <AnMaster> ais523, ^
15:47:29 <AnMaster> gentoo has the patch back ported to 4.1, but official gcc only got it in 4.2 iirc
15:47:46 <ais523> ok
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:46 * AnMaster shrugs
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:46 <AnMaster> ais523, did cfunge work?
15:55:48 <ais523> C-INTERCAL itself worked first time
15:55:50 <ais523> cfunge didn't
15:55:56 <ais523> a huge number of things it needed weren't in the headers
15:56:06 <AnMaster> like?
15:56:18 <ais523> most of the stuff the TERM fingerprint uses
15:56:26 <AnMaster> that's just ncurses...
15:56:26 <ais523> but there were other things too
15:56:38 <ais523> well, I know
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:56:55 <AnMaster> ais523, what other things?
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:12 <AnMaster> ah
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:23 <AnMaster> ais523, heh?
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:11 <AnMaster> not saying that
16:05:14 <ais523> AnMaster: http://rafb.net/p/iaUKUX21.html
16:05:16 <AnMaster> but it isn't my thing
16:05:16 <ais523> my entry last year
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:35 <AnMaster> ais523, seen it before iirc
16:05:38 <ais523> ah, ok
16:05:38 <tusho> what does it do
16:05:39 <tusho> :P
16:05:49 <ais523> tusho: guess, there's a pretty big clue near the start of the program
16:05:57 <tusho> Oh.
16:05:57 <AnMaster> well as far as I can see it includes brainfuck
16:05:57 <tusho> Yeah.
16:06:03 <tusho> It's a BF interp
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:30 <AnMaster> that's pretty strange...
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:12 <pikhq> Argh.
16:07:16 <AnMaster> why not just remove the unsigned?
16:07:18 <AnMaster> ais523, ?
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:45 <AnMaster> ais523, ah um
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:09:50 <AnMaster> I see
16:09:53 <AnMaster> why use -ansi at all?
16:11:16 <ais523> because I can
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:50 <ais523> that's a zip file...
16:17:55 <tusho> yes.
16:17:59 <tusho> containing the interpreter.
16:20:28 <tusho> ah wait
16:20:30 <tusho> updated version:
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:39 <AnMaster> Deewiant, oh why?
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:18 <AnMaster> Deewiant, well yes of course
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:28 <AnMaster> TERM specs I mean
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:07 <Deewiant> yours does, yes
16:27:09 <MikeRiley> but would have to look at the code to be sure of that...
16:27:10 <Deewiant> does it work, though?
16:27:12 <AnMaster> MikeRiley, that is not portable
16:27:13 <Deewiant> I seem to recall it doesn't
16:27:14 <MikeRiley> does for me...
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:38 <AnMaster> I tested on that
16:27:42 <tusho> You go complaining about portability and stuff it full of obscure functions that might not even work.
16:27:46 <AnMaster> it works on freebsd 6.2
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:27 <ais523> tusho: I. Do.
16:28:31 <AnMaster> Deewiant, well as cygwin lacks mmap() apperently you can't get cfunge to work on it
16:28:34 * AnMaster shrugs
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:28:59 <AnMaster> pikhq, god no, I use cmake
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:08 <ais523> I just remembered
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:28 <Deewiant> MikeRiley: DOS != Windows :-)
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:05 <AnMaster> Deewiant, ^
16:31:08 <MikeRiley> ok, never seen that...
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:20 <AnMaster> let me check
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:08 <MikeRiley> term.h is standard...
16:32:09 <ais523> pdcurses on DOS, ncurses on Linux
16:32:17 <AnMaster> well cygwin is broken then
16:32:19 * AnMaster shrugs
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:27 <AnMaster> btw I'm testing out twinview
16:32:28 <ais523> MikeRiley: I installed all the packages in cygwin
16:32:29 <Deewiant> term.h comes with ncurses, no?
16:32:30 <AnMaster> really cool
16:32:34 <AnMaster> with dual screens
16:32:36 <AnMaster> :)
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:09 * Deewiant too!
16:33:31 <Deewiant> ./machine/termios.h
16:33:31 <Deewiant> ./ncurses/term.h
16:33:31 <Deewiant> ./ncurses/termcap.h
16:33:31 <Deewiant> ./sys/termio.h
16:33:33 <Deewiant> ./sys/termios.h
16:33:35 <Deewiant> ./termcap.h
16:33:38 <Deewiant> ./termio.h
16:33:40 <Deewiant> ./termios.h
16:33:45 <ais523> nope, no term.h
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:34:26 <AnMaster> hm
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:09 <MikeRiley> that is possible...
16:38:13 <Deewiant> /usr/include/ncurses/term.h exists here
16:38:14 <ais523> I do, definitely
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:38:24 <ais523> but not plain 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:37 <Deewiant> why not
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:42 <AnMaster> across a edge
16:39:43 <Deewiant> windows has equivalents
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:30 <AnMaster> ais523, not really
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:40:46 <AnMaster> less complicated logic
16:40:55 <AnMaster> ais523, I am?
16:40:58 <AnMaster> not really
16:41:00 <ais523> I thought you were
16:41:02 <Deewiant> AnMaster: why would it matter?
16:41:05 <AnMaster> gcc may be unrolling them
16:41:05 <ais523> in compiler switches
16:41:09 <AnMaster> but I don't
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:03 <AnMaster> hm?
16:42:13 <Deewiant> how is it simpler
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:30 * AnMaster shrugs
16:42:38 <ais523> AnMaster: yes, you need a posix_memory_cache_advise instead now
16:42:43 <AnMaster> ais523, nop
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:01 <Deewiant> or how does mmap work
16:43:05 * ais523 was about to say that
16:43:06 <AnMaster> Deewiant, yes I do
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:31 <AnMaster> ais523, hm?
16:45:33 <Deewiant> ais523: except that exec won't do what you think it does
16:45:40 <AnMaster> Deewiant, it won't?
16:45:40 <ais523> although it advices you to do spawn instead to save a lot of trouble
16:45:52 <Deewiant> AnMaster: well, it'll /work/
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:36 <Deewiant> fso spawnvp
16:46:36 <AnMaster> not what you meant I guess?
16:46:38 <ais523> AnMaster: "spawn" is a common name for fork/exec mixes
16:46:38 <Deewiant> err
16:46:42 <Deewiant> try spawnvp
16:46:52 <AnMaster> $ man spawnvp
16:46:53 <AnMaster> No manual entry for spawnvp
16:46:54 <ais523> it's often implemented even on systems where fork isn't
16:47:09 <AnMaster> $ man spawn<tab>
16:47:10 <AnMaster> spawn spawn-fcgi spawn.h
16:47:14 <AnMaster> where the spawn one is 8
16:47:16 <Deewiant> posix_spawn apparently
16:47:22 <AnMaster> haha @ Deewiant
16:47:23 <AnMaster> :P
16:47:31 <Deewiant> no, really :-P
16:47:35 <Deewiant> posix_spawn and posix_spawnp
16:47:45 <ais523> $ man posix_spawn
16:47:45 <ais523> No manual entry for posix_spawn
16:47:53 <Deewiant> http://www.google.com/search?q=posix_spawn
16:47:54 <AnMaster> I got a man page for it
16:48:29 <Deewiant> These functions are part of the Spawn option and need not be provided on all implementations.
16:48:37 <AnMaster> well
16:48:43 <AnMaster> not going to use that am I?
16:48:49 <Deewiant> well
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:48:58 <AnMaster> for PERL
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:18 <AnMaster> NAME
16:49:19 <AnMaster> posix_spawn, posix_spawnp - spawn a process (ADVANCED REALTIME)
16:49:21 <AnMaster> well...
16:49:22 <AnMaster> tusho, ^
16:49:28 <AnMaster> Deewiant, want me to use that
16:49:29 <tusho> ADVANCED REALTIME
16:49:30 <AnMaster> HELP!
16:49:36 <ais523> not the ADVANCED REALTIME version
16:49:36 <AnMaster> tusho, I don't want to use it
16:49:38 <AnMaster> AARRGH
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:47 <AnMaster> Deewiant, ah yes indeed :)
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:49:59 <AnMaster> that
16:50:00 <AnMaster> is
16:50:01 <AnMaster> WORSE
16:50:03 <AnMaster> than windows
16:50:06 <AnMaster> oh god
16:50:08 <AnMaster> what a mess
16:50:13 <Deewiant> no, it's about the same
16:50:15 <ais523> spawnlp is the common name on Windows
16:50:26 <Deewiant> ahh, VC``
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:33 <Deewiant> s/`/+/g
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:24 <Deewiant> ew, vfork
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:11 <Deewiant> :-)
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:48 <Deewiant> beats me
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:03 <AnMaster> ais523, hm ok
16:53:07 <ais523> so does fork + exec
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:17 <AnMaster> so I use fork()
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:30 <AnMaster> ais523, ^
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:48 <ais523> with vfor
16:53:50 <ais523> s/$/k/
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:11 <ais523> oh, not malloc
16:54:18 <ais523> that would definitely not be allowed
16:54:23 <AnMaster> indeed
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:55:47 <AnMaster> nor does linux
16:55:49 <AnMaster> or any other *bsd
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:24 <AnMaster> nor does OS X
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:12 <AnMaster> ah
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:32 <oklopol> that would be sweet
17:03:40 <Deewiant> just run BeOS
17:03:41 <ais523> oklopol: will you still join #esoteric?
17:03:43 <Deewiant> or something
17:03:49 <oklopol> ais523: perhaps :D
17:04:00 <Deewiant> BeOS or RISC OS
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:15 <Deewiant> yeah, that too :-)
17:15:30 <AnMaster> Deewiant, but BeOS got some users iirc
17:15:38 <AnMaster> something like a open source clone
17:15:40 <Deewiant> so does RISC OS
17:15:43 <AnMaster> Haiku?
17:15:47 <AnMaster> something like that
17:15:53 <AnMaster> something japanese style in name
17:15:55 <AnMaster> I remember that
17:15:56 <Deewiant> I wonder, is having "OS" in the name of an OS a criterion for it not becoming popular
17:16:02 <AnMaster> Mac OS?
17:16:11 <AnMaster> hm yeah I guess you are right
17:16:21 <Deewiant> hm, Mac OS, good point
17:16:33 <ais523> PCLinuxOS is a pretty popular Linux distro
17:16:33 <Deewiant> maybe the "X" cancels it out
17:16:34 <AnMaster> Deewiant, well it isn't very popular ;P
17:16:40 <AnMaster> that was *my* point
17:16:44 <Deewiant> I know
17:16:49 <Deewiant> and I think you're wrong
17:16:53 <Deewiant> it's quite popular
17:17:00 <AnMaster> hm ok
17:17:01 <AnMaster> maybe
17:17:07 <oklopol> ais523: is it more popular than mac os?
17:17:11 <AnMaster> anyway has anyone here tried twinview?
17:17:14 <AnMaster> I did that today
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:17:40 <AnMaster> quite cool
17:17:45 <AnMaster> or even: very cool
17:20:31 <tusho> os x is second to windows
17:20:34 <tusho> in popularity
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:49 <tusho> ais523: *g*
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:00 <ais523> with Linux at 3%
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:03 <tusho> exact opposite...
17:22:05 <tusho> so it's featureful
17:22:08 <tusho> intuitive
17:22:11 <tusho> elegant
17:22:12 <tusho> fast
17:22:14 <tusho> lean
17:22:16 <tusho> and free?
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:34 <ais523> based on its filename
17:22:42 <tusho> innocentprogram.exe
17:22:50 <Deewiant> shoppinglist.txt
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:34 <ais523> no
17:23:39 <tusho> IE being a web browser is debatable...
17:23:40 <tusho> :P
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:23:58 <Deewiant> tusho: IE 7 is semi-decent
17:24:00 <ais523> like a cross between bash and emacs
17:24:10 <Deewiant> chording?
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:24:40 <Deewiant> ah, right
17:24:54 <Deewiant> "RSI-inducing"
17:25:13 * ais523 thinks that that's their favourite backronym for Emacs
17:25:30 <Deewiant> :-)
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:29 <tusho> it's redundant.
17:27:30 <Deewiant> and with two, even more so ;-)
17:30:41 <AnMaster> Deewiant, when would you use that?
17:30:51 <Deewiant> what?
17:31:08 <AnMaster> alt-control-shift-5...
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:34 <AnMaster> err isn't that Meta-%?
17:31:38 <AnMaster> maybe not
17:31:43 <ais523> no, it's control-meta-%
17:32:12 <AnMaster> ok that's silly
17:32:18 <AnMaster> never used that key combo
17:32:24 <AnMaster> I guess you can rebind it?
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:32:40 <AnMaster> regex*
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:26 <tusho> brb
17:33:27 <AnMaster> ais523, and no I'm happy with C-x C-s for save :)
17:33:31 <AnMaster> and so on
17:33:44 <AnMaster> most work fine
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:04 <AnMaster> heh
17:34:09 <olsner> geez, alt-ctrl-shift-5
17:34:16 <AnMaster> ais523, btw escape then ctrl-shift-5 works
17:34:20 <AnMaster> which is rather easy
17:34:23 <ais523> well yes but that's harder to type
17:34:26 <AnMaster> as escape already does meta
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:35 <AnMaster> so easier
17:34:39 <ais523> AnMaster: it takes longer
17:34:42 <AnMaster> ais523, well I got big hands
17:34:43 <ais523> and I have to move my left hand
17:34:45 <ais523> %
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:00 <AnMaster> about half a cm moving
17:35:07 <AnMaster> ais523, ^
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:19 <AnMaster> seems tiny to be
17:35:24 <AnMaster> as I said I got large hands
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:05 <AnMaster> and yet another way in nano
17:37:12 <AnMaster> ais523, I use several text editors
17:37:16 <ais523> so do I
17:37:25 <AnMaster> emacs, nano, kate, kdevelop
17:37:26 <ais523> but in Kate I generally have to go through the menus to get to things
17:37:27 <AnMaster> that's it I think
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:48 <AnMaster> ais523, hah ok truew
17:37:49 <AnMaster> true*
17:37:54 <AnMaster> nano is not for programming
17:37:59 <AnMaster> it is great for a quick config file edit
17:38:03 <AnMaster> where you don't want *~
17:38:05 <AnMaster> :D
17:38:17 <AnMaster> ais523, see what I mean?
17:38:33 <ais523> what does the *~ represent?
17:39:19 <AnMaster> ais523, a glob
17:39:21 -!- Corun has joined.
17:39:23 <AnMaster> for backup files
17:39:27 <AnMaster> foo.c~
17:39:28 <AnMaster> for example
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> "EXEC" 0x45584543
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:28 <AnMaster> MikeRiley, hm
18:04:56 <AnMaster> MikeRiley, this is "Variations of k in C flat"? ;P
18:05:07 <MikeRiley> yep...
18:05:17 <AnMaster> MikeRiley, sure why not
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:36 <MikeRiley> plus a few other fun variations..
18:05:39 <AnMaster> parameters
18:05:41 <AnMaster> for that command
18:05:45 <MikeRiley> parameters would be above the command
18:05:47 <AnMaster> not sure how it will be handled
18:05:51 <AnMaster> above?
18:05:59 <AnMaster> parameters *for* command
18:06:01 <MikeRiley> yep....cmd would be popped from the stack
18:06:02 <AnMaster> not for X
18:06:09 <AnMaster> so below?
18:06:12 <MikeRiley> yes....
18:06:18 <AnMaster> ah
18:06:33 <MikeRiley> so the stack would appear as if the command came from Funge-space...
18:06:38 <AnMaster> ah yes
18:06:51 <AnMaster> damn cd burning failed
18:06:53 <AnMaster> damn damn
18:07:00 <MikeRiley> hate when that happens!!! :(
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:09:26 * AnMaster tries
18:10:02 <AnMaster> bbl guests
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:28:01 <tusho_> cool
18:28:49 <Tritonio_> and they occupy n*k space
18:29:00 <Tritonio_> n is the size, k bytes/place.
18:29:02 <pikhq> ... More than one byte in each position?!?
18:29:06 <Tritonio_> well not n*k exactly.
18:29:09 <pikhq> Ah.
18:29:18 <Tritonio_> more than one byte in each indexed position
18:29:20 <Tritonio_> :-)
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:30:26 <Tritonio_> i'll paste it... just a minute.
18:30:56 <AnMaster> Tritonio_, oh my
18:30:58 <AnMaster> :P
18:31:07 <AnMaster> Tritonio_, rewrite that script in brainfuck
18:31:08 <AnMaster> :P
18:31:11 <pikhq> Um.
18:31:20 <Tritonio_> http://pastebin.com/m2e5b786a
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:36 <tusho_> Tritonio_: PEBBLE! :p
18:32:45 <AnMaster> Tritonio_, brainfuck with jumps + some other stuff
18:32:49 <Tritonio_> system programming?
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:03 <AnMaster> I didn't invent it...
18:33:19 <Tritonio_> aaaah the brainfuck OS?
18:33:23 <RodgerTheGreat> yup
18:33:25 <AnMaster> pikhq, but see the issue with Def-BF and arrays
18:33:30 <AnMaster> RodgerTheGreat, you too ^
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:06 <Tritonio_> nooooo
18:34:08 <AnMaster> pikhq, how will you implement it in Def-BF?
18:34:12 <RodgerTheGreat> AnMaster: ohho- you're wrong
18:34:21 <AnMaster> RodgerTheGreat, oh?
18:34:26 <RodgerTheGreat> one sec
18:34:29 <pikhq> Same way you do in C.
18:34:33 <pikhq> ;)
18:34:35 <Tritonio_> Wait, I thought that the whole OS except of a small part is written in brainfuck
18:34:45 <RodgerTheGreat> http://nonlogic.org/dump/text/1217352754.html
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:39 <AnMaster> how do you make them?
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:04 <AnMaster> and what isn't?
18:36:09 <AnMaster> RodgerTheGreat, !
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:38:08 <pikhq> Rodger gets it.
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:06 <AnMaster> oh well
18:40:14 <RodgerTheGreat> 'course, there's no reason you can't do standard binary loading at runtime this way either
18:40:29 <RodgerTheGreat> this is pretty standard stuff when writing an OS
18:40:31 <pikhq> It loads those binaries into memory, sticking the data section wherever the kernel declares that it will go.
18:40:40 <RodgerTheGreat> yep
18:40:51 <pikhq> Then, as far as malloc goes? The kernel defines an area where the heap goes.
18:40:53 <AnMaster> hm
18:40:57 <RodgerTheGreat> as well as patching addresses with the offset it's loaded at in memory
18:40:58 <AnMaster> right
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:49:28 <psygnisfive> morning! :D
18:54:04 -!- moozilla has quit (Read error: 110 (Connection timed out)).
18:54:06 <Tritonio_> goodmorning psygnisfive.
18:54:17 <psygnisfive> AHH!
18:54:20 <psygnisfive> WHO ARE YOU?1
18:54:27 <Tritonio_> ME?
18:54:38 <psygnisfive> YES
18:54:39 <psygnisfive> O_O
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:27 <pikhq> Well, yes...
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:05:41 <tusho_> graphs are fun
19:05:47 <tusho_> ooh
19:05:48 <tusho_> oklopol
19:05:51 <tusho_> what about ...
19:05:54 <tusho_> ASSOCIATIVE GRAPHS
19:06:24 <pikhq> What about associative stacks?
19:06:25 <pikhq> :p
19:07:37 <tusho_> associative gracks
19:07:45 <oklopol> now what are associative graphs?
19:07:48 <tusho_> dunno
19:07:51 <tusho_> you tell me
19:07:53 <oklopol> :)
19:09:24 <tusho_> oklopol: i said tell me
19:12:01 -!- lament has joined.
19:13:24 <tusho_> LAMENT;
19:13:26 <tusho_> HOW I LAMENT
19:13:30 <tusho_> YOUR PASSING AWAY
19:13:34 <tusho_> IT IS GOOD YOU ARE BACK.
19:13:38 <tusho_> i be an poet
19:13:50 <lament> verily!
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:20 <tusho_> LAMENT;
19:14:21 <tusho_> HOW I LAMENT
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:36 <tusho_> it's flexible!
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:26 <alexbobp> Why is #irp so empty?
19:15:31 <lament> set up my own i guess
19:15:39 <lament> alexbobp: because that joke got old several years ago
19:15:46 <alexbobp> lament: good reason, I guess
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:10 <lament> and you lose stuff
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:37 <lament> sure
19:17:41 <lament> no
19:17:43 <lament> they should use irc
19:17:51 <lament> if they normally talk to me on irc
19:17:56 <alexbobp> well, okay.
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:18:55 <lament> os x
19:19:04 <alexbobp> ah, well, that's not to bad. You can't run screen on it?
19:19:09 <lament> no clue
19:19:16 <lament> i guess i can
19:19:20 <alexbobp> run the terminal, try it!
19:19:26 <alexbobp> if not, you can probably get it with DarwinPorts.
19:19:27 <lament> yep, it works
19:19:30 <lament> as does irssi
19:19:42 <lament> i'll just use my home box then.
19:19:44 <tusho_> lol@not too bad
19:19:50 <tusho_> lament: there's an irssi thing
19:19:51 <tusho_> called macirssi
19:19:54 <tusho_> which is basically irrsi.
19:19:56 <tusho_> in a cocoa window.
19:19:58 <lament> gay
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:20 <tusho_> but yeah.
19:20:21 <tusho_> i guess.
19:20:59 <lament> btw, anybody here puts their home directory in a VCS?
19:21:24 <pikhq> No, but I should.
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:25 <tusho_> e.g. open iphoto
19:27:26 <tusho_> click it
19:27:28 <alexbobp> tusho_: okay, so just like shadow copy
19:27:28 <tusho_> travel back in time
19:27:31 <tusho_> get a deleted photo
19:27:33 <tusho_> and bring it back
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:14 <tusho_> in one operation
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:05 <tusho_> and do it with files
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:03 <tusho_> Ha, ha.
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:41 <pikhq> So?
19:30:50 <lament> i guess that's when you notice and create ignore rules for them
19:30:55 * pikhq nods
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:04 <lament> oh and another thing
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:14 <lament> that i want versioned
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:40 <alexbobp> That's just as fast.
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:38 <alexbobp> lament: rsync
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:32:54 <lament> curiosity, perhaps
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:01 <oklopol> and i'm a fucking genius!
19:36:05 <lament> alexbobp: no, that's not what i said.
19:36:26 <lament> oklopol: seconded!
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:36:55 <lament> files are silly
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:20 <tusho_> it'd be
19:37:26 <Tritonio_> reiserFS?
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:37:51 <tusho_> and so fsat
19:37:53 <tusho_> *fast
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:11 <lament> alexbobp: exactly
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:16 <tusho_> EXACTLY
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 <oklopol> that's like so 50's
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:32 <tusho_> That takes 2 seconds.
19:39:34 <tusho_> You have to know the XML format.
19:39:36 <tusho_> Manually merge it.
19:39:38 <tusho_> etc...
19:39:42 <oklopol> alexbobp: yes, but is that at all useful?
19:39:46 <tusho_> In your case.
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:01 <tusho_> EXPERTISE
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:31 <tusho_> HAHAHAH
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:11 <tusho_> yes. you did.
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:54 <alexbobp> it's not 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:24 <tusho_> It's a common myth.
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:06 <tusho_> Duh.
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:44:57 <alexbobp> How about this:
19:44:57 <oklopol> you're both wrong
19:45:02 <alexbobp> Mice are slow*
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:45:50 <lament> Keyboards are slow.
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:22 <lament> as is surfing the web
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:33 <alexbobp> tusho_: vim
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:20 <tusho_> with the keyboard
19:47:23 <oklopol> tusho_: probably
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:29 <tusho_> you can choose one
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:35 <tusho_> I'd use it
19:48:38 <oklopol> do you have info about that?
19:48:41 <tusho_> and apparently it's pretty handy
19:48:45 <oklopol> handy as in fun
19:48:48 <tusho_> not for specific moving
19:48:52 <tusho_> but getting to the 'right place' roughly fast
19:49:00 <oklopol> indeed
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:36 <alexbobp> lament: ah, okay
19:50:40 <alexbobp> lament: I just use ijkl
19:50:42 <Deewiant> after that, getting to the correct position is quick
19:50:42 <alexbobp> erm hjkl
19:50:48 <tusho_> haha
19:50:51 <tusho_> you don't use w?
19:50:56 <alexbobp> tusho_: should I?
19:51:02 <tusho_> ok, alexbobp has been using vim for...24 hours, I'll say
19:51:03 <Deewiant> I use W the most, probably
19:51:06 <tusho_> if he just uses hjkl to navigate
19:51:13 <pikhq> Bah.
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:20 <Deewiant> I use stne to navigate. ;-)
19:51:22 <pikhq> Emacs, I say!
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:49 <tusho_> as opposed to esc
19:51:53 <lament> tusho_: shush
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:23 <lament> hm
19:52:27 <pikhq> I was about to ask how anyone could use Vi without moving Esc to, say, Caps Lock...
19:52:29 <pikhq> Now I know.
19:52:38 <lament> i can't press Esc without moving my hand from the home row
19:52:39 <Deewiant> I use Ctrl-]
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:52:59 <Deewiant> I use backspace=caps-lock
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:53:35 <lament> tusho_: oh :)
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:00 <pikhq> Wheee.
19:55:02 <lament> so cool
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:41 <alexbobp> tty1
19:55:53 <tusho_> why are you on irc if you are trying to work lament
19:55:54 <tusho_> er
19:55:55 <tusho_> alexbobp:
19:57:09 <alexbobp> tusho_: stop pinging me!
19:57:23 <tusho_> alexbobp:
20:07:29 <SimonRC> lament: I have seen suns with ctrl and caps the "other" way round
20:07:45 <lament> yeah
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:02 <SimonRC> you could buy one?
20:08:03 <pikhq> It's easy.
20:08:05 <pikhq> xmodmap.
20:08:07 <pikhq> Voila.
20:08:08 <lament> no
20:08:12 <SimonRC> or use a macro keyboard?
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:46 <SimonRC> but not hard enough
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:18 <pikhq> Nothing.
20:09:18 <lament> nothing
20:09:20 <Deewiant> rare occasions
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:28 <tusho_> i use capslock
20:09:31 <lament> a whole bunch of buttons would be good on rare occasions
20:09:33 <tusho_> e.g. for sql
20:09:42 <lament> but the keyboard doesn't have those buttons
20:09:52 <Deewiant> aye
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:09 <tusho_> pikhq: :D
20:10:30 <lament> pikhq: why "next"?
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:22 <SimonRC> pikhq: really?
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:07 <SimonRC> pikhq: huh?
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:12:58 <tusho_> Good undercover work.
20:13:07 <SimonRC> and that was the first version only
20:13:19 <lament> hm
20:13:25 <lament> maybe you did deserve the shooting after all.
20:13:39 <tusho_> lament: what? He tried to sabotage it
20:13:45 <tusho_> That's a noble duty!
20:14:30 <pikhq> Good job.
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:14:57 <pikhq> :p
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:18:29 <Deewiant> yes, "normal" :-P
20:18:41 * SimonRC digs it up.
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:23 <RodgerTheGreat> Deewiant: that totally makes me want to learn haskell
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:25 <RodgerTheGreat> wouldn't a better name for "comonads" be "duonads"?
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:31 <RodgerTheGreat> I didn't mean "better" as "more accurate"
20:22:34 <lament> or at least, in some places
20:22:39 <RodgerTheGreat> I think it'd be a more entertaining name
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:39 <RodgerTheGreat> tusho_: that's the spirit
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:08 <tusho_> SimonRC: it doesn't.
20:24:15 <SimonRC> correction
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:40 <tusho_> SimonRC: Yes they do
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:26:51 * RodgerTheGreat references esolang
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:27:27 <tusho_> :P
20:27:29 <SimonRC> *clunk* namedropping
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:28:56 <SimonRC> alexbobp: "SNOW"?
20:29:02 <tusho_> olsner: *g*
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:51 <tusho_> :P
20:29:55 <alexbobp> SimonRC: it would have to be the source. Modifying whitespace in binaries would mangle them.
20:30:03 <alexbobp> er, what tusho_ said
20:30:05 <SimonRC> alexbobp: that was the joke I was making
20:30:14 <tusho_> SimonRC: it wasn't ... very funny
20:30:15 <tusho_> :P
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:11 <lament> ah.
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:29 <SimonRC> alexbobp: eh?
20:31:40 <lament> SimonRC: we could shoot all those people
20:31:48 <alexbobp> SimonRC: yeah, it's not good stego
20:32:13 <tusho_> SimonRC: I do that!
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:26 <tusho_> same with images
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:32:39 <tusho_> under my cursor
20:32:44 <RodgerTheGreat> nifty: http://www.darkside.com.au/snow/
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:12 <RodgerTheGreat> lol
20:33:13 <pikhq> You could probably get a good way of steganography on binaries by sticking stuff in .data and .bss...
20:33:14 <tusho_> :D
20:33:20 <RodgerTheGreat> my mistake
20:33:25 <alexbobp> tusho_: That somehow gets really crazy sometimes
20:33:28 <alexbobp> tusho_: I've tried
20:33:31 <tusho_> yes it does
20:33:31 <tusho_> but yay
20:33:32 <tusho_> :D
20:33:33 <tusho_> it'd be fun
20:33:34 <RodgerTheGreat> I came there in a pretty roundabout fashion
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:41 <pikhq> Ah, yes. :D
20:34:51 <SimonRC> RodgerTheGreat: umm, where
20:34:53 <SimonRC> ?
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:35:37 <SimonRC> ihm that thing
20:35:40 <SimonRC> *oh
20:35:53 <SimonRC> not again after last time
20:36:02 <tusho_> oh god
20:36:03 <tusho_> basil
20:36:07 <tusho_> i never did that
20:36:28 <pikhq> I did.
20:36:35 <pikhq> :)
20:36:45 <RodgerTheGreat> it took pikhq about three days of swearing at me
20:37:02 * pikhq nods
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:27 <RodgerTheGreat> it was always a 403
20:37:30 <tusho_> was it?
20:37:35 <tusho_> ok, I seem to remember a 404
20:37:35 <SimonRC> they serve only to infuriate me
20:37:36 <tusho_> but ok
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:30 <pikhq> Absolutely.
20:38:42 <tusho_> gulesfish was quite nice
20:38:45 <tusho_> basil was just evil.
20:38:51 <psygnisfive> o.o
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:06 <psygnisfive> need moar intresting languages :|
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:25 <tusho_> no.
20:40:27 <tusho_> just a puzzle game
20:40:47 <RodgerTheGreat> doesn't need any specialized tools
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:06 <pikhq> Ever.
20:41:17 <RodgerTheGreat> (and one of those people may have cheated)
20:41:30 <SimonRC> RodgerTheGreat: how can one cheat?
20:41:45 <alexbobp> okay, so it's not UDP either
20:41:47 <RodgerTheGreat> if you had admin access and could cat out my PHP files
20:41:58 <SimonRC> ok
20:42:20 <tusho_> alexbobp: it's really trivial.
20:42:23 <tusho_> view the source...
20:42:40 <RodgerTheGreat> tusho_: and no hints after the first page, please
20:42:40 <pikhq> And away you go.
20:42:43 <SimonRC> RodgerTheGreat: that doesn't *solve* the puzzle as such, but in deed the app can't tell
20:42:44 <tusho_> RodgerTheGreat: sure
20:42:49 <tusho_> but he was going in totally the wrong way
20:42:50 <tusho_> wait a second
20:42:55 <tusho_> connection refused != 403
20:43:00 <RodgerTheGreat> :D
20:43:01 <tusho_> connection refused = no connection was even made to the http server
20:43:02 <tusho_> :\
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:03 <pikhq> LMAO
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 <tusho_> hahahahaahhhahahahaa
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:26 <tusho_> 'server-fo-shizzle'?
20:45:33 <alexbobp> tusho_: my server's name
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:45:47 * pikhq laughs further
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:02 <pikhq> *facepalm*
20:47:17 <RodgerTheGreat> jesus
20:47:29 * alexbobp just got fucked in the brain
20:47:42 <psygnisfive> hey guys hpw about we talk about interesting languages? :D
20:47:42 <psygnisfive> :p
20:47:45 <RodgerTheGreat> well, that's a little warmer
20:48:08 <pikhq> RodgerTheGreat: I bet it'll take him a while. Should be damned hilarious to watch, though.
20:48:15 <RodgerTheGreat> agreed
20:48:24 <tusho_> "DO I HAVE TO BUY BASIL IRL TO BEAT THIS"
20:48:34 <RodgerTheGreat> lmao
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 <psygnisfive> oklopol! :D
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:02 <RodgerTheGreat> naturally
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:03 <SimonRC> um, I fail at typeing
20:54:27 <SimonRC> I don't like being the unleet, yet I do not generally manage to become the leet
20:57:27 <psygnisfive> simonrc: wha?
20:57:34 <alexbobp> RodgerTheGreat: I see you're a mac user?
20:57:45 <RodgerTheGreat> yes
20:57:47 <lament> basil is the one that at some point just becomes fucked up silly?
20:57:47 <psygnisfive> yeah rodger, mac pride :D
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:02 <RodgerTheGreat> psygnisfive: fuck yeah
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:34 <psygnisfive> tusho_: since when do you use macs?
20:58:48 <tusho_> psygnisfive: um... since forever
20:58:52 <psygnisfive> huh.
20:58:55 <tusho_> december 2006 I think?
20:59:03 <psygnisfive> k
20:59:33 <lament> tusho_: it's a channel full of fags
20:59:51 <lament> just proves
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:27 <psygnisfive> lament = gay?
21:00:28 <lament> there is
21:00:30 <lament> you have to use a mac
21:00:34 <lament> psygnisfive: no, i'm an idiot.
21:00:38 <psygnisfive> oh
21:00:45 <psygnisfive> it'd be better if you were gay
21:00:56 <psygnisfive> be gay, lament.
21:01:34 <alexbobp> lament: I know plenty of gay people who don't use a mac.
21:02:00 <lament> psygnisfive: no.
21:02:07 <psygnisfive> :(
21:02:17 * SimonRC curses homophobes
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:40 <oklopol> hmm right
21:02:47 <SimonRC> or rather has left no word for it
21:02:56 <psygnisfive> simonrc: :D
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:03:46 <SimonRC> *black
21:03:53 <psygnisfive> or a black gay coworker
21:04:00 <SimonRC> heh
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:04 <psygnisfive> MULLET?
21:05:09 <alexbobp> http://youtube.com/watch?v=TT4XO3Hjp7M
21:05:09 <psygnisfive> on a BLACK MAN?
21:05:14 <psygnisfive> is that even POSSIBLE?
21:05:26 <alexbobp> psygnisfive: If so, I want pictures!
21:05:27 <lament> it would be pretty gay!
21:05:38 <psygnisfive> it would be pretty ungay actually
21:08:11 <SimonRC> RodgerTheGreat?
21:08:22 <SimonRC> RodgerTheGreat: hello?
21:09:19 <RodgerTheGreat> sorry
21:09:24 <RodgerTheGreat> I'm inking something
21:09:35 <SimonRC> ooh
21:09:37 <SimonRC> what?
21:10:25 <SimonRC> (as in, what are you inking?)
21:10:47 <RodgerTheGreat> a short story
21:11:01 <SimonRC> cool
21:11:03 <SimonRC> anyway
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:14:51 <RodgerTheGreat> the person who "cheated" did it a long time ago
21:15:09 <RodgerTheGreat> and thanks, simonRC
21:15:15 <RodgerTheGreat> this is why we can't have nice things
21:15:29 <SimonRC> bad security?
21:15:44 <RodgerTheGreat> it
21:15:55 <RodgerTheGreat> it's a puzzle. The point of the thing is to work to solve it.
21:16:07 <RodgerTheGreat> it's not a "security puzzle"
21:16:15 <SimonRC> well, yeah
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:17:46 * SimonRC fwaps SimonRC.
21:18:24 <tusho_> SimonRC: I believe the term is Swhack. :P
21:18:34 <tusho_> lolcanada
21:18:34 <SimonRC> eh?
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 <SimonRC> tusho_: ok
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:19:34 <AnMaster> tusho_, what?
21:20:35 <tusho_> AnMaster: I was talking about canad
21:20:35 <tusho_> a
21:20:39 <AnMaster> ah
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:15 <tusho_> that's your only clue
21:27:35 <lament> basil sucks
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:24 <SimonRC> basil
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:32 <SimonRC> I stopped months ago
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:28:53 <oklopol> the first one that is
21:29:14 <tusho_> well duh
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:29:22 <tusho_> gulesfish or ...
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:31 <tusho_> *same
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:07 <tusho_> oklopol: ok.
21:31:13 <tusho_> oklopol: why not use the same tatctic again
21:31:14 <tusho_> *tactic
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:44 <tusho_> the second 403 page?
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:51 <tusho_> you...
21:31:59 <oklopol> tusho_: err, i read the source
21:32:03 <tusho_> oklopol: so...
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:23 <oklopol> tusho_: aaaand?
21:32:27 <tusho_> oklopol: ok.
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:43 <tusho_> 3. so...
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:19 <tusho_> _can't solve_
21:33:21 <tusho_> if you can't solve it, how is it trivial
21:33:31 <oklopol> what
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:41 <tusho_> that means
21:33:41 <lament> your english is fine
21:33:43 <oklopol> my language skills have disappeared
21:33:46 <tusho_> "I am unable to solve the second puzzle."
21:33:49 <tusho_> Now you are saying
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:33:59 <oklopol> ah, right
21:34:03 -!- Hiato has quit ("Leaving.").
21:34:08 <oklopol> tusho_: i'd've said "have i mentioned..."
21:34:08 <tusho_> lament: ahh
21:34:09 <tusho_> I see
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:42 <lament> yes.
21:35:46 <tusho_> you won't fail at it.
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:35:51 <tusho_> :P
21:36:00 <oklopol> i wouldn't necessarily press that.
21:36:12 <tusho_> your loss
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:27 <tusho_> shrug
21:37:31 <oklopol> this is also called programming
21:37:32 <psygnisfive> what are you people talking about?!
21:37:35 <oklopol> it's one of my hobbies
21:37:46 <psygnisfive> he can't not not unsolve it what
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:38:32 <SimonRC> yes
21:38:46 <psygnisfive> what are you guys talking about?! >_<
21:38:58 <oklopol> psygnisfive: you
21:39:01 <psygnisfive> :o
21:39:02 <psygnisfive> <3
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:05 <oklopol> and your hot sexy mama
21:39:09 <lament> psygnisfive: http://rodger.nonlogic.org/PHP/Example.php
21:39:18 <psygnisfive> what about it
21:39:27 <lament> psygnisfive: it's what we're talking about.
21:39:36 <psygnisfive> its a Forbidden page, whats to talk about
21:39:45 <lament> we're #esoteric
21:39:45 <tusho_> nobody tell him.
21:39:47 <oklopol> psygnisfive: it's a puzzle
21:39:51 <tusho_> no it's not oklopol
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:39:55 <oklopol> sorry
21:39:56 <psygnisfive> oh, its one of those stupid puzzles
21:40:01 <oklopol> but i like lying to ppl
21:40:01 <psygnisfive> i see
21:40:15 <tusho_> psygnisfive: what is there that you don't consider stupid?
21:40:23 <lament> SimonRC: :D
21:40:25 <SimonRC> just but looking at the effect it had on me over a day or two
21:40:28 <SimonRC> *by
21:40:31 <psygnisfive> tusho_: oklopol isnt stupid :o
21:40:40 <lament> SimonRC: did you actually parse the tif and stuff?
21:40:41 <oklopol> :D
21:40:51 <SimonRC> lament: I looked at the size of the tiff
21:41:00 <SimonRC> it strongly suggests that
21:41:03 <oklopol> psygnisfive: i tried to install a c++ compiler today
21:41:05 <oklopol> was a bit too hard
21:41:10 <SimonRC> the picture is in bitmap form
21:41:42 <SimonRC> not, as artifacts suggest, a jpeggy form
21:41:48 <psygnisfive> is that brainfuck?
21:41:51 <psygnisfive> why am i doing this >_<
21:42:03 <RodgerTheGreat> .tiff is an uncompressed image format, by the way
21:42:28 <RodgerTheGreat> lots of cameras and scanners dump to it natively
21:42:36 <SimonRC> RodgerTheGreat: I read the wikipedos article and I thought it said it can be compressed sometimes
21:42:47 <RodgerTheGreat> only losslessly
21:42:51 <SimonRC> ok
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:14 <psygnisfive> i find brainfuck to be boring
21:43:41 <tusho_> psygnisfive: so what, its just an entry puzzle
21:43:45 <tusho_> gulesfish and basil are the real puzzles
21:45:46 <psygnisfive> i dont have elf :(
21:46:17 <SimonRC> ah, that may muck up the puzzle
21:46:19 <psygnisfive> atleast i dont think i do
21:46:21 <psygnisfive> whats elf? :O
21:46:42 <oklopol> psygnisfive: read LOTR.
21:46:51 <SimonRC> :-P
21:46:52 <psygnisfive> your girlfriend is an elf! :o
21:47:01 <SimonRC> elf is a binary program format
21:47:08 <psygnisfive> ooh i see.
21:47:15 <tusho_> hehehehe
21:47:28 <psygnisfive> well thats as far as im going in this game.
21:47:32 <tusho_> why psygnisfive?
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:48:11 <RodgerTheGreat> indeed
21:49:02 <RodgerTheGreat> but there's already enough information here to get past that if he was paying close attention
21:49:14 <psygnisfive> im not paying attention! :(
21:49:24 <tusho_> psygnisfive: pay some
21:49:25 <SimonRC> RodgerTheGreat: who managed to solve it without your help?
21:49:31 <psygnisfive> i dont want to!
21:50:03 <tusho_> psygnisfive: why not
21:50:09 <psygnisfive> attention is no fun
21:51:31 <oklopol> tusho_: i solved the second one, are you happy?
21:51:38 <tusho_> oklopol: NO
21:51:39 <tusho_> :D
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:15 <tusho_> right SimonRC?
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:04 <tusho_> nope
21:53:09 <psygnisfive> damn your mother!
21:53:31 <tusho_> when I did it i ran it with my brain
21:53:33 <tusho_> bit slow, but..
21:53:47 * SimonRC fwaps tusho_
21:53:52 <tusho_> ouch
21:54:57 <tusho_> psygnisfive: you're overthinking
21:55:02 <psygnisfive> :(
21:56:07 <psygnisfive> well ive lost interest now.
21:56:14 <psygnisfive> im going back to designing my language.
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:22 <tusho_> what he said.
21:56:38 <psygnisfive> well i dont care anymore. :D
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:56:54 <RodgerTheGreat> most even less than that
21:57:04 <SimonRC> *if*
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:33 <SimonRC> lament: I suspected that
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:42 <lament> okay.
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:08 <RodgerTheGreat> and they all are
22:00:12 <RodgerTheGreat> *especially* basil
22:00:24 <RodgerTheGreat> pikhq wanted to strangle me when he figured it out
22:00:32 <psygnisfive> whats basil?
22:00:40 <RodgerTheGreat> the final and hardest puzzle
22:00:43 <psygnisfive> oh.
22:00:50 <psygnisfive> how many puzzles are there?
22:00:57 <tusho_> psygnisfive: 6 i think
22:01:02 <RodgerTheGreat> something like that
22:01:14 <psygnisfive> hm.
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:20 <psygnisfive> the gulesfish one
22:02:24 <lament> oh
22:02:27 <tusho_> it's ... not hard
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:38 <tusho_> lament: no
22:02:41 <psygnisfive> i dont know what gules means!
22:02:50 <psygnisfive> it looks turkish to me
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:06 <SimonRC> depends on context
22:03:08 <lament> tusho_: ignore it!
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:32 <SimonRC> like someone's name
22:03:39 <lament> Gule's Fish :D
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:52 <lament> blazons are wonderful
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:04:42 <lament> well, sure
22:04:46 <psygnisfive> wtf am i supposed to do with THAT
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:26 <lament> of gules.
22:05:30 <psygnisfive> red?
22:05:31 <lament> i don't think it's a hint at all :)
22:05:33 <psygnisfive> thats.. stupid
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:37 <psygnisfive> i still dont get 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:32 <SimonRC> yeah
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:34 <psygnisfive> :p
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:26 <RodgerTheGreat> it feels the most like a scavenger hunt
22:08:28 <lament> RodgerTheGreat: gules?
22:08:38 <psygnisfive> what the hell does GULES mean?!
22:08:47 <lament> psygnisfive: it means red. it's the color red.
22:08:47 <ihope> So where are these puzzles?
22:08:50 <RodgerTheGreat> lament: yes
22:09:01 <lament> ihope: http://rodger.nonlogic.org/PHP/Example.php
22:09:03 <tusho_> psygnisfive: red fish
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 <SimonRC> yes
22:09:19 <tusho_> because otherwise it would be trivial.
22:09:23 <psygnisfive> no, its stupid is what it is.
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:42 <tusho_> ihope: Yes it is.
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:09:57 <lament> ihope: intentional.
22:09:59 <psygnisfive> uh.. fish that are red?
22:10:02 <ihope> Oh.
22:10:04 <psygnisfive> swedish fish?
22:10:08 <psygnisfive> siamese fighting fish?
22:10:11 <lament> yes.
22:10:16 * tusho_ facepalm
22:10:17 <psygnisfive> a fish thats been painted red?
22:10:18 <psygnisfive> i dont know
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:44 <lament> good point
22:10:48 <lament> ihope: please don't read that line
22:10:54 <psygnisfive> thats idiotic
22:10:59 <RodgerTheGreat> this is why I keep telling people to put hints in PMs.
22:11:02 <RodgerTheGreat> seriously, guys
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 <RodgerTheGreat> anything past the first level, PMs.
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:12 <SimonRC> lament: inded
22:12:12 <RodgerTheGreat> lament: it becomes a little important later on
22:12:23 <RodgerTheGreat> but at that time it's much easier to figure out
22:12:52 <lament> still gules is a nice puzzle
22:12:59 <lament> no complaints there
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:38 <SimonRC> yes
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:44 <RodgerTheGreat> but gules is pretty fair
22:13:49 <tusho_> and thought it was a type of fallacy instead.
22:13:50 <RodgerTheGreat> lament: I can see that.
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:45 <psygnisfive> do it in pm.
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:14:57 <ihope> Okay.
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:40 <RodgerTheGreat> yeah
22:16:50 <ihope> Note to self: Don't stop the first time you see something.
22:17:12 <RodgerTheGreat> ihope: keen advice for all these things
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:20:55 <oklopol> oooooooooooo
22:21:44 <lilja> oooo
22:21:50 <ihope> o
22:22:11 <tusho_> well psygnisfive you're on your own.
22:22:30 <psygnisfive> rodger, your puzzle is stupid. :P
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:23:17 <tusho_> so what
22:25:58 <psygnisfive> yeah, this is pointless.
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:22 <oklopol> waffles ->
22:27:29 <lilja> :)
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:27 <psygnisfive> your hint sucks.
22:28:34 <RodgerTheGreat> but the puzzle's page also contains a really blatant hint
22:28:47 <psygnisfive> s/brilliant/stupid/
22:29:07 <oklopol> brilliant?
22:29:08 <RodgerTheGreat> you totally win at reading comprehension
22:29:13 <tusho_> he said 'blatant'
22:29:14 <tusho_> you fool
22:29:22 <psygnisfive> i do fail at reading :(
22:29:35 <psygnisfive> i do that too often.
22:29:47 <psygnisfive> especially when im frustrated :(
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:11 <tusho_> and calling it stupid
22:31:15 <psygnisfive> it IS stupid!
22:31:28 <psygnisfive> oklopols giving up and ihope doesnt get it either
22:31:35 <tusho_> psygnisfive:
22:31:38 <tusho_> look inside the zip.
22:31:39 <psygnisfive> and you, you're just insane so ofcourse it makes sense to you :P
22:31:43 <psygnisfive> i did look inside the zip you git
22:31:51 <tusho_> no you didn't
22:31:53 <tusho_> look inside _the zip_
22:32:01 <psygnisfive> that makes no sense.
22:32:16 <ihope> Oh.
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:13 <tusho_> like, every 5 minutes
22:33:19 <ihope> No, I still don't know.
22:33:29 <ihope> Oh.
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:34:16 <tusho_> yes, like
22:34:20 <tusho_> 'oh that was clever'
22:34:23 <SimonRC> no
22:34:24 <tusho_> 'damn you rodger'
22:34:25 <SimonRC> I never said that
22:34:30 <SimonRC> I did say that
22:34:34 <tusho_> :)
22:35:19 <psygnisfive> roger
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:21 <psygnisfive> that was idiotic.
22:35:31 <Sgeo> Bye all
22:35:36 <tusho_> looks like psygnisfive finally got it.
22:35:38 <SimonRC> repeatedly
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:09 <tusho_> anyway
22:36:10 <psygnisfive> this puzzle is useless
22:36:15 <tusho_> I have practically spelled it out to you on pm.
22:36:21 <psygnisfive> it depends on a trick question
22:36:23 <psygnisfive> trick hint
22:36:26 <psygnisfive> whatever you want to call it
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:36:59 <psygnisfive> its stupid, ihope
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:17 <tusho_> ...
22:37:19 <tusho_> FUCK YOU psygnisfive
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:27 <psygnisfive> which does NOTHING
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:07 <RodgerTheGreat> I was chuffed
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:30 <psygnisfive> this isnt word play, tusho
22:38:31 <tusho_> I AM SHOCKED AND AMAZED AT THIS NEW DEVELOPMENT!
22:38:35 <SimonRC> RodgerTheGreat: interesting
22:38:39 <psygnisfive> its not double meaning
22:38:43 <psygnisfive> its not coy pun
22:38:48 <psygnisfive> its stupid misdirection
22:38:49 <SimonRC> RodgerTheGreat: is there any point to my continued existance
22:38:50 <psygnisfive> that doesnt do anything
22:38:53 <tusho_> kind of like whirl huh
22:38:57 <tusho_> I think I might ignore psygnisfive
22:38:58 <RodgerTheGreat> SimonRC: with no hints at all, actually
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:06 <RodgerTheGreat> it was... freaky
22:39:18 <SimonRC> RodgerTheGreat: hmmmmmmmmmmm
22:39:18 <psygnisfive> tusho noone cares
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:39 <SimonRC> and some luck
22:39:46 <RodgerTheGreat> maybe, I dunno
22:39:56 <SimonRC> presumably, the order one thinks of possibilities is quite random
22:40:07 -!- Sgeo has quit ("Ex-Chat").
22:40:09 <psygnisfive> rodger, your puzzle sucks.
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:32 <psygnisfive> i did
22:40:33 <psygnisfive> those are
22:40:45 <ihope> They sure look lowercase to me.
22:40:58 <psygnisfive> you mean capital letters in the MD5 string?
22:41:02 <ihope> Yes.
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:21 <lament> no, stop
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:43 <psygnisfive> YOU'LL carefully ignore me perhaps.
22:42:47 <tusho_> i'm sure RodgerTheGreat feels a stab of pain each time you say 'your puzzle is stupid
22:42:48 <tusho_> ' though
22:42:49 <tusho_> keep at it
22:42:53 <ihope> I'm still listening eagerly.
22:43:07 * SimonRC wonders
22:43:23 <psygnisfive> oh tusho, you think its that simple :)
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:14 <pikhq> No answer.
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:19 <pikhq> :p
22:44:22 <pikhq> Anyways...
22:44:22 <SimonRC> psygnisfive: did the entire channel join in?
22:44:31 <ihope> lament: yes.
22:44:33 <psygnisfive> no, it was in PM
22:44:50 <psygnisfive> well, neither MD5 words
22:44:54 <SimonRC> hmm
22:44:56 <psygnisfive> neither in caps nor in lowercase
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:13 <psygnisfive> it doesnt fucking do anything
22:45:16 <SimonRC> I have an idea...
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:42 <SimonRC> psygnisfive: yay!
22:45:45 <SimonRC> oops
22:45:48 <SimonRC> pikhq: yay!
22:45:50 <tusho_> i don't see the point
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:27 <psygnisfive> simonrc: this isnt actually an argument
22:46:30 <SimonRC> tusho_: no, a couple of days ago there were long befunge discussions
22:46:32 <psygnisfive> this is foreplay between tusho and i
22:46:38 <psygnisfive> eventually we'll get to the gaysex
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:46:46 <tusho_> So
22:46:48 <tusho_> We'll argue.
22:47:22 <ihope> #gulesfish, everyone?
22:47:35 <tusho_> ihope: That'll break when you get past #gulesfish.
22:47:54 <ihope> Doesn't matter.
22:48:07 <tusho_> Meh.
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:34 * ihope shrugs ruthlessly
22:48:38 <tusho_> I guess I'll join then
22:48:48 <psygnisfive> stillllll not getting it.
22:48:59 <psygnisfive> MD5ing this shit doesnt achieve anything.
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:27 <lament> yeah
22:49:40 <SimonRC> wanna reminder?
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:49:59 <psygnisfive> none of them worked.
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:31 <lament> SimonRC: no, thanks
22:50:34 <SimonRC> ok
22:50:36 <RodgerTheGreat> would you guys mind taking this elsewhere?
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:57:08 <SimonRC> indeed
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:58:59 <ihope> Sorry.
22:59:06 <SimonRC> I assume Rodger meant literally 8 minutes for that other guy.
22:59:13 <SimonRC> ihope: ?
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:34 <tusho_> which he has done.
22:59:35 <tusho_> countless times.
22:59:38 <psygnisfive> unfortunately tusho your logic fails
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:35 <tusho_> ihope: well?
23:00:41 <RodgerTheGrape> take it elsewhere he, I mean I, said
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:00:47 <RodgerTheGreat> it was shorter then
23:01:04 <SimonRC> RodgerTheGreat: oops, silly me
23:01:22 * SimonRC feels slightly better
23:01:22 * ihope gets popcorn
23:01:38 <tusho_> for future record i'm an annoying little shit
23:01:43 <tusho_> apparently
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:20 <psygnisfive> iron is too weak
23:02:21 <SimonRC> yeah, one iron fist and one candy fist
23:02:26 <psygnisfive> we need carbon-steel
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 <SimonRC> :-P
23:02:46 <tusho_> it means that people aren't kicked just because someone considers them an annoying little shit
23:02:59 <SimonRC> he owns this channel?
23:03:12 <tusho_> effectively
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:04:47 <SimonRC> maybe so
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:45 <tusho_> i doubt we'd notice
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:06:22 <SimonRC> yea
23:06:46 <psygnisfive> god whats NEXT
23:06:48 <psygnisfive> M?
23:07:04 <tusho_> yes
23:07:05 <tusho_> M
23:07:16 <lament> don't we have other ops, sheesh
23:07:28 <SimonRC> psygnisfive: not in here, please
23:07:31 <RodgerTheGreat> well, I'm flattered that people think I'm sensible
23:07:53 <SimonRC> psygnisfive: I would like to actually sleep tonight
23:09:46 <tusho_> lament: we have one other
23:09:47 <tusho_> don't we?
23:09:49 <tusho_> the founder
23:09:57 <tusho_> and he's dropped off the face of the earth for years, no?
23:10:11 <lament> ohh
23:10:16 <lament> wasn't calamari an op?
23:10:20 <tusho_> maybe
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:19:55 <lament> ah, fizzie is an op
23:20:05 <tusho_> wow really?
23:20:06 <tusho_> since when?
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:27 <tusho_> I mean
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:39 <tusho_> but... yeah
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:32 <tusho_> really??
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:01 <tusho_> lament: 5 YEARS?!
23:23:05 <tusho_> Surely someone has to post a message every now and then
23:23:07 <lament> maybe 4.
23:23:08 <tusho_> even if it's just hah it's dead
23:23:09 <lament> nope :(
23:23:13 <lament> it's absolutely 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:21 <tusho_> right now
23:23:26 <tusho_> ... subscribe link?
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:39 <lament> well here's a puzzle
23:24:40 <lament> http://esoteric.sange.fi/
23:24:48 <lament> you figure out the subscribe link :)
23:25:05 <tusho_> ouch
23:25:16 <tusho_> um
23:25:17 <tusho_> lament:
23:25:21 -!- KingOfKarlsruhe has quit (Remote closed the connection).
23:25:21 <tusho_> there's an email from jul 06 there
23:25:22 <tusho_> this eyar
23:25:27 <tusho_> http://esoteric.sange.fi/archive/current
23:25:57 <lament> a lot of spam there
23:26:01 <tusho_> yes
23:26:04 <tusho_> but I must subscribe
23:26:04 <tusho_> damnit
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:32 <lament> dunno
23:26:49 <tusho_> https://sange.fi/oiva/esoteric -> not found
23:26:55 <tusho_> hmmhmm
23:26:57 <tusho_> <lang@esoteric.sange.fi>
23:26:58 <lament> oh, there you go
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:14 <tusho_> ok.
23:27:15 <tusho_> :D
23:27:21 <tusho_> are you subscribed lament
23:27:24 <lament> yes
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_> >> subscribe lang
23:27:51 <tusho_> Subscription confirmation ticket sent to user being subscribed.
23:27:56 <lament> nice
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:28:40 <tusho_> I'll post to misc
23:29:02 <lament> maybe mention this channel, just in case somebody missed the announcement 5 years ago
23:30:03 <tusho_> SENT
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:32 <tusho_> :P
23:30:56 <tusho_> friends of brainfuck seems to be dead though
23:30:58 <tusho_> won't register me
23:31:04 <tusho_> it says it's sent off the confirmation but hasn't
23:31:11 <tusho_> ah
23:31:13 <tusho_> t'was in spam
23:31:35 <lament> ...suddenly billions of forgotten esolangers awaken from their ancient dreams...
23:31:46 <lament> ...and eat tusho's soul!
23:31:53 <tusho_> oh my.
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:39 <tusho_> yet they still work
23:32:54 <lament> does usenet make you happy?
23:32:58 <tusho_> no.
23:33:02 <lament> how come?
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:17 <SimonRC> usenet works for me
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:27 <tusho_> :P
23:33:28 <SimonRC> I am on several populated groups
23:33:47 <SimonRC> non-binaries 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:49 <tusho_> but for 4 years?!
23:35:58 <tusho_> lament, did you get the email I sent to misc@?
23:36:11 <lament> tusho_: yes
23:36:19 <tusho_> ok, the listserv still works then
23:38:42 <SimonRC> where is it hosted?
23:40:32 * SimonRC tries sending "help" to the listar
23:40:50 <SimonRC> "Unable to process request due to filesystem error"
23:40:53 <SimonRC> bugger
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:56 <tusho_> SimonRC: none
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:06 <SimonRC> there are just four lists
23:44:14 <tusho_> SimonRC: three
23:44:15 <SimonRC> sci, lang, misc, and chat
23:44:24 <tusho_> ah
23:44:25 <tusho_> are you sure
23:44:27 <SimonRC> yes
23:44:36 <tusho_> all on the esoteric listserv?
23:44:37 <tusho_> k
23:44:39 <tusho_> i'll subscribe em all
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_> >> subscribe chat
23:46:52 <tusho_> Unable to generate subscription cookie!
23:46:52 <tusho_> >> subscribe chat
23:46:52 <tusho_> Unable to process request due to filesystem error.
23:46:54 <tusho_> correct.
23:47:15 <tusho_> kind of an eerie feeling this
23:47:16 <tusho_> isn't it
23:47:19 <SimonRC> yeah
23:47:22 <tusho_> a half-broken listserv
23:47:24 <SimonRC> I wonder where it is hosted
23:47:24 <tusho_> still chugging away
23:47:27 <tusho_> serving the occasional spam
23:47:36 <tusho_> nothing for 5 years
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:01 <SimonRC> ah, ok
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:10 <tusho_> so...
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:49:55 <lament> R'lyeh
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:38 <SimonRC> tusho_: not yet
23:50:42 <SimonRC> lament: ouch
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 <lament> panu kalisomething
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:07 <tusho_> or rather
23:53:08 <tusho_> revive it
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:14 <tusho_> SimonRC: me too
23:54:25 <tusho_> i also hate to see sites die
23:54:27 <tusho_> no posts since 2004
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 <tusho_> hmm
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_> Internal Server Error
23:57:09 <tusho_> The server encountered an internal error or misconfiguration and was unable to complete your request.
23:57:12 <tusho_> Encouraging.
23:57:22 <tusho_> Yow. Apache/1.3.28.
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:41 <tusho_> :-|
23:57:47 <lament> i'm perpetually sad
23:57:47 <SimonRC> tusho_: where is this?
23:57:52 <tusho_> SimonRC: http://coollist.com/
23:57:55 <tusho_> I wouldn't bother
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:12 <tusho_> yaaaaaaaaay
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:38 <tusho_> thanks to new bloo
23:59:38 <tusho_> d
23:59:45 <SimonRC> google thinks the FOBF subscribe messages are spam
23:59:51 <tusho_> SimonRC: yep
23:59:55 <tusho_> ircbrowse.com seems to be dead...
2008-07-30
00:00:14 <SimonRC> tusho_: what was that?
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:17 <lament> okay
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:52 <tusho_> wait
00:01:54 <tusho_> couldn't do oklopol
00:01:57 <tusho_> ok everyone but lament and oklopol
00:02:09 <lament> what
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:48 <tusho_> I sent them an email
00:03:51 <tusho_> bet it went to /dev/null
00:04:29 * SimonRC didn't look at coollist
00:07:09 <lament> tusho_: i think irc on the whole is dying, though
00:07:13 <lament> slowly
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:28 <lament> sure
00:07:28 <tusho_> lament: however
00:07:30 <tusho_> go into #ubuntu
00:07:31 <tusho_> or #php
00:07:34 <tusho_> and say that irc is dying.
00:07:47 <tusho_> #ubuntu especially.
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:08:49 <lament> same with irc
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:20 <tusho_> new people
00:09:24 <tusho_> so it refreshes itself
00:09:48 <lament> maybe
00:10:06 <lament> my experience is highly biased since i don't go outside freenode
00:10:17 <tusho_> nor do i
00:10:18 <SimonRC> define "dead"
00:10:33 <SimonRC> I am on half-a-dozen lively newsgroups
00:10:45 <lament> death can be hard to define :)
00:10:58 <lament> well, obsolescence
00:11:02 <SimonRC> BBSes are deadder
00:11:08 <lament> sure
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:21 <tusho_> :\
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:44 <SimonRC> tusho_: elitest?!
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:17 <SimonRC> no
00:13:24 <SimonRC> 'tis a tradeoff
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:44 <SimonRC> hm?
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:22 <lament> pikhq: haha
00:16:26 <tusho_> pikhq: hahaha what
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:10 <tusho_> hahahah
00:17:12 <SimonRC> pikhq: very rmsy
00:17:22 <tusho_> i leave my wireless unencrypted
00:17:25 <tusho_> have fun guys :D
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:12 <lament> SimonRC: yeah
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:36 <tusho_> pikhq: how?
00:18:51 <tusho_> Anyway, I mean, listservs aren't that hard right?
00:19:02 <SimonRC> write it in BF!
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 <tusho_> That's ... it.
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:34 <pikhq> UID 0.
00:19:43 <SimonRC> what is root then?
00:19:48 <pikhq> Sorry.
00:19:50 <pikhq> UID -1.
00:19:53 <pikhq> Thinko.
00:19:59 <pikhq> Or maybe it was a null set?
00:20:02 <pikhq> Anyways;
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:17 <tusho_> I'll start right now.
00:20:24 <tusho_> Maybe start esolangs-prime ;)
00:20:33 <pikhq> A HURD installation's gettys spawn shells as anonymous.
00:20:48 <SimonRC> umm
00:20:51 <pikhq> If you wish to login, you type "login username".
00:20:56 <SimonRC> cool
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:34 <tusho_> :P
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:23:54 <pikhq> tusho_: Probably.
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_> Well
00:25:09 <tusho_> http://snippets.dzone.com/posts/show/5152
00:25:10 <tusho_> more realistic
00:27:48 <CakeProphet> tusho_: minus the business logic, yes.
00:27:59 <tusho_> CakeProphet: the latter has some business logic
00:28:26 <tusho_> Hmm.
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:19 <tusho_> -- multipart doof bar
00:29:24 <tusho_> and having it encoded somehow?
00:30:13 <CakeProphet> with the proper headers, I believe.
00:30:15 <CakeProphet> yes
00:30:18 <tusho_> So.
00:30:20 <tusho_> it does handle attachments
00:30:26 <CakeProphet> where at?
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:31:04 <CakeProphet> oh... then yes, most likely it does.
00:37:25 <tusho_> http://sourceforge.net/?abmode=1
00:37:27 <tusho_> nice redesign
00:37:39 * SimonRC goes to bed
00:38:24 <tusho_> Hmm.
00:38:27 * SimonRC goes to bed
00:38:34 <tusho_> SimonRC: Second time lucky?
00:38:34 <tusho_> DO listservs
00:38:39 <tusho_> run an smtp server?
00:38:39 <tusho_> generally
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:39:19 <tusho_> use scp
00:39:36 <ihope> scp?
00:39:39 <tusho_> scp.
00:41:00 <SimonRC> tusho_: no, it has a non-js mode
00:41:01 * SimonRC goes to bed
00:45:00 <lament> gmail has a non-js mode?
00:47:46 <psygnisfive> hey lets talk about something interesting
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:11 <tusho_> pardon
00:57:22 <tusho_> yeah. i kill hector tomorrow.
00:57:28 <ihope> Yay!
00:59:21 <CakeProphet> yeah... gmail has an HTML mode.
00:59:24 <tusho_> bye for today
00:59:34 <ihope> Bye.
01:00:40 -!- tusho_ has quit (Client Quit).
01:45:17 <lilja> anachronism!
01:45:20 <lilja> the sin of sins!
01:58:31 <CakeProphet> it would be fairly excellent
01:58:33 <CakeProphet> to have like
01:58:48 <CakeProphet> a language with a lot of simple operators that do implicit things
01:59:00 <CakeProphet> (3|2) == x
01:59:35 <CakeProphet> I guess you could conceptualize it as object oriented
01:59:38 <CakeProphet> but they're not really objects.
01:59:40 <ihope> Perl. Maybe.
01:59:45 <CakeProphet> yes... Perl does that one
01:59:51 -!- megatron has quit (Read error: 110 (Connection timed out)).
01:59:55 <psygnisfive> mm skores
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:18 <psygnisfive> i agree
02:00:19 <CakeProphet> lamen returns true if x is 2 or 3
02:00:28 <lament> oh
02:00:34 <oklopol> mapping trees, oklotalk has those
02:00:40 <CakeProphet> -nod-
02:00:44 <psygnisfive> i wish javascript had that
02:00:47 <psygnisfive> i REALLY wish it did
02:00:53 <psygnisfive> there are so many times where it could be useful
02:01:17 <psygnisfive> flag == ("this" || "that" || ...)
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:25 <lament> python has "in"
02:01:33 <psygnisfive> in JS we generally just do something like
02:01:37 <CakeProphet> right... but I like the idea of
02:01:42 <lament> if flag in ["this", "that", ...]:
02:01:48 <psygnisfive> ["this","that",...].indexOf(x) >= 0
02:01:55 <CakeProphet> "objectifying" certain operations
02:01:57 <lament> psygnisfive: ugh
02:01:58 <CakeProphet> so that they're transparent
02:02:02 <psygnisfive> lament: i know :(
02:02:03 <CakeProphet> in lots of code.
02:02:06 <lament> just use python
02:02:07 <lament> :D
02:02:18 <oklopol> lament: that's a bit different and you know it :D
02:02:23 <psygnisfive> JS arrays dont even have indexOf in IE
02:02:28 <oklopol> i have no idea why the smiley!
02:02:32 <psygnisfive> and they dont have a contains method either
02:02:40 <psygnisfive> you have to implement your own
02:02:44 <psygnisfive> its not impossible to do mind you
02:02:45 <psygnisfive> but
02:03:01 <CakeProphet> prototype or mootools to the rescue?
02:03:08 <psygnisfive> Array.prototype.contains = function(obj){ return this.indexOf(obj) != -1; }
02:03:15 <psygnisfive> but still
02:03:22 <oklopol> i think in most languages it's impossible to implement the general idea of mapping trees yourself
02:03:30 <psygnisfive> in JS, in only works on object keys
02:03:43 <psygnisfive> eg: "foo" in { foo: 1, bar: 2 } => true
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:26 <lament> follows occam
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:10 <CakeProphet> like
02:05:15 <CakeProphet> the first thing I remember when I was working with boolean operators
02:05:24 <psygnisfive> whats the perl thing again?
02:05:29 <psygnisfive> x == (a|b|c)?
02:05:31 <CakeProphet> was "why the hell can't I do x == (2 and 1)"
02:05:32 <CakeProphet> yes
02:05:34 <lament> also goodbye
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:05:49 <CakeProphet> of course I know why now
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:06:46 <psygnisfive> like
02:06:49 <psygnisfive> i would expect this:
02:06:54 <psygnisfive> 1 == (1 or 2)
02:06:58 <psygnisfive> to return true
02:07:00 <psygnisfive> but this:
02:07:02 <psygnisfive> 1 == (1 and 2)
02:07:06 <psygnisfive> to return (true and false)
02:07:07 <CakeProphet> yes.
02:07:10 <CakeProphet> ...hmmm
02:07:21 <CakeProphet> I would expect just false...
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:02 <CakeProphet> ...more or less.
02:08:05 <CakeProphet> but not quite
02:08:06 <psygnisfive> i that makes sense.
02:08:07 <CakeProphet> like
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:08:49 <psygnisfive> i mean
02:08:55 <psygnisfive> regardless of what a and b are
02:08:58 <psygnisfive> so long as a != b
02:09:09 <psygnisfive> theres nothing that == 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:09:58 <CakeProphet> but not in the "I'm a programmer" sense
02:10:09 <psygnisfive> but it makes no sense given the other definitions
02:10:26 <CakeProphet> what other definitions?
02:10:33 <psygnisfive> the way the other things should because
02:10:36 <psygnisfive> plus, consider what i said before
02:10:38 <psygnisfive> if a != b
02:10:46 <psygnisfive> then x == (a and b) must return false
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:10:56 <CakeProphet> ...nope
02:10:59 <psygnisfive> in all cases
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:11:41 <psygnisfive> combinations of scalars using and?
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:24 <CakeProphet> what would (1 and 2) = (1 and 2) be?
02:12:39 <psygnisfive> i dont know, because we havent defined what (1 and 2) _as a value_ is
02:12:45 <psygnisfive> i mean, before we establied that
02:12:51 <psygnisfive> == (x and y)
02:12:52 <psygnisfive> is equivalent to
02:12:56 <psygnisfive> == x and == y
02:13:06 <CakeProphet> but what should it be? the most obvious case?
02:13:13 <psygnisfive> because oyu said so?
02:13:17 <psygnisfive> er
02:13:22 <psygnisfive> no sorry oklopol did and i thought you did
02:13:33 <psygnisfive> nevermind :D
02:13:40 <CakeProphet> :)
02:13:42 <psygnisfive> but like i was suggesting earlier
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:13:58 <CakeProphet> oklopol: nothing.
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:39 <oklopol> quantum integer
02:14:44 <CakeProphet> I have yet to argue for any specific underlying implemntation... only consider what it should do in obvious cases.
02:14:53 <psygnisfive> which would be vaguely akin to a set
02:15:03 <psygnisfive> in the obvious case you mean
02:15:09 <psygnisfive> (x and y) == (x and y)
02:15:10 <psygnisfive> ?
02:15:22 <CakeProphet> what the hell does it look like it would be?
02:15:23 <CakeProphet> what is 2 == 2?
02:15:30 <CakeProphet> what is x == x
02:15:32 <CakeProphet> in all other logic ever
02:15:47 <psygnisfive> depends on your definitions. :D
02:15:53 <psygnisfive> in haskell [] == []
02:15:57 <psygnisfive> but in JS [] != []
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:16:53 <CakeProphet> in logic
02:16:55 <CakeProphet> x is always x
02:16:59 <psygnisfive> no, its not
02:17:06 <psygnisfive> because in logic you still have definitions
02:17:10 <CakeProphet> right
02:17:14 <CakeProphet> one of them being that x is always x....
02:17:15 <oklopol> CakeProphet: no difference between logic and programming languages
02:17:16 <CakeProphet> ...
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:17:56 <CakeProphet> that's true.
02:18:02 <CakeProphet> but we don't have that here. :)
02:18:09 <psygnisfive> we dont have ANYTHING
02:18:13 <psygnisfive> because we havent DEFINED anything
02:18:15 <CakeProphet> alright fine...
02:18:24 <oklopol> because you can define the concept of a "unique object", and just formally define non-structural, id-based equivalence
02:18:43 <psygnisfive> a duck != a duck in logic
02:19:03 <oklopol> psygnisfive: well that is a different thing
02:19:08 <psygnisfive> is it tho
02:19:21 <oklopol> a duck = x for which x is in the set of ducks
02:19:22 <psygnisfive> "a duck" because like x | Duck(x)
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:33 <psygnisfive> then is (1 and 2) not a selector on A?
02:20:34 <CakeProphet> we now have that x == x where x is any immutable value (numbers and boolean combinations)
02:21:00 <CakeProphet> ...
02:21:05 <psygnisfive> cakeprophet, ok
02:21:08 <CakeProphet> if you want to get all "depends on the definition"
02:21:10 <CakeProphet> that is my definition
02:21:15 <CakeProphet> ...
02:21:16 <psygnisfive> ok
02:21:41 <psygnisfive> but that was never the problem :)
02:21:50 <CakeProphet> then what?
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:22:36 <CakeProphet> what else could it be?
02:22:43 <psygnisfive> it depends on your definition!
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:01 <psygnisfive> because as you said
02:24:07 <psygnisfive> x == x for any immutable value of x
02:24:13 <psygnisfive> but (1 and 2) is not an immutable value
02:24:18 <psygnisfive> it is immutable valueS
02:24:35 <CakeProphet> psygnisfive: depends on your definition. ;)
02:24:39 <CakeProphet> in this case
02:24:39 <psygnisfive> exactly!
02:24:40 <psygnisfive> :)
02:24:48 <CakeProphet> is it is an immutable value consisting of immutable values.
02:24:50 <CakeProphet> ...
02:24:55 <CakeProphet> there is not append
02:25:01 <CakeProphet> for this construct
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:25:41 <CakeProphet> I would say it is both
02:25:45 <CakeProphet> because it makes little difference
02:25:53 <psygnisfive> ofcourse it makes a difference!
02:25:58 <psygnisfive> if its one value composed of other values
02:26:07 <psygnisfive> then 1 == (1 and 1) should always return false
02:26:18 <CakeProphet> and why is that?
02:26:23 <psygnisfive> since (1 and 1) is a composite that happens to be composed of the same thing
02:26:26 <psygnisfive> but its still COMPOSITE
02:26:36 <psygnisfive> if we say that (x and y) are composite.
02:26:40 <CakeProphet> basically what I am saying
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:22 <CakeProphet> ...right.
02:27:29 <CakeProphet> I am telling you how I would like it to work.
02:27:32 <psygnisfive> ok.
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:25 <CakeProphet> when you say.... for example.
02:28:26 <psygnisfive> oh you dont want to go there.. :)
02:28:36 <CakeProphet> 1 is 1 and 1
02:28:39 <CakeProphet> regardless of formal bullshit
02:28:46 <psygnisfive> everyone will answer no.
02:28:47 <CakeProphet> is that a true statement or not?
02:28:53 <psygnisfive> because 1 and 1 means 1+1 in normal english.
02:29:02 <CakeProphet> hahaha
02:29:13 <CakeProphet> ...got me there.
02:29:21 <psygnisfive> im a linguist, baby
02:29:26 <psygnisfive> this is what i do
02:29:46 <CakeProphet> ...then I am honestly not sure what my definition derives from
02:29:53 <CakeProphet> but, to me, it is just what makes sense
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:30:46 <psygnisfive> for instance, consider this sentence:
02:30:54 <psygnisfive> No man is a duck.
02:31:37 <psygnisfive> and now compare that to
02:31:47 <psygnisfive> Paris is the capital of France
02:31:58 <psygnisfive> these two are VEEERRRY different, semantically
02:32:09 <CakeProphet> basically is can apply to multiple things
02:32:14 <CakeProphet> or it can describe a relation.
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:20 <psygnisfive> your is is the same as my is :)
02:36:23 <psygnisfive> its complicated
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:04 <psygnisfive> cakeprophet, as for "no man is a duck"
02:38:07 <CakeProphet> it would make more sense
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:39:36 <psygnisfive> Paris = Capital_of_France
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:26 <CakeProphet> assuming no previous context
02:44:34 <psygnisfive> lets not use append
02:44:37 <psygnisfive> thats silly
02:44:46 <psygnisfive> Paris <- France.capitals
02:44:56 <pikhq> He's a Python thinker, apparently; let him be silly.
02:45:19 <CakeProphet> -shrug- notation.
02:45:29 <psygnisfive> it looks more like Prolog actually
02:45:41 <psygnisfive> but let me ask you cake prophet
02:45:42 <pikhq> Whatever.
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:46:30 <psygnisfive> hint: its not "is"
02:46:51 <CakeProphet> ...what is that operator again?
02:46:57 <psygnisfive> element-of
02:47:00 * CakeProphet is not familiar with set theory operators.
02:47:02 <CakeProphet> ah
02:47:10 <CakeProphet> a
02:47:36 * pikhq just can't see them; no Unicode.
02:47:40 <psygnisfive> ok
02:47:43 <psygnisfive> <- for element of
02:47:50 <psygnisfive> E for there-exists
02:47:51 <oklopol> how does append(A, B) look like prolog? what would that even mean?
02:47:53 <psygnisfive> and A for for-all
02:48:56 <psygnisfive> oklopol: it just does
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:49:38 <psygnisfive> it would probably mean nothing
02:49:43 <oklopol> :D
02:49:45 <psygnisfive> you'd have to do something like
02:49:52 <psygnisfive> append(A, B, item)
02:50:13 <psygnisfive> or something
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:26 <psygnisfive> anyway
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:33 <psygnisfive> yes
02:52:48 <psygnisfive> but think what it would mean to say something like
02:52:49 * pikhq nods at psygnisfive
02:52:56 <psygnisfive> Paris is none of the capitals of France
02:53:01 <psygnisfive> what is "is" doing here?
02:53:05 <psygnisfive> ir
02:53:06 <psygnisfive> or
02:53:18 <psygnisfive> No city is a capital of France
02:53:26 <pikhq> Confusing the fuck out of me.
02:53:34 <psygnisfive> :)
02:53:44 <psygnisfive> the is is doing nothing
02:53:45 <lilja> hrrr
02:53:54 <psygnisfive> in these sentences, everything is controlled by the quantifiers
02:54:00 <CakeProphet> ...right.
02:55:18 <psygnisfive> and in attribution, e.g. roses are red
02:55:28 <psygnisfive> the "is" is empty as well
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:20 <lilja> good night
02:56:27 <psygnisfive> what context?
02:56:36 -!- lilja has quit ("KVIrc 3.2.0 'Realia'").
02:56:43 <CakeProphet> well I mean
02:56:52 <psygnisfive> and what "other" quantifiers? is is not a quantifier
02:57:06 <psygnisfive> ::gives everyone smores::
02:57:18 * ihope eats
02:57:19 <CakeProphet> how the quantifiers effect the sentence is affected by the verb
02:57:24 <CakeProphet> if is were a different verb
02:57:36 <CakeProphet> then they would have different effects, or perhaps make the sentence complete nonsense.
02:57:49 <psygnisfive> you mean something like
02:57:51 <psygnisfive> All birds fly?
02:58:02 <CakeProphet> ...sure
02:58:04 <psygnisfive> infact, you're half right
02:58:15 <psygnisfive> it seems more like is converts things into verbs.
02:58:16 <psygnisfive> that is
02:58:22 <psygnisfive> All birds fly is presumed to look like
02:58:35 <psygnisfive> Ax.Bird(x)->Fly(x)
02:58:44 <psygnisfive> whereas All Birds are fliers
02:58:57 <psygnisfive> is assumed to mean Ax.Bird(x)->Flier(x)
02:59:05 <psygnisfive> which is essentially the same thing
02:59:12 <CakeProphet> yes
02:59:25 <CakeProphet> because Flier is defined to be... everything that flies.
02:59:29 <CakeProphet> so it's the same thing.
02:59:29 <psygnisfive> it seems that is allows predicating nouns to predicate
02:59:53 <psygnisfive> but the is of identity is different!
03:00:02 <ihope> "I'm happy that you're happy."
03:00:20 <psygnisfive> you know what AT&T's motto is?
03:00:25 <psygnisfive> We're not happy till you're not happy.
03:00:26 <psygnisfive> :D
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:29 <CakeProphet> because gravity has no speed itself.
03:02:29 <psygnisfive> SPEED OF FAST
03:02:37 <psygnisfive> actually gravity does have a speed
03:02:44 <CakeProphet> ...oh lawd
03:02:46 <psygnisfive> like all forces, gravity propagates at the speed of light
03:02:50 <CakeProphet> I am not even debating this.
03:02:51 <CakeProphet> ...
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:33 <pikhq> Dual major,
03:03:37 <pikhq> You know you want to.
03:03:38 <pikhq> :p
03:03:41 <psygnisfive> actually i was going 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:08 <CakeProphet> only
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:10 <psygnisfive> further from another object, i mean
03:06:18 <CakeProphet> ...I recall hearing that somewhere
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:06:58 <psygnisfive> nope.
03:07:23 <psygnisfive> its why you cant separate quarks into a quark gluon plasma
03:07:30 <psygnisfive> atleast, not easilly.
03:07:46 <ihope> What happens when you pull apart a proton?
03:07:53 <psygnisfive> im about to describe that :p
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:08:27 <psygnisfive> never free quarks from one another.
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:35 <psygnisfive> it is :D
03:10:45 <psygnisfive> matter is energy
03:10:48 <pikhq> It's almost like a Game of Life pattern...
03:10:56 <psygnisfive> and this "is" is the "is" of identity
03:10:57 <psygnisfive> :D
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:35 <psygnisfive> speaking off
03:13:36 <psygnisfive> of*
03:13:37 <ihope> More than an inch and less than a Theory of Everything.
03:13:47 <pikhq> ihope: :D
03:13:52 <psygnisfive> does anyone know how to program STFTs?
03:14:05 <pikhq> Not I.
03:14:09 <ihope> Using FFTs?
03:14:15 <psygnisfive> i dont know.
03:14:24 <psygnisfive> i need to make a spectrogram-to-audio convertor
03:14:27 <psygnisfive> both directions
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:17:52 <psygnisfive> well, i might, actually
03:25:19 <ihope> Just ignore the windowing function aspect of things.
03:25:26 <psygnisfive> but i cant!
03:25:44 <ihope> Use a rectangular window, then.
03:25:49 <psygnisfive> i cant!
03:25:53 <psygnisfive> i need to have multiple windows
03:25:57 <ihope> Why?
03:26:01 <psygnisfive> spectrogram.
03:27:02 <ihope> Normish a.k.a. rootnomic has been satisfactorily backed up. Rejoice.
03:32:56 <RodgerTheGreat> bbl
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:09:56 <psygnisfive> oi!
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:16:32 <AnMaster> morning
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:01 <tusho> damn.
10:38:03 <tusho> people replied..
10:38:30 -!- GreaseMonkey has quit ("HydraIRC -> http://google.com <- Go find something better").
10:43:26 -!- Tritonio_ has quit ("Leaving").
10:54:24 <tusho> heh
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:25 <tusho> oh, he's not here
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:14:57 <AnarKo> hi
14:17:15 <AnarKo> http://esolangs.org/wiki/Jot
14:17:47 <AnarKo> where can i find a detailed description of this languaje?
14:19:46 <tusho> the linked page
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:31:38 <AnarKo> or bf :)
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:34:31 <tusho> wait
14:34:44 <AnarKo> ok thanks
14:37:14 <tusho> AnarKo: http://rafb.net/p/9XLyki20.html
14:38:36 <AnarKo> thank you very much
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:35 <tusho> but yeah, AnarKo
14:40:36 <tusho> you run that with
14:40:37 <tusho> jot()
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.
15:59:23 <ais523> hi tusho
15:59:26 <tusho> hi ais523
16:00:34 <ihope> hi tusho
16:00:36 <ihope> hi ais523
16:00:43 <ais523> hi ihope
16:00:57 <ihope> :-)
16:02:54 <tusho> epohi
16:03:22 <pikhq> Today on #esoteric: Agora.
16:03:42 <tusho> pikhq: lol wut?
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:39:56 <AnMaster> ais523, hi!
18:40:07 <ais523> hi AnMaster, probably for about 5 minutes
18:40:17 <AnMaster> ais523, oh leaving? :(
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:17 <AnMaster> ais523, ah good
18:41:30 <AnMaster> ais523, was wondering what your current plans for C-INTERCAL are
18:41:42 <AnMaster> anything new interesting?
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:48 <AnMaster> what about J-INTERCAL?
18:42:56 <ais523> AnMaster: not really, just for communicating information
18:43:00 <AnMaster> practical.... INTERCAL like?
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:14 <AnMaster> you mean like sockets?
18:43:18 <ais523> not exactly
18:43:23 <ais523> programs can steal variables from other programs
18:43:23 <AnMaster> tell me!
18:43:30 <AnMaster> well
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 <AnMaster> system-calls extension yeah
18:44:04 <ais523> apart from the way it passes arguments
18:44:11 <tusho> ais523: uhm
18:44:12 <tusho> INTERNET
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:28 <tusho> ah
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:33 <ais523> I have to go, anyway
18:45:42 <AnMaster> ais523, come back!
18:45:47 <ais523> ok
18:45:48 <AnMaster> elsewhere
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"").
18:45:49 <AnMaster> :)
18:56:43 <AnMaster> oh well
19:00:58 -!- ais523 has joined.
19:01:26 <ais523> hi tusho
19:02:48 -!- Sgeo has quit ("Ex-Chat").
19:11:18 <psygnisf_> lalala
19:12:13 -!- psygnisf_ has changed nick to psygnisfive.
19:19:31 <AnMaster> ah there you are ais523
19:19:39 <ais523> yes
19:25:12 <tusho> bacj
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:40:30 <AnMaster> hm
19:40:38 <AnMaster> ais523, ah....
19:42:21 -!- Santa_wii has joined.
19:43:48 <Santa_wii> hi?
19:43:53 <ais523> hello
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:45:38 <Santa_wii> oh ^^U
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:15 <AnMaster> ais523, ouch :(
19:47:17 <ais523> also planning other esolangs
19:47:48 <AnMaster> ais523, like what?
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
19:50:36 <tusho> honestly
20:03:10 <AnMaster> ais523, tell me about shove
20:03:21 <ais523> well I explained it earlier
20:03:27 <ais523> Befunge+Underload
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:45 <ais523> I thought of that
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:12:37 <AnMaster> ah
20:12:44 <AnMaster> that one
20:13:16 <AnMaster> ais523, you'd want IO too
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:19:35 <psygnisfive> :p
20:19:45 <MikeRiley> fortran is relatively quick...
20:19:57 <psygnisfive> quicker than c?
20:20:05 <MikeRiley> depends on the compiler, but i would say yes
20:20:14 <psygnisfive> ew.
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:37 <MikeRiley> much prefer c,,,,much easier...
20:20:38 <ais523> it's still slower than properly written asm though
20:20:49 <MikeRiley> agreed, cannot beat assembly...
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:07 <psygnisfive> well duh :P
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:52 <psygnisfive> CPU*
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:14 <psygnisfive> forth i can definitely see
20:22:16 <olsner> forth, java, lisp cpus have all existed
20:22:30 <psygnisfive> i'd like to see a forth and lisp cpu
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:26 <MikeRiley> yep,,,fortran is faster for math
20:23:32 <psygnisfive> why?
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:08 <psygnisfive> why is that the case tho??
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:46 <psygnisfive> alexbobp: read the normal wiki page
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 <AnMaster> err
20:28:45 <ais523> what's the new FING fingerprint?
20:28:48 <AnMaster> FNGR?
20:28:51 <AnMaster> or FING?
20:28:54 <MikeRiley> FING
20:28:54 <MikeRiley> Y (sem -- ) Drop semantic
20:28:54 <MikeRiley> Z (src dst -- ) Push source semantic onto dst
20:29:01 <MikeRiley> FING,,,,,FNGR stays as it is...
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:18 <AnMaster> to push/pull one char?
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:40 <MikeRiley> not the same as IMAP
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:27 <MikeRiley> yes...
20:30:39 <ais523> MikeRiley: it should work for non-fingerprints too IMO
20:30:44 <MikeRiley> yes...
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:28 <ais523> yes you can
20:31:35 <Deewiant> you can, but not easily
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:47 <Deewiant> yes
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:33 <ais523> docs?
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:00 <MikeRiley> i like the swap 2 stacks idea...
20:36:03 <ais523> instead or as well
20:36:38 <MikeRiley> including FING,,,,Rc/Funge-98 defines 8 new fingerprints....
20:37:11 <MikeRiley> in version 1.10
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:43 <MikeRiley> c
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:15 <ais523> oh dear
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:43:39 <MikeRiley> it is a simple loop...
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:44:59 <AnMaster> could*
20:45:02 <AnMaster> it would be easy even
20:45:10 <AnMaster> and you could unload those semantics
20:45:14 <MikeRiley> you could remap Y and Z
20:45:22 <AnMaster> using unload and load
20:45:26 <AnMaster> like for other fingerprints
20:45:38 <AnMaster> it is just pushing function pointers around
20:45:41 <AnMaster> not hard at all
20:46:02 <AnMaster> A-Z are already stacks of function pointers in cfunge
20:46:03 <AnMaster> :D
20:46:10 <AnMaster> push/pop/peek
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:33 <AnMaster> well that could work
20:50:39 <AnMaster> it is just messing with function pointers
20:50:45 <AnMaster> perfectly valid
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:39 <MikeRiley> brb
20:53:40 <AnMaster> MikeRiley, swap whole stacks would be a bit more work
20:53:41 <AnMaster> the way it is done in cfunge
20:53:51 <AnMaster> damn I'm timing out
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:03 <AnMaster> simply
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:03 <MikeRiley> back
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:02 <MikeRiley> an invalid parameter reflects
21:03:13 <MikeRiley> decided on X swapping top entries...
21:03:28 -!- KingOfKarlsruhe has joined.
21:11:08 <AnMaster> A-Z
21:11:11 <AnMaster> seems better
21:11:17 <AnMaster> MikeRiley, 0-25 is just silly
21:11:43 <MikeRiley> why?
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:19 <ais523> s/of/as/
21:12:47 -!- Judofyr has joined.
21:13:55 <AnMaster> ais523, err no...
21:13:59 <AnMaster> that I would never implement
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:14:35 <AnMaster> and Befunge isn't INTERCAL
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:24:13 <AnMaster> err this weekend
21:24:27 <MikeRiley> thread bug??
21:25:14 <MikeRiley> here is what i implemented:
21:25:17 <MikeRiley> "FING" 0x46494e47
21:25:17 <MikeRiley> X (sem sem -- ) Swap two semantics
21:25:17 <MikeRiley> Y (sem -- ) Drop semantic
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:25:18 <MikeRiley> will reflect
21:26:54 <MikeRiley> X works only on top of stack...
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 (?).
2008-07-31
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.
05:58:19 <psygnisfive> zzz
05:59:19 <adu> aaa
05:59:25 <psygnisfive> bbb
05:59:31 <adu> ccc
05:59:47 <psygnisfive> þþþ
05:59:50 <adu> lol
06:00:06 <adu> I'm surprised that showed up in my client
06:00:12 <adu> i suppose its latin-1
06:00:23 <psygnisfive> ßßß
06:00:54 <adu> 义义义
06:01:34 <psygnisfive> ʔ
06:01:46 -!- olsner has joined.
06:02:14 <psygnisfive> ƭƭƭ
06:02:49 <psygnisfive> ƥʃɗɠɦƙƥȥɖƈɓɲ
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:04:53 <psygnisfive> ƥ : p !:: ʃ : s and so on
06:36:53 <adu> hm
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:34 <tusho> ais523-log-ping:
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:23:00 <tusho> XD
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:03 <AnMaster> tusho, link to cuil stuff?
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> and
10:45:30 <tusho> http://xs129.xs.to/xs129/08313/picture7574.png
10:46:25 <AnMaster> tusho, who?
10:46:30 <AnMaster> never heard of that name
10:46:33 <tusho> AnMaster: eric schmidt = google CEO
10:46:36 <tusho> that picture = steve ballmer.
10:46:41 <AnMaster> oops
10:46:48 <tusho> cuil = thinks they belong together
10:47:07 <AnMaster> that *is* funny
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:34 <tusho> hah
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:31 <AnMaster> oh god
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:50:54 <AnMaster> tusho, but was it any good?
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:51:47 <AnMaster> google still wins then :)
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:08 <AnMaster> oh ok
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:38 <AnMaster> just a plain page
11:32:38 <tusho> not really
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:02 <tusho> anyway
11:33:02 <AnMaster> and.... google for cfunge
11:33:06 <AnMaster> first hit recently
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:21 <AnMaster> ah ok true
11:33:23 <tusho> add an underline back in
11:33:28 <AnMaster> tusho, good point
11:33:31 <tusho> also
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:16 <AnMaster> no underlined links
11:34:17 <tusho> AnMaster: yes it does
11:34:23 <tusho> doesn't make it acceptable
11:34:27 <AnMaster> why don't they fix it?
11:34:34 <tusho> i don't know. I haven't aske
11:34:35 <tusho> d
11:35:19 <AnMaster> tusho, underlines added
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:52 <tusho> :p
11:35:55 <AnMaster> to piss of non-colorblinds too
11:36:00 <AnMaster> ;P
11:36:21 <tusho> the eso site is just going to use underline to distinguish a link
11:36:29 <AnMaster> no colour?
11:36:30 <tusho> so that we can use them to an insane degree without becoming a rainbow
11:36:33 <AnMaster> that will confuse me at least
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:56 <AnMaster> you use italics and bold sure
11:37:58 <tusho> underline, nowadays, means a link
11:38:01 <AnMaster> yes
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:20 <tusho> yes
11:38:21 <tusho> of course
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:27 <AnMaster> because of no uncommon deps
11:40:37 <AnMaster> no longer depend on Boehm-GC
11:40:38 <tusho> AnMaster: link to the source directly then at least
11:40:43 <AnMaster> well hm good idea
11:40:47 <tusho> like this:
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:21 <AnMaster> posix_ for version lol :P
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:13 <AnMaster> 2008.2?
11:42:19 <AnMaster> some distros does it that way
11:42:20 <AnMaster> ;P
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:12 <tusho> although hmm
11:43:16 <tusho> if you take a while to add to major...
11:43:26 <AnMaster> it may take a while
11:43:32 <tusho> major.years_of_existence.month_number[.day_number]
11:43:44 <tusho> 2.1.6
11:43:49 <tusho> ...
11:43:53 <tusho> 2.2.1
11:43:59 <tusho> 3.2.2
11:44:00 <tusho> etc
11:44:16 <AnMaster> 0.2008.7 would be this month?
11:44:45 <tusho> AnMaster: no
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:52 <tusho> 0
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:05 <tusho> so it'd be 0.0.7
11:45:08 <AnMaster> so I do all mod something
11:45:15 <tusho> if you make a stable release
11:45:15 <AnMaster> and then confuse the hell out of everyone
11:45:17 <tusho> then 1.0.7
11:45:55 <AnMaster> tusho, idea: use a HUGE number that is incremented, take this mod a smaller number
11:46:00 <tusho> heh
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:17 <AnMaster> tusho, :D
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:47:13 <tusho> heh
11:47:13 <AnMaster> and the algorithm
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:37:34 <tusho> heh.
14:39:29 <oerjan> unPython
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:41:37 <oerjan> i really hate those
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:19 <oklopol> o
14:56:32 <oklopol> i'm an orange
14:56:34 <ihope> ...the engineering ship, that is.
14:56:44 * ihope pats oklopol
14:56:55 * oklopol purrs
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:10 <oklopol> oerjan: i'm a cockroach
14:58:16 * tusho had a weird internet-related dream 2 days ago
14:58:19 <tusho> or was it 3?
14:58:19 <tusho> 4?
14:58:21 <tusho> meh
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:05 <Tritonio_> oops
15:12:07 <Tritonio_> mistake
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:21:56 <Tritonio_> you hate them?
15:22:03 <tusho> Tritonio_: Who doesn't?
15:22:39 <Tritonio_> why? they love you.
15:23:01 <tusho> no
15:23:02 <tusho> they left me
15:23:03 <tusho> :(
15:24:04 <Tritonio_> hmm strange...
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:42:22 <tusho> As they say.
15:45:12 -!- Tritonio_ has quit ("Leaving").
15:46:06 <tusho> lost the game
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:01 <Deewiant> so what was it?
15:55:35 <MikeRiley> in Check_Wrap, it was comparing against the limits as greater or equal....needed to be just greater
15:55:46 <Deewiant> :-)
15:55:50 <MikeRiley> the bug that was there would have affected wrapping in all 3 dimensions...
15:55:54 <MikeRiley> so fixed it now...
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:17 <MikeRiley> figured that!! eheheheeheh
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> Execution time : 0.23 seconds
15:56:39 <MikeRiley> Instructions per second: 895069.56
15:56:39 <MikeRiley> Exiting with return code = 15
15:56:47 <MikeRiley> real 0m0.299s
15:56:47 <MikeRiley> user 0m0.196s
15:56:47 <MikeRiley> sys 0m0.096s
15:57:17 <MikeRiley> still passes 100%...
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:04 <MikeRiley> ouch!!!
15:58:10 <Deewiant> or something like that
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:58:42 <Deewiant> yep
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:11 <MikeRiley> nope....do not think so...
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:09 <MikeRiley> and treat them as such...
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 <Deewiant> hmm
16:01:57 <MikeRiley> making them act like future jumps from time 0...
16:02:19 <MikeRiley> in theory,,,should work,,,
16:02:23 <Deewiant> sure
16:02:30 <MikeRiley> and much easier to implement than my previous strategy...
16:02:36 <Deewiant> what was your previous strategy then
16:02:47 <MikeRiley> craziness!!!! eheheheheeheheheh
16:02:50 <Deewiant> >_<
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:32 <Deewiant> hmm
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:51 <Deewiant> or different in complexity
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:48 <Deewiant> yeah, I guess that works
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:08 <oklopol> anyway wtf :D
16:09:10 <Deewiant> aye, his
16:09:11 <MikeRiley> understood...i do agree,,,correct output is required...
16:09:16 <oklopol> 2^n cells?
16:09:24 <Deewiant> 2*n
16:09:32 <oklopol> xD
16:09:33 <oklopol> right
16:09:35 <oklopol> thanks
16:09:40 <Deewiant> :-)
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:42 <oklopol> 30000 or infinite
16:11:58 <oklopol> 256 is the usual size limit
16:12:11 <oklopol> 256^(1, 2 or 4) or infinite
16:12:24 <oklopol> hmm
16:12:31 <oklopol> oh
16:12:33 <oklopol> hey
16:12:38 <oklopol> right, implementations of the table :D
16:12:43 <oklopol> god i'm dumb
16:12:44 <oklopol> really
16:12:47 <oklopol> someone smack me
16:12:48 <oklopol> hard
16:12:51 <Deewiant> :-)
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...
16:18:57 <MikeRiley> -c is NOW irrelevant,,,
16:19:12 <MikeRiley> as is -r
17:08:41 <MikeRiley> you still about Deewiant??
17:09:08 <Deewiant> aye
17:09:48 <MikeRiley> question about why mycotrds is doing:
17:09:57 <Deewiant> oh noes ^_^
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:15 <MikeRiley> and is it to the future or past?
17:10:24 <Deewiant> the past probably
17:10:33 <Deewiant> my guess is
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:14 <Deewiant> hmm
17:11:20 <Deewiant> upon reflection, I think I might remember the details
17:11:23 <Deewiant> so
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:31 <Deewiant> it does, say, 500p
17:11:37 <Deewiant> and then it jumps to the past
17:11:44 <Deewiant> and makes sure that 00g does /not/ give 5
17:11:50 <MikeRiley> got it...ok....
17:12:02 <Deewiant> i.e. modifications to space in the future don't affect space in the past
17:12:09 <MikeRiley> correct,,,they should not...
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:09 <Deewiant> :-D
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
17:18:22 <MikeRiley> now to find the next problem...
18:03:37 <AnMaster> hm?
18:04:30 <MikeRiley> ????
18:05:03 <AnMaster> nothing
18:05:07 <AnMaster> (wrong tab)
18:06:02 <MikeRiley> no problem
18:23:24 <MikeRiley> still here Deewiant???
18:23:39 <Deewiant> o/
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:36:48 <Deewiant> or actually I can't
18:36:52 <Deewiant> but anyhoo :-P
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:39:49 <Deewiant> heh
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:41:04 <Deewiant> heisen
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:24 <Deewiant> hmm, same uid
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:55 <MikeRiley> only once tho
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:45:24 <MikeRiley> s/buld/bulk/
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:06 <MikeRiley> here is the logic:
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:00 <Deewiant> yep
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:26 <Deewiant> yeah, exactly
18:49:28 <Deewiant> so
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:49:36 <Deewiant> is false
18:49:39 <Deewiant> because they both have UID 0
18:49:41 <MikeRiley> pretty much...
18:50:07 <MikeRiley> IP0t can make the jump that IP0 made...
18:50:19 <Deewiant> yep
18:50:20 <MikeRiley> but if IP0t reaches that jump again,,,then it must terminate
18:50:22 <Deewiant> but they have the same id
18:50:28 <MikeRiley> they can....
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:39 <Deewiant> certailny
18:50:42 <Deewiant> s/ln/nl/
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:51:43 <MikeRiley> they have the same uid....
18:51:46 <MikeRiley> different serial numbers
18:51:49 <Deewiant> yep
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:53:17 <Deewiant> yep!
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:00:22 <Deewiant> around line 450 in ccbi.d
19:01:31 <tusho> 6++
19:01:33 <tusho> -+6856+6+89+656
19:01:35 <tusho> 25
19:01:44 <MikeRiley> ok,,,,looking at source now....
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:06:32 <Deewiant> alright, we're at time 300
19:06:39 <Deewiant> IP 1 jumps to 200
19:06:48 <Deewiant> then jumps back to 300
19:06:57 <MikeRiley> jumps back to 300 when??
19:07:08 <Deewiant> somewhere between 200 and 299
19:07:11 <MikeRiley> ok,,,
19:07:22 <Deewiant> we continue to time 400
19:07:30 <Deewiant> IP 2 jumps to 100
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:20 <Deewiant> I think.
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:44 <Deewiant> and why so
19:09:45 <MikeRiley> same ip is not jumping back tho....
19:09:55 <Deewiant> it is the same one, isn't it?
19:10:04 <MikeRiley> the ip jumping back the second time is the time travellor and not the original IP 1
19:10:10 <MikeRiley> yes and no....
19:10:12 <Deewiant> no, it's not
19:10:16 <Deewiant> it's the original IP 1
19:10:24 <MikeRiley> the oringal IP 1 cannot jump back again....
19:10:30 <Deewiant> and why not
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:03 <Deewiant> no no no no no
19:11:06 <Deewiant> let's do this again
19:11:09 <Deewiant> we're at 300
19:11:11 <Deewiant> IP 1 jumps to 200
19:11:17 -!- pikhq has joined.
19:11:18 <Deewiant> which means we rerun time from 0 to 200
19:11:22 <Deewiant> and then place IP 1.
19:11:34 <Deewiant> IP 1 then jumps back to 300.
19:11:36 <MikeRiley> which becomes IP1.0
19:11:52 <Deewiant> or IP 1t or whatever, yes.
19:11:53 <MikeRiley> IP1.0 jumps back to 300
19:12:28 <Deewiant> yes, and then we continue.
19:12:36 <Deewiant> nothing special so far, just a normal time jump. :-P
19:12:40 <MikeRiley> maybe,,,hold on....
19:12:41 <Deewiant> okay, time 400.
19:12:48 <Deewiant> ...
19:12:50 <MikeRiley> there might be a simpler rule here....
19:12:51 <Deewiant> holding...
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:16:25 <MikeRiley> from the original IP...
19:16:38 <MikeRiley> when was IP 1 born?
19:16:48 <MikeRiley> from 0??? or later??
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:18:56 <Deewiant> and should overwrite it
19:19:02 <MikeRiley> but if the future was changed enough,,,,IP 1 may reach the jump oint at a different time....
19:19:02 <Deewiant> kinda sorta maybe.
19:19:25 <Deewiant> MikeRiley: well that's fine, then it's even easier to know that it's a different jump. :-)
19:19:33 <MikeRiley> exaclty...
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:22:39 <MikeRiley> emphasis on the "same jump"
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:37 <MikeRiley> possibly....
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:30:48 <MikeRiley> do not blame you there!!!!
19:30:57 <Deewiant> and doesn't make sense to me
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:19 <MikeRiley> exactly
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:03 <Deewiant> well hmm
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:21 <Deewiant> that can't happen
19:34:24 <Deewiant> because
19:34:37 <Deewiant> IP2 can change the history of IP1 only by jumping further back than IP1
19:34:46 <MikeRiley> true......
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:36:51 <MikeRiley> eheheheheeheh
19:37:18 <MikeRiley> well....in that case i may have to not consider mycotrds....depending on what it expects....
19:37:38 <Deewiant> it expects what CCBI does
19:37:38 <MikeRiley> and use my own time travel tests instead...
19:37:40 <MikeRiley> but will see....
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:24 <MikeRiley> to be convinced....
19:38:30 <Deewiant> certainly
19:38:49 <MikeRiley> time for lunch,,,,be back in a bit.....
19:39:02 <Deewiant> I might be gone soon
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:39:55 <MikeRiley> bye for now...
19:40:07 -!- MikeRiley has quit ("Leaving").
19:40:08 * SimonRC always wanted a few bucketfuls of commas.
19:40:10 <SimonRC> :-)
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:48:45 <SimonRC> tusho: HONK
19:48:51 <tusho> SimonRC: :)
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:51:16 <SimonRC> oh puleezze
19:51:30 <tusho> SimonRC: what
19:52:12 -!- SimonRC has set topic: factor love [ honk ] when "http://vjn.cc/x" logs >>url.
19:52:18 <SimonRC> :-)
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:54:44 <lament> git seems nice!
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:01:25 <SimonRC> what's git's "model"
20:01:26 <SimonRC> ?
20:02:13 <psygnisf_> you're alive! :D
20:02:38 <SimonRC> yeah
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:03:07 <tusho> (pretty much.)
20:04:03 <SimonRC> tusho: do you know darcs?
20:04:07 <tusho> yes
20:04:17 <tusho> and hg, and ...
20:04:18 <tusho> etc
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:16:19 <SimonRC> ah, ok
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:18:59 <tusho> bye for 30mins
20:19:00 <tusho> +
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:44:59 * ihope /pɹɒs/es
20:45:21 <olsner> ihope: huh, what was that?
20:45:30 <ihope> IPA.
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:04:54 <ihope> Racist. :-P
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:35:53 <SimonRC> :-P
21:37:34 -!- MikeRiley has quit ("Leaving").
21:39:15 <oklopol> sin = i!(1 - i!sin) what?
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:28 <oklopol> she was the one
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:48:45 <oerjan> *thinks
21:49:10 <SimonRC> figiting might help
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:05 <SimonRC> um...
21:51:11 <SimonRC> I don't think so
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:34 <ihope> Yes, it does.
21:52:43 <oerjan> SimonRC: i think you got the sign wrong
21:52:54 <SimonRC> um, yeah, oops
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:25 <ihope> Yeah.
22:01:33 * oklopol visualized \o/
22:01:41 <oerjan> f'(x) = g(x,f(x)) type equations, that is
22:01:45 <SimonRC> not "visually", as such
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:03:24 <oklopol> SimonRC: same here
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:33 <SimonRC> yeah
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:50 <tusho> re: cuil
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:13:48 <ihope> I think.
22:14:05 <SimonRC> Lex luthor was properly bald surely? And less fat
22:14:14 -!- Judofyr has joined.
22:14:17 <RodgerTheGreat> tusho: cuil is very broken on many levels
22:14:17 <SimonRC> and more charismatic?
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:08 <RodgerTheGreat> man, what the hell
22:16:10 <oerjan> hm, Eric Schmidt actually wrote Lex - more evidence.
22:16:29 <tusho> SimonRC: someone has a grudge
22:16:30 <tusho> :)
22:16:43 <lament> interesting
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:07 <oerjan> tusho: oh
22:17:14 <SimonRC> but there was a different article in second place next to ObL
22:17:17 <SimonRC> weird
22:17:18 <oerjan> I'VE BEEN MISLED
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:00 <pikhq> HAI.
22:18:02 <pikhq> :)
22:18:48 -!- atrapado has quit ("Abandonando").
22:20:42 <oerjan> hm steve ballmer being lex luthor somehow sounds much less surprising
22:20:59 <SimonRC> than?
22:21:15 <oerjan> that google guy
22:21:24 <SimonRC> ok
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:20 <tusho> evil spj
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:12 <RodgerTheGreat> diggin' the bowtie though
22:27:17 <SimonRC> indeed
22:27:35 <tusho> his eyeballs appear to be lazily evaluating the scene
22:27:38 <tusho> *rimshot*
22:28:00 <oerjan> possibly even parallel processing
22:28:16 <oerjan> (also *rimshot*)
22:28:49 <SimonRC> wtf is up with that pic?
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:29:57 <tusho> maybe a mobile
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:31:52 <tusho> :(
22:32:27 <SimonRC> oerjan: ah, ok
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:02 <oerjan> oh...
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:36:43 <tusho> >:|
22:36:48 <SimonRC> who has it?
22:37:25 <oerjan> someone hard to find, obviously :D
22:37:45 <tusho> some stupid photographer
22:37:50 <oerjan> hm wait
22:37:50 <tusho> who hasn't updated since jan 07
22:37:58 <tusho> "Derek Powazek"
22:37:59 <tusho> stupid name.
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
22:39:04 <tusho> heh
23:00:01 <tusho> hrmph.
23:01:06 <SimonRC> I think I made a bad impression elsenet
23:01:19 <SimonRC> ^first^
23:01:33 <tusho> SimonRC: ???
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:24 <SimonRC> *sigh*
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 <tusho> :p
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:18 <tusho> 'Yes.'
23:06:20 * SimonRC wonders where would be a good place to put the logs
23:06:23 <SimonRC> tusho: not that
23:06:26 <tusho> SimonRC: rafb.net/paste
23:06:34 <SimonRC> tusho: less public?
23:06:39 <tusho> it isn't public
23:06:39 <oklopol> pb.vjn.fi
23:06:41 <tusho> there's no "recent" list
23:06:44 <SimonRC> tusho: ok
23:06:56 <tusho> ah wait
23:06:57 <tusho> yes there is
23:07:00 <tusho> pb.vjn.fi then
23:07:04 <tusho> oklopol's
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:08:01 <oklopol> err
23:08:03 <oklopol> *pastes
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:34 <tusho> :)
23:11:42 -!- lament has joined.
23:11:45 <SimonRC> I don't know, 'cause they didn't say
23:11:59 <SimonRC> but it is quite possible
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:23 <tusho> woof woof
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:41 <SimonRC> tusho: heh
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:26 <SimonRC> tusho: um, no
23:15:33 <pikhq> In 2008, the world is an orgy of clusterfucks.
23:15:39 <SimonRC> lol
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:17:41 <tusho> :D
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:49 <SimonRC> tusho: could be awkward
23:19:55 <tusho> SimonRC: most likely
23:20:01 <tusho> = detachable tails
23:20:02 <tusho> :D
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:46:23 <tusho> i am insane
23:47:13 * SimonRC reads
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:21 <SimonRC> ok
23:48:25 <tusho> with exactly the same syntax, I believe
23:48:31 <tusho> or was it ?:. whatever.
23:48:34 <SimonRC> why not:
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:48:57 <tusho> *^
23:48:58 <tusho> in fact
23:49:00 <tusho> [\^\s]
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:42 <SimonRC> or something like that
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:36 <SimonRC> tusho: true
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:29 <tusho> hmm
23:52:32 <tusho> it's broken too
23:52:38 <tusho> it'd only handle the first ++ or -- in a message
23:53:27 <tusho> DAMNIT
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 ;-)
←2008-06 2008-07 2008-08→ ↑2008 ↑all