00:19:57 <bsmnt_bot> the peeple tell me to due bad things
00:25:10 <SimonRC> *BOGGLE* http://www.mixedtraffic.net/images/funnies/14067.jpg
01:01:05 <SevenInchBread> yay! got the esopage up! ...but I'm too lazy to type out all the specification
01:15:20 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)).
01:15:51 -!- nazgjunk has joined.
01:20:53 -!- nazgjunk has quit ("Bi-la Kaifa").
01:48:16 -!- Arrogant has quit ("Leaving").
01:52:29 -!- nazgjunk has joined.
01:52:37 <SevenInchBread> ...hmmm... I should equip egobot with a befunge that can read multiline befunge programs.
01:54:14 <SevenInchBread> say !befunge-start command on one line, then put the rest of the program in subsequent lines... and then end with a !befunge-end line.
02:00:09 -!- SevenInchBread has quit ("haaaaaaaaaa").
02:01:54 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)).
02:02:18 -!- nazgjunk has joined.
02:09:29 -!- SevenInchBread has joined.
02:14:03 <SevenInchBread> I wonder if you could take advantage of swapping two values in an esolang.
02:14:22 <SevenInchBread> that was the original idea I had for an infinitely visible BF.
02:14:48 <SevenInchBread> if you swap two values with the same value... the net effect is a NOP...
02:23:07 -!- SevenInchBread has quit (Remote closed the connection).
02:27:34 -!- nazgjunk has changed nick to na[zZz]gjunk.
02:36:00 -!- ihope has joined.
02:36:17 <ihope> HAI IM GREGORR I LIVE IN OREGON AND I WORK FOR INTEL >_O
02:43:49 -!- SevenInchBread has joined.
02:49:09 -!- tgwizard has quit (Remote closed the connection).
02:51:37 -!- nazgjunk has joined.
02:51:38 -!- na[zZz]gjunk has quit (Read error: 104 (Connection reset by peer)).
02:53:11 -!- nazgjunk has changed nick to na[zZz]gjunk.
03:06:32 -!- nazgjunk has joined.
03:06:33 -!- na[zZz]gjunk has quit (Read error: 104 (Connection reset by peer)).
03:07:18 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)).
03:47:22 <ihope> ~exec self.ihope = IRCbot("80.32.164.76", "Python", "nope", "ihope", "Now 100% Real", 9999, "#lobby", True, ["#lobby"], "#", True); self.ihope.listen()
04:01:33 <ihope> I'm struggling with bsmnt_bot!
04:01:54 <ihope> Because it isn't working like I want it to and I don't know what to do.
04:02:45 <ihope> How do I make the bot execute everything it receives in a PRIVMSG?
04:03:39 <ihope> That won't only execute stuff with an #exec?
04:03:49 <ihope> Then again, that's what I wanted to do anyway :-P
04:04:09 <ihope> Um, yeah, so how does it work?
04:06:09 <ihope> #exec self.register_raw(r"\S+ PRIVMSG ([^#]\S+) :(.*)", blah)?
04:06:29 * ihope ponders disconnecting without warning
04:06:40 <ihope> So what would blah be? do_exec?
04:07:54 <ihope> It's not doing anything.
04:16:31 -!- bsmntbombdood has left (?).
04:16:40 -!- bsmntbombdood has joined.
04:17:44 -!- bsmnt_bot has quit.
04:17:48 -!- bsmnt_bot has joined.
04:33:16 -!- ihope has quit (Read error: 110 (Connection timed out)).
05:34:47 -!- digital_me has quit ("Lost terminal").
05:41:39 -!- digital_me has joined.
05:50:05 -!- pgimeno has quit (Connection reset by peer).
05:50:11 -!- pgimeno_ has joined.
05:50:30 -!- pgimeno_ has changed nick to pgimeno.
06:33:31 -!- digital_me has quit ("Lost terminal").
06:54:34 -!- oerjan has joined.
07:16:34 -!- anonfunc has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:21 -!- sgeo_ has joined.
08:33:37 -!- helios24 has joined.
09:50:10 -!- Sgeo has quit (SendQ exceeded).
10:10:11 <oklopol> haha i just invented lazy evaluation :D
10:10:41 <oerjan> next: fire or the wheel? :)
10:11:30 <oklopol> thought i should invent a way to use map so that it only needed to evaluate as the values are actually needed... then i had this incredible idea of generalizing this so that NOTHING is done unless needed...
10:12:13 <oklopol> i wish i'd born in the fifties
10:13:36 <oerjan> do you read Lambda the Ultimate? There was a recent thread on "the golden age" of the sixties and seventies.
10:13:57 <oklopol> sounds something i'd like to read
10:14:14 <oerjan> it's a weblog about programming languages, at http://lambda-the-ultimate.org/
10:15:27 <oerjan> it is often very high-level, though.
10:15:33 -!- sebbu has joined.
10:16:05 <oerjan> they encourage links to research articles and the like.
10:16:21 <oklopol> you mean i wouldn't understand it?
10:17:13 <oerjan> well maybe not all of it, but there is somewhat lighter fare on its "discussion forum"
10:18:19 <oerjan> which actually is the majority of threads.
10:18:22 <oklopol> where can i see an article list there?
10:18:59 <oklopol> the front page changes daily and contains the link to the article?
10:19:38 <oklopol> too much text and links, there should just be a big button
10:19:42 <oerjan> changes immediately with a new main topic, i guess.
10:20:08 <oklopol> a link to the article of the day :D
10:20:20 <oklopol> i get dizzy when there's so much links
10:20:34 <oerjan> there can be more than one article, and there are several editors.
10:21:16 <oerjan> since i follow it every day, i like to read it from the Recent Posts subpage. Logging in helps then since new articles are marked.
10:21:33 <oerjan> *articles and comments
10:22:19 <oerjan> besides the main page doesn't contain the forum topics.
10:24:40 <oerjan> btw the topic i mentioned at the start is first on the next page.
10:31:47 <oklopol> i understand the article they have now
10:32:37 <oklopol> i think i might start reading daily, i like reading junk, usually just randomly search for that kind of stuff
10:33:28 <oklopol> i happen to know erlang and actors quite well though
10:33:48 <oklopol> but maybe i know everything, i don't know what i don't know
10:33:56 <oklopol> i don't know cobol though, i wanna know it
10:36:47 -!- nazgjunk has joined.
10:45:34 -!- kxspxr has joined.
11:37:18 -!- oerjan has quit ("leaving").
11:40:08 -!- tgwizard has joined.
11:53:08 -!- nazgjunk has changed nick to timonator`.
11:53:18 -!- timonator` has changed nick to nazgjunk.
12:13:50 -!- ihope has joined.
12:14:13 -!- ihope has quit (Client Quit).
13:11:58 -!- anonfunc has quit.
13:25:25 -!- alex89ru has joined.
14:04:09 -!- goban has quit (Remote closed the connection).
14:04:28 -!- goban has joined.
14:10:01 -!- alex89ru has quit (Remote closed the connection).
14:13:26 -!- tokigun has quit (Read error: 110 (Connection timed out)).
15:04:06 -!- goban has quit (Read error: 104 (Connection reset by peer)).
15:04:18 -!- goban has joined.
15:25:55 -!- UpTheDownstair has joined.
15:25:55 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)).
15:29:48 -!- oerjan has joined.
15:30:56 <oerjan> what is the word for an explanation why something might be worth considering?
15:40:14 <oerjan> *sigh* i'll try with "rationale"
15:55:59 <oerjan> wrong word class, sorry.
15:56:21 <oerjan> anyway it was just for an edit summary
16:20:07 -!- goban has quit (Remote closed the connection).
16:20:40 -!- goban has joined.
16:25:48 -!- digital_me has joined.
16:30:33 -!- goban has quit (Read error: 104 (Connection reset by peer)).
16:30:49 -!- goban has joined.
17:05:05 -!- Sukoshi has quit (Read error: 104 (Connection reset by peer)).
17:19:13 -!- UpTheDownstair has changed nick to nazgjunk.
17:21:33 -!- sgeo_ has changed nick to Sgeo.
17:23:50 -!- goban has quit (Read error: 104 (Connection reset by peer)).
17:28:36 -!- goban has joined.
17:34:24 -!- wooby has joined.
18:03:53 -!- Sukoshi has joined.
18:41:26 <bsmntbombdood> "Lowering: A Static Optimization Technique for Transparent Functional Reactivity"
18:41:59 <SimonRC> SevenInchBread: http://doi.acm.org/10.1145/142137.142162
18:42:24 <SimonRC> "02:11 < SevenInchBread> I wonder if you could take advantage of swapping two values in an esolang."
18:42:58 <oerjan> um, he has heard of Smetana, hasn't he? :)
18:44:31 <oerjan> how are you telling it to quit?
18:48:02 <oerjan> hopefully you are not using print in it.
18:48:33 <oerjan> or you would hit the stdout problem :)
18:49:21 <bsmnt_bot> <module 'ski_repl' from '/bot/ski_repl.py'>
18:50:18 <SimonRC> If you haven't seen it, read the link I just gave about Linear LISP.
18:51:08 <SimonRC> O(1) copy, O(1) equality testing, EQ is the same as EQUAL, and no GC required!
18:51:51 <bsmntbombdood> ~exec self.register_raw(r"\S+ PRIVMSG (\S+) :~ski (.*)", lambda x,y: bot.raw("PRIVMSG %s :%s" % (y.group(1), ski_repl.unparse(ski_repl.simp(ski_repl.parse(y.group(2))))))
18:52:05 <SimonRC> And there is no sharing, so you can mutate values as much as you like without worrying about other uses of them. REVERSE == NREVERSE. SORT == NSORT. etc
18:52:29 <bsmntbombdood> ~exec self.register_raw(r"\S+ PRIVMSG (\S+) :~ski (.*)", lambda x,y: bot.raw("PRIVMSG %s :%s" % (y.group(1), ski_repl.unparse(ski_repl.simp(ski_repl.parse(y.group(2)))))))
18:52:40 -!- bsmnt_bot has quit (Remote closed the connection).
18:52:44 -!- bsmnt_bot has joined.
18:53:11 <bsmntbombdood> ~exec self.register_raw(r"\S+ PRIVMSG (\S+) :~ski (.*)", lambda x,y: bot.raw("PRIVMSG %s :%s" % (y.group(1), ski_repl.unparse(ski_repl.simp(ski_repl.parse(y.group(2)))))))
18:53:19 -!- bsmnt_bot has quit (Remote closed the connection).
18:53:21 -!- bsmnt_bot has joined.
18:54:11 <bsmntbombdood> ~exec globals()["ski_repl"] = __import__("ski_repl")
18:54:19 <bsmntbombdood> ~exec self.register_raw(r"\S+ PRIVMSG (\S+) :~ski (.*)", lambda x,y: bot.raw("PRIVMSG %s :%s" % (y.group(1), ski_repl.unparse(ski_repl.simp(ski_repl.parse(y.group(2)))))))
18:55:25 <bsmntbombdood> sometimes it leaves things partially unreduced though
18:56:29 * SimonRC tries to remember what the simple infinite loop is.
18:58:01 <oerjan> so it is not actually _meant_ to stop prematurely?
18:58:12 -!- kxspxr has quit.
18:59:19 <oerjan> eh, it's called "correct implementation" ;)
19:02:44 <SimonRC> Gargh! What twat at mozilla decided the put the "quit without confirmation" key right next to the "close tab" key.
19:10:16 <oerjan> i think i know a way to fix that simp.
19:10:51 <oerjan> Simplify simp[0] _before_ checking for the test cases.
19:13:48 <oerjan> why, isn't that the point? ;)
19:13:57 <oerjan> Then you need to include a resource limit.
19:14:16 <SimonRC> keep track of the number of reductions that take place or something
19:15:24 <SimonRC> well, have a variable that contains the number of applications that have taken place so far, and increase it whenever you do an application
19:16:50 <oerjan> it should be enough to do it for the S case.
19:17:12 <oerjan> since that is the only one that can increase the expression size.
19:21:43 <bsmntbombdood> ~exec globals()["ski_repl"] = __import__("ski_repl")
19:21:54 <bsmntbombdood> ~exec self.register_raw(r"\S+ PRIVMSG (\S+) :~ski (.*)", lambda x,y: bot.raw("PRIVMSG %s :%s" % (y.group(1), ski_repl.unparse(ski_repl.simp(ski_repl.parse(y.group(2)))))))
19:23:23 <oerjan> well i take it you have to stop somewhere?
19:24:14 <oerjan> what does your new simp return when the resource limit is exceeded?
19:24:43 <oerjan> and where is that limit checked?
19:25:29 <oerjan> hm... simplify t[1] before returning even in that case.
19:26:09 <oerjan> then only S reductions will be avoided, I think.
19:26:40 <bsmntbombdood> ~exec globals()["ski_repl"] = __import__("ski_repl")
19:27:03 <bsmntbombdood> ~exec globals()["ski_repl"] = __import__("ski_repl")
19:27:09 <bsmntbombdood> ~exec self.register_raw(r"\S+ PRIVMSG (\S+) :~ski (.*)", lambda x,y: bot.raw("PRIVMSG %s :%s" % (y.group(1), ski_repl.unparse(ski_repl.simp(ski_repl.parse(y.group(2)))))))
19:28:42 <bsmntbombdood> ~exec globals()["ski_repl"] = __import__("ski_repl")
19:28:49 <bsmntbombdood> ~exec self.register_raw(r"\S+ PRIVMSG (\S+) :~ski (.*)", lambda x,y: bot.raw("PRIVMSG %s :%s" % (y.group(1), ski_repl.unparse(ski_repl.simp(ski_repl.parse(y.group(2)))))))
19:29:06 * oerjan wonders how much of that is actually necessary
19:31:30 <oerjan> globals are looked up every time they are referenced, not? So you should definitely not need to redo the register_raw.
19:32:50 <oerjan> it's not perfect for functional programming, i take.
19:40:56 -!- jix__ has joined.
19:45:08 <bsmntbombdood> ~exec self.register_raw(".*tell me x.*", lambda m: self.raw("PRIVMSG #esoteric :%s" % x))
19:45:18 -!- bsmnt_bot has quit (Remote closed the connection).
19:45:21 -!- bsmnt_bot has joined.
19:45:36 <bsmntbombdood> ~exec self.register_raw(".*tell me x.*", lambda m: self.raw("PRIVMSG #esoteric :%s" % x))
19:46:16 <bsmntbombdood> ~exec self.raw_regex_queue[-1][1].func_globals = locals()
20:09:37 -!- sebbu2 has joined.
20:10:08 -!- jix__ has quit (Read error: 104 (Connection reset by peer)).
20:14:25 -!- kxspxr has joined.
20:15:07 -!- kxspxr has quit (Client Quit).
20:28:37 -!- sebbu has quit (Connection timed out).
20:29:35 <SimonRC> ooh, esoteric: http://home.pipeline.com/~hbaker1/sigplannotices/COMFY.TXT
20:32:15 -!- jix__ has joined.
20:38:33 <oerjan> appears to be seriously intended, on first look. If that is Vaughan Pratt mentioned, I think I remember him for writing about "Chu Spaces" as models of linear logic.
20:39:39 <oerjan> although this seems much earlier, if those 60's references are a guide.
20:40:54 <oerjan> On the other hand, you could say it was in the Golden Age, when you could get research funding for being esoteric :)
21:08:29 -!- calamari has joined.
21:28:28 <GregorR> Heeeeeeeeeeeeeeeeeeeeeey calamari, you speak Java ... ^^
21:29:19 <calamari> my Java might be a little rusty now
21:29:35 <calamari> but we can speak JCL if you'd like
21:30:08 <oerjan> JCL? The infamous IBM language?
21:30:13 <GregorR> http://groups.google.com/group/nestedvm/browse_thread/thread/f11cc0b0e9a9b584 < I need sys_select in NestedVM to port Java.
21:30:15 -!- goban has quit (Read error: 104 (Connection reset by peer)).
21:30:29 <GregorR> But reading that code just makes my head swim :(
21:30:30 -!- goban has joined.
21:33:38 <calamari> why are you porting a perfectly good c++ program to java? seems rather cruel
21:37:24 <SimonRC> it makes the object's allocation policies into part of its interface
21:38:14 <GregorR> SimonRC: Blah blah blah don't care.
21:38:23 <GregorR> calamari: I'm just trying to make it usable from Java so I can make an applet of it.
21:38:40 <GregorR> SimonRC: Blah blah blah it's not built in, get yourself Boehm GC and shaddap ^^
21:39:09 <calamari> and you're sure you need select?
21:39:23 <calamari> I don't think I've needed that for any of my java irc stuff
21:39:39 <GregorR> calamari: IRC only had one socket, no?
21:39:54 <GregorR> calamari: DirectNet has X sockets.
21:40:01 <GregorR> calamari: Where X is a number often greater than 1.
21:40:22 <calamari> well, I guess threads don't really scale well
21:40:26 <GregorR> I stopped using threads in DN a long time ago ... and NestedVM doesn't have threads support.
21:41:24 <calamari> unfortunately my knowledge of nio is nil, sorry
21:41:56 <GregorR> I don't want you to go out of your way, I just thought this whole junk may be easier than I thought ;)
21:43:02 <calamari> or you could write some kind of browser plugin to support c++ programs ;)
21:43:35 <calamari> then the user would hate you when they go to a site and it wipes their system due to lack of security
21:44:51 <calamari> GregorR: btw where do you work?
21:45:18 <GregorR> Sorry, tried to dereference a NULL pointer.
21:45:25 <GregorR> Somewhat, not desperately.
21:45:50 <GregorR> I still have 1.5 years 'til I have an undergrad degree.
21:45:55 <calamari> IBM has it's embedded Linux operations in Oregon
21:46:11 <calamari> thought you might enjoy something like that
21:46:21 <GregorR> But couldn't get the job :P
21:46:28 -!- tgwizard has quit (Read error: 110 (Connection timed out)).
21:46:40 <calamari> I could put in a good word for you
21:46:41 <GregorR> Well, lesse ... I have no degree.
21:46:52 <calamari> you could be a co-op first, not a problem
21:47:11 <fizzie> Co-op first, deathmatch later. (Sorry, free association.)
21:47:49 <calamari> It's kinda nice because once you graduate you are pretty much guaranteed a job as long as you do a good job
21:48:01 <GregorR> Well, I intend on going to grad school.
21:48:21 <GregorR> I'm considering professorship *shrugs*
21:48:31 <calamari> they have tuition reimbursement
21:48:53 <calamari> those who can, do.. those who can't, teach
21:51:25 <calamari> anyhow, if you'd like me to forward it on to a guy I know in that dept.. send me your resume jeffryj at us ibm com
21:52:04 <SimonRC> Boehm GC has a few points of suckitude: If there is a fake pointer to the head of a list, and that list is continually created at the tail by one routine and destroyed at the head by another, then memory usage will grow indefinitely, as the fake pointer prevents *any* of the list from being collected.
21:52:18 <SimonRC> Plus compiler optimisations can seriously fuck it up.
21:56:28 <calamari> can't wait to build my computer.. want to try out linux amd64
22:01:29 <calamari> hmm, ubuntu came out in 2004 so it looks like I've been using linux for about 2 1/2 years
22:15:54 * SimonRC finds out that the Inform library is even cruftier than he remembered.
22:16:10 -!- goban has quit (Connection timed out).
22:16:13 <SimonRC> the main parsing routine is a sight to behold
22:16:19 -!- goban has joined.
22:17:14 <SimonRC> 1200 lines of code, repeatedly re-using the half-a-dozen local variables to which it is restricted.
22:17:35 <SimonRC> and a map at the beginning to help you understand it all.
22:19:05 <SimonRC> The fact that it has to handle english grammar, loads of exceptions, and must call and pay attention to a vast set of hooks doesn't help either.
22:21:02 <SimonRC> oh, yeah, and it's written in a language mostly less powerful than C.
22:22:01 -!- goban has quit (Read error: 104 (Connection reset by peer)).
22:27:27 <oerjan> is this intended to be a general statement? :)
22:43:11 -!- goban has joined.
22:50:47 <oerjan> what about it? not that i know/remember the details, but it is hardly the state of the art.
22:51:13 <bsmntbombdood> it iterates through the entire memory like 4 times each run
22:53:43 <oerjan> that's sort of like crying because Turing machines are slow... :)
22:56:26 -!- SevenInchBread has quit ("haaaaaaaaaa").
23:21:16 -!- jix__ has quit ("Bitte waehlen Sie eine Beerdigungnachricht").