←2007-06-28 2007-06-29 2007-06-30→ ↑2007 ↑all
00:10:13 -!- c|p has quit (Read error: 104 (Connection reset by peer)).
01:02:03 -!- Sgeo has joined.
01:45:52 <oklopol> lament: you said spanish, so i thought it was about the lang
01:46:05 <oklopol> my sleep cycles are pretty steady i'd say
01:46:18 <oklopol> usually i got to sleep between 4am..5am
01:46:26 <oklopol> now i wake up at 3am
01:46:27 <oklopol> xD
01:46:44 <lament> oklopol: "english" courses tend to not be about the language either
01:47:10 <oklopol> lament: i'm not saying you said anything wrong, just explaing my stupidity
01:58:43 <bsmntbombdood> how can you go to sleep at 4am and get up at 3am?
01:59:46 <oklopol> i usually go to sleep at 4am, today i went to sleep at 9pm
01:59:53 <oklopol> i hate the xm system
02:02:19 <bsmntbombdood> use 24 hours then
02:02:19 <oklopol> hmm... gotta figure out something to say that involves time
02:02:19 <oklopol> so i can use it
02:02:59 <lament> "Yesterday I went to sleep at 234"
02:03:16 <lament> make that 234:823
02:03:22 <lament> am
02:03:58 <bsmntbombdood> what?
02:04:23 <oklopol> do i take mod 24 to get that to be a real time?
02:05:08 -!- SimonRC_ has joined.
02:06:23 -!- SimonRC has quit (Connection reset by peer).
02:17:26 <oklopol> "i know many of you are already on my side... and for you nay sayers out there i've got 2 strong words... come on"
02:17:55 <oklopol> i need a food.
02:18:43 <lament> me too is in need of one
02:19:19 <oklopol> i wish i had food here
02:19:28 <oklopol> the stores aren't open when i'm awake :<
02:19:57 <lament> they are
02:20:02 <lament> just not at your part of the world
02:20:46 <oklopol> durn.
02:20:59 <lament> just move
02:21:16 <lament> it might be easier than changing your sleep pattern
02:21:29 <oklopol> are there places where stores are open when the sun is down?
02:21:43 <oklopol> i don't care for sun that much
02:21:53 <lament> yes, they're called cities, but not many stores are open 24 hours
02:22:50 <oklopol> we have restaurants that are open 24/7
02:22:57 <oklopol> but no shops :<
02:23:05 <bsmntbombdood> oklopol: buy your foods during they day, and keep a cache
02:23:22 <oklopol> and i live 3-4 km from the nearest such restaurant
02:23:48 <lament> oklopol: the sun is nice. Your pineal gland gets unhappy without it.
02:24:52 <oklopol> why should i care?
02:25:40 <oklopol> that was an actual question, i don't know what it does
02:26:19 <lament> look up seasonal affective disorder
02:29:09 <oklopol> that don't sound like a bad.
02:31:25 <bsmntbombdood> i'm skeptical about SAD
02:41:58 <lament> i'm not.
02:56:07 -!- immibis has joined.
02:56:16 <immibis> ihope, are you there?
03:06:45 <ihope> Ello.
03:07:39 <bsmntbombdood> poppet
03:09:21 <ihope> immibis, are *you* there?
03:09:38 <immibis> i am now
03:10:06 <ihope> I take it you wanted me for something.
03:10:09 * immibis sets icechat to flash
03:10:10 <immibis> ops
03:10:11 <immibis> oops
03:10:21 <immibis> yes, i found something wrong with the interpreter
03:10:35 <ihope> I see.
03:10:36 <immibis> it reads the program from standard input until it reaches end-of-file. that much works.
03:11:01 <immibis> then if the foobar program needs input, that gets read from standard input as well, after the end-of-file
03:11:27 <immibis> so if you wanted to make any sort of cat program you wouldn't be able to
03:11:53 <ihope> Foobar philosophy: if a flaw isn't fatal, it's acceptable.
03:11:55 <ihope> :-)
03:12:35 <immibis> i have changed it so that you can run foobar* Im_a_file.EXT < PROGRAM_INPUT
03:13:10 <immibis> i will just compile the changes now and email it to you
03:13:14 <immibis> if you don't mind
03:13:28 <immibis> unless you find it acceptable of course :)
03:14:06 <immibis> Who here agrees Brainfuck is the most universally accepted esoteric programming language?
03:14:12 <immibis> *in the world*
03:15:04 <bsmntbombdood> yeah
03:15:43 <oklopol> your mother is the most universally accepted esoteric language
03:16:09 * immibis agrees with immibis's question
03:17:59 <immibis> oklopol: as is yours
03:19:06 <oklopol> yes, but i'm still hungry
03:23:58 <immibis> Delivery to the following recipients failed.
03:23:58 <immibis> ihope127@hotmail.com
03:24:14 <immibis> ihope, do you actually have a working email address?
03:24:16 <immibis> or not?
03:30:00 <ihope> Yes, I do.
03:30:09 <ihope> Did I tell you ihope127@hotmail?
03:30:17 <ihope> It's gmail, not hotmail.
03:30:21 <immibis> ok
03:30:36 <immibis> i think i did that last time too
03:31:29 <Sgeo> s/universally/globally/
03:31:37 <Sgeo> >.>
03:31:56 <immibis> yes
03:32:20 <immibis> esoteric_languages.accepted.universally.likens=alien_language;
03:32:33 <oklopol> universal is okay too, though means a different thing
03:32:42 <immibis> Delivery to the following recipients failed.
03:32:42 <immibis> ihope127@gmail.com
03:36:25 <ihope> That's a 1, not an l, right?
03:36:37 <immibis> it's a 1
03:36:42 <immibis> (one)
03:37:05 -!- GreaseMonkey has joined.
03:37:17 <ihope> Well then, unless that address contains a non-ASCII character or something, it's correct.
03:40:29 <ihope> Yes, it's correct.
03:41:31 -!- toBogE has joined.
03:42:22 <ihope> Does it have details on why it failed?
03:42:26 <immibis> no
03:42:33 <immibis> well yes
03:42:46 <immibis> i didn't look though because i didn't notice until you asked
03:42:58 <ihope> What's it say, then?
03:43:33 * immibis is opening the file
03:43:45 <immibis> Reporting-MTA: dns;bay0-omc3-s7.bay0.hotmail.com
03:43:45 <immibis> Received-From-MTA: dns;BAY111-W10
03:43:45 <immibis> Arrival-Date: Thu, 28 Jun 2007 19:30:24 -0700
03:43:45 <immibis> Final-Recipient: rfc822;ihope127@gmail.com
03:43:45 <immibis> Action: failed
03:43:46 <immibis> Status: 5.7.0
03:43:48 <immibis> Diagnostic-Code: smtp;552 5.7.0 Illegal Attachment e16si1278481qba
03:43:52 <immibis> so a bad attachment it seems
03:44:07 <immibis> maybe gmail didn't like it
03:44:52 <ihope> Huh.
03:45:07 <ihope> Where does that seem to have come from?
03:45:11 <ihope> ...that email?
03:45:17 <immibis> postmaster@mail.hotmail.com
03:45:27 <immibis> its an automatic message
03:45:57 <immibis> !regex some-regex USE THE REGEX LUKE. replace Ok, my lord.
03:46:02 <immibis> USE THE REGEX LUKE.
03:46:02 <toBogE> Ok, my lord.
03:46:09 <immibis> !delregex some-regex
03:46:11 <toBogE> Caught a java.lang.IndexOutOfBoundsException! Index: 0, Size: 0
03:46:38 <ihope> Hmm, I thoguht for a moment that toBogE said "Oh my lord".
03:46:39 <immibis> USE THE REGEX LUKE.
03:46:44 <immibis> hehe
03:47:41 <immibis> !raw JOIN #bots
03:48:27 <toBogE> I AM A BOT YOU FOOLS! HA HA HA!
03:49:04 <immibis> we know
03:49:04 <toBogE> 1
03:49:13 <ihope> PARSE ERROR: did you mean "I AM A BOT YOU FOOL"?
03:49:13 <toBogE> 1
03:49:41 <immibis> stop saying 1
03:49:50 <ihope> WARNING: Clarity compromised by ambiguity. Suggestion: "I AM A BOT THAT YOU FOOL"
03:50:58 <immibis> yeah?
03:50:58 <toBogE> yeah?
03:51:10 <immibis> I AM NOT A BOT
03:51:10 <toBogE> I AM NOT A BOT
03:51:14 <immibis> yes you are]
03:51:15 <toBogE> yes you are]
03:51:20 <immibis> don't lie to me
03:51:24 <toBogE> don't lie to me
03:51:24 <immibis> !delregex echo
03:51:25 <toBogE> Caught a java.lang.IndexOutOfBoundsException! Index: 0, Size: 0
03:51:32 <immibis> i must fix that
03:51:38 -!- toBogE has quit (Read error: 104 (Connection reset by peer)).
03:52:04 -!- toBogE has joined.
03:52:13 <immibis> toboge now supports regex matching of channel messages using !regex NAME REGEX replace REPLACEMENT
03:52:17 <immibis> REGEX is not quoted
03:52:21 <immibis> REPLACEMENT is not quoted
03:52:32 <immibis> NAME is used to refer to it for !delregex which deletes it
03:52:43 <immibis> replace is the exact word replace
03:52:57 <immibis> !raw JOIN #bots
03:53:31 <oklopol> ihope: did you start making the parser? i'm gonna make it after this episode unless you happen to be on it.
03:53:57 <ihope> No, I pretty much... stopped.
03:54:12 <oklopol> myor
03:54:22 <oklopol> i want food first
03:54:23 <ihope> Now lemme find it again...
03:54:30 <ihope> It's gone!
03:54:32 * ihope cries
03:54:35 <oklopol> :P
03:54:37 <ihope> Except it isn't.
03:54:50 <ihope> Wonderful! Haskell scraps.
03:55:00 <oklopol> it isn't
03:55:03 <ihope> Maybe you can grind it up and make Python sausage out of it.
03:55:42 <oklopol> actually, i have one thing i don't really understand here
03:55:54 <ihope> It might even be ugly: http://pastebin.ca/594787
03:56:15 <oklopol> why in the earth would i encourage you to write a parser and think about making a parser myself, when i ACTUALLY ALREADY HAVE A WORKING PARSER
03:56:29 <oklopol> i have some serious mental problems, really
03:56:30 <oklopol> :|
03:56:40 <ihope> But given the amount of time I put into that, it must be nice.
03:56:44 <oklopol> i'll look
03:56:51 <ihope> You already have a working parser...
03:56:58 <oklopol> thuzzit?
03:57:10 <oklopol> i have 400 lines of python :)
03:57:17 <ihope> Essentially, I wrote something to parse until " or <-- is encountered.
03:57:25 <ihope> 400 lines of Python to do what?
03:57:45 <oklopol> i think it was pretty much the whole parser
03:58:02 <ihope> I have two parser fragments in a mere 23 lines.
03:58:29 <oklopol> haskell does parsing pretty much like a bnf
03:58:39 <oklopol> == short
03:59:03 <ihope> BNF-like grammars are easy enough when you have Parsec.
03:59:32 <oklopol> parsec i don't know
03:59:47 <oklopol> oklotalk doesn't have a bnf grammar, of course
04:00:01 <ihope> Parser library that comes with GHC.
04:00:05 <oklopol> hmm, i guess you could represent it as a bnf
04:00:08 <ihope> You might want to remedy that :-P
04:00:14 <oklopol> why is that?
04:00:40 <oklopol> it's important non matching brackets are legal
04:01:04 <oklopol> because i want every string to be a legal oklotalk program
04:01:36 <ihope> Why do you want every string to be a legal program?
04:02:25 <oklopol> for the same reason i wanted to make the language: no.
04:02:34 <oklopol> none
04:02:43 <ihope> You have no reason?
04:02:49 <oklopol> i guess it's cool
04:02:50 <oklopol> no reason
04:03:04 <ihope> Are there any runtime errors?
04:03:28 <oklopol> i'd say that's kinda one of my axioms
04:03:30 <oklopol> hmm
04:03:34 <oklopol> runtime errors, not really
04:03:51 <oklopol> i have a sort of an exception system
04:04:06 <oklopol> so... yes it does i guess
04:04:11 <oklopol> ...
04:04:13 <oklopol> yes there are
04:04:21 <ihope> Are there any type errors?
04:04:40 <oklopol> i have optional typing, but i'm not going to implement it yet
04:04:46 <oklopol> there are none
04:04:58 <oklopol> type errors will be compile time errors if used
04:05:09 <oklopol> (compile time warnings)
04:05:11 <ihope> So you can feed a function definition into a function that's supposed to handle matrices, then interpret the resulting floating point number as a Sudoku puzzle?
04:05:18 <oklopol> yes.
04:05:24 <ihope> Fun.
04:05:35 <ihope> It also makes me want to hug Epigram a little too tightly.
04:05:52 <ihope> And Goedel, too.
04:06:02 <oklopol> ´{}{}´{} makes 3 empty functions, and uses one of the functions as infix with the other two as args
04:06:32 <oklopol> epigram and goedel?
04:06:35 <oklopol> god i'm a noob.
04:06:35 <ihope> See, that doesn't make sense!
04:06:42 <oklopol> well guess i know gödel
04:06:58 <oklopol> what doesn't make sense?
04:07:14 <ihope> Epigram is a programming language that hugs static typing a little too tightly.
04:07:36 <ihope> (Hugging something a little too tightly can mean anything!)
04:08:25 <oklopol> you see in oklotalk every function call will end up being just message passing... everything is a function, and a function will always return <none> by default
04:08:35 <immibis> oklopol: what if it isn't a legal sudoku puzzle?
04:09:05 <ihope> I guess I haven't seen enough of the semantics to know anything.
04:09:06 <immibis> oklopol: is <none> a legal sudoku puzzle?
04:09:25 <oklopol> immibis: that depends on the solving function
04:09:44 <GreaseMonkey> immibis: yes, it's freestyle sudoku
04:09:47 <oklopol> it can check whether it is and throw an exception
04:09:51 <oklopol> heh
04:09:58 <oklopol> 0x0 sudoku
04:10:09 <GreaseMonkey> i just won
04:10:13 <GreaseMonkey> 1x1?
04:10:15 <ihope> 0x0 sudoku!
04:10:39 <GreaseMonkey> well, i was still thinking 9x9
04:10:41 <immibis> solution:
04:10:46 <oklopol> ihope: i'll make a somewhat working interpreter today, after that i might be able to explain it in a spec
04:10:53 <ihope> 2x3 sudoku.
04:10:55 <GreaseMonkey> solution to 1x1: [1]
04:11:04 <immibis> solution to 1x1: 1 ---or--- 2 ---or--- 3 ---or--- 4 ---or--- 5 ---or--- 6 ---or--- 7 ---or--- 8 ---or--- 9
04:11:09 <oklopol> right now i'm pretty sure i _know_ how everything works, but can't explain thoroughly
04:11:12 <GreaseMonkey> no
04:11:30 <GreaseMonkey> 2x2 takes 1 to 2, 3x3 takes 1 to 3, 1x1 takes just 1
04:11:36 <GreaseMonkey> so the solution is 1
04:11:37 <immibis> ok
04:11:39 <immibis> hehe
04:11:40 <immibis> ook
04:11:40 <oklopol> solution to 0x0 sudoku: nil
04:11:53 <immibis> solution to 0x0 sudoku: java.lang.NullPointerException
04:12:05 <immibis> solution to 0x0 sudoku: java.lang.NullPointerException: solution variable is null
04:12:11 <oklopol> there's no 3x3, GreaseMonkey
04:12:18 <ihope> 3x3 = 9x9.
04:12:25 <oklopol> 0x0, 1x1, 4x4, 9x9, 16x16
04:12:29 <oklopol> oh
04:12:32 <GreaseMonkey> there is a 6x6
04:12:32 <ihope> By some... things.
04:12:36 <oklopol> then that's 1..9
04:12:41 <ihope> 3x3 = 9x9, 6x6 = 36x36...
04:12:43 <oklopol> he was wrong nevertheless
04:12:45 <ihope> 2x3 = 6x6.
04:13:00 <ihope> It all depends on whether you mean block dimensions or puzzle dimensions.
04:13:03 <immibis> is there a 3x3x3?
04:13:11 <oklopol> dunno
04:13:13 <GreaseMonkey> that would be cool
04:13:14 <immibis> is there a 3x3x3x3x3 5-dimensional sudoku puzzle?
04:13:18 <oklopol> someone should test
04:13:24 * ihope ponders
04:13:25 <GreaseMonkey> there's even a 5D rubiks cube
04:13:27 <oklopol> ihope: brute force in haskell
04:13:37 <ihope> There are two ways to do a 3x3x3, I believe.
04:13:39 <GreaseMonkey> 2x2x2 would be a start
04:13:45 <GreaseMonkey> sudoku cube is evil
04:13:54 <ihope> I like the plane/block way.
04:13:55 <oklopol> sudoku cube was what i was thinking
04:14:01 <oklopol> ihope: explain
04:14:08 <oklopol> aaaaaaaa
04:14:16 <oklopol> i like 3d.
04:14:28 <oklopol> oh
04:14:35 <oklopol> actually i didn't get the plane thing.l
04:15:02 <immibis> !regex notathing [tT][oO][bB][oO][gG][eE] [iI][sS] [nN][oO][tT] [aA] (.*) replace I am a $1
04:15:14 <immibis> !regex notathing2 [tT][oO][bB][oO][gG][eE] [iI][sS] [nN][oO][tT] [sS][oO][mM][eE] (.*) replace I am some $1
04:15:16 <ihope> Slice the cube into 9 planes 3 ways, then into 27 blocks.
04:15:19 <ihope> Wait a minute...
04:15:35 <ihope> Then each block has 27 cubes while each plane has 81.
04:15:38 <oklopol> err
04:15:53 <oklopol> whut
04:16:10 <ihope> Now, stop getting in the way of my sleep. :-P
04:16:14 <oklopol> ah
04:16:15 <ihope> I was sleepy about a half hour ago.
04:16:15 <oklopol> 81 yes
04:16:18 <immibis> oklopol: !regex is a toboge c
04:16:20 <oklopol> i failed
04:16:22 <immibis> oops
04:16:29 <immibis> never mind
04:16:39 <oklopol> actually
04:16:48 <oklopol> it's trivial to make a 3x3x3 sudoku
04:16:49 <ihope> Of course, we all know *general* sudoku problems are the way forward. >:-)
04:16:58 <oklopol> heh
04:17:16 <immibis> toboge is not a bot
04:17:17 <toBogE> toboge is a bot
04:17:18 <toBogE> I am a bot
04:17:31 <ihope> And by that, I mean exact cover problems.
04:17:35 <immibis> i am not a very fat bot
04:17:35 <toBogE> i am a very fat bot
04:17:48 <oklopol> ihope: ?
04:17:48 <immibis> ihope: general?
04:17:51 <ihope> I tied a not in my rope.
04:18:04 <immibis> toboge is not in limbo
04:18:04 <toBogE> I am in limbo
04:18:09 <immibis> whatever that means
04:18:31 <immibis> toboge is not a retarded serial-killer maniac
04:18:31 <toBogE> I am a retarded serial-killer maniac
04:18:40 <immibis> toboge is not some flowers
04:18:40 <oklopol> i though like solve [[a b c d][e f g h][i j k l][m n o p]]
04:18:46 <immibis> toboge is not some flowers
04:18:46 <toBogE> I am some flowers
04:18:51 <immibis> no you're not
04:19:05 <oklopol> toBogE is the best
04:19:11 <oklopol> toBogE is not the best
04:19:11 <toBogE> I am the best
04:19:16 <toBogE> toBogE is the best
04:19:17 <immibis> toboge is not the worst
04:19:17 <toBogE> I am the worst
04:19:18 <toBogE> toboge is the worst
04:19:31 <immibis> flowers are not green
04:19:31 <toBogE> flowers are green
04:20:37 <ihope> An exact cover problem is when you're given a set, such as {A, B, C, D, E, F, G}, and some of its subsets, {A, C, E}, {B, F, G}, {D, G}, and {B, F}, maybe, and you have to find a set of those subsets such that every element of the bigger set is contained in exactly one of those subsets.
04:20:38 <toBogE> An exact cover problem is when you're given a set, such as {A, B, C, D, E, F, G}, and some of its subsets, {A, C, E}, {B, F, G}, {D, G}, and {B, F}, maybe, and you have to find a set of those subsets such that every element of the bigger set is not contained in exactly one of those subsets.
04:21:04 <immibis> oops
04:21:05 <immibis> hmm
04:21:09 <ihope> In this case, one solution (and the only solution) is {A, C, E}, {D, G}, {B, F}.
04:21:19 <toBogE> In this case, one solution (and the only solution) is not {A, C, E}, {D, G}, {B, F}.
04:21:26 <immibis> how embarassing
04:21:32 <immibis> !raw PART #esoteric
04:21:37 <ihope> I think that how is a little.
04:21:43 -!- toBogE has left (?).
04:21:43 <oklopol> yeah, i checked myself :)
04:21:45 <ihope> Darn.
04:21:57 -!- toBogE has joined.
04:22:01 <ihope> Look it up on Wikipedia; that explains how to convert Sudoku to an exact cover problem.
04:22:12 <oklopol> i'll look up my brain
04:22:15 <oklopol> doesn't seem hard
04:22:35 <ihope> Essentially, with a sudoku problem, you have four constraints that all say "for each of these there's exactly one of these".
04:22:56 <immibis> flowers are purple
04:22:56 <toBogE> flowers are not purple
04:22:57 <oklopol> err what
04:22:57 <toBogE> flowers are never purple
04:23:06 <immibis> weird
04:23:09 <oklopol> damn i'm stupid
04:23:44 <ihope> Specifically: for each pair of row and column there's exactly one corresponding number. For each pair of section and number there's exactly one corresponding place within that section.
04:23:52 <ihope> So actually, two constrains.
04:24:12 <ihope> Where a section is a row, column or block.
04:24:39 <oklopol> ah yeah
04:24:45 <ihope> The set contains things such as "row 3 column 5 contains an 8".
04:24:52 <ihope> Er, no, it doesn't.
04:25:21 <ihope> It contains things such as "row 3 column 5" and "row 3 contains an 8". The subsets correspond to things such as "row 3 column 5 contains an 8".
04:26:07 <oklopol> i'm not following you
04:26:07 <toBogE> i'm following you
04:26:16 <oklopol> "row 3 contains an 8" is a tautology
04:26:21 <immibis> {me} are not idiots
04:26:21 <toBogE> {me} are idiots
04:26:22 <toBogE> {me} are not not idiots
04:26:23 <toBogE> {me} are never not idiots
04:26:29 <ihope> That subset contains the elements "row 3 column 5", "row 3 contains an 8", "column 5 contains an 8", and "block 2 contains an 8".
04:26:35 <immibis> oops
04:26:37 <immibis> bug in my regex
04:26:44 <immibis> !delregex not4
04:26:54 <oklopol> okay
04:27:00 <ihope> Well then, have it be something like "this subset gives row 3 an 8".
04:27:21 <ihope> Exactly one subset must give row 3 an 8, exactly one subset must put a value in row 3 column 5, etc.
04:27:34 <ihope> Exact cover problem.
04:28:09 <oklopol> i'm gonna have to think about this for a while :)
04:28:24 <ihope> I'll give you a much-simplified illustration.
04:29:00 <oklopol> okily
04:32:53 <ihope> http://pastebin.ca/594822
04:33:11 <ihope> Down the left are possibilities; across the top are constraints each possibility fills.
04:33:22 <ihope> Each constraint must be satisfied by exactly one possibility.
04:34:49 <oklopol> ah indeed
04:35:04 <ihope> Do you get it? Can I finally rest in peace?
04:35:14 <ihope> (I'm sleepy. :-P)
04:35:22 <oklopol> i always fail to understand representing something in math does not have to be easy to solve by programming
04:35:22 <toBogE> i always fail to understand representing something in math does have to be easy to solve by programming
04:35:34 <oklopol> i mean, that is a fucking huge array
04:35:48 <oklopol> ihope: thanks, i learned something today
04:35:55 <ihope> It's either 8x12 or 12x8, depending on how you want to look at it.
04:36:06 <ihope> Though for Sudoku, it's more like 300x700.
04:36:34 <oklopol> hmm
04:36:40 <ihope> Oi! Algorithm X is essentially brute force with sanity!
04:37:12 <oklopol> most general ones are
04:37:19 <ihope> (That is, it doesn't try possibilities that are obviously impossible. "Hmm, can that cell next to that 3 also be a 3?")
04:37:26 <ihope> Well, time to sleep.
04:37:38 <oklopol> bye
04:38:55 <oklopol> (9*3*9)x(9*9*9) i'd say
04:39:13 <oklopol> nonono
04:39:23 <oklopol> (9*3)x(9*9*9)
04:39:44 <oklopol> (number in set)x(number at (x, y))
04:40:36 <oklopol> where "number in set" are the constraints, "number at (x, y)" the pussybilities
04:41:41 <oklopol> i wonder how i didn't see that
04:41:51 <oklopol> how that works
04:55:35 -!- ihope has quit (Read error: 110 (Connection timed out)).
05:01:46 -!- RodgerTheGreat has quit.
05:05:42 -!- toBogE has quit (Read error: 104 (Connection reset by peer)).
05:15:01 -!- toBogE has joined.
05:15:16 <immibis> !raw JOIN #toboge
05:16:53 <immibis> !regex computer (.*)computer(.*)computer(.*)computer(.*) replace $1pizza delivery truck$2river Nile$3robotic monkey land$4
06:02:33 <bsmntbombdood> "pussybilities"
06:04:18 <oklopol> whoops, what an embarrassing typo
06:05:03 <GreaseMonkey> ~exec self.raw("PRIVMSG #esoteric :pussybilities lol")
06:05:04 <bsmnt_bot> pussybilities lol
06:06:17 <immibis> a computer and a computer and a computer and some more
06:06:17 <toBogE> a pizza delivery truck and a river Nile and a robotic monkey land and some more
06:07:21 <oklopol> computer
06:08:09 <immibis> computer computer computer
06:08:09 <toBogE> pizza delivery truck river Nile robotic monkey land
06:09:27 <immibis> !regex computer1 (.*)c(.*)c(.*)c(.*)c(.*)c(.*)c(.*) replace $1 random $2 purple $3 green $4 robot $5 homer simpson $6 bus driver $7
06:09:42 <immibis> 1c2c3c4c5c6c7
06:09:42 <toBogE> 1 random 2 purple 3 green 4 robot 5 homer simpson 6 bus driver 7
06:10:36 <immibis> misspeeling mistacks, mylorcd computer crashes
06:10:44 <immibis> misspeeling mistacks, mylorcd crazycomputercrashes.com
06:10:44 <toBogE> misspeeling mista random ks, mylor purple d green razy robot omputer homer simpson rashes. bus driver om
06:11:02 <immibis> ok thats just weird
06:11:05 <immibis> and plain stupid
06:11:41 <immibis> !regex agree .*e.*h.*y.* replace I agree.
06:11:48 <immibis> yes, hello you
06:11:48 <toBogE> I agree.
06:11:54 <immibis> yes, hello
06:12:17 <immibis> communists rule. hitler's you.
06:12:18 <toBogE> I agree.
06:12:58 -!- immibis has left (?).
06:20:50 -!- oklopol has quit (heinlein.freenode.net irc.freenode.net).
06:20:50 -!- bsmntbombdood has quit (heinlein.freenode.net irc.freenode.net).
06:22:35 -!- bsmntbombdood has joined.
06:28:25 -!- immibis has joined.
06:28:35 <immibis> spam
06:28:38 <immibis> no don't spam
06:28:55 <immibis> nobody is allowed to spam, especially not me
06:28:55 <toBogE> nobody is allowed to spam, especially never not me
06:28:56 <toBogE> nobody is allowed to spam, especially not not me
06:28:57 <toBogE> nobody is allowed to spam, especially of course not me
06:29:02 <immibis> including you
06:30:58 <immibis> !jsp #uncyclopedia what happened?
06:30:58 <toBogE> Caught a java.lang.ClassNotFoundException! toboge.Execer_jsp
06:31:12 <immibis> !jsp #uncyclopedia what happened?
06:31:13 <toBogE> Caught a java.lang.ClassNotFoundException! toboge.Execer_jsp
06:31:18 <immibis> oops
06:31:20 <immibis> wrong channel
06:32:52 -!- bsmntbot has joined.
06:33:24 -!- oklopol has joined.
06:33:59 <immibis> !r nick PileDriver
06:33:59 -!- bsmntbot has changed nick to PileDriver.
06:33:59 <toBogE> Caught a java.lang.ClassNotFoundException! toboge.Execer_r
06:34:03 -!- oklopol_ has joined.
06:34:08 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
06:34:15 <oklopol_> omg 8|
06:34:19 -!- oklopol_ has changed nick to oklopol.
06:34:25 <immibis> !raw privmsg #esoteric I am a bot. Sometimes.
06:34:25 <toBogE> I
06:34:26 <oklopol> did you see me? i died :<
06:34:33 <oklopol> :
06:34:43 <oklopol> !raw privmsg #esoteric :I am a bot. Sometimes.
06:34:44 <toBogE> I am a bot. Sometimes.
06:35:01 <immibis> i keep forgetting that :
06:35:06 <immibis> ::)
06:35:08 <immibis> :::::::)
06:35:16 <immibis> :::::)::::
06:35:56 <PileDriver> #toboge: <toBogE> Caught a java.lang.ClassNotFoundException! toboge.Execer_m
06:36:34 <PileDriver> #toboge: <immibis> YADA YADA YADA
06:37:02 <PileDriver> #toboge: <immibis> !raw PRIVMSG #toboge :#toboge: <immibis> I am a retard.
06:37:03 <PileDriver> #toboge: <toBogE> #toboge: <immibis> I am a retard.
06:37:15 <immibis> !p #esoteric
06:37:15 -!- PileDriver has left (?).
06:37:15 <toBogE> Caught a java.lang.ClassNotFoundException! toboge.Execer_p
06:39:19 <oklopol> immibis: you shouldn't use java
06:39:23 <oklopol> i hear it sucks
06:39:31 <bsmntbombdood> yes yes
06:40:29 <oklopol> very sucks
06:43:44 <immibis> toboge uses "execers" - classes which contain code to execute commands. Java reflection (accessing classes at runtime without knowing what they are in advance) throws an exception if you try to access a class that doesn't exist. all commands try to load an execer which may or may not exist. if it doesn't exist an exception is thrown by java reflection.
06:43:44 <toBogE> toboge uses "execers" - classes which contain code to execute commands. Java reflection (accessing classes at runtime without knowing what they are in advance) throws an exception if you try to access a class that doesn't exist. all commands try to load an execer which may or may never not exist. if it doesn't exist an exception is thrown by java reflection.
06:43:47 <toBogE> toboge uses "execers" - classes which contain code to execute commands. Java reflection (accessing classes at runtime without knowing what they are in advance) throws an exception if you try to access a class that doesn't exist. all commands try to load an execer which may or may not not exist. if it doesn't exist an exception is thrown by java reflection.
06:43:47 <toBogE> toboge uses "execers" - classes which contain code to execute commands. Java reflection (accessing classes at runtime without knowing what they are in advance) throws an exception if you try to access a class that doesn't exist. all commands try to load an execer which may or may of course not exist. if it doesn't exist an exception is thrown by java reflection.
06:43:50 <toBogE> toboge uses "execers" - classes which contain code to execute commands. Java reflection (accessing classes at runtime without knowing what they are in advance) throws an exception if you try to access a random lass that doesn't exist. all purple ommands try to load an exe green er whi robot h may or may not exist. if it doesn't exist an ex homer simpson eption is thrown by java refle bus driver tion.
06:43:55 <immibis> what
06:43:55 <toBogE> I agree.
06:44:05 <immibis> !!!
06:44:05 <toBogE> Caught a java.lang.ClassNotFoundException! toboge.Execer_!!
06:44:15 <immibis> anything starting with ! is interpreted as a command
06:44:27 <immibis> !Something._I'm_a_retard
06:44:27 <toBogE> Caught a java.lang.ClassNotFoundException! toboge.Execer_Something._I'm_a_retard
06:44:37 <immibis> !!.Me.Sucks
06:44:37 <toBogE> Caught a java.lang.ClassNotFoundException! toboge.Execer_!.Me.Sucks
06:47:35 <immibis> cccccccc
06:47:35 <toBogE> cc random purple green robot homer simpson bus driver
06:47:47 <immibis> er, are you alright?
06:48:37 <oklopol> c
06:49:16 <oklopol> cvvvvvvvvvvvvvvcxxxxxxxxxxxxxxxxccvvvvvvvvvcvcxccccccccccccccc
06:49:16 <toBogE> cvvvvvvvvvvvvvvcxxxxxxxxxxxxxxxxccvvvvvvvvvcvcxccccccccc random purple green robot homer simpson bus driver
06:49:43 <immibis> <CTCP>ACTION breaks his computer by jamming a usb flash disk into it so hard that the connecter breaks off the motherboard and falls into the hard drive causing cinky red lines (is cinky a word) to go all over his screen and causing the speaker to scream and a spark goes across the gap caused by the missing connector and the spark destroys the half the motherboard which then explodes and destroys the other half includ
06:49:43 <toBogE> <CTCP>ACTION breaks his computer by jamming a usb flash disk into it so hard that the connecter breaks off the motherboard and falls into the hard drive causing cinky red lines (is cinky a word) to go all over his screen and causing the speaker to scream and a spark goes a random ross the gap purple aused by the missing green onne robot tor and the spark destroys the half the motherboard whi homer simpson h then explod
06:49:44 <toBogE> I agree.
06:49:51 <bsmntbombdood> STOP SPAMMING
06:51:47 <immibis> isn't writing in capitals a form of spamming?
06:51:47 <toBogE> I'm not spamming. isn't writing in capitals a form of spamming?
06:51:48 <toBogE> I'm not spamming. isn't writing in capitals a form of spamming?
06:51:49 <toBogE> I'm not spamming. isn't writing in capitals a form of spamming?
06:52:04 <immibis> toboge, you are spamming.
06:52:04 <toBogE> I'm not spamming. toboge, you are spamming.
06:52:05 <toBogE> I'm not spamming. toboge, you are spamming.
06:52:06 <toBogE> I'm not spamming. toboge, you are spamming.
06:52:19 -!- toBogE has quit (Read error: 104 (Connection reset by peer)).
06:53:10 -!- toBogE has joined.
06:57:06 <immibis> !raw JOIN #toboge
07:00:55 <oklopol> i don't like ubuntu
07:01:24 <immibis> who cares
07:02:45 <oklopol> you are mean :|
07:03:05 <immibis> well tell me one person that cares apart from you
07:04:02 <immibis> you said i am mean so prove it
07:04:02 <toBogE> you said i am NOT mean so prove it
07:04:19 <immibis> i am a bot
07:04:19 <toBogE> i am NOT a bot
07:04:26 <immibis> you are a bot
07:04:26 <toBogE> you are NOT a bot
07:04:28 <immibis> toboge is a bor
07:04:29 <toBogE> toboge is NOT a bor
07:04:30 <immibis> toboge is a bot
07:04:30 <toBogE> toboge is NOT a bot
07:04:33 <immibis> toboge is a wild boar
07:04:34 <toBogE> toboge is NOT a wild boar
07:05:03 <oklopol> toBogE does care
07:05:08 <oklopol> :<
07:05:32 <oklopol> toBogE is a bot of great caring about that
07:05:32 <toBogE> toBogE is NOT a bot of great caring about that
07:05:37 <oklopol> :<<
07:05:41 <oklopol> mean bot!
07:05:46 <immibis> !regex doesnot (.*) ([dD][oO][eE][sS]) (.*) replace $1 $2 NOT $3
07:05:53 <immibis> ok, now
07:05:57 <immibis> toBogE does care
07:05:57 <toBogE> toBogE does NOT care
07:06:01 <immibis> !raw NICK EgoBot
07:06:01 -!- toBogE has changed nick to EgoBot.
07:06:22 <immibis> !bf W!B.!r.!a.!i.!n.!f.!u.!c.!k.
07:06:22 <EgoBot> Brainfuck
07:07:57 <Sukoshi> STOP YOUR BLOODY SPAMMING FOR THE LOVE OF GOD
07:08:09 <Sukoshi> GET YOUR OWN GOD**** CHANNEL AND TEST YOUR IDIOTIC BOT THERE.
07:08:13 -!- immybo has joined.
07:08:16 <immybo> Hi.
07:08:41 <oklopol> i like spam
07:08:42 <oklopol> <3
07:08:47 <Sukoshi> Or, for the love of all those who want a decent conversation, please use your own local IRC server, immibis. You're annoying the **** out of most everyone.
07:08:47 <immibis> really?
07:08:58 <oklopol> i'm prolly the only one
07:09:00 <immibis> yes, i generally do without meaning to.
07:09:30 <Sukoshi> GregorR wrote EgoBot, and yet, he didn't spam the entire channel all the time testing it. Even in our breakage competitions, we didn't spam this much.
07:09:47 <Sukoshi> So please. Evacuate the bot.
07:09:53 <immibis> !raw QUIT
07:09:53 -!- EgoBot has quit.
07:09:55 <Sukoshi> Hello immybo.
07:09:58 <immybo> bye
07:10:02 -!- immybo has quit ("REALITY.SYS Corrupted: Re-boot universe? (Y/N/Q)").
07:10:03 -!- toBogE has joined.
07:10:07 -!- toBogE has quit (Read error: 104 (Connection reset by peer)).
07:10:12 <Sukoshi> Meh. Another bot?
07:10:13 -!- immibis has quit ("Depression is merely anger without enthusiasm").
07:10:22 <Sukoshi> Ye gods.
07:10:30 <Sukoshi> Does s/he have no sense of decency?
07:10:38 <oklopol> he left :<
07:10:47 <Sukoshi> He overreacted.
07:10:51 <oklopol> yeah
07:10:59 <Sukoshi> He's been spamming the channel for days on end. It's not like this was unwarranted or anything.
07:11:05 <oklopol> yeah :P
07:14:48 <oklopol> fuck... even if i'd get my programming going today, i have to go somewhere tomorrow
07:15:05 <Sukoshi> I've been reading Wolfram's ``A New Kind of Science''
07:15:08 <oklopol> when will the holiday start
07:15:09 <oklopol> eough
07:15:18 <oklopol> whuz that?
07:16:03 <Sukoshi> It's a book :P
07:16:38 <oklopol> like a story book?
07:16:40 <Sukoshi> The gist is that Wolfram argues that complicated mathematical equations to describe natural phenomena is a thing of the past, and in the future, everything will be modelled using cellular automata.
07:16:47 <oklopol> ah that
07:17:05 <Sukoshi> He basically develops cellular automata theory and its applications throughout the book.
07:17:10 <oklopol> cool
07:18:06 <Sukoshi> Unfortunately, so far, while there has been substance (and I do understand the prcatical examples come later, since I've already pre-scanned the book), most of it is full of fanboyism.
07:18:19 <Sukoshi> OMG Cell automata is #1 coolz ftw d00d !!!111!!!!
07:18:43 <Sukoshi> That, and I conclude that cellular automata's images are very ... uncomfortable looking.
07:18:46 <Sukoshi> Waaay too organic.
07:19:26 <Sukoshi> Like those close-ups of flower patterns or bug hives that make a person's skin crawl in their weird harmonic regularity.
07:19:55 <oklopol> that's uncomfortable?
07:20:47 <Sukoshi> Yeah, because it's so ... weird.
07:20:51 <Sukoshi> Gah, I can't explain it.
07:20:55 <Sukoshi> You have to see the images.
07:21:16 <Sukoshi> They're utterly unlike the figures of current science.
07:21:36 <oklopol> please draw and show :)
07:23:47 <Sukoshi> Go to your local library and grab the book.
07:23:56 <Sukoshi> I'm renting it from the community college's library.
07:24:02 <Sukoshi> (Alternatively, pirate it.)
07:24:08 <oklopol> every book there is in finnish.
07:24:14 <oklopol> and i can't find it on torrentz
07:24:41 <oklopol> found it
07:26:08 <oklopol> i didn't
07:27:13 <Sukoshi> Grab it on eDonkey networks.
07:27:17 <bsmntbombdood> oklopol: http://en.wikipedia.org/wiki/Image:CA_rule30s.png
07:27:24 <bsmntbombdood> http://en.wikipedia.org/wiki/Image:CA_rule110s.png
07:27:25 <Sukoshi> Alternatively, I can upload it for you.
07:27:42 <Sukoshi> Check code 912 too.
07:27:50 <Sukoshi> That one really freak me out.
07:28:16 <oklopol> i've seen tons of those :|
07:28:24 <oklopol> Sukoshi: you can upload the book?
07:28:57 <bsmntbombdood> code 912?
07:29:15 <Sukoshi> bsmnt_bot: Rule 912.
07:29:22 <Sukoshi> Of the tri-color ones.
07:30:16 <Sgeo> G'night all
07:30:16 <Sukoshi> oklopol: Sure thing.
07:30:33 <bsmntbombdood> wikipedia fails me, google fails me
07:30:43 <oklopol> well, that'd be nice
07:30:53 <oklopol> you reading it pdf
07:30:55 <oklopol> ?
07:30:59 <bsmntbombdood> hardcopy books++
07:31:04 <oklopol> heh
07:31:22 <Sukoshi> I'm reading it hardcopy, because I find hardcopy much more pleasurable.
07:31:36 <Sukoshi> But I have a PDF version in case I don't finish it in the time allotment.
07:31:40 <Sukoshi> (And it is indeed dense.)
07:31:46 <oklopol> oh, i see
07:33:41 <Sukoshi> Guh. The upload will take ages.
07:33:44 <Sukoshi> Pardon it.
07:40:31 <oklopol> no hurry, i'm not gonna read it today anyway
07:40:52 <Sukoshi> Sure.
07:47:23 <Sukoshi> Wow. He's representing Turing Machines as automata (not Cellular, though).
07:47:30 <Sukoshi> That's pretty crazy.
07:48:05 <bsmntbombdood> isn't one of them turing complete?
07:50:13 <bsmntbombdood> 110 maybe?
07:50:25 <lament> that's a cellular automaton.
07:51:38 -!- Sgeo has quit ("Ex-Chat").
07:51:53 <bsmntbombdood> yeah
07:54:43 <Sukoshi> Not turing complete. Turing Machine automaton.
07:55:13 <Sukoshi> Where he represents the head as an active cell, the tape as the cell behind the active cell, and the state of the machine the direction of the head.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:35:35 <Sukoshi> oklopol: http://www.anysize.org/~sukoshi/Stuff/The%20Mathematica%20Book%20-%20A%20New%20Kind%20of%20Science.pdf
08:36:38 <oklopol> oh thankz
08:36:50 <Sukoshi> I'll be removing the link in a few hours y'all, so download quickly.
08:36:56 <oklopol> 10 min left
08:37:03 <oklopol> why removing?
08:37:46 <oklopol> 10 mb downloaded
08:37:50 <oklopol> now eat ------>
08:39:07 <Sukoshi> Because I use that server very very often.
08:39:25 <Sukoshi> And I do very large daily amounts of transfer (of the order of 500 MB/day average).
08:42:49 <oklopol> oh
11:16:19 -!- clog has joined.
11:16:19 -!- clog has joined.
11:21:36 <GreaseMonkey> gonna sleep now, gnight
11:21:52 -!- GreaseMonkey has quit (Remote closed the connection).
13:03:52 -!- RedDak has joined.
13:26:51 -!- RedDak has quit (Remote closed the connection).
13:50:07 -!- RedDak has joined.
13:51:28 -!- Fantazy has joined.
13:51:31 <Fantazy> hello
13:55:41 -!- jix has joined.
14:20:03 -!- ihope__ has joined.
14:22:58 -!- Fantazy has quit ("Bye").
14:28:34 -!- RedDak has quit (Read error: 113 (No route to host)).
14:54:16 -!- RedDak has joined.
14:58:51 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
14:59:43 -!- RedDak has joined.
15:31:24 -!- RodgerTheGreat has joined.
15:31:45 <RodgerTheGreat> hey, guys
15:32:00 <RodgerTheGreat> ihope__: you there?
15:33:08 <RodgerTheGreat> I'm playing with /// again.
15:33:17 <ihope__> Ello.
15:33:21 <RodgerTheGreat> hey
15:33:34 <ihope__> Have you proven it Turing-complete yet?
15:33:37 <RodgerTheGreat> I think there is a slim possibility that it could be TC
15:33:45 <ihope__> :-)
15:33:47 <RodgerTheGreat> I'm still working on it, but I have an approach
15:34:18 <RodgerTheGreat> I'm designing a way to have an arbitrary number of XOR gates chained together arbitrarily
15:34:39 <ihope__> XOR gates, eh?
15:34:43 <RodgerTheGreat> I *THINK* that this could constitute a weak TC proof if I pull it off
15:35:21 <RodgerTheGreat> implementing logic gates seems to be the best approach, because there's no real way to have variables or memory in any conventional sense
15:35:49 <RodgerTheGreat> do you have any thoughts on the matter?
15:36:52 <ihope__> Well... not very many.
15:37:10 <ihope__> Implementing a quine would be a big step.
15:37:19 <oklopol> ihope__: the parser is not 220 lines, and i think i'll need some 100 more
15:37:22 <oklopol> *now
15:37:27 <oklopol> for oklotalk
15:37:56 <oklopol> because no one else was anal, i'll have to do it
15:38:05 <oklopol> "quine" is a quine in ///
15:38:28 <RodgerTheGreat> I think he means a nontrivial quine
15:38:34 <oklopol> i know
15:38:38 <oklopol> i'm an anal boy
15:38:44 <RodgerTheGreat> clearlu
15:38:48 <oklopol> yar
15:38:58 <RodgerTheGreat> /clearlu/clearly/
15:39:13 <oklopol> been listening to brainfuck all day
15:39:13 <oklopol> heh
15:39:17 <oklopol> non stop
15:39:27 <oklopol> feels weird to stop it
15:39:34 <RodgerTheGreat> but, would either of you say that an arbitrary arrangement of logic gates constitutes a TC system?
15:39:43 <oklopol> it doesn't
15:40:10 <RodgerTheGreat> in what way does it fail?
15:40:21 <oklopol> goedel it backwards: you can't make an infinite loop with it
15:40:29 <oklopol> trivial
15:40:36 <RodgerTheGreat> hm
15:41:10 <oklopol> it's a bounded storage machine
15:41:16 <oklopol> or whaddyacallit
15:41:23 <RodgerTheGreat> finite state machine?
15:41:46 <oklopol> yar
15:41:57 <oklopol> hmm... that's not a formal proof, let me think
15:42:25 <RodgerTheGreat> however, if you have a language that allows you to *build* finite state machines of arbitrary complexity, wouldn't that make the language itself TC?
15:42:35 <oklopol> hmm, for any set of gates there's a maximum number of steps it can do
15:42:41 <oklopol> there.
15:42:45 <RodgerTheGreat> correct
15:43:12 <oklopol> so it can't, for example, run it's own code a quadrillion times
15:43:30 <oklopol> which of course any turing machine could do
15:43:39 <RodgerTheGreat> hm
15:43:44 <oklopol> though it would be an infinite loop
15:43:59 <oklopol> quining is possible in a tc lang
15:44:29 <oklopol> you can always make a program that quines it's *functionality*
15:44:31 <oklopol> not necessarily the code of course
15:44:37 <RodgerTheGreat> hm
15:44:41 <RodgerTheGreat> interesting idea
15:44:47 <oklopol> running self?
15:45:09 -!- dak has joined.
15:45:09 <oklopol> selfial runnification
15:45:15 <ihope__> Yeah, there are functions that finite state machines simply can't implement.
15:45:29 <RodgerTheGreat> "recursive execution"? :)
15:45:34 -!- RedDak has quit (Read error: 113 (No route to host)).
15:45:43 <oklopol> RodgerTheGreat: there are many quining langs
15:45:49 <RodgerTheGreat> yeah, I understand what oklopol is saying
15:45:50 <oklopol> though i don't remember any names
15:46:09 <oklopol> you might wanna try them before /// :)
15:46:19 <oklopol> heh
15:46:31 <RodgerTheGreat> but /// is so... pretty.
15:46:42 <ihope__> Yes, I'll admit /// is pretty.
15:46:48 <oklopol> quining is one of the most esoteric programming things, string rewriting as well
15:46:53 <oklopol> // combines them
15:46:56 <oklopol> and is pretty
15:46:59 <RodgerTheGreat> yeah
15:47:00 <oklopol> *///
15:47:11 <ihope__> No, it's s////////
15:47:13 <ihope__> :-)
15:47:29 <oklopol> WHILE still having a popular aspect as well: /// is a s/// joke
15:47:31 <RodgerTheGreat> shouldn't there be some escape characters in there
15:47:35 <RodgerTheGreat> ?
15:47:39 <ihope__> Well, yes.
15:47:42 <oklopol> RodgerTheGreat: looks more boring then
15:47:44 <ihope__> s/\/\//\/\/\//
15:47:48 <oklopol> oh
15:47:54 <oklopol> actually pretty nice :)
15:47:55 <ihope__> Drop the s, and it becomes ///!
15:48:51 <oklopol> hmm... oerjan said it's hard to make quines in /// because you can't separate data & program to copy it
15:49:07 <RodgerTheGreat> so, my main projects in /// are a proof-of-concept infinite loop that prints something and a modular logic-gate chaining system
15:49:20 <oklopol> but you could have escapes before every byte of data and at the end kill those escapes
15:49:38 <oklopol> like data being "dd.dd.dd." where dots are the data
15:49:39 <RodgerTheGreat> those are my thoughts for doing a loop
15:49:43 <oklopol> hmm
15:49:54 <oklopol> it's just too hard to actually *code*
15:50:26 <ihope__> So just what does the quine theorem say? If S is Turing complete and there's an "S-complete" language O such that for every O program there's an S program that outputs it, then there is an S program that outputs its own source code translated into O?
15:50:41 <RodgerTheGreat> my main idea for a loop would look something like "body /A/B//B/escaped bodyA/A"
15:50:45 <ihope__> ("S-complete" meaning "able to output anything an S program can".)
15:50:53 <RodgerTheGreat> but it gets more ugly as you try to do things with it
15:51:08 <oklopol> you could make wireworld with expansion / wire cutters
15:51:09 <ihope__> Hmm...
15:51:25 <oklopol> these both would work when two electrons collide
15:52:02 <ihope__> The problem with that is that you need to replace the looper on the end as well.
15:52:07 <RodgerTheGreat> exactly
15:52:30 <RodgerTheGreat> the "escaped body" would need to contain the escaped body and so on into infinite recursion
15:52:45 * ihope__ ponders "looper, escaped looper, escaped body" to "body, looped, escaped looper, escaped body"
15:53:17 <RodgerTheGreat> if we solve the infinite loop problem, we solve the quine problem and vice versa
15:53:55 <RodgerTheGreat> and if we can build logic networks, we solve the "conditionals" problem and part of the "variables/storage" problem
15:54:00 <oklopol> ihope__: i don't know what the quining theorem says, but what you said sounds right imo
15:54:16 <RodgerTheGreat> if we can solve both of those problems, I think we could likely implement a UTM
15:54:26 <oklopol> i haven't seen the proof nor the theorem in english
16:02:24 <oklopol> hmm... prefix & infix -> prefix & info about which is harder to do than i thought
16:09:00 -!- dak has quit (Read error: 113 (No route to host)).
16:10:15 -!- jix has quit (Read error: 104 (Connection reset by peer)).
16:14:34 <ihope__> Mm, maybe it's more like "if S is Turing-complete and can output any S program, there is an S program that outputs itself", except that the antecedent needs some work.
16:15:18 <ihope__> Consider a programming language in which R followed by a BF program runs the BF program, disallowing output, and O followed by a string outputs that string.
16:16:38 <ihope__> Obviously Turing-complete and obviously capable of outputting any of its own programs, but obviously not capable of quinage.
16:19:13 -!- jix has joined.
16:20:23 <oklopol> r followed by a bf program?
16:20:27 <oklopol> R++.++[]?
16:20:43 <RodgerTheGreat> hm
16:22:51 <oklopol> i don't really understand what you're going for with that
16:23:01 <oklopol> <ihope__> Obviously Turing-complete and obviously capable of outputting any of its own programs
16:23:14 <oklopol> trivial to see it can NEVER output any of it's own programs
16:23:50 -!- Sgeo has joined.
16:23:59 <oklopol> on the other hand, "capable of outputting any of it's own programs" allows quining
16:24:04 <RodgerTheGreat> actually, yeah- it can't output the first O of any program
16:24:13 <ihope__> R++.++[]
16:24:15 <ihope__> OR++.++[]
16:24:16 <ihope__> OOR++.++[]
16:24:18 <ihope__> Etc.
16:24:29 <ihope__> Each outputs the one before it.
16:24:41 <oklopol> well
16:24:42 <RodgerTheGreat> hm. well, that's still not a quine
16:24:49 <oklopol> that's just an illusion
16:24:50 <RodgerTheGreat> *quines* aren't possible
16:24:57 <oklopol> the outputting has nothing to do with the language there
16:25:03 <RodgerTheGreat> ?
16:25:09 <oklopol> you can quine any program with that
16:25:13 <oklopol> you just cannot output it
16:25:16 <oklopol> ...
16:25:21 <oklopol> you cannot quine any program
16:25:27 <oklopol> just a program that's a quine in that
16:25:46 <oklopol> just like i can't quine "print 7" in python
16:26:43 <RodgerTheGreat> I guess my definition is flawed here- I think of a quine as a program that *outputs* its own source
16:27:41 <oklopol> RodgerTheGreat: yes, i'm not talking about that kind of quining, because not every language has output
16:28:05 <oklopol> however, any language can quine it's source in a form it can run itself.
16:28:32 <RodgerTheGreat> so, what you're talking about is *generating* the source (effectively storing it in memory somewhere)? In that case the BF mode of this theoretical language could quine
16:28:39 <oklopol> yes
16:28:43 <oklopol> exactly what i said
16:28:50 <oklopol> well
16:28:53 <oklopol> not exactly
16:28:56 <oklopol> you said it right
16:29:00 <RodgerTheGreat> ok
16:30:31 <oklopol> a lang where every program is a number
16:30:35 <oklopol> represented in base 10
16:30:49 <oklopol> the program outputs that number-1
16:30:50 <oklopol> heh
16:31:00 <oklopol> can output any program in itself
16:31:12 <oklopol> not tc though
16:31:34 <oklopol> but if the number is a factran program, it is tc
16:31:46 <oklopol> hmm
16:31:53 <oklopol> i wonder if that's the right lang name
16:32:01 <oklopol> fractran maybe
16:32:06 <oklopol> or something completely different
16:32:29 <oklopol> but base 8 and you can have any bf program in a number
16:32:44 <oklopol> this has the exact functionality of ihope' example
16:32:47 <oklopol> ihope__'s
16:33:28 -!- ihope__ has changed nick to ihope.
16:33:35 <oklopol> i was just saying that
16:33:36 <oklopol> :)
16:34:13 <ihope> Just saying what?
16:34:16 <oklopol> _
16:34:19 <oklopol> __
16:35:10 <ihope> If disconnecting and leaving a ghost and then reconnecting is considered running, then freenode has no quines.
16:35:21 <ihope> ihope -> ihope_ -> ihope__
16:35:34 <ihope> I don't know where it goes from there.
16:35:41 <oklopol> hmm
16:35:43 <oklopol> seems base 1
16:36:00 <oklopol> church underlines
16:36:04 <oklopol> underscores
16:36:09 <ihope> Calling it base 1 is like saying sqrt(-x) = -sqrt(x).
16:36:13 <ihope> :-)
16:36:18 <oklopol> oh
16:36:21 <oklopol> why is that?
16:37:35 <ihope> Well, it's not like each place is worth 1 and you're expressing numbers using only the digit 0.
16:38:21 <oklopol> "_" is 0?
16:43:42 <ihope> Did I say it was?
16:44:35 <oklopol> err yes
16:44:42 <oklopol> "you're expressing numbers using only the digit 0"
16:46:18 <ihope> That was part of the "it's not like".
16:46:46 <oklopol> heh, indeed
16:47:31 -!- sebbu has joined.
16:58:18 -!- oerjan has joined.
17:01:30 <lament> morning
17:05:53 <oerjan> evening
17:06:13 <oklopol> anything
17:09:26 -!- Sgeo has quit (anthony.freenode.net irc.freenode.net).
17:13:32 -!- RedDak has joined.
17:24:51 <lament> time of day :)
18:03:12 -!- lament has changed nick to kilbot.
18:03:46 -!- kilbot has changed nick to lament.
18:04:00 -!- Sgeo has joined.
18:13:35 -!- dak has joined.
18:14:20 -!- lament has changed nick to lament2.
18:14:21 -!- RedDak has quit (No route to host).
18:14:29 -!- lament2 has changed nick to lament.
18:17:10 -!- lament has changed nick to lament2.
18:58:52 -!- lament2 has changed nick to lament.
19:06:15 -!- kilbot has joined.
19:06:27 <lament> okay, let's play.
19:06:31 <lament> !start
19:06:31 <kilbot> Opening a new game. Say !join to join. Say !start again to start.
19:07:09 <lament> anybody alive? :)
19:07:41 <lament> blah
19:07:42 -!- kilbot has quit (Remote closed the connection).
19:11:55 <bsmntbombdood> 1101110100001101000011011101000011010000
19:12:06 <bsmntbombdood> oops, there should be a 1 at the beginning
19:14:15 <oklopol> i guess you're mum should be in the beginning
19:17:49 <RodgerTheGreat> lament: what's kilbot?
19:18:01 <lament> a bot for killing people
19:18:26 <oklopol> cool
19:18:30 <oklopol> you an irc op?
19:19:12 <RodgerTheGreat> some kind of video game, like the Hunt the Wumpus bot I had earlier?
19:22:16 <lament> join #kilbot
19:57:02 -!- oerjan has quit ("leaving").
20:02:56 -!- dak has quit (Remote closed the connection).
20:39:17 <ihope> bsmntbombdood: if you don't give bsmnt_bot a website or something so that I can find the source code when I need it, I'm going to give it one :-P
20:40:14 -!- SimonRC_ has changed nick to SimonRC.
21:03:30 <bsmntbombdood> ihope: i did
21:03:39 <ihope> Oh.
21:03:41 <bsmntbombdood> abacus.kwzs.be/~bsmnt_bot
21:03:45 <ihope> Right.
21:04:35 <ihope> If you don't put that site in my bookmark list, I'm going to put it there. :-P
21:05:03 <bsmntbombdood> what's the difference between a "probabilistic polynomial-time machine" and a "non-deterministic polynomial-time machine"?
21:06:07 <oklopol> first one has a distinct probability?
21:06:49 <oklopol> non deterministic being a more general case where it only matters it's not 100% sure it works
21:06:58 <oklopol> though i'm prolly talking bullshit here
21:10:26 <fizzie> NIST definition is again very helpful: "A nondeterministic TM is a probabilistic TM ignoring the probabilities."
21:11:27 <oklopol> i wasn't
21:11:27 <oklopol> cool
21:13:39 <fizzie> I guess the differences mostly are in the complexity classes. The problems solvable by a non-deterministic polynomial-time machine are obviously NP, and I could believe (but am certainly uncertain) that RP is the analogous class for probabilistic machines.
21:14:02 <bsmntbombdood> this book says BPP
21:14:11 <bsmntbombdood> but i still don't know what that means
21:14:25 <fizzie> Well, RP is there too.
21:14:26 -!- kwertii has joined.
21:14:52 <fizzie> RP has "polynomial time with no false acceptances and less than half false rejections".
21:15:27 -!- kwertii has quit (Client Quit).
21:15:29 <bsmntbombdood> then BPP is a subset of RP
21:15:54 -!- kwertii has joined.
21:17:05 <fizzie> I'd say the difference mostly is that with probabilistic TMs, you can talk about these kinds of complexity classes; with a non-deterministic machine you always "do the same thing" (halt accept if it is at all possible and so on) for one string.
21:17:57 -!- oerjan has joined.
21:34:54 * sebbu regarde les 4 fantastiques et le surfeur d'argent
21:35:15 <ihope> French, I'm guessing.
21:36:47 <oerjan> marvel comics, i'm concluding.
21:37:03 * bsmntbombdood regards the 4 fantastic surfers
21:37:21 <ihope> The Fantastic 4 and the Silver Surfer?
21:37:41 <ihope> Could one say that a non-deterministic machine always does the right thing for the purposes of speed but never does the right thing for the purposes of correctness?
21:37:43 <oerjan> so i believe
21:37:57 <oerjan> (that was to your previous question)
21:39:01 <oerjan> well, in the NP case the non-deterministic machine should never give a wrong yes answer
21:39:19 <bsmntbombdood> this book's definition of NP is also weird
21:40:24 <oerjan> and should always have some choice path to return a yes answer if that is correct
21:42:14 <bsmntbombdood> L \in NP if there exists a boolean relation R_L \subseteq {0, 1}* x {0, 1}* and a polynomial p(x) such that R_L can be recognized in (deterministic) polynomial time and the x \in L iff there exists a y such that |y| <= p(|x|) and (x, y) \in R_L
21:43:04 <oerjan> that's an equivalent definition
21:43:20 <bsmntbombdood> I don't understand it
21:43:25 <oerjan> consider the relation between input and choice paths
21:43:29 <ihope> It should never give a yes when it's no; it should sometimes give a yes when it's yes?
21:43:38 <oerjan> ihope: right
21:45:15 <oerjan> where the relation is that the machine accepts that input through that choice path
21:46:06 <oerjan> for the other direction, let the machine guess the bits of y
21:48:08 <oerjan> and simultaneously check that (x,y) fulfils the relation for the input x and the guessed y
22:16:20 <ihope> Hmm... it wouldn't be a good idea to just run bsmntbombdood as-is, would it?
22:16:41 <oerjan> ???
22:16:42 <ihope> (Ignoring the fact that it tries to use the nick bsmnt_bot.)
22:16:55 <ihope> People could ~exec and kill me, couldn't they?
22:17:11 <oerjan> this was just a trick to make me give away question marks, right?
22:17:23 <ihope> Um...
22:17:28 <oerjan> indeed they could
22:17:32 <ihope> :-P
22:17:45 <ihope> There's a way to prevent that, I take it.
22:17:55 <oerjan> bsmntbombdood uses chroot
22:18:08 <oerjan> but if you are on windows i don't know
22:18:15 <ihope> I have Cygwin.
22:19:40 <oerjan> somehow i doubt cygwin adds actual security. but i wouldn't know.
22:20:50 <oerjan> probably simplest to just restrict ~exec.
22:21:06 <oerjan> (and any similar ones, if there are any)
22:22:23 -!- jix has quit ("CommandQ").
22:23:53 <ihope> Cygwin has chroot...
22:36:44 -!- ihope has quit ("Reconnecting...").
22:36:54 -!- ihope__ has joined.
22:37:03 -!- ihope__ has changed nick to ihope.
22:39:36 <ihope> AttributeError: 'module' object has no attribute 'getuid'
22:39:47 <ihope> Should I comment out all that os.getuid stuff?
22:39:55 <ihope> (in bsmnt_bot)
22:42:20 <oerjan> hm...
22:43:42 <oerjan> i wonder if chroot will affect windows programs run inside it at all
22:44:20 <oerjan> the cygwin page does say programs need to be compiled from source with it.
22:44:35 <oerjan> perhaps even python?
22:46:32 <ihope> if self.verbose: sys.__stdout__.write(line + "\n")
22:46:36 <ihope> IOError: [Errno 9] Bad file descriptor
22:47:06 <ihope> What's up now?
22:47:16 <oerjan> no idea.
22:47:40 * ihope turns verbose off
22:47:51 <oerjan> btw bsmntbombdood used a slightly old version of python, i think.
22:48:30 <lament> ihope: use sys.stdout.write
22:48:49 <oerjan> lament: no.
22:48:57 <oerjan> this is bsmnt_bot, remember?
22:49:04 <lament> so?
22:49:14 <lament> ihope: use sys.stdout.write
22:49:27 <ihope> Well, turning verbose off seems to have done it.
22:49:31 <oerjan> sys.stdout has been reassigned to an IRCwrapper object.
22:49:33 <lament> ihope: yes, of course.
22:49:36 <lament> oerjan: no it hasn't.
22:49:42 <lament> oerjan: oh, i get it.
22:49:48 <lament> ihope: you can just delete that line.
22:49:59 <oerjan> sys.__stdout__ otoh probably refers to the real thing.
22:50:06 <lament> oerjan: used to, apparentnly.
22:50:15 <lament> relying on undocumented features is so... microsoft :)
22:50:29 <lament> and reassigning sys.stdout is just _wrong_
22:53:43 <ihope> Oh, come on...
22:54:05 <ihope> x = self.socket.send(message)
22:54:07 <ihope> File "C:\Python24\lib\socket.py", line 144, in _dummy
22:54:08 <ihope> raise error(EBADF, 'Bad file descriptor')
22:54:10 <ihope> error: (9, 'Bad file descriptor')
22:55:17 <oerjan> you don't have sockets?
22:55:39 <ihope> I don'?
22:55:43 <ihope> ...don't?
22:56:11 <oerjan> i don't know, it just looked like it
22:56:30 * ihope summons bsmntbombdood
22:58:46 <bsmntbombdood> what
22:58:59 <ihope> Any idea why I'm getting that error?
22:59:02 <oerjan> your bot is ugly!
22:59:06 <oerjan> and it smells!
22:59:38 <ihope> And it sounds like fingernails against a chalkboard and tastes funny.
23:00:05 <oerjan> but we still love it.
23:00:13 <ihope> Yup.
23:00:19 <oerjan> so we would like to clone it.
23:00:33 * bsmntbombdood reads
23:01:05 <ihope> Maybe you'd want the rest of the error message.
23:01:26 <ihope> File "<pyshell#1>", line 1, in ?
23:01:28 <ihope> bot.raw("PRIVMSG #kolbot :Ee!")
23:01:29 <ihope> File "C:\Documents and Settings\*bleh*\Desktop\ircbot.py", line 91, in raw
23:01:31 <ihope> x = self.socket.send(message)
23:01:32 <ihope> File "C:\Python24\lib\socket.py", line 144, in _dummy
23:01:34 <ihope> raise error(EBADF, 'Bad file descriptor')
23:01:36 <ihope> error: (9, 'Bad file descriptor')
23:01:37 <ihope> Maybe I should have pasted that.
23:01:39 <ihope> Pastebinned it.
23:01:49 <ihope> Eh well.
23:01:53 <bsmntbombdood> and commenting out the os.setuid/getuid stuff = bot has root = you are pwnt
23:02:08 <ihope> Even if I comment out some of the callbacks?
23:02:15 <ihope> (This is Windows, by the way.)
23:02:28 <bsmntbombdood> terribly dangerous to have it running as root
23:03:12 <ihope> Well, I couldn't figure out the chroot stuff and I got errors with the uid things.
23:03:56 <ihope> (All of them that require ownerness except ps.)
23:03:58 <bsmntbombdood> you have connected the bot, right?
23:04:02 <ihope> Yup.
23:04:27 <ihope> Mm, I just realized it won't listen to me.
23:04:34 <ihope> ...if I'm not identified.
23:05:45 <bsmntbombdood> there was a bug in the raw function, not sure if it was causing your proble
23:05:47 <bsmntbombdood> m
23:07:30 <ihope> It may be.
23:07:32 <bsmntbombdood> probably wasn't
23:07:35 <ihope> What is the bug?
23:08:30 <bsmntbombdood> should have been "x = self.socket.send(message)" on line 94
23:09:19 <ihope> Indeed, the error is on line 91.
23:10:04 <bsmntbombdood> raw is called in connect
23:10:12 <ihope> It is?
23:10:48 <ihope> Indeed!
23:10:48 <bsmntbombdood> of course
23:11:20 <ihope> And that seems to have worked just fine.
23:11:52 <bsmntbombdood> has it joined its channels?
23:12:05 <ihope> Yes, it has.
23:12:23 <ihope> bot.disconnect fails.
23:13:05 <bsmntbombdood> s/socket.send/sockfile.write/g in raw
23:14:54 <ihope> self.sockfile.write?
23:14:59 <ihope> Or just sockfile.write?
23:15:42 <bsmntbombdood> what?
23:16:01 <ihope> "x = self.sockfile.write(message)" and such?
23:16:28 <bsmntbombdood> yeah
23:17:11 <ihope> AttributeError: IRCbot instance has no attribute 'sockfile'
23:17:51 <ihope> self.sockfile seems to be defined in connect() after some self.raw is called.
23:18:06 <bsmntbombdood> oh, and move self.sockfile = self.socket.makefile("rw") to the top of connect
23:18:37 <ihope> Between self.socket.connect and self.raw?
23:19:01 <bsmntbombdood> yes
23:19:15 <ihope> Hmm, this is interesting.
23:19:30 <ihope> Now this: error: (10053, 'Software caused connection abort')
23:20:07 <bsmntbombdood> on what line?
23:20:21 <ihope> File "C:\Python24\lib\socket.py", line 243, in flush
23:20:23 <ihope> self._sock.sendall(buffer)
23:20:57 <ihope> Might it have something to do with the self.raw("CAPAB :IDENTIFY-MSG") I added?
23:21:12 <bsmntbombdood> the line in my code
23:21:31 <ihope> ...um, just a minute.
23:23:48 <bsmntbombdood> and no, that couldn't be it
23:27:27 <ihope> Cool. Python's frozen.
23:29:37 <ihope> It should really at least say what's wrong.
23:29:57 <ihope> (Isn't it wonderful how Windows takes a while to kill a process?)
23:31:03 <oklopol> windows does not kill
23:31:09 <oklopol> it kindly asks processes to die
23:31:29 <ihope> And they die even if they're not responding?
23:31:53 <oklopol> that's the problem
23:31:58 <bsmntbombdood> signal 9, bitches
23:32:04 <oklopol> they are not listening
23:32:09 <oklopol> so they won't die
23:32:12 <ihope> But they do die.
23:32:16 <oklopol> well
23:32:21 <oklopol> it eventually kills them
23:32:25 * ihope nods
23:32:35 <oklopol> it just doesn't like it, so it tries talking first
23:32:48 <ihope> Is this the same ask-to-die that happens when you click that nice little "X"?
23:33:34 <oklopol> i'm mostly being poetical, but yes, x asks nicely, easy to circumsomething
23:33:37 <oklopol> vent
23:36:08 <bsmntbombdood> bsmntbombdood says "don't use windows"
23:39:04 <ihope> Tell me how to get my laptop's wireless network adapter working under Linux, then...
23:39:32 <bsmntbombdood> rtfm, that's how!
23:39:35 <bsmntbombdood> :P
23:43:23 <ihope> !
23:43:26 <ihope> Five network adapters?
23:43:38 * ihope dismisses three as being VM components
23:43:57 <ihope> Wait a minute, this laptop has an Ethernet port.
23:47:00 -!- sebbu has quit ("@+").
23:47:45 <ihope> Oh, also, I have only one partition here.
23:50:05 <ihope> I'll just set up my Linux desktop.
←2007-06-28 2007-06-29 2007-06-30→ ↑2007 ↑all