←2005-05-03 2005-05-04 2005-05-05→ ↑2005 ↑all
02:04:37 -!- rollman has joined.
02:22:08 -!- kipple has quit (Read error: 110 (Connection timed out)).
04:34:59 -!- heatsink has joined.
04:40:56 <GregorR> Hoopla! ^_^ http://www.befunge.org/fyb/
04:42:29 <GregorR> Anybody want to challenge me at Befunge? :)
04:42:34 <GregorR> Hmm.
04:42:40 * GregorR needs to read before he hits enter.
04:42:47 <GregorR> Anybody want to challenge me at FukYorBrane? :)
04:44:06 <heatsink> I'll give it a go.
04:44:28 <heatsink> Actually, I should read this README first.
04:45:13 <GregorR> Definitely ;)
04:45:25 <GregorR> Not the one on the forum, I've changed it a bit >_>
04:47:41 <heatsink> ok...
04:51:34 <heatsink> a command greater than 16 is a NOP?
04:51:52 <GregorR> Yes, it loops.
04:51:54 <GregorR> 16 + 1 = 0
04:52:07 <heatsink> weird, base 17 arithmetic
04:52:14 <GregorR> >:)
04:52:28 <GregorR> Also made it possible to have no decrement.
04:52:33 <GregorR> Because decrementing is for pussies.
04:53:00 <GregorR> I refer to, of course, weak or feeble-minded people, no female genetalia.
04:53:51 <heatsink> it makes for slow code though
04:53:57 <heatsink> okay, let's see what I can do.
04:54:33 <GregorR> The slow code is part of the idea - it takes a long time to do complex logical operations, so the other program has a chance to do quick evil things.
04:54:42 <GregorR> It balanced out simple-vs-complex a bit.
04:55:01 <GregorR> I've spent WAY too much time on design in this "language" :-P
05:01:13 <heatsink> If two programs are both in a {>} loop, is it possible for an infinite loop?
05:02:17 <GregorR> No, when you > past the end of the program, it comes back to the beginning.
05:02:25 <GregorR> So eventually one would find the other pointer.
05:02:33 <GregorR> Plus, it won't go more than 10,000,000 ticks.
05:03:03 <heatsink> Both pointers are moving simultaneously. I'd like to know if it's possible that they will always miss each other.
05:03:53 <GregorR> { checks if program As data pointer is on top of program Bs program pointer. Program Bs program pointer is just going in a tiny loop, it's not constantly moving.
05:04:05 <GregorR> It's feasable, it could be like this:
05:04:11 <GregorR> Hmm, how to represent this...
05:04:47 <GregorR> {>} {>} {>} {>}
05:04:47 <GregorR> d d d d
05:04:47 <GregorR> p p p p
05:05:05 <GregorR> But I don't think that would work, since the data pointer can never move as fast as the program pointer.
05:05:32 <GregorR> In my twisted mind that's a Matrix scene :-P
05:05:38 <heatsink> :D
05:07:33 <GregorR> Hmm, I should have mentioned that in the README.
05:08:07 <GregorR> One of the principles behind FYB is that the data pointer can never move as fast as the program pointer it's chasing, because it will take at least three commands to move the data pointer with any sort of logic.
05:09:04 <heatsink> ok
05:10:49 * GregorR is so afraid that you're going to quickly write a program that will whoop all my programs' arses :-P
05:14:43 <heatsink> mebbe. Dunno.
05:20:30 -!- heatsink has quit (niven.freenode.net irc.freenode.net).
05:20:35 -!- rollman has quit (niven.freenode.net irc.freenode.net).
05:20:36 -!- cpressey has quit (niven.freenode.net irc.freenode.net).
05:20:36 -!- fizzie has quit (niven.freenode.net irc.freenode.net).
05:20:37 -!- cmeme has quit (niven.freenode.net irc.freenode.net).
05:20:37 -!- Taaus has quit (niven.freenode.net irc.freenode.net).
05:20:37 -!- lindi- has quit (niven.freenode.net irc.freenode.net).
05:21:33 -!- heatsink has joined.
05:21:33 -!- rollman has joined.
05:21:33 -!- cmeme has joined.
05:21:33 -!- fizzie has joined.
05:21:33 -!- cpressey has joined.
05:21:33 -!- Taaus has joined.
05:21:33 -!- lindi- has joined.
05:21:56 -!- calamari has joined.
05:29:22 <heatsink> I beat mangler, but lose to logicex
05:29:47 <heatsink> I reinvented your trick of a one-time-through thread at the beginning of the program.
05:31:13 <GregorR> Since I use that trick in every single one, I don't think it matters ;-P
05:31:22 <GregorR> Unless by "reinvented" you mean "made significantly better"
05:31:31 <GregorR> logicex is my trophy *shrugs*
05:31:50 <GregorR> I'd also try findAndDestroy, though with the one-time-through-thread at the beginning it ought to be no problem.
05:32:39 <heatsink> is defect status per thread?
05:32:56 <GregorR> Yes
05:33:04 <heatsink> ah.
05:33:26 <GregorR> Hmmmmmm, just noticed something that may be a bug...
05:33:28 <heatsink> My one time through impl is a little bit simpler, just a few [+]s
05:34:01 <GregorR> When you fork, it ought to gain the parent-process' defect status...
05:34:05 <GregorR> But I don't think that it is...
05:34:07 <GregorR> *checks*
05:34:29 <heatsink> findanddestroy won.
05:34:52 <GregorR> Then there's probably something snarky about your once-through thread.
05:35:00 <GregorR> That's designed to keep findAndDestroy busy
05:35:10 <GregorR> Oop, I indeed screwed up that inheritance...
05:35:13 <GregorR> *fixfixfix*
05:37:28 <GregorR> a0.5 released with that fix :-P
05:37:39 <heatsink> :)
05:37:48 <GregorR> One line difference :-P
05:40:49 <heatsink> well, was fun. I'm off now.
05:40:56 -!- heatsink has quit ("Leaving").
06:27:52 -!- bells6003 has joined.
06:28:42 -!- bells6003 has left (?).
07:05:46 <calamari> whatcha playing?
07:14:13 <GregorR> FukYorBrane :)
07:14:25 <GregorR> It's a combination of BrainFuck and CoreWars.
07:14:30 <GregorR> See http://www.befunge.org/fyb/
07:15:11 <calamari> haha cool idea.. corewars is an oldie but goodie
07:25:24 <GregorR> Yeah, a friend introduced me to it and I thought I could sort of one-up the evil :-P
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:34:00 -!- calamari has quit (Read error: 110 (Connection timed out)).
10:16:55 <pgimeno> <heatsink> If two programs are both in a {>} loop, is it possible for an infinite loop?
10:16:55 <pgimeno> <GregorR> No, when you > past the end of the program, it comes back to the beginning.
10:17:27 <pgimeno> I was wondering... what about each program running in the opposite direction to the other?
12:49:19 -!- kipple has joined.
15:50:57 <GregorR> When you < past the beginning, it does NOT go to the end.
15:51:00 <GregorR> Only > loops
15:51:41 <GregorR> If < looped, then <[+]+++++++++++++++! would be the perfect bomb - you're 100% guaranteed to hit the last command.
15:54:18 <pgimeno> my idea (or better my random thought) was that > increments for one of the programs and decrements for the other
15:55:15 <pgimeno> and the code pointer increases for one of the programs and decreases for the other
15:55:37 <GregorR> Ohhhhhhhhhhhhhhhhhhhhhhhhhhh, like one program actually runs in reverse.
15:55:50 <GregorR> I don't have a mirror command :-P
15:56:09 <pgimeno> hehe
15:56:32 <pgimeno> no, the idea is to confront them, not to use a mirror command
15:57:22 <GregorR> So it sticks the two chunks of code at opposite ends of the same program space and they go towards eachother? (Or still different program space?)
15:58:17 <pgimeno> yeah, but totally transparently (i.e. no program knows if it's going in the forward or reverse direction)
15:58:29 <GregorR> Of course
15:58:41 <pgimeno> just a crazy idea, anyway
15:58:59 <GregorR> You are totally free to implement it ;)
15:59:13 <pgimeno> hehe
15:59:31 <pgimeno> I'm already busy with my malbolge 'cat'
15:59:47 <GregorR> Yeah, malbolge can keep you busy all right X-D
16:00:11 <pgimeno> I've managed to get it working by preloading the memory; now I need to set that memory up via an initialization routine
16:00:43 <pgimeno> that's actually even harder
16:01:34 * pgimeno returns to malbolging
16:26:51 -!- puzzlet has joined.
17:05:58 <fizzie> Fnur... befunge.org (and thus FYB, too) will be offline for a few minutes (I hope) now, as I install a third NIC to the router box.
17:07:53 -!- fizzie has quit ("(switching NICs.)").
17:31:57 -!- fizzie has joined.
18:04:07 -!- puzlet has joined.
18:04:11 -!- puzlet has quit (Read error: 104 (Connection reset by peer)).
18:06:50 -!- puzlet has joined.
18:06:52 -!- puzlet has quit (Read error: 104 (Connection reset by peer)).
18:11:24 -!- GregorR-L has joined.
18:29:30 -!- Keymaker has joined.
18:29:36 <Keymaker> hi
18:29:45 <Keymaker> hmm, it's crowded here today :)
18:33:41 <Keymaker> pgimeno: ok
18:49:16 <pgimeno> hi Keymaker
18:50:46 <Keymaker> hi
18:50:56 <GregorR-L> Hi all :)
18:50:58 <Keymaker> (sorry about delay, i wasn't in front of computer)
18:50:59 <Keymaker> hi
18:51:28 <pgimeno> no prob, I wasn't either
18:51:33 <Keymaker> :)
18:51:37 <GregorR-L> Anybody beat my FYB logicex program yet? :-P
18:51:55 <Keymaker> i guess not
18:51:57 <Keymaker> :)
18:52:09 <GregorR-L> It helps to be the one who wrote the language :-P
18:52:17 <Keymaker> yeah
18:52:29 <Keymaker> at least sometimes (like in malbolge ;))
18:52:34 <GregorR-L> X-D
18:52:48 <GregorR-L> It also helps to simply not be malbolge ;)
18:53:00 <pgimeno> hehe
18:53:09 <pgimeno> Dis is not so evilish
18:53:16 <Keymaker> what's that?
18:53:23 <Keymaker> haven't heard of that
18:53:44 <pgimeno> Dis is a language designed by Ben Olmstead too, seeing that Malbolge succeeded just too much in being unuseable
18:54:02 <Keymaker> heh
18:54:09 <GregorR-L> Dis is also the name of the virtual machine within the Inferno computer operating system. Dis was designed to execute programs written in the programming language Limbo.
18:54:18 <GregorR-L> Thank you Wikipedia! :-P
18:54:21 <pgimeno> yep, that too :)
18:54:47 <GregorR-L> Back to writing a formal report about fake things I don't care about.
18:54:58 <pgimeno> heh, good luck
18:55:34 <Keymaker> :)
18:55:46 <Keymaker> is there any info about dis anywhere?
18:55:58 <Keymaker> sample programs? language info?
18:57:49 <pgimeno> well, there's the old page by Ben in the web archive
18:58:04 <pgimeno> other than that, it's not very popular
18:58:25 <pgimeno> basically it's the same as Malbolge but removing the encryption and self-modification
18:58:58 <GregorR-L> Laaaaaaaaaaaaaaaaame
18:59:03 <GregorR-L> Where's the pain?
18:59:07 <pgimeno> hehe
18:59:31 <pgimeno> well, it still has a program counter and a data conter, both being auto-increased
18:59:38 <Keymaker> rgh
18:59:43 <Keymaker> not my taste :)
18:59:46 <pgimeno> hehe
18:59:56 <pgimeno> only for masochists like me :P
19:00:00 <Keymaker> :)
19:00:36 <Keymaker> i'm brainfuck programmed
19:00:42 <Keymaker> lol
19:00:46 <Keymaker> i mean programmer
19:00:49 <pgimeno> I've also tasted BF, it rocks!
19:00:53 <Keymaker> indeed
19:01:17 <pgimeno> I've written an esoteric languages article in spanish, I have a half-translation somewhere...
19:01:25 <Keymaker> ok
19:01:31 <pgimeno> BF is the "star" of the article
19:01:36 <Keymaker> :)
19:01:42 <Keymaker> brainfuck is just simply so cool
19:01:50 <Keymaker> it's because it has everyting
19:01:55 <pgimeno> I've also written an optimizing interpreter
19:01:58 <Keymaker> in eight powerful instructions
19:02:04 <Keymaker> that's good :)
19:02:14 <pgimeno> it runs fairly fast
19:02:28 <GregorR-L> BF is really quite interesting. It's about the most "pure" example of a turing machine.
19:02:33 <Keymaker> it's programming on so simple level, i love the instructions :)
19:02:42 <pgimeno> yeah
19:03:00 <GregorR-L> I once made a non-rule-checking checkers game in BF.
19:03:07 <Keymaker> hmm
19:03:10 <Keymaker> what that game is?
19:03:17 <pgimeno> oh, optimizing interpreter plus debugger, I must add
19:03:31 <GregorR-L> Well, it just had a board, and the user just said "move this piece there"
19:03:38 <GregorR-L> It didn't verify that anything was done legally :-P
19:03:43 <Keymaker> yeah
19:03:47 <Keymaker> but what is chekers game?
19:04:06 <GregorR-L> Ohhhhhhhhh. Hmm. Wikipedia to the rescue I think.......
19:04:11 <Keymaker> :)
19:04:38 <GregorR-L> Does "Draughts" ring a bell?
19:04:41 <GregorR-L> http://en.wikipedia.org/wiki/Checkers
19:04:44 <Keymaker> nope
19:05:02 <Keymaker> but i recognize the game
19:05:08 <Keymaker> haven't played nor know rules though
19:05:31 <GregorR-L> Hmm
19:05:31 <pgimeno> a checkers game in BF?
19:05:40 <GregorR-L> A very limited checkers game in BF.
19:05:45 <GregorR-L> And I cheated and used a C preprocessor.
19:05:46 <pgimeno> wow
19:06:01 <pgimeno> hehe, well, some tricks can be used
19:06:07 <GregorR-L> :-P
19:06:23 <GregorR-L> Anyway, my harddisk crashed so it's lost :'(
19:06:27 <GregorR-L> I have a printout somewhere X-D
19:06:30 <pgimeno> damn
19:06:37 <Keymaker> hmm'
19:06:43 <Keymaker> i think i could code a game like that
19:06:48 <Keymaker> if i'd learn the rules
19:06:54 <pgimeno> heh, it would be cool if it appeared as a type-in program in a magazine :P
19:07:01 <Keymaker> :)
19:07:03 <GregorR-L> It wasn't so much challenging as incredibly mind-numningly painful *shrugs*
19:07:13 <Keymaker> yeah
19:09:25 <pgimeno> here's my article in English (the translation is still preliminary; needs some work, and some parts still need to be translated): http://perso.wanadoo.es/p.gimeno/temp/Articles/EsotericLanguages.html
19:09:51 <pgimeno> the optimizing interpreter/debugger was written as a companion for that article; it's linked somewhere
19:09:51 <Keymaker> i'll take a look, seems interesting :)
19:09:57 <Keymaker> ok
19:10:38 <GregorR-L> I'd like a debugger 8-D
19:10:49 <pgimeno> for your FYB?
19:11:54 <GregorR-L> No, for BF ;)
19:11:57 <pgimeno> direct link to the debugger: http://perso.wanadoo.es/p.gimeno/files/brfd10.zip
19:12:01 <pgimeno> there you have :)
19:12:07 <GregorR-L> Hoopla :)
19:13:17 <GregorR-L> Ooooooh, let's see if I can find this.......
19:13:40 <GregorR-L> I made a 2D language (a la PATH) that had only two operations that were overloaded by direction......
19:13:47 <pgimeno> wow
19:14:09 <Keymaker> that seems interesting :)
19:14:21 <pgimeno> indeed
19:14:22 <Keymaker> (about bf interpreters; there are thousands of them!!!!)
19:14:28 <GregorR-L> lol, true fact.
19:14:31 <GregorR-L> I've written one :-P
19:15:09 <GregorR-L> I don't use it though, I just wrote it for kicks.
19:15:17 <pgimeno> heh, every man and his dog's BF interpreter
19:15:18 <Keymaker> yah
19:15:36 <pgimeno> if I want to test simple code I usually look for one in JS
19:15:52 <GregorR-L> HEY, I've still got my code 8-D
19:15:58 <GregorR-L> For 2l that is
19:16:00 <pgimeno> coolio
19:16:13 <Keymaker> hmm
19:16:21 <GregorR-L> Mind if I paste the code to make an H (8 lines)
19:16:28 <Keymaker> go ahead!!
19:16:29 <pgimeno> I don't
19:16:33 <GregorR-L> ##################################+
19:16:33 <GregorR-L> +#
19:16:33 <GregorR-L> *#***********************************************************************+
19:16:33 <GregorR-L> *# *
19:16:33 <GregorR-L> +## #
19:16:35 <GregorR-L> + #
19:16:37 <GregorR-L> *#
19:16:39 <GregorR-L> +
19:16:41 <GregorR-L> Hmm, wrapped a bit.
19:16:52 <Keymaker> there's three instructions
19:16:56 <Keymaker> what do they do?
19:17:04 <Keymaker> (looks pretty interesting though!)
19:17:06 <GregorR-L> # isn't an instruction, it's just my way of remembering where I am X-D
19:17:07 <pgimeno> I count four
19:17:10 <Keymaker> ah
19:17:13 <pgimeno> oh
19:17:17 <GregorR-L> * and + are the instructions
19:17:24 <Keymaker> ok
19:17:26 <fizzie> I wrote a bf interpreter when I couldn't find one with a working single-step mode. :p
19:17:28 <pgimeno> a space is a nop, then?
19:17:35 <GregorR-L> Yeah
19:17:41 <fizzie> (And one in scheme when I had nothing to do.)
19:17:41 <GregorR-L> Like BF, anything that isn't a command is a comment
19:17:53 <Keymaker> ok
19:17:59 <Keymaker> interesting looking language
19:18:03 <GregorR-L> * = all stack and IO operations, + = branch
19:18:05 <Keymaker> do you have language specification anywhere?
19:18:13 <GregorR-L> Possibly, lesse...
19:19:00 <pgimeno> oh, in the article I propose a BF challenge (which can be split into three): write the shortest possible BF code which stores the number 111 in a memory position
19:20:10 <pgimeno> that number is deliberately outside of Franz Faase's table (of course)
19:20:20 <Keymaker> i'll try that soon!
19:20:32 <Keymaker> (must go now for a while, someone else wants to use this computer)
19:20:37 <pgimeno> oh ok
19:20:43 <GregorR-L> I can't find the spec, but I can rewrite it.
19:20:50 <Keymaker> ok
19:20:55 <Keymaker> bye for a while
19:20:55 <pgimeno> nice if you do, GregorR-L
19:21:01 <pgimeno> later Keymaker
19:21:45 <pgimeno> damn, I didn't provide a license for brfd...
19:22:48 <pgimeno> let's say it's public domain
19:25:16 <pgimeno> oh, brfd broke an ANSI C standard regarding the length of a string constant (the help text of the debugger was too long)
19:32:29 <GregorR-L> Darn, I don't think this is my latest revision of 2L ... damn my hard disk failure >_O
19:34:30 <pgimeno> oh, such a pity
19:34:49 <pgimeno> anyway, a spec would do
19:35:57 <pgimeno> is it Whirl-like? does it have a wheel of opcodes?
19:36:04 <GregorR-L> No
19:36:14 <GregorR-L> The op it runs depends on the direction of the program flow.
19:36:30 <pgimeno> oh, I understand
19:37:43 <GregorR-L> http://www.befunge.org/fyb/2l/README
19:38:08 <GregorR-L> If that logic tree is to totally random to decipher, tell me, I might be able to change it around a bit :-P
19:39:01 <GregorR-L> I even had a 2l compiler before my HD crash :(
19:39:08 <GregorR-L> But, there is an interpreter.
19:39:11 <GregorR-L> And that's something.
19:39:54 <pgimeno> indeed
19:40:51 <GregorR-L> BTW, 2L stands for "The 2 Language"
19:44:05 <pgimeno> I'd say it has two symbols rather than two operations
19:44:52 <fizzie> BrainFuck (and 2l, apparently) operate on a tape, not a stack. A stack would be a FIFO structure. Other than that, looks like a language I wouldn't want to _have_ to use for some real project. :)
19:44:59 <GregorR-L> OH.
19:45:06 <GregorR-L> lol, wording = me not smart
19:45:37 <pgimeno> a stack would be a LIFO ;)
19:45:46 <GregorR-L> :-P
19:45:50 <fizzie> Nnngh. Yes.
19:45:53 <fizzie> Not a queue.
19:46:58 <pgimeno> well, it has that amazing simplicity that makes up a funny esoteric language :)
19:47:13 <pgimeno> I like it
19:47:40 <GregorR-L> :)
19:47:51 <pgimeno> I'd like to see a stable homepage for it
19:48:04 <GregorR-L> You got one to offer? ;)
19:48:11 <pgimeno> more or less :)
19:48:29 <GregorR-L> You #esoteric people are so nice 8-D
19:48:54 <pgimeno> I have to consult it, but I can't give you write access, I just can post your page and maybe your changes
19:49:27 <pgimeno> I've seen so many esoteric language pages being lost
19:49:52 <GregorR-L> (README updated)
19:50:27 * pgimeno updates
19:50:54 <GregorR-L> Just changed stack to tape and operation to symbol
19:51:29 <pgimeno> I suspect a Hello World will be huge...
19:51:36 <GregorR-L> It was four pages printed out.
19:51:43 <GregorR-L> It's on the wall of my cubicle...
19:51:51 <GregorR-L> Cubical? However you spell that.
19:52:08 <pgimeno> cubicle looks right
19:52:13 <pgimeno> neat :)
19:52:35 <GregorR-L> I have a board on my wall that says "BEWARE OF ESOTERIC PROGRAMMING" and has that, some BF and some FYB posted :-P
19:52:52 <pgimeno> heh, cool
19:53:17 <pgimeno> does anyone know something about BLANK? is it 2D?
19:54:00 <pgimeno> I'm trying to classify my bookmarks
19:54:21 <pgimeno> sort, even
19:54:54 <GregorR-L> Unsure *shrugs*
19:55:14 <pgimeno> GregorR-L: in about one hour I can tell you if I can host your 2L page
19:55:58 <fizzie> Iirc blank wasn't 2d.
19:56:10 <GregorR-L> Doesn't look like it's 2D, yeah.
19:56:19 <GregorR-L> Well, I'm off to eat lunch.
19:56:20 <GregorR-L> BBIAB
19:56:31 <pgimeno> later GregorR-L
19:56:31 -!- GregorR-L has quit ("Leaving").
19:57:00 <pgimeno> fizzie: I haven't read the description thoroughly, but I've read this: "Blank is a combination of Befunge, False, and Brainf*ck,[...]"
19:57:29 <pgimeno> I wondered if the befungity came from being 2D
19:58:51 <Keymaker> ah
19:58:59 <Keymaker> back finally
19:59:01 <pgimeno> re, Keymaker
19:59:21 <fizzie> I don't remember anything really befungey about blank, but I have to admit I don't remember any details about the language.
19:59:44 <pgimeno> if you're sure it's not 2D, that's enough for me, thanks
20:00:13 <Keymaker> for the sake of simplicity there should be language using only space and new-line :)
20:00:35 <Keymaker> or maybe not
20:00:49 <pgimeno> that's Whitespace, not to be confused with Blank :)
20:01:48 <Keymaker> ah so there's two?
20:01:58 <Keymaker> i always thought there was just one, never noticed that :)
20:02:06 <pgimeno> Blank is not about spaces, I think
20:02:24 <Keymaker> ok
20:04:30 <fizzie> I think the befungey parts of blank are its stack-basedness, plus the instruction set is befunge-inspired. The program sits in a one-dimensional ring, however.
20:05:42 <pgimeno> ohic
20:06:09 <Keymaker> i gotta ask GregorR-L if i can continue his 2l
20:06:11 <Keymaker> idea
20:06:15 <Keymaker> a bit
20:06:24 <Keymaker> i'd have some plans for it
20:06:32 <Keymaker> but not in the same form
20:06:37 <Keymaker> or well
20:06:57 <Keymaker> i mean with that that i would change the language a bit and its name as well
20:07:30 <pgimeno> yeah, I agree it could be better
20:09:07 <pgimeno> the problem with Blank is that there's no example in the web pages to figure out what it looks like... well, the description has some snippets but not enough as to get an idea
20:09:36 * pgimeno takes a look at the distribution
20:10:14 <pgimeno> oh, there are a few examples there
20:14:47 * pgimeno slaps forehead
20:15:01 <pgimeno> I should have looked in www.99-bottles-of-beer.net
20:17:10 <Keymaker> that is really fascinating site :)
20:17:21 <Keymaker> by the way, iirc it has that for malbolge as well
20:17:37 <Keymaker> that probably means someone has managed to make some loop stuff or something?
20:19:06 -!- puzzlet has quit (No route to host).
20:19:15 <pgimeno> nooo
20:19:26 <pgimeno> it is just a printf | gzip | uuencode
20:19:26 <fizzie> According to http://www.lscheffer.com/malbolge.html it just prints the correct string, does not use a loop.
20:19:46 <pgimeno> no way
20:19:50 <Keymaker> ok
20:20:19 <pgimeno> the day I see a true 99 Bottles of Beer in Malbolge...
20:20:21 <Keymaker> then there's "nothing special" :)
20:20:37 <pgimeno> it's fairly easy to make it spit whatever text
20:20:48 <Keymaker> how?
20:21:08 <pgimeno> you just rotate and op like crazy
20:21:34 <Keymaker> i'm not sure how..
20:22:12 <pgimeno> well, if you normalize the 99BoB you can see that it just performs about one rotate and two ops per character
20:22:54 <pgimeno> the canonical Malbolge interpreter has the "feature"(?) of the output being modulo 256
20:23:07 <pgimeno> which is quite against the spirit of Malbolge, btw
20:23:13 <Keymaker> heh
20:23:28 <pgimeno> it should be modulo 243 if the CPU has trinary pins
20:24:36 <pgimeno> if you prepare a memory area adequately, a rotate followed by an op or two gets the correct character
20:25:36 <pgimeno> that's theory, though; I haven't tried myself
20:26:24 <Keymaker> :)
20:26:31 <pgimeno> I'm now concentrated in getting the memory contents set up as I want them
20:26:39 <pgimeno> not so easy as printing characters
20:27:26 <pgimeno> at least I already got the main loop working (but as it is now, I need to preload the memory)
20:29:16 <Keymaker> too genius-talk for me.. :)
20:29:18 <Keymaker> anyways;
20:29:25 <Keymaker> about getting 111 to some cell
20:29:35 <Keymaker> in this code i assumed
20:30:02 <Keymaker> the pointer must in the cell where 111 is stored when the execution of the program is ended
20:30:09 <Keymaker> ++++[>++++<-]>[<+++++++>-]<-
20:30:27 <Keymaker> i'll try to make a shorter way
20:32:27 <pgimeno> there are three categories
20:32:39 <Keymaker> in what?
20:32:43 <pgimeno> one: leave the pointer in the same cell
20:32:49 <Keymaker> ah
20:32:54 <pgimeno> two: don't leave the pointer in the same cell
20:33:14 <pgimeno> three: assume a modulo-256 interpreter where -1 = 255
20:33:21 <Keymaker> i see
20:33:37 <pgimeno> the code must start at position 0
20:33:40 <Keymaker> i'd outrule that category three immediately
20:33:53 <Keymaker> :)
20:34:00 <pgimeno> it allows far shorter programs
20:34:13 -!- GregorR-L has joined.
20:34:24 <pgimeno> I got one in 13 instructions
20:34:30 <Keymaker> wow
20:34:34 <Keymaker> that is nice
20:34:36 <Keymaker> but
20:34:40 <pgimeno> err
20:34:42 <pgimeno> 17 that is
20:34:59 <GregorR-L> Anybody want to clue me in on the convo?
20:35:05 <Keymaker> i'm strictly "non-wrapping array, non-wrapping cells, 8 bit cells" kind of brainfuck programmer
20:35:14 <pgimeno> ah :)
20:35:18 <pgimeno> convo?
20:35:20 <Keymaker> :)
20:35:22 <Keymaker> conversation?
20:35:26 <GregorR-L> Yeah, sorry
20:35:32 <pgimeno> oh
20:35:42 <Keymaker> well, don't know about that :)
20:35:45 <pgimeno> <Keymaker> about getting 111 to some cell
20:35:45 <pgimeno> <Keymaker> in this code i assumed
20:35:45 <pgimeno> <Keymaker> the pointer must in the cell where 111 is stored when the execution of the program is ended
20:35:45 <pgimeno> <Keymaker> ++++[>++++<-]>[<+++++++>-]<-
20:36:20 <GregorR-L> Ahh yes
20:37:06 <pgimeno> Keymaker: yours is exactly like mine in category one :)
20:38:04 <Keymaker> :)
20:38:20 <Keymaker> but remember i haven't seen your solution
20:38:27 <Keymaker> where are they?
20:38:40 <Keymaker> so it was purely accidental
20:38:52 <pgimeno> http://rinconprog.metropoliglobal.com/Articulos/indexArticulo.php?art=4
20:38:55 <pgimeno> oops
20:39:10 <pgimeno> click on "english version"
20:39:20 <pgimeno> that's the link for the spanish one
20:39:39 <Keymaker> ok
20:39:52 <pgimeno> err
20:39:55 <pgimeno> actually, no
20:40:07 <pgimeno> hehe, sorry... I left that part untranslated
20:40:29 <Keymaker> i see
20:40:35 <pgimeno> the theoretical lower bound is 27 instructions
20:40:35 <Keymaker> maybe that was why i didn't find them
20:40:47 <Keymaker> (and still haven't!)
20:41:30 <pgimeno> look for "Soluciones"
20:41:41 <pgimeno> http://rinconprog.metropoliglobal.com/Articulos/indexArticulo.php?art=4#Soluciones
20:42:01 <GregorR-L> The requested URL /Articulos/indexArticulo.php was not found on this server.
20:42:19 <pgimeno> whoops
20:42:20 <Keymaker> :\
20:42:20 <GregorR-L> Hmm......
20:42:36 <GregorR-L> GAH, I've got to get back to this report X-D
20:42:43 <pgimeno> did you find them, Keymaker?
20:42:47 <Keymaker> nope
20:43:46 <pgimeno> strange
20:44:01 <Keymaker> so.. are they somewhere on that translated page?
20:44:25 <pgimeno> nope, they're just in the spanish page
20:44:40 <pgimeno> have you tried the second link?
20:45:09 <Keymaker> yes
20:45:18 <Keymaker> but it doesn't work
20:45:23 <pgimeno> my Mozilla got a bit crazy
20:45:39 <pgimeno> after it loads, click on the URL bar and hit ENTER
20:45:57 <pgimeno> maybe that helps
20:46:11 <Keymaker> sorry, no effect :)
20:46:32 <pgimeno> hm, let me see if I have it in my old page
20:48:44 <pgimeno> http://perso.wanadoo.es/p.gimeno/temp/Articles/Buscaminas.html
20:48:50 <pgimeno> just uploaded it
20:49:26 <Keymaker> ah, now i can see
20:49:29 <Keymaker> i'll check it out
20:51:40 <pgimeno> if you happen to be interested in the article, the English version is in http://perso.wanadoo.es/p.gimeno/temp/Articles/Minesweeper.html (this one is complete)
20:52:52 <Keymaker> thanks, i'll read it!
20:56:31 * pgimeno admits with a red face that the Minesweeper Designer program is Windows-only
20:57:39 <pgimeno> GregorR-L: are you still interested in letting me host the 2L specs?
20:58:52 <GregorR-L> Sure
21:00:12 <pgimeno> could you perhaps elaborate it a bit more?
21:01:03 <pgimeno> not the language itself
21:01:28 <GregorR-L> Umm, possibly. I could definitely fix the logic tree of doom ^_^
21:01:35 <pgimeno> hehe
21:01:56 <pgimeno> I mean like give examples
21:02:09 <pgimeno> wrap up a "distribution" if possible
21:02:59 <GregorR-L> Okiday
21:03:07 <GregorR-L> I could even autoconf it X-D
21:03:13 <GregorR-L> Which would be pointless, since there's only one file ;)
21:03:15 <GregorR-L> So I won't.
21:04:38 <pgimeno> better not :)
21:05:35 <GregorR-L> ./configure ... checking for bfc: Sorry, the interpreter is written in BrainFuck, so you need a BrainFuck compiler to compile this!
21:05:35 <GregorR-L> :-P
21:05:48 <pgimeno> hehehe
21:06:02 <pgimeno> BF should be a standard POSIX tool
21:06:18 <GregorR-L> Indeed
21:06:27 <pgimeno> after all who uses dc anyway?
21:06:29 <GregorR-L> All scripts that you would write in perl should instead be written in BF.
21:06:41 <Keymaker> second that!
21:06:45 <GregorR-L> X-D
21:06:53 <pgimeno> yeah, much more programmer-friendly
21:07:01 <GregorR-L> Easier to read, less obtuse.
21:07:07 <Keymaker> :)
21:07:08 <pgimeno> agree
21:07:15 <Keymaker> easy syntax
21:07:25 <GregorR-L> No confusing regex
21:07:52 <pgimeno> there's not a thousand ways of writing the same semantically equivalent statement
21:07:54 <GregorR-L> Oooooooooh, that's what I want to see. A regex mungler in BF. Has anybody written one?
21:08:18 <pgimeno> uh, regexps are hard to deal with
21:08:42 <pgimeno> to code, I mean
21:10:24 <GregorR-L> Heheh
21:10:33 <GregorR-L> Which is why I want to see them in BF >:)
21:10:52 <Keymaker> what are those?
21:12:47 <GregorR-L> echo -e "hi\nbye" | grep 'h.*'
21:12:53 <GregorR-L> The h.* there is a regex expression.
21:13:04 <GregorR-L> It says "look for an h, then any character repeated any number of times
21:13:11 <GregorR-L> There are infinitely more complex ones :-P
21:13:34 <pgimeno> there's even one that validates dates
21:13:34 <Keymaker> :)
21:14:21 <fizzie> There are couple dozen-line ones that validate email addresses.
21:15:07 <pgimeno> well, I don't really mean that there's ONE, just that they have enough power to let that be made ;)
21:15:22 <pgimeno> indeed I've written my own date validator
21:15:45 <fizzie> They have just as much power as finite state automatons. :p (Well, perl regular expressions don't count, you can include arbitrary perl code in those.)
21:17:04 <GregorR-L> Oy. This is so difficult to explain ......
21:17:25 <fizzie> They aren't very readable, though. One of my perl scripts say $rest =~ /^((?:(?:$ex_nt|$ex_t|$ex_e)(?:\s+|$|(?=\|)))*)\s*(?:\||$)\s*(.*)$/ and it's not immediately obvious what that does.
21:17:46 <Keymaker> what it does?!
21:17:57 <fizzie> I don't know. It's not obvious.
21:18:01 <Keymaker> :D
21:18:19 <Keymaker> perl should be esoteric
21:18:28 <pgimeno> hehe
21:19:00 <Keymaker> :) hmm, what is finite sate automaton?
21:19:48 <pgimeno> a state machine, something like a Turing machine but unidirectional (someone correct me if I'm wrong)
21:21:46 <fizzie> Basically a Turing machine without the tape, yes. It has a set of states, and it does transitions between the states according to the input it receives, handling one character of input at a time.
21:22:10 <fizzie> (And either accepts or rejects the input, depending on what state it ends up in.)
21:24:06 <GregorR-L> OK
21:24:08 <GregorR-L> I updated the README again
21:24:16 <GregorR-L> This time it has a worthless tutorial 8-D
21:24:54 <pgimeno> yay!
21:25:24 <Keymaker> let's see..
21:25:57 <pgimeno> neat!
21:28:46 <pgimeno> now that's much better
21:28:59 <pgimeno> "That's it! That's the whole language! Isn't that simple ... but not!"
21:29:00 <pgimeno> :)
21:29:03 <Keymaker> :D
21:29:07 <Keymaker> looks good!
21:29:14 <Keymaker> btw, some questions;
21:29:22 <Keymaker> 1. how the program stops?
21:30:04 <Keymaker> 2. what is TLO?
21:30:28 <Keymaker> now.. make an interpreter, i wanna code something!
21:30:34 <Keymaker> :)
21:31:27 <GregorR-L> OHHHHHH! Both very important.
21:31:31 <GregorR-L> I have an interpreter.
21:31:32 <GregorR-L> 2li.c
21:31:39 <pgimeno> TLO = Top location 0, right?
21:31:50 <pgimeno> err tape
21:31:53 <GregorR-L> Tape location 0, yes. I should write that in.
21:31:59 <Keymaker> yeah
21:32:09 <Keymaker> and upload the interpreter
21:32:22 <GregorR-L> The interpreter is up there...
21:33:10 <pgimeno> wasn't I/O being made by a * when the program was runing up/down?
21:33:32 <GregorR-L> No, it's right-left
21:33:41 <GregorR-L> If I wrote it otherwise, I'm an idiot 8-D
21:34:00 <pgimeno> well, I don't have the previous version and I don't remember :)
21:34:19 <pgimeno> in case of doubt it's me who's wrong :)
21:34:25 <GregorR-L> Heheh
21:36:07 <pgimeno> hum, seems to me that it will cost too much traveling from TL0 to TL[whatever] for moderately long programs
21:36:10 <GregorR-L> 2li uploaded with Makefile
21:37:00 <GregorR-L> You could use 0s and travel intelligently *shrugs*
21:37:29 <GregorR-L> 0: 1, 1: 1, 2: 0, 3: n, 4: n, ...., 50: 7
21:37:36 <GregorR-L> You're on 50, just loop backwards until you hit a 0
21:37:44 <GregorR-L> You'd want to put a 0 somewhere there so you could get back
21:37:56 <GregorR-L> And yes, it would cost too much as well 8-D
21:40:19 <pgimeno> furthermore, why left/right are mapped to up/down and raise/lower value are mapped to left/right?
21:40:38 <pgimeno> it would be very graphical if these matched
21:41:08 <GregorR-L> I was mentally imagining it the other way. I was seeing a vertical tape in my head, with values stretching left-right.
21:41:15 <pgimeno> if you operate going to the right, you move the pointer to the right
21:41:17 <pgimeno> oh
21:41:28 <pgimeno> ok then :)
21:41:46 <GregorR-L> But it doesn't quite work the same as in BF, so my descriptions weren't helpful :-P
21:43:19 <pgimeno> gotta go now
21:43:27 <pgimeno> see you tomorrow
21:44:46 <GregorR-L> Bye
21:45:00 <Keymaker> bye
21:46:31 -!- Keymaker has set topic: Somebody make a cooler topic!.
21:51:47 -!- GregorR-L has set topic: Time to fight with BF! Learn FYB (http://www.befunge.org/fyb/) and challenge Gregor's logicex-1.fyb!.
21:51:49 <GregorR-L> Ahahahahaha
21:51:59 <GregorR-L> I'm such a jackass
21:52:03 <Keymaker> :)
21:59:04 <GregorR-L> YAY! I finished my paper ^_^
21:59:18 <Keymaker> good
21:59:22 <Keymaker> what is it about?
21:59:36 <GregorR-L> It's for my Technical Writing class, so it's just some example situation from the book.
22:00:28 <Keymaker> ok
22:35:02 <GregorR-L> Nearly got my compiler working again.
22:35:08 <GregorR-L> Perhaps :-P
22:43:42 <Keymaker> hopefully
22:43:55 <GregorR-L> Sadly, no.
22:43:59 <GregorR-L> I'm not sure what the problem is...
22:44:04 <GregorR-L> It makes C with a bunch of gotos X-D
22:44:29 <Keymaker> :)
22:56:25 <GregorR-L> Oy. I'll get back to that later :-P
22:56:49 <GregorR-L> Note: 2L is subject to change when I look closely at my Hello World program and find that I misimplemented it today.
23:00:59 <fizzie> My befunge compiler makes C with _a lot_ of gotos.
23:01:07 <GregorR-L> Yay :-P
23:01:34 <fizzie> See http://befunge.org/~fis/out.c.txt for an example compilation of http://befunge.org/~fis/utm.html although I think I've advertised this thing here too much already.
23:02:15 <GregorR-L> Truly a masterpiece.
23:17:42 <fizzie> The compiler is still rather buggy. Haven't had time to fix.
23:20:55 <Keymaker> i'll go. sleepy
23:21:04 <Keymaker> good nite
23:21:14 -!- Keymaker has quit ("Freedom!").
23:41:44 -!- GregorR-La has joined.
23:41:54 <GregorR-La> Hi GregorR-L, how are you :-P
23:58:47 -!- GregorR-L has quit (Read error: 113 (No route to host)).
23:59:41 <GregorR-La> Finally
23:59:44 -!- GregorR-La has changed nick to GregorR-L.
←2005-05-03 2005-05-04 2005-05-05→ ↑2005 ↑all