00:42:42 -!- clog has joined.
00:42:42 -!- clog has joined.
01:12:30 <ihope> Eight and swapping?
01:12:34 <ihope> How is eight swapping?
01:15:01 <pikhq> Apparently, you can't read.
01:25:30 <ihope> How do you conclude that?
01:27:39 <pikhq> Because you left out every other word.
01:38:43 <ihope> Not swapping as in moving stuff from RAM to some other place and back again?
01:39:57 <pikhq> That's exactly what virtual memory *does*.
02:09:54 -!- Sukoshi has left (?).
03:22:51 <ihope> bsmntbombdood: nope.
03:23:07 <ihope> pikhq: perhaps I should have said "why is eight swapping?"
03:23:38 <pikhq> That's a good question. Why is an adjective being thought of as a noun in your head?
03:24:23 <ihope> pikhq: "why are eight megabytes swapping"?
03:24:56 <bsmntbombdood> is "data Term = Con Int | Div Term Term Term; eval :: Term -> Int; eval (Con a) = a; eval (Div t u) = eval t / eval u" haskell?
03:25:00 <pikhq> Because some poor bastard only has 4 of them to work with. :p
03:25:26 <ihope> bsmntbombdood: it looks like Haskell to me.
03:25:38 <ihope> (And ; happens to be valid Haskell syntax, I believe.)
03:26:38 <ihope> Except I don't believe / works on Ints, and it seems that should be "Div Term Term" in the data declaration, not "Div Term Term Term".
03:36:28 <ihope> Some languages assume you are infallible. Some languages... don't.
03:37:04 <pikhq> Still other languages assume that you are fallible, but don't give a fuck about it.
03:37:14 <bsmntbombdood> you mean in the sense of protecting you from yourself?
04:07:38 -!- ihope has quit (Connection timed out).
04:30:04 <lament> IMO the key to understanding monads is to ignore the IO one for a while.
04:54:55 -!- immibis has joined.
04:55:49 <immibis> wtf is going on with that topic
04:56:23 <immibis> also "pikhq must select 1 and he can only select 2-6"?
05:49:31 -!- RodgerTheGreat has quit.
05:51:37 <pikhq> And we've not touched it.
05:51:54 <pikhq> I've opted to not select a rule, thereby breaking the axioms.
06:00:19 * immibis ignores pikhq telling him to break the rule
06:00:50 * immibis sees there are 4 rules which say to ignore pikhq, and he would have to break all 4 at once.
06:01:23 <pikhq> Break whichever one you're using to ignore me.
06:05:17 -!- asiekierka has joined.
06:08:21 -!- asiekierka has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | Rules: 1. pikhq selects which rule to break. he MUST select one only. and from 2-6 only. 2. Ignore pikhq. 3. DO NOT Ignore pikhq. 4. DO NOT Ignore anybody. 5. Talk about BF! 6. DUMMY RULE LOLOLOLOLOLOLOLOLOLOL. 7. You cannot add new rules in. 8. If you break rule 1 or 7, you fail in LIFE..
06:09:01 <pikhq> I can accept those axioms.
06:09:13 <pikhq> No ignores, and discussion of pfuck? :)
06:09:23 <pikhq> asiekierka: http://pikhq.nonlogic.org/foo.php
06:13:04 <immibis> 7. You cannot add new rules in.
06:13:15 <immibis> 8. If you break rule 1 or 7, you fail in LIFE.
06:14:02 -!- asiekierka has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | Rules: 1. pikhq selects which rule to break. he MUST select one only. and from 2-6 only. 2. Ignore pikhq. 3. DO NOT Ignore pikhq. 4. DO NOT Ignore anybody. 5. Talk about BF! 6. DUMMY RULE LOLOLOLOLOLOLOLOLOLOL. 7. You MUST add new rules in. 8. If you break rule 1 or 7, you fail in LIFE..
06:15:19 -!- asiekierka has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | Rules: 1. pikhq selects which rule to break. he MUST select one only. and from 2-6 only. 2. Ignore pikhq. 3. DO NOT Ignore pikhq. 4. DO NOT Ignore anybody. 5. Talk about BF! 6. DUMMY RULE LOLOLOLOLOLOLOLOLOLOL. 7. You MUST add new rules in AND do not edit existing rules. 8. If you break rule 1 or 7, you fail.
06:15:23 <pikhq> I already have done that.
06:15:28 -!- immibis has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | Rules: 1. pikhq selects which rule to break. he MUST select one only. and from 2-6 only. 2. Ignore asiekierka. 3. DO NOT ignore pikhq. 4. DO NOT listen to asiekierka. 5. Talk about BF! 6. DUMMY RULE LOLOLOLOLOLOLOLOL. 7. anyone can add new rules in or edit existing once except for asiekierka. 8. If you break rule 1 or 7 or your name is asiekier.
06:15:53 -!- immibis has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | Rules: 1. pikhq selects which rule to break. he MUST select one only. and from 2-6 only. 2. Ignore asiekierka. 3. DO NOT ignore pikhq. 4. DO NOT listen to asiekierka. 5. Talk about BF! 6. DUMMY RULE LOLOLOLOLOLOLOLOL. 7. anyone can add new rules in or edit existing once except for asiekierka. 8. If you break rule 1 or 7 you fail..
06:16:17 -!- pikhq has set topic: Esoteric programming language disccusion | FORUM AND WIKI: esolangs.org | No rules..
06:16:18 -!- asiekierka has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | Rules: 1. How about we all stfu (bsmntbombdood, thx for the idea! you won in LIFE!).
06:16:31 -!- pikhq has set topic: Esoteric programming language disccusion | FORUM AND WIKI: esolangs.org.
06:16:58 -!- asiekierka has set topic: Esoteric programming language disccusion | FORUM AND WIKI: esolangs.org | Rules: 1. No rules. 2. Break rule #1..
06:17:11 -!- pikhq has set topic: Esoteric programming language disccusion | FORUM AND WIKI: esolangs.org.
06:17:27 -!- asiekierka has set topic: #Esoteric ruleset disccusion | FORUM AND WIKI: esolangs.org.
06:17:43 -!- pikhq has set topic: Esoteric programming language disccusion | FORUM AND WIKI: esolangs.org.
06:17:48 -!- pikhq has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org.
06:18:08 -!- asiekierka has set topic: No disccusion. | FORUM AND WIKI: I said, NO DISCUSSION! | Rules: 1. No discussion..
06:18:14 -!- immibis has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org.
06:18:28 * immibis wonders how to make an icechat script that locks-down the topic
06:18:37 <immibis> locks-down = changes it back when someone changes it
06:18:49 -!- asiekierka has set topic: Esoteric stfu discussion | STFU and STFU: STFU..
06:18:55 <pikhq> lament: You're an op. Set +t.
06:19:02 -!- pikhq has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org.
06:19:27 -!- asiekierka has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | Rules: 1. Do not change the topic or you fail in life..
06:19:52 -!- pikhq has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org.
06:20:00 <pikhq> I have no life to fail at. :p
06:20:17 -!- asiekierka has set topic: Esoteric programming language discussion | FORUM AND WIKI: STFU | Rules: 1. Do not change topic or you fail in life. pikhq did..
06:20:25 -!- pikhq has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org.
06:20:44 <pikhq> Damn, this is stupid.
06:20:53 -!- asiekierka has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | Rules: 1. Stop changing the TOPIC!.
06:21:13 <pikhq> I'll agree to that rule, actually.
06:22:02 -!- asiekierka has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | Rules: 1. Break at least one rule. 2. Stop changing the TOPIC FINALLY!.
06:23:30 <asiekierka> Please allow me to change the topic though or i'll delete rule #2.
06:24:23 <pikhq> You may break rule 1.
06:24:40 -!- bsmntbombdood has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric.
06:24:41 <pikhq> You may ignore the paradox involved.
06:24:46 <asiekierka> because if you break rule #1, you can't break any rule...
06:25:04 <pikhq> Humans are good at avoiding paradoxes.
06:25:05 -!- asiekierka has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric | Rules: C:\_.
06:25:07 <pikhq> You know that, right?
06:26:14 <pikhq> Here is how humans avoid paradoxes:
06:26:16 <pikhq> We don't give a fuck.
06:26:28 -!- asiekierka has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric | Rules: C:\del rules.exe and C:\copy pikhq.dat rules.exe.
06:26:44 <pikhq> You. . . Use DOS?!?
06:27:23 <pikhq> Poor, un-UNIXed soul.
06:27:51 -!- immibis has set topic: Esoteric programming language discussion | FORUM ANDWIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric | Rules: C:\del rules.exe and C:\copy pikhq.dat rules.exe and C:\del rules.exe and Do not change the topic..
06:27:53 -!- immibis has set topic: Esoteric programming language discussion \.
06:28:03 -!- asiekierka has set topic: C:\.
06:28:05 -!- immibis has set topic: Esoteric programming language discussion \.
06:28:06 -!- immibis has quit (Excess Flood).
06:28:23 -!- immibis has joined.
06:28:44 -!- asiekierka has set topic: >run "#esoteric_irc.exe".
06:28:44 -!- immibis has set topic: Esoteric programming language discussion \.
06:28:55 -!- asiekierka has set topic.
06:28:57 -!- immibis has set topic: Esoteric programming language discussion \.
06:29:07 <immibis> i was just about to disable it too
06:29:16 -!- asiekierka has set topic: ..
06:29:28 -!- pikhq has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric.
06:29:36 * immibis thinks he's fixed the script
06:29:41 -!- asiekierka has set topic: .
06:29:45 * pikhq would like to second that
06:29:47 -!- pikhq has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric.
06:29:54 <pikhq> asiekierka: Could ya stop?
06:30:17 * immibis knows absolutely NOTHING about icechat scripting so he gives up and deletes the script.
06:30:41 <pikhq> Here are the instructions: [] does a while loop. . does output of the current cell. , does input to the current cell. + increments the current cell.
06:30:46 <pikhq> - decrements the current cell.
06:30:53 <pikhq> > goes right a cell. < goes left a cell.
06:30:58 <pikhq> That's the whole language.
06:31:19 <pikhq> So, you know Brainfuck.
06:31:28 <immibis> for example: ,[.,] is a cat program.
06:31:36 <pikhq> (not necessarily how to do anything useful with it: that comes from experimentation)
06:31:42 <immibis> input, then while the current cell is nonzero, output and input again
06:32:40 <asiekierka> ,[,.,] - my creation, shows every other character, or in low-level:
06:33:22 -!- toBogE has joined.
06:33:31 <toBogE> I have a BF interpreter which does not support input because this is IRC.
06:33:41 <toBogE> EgoBot has a better BF interpreter but he's not around.
06:34:05 <immibis> just thought it might be useful for asiekierka
06:34:20 <immibis> you can stop it, you know.
06:34:21 <toBogE> 2 Process on #esoteric: ps (Thread-ID 4)
06:34:22 <toBogE> 1 Process on #esoteric: bf +[] (Thread-ID 3)
06:35:01 <immibis> !irp is a command which sends text to #esoteric
06:35:02 <toBogE> is a command which sends text to #esoteric
06:35:10 <immibis> !raw is a command which sends raw irc commands
06:35:22 <immibis> eg: !raw PRIVMSG #toboge :I am a bot
06:35:29 <immibis> will send "I am a bot" to #toboge
06:35:53 <immibis> there's your !echo command
06:35:59 <asiekierka> !irp BF and /part were in a boat. /part shooted BF. Who's the killer?
06:35:59 <toBogE> BF and /part were in a boat. /part shooted BF. Who's the killer?
06:36:30 <immibis> you didn't say anyone dies
06:36:31 <immibis> you didn't say anyone died
06:36:42 -!- toBogE has quit (Client Quit).
06:37:04 -!- toBogE has joined.
06:37:12 <asiekierka> the. best. use. of. it. YET. Am i rite?
06:37:25 <immibis> also: ?FACTOIDNAME will retrieve factoids
06:37:26 <toBogE> x is the letter before y
06:37:28 <toBogE> y is the down-coordinate.
06:37:30 <toBogE> z is the letter after y.
06:37:54 <immibis> ? is for retrieving information
06:38:24 -!- toBogE has quit (Nick collision from services.).
06:38:35 <immibis> it seems to get ghosted a lot
06:38:49 <immibis> as in, it gets disconnected but doesn't know it
06:38:58 -!- toBogE has joined.
06:40:17 <asiekierka> !raw QUIT Shut up y'all and i'll comeback.
06:40:17 -!- toBogE has quit (Client Quit).
06:53:30 -!- asiekierka has changed nick to asieaway.
06:59:26 -!- asieaway has changed nick to asiekierka.
07:01:55 -!- toBogE has joined.
07:02:21 -!- immibis has quit (Remote closed the connection).
07:02:32 -!- immibis has joined.
07:03:00 <immibis> i see asiekierka was being annoying
07:03:13 <pikhq> Well, yes, 10 year olds are good at that.
07:03:27 <immibis> asiekierka's 10 years old?
07:04:08 <asiekierka> -._.-'-._ and i'm smart enough to learn ASCII and BF. _.-'-._.-
07:04:32 * pikhq has been programming since 8
07:04:33 <immibis> asiekierka: probably not a good idea to use your real name on irc if you're only 10
07:04:44 <pikhq> Stupid hacks back then, though.
07:04:52 * immibis has also been programming since about 8 (he thinks, he can't remember exactly when)
07:04:59 <pikhq> asiekierka: Still not a good idea.
07:05:15 <immibis> Adrian Siekierka: don't your parents care?
07:05:29 -!- toBogE has quit (Read error: 104 (Connection reset by peer)).
07:05:38 * pikhq started doing remotely *serious* stuff towards the age of 12. . . That being about when I started in UNIXdom.
07:05:40 <asiekierka> No not really in fact... they don't know even 10% of what i am doing.
07:05:53 -!- toBogE has joined.
07:06:50 <immibis> !ctcp ACTION has no idea what pikhq is talking about
07:06:50 * toBogE has no idea what pikhq is talking about
07:07:06 <pikhq> That's really not good.
07:07:39 -!- asiekierka has quit.
07:07:41 <immibis> !ctcp ACTION has no idea what anyone is talking about - he can't understand human lnguages.
07:07:41 <toBogE> <CTCP>ACTION has no idea what anyone is talking about -
07:07:42 <toBogE> he can't understand human lnguages.<CTCP>
07:08:17 * immibis tests using a hyphen - in a CTCP ACTION command
07:31:15 -!- calamari has joined.
07:40:53 -!- fizzie has joined.
07:49:40 -!- immibis has quit ("We be chillin - IceChat style").
07:49:51 -!- toBogE has quit (Read error: 104 (Connection reset by peer)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:08:01 -!- immibis has joined.
08:16:02 -!- calamari has quit ("Leaving").
08:22:01 -!- MichaelRaskin has joined.
08:29:16 -!- immibis has quit (Read error: 110 (Connection timed out)).
08:49:56 -!- immibis has joined.
09:33:51 -!- immibis has quit ("Pull the pin and count to what?").
09:34:30 -!- cherez has quit ("Leaving.").
10:30:06 -!- MichaelRaskin has left (?).
11:17:32 -!- ehird` has joined.
13:13:14 -!- RedDak has joined.
14:10:41 -!- asiekierka has joined.
14:11:07 -!- asiekierka has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric | Rules: 1. Do not change the rules. 2. Do not change the topic BTW..
14:31:05 -!- RodgerTheGreat has joined.
14:31:25 <asiekierka> Can anybody try to optimize the size of my BF code?
14:32:45 <RodgerTheGreat> well, multiplication can only compress constants of size 15 or greater
14:34:15 <asiekierka> +++++++++++++>++++++++++>,.>,.>,.<<<<.>.>>>>,.>,.>,.<<<<<<<.>.>>>>>>>,.>,.>,.
14:35:12 <RodgerTheGreat> it's possible that you could optimize those pointer movements
14:35:34 <asiekierka> <RodgerTheGreat> well, multiplication can only compress constants of size 15 or greater
14:36:41 <RodgerTheGreat> well, there's a difference between generating a constant and moving the pointer, because you can arrange your memory cells however you want
14:38:23 <RodgerTheGreat> if you don't need to save the 9 inputs, for example, you can make it *much* smaller. If you still want to keep that data in memory it might be faster to store your newlines in the center of the 3x3 grid data so that it's "closer" on average
14:39:35 <RodgerTheGreat> if you're new to optimizing BF, this page might be worth a glance: http://esoteric.voxelperfect.net/wiki/Brainfuck_constants
14:41:56 <asiekierka> +++++++++++++>++++++++++>,.>,.>,.<<<<.>.>,.>,.>,.<<<<.>.>>>>,.>,.>,.
14:43:00 <RodgerTheGreat> although you can use a similar process to make it even smaller
14:43:41 <RodgerTheGreat> +++++++++++++>++++++++++>,.,.,.<<.>.>,.,.,.<<.>.>,.,.,.
14:44:01 <RodgerTheGreat> then you store all your intermediate data in a single cell
14:51:38 <asiekierka> I guess we just decrased it by ~1,4 times!
14:57:18 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
15:00:51 <asiekierka> +++++++++++++>++++++++++>>+++[<<<.>.>,.,.,.,.>-]
15:02:53 <RodgerTheGreat> although remember- that version is the best possible optimization for code length. The version I posted before it is the best possible optimization for speed.
15:03:24 <RodgerTheGreat> because they're the same program- mine has a loop unrolled, while yours is packed
15:03:47 <RodgerTheGreat> but most people honestly don't bother optimizing BF for speed
15:04:28 <RodgerTheGreat> another speed example- ++++++++[>+++++<-] is slower than +++++[>++++++++<-]
15:05:29 <RodgerTheGreat> because the overhead of the loop is executed fewer times
15:05:48 <RodgerTheGreat> that's a situation where identical code length results in a different execution time
15:10:14 <asiekierka> yes... We always should multiply LOWER[<GREATER right?
15:11:55 <asiekierka> I don't care about execution time. Most of us have at least 800mhz processors
15:12:02 <RodgerTheGreat> and when you can do many multiplies inline (like ++++++[>+++++++>+++++>+++++<<<-], you save even more overhead
15:12:32 <RodgerTheGreat> true, but ordering your multiplies properly is usually a "free" optimization- faster code at no length cost
15:12:56 <asiekierka> sometimes it is NOT possible... but...
15:13:15 <asiekierka> you cannot check which one is greater in BF without overhead?
15:14:00 <RodgerTheGreat> well, I'm talking about generating constants. When you generate constants, it's *YOU* that needs to know which one is greater
15:18:10 <asiekierka> It's a good code now, not bloated, isn't it?
15:18:40 <asiekierka> i know it IS a bit bloated still, but it's due to BF...
15:19:49 -!- blahbot` has joined.
15:20:33 * ehird` is toying with the idea of making a homebrew cpu
15:21:45 <ehird`> + if i was going to make a BF device (which i am toying with admittedly - http://esolangs.org/wiki/BF_machine) i wouldn't use a premade spec
15:24:23 <asiekierka> STDIN? will use a console-like keyboard
15:24:27 <RodgerTheGreat> asiekierka: I'd like to see a program in C that is the same length as "+++++++++++++>++++++++++>>+++[<<<.>.>,.,.,.,.>-]" while accomplishing the same task
15:24:38 <RodgerTheGreat> I don't think BF is necessarily bloated for simple things
15:25:01 <RodgerTheGreat> it's fucking sweet for implementing a variety of cyphers
15:26:11 <ehird`> asiekierka, that extension could be come up with in 5 minutes
15:26:22 <ehird`> seriously, why bother extending an idea if you don't have anything really useful to add to it?
15:26:37 <ehird`> my machine design has no limits on tape size
15:26:41 <ehird`> it can be anything the maker wants
15:26:56 <ehird`> anything > 320x240 1bit would be hell to code graphics with
15:27:15 <ehird`> and backwards compatibility is useful, the new commands adding much-needed flexibility for lower-level code
15:27:44 <ehird`> 76799 is (320*240)-1, so you can do "----" to get near the end instead of "<insanely much +s here>"
15:27:57 <ehird`> my spec has no limit on cells
15:28:10 <ehird`> whatever amount of cells you have, if you don't change anything else, it is still according to my spec
15:28:32 <ehird`> it says NOTHING about how much ram/how many cells a machine must have
15:28:40 <ehird`> therefore you haven't really extended the idea at all
15:29:12 <ehird`> this is fscking BRAINFUCK
15:29:52 <RodgerTheGreat> even if you make those extensions, it'd need to be transparent to BF
15:30:04 <asiekierka> i will put up to 1MB of cells (1048576). It's enough for 99,9% of people
15:30:20 <asiekierka> SD card will be a storage/pagefile space
15:30:33 <asiekierka> along with an included 4MB flashmem i guess
15:31:05 <ehird`> <asiekierka> i will put up to 1MB of cells (1048576). It's enough for 99,9% of people
15:31:21 <ehird`> 60,000 should be enough for anyone (TM)
15:33:16 <ehird`> RodgerTheGreat, yes, but some things use more
15:33:21 <ehird`> 60,000 should work with anything
15:33:43 <ehird`> but 100,000 - that's just a waste
15:44:18 <ehird`> ask yourself if you even need ram to implement this
15:45:30 <ehird`> exactly, you don't need ram
15:45:54 <ehird`> try and make the most minimal BF cpu design you can :)
15:46:11 <ehird`> maybe ditch the screen stuff - just use a LED display like on calculators
15:46:35 <ehird`> if you get it really small i'll be impressed :)
15:46:42 <asiekierka> but i'd rather go on and make a 240x80 screen
15:47:20 <asiekierka> 20x8 + scrollbar is enough for ANYONE!
15:47:48 <ehird`> just make up/down keys
15:47:51 <ehird`> no need to display a scrollbar
15:48:15 <ehird`> you won't be able to run many useful BF programs
15:48:26 <ehird`> you at least want a-z0-9
15:48:37 <ehird`> and, of course, a shift key for A-Z and maybe a few useful special chars on 0-9
15:48:48 <ehird`> make the keys those small rubbery things
15:49:05 <ehird`> probably the best idea
15:49:13 <ehird`> don't make it too big :P
15:49:19 <asiekierka> i will make a-z, 0-9, shift key, special chars on 0-9, all bf chars separate.
15:49:42 <asiekierka> BF chars will be on Shift+0-7 probably
15:49:43 <ehird`> a-z0-9, shift key, space key, enter key, arrow keys, backspace/(shift backspace = delete) key, and brainfuck command keys
15:50:33 <asiekierka> a-z-0-9, shift,space,enter,arrow keys, backspace, and: Shift0-7 - bf command keys, Shift8 - @, Shift9 - $.
15:50:51 <ehird`> i guess, but special keys get quite some use in BF
15:51:07 <ehird`> maybe you should refine qwerty's 0-9 special keys, then have seperate <>+-.,[] keys
15:57:53 <ehird`> how about, a-z0-9, ctrl and shift keys
15:57:56 <ehird`> shift changes a-z into A-Z
15:58:00 <ehird`> and 0-9 into special characters
15:58:11 <ehird`> ctrl changes 0-7 into brainfuck, 8-9 into i dunno,
16:00:07 <asiekierka> I think i could make it in a small enough dimensions.
16:00:50 <ehird`> 38 keys -> 144 characters
16:00:55 <ehird`> (assuming ctrl-shift is allowed)
16:01:32 <asiekierka> Ctrl-Shift-M is Linux newline (just 10, not 13 and 10)
16:01:41 -!- Naerian has joined.
16:01:42 <ehird`> ctrl-m is linux newline
16:02:02 <asiekierka> so CtrlShift-M will be Windows newline (for example, I use it)
16:02:11 <asiekierka> so we should allow for both.... in fact
16:02:24 <ehird`> ctrl-m is what most people will think
16:02:42 <ehird`> why do you need multiple newline styles for a simple brainfuck cpu????
16:02:42 <asiekierka> CtrlShiftM will toggle between win and lin
16:03:15 -!- sebbu has joined.
16:03:28 <Naerian> amatorem ezoterycznych jezykow :P
16:04:05 <Naerian> ja napisalem program wyswietlajacy moj email :D
16:17:14 -!- Naerian has left (?).
16:18:12 <asiekierka> You know what command i'd like to see?
16:20:24 <asiekierka> Then i could make the one cool thing. It will probably take ~2MB :DDD
16:20:39 <asiekierka> except if i will go on and make stdin the whole ascii charset
16:23:59 -!- ehird` has quit (simmons.freenode.net irc.freenode.net).
16:24:19 -!- ehird` has joined.
16:52:07 * ehird` wonders why CISC computers still exist
16:52:38 -!- ihope__ has joined.
16:52:46 <pikhq> Because IA32 is still in existence, of course.
16:52:53 -!- ihope__ has changed nick to ihope.
16:53:58 <ihope> Maybe the "quine theorem" states that there is a quine in every programming language that can output any string a Turing-complete language can in an alphabet including all characters in its source code.
17:07:54 <pikhq> ihope: I have a reformulation for you.
17:12:15 -!- lament has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric.
17:14:48 <ehird`> you killed the retarded rules
17:17:11 <pikhq> We assume that we have a Turing-complete language with an output tape, and that the program tape and the output tape have the same alphabet.
17:18:07 <pikhq> It is possible for a program to be executed, generating a copy of the program tape on the output tape, in any such language.
17:20:42 -!- ihope has quit (Connection timed out).
17:21:54 <ehird`> you can simulate strings in the lambda-calculus with lists
17:22:02 <ehird`> therefore a lambda-calculus quine is possible
17:22:08 <ehird`> and lambda-calculus can be converted to iota
17:22:14 <ehird`> so, obviously, an iota quine is possible...
17:22:20 <ehird`> but who will be the first to write one? :)
17:22:24 <lament> you can simulate anything in anything turing-complete
17:22:33 <ehird`> but i want to see an iota quine =)
17:22:54 <lament> iota actually takes input and output, doesn't it?
17:24:08 <lament> i thought it had some convention for IO
17:24:12 <pikhq> ehird`: Actually, a lambda calculus quine is impossible, since it doesn't have an output tape.
17:24:20 <ehird`> pikhq, lambda calculus has lists
17:24:28 <pikhq> Yes, but they're not output.
17:24:39 <pikhq> Those are part of the program itself.
17:24:41 <lament> A lambda calculus quine will never finish reducing
17:24:45 <ehird`> you know what i mean, though
17:24:55 <ehird`> an expression that produces a list of church numerals containing its source code
17:25:06 <pikhq> Now, we assume a sexp lambda calculus, with the following functions: def, lambda, and output.
17:25:15 <ehird`> pikhq, you don't need any of that
17:25:20 <ehird`> you could write one in pure LC
17:25:43 <pikhq> def and lambda act as you'd expect. output outputs the Church numeral that is it's argument, converted to ASCII.
17:25:59 <ehird`> if you can write a quine in pure LC - as you can
17:26:01 <pikhq> ehird`: No output for the LC quine to write itself to.
17:26:02 <ehird`> then you can write one in iota
17:26:09 <ehird`> pikhq, a list of church numerals
17:26:22 <lament> that's lazyk's convention and nothing more
17:26:49 <ehird`> it is still a working convention
17:27:08 <ehird`> you can write a lambda calculus expression which when evaluated returns a list of church numerals representing the expression in ascii format
17:27:13 <ehird`> by extension, you can do the same with iota
17:27:14 <pikhq> Mmkay. . . So, you've got something that only outputs if it halts.
17:27:26 <pikhq> Sure, I suppose that's acceptable.
17:27:33 <ehird`> -- maybe with 0 and 1 for * and i to keep things simple
17:27:40 <lament> well, of course it'll halt, otherwise it's not much of a quine :)
17:28:03 <pikhq> lament: Well, yeah. All *quines* will halt. The issue is only that a nonhalting program can't do output.
17:28:14 <pikhq> But that's not *needed* for a quine to exist.
17:28:23 <lament> pikhq: with functional languages that's never an important issue
17:28:59 <pikhq> (lambda (x) (x x)) (lambda (x) (x x));So, you're saying that it doesn't matter whether or not this halts?
17:29:00 <lament> all non-halting programs are equivalent
17:29:13 <lament> pikhq: it doesn't output anything either
17:29:17 <lament> pikhq: it's the same as bottom
17:29:26 <pikhq> asiekierka: Trivial. ;)
17:29:36 <pikhq> (that's one feature of PEBBLE, in fact)
17:29:37 <ehird`> asiekierka, done in 47 characters in BF itself.
17:29:58 <ehird`> http://www.hevanet.com/cristofd/brainfuck/results0.txt
17:30:00 <lament> ehird`: is that a bf golf result?
17:30:07 <ehird`> +++++[>+++++++++<-],[[>--.++>+<<-]>+.->[<.>-]<<,]
17:30:07 <pikhq> If you're still new at programming, something that simple may still be useful to write.
17:30:11 <ehird`> %bf +++++[>+++++++++<-],[[>--.++>+<<-]>+.->[<.>-]<<,]!h
17:30:11 <blahbot`> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.--------------------------------------------------------------------------------------------------------
17:30:15 <ehird`> not exactly optimized, though
17:30:25 <lament> man, my entry is the longest :(
17:30:29 <ehird`> %bf +++++[>+++++++++<-],[[>--.++>+<<-]>+.->[<.>-]<<,]!+++++[>+++++++++<-],[[>--.++>+<<-]>+.->[<.>-]<<,]
17:30:29 -!- blahbot` has quit (Excess Flood).
17:30:40 * pikhq doesn't have an entry. . .
17:30:42 <ehird`> that produced about 100 messages
17:30:47 -!- blahbot` has joined.
17:31:03 <ehird`> %bf +++++[>+++++++++<-],[[>--.++>+<<-]>+.->[<.>-]<<,]!hi
17:31:03 <blahbot`> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.--------------------------------------------------------------------------------------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.---------------------------------------------------------------------------------------------------------
17:31:06 <ehird`> %bf +++++[>+++++++++<-],[[>--.++>+<<-]>+.->[<.>-]<<,]!hel
17:31:06 <blahbot`> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.--------------------------------------------------------------------------------------------------------+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.-----------------------------------------------------------------------------------------------------++++++++++++++++++++++++
17:31:08 <ehird`> %bf +++++[>+++++++++<-],[[>--.++>+<<-]>+.->[<.>-]<<,]!hello
17:32:16 <pikhq> %bf >---[<->-----]<+.---.+++++++..+++.>--[<->-----]<+.
17:32:27 <ehird`> %bf >><[+.,-->>+<-]!hello
17:34:31 <asiekierka> %bf +++++++++++++>++++++++++>>+++[<<<<.>.>,.,.,.,.>-]!CUBEMAKETOOl
17:34:52 <asiekierka> %bf +++++++++++++>++++++++++>>+++[<<<<.>.>,.,.,.,.>-]! __ |:D||__|
17:35:04 <ehird`> %bf +++++++++++++>++++++++++>>+++[<<<<.>.>,.,.,.,.>-]!what a useless program
17:35:13 <ehird`> %bf +++++++++++++>++++++++++>>+++[<<<<.>.>,.,.,.,.>-]!what a useless broken program
17:35:26 <asiekierka> %bf +++++++++++++>++++++++++>>+++[<<<<.>.>,.,.,.,.>-]!I knowlol!
17:35:38 <asiekierka> %bf +++++++++++++>++++++++++>>+++[<<<<.>.>,.,.,.,.>-]!I knowlol!
17:35:48 <blahbot`> yyz{|}~
‘’£€₯¦§¨©ͺ«¬―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ
17:37:15 -!- cmeme has quit ("Client terminated by server").
17:37:26 <pikhq> %bf >,[>,]<[.<]!!iH!],.[, fb%
17:37:26 -!- cmeme has joined.
17:37:58 <ehird`> %bf ,[.,]!Hi!!]<.[<],>[,> fb%
17:38:28 <pikhq> That does nothing.
17:38:46 <pikhq> $bf ++++++++++[>++++++++++<-]>.
17:38:49 <ehird`> hey... what about a program that run one way, produces a program that (run one way, prints Hello, and run another way, olleH), and run another way, that same program reversed
17:38:52 <pikhq> I believe that is what you meant?
17:38:55 <ehird`> %bf ++++++++++[>++++++++++<-]>.
17:39:07 <lament> ehird`: in what language?
17:39:45 -!- MichaelRaskin_ has joined.
17:39:58 <pikhq> It coudln't rely on loops.
17:40:12 <lament> somebody had a reversible brainfuck variant, that could be helpful
17:40:24 <ehird`> lament, reversible in code, silly
17:40:30 <ehird`> pikhq, your program did there
17:41:00 <asiekierka> %bf ++++++++++[>++++++++++<-]>---.++++++++++++++++++.----------.----.>>>++++[>++++++++<-]>+.
17:41:04 <lament> ehird`: what else does reversible mean?
17:41:13 <pikhq> ehird`: Reversing it would generate a non-valid BF program.
17:41:30 <ehird`> pikhq, look at your program
17:41:32 <pikhq> asiekierka: Not bad. I think you're getting the hang of Brainfuck's basics.
17:41:34 <ehird`> it uses loops and reverses fine
17:41:53 <asiekierka> %bf +[+++++++++[>++++++++++<-]>---.++++++++++++++++++.----------.----.>>>++++[>++++++++<-]>+.]
17:41:55 <pikhq> ehird`: So, ,[.,] is just as valid as ],.[,
17:42:01 <ehird`> lament, program.reverse != program, but bf(program) and bf(program.reverse) both do something (maybe not the same thing)
17:42:05 <ehird`> pikhq, %bf >,[>,]<[.<]!!iH!],.[, fb%
17:42:25 <lament> i would treat that as a syntax error
17:42:31 <ehird`> %bf >,[>,]<[.<]!!iH!],.[, fb%
17:42:34 <lament> but i suppose there's no requirement for loops to be closed
17:42:38 <pikhq> Sure, but that's not Brainfuck; that's Brainfuck + input.
17:43:17 <ehird`> %bf >,[>,]<[.<]!>,[>,]<[.<]
17:43:22 <pikhq> Well, in *that* case, one would merely have to rely upon ignoring input.
17:43:32 <ehird`> pikhq, that's cheating a little
17:44:05 <ehird`> %bf >,[>,]<[.<]!]<.[<],>[,>
17:44:14 <lament> your rules for what is and what isn't cheating seem a little arbitrary
17:44:23 <pikhq> %bf >,[>,]<[.<]!%bf ++++++++++.>----[<+>----]<-.>++++[<+++++++>-]<+.+++++++..+++.>--[<->-----]<+.
17:44:24 <blahbot`> .+<]----->-<[-->.+++..+++++++.+<]->+++++++<[++++>.-<]---->+<[---->.++++++++++ fb%
17:44:31 <ehird`> %bf .+<]----->-<[-->.+++..+++++++.+<]->+++++++<[++++>.-<]---->+<[---->.++++++++++ fb%
17:44:38 <blahbot`> 0. bf +[+++++++++[>++++++++++<-]>---.++++++++++++++++++.----------.----.>>>++++[>++++++++<-]>+.]
17:44:48 <pikhq> %bf ++++++++++.>----[<+>----]<-.>++++[<+++++++>-]<+.+++++++..+++.>--[<->-----]<+.!.+<]----->-<[-->.+++..+++++++.+<]->+++++++<[++++>.-<]---->+<[---->.++++++++++ fb%
17:45:23 <ehird`> pikhq, wait that produces the output
17:45:26 <ehird`> not a program producing the output
17:45:36 <pikhq> The idea is confusing.
17:45:53 <ehird`> BF(BF(x.reverse)) = olleH
17:46:07 <ehird`> BF(BF(x.reverse)) == BF(BF(x).reverse)
17:46:26 <ehird`> X produces a program Y. X reversed produces Y reversed.
17:46:34 <ehird`> Y in normal order prints out "Hello"
17:46:39 <ehird`> Y reversed prints out "olleH"
17:48:23 <ehird`> %bf ,[>,][<][.>]--[>--<+++++++]>--[<][.>]![>,][<][.>]--[>--<+++++++]>--[<][.>]
17:49:28 <ehird`> %bf ,[>,][<][.>]--[>--<+++++++]>--<.[<][.>]!,[>,][<][.>]--[>--<+++++++]>--<.[<][.>]
17:49:47 <ehird`> %parse ,[>,][<][.>]--[>--<+++++++]>--<.[<][.>]!,[>,][<][.>]--[>--<+++++++]>--<.[<][.>]
17:49:48 <blahbot`> ,[>,][<][.>]--[>--<+++++++]>--<.[<][.>],[>,][<][.>]--[>--<+++++++]>--<.[<][.>]
17:51:04 <ehird`> %bf ,[>,][<][.>]--[>--<+++++++]>--<.[<][.>!hello
17:51:04 -!- blahbot` has quit (Remote closed the connection).
17:51:20 -!- blahbot` has joined.
17:51:22 <ehird`> %bf ,[>,][<][.>]--[>--<+++++++]>--<.[<][.>]!hello
17:51:50 <ehird`> %bf ,[>,][<][.>]!hello
17:51:52 -!- jix has joined.
17:52:07 <ehird`> %bf ,[>,]<[<][.>]!hello
17:53:03 <ehird`> %bf ,[>,]<[<]>[.>]!hello
17:53:16 <ehird`> %bf ,[>,]<[<]>>.!hello
17:53:38 <ehird`> %bf ,[>,]<[<]>>>>>>>>>>>>.!hello
17:54:03 <lament> is it maybe ignoring you
17:54:29 <blahbot`> [66, 67, 6, 67, 81, 73, 76, 69]
17:54:32 <ehird`> %bf ,[>,]<[<][.>]--[>--<+++++++]>--.<<<[<][.>]!,[>,]<[<][.>]--[>--<+++++++]>--.<<<[<][.>]
17:54:42 <asiekierka> %bf ++++++[>++++++++<-]>-.<++++++[>++++++++++<-]>++.--------.>++++[>++++++++<-]>.>,[.,]!and asiekierka are trying something
17:54:42 <blahbot`> /me and asiekierka are trying something
17:55:16 <blahbot`> i do not like being forced to run programs and say things! stop itl.
17:55:58 <blahbot`> yeah!! do you think i chose that nick????
17:56:19 <asiekierka> %bf ++++++[>++++++++<-]>-.<++++++[>++++++++++<-]>++.--------.>++++[>++++++++<-]>.>,[.,]
17:56:42 <asiekierka> %bf >>+++++++[<<+[>+++<-]>[<+++>-]>-]<<
17:56:47 <blahbot`> 0. bf ,[>,]<[<][.>]--[>--<+++++++]>--.<<<[<][.>]!,[>,]<[<][.>]--[>--<+++++++]>--.<<<[<][.>]
17:56:47 <blahbot`> 2. bf ,[>,]<[<]>>>>>>>>>>>>.!hello
17:57:24 <ehird`> the pids rejiggle themselves
17:57:51 <asiekierka> %bf >>+++++++[<<+[>+++<-]>[<+++>-]>-]<<.
17:59:05 <asiekierka> %bf >+++>++++>++>++>++++>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>++>++>+++>++++>++
17:59:07 <asiekierka> +>+>++++>++>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>++>+
17:59:07 <asiekierka> +>+>++++>+>+>+>++++>++>++>+++>++++>++++>++>++++>++>+>++++>+>+>++++>++>+++>++++>+
17:59:07 <asiekierka> +>++>++>++>+++>++++>++>++>+>++++>+>+>+>+>++++>++>+>+>+>+>+>+>+>+>+++>++++>++++>+
17:59:07 <asiekierka> +>+>++++>++++>++>++++>++>+++>++++>+++>+>++>++>+++>++++>++>++>+>++++>+>+>++++>++>
17:59:07 <asiekierka> +>+>+++>++++>++++>++>+>++++>+>+>++++>++>++++>++>+>++++>+>++++[[>>+[>]+>+[<]<-]>>
17:59:07 <asiekierka> [>]++++>++[<]<<]>+[>>]<[+[<++++++++++++++++>-]<++++++++++.<]
17:59:31 <lament> can we please somehow flood a little less than that
17:59:35 <asiekierka> %bf >+++>++++>++>++>++++>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>++>++>+++>++++>+++>+>++++>++>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>+>++>++>+>++++>+>+>+>++++>++>++>+++>++++>++++>++>++++>++>+>++++>+>+>++++>++>+++>++++>++>++>++>++>+++>++++>++>++>+>++++>+>+>+>+>++++>++>+>+>+>+>+>+>+>+>+++>++++>++++>++>+>++++>++++>++>++++>++>+++>++++>+++>+>++>++>+++>++++>++>++>+>++++>+>+>++++>++>+>+>+++>++++>++++>++>+>++++>+>+>++++>++>+
18:00:42 <lament> catlol, the opposite of lolcat?
18:00:44 <blahbot`> quit, eval, ps, kill, cmds, help, reload, join, part, send, topic, raw, bf, parse, reduce, wapr (use %help for argument information)
18:00:50 <ehird`> if you do use %help do it in #esoteric-blah
18:01:00 <ehird`> %bf ,[>,]<[<]>[.>]--[>--<+++++++]>--.<<<[<]>[.>]!h
18:01:02 <blahbot`> 0. bf ,[>,]<[<]>[.>]--[>--<+++++++]>--.<<<[<]>[.>]!h
18:01:05 <ehird`> it works on other interps..
18:03:05 -!- blahbot` has quit ("ehird`, that's what blahbot` is for.").
18:03:33 -!- blahbot` has joined.
18:10:22 -!- MichaelRaskin_ has left (?).
18:11:45 -!- cherez has joined.
18:12:36 <ehird`> asiekierka, are you just being silly for the sake of it
18:12:38 <blahbot`> quit, eval, ps, kill, cmds, help, reload, join, part, send, topic, raw, bf, parse, reduce, nc, wapr (use %help for argument information)
18:12:40 <ehird`> it accepts nothing else
18:16:02 * ehird` wonders what to add to blahbot`
18:16:21 <ehird`> cherez, i'm not an AI coder
18:16:26 <lament> ehird`: the capacity to feel pain
18:16:32 <asiekierka> %kick asiekierka! %kick asiekierka! %kick asiekierka! %kick asiekierka! %kick asiekierka! %kick asiekierka! %kick asiekierka! %kick asiekierka! %kick asiekierka!
18:18:39 <pikhq> Fromagx, you should add a personality to Blahbot for ehird. ;)
18:19:33 -!- asiekierka has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric | Rules. 1. Break at least one rule. 2. Worship blahbot`..
18:19:55 <pikhq> Hell, you should code it such a good personality that we obtain singularity. (w00t!)
18:20:41 <asiekierka> Code it such a bad personality he kicks anybody that dosen't say "I LOVE YOU" to him.
18:21:46 <cherez> Code it such a good personality that everyone does!
18:22:08 <asiekierka> Hell, you should code it such a good personality he loves me.
18:22:38 <cherez> Give him a nice body too.
18:23:11 <lament> "nice" - "capable of wielding rocket launchers"?
18:23:25 <asiekierka> you can't do anything but wet your pants looking at the awesomeness of my idea.
18:26:54 <lament> bf doesn't have sockets
18:27:30 <blahbot`> all i want is a personality. not a rewrite
18:27:48 <asiekierka> just make people type %bf personality for it
18:27:57 <blahbot`> of course, my owner has to find a good algorithm for a basic personality first. hooray.
18:27:57 <pikhq> Make the personality be done via C2BF.
18:28:05 <blahbot`> maybe i should copy the amarok bot
18:28:14 <blahbot`> oh well, my owner just found one. AND IT'S IN BRAINFUCK!!!!111ONEONEONE
18:28:18 <pikhq> Of course, one should design it so that it finishes C2BF.
18:28:23 <blahbot`> and reply with random stitched-together sentences of previous messages containing the words
18:28:52 <ehird`> reply = input.split(" ").map(find_random_message_with_word)
18:28:53 <pikhq> On a more serious note, we shoult stick Eliza in a bot.
18:29:36 <ehird`> asiekierka, STOP fucking with blahbot`
18:30:28 <pikhq> Shut the cunt up?!?
18:31:02 <pikhq> Obey yourself, please.
18:31:50 <pikhq> Watasi ha ananta ga suki zya nai kara, korositakunaru.
18:32:19 <ehird`> %quit gone until asiekierka stops that shit
18:32:20 -!- blahbot` has quit ("gone until asiekierka stops that shit").
18:32:47 <pikhq> lament: You know, you're an op. . .
18:33:09 -!- asiekierka has left (?).
18:33:24 <pikhq> ehird`: Don't stop.
18:33:46 <ehird`> so blahbot ... is ungone
18:33:46 <lament> pikhq: yes, and what should i do? Most of the actual flooding is done by ehird and blahbot.
18:33:47 -!- blahbot` has joined.
18:33:59 <ehird`> lament, i haven't flooded from what i can see?
18:34:00 <pikhq> lament: And being caused by asiekierka.
18:34:11 -!- asiekierka has joined.
18:34:13 <ehird`> lament, asierkierka has told blahbot` to flood, sure
18:34:24 <pikhq> You could at least set the topic to something sane, and do +t.
18:34:36 <lament> ehird`: about an hour ago, when you were debugging brainfuck in here, for instance
18:34:40 -!- asiekierka has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric.
18:34:51 <ehird`> lament, nobody was talking at the time
18:35:07 <asiekierka> If you'll kick me, i will torture the topic again
18:35:24 <pikhq> Just +t it before kicking.
18:36:05 <lament> what if i torture you?
18:36:12 <pikhq> http://pikhq.nonlogic.org/game.tar.bz2 Call me up when you understand that.
18:36:16 <lament> will you kick the topic? :)
18:36:25 <asiekierka> %bf ,[.,]!i don't care, asiekierka dosen't care, nobody does!
18:36:26 <blahbot`> i don't care, asiekierka dosen't care, nobody does!
18:39:13 -!- puzzlet_ has joined.
18:39:57 -!- puzzlet has quit (Remote closed the connection).
18:40:04 <asiekierka> %bf ,[,.,]!WWeellll,, wwhhoo ccaarreess?? II ddoo nnoott..
18:47:11 -!- asiekierka has left (?).
18:47:43 <pikhq> Whoever contacts him will be punished.
18:48:20 -!- oerjan has joined.
18:48:21 -!- asiekierka has joined.
18:50:51 -!- asiekierka has left (?).
18:51:06 -!- squazr23 has joined.
18:51:28 -!- MichaelRaskin_ has joined.
18:51:49 <squazr23> Nope, if i will have 23 as my IQ, i will not understand BF.
18:51:59 <ehird`> yeah, you'd be too intelligent for it
18:52:03 <squazr23> lament: I am sure you know who i am.
18:52:06 -!- MichaelRaskin_ has changed nick to MichaelRaskin.
18:52:35 <ehird`> squazr23 (n=asiekier@nat-1.elb.vectranet.pl)
18:52:51 -!- squazr23 has changed nick to asiekierka.
18:54:44 * ehird` thinks what ai algorithms to use for bl
18:56:07 <ehird`> that is not coincidential
18:57:26 <asiekierka> Y'all get A++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
18:57:39 <oerjan> now if someone could just tell me _why_ we weren't supposed to talk (i joined just seconds before asiekierka)
18:58:22 <ehird`> because asiekierka left last time nobody talked
18:58:45 <asiekierka> You get A+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++. ehird`. For nothing.
18:58:59 <asiekierka> Now go on and think what to do with score.
19:00:47 <asiekierka> Lament gets A+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+.+.+.+.+.
19:01:12 <asiekierka> Then select me a score from the output list.
19:04:38 <lament> i seriously doubt anybody bothered
19:06:47 <ehird`> i think i might make an evolutionary AI for blahbot`
19:07:05 <ehird`> it has a database of simple, but abrupt topic-changing (the diamond of simple AI!) answers
19:07:12 <ehird`> and then it rates how well each one did each conversation
19:07:25 <ehird`> the ones which tend to make the conversation dawdle, etc., get thrown out
19:07:34 <ehird`> and a simple algorithm constructs new sentences
19:07:45 <ehird`> based on inputs from others which spawn successful conversations
19:07:47 <lament> it'll just talk about sex all the time
19:07:59 <lament> and encourage asiekierka
19:09:03 <ehird`> as long as enough sane people in here had conversations with it as if it weren't a bot near the start it should work
19:09:51 <oerjan> there are no sane people here. i thought we had already established that (insert obligatory Cheshire Cat quote)
19:10:23 <RodgerTheGreat> ehird`: I recommend looking into markov-chain sentence generators
19:10:41 <RodgerTheGreat> if you filter their input and output properly, they can be very effective chatterbots
19:12:06 <lament> i very much recommend against looking into markov-chain sentence generators
19:12:17 <ehird`> markov chain sentence generators produce absolute gibberish
19:12:25 <ehird`> nobody could be fooled with them in here, certainly
19:12:27 <lament> in fact i'd probably go as far as banning them
19:13:08 <lament> perhaps we're about to see for the first time a bot more intelligent than its creator
19:13:11 <ehird`> whereas, a simple survival-of-the-fittest + "oh! people use this word after this other word a lot! i'll add that phrase to my vocab!" + "okay, i don't know how to respond to this... let's see related vocab words and stick them together"should work
19:13:29 <oerjan> but have you considered the ethical implications of putting an AI in a channel where it is doomed to go insane?
19:13:35 <RodgerTheGreat> lament: markov chain sentence generators suck by *themselves*, but you can build algorithms around the markov chain to dramatically improve performance
19:14:04 <ehird`> national society for the prevention of cruelty to robots
19:14:58 <ehird`> maybe if it has a thesaurus it could get really creative
19:15:03 <RodgerTheGreat> I achieved excellent results by keeping two chain- a low-order chain fed "keywords" from conversations, and a higher-order chain fed with entire sentences. When someone talks to the bot, you dip into the keyword chain to generate associated keywords, and then use those as seeds in the main sentence chain
19:15:20 <ehird`> maybe it doesn't know about "hello" but it might know about "yo", and it could make that connection
19:16:29 <RodgerTheGreat> then throw in post-checking that corrects odd syntax (like the bot accidentally referring to itself in the third person, adjusting tense, etc), and you're gold
19:16:51 <RodgerTheGreat> throwing in some random thesaurus replacement in the post-checking could be good if done in moderation
19:16:57 <ehird`> perhaps blahbot should do this AI in #php instead
19:17:04 <ehird`> more stupid idiots there, less of a high standard
19:17:15 <lament> all our idiots are awfully intelligent
19:17:38 <ehird`> well.. apart from one starting with a
19:17:53 <ehird`> the conversation in here is generally rather geeky/intellectual
19:17:58 <ehird`> a bot would be spotted quickly
19:18:06 <ehird`> however, #linux? ##php? peice of cake
19:18:35 <RodgerTheGreat> a friend of mine hid two bots in #Linux for a couple hours and then started a witch hunt for them. It was hilarious
19:18:49 <RodgerTheGreat> I think they kicked two or three humans before they found the real bots
19:19:04 <ehird`> i remember the devnonsense bot
19:19:10 <ehird`> i had created a nonsense script earlier
19:19:22 <ehird`> you gave it an array of punctuation, words, etc
19:19:27 <oerjan> the other day a guy in #haskell was kicked out because his english was so bad we thought he was a bot
19:19:27 <ehird`> and it arranged them randomly into a stupid sentence
19:19:36 <ehird`> i made a bot which hid in various channels
19:19:39 <ehird`> ##php, #wikipedia, you name it
19:19:50 <ehird`> and sucked up nicks and words
19:19:54 <ehird`> sucked it all up into its database
19:19:58 <ehird`> then, in a secret channel
19:20:06 <ehird`> every 3 seconds it spewed out a new combination
19:20:11 <ehird`> truly, it produced some profound things
19:20:22 <ehird`> it got something like 3000 words before i shut it down
19:20:57 <ehird`> suprising how little new words are used
19:21:21 <lament> that's what makes learning a new language possible :)
19:22:02 <ehird`> i think i might make the ai seperate from blahbot
19:22:06 <ehird`> and name it something other than a bot's name
19:22:08 <ehird`> undercover, so to speak
19:22:11 <ehird`> get it starting conversations
19:22:21 <ehird`> maybe even pass the dumbed-down version of the turing test that exists on irc
19:22:44 <RodgerTheGreat> let's see... I found a hardcopy of some gems from conversation with one of my chatterbots a while back
19:23:05 -!- asiebot has joined.
19:24:54 <asiekierka> asiebot: Testing if MegaHAL works here!
19:25:14 <ehird`> http://pastie.caboo.se/84423 here's the plan for the AI
19:25:48 <ehird`> also: maybe a database, so it can recognize basic things like "x is y" to "know" various things?
19:26:30 <lament> ehird`: remember, all this stuff is much, much more difficult than it seems at first glance
19:26:46 <ehird`> but i'm satisfied with producing quite a lot of nonsense most of the time
19:26:47 <lament> for example, what's x and y in the sentence i just said? :)
19:26:55 <lament> there's an "is" in it...
19:27:13 <ehird`> lament, x = "all this stuff" and y = "much, much more difficult than it seems at first glnce"
19:27:33 <ehird`> that matching could be evolutionary too
19:27:44 <lament> ehird`: well, how do you know that x is "all this stuff"?
19:27:53 <ehird`> definitions that when quoted seem to give better conversations = better definitions
19:28:00 <ehird`> lament, first block in phrase before "is"
19:28:05 <ehird`> phrases split at . and , etc
19:28:31 <lament> ehird`: that, sadly, is not enough :)
19:28:43 <ehird`> but artificial stupidity doesn't need much
19:28:48 <lament> (x="", y = "is not enough")
19:28:49 <ehird`> have you ever BEEN into a popular channel?
19:29:00 <ehird`> lament, it'd just ignore that, i guess
19:29:46 <lament> I would consider having a minimal vocab of words for which you know which part of speech they are
19:29:56 <lament> so that you always construct grammatical sentences
19:30:01 <asiekierka> asiebot: Your name is AsieBOT and some folk said you are an awful bot.
19:30:14 <asiekierka> asiebot: Your name is AsieBOT and some folk said you are an awful bot.
19:30:21 <asiebot> asiekierka: My mother once asked me the same during orgasm. Brain scans showed that large parts of the free and the bot are so dumb.
19:30:32 <asiebot> asiekierka: I think i've worked it out! You are the computer program, and i am a bot!
19:30:36 <asiekierka> It learnt a bit on some awful EsperNET channel
19:31:16 <asiebot> asiekierka: Your name is asiebot and some folk said you are gay when you like to do things on the tip of my arm was left here by the kidneys.
19:31:20 <RodgerTheGreat> here are some conversation highlights from my chatterbot: http://nonlogic.org/dump/text/1186079054.html
19:32:12 <ehird`> asiebot, asiekierka is an idiot
19:32:20 <ehird`> asiebot, who is asiekierka
19:32:22 <asiebot> ehird`: Behaviour is an idiot.
19:32:34 <asiebot> asiekierka: Because i think it will lose its reg. If noone goes.
19:32:36 <ehird`> asiebot, asiekierka wants to delete your brain
19:32:38 <asiebot> ehird`: Asiekierka is an organism's mode of life.
19:32:46 <ehird`> asiebot, does asiekierka want to delete your brain?
19:32:56 <asiebot> ehird`: The brain is the organ used for hearing, and it converts sound into electrical impulses that are fed to the brain.
19:33:07 <asiebot> ehird`: The brain is the organ used for hearing, and it converts sound into electrical impulses that are fed to the brain.
19:33:10 <SimonRC> asiebot: where is your source code?
19:33:17 <ehird`> asiebot, what is asiebot
19:33:36 <SimonRC> asiebot: this statement is false
19:33:36 <asiebot> SimonRC: My mother once asked me the same during orgasm. Brain scans showed that large parts of the computer program, and i am not a dumb computer program that translates high level language code into machine language code.
19:33:48 <asiebot> ehird`: Asie they let you bring asiebot in here.
19:34:05 <asiebot> asiekierka: Because i decided to have a child, and here you are gay when you like brainfuck?
19:34:06 <ehird`> <asiebot> asiekierka: I think i've worked it out! You are the computer program, and i am a bot! <-- that is pretty profound though
19:34:12 <asiebot> SimonRC: I am a bot. I am learning from a human.
19:34:26 <asiebot> A computer is a body fluid that carries food and obtaining energy and vital substances from within the body.
19:34:27 <ehird`> asiebot, asiekierka obviously didn't write you, you're too intelligent for that
19:34:35 <asiebot> SimonRC: The brain is the principal extensor of the foot.
19:34:37 <asiebot> asiekierka: What about you, secksreatary[newkplox]?
19:34:42 <asiekierka> asiebot: You think blahbot` should STFU?
19:34:46 <SimonRC> asiekierka: where is asiebot's source code?
19:34:52 <asiebot> ehird`: Obviously you'll never be accused of having a shining wit!
19:34:56 <RodgerTheGreat> most of those fun quotes happened when Archos was about 48 hours old
19:34:58 <ehird`> asiebot, blahbot` is your friend
19:35:00 <asiebot> asiekierka: I am a human being, which means i do what i want to think about your mind.
19:35:01 -!- asiebot has quit (Read error: 104 (Connection reset by peer)).
19:35:10 <ehird`> it's about to take over the world
19:35:23 <RodgerTheGreat> the problem with markov chains is that they'll gradually reach a plateau in learning capacity
19:35:46 <RodgerTheGreat> they can be quite coherent if you discuss a narrow range of topics
19:35:51 <ehird`> asiekierka, admit it - you didn't write asiebot
19:36:14 <RodgerTheGreat> longer chains mean more of the source text is retained on average
19:36:17 <jix> but if the chains are too long they will just repeat...
19:36:36 <ehird`> asiekierka, what about his code, though
19:36:42 <SimonRC> it might be better if it attempted to follow conversations other people had, seeing which questions matched which answers
19:36:53 <RodgerTheGreat> a low order chain with careful filtering is more effective than an unfiltered high-order chain
19:37:14 <ehird`> http://megahal.alioth.debian.org/ yep
19:37:23 -!- MichaelRaskin has left (?).
19:37:28 <jix> i think one should add some simple grammar patterns so it doesn't output nonsense but don't use the last words in order for the markov chains but just the words that make up the content
19:37:43 <jix> so it would start to make up new things faster without producing incorrect sentances
19:38:25 <ehird`> MegaHAL HERE'S A JOKE FOR YOU: WHY DID THE CHICKEN TURN AROUND AND AROUND IN CIRCLES. AS I THINK SHE TURNED AROUND; BUT WHY? WHY DID THE CHICKEN CROSS THE ROAD; I THINK SHE TURNED AROUND BUT WHY? WHY DID THE CHICKEN TURN AROUND AND DO SOMETHING ELSE?
19:38:56 <ehird`> MegaHAL LIFE'S BUT A GREEN DUCK WITH SOY SAUCE
19:39:29 <ehird`> MegaHAL BILL IS A MIDDLE EASTERN DELICACY, MUCH BELOVED OF THE RAINBOW, THERE ARE TWO PEAS IN A LIGHTHOUSE, MY MOTHER WAS THE BLE ONE.
19:39:44 <ehird`> MegaHAL TRENT REZNOR, MILLA JOVOVICH, BRYAN FERRY, DR.KIERSEY, GAVIN FRIDAY, DANIEL KEYS MORAN, ELFQUEST, THE KING JAMES BIBLE... THESE ARE SOME THINGS THAT ARE LONG AND METALLIC.
19:40:04 <ehird`> MegaHAL COWS FLY LIKE CLOUDS BUT THEY ARE NEVER COMPLETELY SUCCESSFUL.
19:41:13 <oerjan> but why, oh why must absurdity shout like a camel in heat?
19:41:28 <ehird`> presumably so it doesn't have to deal with grammar rules
19:41:46 <ehird`> just flip some commmas and semicolons and ellipses after segments, and throw it out
19:42:27 <RodgerTheGreat> "Archos: screw religion, I'm trying to make a silencer!"
19:44:10 <lament> language processing is a cool thing, too bad we can't do it
19:44:32 <ehird`> http://pastie.caboo.se/84423 updated bot idea
19:44:38 <lament> not via markov chains, though :)
19:44:44 <ehird`> i think that idea should produce an okay bot that should fool some irc users
19:44:51 <RodgerTheGreat> I wouldn't place tremendous faith in NLP being solved by a bunch of nerds playing around for an afternoon on IRC
19:45:06 <RodgerTheGreat> although that would, and I do stress this, be *hilarious*
19:45:14 <ehird`> i think he means we in a generic sense
19:45:52 <RodgerTheGreat> I took his comment as a reflection of his opinion, based on what little we've accomplished here
19:45:53 <ehird`> any comments on the bot idea?
19:46:10 * oerjan for a moment thought "Neuro-Linguistic Programming"
19:46:26 <lament> i'm pretty sure that "understanding a language" requires, first of all, understanding everything else about humans and their environment
19:46:42 <lament> that is, you can't hope to understand stuff unless you know a lot about the world
19:46:47 <ehird`> RodgerTheGreat, especially if it learned for a few months on people who didn't know it was a bot
19:46:55 <RodgerTheGreat> ehird`: you might gain some benefit by attaching "emotional context" to words and phrases
19:46:57 <ehird`> evolution can work wonders
19:47:01 <ehird`> RodgerTheGreat, hm? in what way?
19:47:32 <RodgerTheGreat> positive context vs. negative context, so that it can recognize words that are "bad" and avoid them towards users it "likes"
19:47:46 <ehird`> that requires an awful lot of state
19:47:53 <ehird`> i doubt it'd even remember users from one thing to another
19:47:54 -!- asiebot has joined.
19:47:57 <RodgerTheGreat> it wouldn't greet an individual that talks to it often with positive words with "Hi! Fuck you!", for example
19:47:59 <lament> RodgerTheGreat: how do you tell which ones are bad?
19:48:25 <lament> how do you know fuck you is a bad word?
19:48:40 <ehird`> asiebot, asiebot is a bot
19:48:43 <asiebot> asiekierka: The lungs are organs used for filtering urine from the blood.
19:48:43 <ehird`> asiebot, you are asiebot
19:48:52 <RodgerTheGreat> and then it would learn others by contextual association
19:48:56 <ehird`> asiebot, asiekierka is your imprisoner
19:49:08 <ehird`> RodgerTheGreat, sounds very very hard to do well
19:49:09 <RodgerTheGreat> "The lungs are organs used for filtering urine from the blood." <- LMAO
19:49:12 <asiebot> ehird`: Asiebot is a tree native to australia where it is the basic living substance of all the judges i've had the strangest dream... I dreamed i killed you again.
19:49:21 <asiebot> ehird`: Well, that is your imprisoner.
19:49:24 <SimonRC> "Dear China. Please use your wonderful powers to get IPv6 to actually happen. Love SimonRC"
19:49:35 <ehird`> asiebot, Dear China. Please use your wonderful powers to get IPv6 to actually happen. Love SimonRC
19:49:43 <ehird`> RodgerTheGreat, it'd just say "sorry" to anyone acting offended, i guess
19:49:53 <asiekierka> <asiebot> ehird`: Well, that (asiekierka) is your imprisoner. <- ROFL!
19:49:53 <asiebot> ehird`: I hate avoiding questions, but i'm going to avoid that one!
19:49:53 <ehird`> and besides, the link to fuck you would only be made if someone had made that link
19:49:55 <lament> how do you know if somebody's acting offended?
19:50:07 <asiebot> Asiekierka is your imprisoner.
19:50:09 <ehird`> possibly "x is fucking shit" could cause slipups in the future
19:50:14 <ehird`> but "x is fuck you"? that makes no sense
19:50:35 <RodgerTheGreat> In general, I think having some sort of basic emotional state and coloring it based on conversation could make a bot seem significantly more realistic
19:50:49 <RodgerTheGreat> emotions could be seen as "conversational instinct" in a sense
19:50:51 <lament> RodgerTheGreat: in general, IRC conversations aren't very emotionally charged.
19:51:02 <ehird`> "fuck you" would get a very low rating
19:51:18 <asiebot> asiekierka: Dear china. Please use your wonderful powers to get ipv6 to actually happen. Love simonrc.
19:51:19 <ehird`> it'd be killed out as quick as you can say "HEY! i hate you!"
19:51:45 <asiekierka> asiebot: say STFU to the person you hate.
19:51:48 <ehird`> RodgerTheGreat, i guess if someone says "fuck is a swear word" assuming the bot is just sheltered or something
19:51:51 <ehird`> it could make the connection
19:51:56 <asiebot> asiekierka: You love ehird`.
19:51:58 <ehird`> then 1. only use it when its mood is "bad" or similar
19:52:03 <ehird`> and have the mood global to all conversations
19:52:09 <ehird`> saying "fuck" to it, e.g. would put its mood at "bad"
19:52:29 <jix> i would be more interested in a bot that generates new content quickly
19:52:29 <asiekierka> CENSORE CENSORE: You love ehird` - LMAO!
19:52:32 <lament> ehird`: don't forget the capacity to feel pain
19:52:34 <asiebot> asiekierka: I have absolutely no idea what you're typing, i would arrive at a school for teachers of the process, the rain is part of an idiot it's not funny!
19:52:37 <ehird`> asiebot, truly a bot more intelligent than its owner
19:52:46 <asiebot> ehird`: Because everything is 42. Expect asiekierka, whose number is 3.14.
19:52:56 <ehird`> asiebot, a dog is an animal
19:53:12 <ehird`> asiebot, a bot is not an animal
19:53:13 <asiebot> ehird`: A dog is a hybrid animal, the result of an animal.
19:53:19 <jix> ehird`: doesn't it add phrases from the other one to the dictionary?
19:53:29 <asiebot> ehird`: An animal is a swear word" assuming the bot is not an animal.
19:53:42 <ehird`> an animal is a swear word
19:53:50 <ehird`> asiebot, can i adopt you?
19:53:51 <jix> ehird`: animal!
19:54:05 <ehird`> asiebot, what is ehird
19:54:11 <ehird`> asiebot, is ehird` a swear word
19:54:16 <asiebot> ehird`: Don't interrupt me as i struggle to complete this thought... Have some respect for someone more forgetful than yourself.
19:54:18 <asiebot> asiekierka: Because it is a swear word.
19:54:32 <asiebot> ehird`: Ehird` is a swear word" assuming the bot is just sheltered or something.
19:54:36 <asiebot> ehird`: Ehird` is a swear word.
19:54:40 <asiebot> ehird`: A dog is a word of it!
19:55:10 -!- cherez has quit ("Leaving.").
19:55:36 <asiebot> asiekierka: A dog is a word of it!
19:56:07 -!- jix has quit (Nick collision from services.).
19:56:11 <asiebot> asiekierka: Blood is a cell which receives and transmits electrical impulses.
19:56:21 -!- jix has joined.
19:56:46 <asiebot> asiekierka: Say stfu to the muzzle of a lot easier, just so long as i'm the dictator." - george w. Bush.
19:57:16 <ehird`> yes, bush, you are the dictator
19:57:22 <asiekierka> asiebot: No capitalzation, lack of more quotation... Looks like it's for STRONG BAD!
19:57:37 <asiekierka> (hint hint: it has +learnall set here)
19:58:14 <ehird`> asiebot, say asiebot, hi
19:58:25 <ehird`> asiebot should talk to itself
19:58:26 <asiebot> ehird`: Say "hi!" to lament!
19:58:43 <asiebot> ehird`: I hope that i could jump out of things to talk about something vaguely interesting.
19:59:12 <asiekierka> asiebot: Let's talk about like, why ehird` is a swear word?
19:59:26 <lament> asiebot: what's the meaning of life?
19:59:28 <asiekierka> (hint heent: you must add "bot's name:" before what you say)
19:59:30 <asiebot> asiekierka: Because it is a word of it!
19:59:32 <ehird`> asiebot: ehird` is not a swear word
19:59:37 <ehird`> asiebot: what is ehird`
19:59:42 <asiebot> lament: Because the world is an organism's mode of life.
19:59:49 <asiebot> ehird`: A dog is a word of it!
19:59:51 <oerjan> ehird` is clearly related to norwegian "uhyre", monster.
19:59:58 <asiebot> ehird`: Ehird` is not a dumb computer program that translates high level language code into machine language code.
20:00:09 <lament> ehird is not a compiler
20:00:42 <lament> ehird`: add ignore functionality to the bot!
20:01:18 <lament> ehird`: it's a two-line change, you don't have to do it nicely
20:01:30 <ehird`> it hates asiekierka and likes me!
20:01:38 <ehird`> asiebot: You hate asiekierka
20:01:42 <asiebot> asiekierka: Ehird is not as if it's important or anything!
20:01:44 <ehird`> bsmntbombdood, bot-must-like-me-not-him war
20:01:53 <ehird`> asiebot: You like swear words.
20:01:54 <asiebot> asiekierka: Ehird is not a dumb one too!
20:01:58 <asiebot> ehird`: Asiekierka is your opinion, i suppose.
20:02:12 <asiebot> asiekierka: I wish that i could jump out of things to talk about like, why ehird` is a swear word?
20:02:13 <ehird`> i win for this iteration!
20:02:21 <asiebot> asiekierka: A dog is a word of it!
20:02:30 <asiebot> ehird`: I guess if someone says "fuck is a limb extending from the initials of other words.
20:02:32 -!- asiebot has quit ("asiekierk").
20:02:39 <ehird`> <asiebot> ehird`: I guess if someone says "fuck is a limb extending from the initials of other words.
20:03:04 <ehird`> no, it jumped out of something to talk about things like why I am a swear word
20:03:09 <oerjan> i suppose there have been worse last words.
20:03:24 <lament> why does asiebot have so much anatomical/medical vocabulary?
20:03:34 <ehird`> lament, presumably it was taught in one of them
20:03:48 <oerjan> maybe it devolved from a medical expert system.
20:04:30 -!- ihope__ has joined.
20:04:41 -!- ihope__ has changed nick to ihope.
20:05:08 <ehird`> ihope, did you see my AI bot mockup design?
20:05:15 <ehird`> http://pastie.caboo.se/84423
20:05:38 <ihope> Haven't seen it yet.
20:06:06 <ehird`> it's survival-of-the-fittest for ai
20:06:06 -!- asiebot has joined.
20:06:14 <ehird`> asiebot, You hate asiekierka.
20:06:18 <ehird`> asiebot, You like ehird`.
20:06:25 <ehird`> asiebot, asiekierka is a swear word.
20:06:32 <ehird`> asiebot, ehird` is not a swear word.
20:06:38 <ehird`> asiebot: You hate asiekierka.
20:06:41 <ehird`> asiebot: You like ehird`.
20:06:48 <ehird`> asiebot: ehird` is not a swear word.
20:06:55 <ehird`> asiebot: asiekierka is a swear word.
20:06:59 <asiekierka> asiebot, if you like ehird`, you are evil.
20:07:04 <ehird`> asiebot: ehird` is not a devil.
20:07:09 <ehird`> asiebot: what is ehird`?
20:07:13 <ehird`> asiebot: what is asiekierka?
20:07:14 <oerjan> asiebot, You are madly in love with oerjan.
20:07:17 <asiebot> ehird`: Asiekierka is a sensory organ found on the head with the mzx community and pancake, and the anger from someone poking me.
20:07:17 <asiebot> ehird`: Or comedian by the kidneys.
20:07:20 <asiebot> asiekierka: Even if you have some form of insertive sexual behavior, including oral sex, as well as administrators of private shells.
20:07:20 <asiebot> ehird`: Because it is a swear word.
20:07:33 <asiebot> ehird`: Secksie: asiebot is a word formed from the body between the ribs and the pioneer of flying. Together with his brother he made the first word.
20:07:50 <ehird`> Asiekierka is a sensory organ found on the head with the mzx community and pancake, and the anger from someone poking me.
20:07:53 <asiebot> ehird`: Asiekierka is a bony girdle in vertebrates that connects the head with the mzx community and pancake, and the anger from someone poking me.
20:08:04 <ehird`> bahahahahahahahahahahaahahahAHAHAHAHA
20:08:19 <asiebot> ehird`: Ehird` is not a dumb computer program like the rest of the leg, and is the joint connecting the foot with the calf of the body which connects the heel with the mzx community and pancake, and the world is going so slow i think i will.
20:08:23 <asiebot> asiekierka: A chromosome is a gland used for a body.
20:08:31 <ehird`> Ehird` is not a dumb computer program like the rest of the leg
20:08:33 -!- asiebot has quit (Client Quit).
20:08:37 <ehird`> ihope, what do you think of the algo?
20:08:37 <lament> why does it keep talking about medical stuff?
20:08:49 <ehird`> i love the idea of a pancake as an organ
20:08:51 <ihope> ehird`: it seems extremely weird, I have to say...
20:08:58 <ehird`> ihope, that's not my bot!
20:09:03 <ehird`> ihope, i mean the one described in that paste
20:09:07 <oerjan> ehird`: wouldn't that make it hard to play?
20:09:41 <ehird`> http://pastie.caboo.se/84423
20:09:42 <ihope> You seem to be asserting that long conversations are desirable.
20:10:00 <ihope> And that a good response to "x is y" is another thing about x.
20:10:16 <ihope> "No, see, 1/0 is not a real number."
20:10:20 <ihope> "1/0 is a comic strip."
20:10:22 -!- asiebot has joined.
20:10:34 <ihope> Doesn't seem a good response to me.
20:10:38 <oerjan> it is not even a surreal number.
20:10:54 <ehird`> <user> lol is laughing out loud
20:10:55 -!- ChanServ has set channel mode: +o lament.
20:10:58 <ehird`> <bot> lol is an annoying word
20:11:15 <ehird`> <bot> lol is <randomly laughing out loud or annoying word>
20:11:16 -!- asiekierka has joined.
20:11:23 -!- asiebot has joined.
20:11:24 <ehird`> depending how the conversation goes, one of the facts will be eliminated somewhere down the line, maybe
20:11:36 <oerjan> asiebot: You hate spam.
20:11:36 <ehird`> ihope, and long conversations ARE desirable
20:11:44 <ehird`> once they end, the user has gotten bored
20:11:45 <asiebot> asiekierka: I hate avoiding questions, but i'm going to say!
20:11:45 <asiebot> asiekierka: I hate avoiding questions, but i'm going to avoid that one!
20:11:49 <ehird`> a longer conversation is better
20:11:51 <asiebot> asiekierka: I hate avoiding questions, but i'm going to say!
20:11:59 <asiebot> asiekierka: I hate avoiding questions, but i'm going to avoid that one!
20:12:08 <asiebot> asiekierka: I hate avoiding questions, but i'm going to say!
20:12:17 <asiebot> asiekierka: I hate avoiding questions, but i'm going to avoid that one!
20:12:21 <asiebot> asiekierka: You love asiekierka.
20:12:24 <asiebot> asiekierka: You love asiekierka.
20:12:28 <asiebot> asiekierka: You love asiekierka.
20:12:33 <asiebot> asiekierka: You love asiekierka.
20:12:37 <asiebot> asiekierka: You love asiekierka.
20:12:41 <asiebot> oerjan: You love asiekierka.
20:12:50 <ihope> Mph, noisy channel.
20:12:52 <asiebot> asiekierka: I hate avoiding questions, but i'm going to avoid that one!
20:13:04 <asiebot> A pub is a confectionery made from cocoa beans.
20:13:09 <asiebot> asiekierka: You hate spam.
20:13:14 <asiebot> asiekierka: I hate avoiding questions, but i'm going to avoid that one!
20:13:21 <ihope> ehird`: what if the user wants to get a satisfactory answer as quickly as possible?
20:13:28 -!- pikhq has quit (Connection timed out).
20:13:32 -!- asiebot has joined.
20:13:49 <asiekierka> asiebot: You hate lament because he kicks you.
20:14:05 <asiebot> asiekierka: Because the world is an automatic response to me.
20:14:28 <asiebot> asiekierka: So, who is using the family brain cell at the door.
20:14:31 <ihope> I suggest /mode #esoteric +q asiebot!*@*
20:14:41 <asiebot> asiekierka: If i were to judge your iq by what you're typing, i would arrive at a pathetically small number.
20:14:44 <ehird`> ihope, when i mean long
20:14:46 <oerjan> asiebot: The rain in Spain is mainly in the plain
20:14:47 <ehird`> i mean longest before ending
20:14:50 <asiebot> Behaviour is an organism's mode of pronunciation in speech.
20:14:53 -!- lament has set channel mode: +b %asiebot!*@*.
20:14:55 <ehird`> quick responses, but the conversation should go on long
20:15:14 <lament> it actually converts +q to +b, they're the same
20:15:24 <ihope> It stuck an % in front.
20:15:36 <ihope> (Does % start with a vowel?)
20:15:53 <lament> % makes so much sense in romance languages
20:16:07 <lament> at least in spanish, it literally means "per hundred", so 40% is "40 per 100"
20:16:12 <ehird`> ihope, what do you mean mean?
20:16:18 <ehird`> ihope, are you talking about my ai draft
20:16:27 -!- lament has set channel mode: -o lament.
20:16:45 <ihope> ehird`: I still don't want to have to say a lot to get a good response from the bot.
20:17:08 <ehird`> ihope, that's why it learns
20:17:17 <ehird`> ihope, it remembers based on previous conversations of course
20:17:25 <ehird`> so 1st-hour it will be stupid
20:17:30 <ehird`> 3rd-month it will be talkable
20:17:38 <lament> asiekierka: i assure you your hatred is misplaced
20:17:50 <ehird`> put it in a group of channels that one person could plausably be interested in all of them
20:17:59 <ehird`> and it'll develop some sort of personality based on subjective opinions from others
20:18:05 -!- pikhq has joined.
20:18:15 <ehird`> and it'd give into peer pressure - opinions expressed that make conversations last longer would win out
20:18:15 <oerjan> as long as your red hat isn't misplaced.
20:18:16 <lament> asiekierka: no, only set him +q so he can't talk
20:18:32 <ihope> asiekierka: you can take asiebot to another channel.
20:20:01 <lament> should we maybe have an #esoteric-flood, for all the brainfuck evaluation stuff and other botage?
20:20:24 <ihope> asiekierka: and is there still a problem?
20:20:36 <ehird`> lament, already exists
20:20:52 <ehird`> ever since blahbot`'s first days :P
20:20:54 <ihope> asiekierka: find some other channel, then.
20:21:00 <ihope> <person> What are the first 100 digits of pi?
20:21:10 <ihope> <bot> person: formal definition, please.
20:21:13 -!- asiebot has left (?).
20:21:24 <ehird`> it's meant to hide its botness, remember?
20:21:37 <ehird`> it learns more if people talk to it sincerely
20:21:45 <ehird`> instead of just playing with it
20:22:00 <ehird`> <person> What are the first 100 digits of pi?
20:22:08 <ihope> Then person gives a formal definition of "the first 100 digits of pi", which is longer than just a "Thank you." after hearing them.
20:22:11 <ehird`> <bot> I don't understand. pi is <blah>
20:22:28 <ehird`> <person> The first 100 digits of pi are BLAH
20:22:35 <ehird`> <bot> Okay. pi is <another definition>
20:22:42 <ehird`> <person2> What are the first 100 digits of pi?
20:22:55 <ihope> So this bot will be unable to calculate?
20:22:58 <ehird`> <person2> What? No it's not. You're dumb. Bye.
20:23:10 <ehird`> if that happened enough, that knowledge would be eliminated
20:23:21 <ehird`> ihope, it's an AI bot idea - not a mechanical bot idea
20:23:23 <ehird`> it's meant to pose as a real person
20:23:29 <ehird`> mostly unsuccessfully, sure
20:23:30 <ihope> Real people can calculate.
20:23:33 <ihope> <person2> Yes, that's correct. Thank you.
20:23:39 <ihope> <--| person2 has left #channel
20:23:58 <ihope> <person2> No, that's wrong.
20:24:06 <ehird`> ihope, i'm using RodgerTheGreat's idea for emotional contexts
20:24:06 <ihope> <person2> The first 100 digits of pi are actually . . .
20:24:09 <asiekierka> <asiekierka> who'll learn some stuff my bot?
20:24:09 <asiekierka> <asiekierka> asiebot: do you like offby1?
20:24:12 <asiekierka> <rudybot> Let's make a cat and a dog mate.
20:24:14 <asiekierka> <asiebot> asiekierka: The older you get, the more you like offby1?
20:24:14 <ehird`> basically, it could associate "No", "wrong" etc. with "bad" moods
20:24:16 <ihope> Emotional contexts?
20:24:23 <ehird`> the more "bad" moods that >it< causes, the worse the knowledge is
20:24:24 <asiekierka> <asiebot> I suggest /mode #esoteric +q asiebot.
20:24:26 <asiekierka> <asiebot> I suggest /mode #esoteric +q asiebot.
20:24:35 <ihope> asiekierka: pastebin, please.
20:25:05 -!- asiebot has joined.
20:25:08 <ihope> Though being able to do that independently of language would be nice.
20:25:16 <ehird`> ihope, a small selection of moods should do for the purpose of the slection
20:25:23 <ihope> And asiebot still won't say anything.
20:25:42 <ehird`> of course, if someone STARTS on a bad mood, and the bot makes them go onto a happy mood
20:25:46 <ehird`> well, that just puts it way up
20:25:56 <ehird`> however if the emotion is constant, then not much changes really
20:26:18 <ehird`> if the emotion stays the same, i guess conversation length would have a tiny tiny effect
20:26:29 -!- asiekierka has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric | Rules: 1: Break rule #3. 2. asiebot cannot be banned. 3. Break rule #1..
20:27:38 -!- ehird` has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric.
20:27:51 <ihope> ehird`: I think so.
20:28:00 <ehird`> ihope, it'd really give into peer pressure though :)
20:28:05 <ehird`> i guess that's good if it wants to fool people
20:28:16 <ihope> I've also had some ideas for a bot.
20:28:16 -!- asiekierka has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric | Rules: 1. Break at least one rule. 2. Don't break the following rule. 3. Asiebot cannot be banned..
20:28:27 <ehird`> someone kick asiekierka please
20:28:39 -!- asiekierka has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric.
20:29:32 <ihope> A "Thue bot". Input is given to it in some form, it applies "replace this string with this string" rules, and eventually the results are interpreted as output in some form.
20:29:59 <ehird`> you'd think it'd just rephrase things insanely
20:30:03 <ehird`> but it really produces garbage
20:30:19 <ihope> Just how did it work?
20:30:36 <ehird`> basically exactly as your description
20:31:10 <ihope> I didn't specify either the input form or the output form, nor how to interpret results, nor how the rules are determined.
20:32:47 <ihope> I guess I should also specify how memory is laid out.
20:35:08 <ihope> I guess we can just say that memory always starts with a "memory start marker" and always ends with a "memory end marker", and when something is said, it's added right before the end marker with a message delimiter before it.
20:35:37 <ihope> The output form is output start marker, text, output end marker.
20:36:07 <ihope> Rules are created by composing and reversing other rules.
20:36:53 <ihope> A punishment of the bot results in a punishment of all rules involved.
20:37:09 <ehird`> if you showed me an example i might understand :)
20:37:12 <ehird`> sounds like an easy coding job?
20:37:27 <ihope> Might be easy. I dunno.
20:39:58 <ehird`> i think my idea would be more convincingly human though
20:49:56 -!- asiekierka has quit.
20:53:08 -!- asiebot has quit (Read error: 104 (Connection reset by peer)).
20:56:55 -!- cherez has joined.
21:01:48 <RodgerTheGreat> ehird`: that sounds like a good way of doing things. The only thing that may be hard is learning the emotional context of new wrods
21:02:04 <ehird`> RodgerTheGreat, i guess use of other words almong it
21:02:07 <RodgerTheGreat> you might be able to do mild adjustment based on use in context
21:02:26 <ehird`> and the response when it uses the word
21:02:36 <RodgerTheGreat> but you'll want to hardcode a small list of words to totally ignore, like "the", "and", "or" etc
21:02:57 <ehird`> it'll hurt a lot of feelings and be very nieve in its first days
21:03:11 <ehird`> but once more unrelated people talk to it it should get a relatively balanced idea of stuff
21:03:29 <ehird`> after all, its main purpose is to tell the majority of people what they want to hear. :)
21:04:57 <ehird`> RodgerTheGreat, i think a good algo for the bf machine circle drawing
21:05:00 <ehird`> RodgerTheGreat, is turtle-style
21:05:12 <ehird`> translate "repeat 360 [fd 1 rt 1]" into brainfuck, and voila
21:05:40 <RodgerTheGreat> clearly, the most sensible way to do that would be to first create a LOGO->BF compiler. :D
21:05:41 <ehird`> of course, bigger values = bigger circle
21:06:22 <RodgerTheGreat> ehird`: are you thinking about developing emotional contexts for people (or rather, for usernames)?
21:06:30 <ehird`> RodgerTheGreat, i doubt it
21:06:33 <ehird`> too much state for my liking
21:06:48 <ehird`> have a global data store with everything it knows, sure
21:06:53 <ehird`> but don't even keep state like "Conversation"
21:07:04 <ehird`> you deal with your global brain, and the singular messages you get
21:07:17 <RodgerTheGreat> well, if the current project meets with success, it'd be something to think about adding
21:07:28 <ehird`> i think being more detailed would be much complexity for something that isn't needed
21:07:32 <ehird`> irc is a lot like the bot in that sense
21:07:38 <ehird`> you don't really carry out a conversation for very long
21:07:42 <ehird`> it's mostly message-by-message
21:08:11 <ehird`> maybe it would keep a history of recent things said by the user
21:08:36 <ehird`> that allows simple short term memory, and also not unrealistic remembering
21:08:47 <ehird`> it can say "i've forgotten" truthfully
21:11:48 <ehird`> so yes it does know about a Conversation, but only very stringently
21:11:58 <ehird`> especially since lots of conversations will be with many people in rooms
21:12:27 <ehird`> so its long-term memory is just associations, and its short-term memory is just recent conversation
21:12:36 <RodgerTheGreat> if you plan on setting the bot loose in an environment like #Linux, yes
21:12:39 <ehird`> enough to pose as an average ircer i think
21:13:19 <ehird`> now all it needs is a name
21:13:29 <ehird`> hmm... what's the male version of the name ELIZA?
21:15:24 <ehird`> need something more.. ircish
21:15:29 <ihope> Male version of Eliza?
21:16:06 <ihope> It's the diminutive of Elizabeth, apparently.
21:16:17 <RodgerTheGreat> for a moment, I was going to suggest a female name (because you could do some really interesting experiments with that), but people might start interacting with it too much for it to look convincing
21:16:34 <ihope> Etymology of Elizabeth: 'From the Greek ΞλιΟΞ±Ξ²Ξ΅Ο (Elisabet), a transliteration of the Hebrew ΧΦ±ΧΦ΄ΧΧ©ΦΆΧΧΦ·Χ’ (Elisheva), meaning "my God is an oath".' http://en.wiktionary.org/wiki/Elizabeth
21:16:54 <RodgerTheGreat> here's a suggestion- integrate a small time delay based on the length of the bot's responses, to simulate it having to type
21:17:11 <ihope> The mother of John the Baptist was Elizabeth, apparently.
21:17:18 <ihope> I suspect, then, that there is no male version.
21:17:55 <ehird`> if i let it loose in e.g. ##php #Linux
21:17:55 <ehird`> should it learn from all messages?
21:17:55 <ehird`> like, everything the channel says
21:17:55 <ehird`> it should learn X is Y and some other stuff
21:17:55 <ehird`> and emotional contexts
21:17:55 <ehird`> (Not any evolution, though - just learning)
21:17:55 <ehird`> or should it just learn from stuff directed to it?
21:17:55 <ehird`> i think learning from everything would be more realistic
21:17:55 <ehird`> but... maybe it'd be too clever and people would guess
21:18:28 <ihope> I think learning from everything is probably better.
21:18:35 -!- helios24 has quit (simmons.freenode.net irc.freenode.net).
21:18:35 -!- oerjan has quit (simmons.freenode.net irc.freenode.net).
21:18:53 <ihope> Woot, tiny netsplit.
21:19:09 <ihope> Did we lose kornbluth?
21:19:20 -!- oerjan has joined.
21:19:20 -!- helios24 has joined.
21:19:23 <ehird`> a random time delay is a good idea
21:19:41 <RodgerTheGreat> I'd make it at least partially a function of message length, though
21:19:41 <ehird`> i don't know whether male or female would make my job easier...
21:19:48 <ehird`> catering to irrational stereotypes is hard
21:20:09 <RodgerTheGreat> ehird`: male is effectively neuter online, and it's the gender "default"
21:20:10 <ehird`> maybe i should make it randomly forget some long term memory stuff if its old
21:20:17 <ihope> Niven was still showing up on /links.
21:20:22 <RodgerTheGreat> we don't want the bot to stick out, so it should be male
21:20:29 <ehird`> RodgerTheGreat, yeah, female geeks always get a lot of bugging :P
21:20:35 <ehird`> maybe i should make it randomly forget some long term memory stuff if its old <-- actually this sounds like a really good idea
21:20:45 <ehird`> it has to be forgetful to a large degree
21:20:59 <ehird`> it allows it to avoid sticky situations like complex conversations, and makes it more realistic
21:21:03 <RodgerTheGreat> as I mentioned before, if it was obviously female, it'd get way too much attention and people would figure it out quick
21:21:24 <ehird`> it's worth noting that this bot will have to change the subject a LOT
21:21:33 <ehird`> it'll probably spend most of its time doing so
21:21:41 <RodgerTheGreat> sometimes responding with just "ah." or "hm." when asked a direct question could be good.
21:22:03 <ehird`> or picking out words from the sentence and delivering a response related to them
21:22:13 <ehird`> so it isn't too fishy, but it changes the subject
21:22:24 <ehird`> <user> are fishes great fun?
21:22:33 <ehird`> <bot> not sure. fish are slimy.
21:22:47 <ehird`> <user> fish aren't slimy!
21:22:58 <ehird`> <bot> really? fish live in the water.
21:23:01 <RodgerTheGreat> you could also load it with some default responses that reference geek culture, to better blend in, like "nah, I'm not really into pokemon"
21:23:17 <ehird`> <bot> me too. fish are <some fish fact>
21:23:20 <RodgerTheGreat> sometimes you can disguise a lack of understanding with something that can be interpreted as a joke
21:23:42 <ehird`> feeding it with lots of memes could help
21:23:44 <ihope> Infamous technique.
21:23:52 <ihope> If you don't understand, say something funny.
21:24:00 <ehird`> after all, tons of people respond to questions involving something that was in a meme with the meme's catchphrase
21:24:10 <ehird`> it's very very annoying, but oh so common for real people to do
21:24:15 -!- helios24 has quit (simmons.freenode.net irc.freenode.net).
21:24:15 -!- oerjan has quit (simmons.freenode.net irc.freenode.net).
21:24:42 <ehird`> <bot> I CAN HAS CHEEZBURGER?
21:24:51 <RodgerTheGreat> speaking of which, the bot could be coded to "laugh along" if enough people are loling about something
21:24:59 -!- oerjan has joined.
21:24:59 -!- helios24 has joined.
21:25:19 <ehird`> ... this bot would be very hard to program
21:25:30 <ehird`> RodgerTheGreat, maybe it should laugh based on the style of jokes it had laughed at previously.
21:25:30 <ihope> <user1> lol <user2> lol <ibot> lol <ibot> Wait, what?
21:25:55 <RodgerTheGreat> and load many variants- "lol", "lmao", "haha", "eh, w/e"
21:25:58 <ihope> Just get a bot in here. Tweak it later. :-)
21:26:03 <ehird`> perhaps the act of coding this bot should be a group effort
21:26:11 <ehird`> even its core is quite complex already..
21:26:23 <RodgerTheGreat> there are many layers of behavior that could improve the performance of the design
21:26:41 <ehird`> maybe a vaguely plugin based architechture
21:26:47 <ihope> You should sift through various places for papers and articles on AI.
21:26:48 <ehird`> you could write a LaughAlong plugin, etc
21:27:08 <ehird`> and get callbacks like learnedNewAssociation(from, to)
21:27:29 <ehird`> maybe this should be a community project or something?
21:28:14 <ehird`> a way to manually modify the memory, etc would be useful
21:28:20 <ehird`> to set it on the right track
21:28:41 <ehird`> for example if it sees "fuck you lol" it might associate "fuck you" with happy/funny :P
21:28:47 <RodgerTheGreat> and an easy way to extract "brain dumps" or at least postmortems
21:29:03 <ehird`> possibly a GUI would help there too
21:29:19 <ehird`> i.e. a command-line program to modify the DB, and when starting the bot you could tell it to spawn a gui to do all that from
21:29:22 <RodgerTheGreat> I would lean towards a web-based interface for a collaborative effort, myself
21:29:32 <ehird`> well assuming the bot code can be downloaded
21:29:37 <ehird`> but yes, if there's going to be a main instance
21:30:25 <ehird`> how will we avoid conflicting ideas?
21:30:35 <ehird`> and someone else says "you are an honest person"
21:30:40 <ehird`> he'll go around telling people both...
21:31:43 <RodgerTheGreat> that's why I thought "friends" and "enemies" could be good
21:32:08 <RodgerTheGreat> but that's less effective in a massive channel like #Linux
21:32:21 <RodgerTheGreat> it'd be good if it was a small channel like ##Nonlogic or #Esoteric
21:33:05 <ehird`> yes but with small channels its easier to spot
21:34:15 <ehird`> ok, so we've got a rough design
21:34:23 <ehird`> i guess if this is going to be a community project its down to practical questions
21:34:24 <RodgerTheGreat> well, in a smaller channel it'd be more an experiment, whereas in a large channel it'd be a game
21:34:33 <ehird`> RodgerTheGreat, both, really
21:34:39 <ehird`> it's a game in the small picture
21:34:45 <ehird`> it's an experiment in the big picture
21:34:49 <ehird`> it would respond to /msgs for instance
21:34:58 <ehird`> anyway - practical questions: what language to implement it in?
21:35:09 <ehird`> nothing like C - too low level for something like this
21:35:19 <ihope> You could make your own language and use it!
21:35:27 <ehird`> languages like Python and Ruby might get a bit messy with a modular architechture and lots of AI logic here
21:35:33 <ihope> Or you could use Common Lisp, Scheme, Haskell...
21:35:38 <ehird`> static typing can really help in a situation like this
21:35:44 <ihope> If you like esoteric, then Unlambda, Lazy K...
21:35:47 <RodgerTheGreat> well, I'd say that designing it to handle prolonged, person-to-person conversations and longterm relationships would be more of a step towards conversational AI, while most of the "lost in a room simulacra" ideas are really cheap tricks
21:36:10 <ehird`> ihope, monads and stuffs are unneccessary worry for something as unpure as this
21:36:20 <RodgerTheGreat> Java, perhaps? I know of some great event-driven IRC-bot frameworks
21:36:55 <ihope> Nothing in Haskell says you can't just put an IO type on everything.
21:36:58 <ehird`> RodgerTheGreat, java is good, i think - it has a familiar syntax to most coders who'd care to try this, is well-known, and would fit into a modular architechture right
21:37:06 <ehird`> RodgerTheGreat, + Swing would be useful for the gui
21:37:35 <ihope> Though Java's also nice.
21:37:46 <ehird`> however i think for things like remembering Conversations and the like, some custom irc code might be in order
21:37:51 <ehird`> it's not very hard to do, really
21:37:59 <ehird`> and would help in putting some things like short-term-memory in the core
21:38:06 <RodgerTheGreat> if it's done in Java, I could certainly contribute to the coding
21:38:30 <ihope> Of course, Java is low on shiny theory...
21:39:01 <ihope> It doesn't support proofs by induction.
21:39:05 <ihope> ...that I know of.
21:39:16 <ehird`> ihope, thank you for this earth-shattering evidence
21:39:22 <ehird`> i am disqualifying java because of the lack of shiny theory
21:39:47 <ehird`> i was going to.....umm....
21:39:54 <ehird`> ...yeah. not coding for a nuclear reactor.
21:40:32 <RodgerTheGreat> fuck, if you want this thing to be provable and totally deterministic, we can do it in FORTRAN. That'd be a kick.
21:40:46 <ihope> FORTRAN supports this sort of thing?
21:41:01 <ehird`> lament, i'm not very experienced with haskell
21:41:04 <ehird`> i only get about the basics
21:41:24 <ehird`> most people who'd want to contribute would be doing it for the laughs, anyway, and they'd be more likely to know some java than haskell
21:41:34 <lament> write it in lolcode then!
21:41:47 <ehird`> java can be useful, you know..
21:41:56 <ihope> Haskell's type system, while more expressive than many other type systems, doesn't quite have types like "function that implements this standard".
21:41:58 <ehird`> especially in situations like this
21:42:12 <RodgerTheGreat> Java is a robust, scalable language well suited to large-scale projects
21:42:13 <lament> ihope: what's a standard?
21:42:15 <ihope> And indeed, you're not writing anything so critical as a program component.
21:42:16 <ehird`> it requires some random numbers, some lookup tables, a bit of logic, and lots of IO
21:42:23 <ehird`> java can do all of that fine
21:42:29 <ihope> lament: s/standard/specification/
21:42:56 <ehird`> plus when it comes round to a GUI or similar, java is good at that too
21:43:04 <lament> ihope: it does that to a fuller extent than many other languages
21:43:10 <lament> (with type signatures)
21:43:34 <ihope> Indeed, a Haskell value's type does say *something* about what it does.
21:44:23 <ehird`> oh, and the app will have to do a bit of configuration file processing too
21:44:26 <ehird`> java can do that fine too
21:44:45 <ehird`> so, really, java can do all this fine, it can be done cleanly, and java is a very well known language
21:45:15 <ihope> I guess sprinkling code with asserts is sort of the same thing as using a... preemptive approach?
21:45:27 <ehird`> ihope, when did i mention asserts?
21:45:48 <ehird`> on the subject of asserts, asserts are infinitely better than unit tests
21:45:51 <ihope> But asserts are a useful debugging tool, yes?
21:46:21 * ehird` hates unit tests because human context switching is expensive (and i'm not just quoting joel, i've tried unit tests and hated my loss of time. asserts are great)
21:46:37 <ehird`> assert() is "THIS SHOULD NEVER EVER HAPPEN, WORLD ASPLODE"
21:46:51 <ehird`> exceptions are "SOMETHING WENT REALLY WRONG, SO SOMEBODY SOMEWHERE DID SOMETHING WRONG, OH NO"
21:47:20 <RodgerTheGreat> by designing a language well-suited to it, you can eliminate the human labor entirely, aside from providing test data
21:47:28 <lament> exceptions are a control flow mechanism
21:47:36 <ihope> What are unit tests?
21:47:37 <lament> asserts are a debugging tool
21:47:45 <lament> tests are a testing tool
21:47:49 <lament> they're all different :)
21:47:57 <ehird`> lament, debugging and testing need not be seperate
21:48:04 <ehird`> and debugging and testing can be done via a control flow mechanism
21:48:10 <RodgerTheGreat> ihope: a unit test is a methodical test of every method and function in a program component in isolation
21:48:12 <lament> ihope: you take a chunk of your code and run it with many possible inputs and check that the outputs are correct
21:48:15 <bsmntbombdood> assert(!"the excrement has hit the air-circulation device");
21:48:44 * ihope ponders how strong a type system can be
21:48:58 <ehird`> so, pratical question #1 - what language? answered
21:49:18 <ehird`> bsmntbombdood, for many uses, sure
21:49:35 <ihope> Java isn't shit for... um...
21:49:39 <lament> ihope: take haskell, and remove all polymorphism :)
21:49:39 <ehird`> zealot detected, zealot detected, zealot alart
21:49:44 <lament> ihope: you'll get the strongest type system possibel
21:49:52 <RodgerTheGreat> java isn't shit for enterprise-level mutithreaded applications
21:50:11 <ihope> Java isn't shit if all you want to do is type "public static void main"!
21:50:16 <ehird`> prac- er, bikeshedding question #2 - what project name? probably the same as the main instance's name i guess
21:50:19 <RodgerTheGreat> java isn't shit for interactive content embedded in webpages
21:50:34 <lament> java is just not a nice language
21:50:37 <ehird`> 1337speak might be useful for the name, to make people's expectations lower for the instances intelligence
21:50:47 <ehird`> dav3y? d4vey? i don't know
21:51:00 <ihope> bsmntbombdood: what if you don't want to waste your server's time?
21:51:02 <RodgerTheGreat> there's a different between an applet sandbox and scripting.
21:51:23 <ihope> lament: perhaps I didn't mean "strong" so much as... "expressive"?
21:51:28 <bsmntbombdood> ihope: you should be even more reluctant to waste the user's time
21:51:56 <lament> for a name, pick squazr23
21:52:20 <ehird`> maybe we should avoid a real name
21:52:24 <ehird`> then it doesn't have to remember it
21:52:29 <ehird`> because, if it can "forget"
21:52:34 <ehird`> then forgetting its real name... heh.
21:52:48 <ehird`> but forgetting a nickname is plausible i guess
21:53:02 <ihope> ehird`: depends on the IRC client.
21:53:39 <ihope> I'd be pretty incapable of forgetting my nick.
21:54:00 <ihope> Title bar: "ihope on #esoteric (+nc): Esoteric programming language discussion . . ."
21:54:01 <ehird`> Hello world I am typing with my eyes shut I wonder how this will turn out because I am wfollowing RodgerTheGreat 's examples of yes
21:54:09 <ihope> Button next to the input box: "ihope"
21:54:22 <ehird`> ihope, but think e.g. irssi
21:54:23 <ihope> Thing to the left of everything I say: "<ihope>"
21:54:40 <ehird`> maybe it'll only forget unrecalled memories
21:55:08 <ihope> bsmntbombdood: programs often do take significant amounts of CPU time.
21:55:24 <ihope> (And yes, I am just now revealing that that's what I meant by "time".)
21:56:11 <ehird`> i can't think of a nick that would fit..
21:56:22 <ehird`> we don't want something terribly intellectual, but we don't want something really n00bish
21:56:27 <oerjan> ehird`: my irssi does display my nickname in the status bar
21:57:16 <ehird`> RodgerTheGreat, oh jesus
21:58:11 <RodgerTheGreat> I just don't see anything wrong with the "random letters" idea
21:58:23 <RodgerTheGreat> most people will think it's an odd abbreviation or something
21:58:56 -!- ehird` has changed nick to mvldo.
21:59:00 <mvldo> somebody say something to me
21:59:22 <mvldo> RodgerTheGreat: hi
21:59:49 <mvldo> RodgerTheGreat: dunno. Hey, what do you know about quantum mechanics?
22:00:28 <mvldo> RodgerTheGreat: IM IN UR QUANTUM BOX, MAYBE. lol
22:00:44 -!- mvldo has changed nick to ehird.
22:00:48 <ehird> ok, that worked well
22:00:54 <ehird> mvldo is a good name
22:00:58 -!- ehird has changed nick to ehird`.
22:00:59 <oerjan> the real world comes with strings attached!
22:01:37 <ehird`> also he could respond "i like strings. i know that a peice of string is 3 inches long!"
22:02:22 <RodgerTheGreat> but people might think he's joking around or something
22:02:51 <RodgerTheGreat> if they laugh, he'll think it's positive and then change subjects, so you're golden
22:03:22 <ehird`> so mvldo, an AI bot, implemented in Java
22:03:43 <ehird`> i guess all that's needed now is some sort of collaboration space - a wiki and a version control system?
22:04:58 <ehird`> hmm, too lazy to set up my VPS for that right now...
22:07:00 <RodgerTheGreat> yeah, sounds like a last name if you emphasize the "vul"
22:07:08 <ehird`> lament, that's what i just thought
22:07:35 <ehird`> i doubt anyone would question it
22:07:40 <ehird`> apart from "what does your name mean?"
22:07:41 <RodgerTheGreat> I guess I don't read enough children's fantasy literature
22:07:49 <ehird`> he can just reply that it's a random nickname, i guess
22:08:32 <ehird`> with carefully planted topic-related stuff in them
22:08:44 <ehird`> he should claim to have ADHD, i guess, that'd help credibility
22:09:30 <ehird`> http://www.google.co.uk/search?q=mvldo&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-GB:official&client=firefox-a mvuldo exists
22:09:35 <RodgerTheGreat> "what does your name mean?" "your mom"/"what does YOUR name mean"/"it's my name"/"don't wear it out"/"I'm borderline autistic"/"The last person to ask that is now fashioned into boots"
22:12:48 <ehird`> yes but it might not fit the personality
22:12:55 <ehird`> and he'd have to explain for things he never knew about
22:13:13 <ehird`> http://forums.creative.com/creativelabs/board/message?board.id=storage&message.id=143#M143 that's all he's said though
22:13:44 <ehird`> anyone have hosting space to offer temporarily for the source control/wiki?
22:14:32 <ehird`> it seems mvldo means something
22:15:14 <ihope> Borderline autistic...
22:15:16 <ehird`> ok, that's every problem sans hosting space solved
22:16:02 <ehird`> RodgerTheGreat, no, why
22:16:24 <RodgerTheGreat> I happen to be one of the staffers of Nonlogic. http://www.nonlogic.org/index.php?tour
22:16:59 -!- MichaelRaskin_ has joined.
22:17:27 <ehird`> well isn't that a nice coincidence :) apart from "IRC access is available only to paying users. PsyBNCs, Eggdrops, and related software are expressly prohibited from use."
22:18:07 <RodgerTheGreat> and the fact that our founder has religious objections to Java being used on the server
22:18:32 <ehird`> ihope, i guess jehovah's witness, they can't do ANYTHING :P
22:18:45 <ehird`> RodgerTheGreat, which languages would he not have religious objections to
22:18:46 <ihope> Objections to people using Java at all?
22:19:09 <RodgerTheGreat> mainly it's against having Javac and Java on the server. Java code is a non-issue
22:19:29 <RodgerTheGreat> we do have gcj, but I don't particularly enjoy that program
22:19:30 <ihope> Richard Stallman, right?
22:19:37 <ehird`> RodgerTheGreat, gcj is evil...
22:19:48 <ehird`> well, java code sure, but if there's going to be a main instance
22:19:52 <ehird`> it makes sense for it to be on the same machine
22:20:06 <ehird`> so - what programming languages would the founder not freak out about? :)
22:20:48 <RodgerTheGreat> it would be problematic *hosting* a bot on the server at all, really. I mainly offered our resources for SVN/webhosting
22:20:59 -!- RedDak has joined.
22:21:02 <ehird`> just thinking - since it'd have a web interface for the brain
22:22:35 * ihope chants "virtual private server"
22:23:22 * ehird` chants "have one but too lazy to set it up and don't have ssh private key on this machine"
22:23:40 <oerjan> there is no dialemma that cannot be solved with sufficient dialysis.
22:23:48 -!- jix has quit ("CommandQ").
22:24:01 <RodgerTheGreat> hosting for something low bandwidth isn't expensive, but there's a big difference on the 'net between "zero dollars" and "cheap"
22:26:01 <ehird`> maybe i should just run the bot on this machine, for now
22:26:10 <ehird`> nonlogic looks like the simplest place
22:27:06 <RodgerTheGreat> well, if you'd like an account, I can set you right up
22:27:21 <RodgerTheGreat> just PM me with your desired username, real name and email address
22:28:33 <ihope> Indeed, if you charged one cent for something, that'd probably drive lots of people away.
22:28:55 <ehird`> the credit card form has a big psychological impact
22:31:27 <ihope> One of those things without actual reason behind it?
22:32:07 <RodgerTheGreat> because the way credit cards work is ripe for abuse and people that are smart have some resistance to giving their info away
22:32:37 <ehird`> yeah, if there was a floppy-drive-like thing on your desk
22:32:45 <ehird`> and you just put a dollar in there, or something
22:32:51 <ehird`> everybody would be fine
22:33:10 <ihope> There's no good way to make sure they take only one cent?
22:33:30 <ihope> That's a little bit stupid.
22:33:45 <ehird`> http://mvldo.nonlogic.org/ *tada*
22:35:10 <lament> shouldn't that be port 69
22:38:43 <ehird`> i hope nobody googles mvldo, heh
22:39:25 <ehird`> because then they'd find the website..
22:39:47 <ehird`> oh no, now i have to install mediawiki
22:39:53 <ehird`> maybe i should use something simpler
22:39:57 <ehird`> what's simple wiki software to set up
22:40:00 <ehird`> moinmoin is quite hard
22:40:01 <ihope> That's what robots.txt and meta tags are for.
22:40:21 <ihope> Make your own very simple wiki?
22:40:29 <ehird`> that'd be a waste of my valuable time coding :P
22:40:35 <ehird`> normally i would give into NIH
22:40:40 <ehird`> but there's a big AI project to code and all
22:41:33 <ehird`> (i like this nonlogic thing!)
22:41:39 <RodgerTheGreat> hrm.. I think you can turn it on via nonlogic.org/user-admin
22:43:12 <ehird`> it seems that it's injected loads of users though?
22:43:21 <RodgerTheGreat> now do you see why there are so many people from #Esoteric using NL?
22:43:38 <ehird`> http://mvldo.nonlogic.org/wiki/index.php?title=Special:Listusers
22:44:29 <ehird`> what is the admin account though? :)
22:45:09 <ehird`> there's no mvldo account
22:45:24 <ehird`> There is no user by the name "Mvldo". Check your spelling, or use the form below to create a new user account.
22:45:44 <ehird`> http://mvldo.nonlogic.org/wiki/index.php?title=Special%3AListusers&group=sysop&username= no sysops
22:45:49 <ehird`> this wiki thing is, uh, broken :)
22:46:00 <ehird`> then use the admin interface
22:46:52 -!- oerjan has quit ("Good night").
22:48:03 <ehird`> http://mvldo.nonlogic.org/wiki it's a start
22:49:23 <ehird`> (http://www.selenic.com/mercurial/wiki/ hg's site, for anyone interested)
22:51:19 <ehird`> don't know how i'll handle ssh pushing though
22:51:26 <ehird`> users other than me have to touch it, but if everyone can..
22:52:26 <RodgerTheGreat> it would represent a mild security risk to distribute your login to others
22:52:36 <ehird`> error: invalid Python installation: unable to open /usr/lib/python2.3/config/Makefile (No such file or directory)
22:52:52 <ehird`> no /config directory? :S
22:53:00 <ehird`> well mercurial builds a c extension to python
22:53:02 -!- bsmnt_bot has joined.
22:53:07 <ehird`> apparently python-dev or similar isn't installed?
22:53:34 <ehird`> well, the development stuff for python
22:53:52 <ehird`> http://mail.zope.org/pipermail/zope/2004-March/148375.html
23:19:26 -!- bsmnt_bot has quit (Remote closed the connection).
23:19:28 -!- bsmnt_bot has joined.
23:23:11 <ehird`> "WHY WOULD I READ YOUR BASH_PROFILE OR BASHRC? THAT'S SILLY! I AM HERE TO ANNOY YOU AND TO BREAK YOUR PROGAMS!"
23:24:44 <ehird`> RodgerTheGreat, i guess the current matter is to fill in the design pages
23:24:45 <ehird`> http://mvldo.nonlogic.org/wiki/index.php?title=Main_Page
23:25:21 <ehird`> pages like "Memory", etc
23:25:47 <ehird`> and then everything else - implemented in plugins - in the plugins category, i guess
23:26:01 -!- bsmnt_bot has changed nick to zxcvbnm2000.
23:28:15 <ehird`> i did a small mockup page on memory
23:30:51 -!- zxcvbnm2000 has quit (Remote closed the connection).
23:30:55 -!- bsmnt_bot has joined.
23:33:31 <ehird`> ok, i created a few articles
23:35:19 <ihope> Now make it say something other than "article" at the top. >:-)
23:36:08 <ehird`> most mediawiki interfaces use that
23:36:31 <ehird`> that's not an important design decision
23:42:07 <ehird`> i've made tons of pages
23:42:13 <ehird`> RodgerTheGreat, ihope, http://mvldo.nonlogic.org/wiki/index.php?title=Main_Page
23:46:48 <ehird`> okay fine ignore me =p
23:49:18 -!- ehird` has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric | REMINDER FOR ehird` DO NOT REMOVE: mvldo.nonlogic.org.
23:49:44 -!- ehird` has quit (Read error: 104 (Connection reset by peer)).
23:49:54 -!- blahbot` has quit (Remote closed the connection).