←2011-09-13 2011-09-14 2011-09-15→ ↑2011 ↑all
00:00:06 <elliott> Yes.
00:00:23 <CakeProphet> while you're at it
00:00:24 <monqy> those closest i got to Reading The Literature is learning about the old hat way of parsers and looking through the trifecta slides
00:00:27 <CakeProphet> since I'm bad at reading literature
00:00:31 <CakeProphet> you should compile a list of literature
00:00:33 <CakeProphet> for me to read
00:00:35 <elliott> monqy: I want something that can do left-recursion :'(
00:01:07 <CakeProphet> left-recursion is strange
00:01:21 <CakeProphet> ...and thus on topic(?)
00:01:28 <monqy> what's so strange about it
00:01:30 <itidus20> i based it on this: http://oi51.tinypic.com/drc86g.jpg
00:01:39 <CakeProphet> it recurses leftwards...
00:01:41 <CakeProphet> I dunno
00:01:47 <itidus20> i don't actually know BNF particularly well
00:01:48 <CakeProphet> that is not a good explanation.
00:01:54 <monqy> wtf is <constant>
00:02:00 <itidus20> i left that out
00:02:04 <itidus20> forget about it
00:02:07 <elliott> there's no such thing as predefined objects
00:02:10 <elliott> read a different book
00:02:16 <elliott> CakeProphet: it is the cleanest way to express infix
00:02:25 <elliott> exp := number | exp '+' exp | exp '-' exp | ...
00:02:35 <elliott> although that misses precedence :P
00:02:47 <CakeProphet> though precedence can also be done with only left recursion
00:02:48 <monqy> CakeProphet: have you ever tried doing infix without recursion in one of the ways? it gets messy
00:02:53 <CakeProphet> instead of uh... left-right-recursion? I guess?
00:03:16 <CakeProphet> monqy: no I have not. But I have tried it with right recursion and it works quite well.
00:03:20 <itidus20> elliott: succ is a predefined constant
00:03:26 <itidus20> or Succ, is it
00:03:32 <CakeProphet> >_>
00:03:32 <itidus20> :>
00:03:35 <CakeProphet> no.
00:03:36 <monqy> CakeProphet: if by works quite well you mean is hideous, you may be correct
00:03:59 <CakeProphet> you and your aesthetics.
00:04:21 <itidus20> by constants, which is a fairly bad choice of words
00:04:41 <itidus20> i think he mainly means libraries of LC's
00:04:41 <monqy> itidus20: succ is not a predefined constant
00:04:46 <itidus20> what is it?
00:04:47 <monqy> itidus20: what libraries
00:04:52 <itidus20> what is succ?
00:04:59 <monqy> it depends on your encoding of numbers
00:05:11 <itidus20> hummm
00:05:16 <itidus20> ok >.<
00:05:51 <itidus20> succ has to be defined before usage anyway
00:06:08 <monqy> what do you mean "defined"
00:06:17 <CakeProphet> heh, "pre-defined" as in defined before?
00:07:03 <itidus20> maybe he should have called them predefined expressions
00:07:15 <monqy> maybe your book sucks and you shouldn't be reading it
00:07:15 <monqy> ok
00:07:38 <CakeProphet> predefined to me implies that it was defined outside of the language itself
00:07:39 <itidus20> the term constant seems a bit of a mes
00:07:42 <CakeProphet> which is not the case for succ
00:07:46 <monqy> constant isn't a thing
00:07:53 <itidus20> yeah
00:07:54 <CakeProphet> there are no "constants" in LC
00:08:13 <itidus20> CakeProphet: but what mechanism of the language can you use to define things?
00:08:14 <CakeProphet> ....except maybe uh, lambda?
00:08:21 <CakeProphet> lambda
00:08:25 <monqy> itidus20: there isn't one!!!
00:08:36 <itidus20> so then is succ defined outside of the language itself?
00:08:38 <CakeProphet> >_> lambda?
00:08:40 <monqy> itidus20: you define them in your head or on pencil and paper or with some sort of preprocessor
00:08:42 <CakeProphet> > cycle "lambda "
00:08:43 <lambdabot> "lambda lambda lambda lambda lambda lambda lambda lambda lambda lambda lamb...
00:08:49 <monqy> itidus20: and then inline the definitions
00:08:56 <elliott> itidus20: ((\succ. ...code using succ...) (...definition of succ...))
00:08:59 <elliott> that's the only way to name anything.
00:09:04 <monqy> or you can do that
00:09:05 <itidus20> monqy: yeah.. well notice i left constants out of my bnf :D
00:09:17 <itidus20> i just conveniently ignored that line
00:09:50 <elliott> CakeProphet: WHAT'S THE NEW THING IN PARSING monqy HELP
00:10:03 <itidus20> but i want to show that i didnt think it all up on my own... not that advanced yet
00:10:09 <CakeProphet> dude I don't know any more than you about parsing
00:10:13 <CakeProphet> why would you think such things.
00:10:20 <monqy> i don't knwlo; =______-; the parsec slides seemed intregueing but i forgot what they said
00:10:25 <monqy> not parsec
00:10:26 <monqy> trifecta
00:10:31 <monqy> trifecta slides
00:10:35 <CakeProphet> itidus20: http://en.wikipedia.org/wiki/Church_encoding
00:10:37 <monqy> I dunno if there's anything more than slides
00:10:38 <CakeProphet> read this.
00:10:39 <monqy> for trifecta
00:10:50 <elliott> CakeProphet: how will that help
00:11:14 <CakeProphet> elliott: it would show him ways to define data in lambda calculus?
00:11:19 <itidus20> All Church numerals are functions that take two parameters. Here f is the successor function and x represents 0. -- makes sense
00:11:52 <itidus20> a whole number then is a function of zero and a successor function. that isn't bad. :)
00:12:07 <CakeProphet> natural number specifically.
00:12:51 <monqy> all i remember about the trifecta slides is it did things to solve problems (and i remember vaguely some of these ways) and also mentioned other methods of parsing
00:12:56 <itidus20> so when it says λf.λx.x is zero.. it means it has no successor ?
00:13:08 <itidus20> oops sorry i take that back
00:13:10 <CakeProphet> zero is just a special case basically.
00:13:15 <itidus20> it means it is not a successor of anything
00:13:20 <CakeProphet> yeah.
00:14:30 <itidus20> to actually use church numerals do you have to apply zero to something?
00:14:36 <CakeProphet> no.
00:14:45 <CakeProphet> but you don't "actually use" lambda calculus.
00:14:54 <CakeProphet> if I understand what you mean.
00:15:21 <itidus20> there is such a thing as impure/applied lambda calculus though as i understand it
00:15:27 <elliott> no.
00:15:29 <elliott> your source was bullshit.
00:15:34 <elliott> CakeProphet: well he only wants to learn LC to "apply it to his gamedev". so of course he isn't going to be able to understand LC as the pure system it is.
00:15:55 <itidus20> are there any other pure systems?
00:15:56 <CakeProphet> itidus20: even if you did apply something to a function, you would be applying a function and returning a function
00:16:00 <CakeProphet> there is nothing else to apply or return.
00:16:03 <itidus20> is LC an instance of a pure system?
00:16:06 <elliott> oh my god
00:16:12 <elliott> note to self never say anything iti will overanalyse it
00:16:50 <itidus20> everything can be abstracted :D
00:16:55 <elliott> sigh
00:16:57 <monqy> :D
00:16:58 <itidus20> even LC
00:17:09 <CakeProphet> LC is a pure system, sure.
00:17:17 <itidus20> it is an instance of a pure system
00:17:18 <elliott> you do _not_ have enough knowledge to think about things like LC on a metalevel before you even understand the base level of plainly understanding it
00:17:25 <monqy> lc is a thing. an instance of a thing. thing.
00:17:27 <elliott> if you keep doing things like that you will _never_ learn it.
00:18:17 <itidus20> its a form of trolling of mine. but thats enough of it i dont want to stir trouble
00:18:33 <elliott> saying dumb things isn't trolling.
00:18:37 <elliott> it's just dumb.
00:18:50 <itidus20> i play with abstraction a lot
00:18:57 <CakeProphet> ....lol
00:19:17 <monqy> itidus20: and for what and in what ways do you want to use the lambda calculus? surely you have some applications in mind with such grave misconception of it
00:19:22 <itidus20> i have considered that sitting down is an instance of human actions
00:19:30 <monqy> itidus20: if i tell you you're wrong, will you stop being wrong?
00:19:53 <CakeProphet> itidus20 is master of the abstract.
00:19:59 <CakeProphet> do not trifle him.
00:20:08 <itidus20> no im not .. i just need to stop
00:20:14 <itidus20> and figure out why im being a pain
00:20:32 <itidus20> and hence stop being a pain
00:20:38 <CakeProphet> just learn the basics before you go off on misguided tangents.
00:20:47 <CakeProphet> that's pretty much all that you're doing wrong.
00:20:59 <itidus20> i got my first irc ban last night... it was kind of uncomfortable
00:21:08 <monqy> I must have missed it
00:21:13 <CakeProphet> being banned is pretty easy.
00:21:14 <elliott> where
00:21:16 <itidus20> not in this channel, or even this server
00:21:20 <elliott> where was it :P
00:21:20 <CakeProphet> 1. join #python 2. msg "lol
00:21:25 <itidus20> efnet #xna
00:21:36 <CakeProphet> "
00:21:44 <elliott> why'd you get banned
00:21:58 <itidus20> well this guy had been warning me for a while.. i think he just had enough
00:21:59 <CakeProphet> xna... fun stuff.
00:22:07 <elliott> that's not an answer :P
00:22:11 <elliott> but sure
00:22:11 <monqy> warning you? for generally acting like yourself?
00:22:14 <itidus20> partially i don't even use xna.. i just rant as if i was in here
00:22:24 <CakeProphet> oh okay.
00:22:34 <CakeProphet> yeah that makes sense.
00:22:37 <elliott> why are you in #xna if you don't use xna
00:22:37 <itidus20> he said the other day allowances can be made for people who at least sometimes talk about xna or use it
00:22:40 <elliott> ?
00:22:43 <itidus20> good point
00:22:54 <itidus20> i considered using it once upon a time years ago
00:23:16 <itidus20> not merely gamedev
00:23:17 <elliott> so how many channels do you rant in :P
00:23:39 <itidus20> i am thinking about bringing a new artform out of gaming
00:23:44 <monqy> oh?
00:23:55 <elliott> just curious
00:24:14 <itidus20> elliott: im currently in 9
00:24:20 <CakeProphet> itidus20: again, you should probably learn the basics of game design before you go making an artform out of it.
00:24:37 <elliott> itidus20: do you rant in all of them
00:24:39 <monqy> what are the basics of game design
00:24:43 <elliott> i just assumed we were special.
00:24:57 <itidus20> you are special
00:25:02 <elliott> howso
00:25:08 <CakeProphet> monqy: I don't think there's really a formal theory to it... it's just like... experience.
00:25:25 <itidus20> this is the only channel like it
00:25:40 <elliott> but you give those other channels your special rants :'(
00:25:59 <CakeProphet> the formal aspect would be the same as in the rest of CS. So game design is essentially just a specific subset of learning how to design programs.
00:26:10 <monqy> game design has nothing to do with cs
00:26:15 <itidus20> well in #xna.. i keep reacting to offtopic topics
00:26:23 <CakeProphet> monqy: fine. applied CS.
00:26:26 <itidus20> overreacting.
00:26:27 <elliott> monqy: it should
00:26:30 <monqy> CakeProphet: i said nothing to do
00:26:31 <elliott> game developers are just bad programmers
00:26:34 <itidus20> basically rants about patents
00:26:45 <monqy> elliott: the point was the separation between design and programming
00:26:45 <elliott> (usually)
00:27:01 <elliott> monqy: well all SE is applied CS.
00:27:05 <CakeProphet> CS isn't concerned with design?
00:27:13 <CakeProphet> in any way
00:27:16 <CakeProphet> there is no branch of it?
00:27:17 <CakeProphet> that cares?
00:27:24 <itidus20> i dont rant that much honestly
00:27:26 <monqy> game design would also apply to non-electronic games, and the such
00:27:33 <CakeProphet> ah, that's true.
00:27:42 <CakeProphet> fun design. :P
00:27:44 <CakeProphet> how to make fun.
00:27:46 <itidus20> some conclusions i have reached is that the word game does not imply entertainment
00:28:04 <itidus20> sorry cake.. didn't mean to be the fly in your soup
00:28:11 <elliott> the cake says it's ok.
00:28:12 <CakeProphet> wat.
00:28:19 <monqy> cake soup.
00:28:33 <Sgeo> My professor is assuming that my classmate's problem is due to a .txt extension, despite his saying (and being right) that it isn't
00:28:35 <itidus20> i am using lazy evaluation style of thinking
00:28:43 <CakeProphet> ..
00:28:45 <CakeProphet> ...
00:28:46 <elliott> do you mean you're just being lazy
00:28:52 <CakeProphet> itidus20: you say these wrong things
00:28:55 <CakeProphet> and it just makes me cringe.
00:29:11 <itidus20> i only JUST NOW concluded that the word game does not imply entertainment
00:29:21 <itidus20> but i had gathered the necessary proofs over the last month or so
00:29:22 <CakeProphet> you're like me from years ago on this channel. stop that.
00:29:27 <monqy> itidus20: do you know what lazy evaluation is
00:29:35 <aspect> is that why there are so many bad games?
00:30:10 <elliott> CakeProphet: i agree w/ comparison
00:30:18 <CakeProphet> a game is essentially an entertaining competition. What makes a game fun is subjective and different people find different kinds of games fun.
00:30:28 <elliott> competition? nah
00:30:35 <itidus20> monqy: i think it means only calculate the answers to questions you need the answers to
00:30:40 <elliott> games present challenges sure
00:30:43 <CakeProphet> elliott: well, not necessarily against other players
00:30:46 <elliott> but competition is the wrong word
00:30:52 <elliott> arguing over definitions of words is stupid anyway
00:30:55 <CakeProphet> you can be competing against the game rules. there is some kind of objective at least.
00:30:59 <elliott> it doesn't matter if something is a game or a toy or whatever
00:31:06 <elliott> CakeProphet: some games have no objective, literally no reward
00:31:14 <CakeProphet> minecraft.
00:31:15 <elliott> for instance, consider minecraft creative
00:31:16 <itidus20> ill reword that: i think it means only calculate the answers to questions you need the answers to when you need them
00:31:18 <elliott> nah
00:31:22 <elliott> today's minecraft has obstacles and shit
00:31:27 <elliott> but creative has literally no obstacle or objective
00:31:31 <elliott> and it's still undeniably a game
00:31:37 <elliott> or if you say it isn't a game, then every player of it would disagree
00:31:47 <itidus20> i still don't see how my definition differs from non-lazy evaluation.
00:31:49 <CakeProphet> hmmm. okay.
00:31:50 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
00:31:51 <quintopia> it is not a game in the mathematical sense
00:31:56 <CakeProphet> lulz
00:32:05 <monqy> good words for good people
00:32:12 <CakeProphet> games are not games in the mathematical sense, are they?
00:32:17 <itidus20> monqy, cake: What I seem to do is an act of topic-dropping.
00:32:45 <monqy> itidus20: if you're wrong about something enough, maybe someone will pick up the topic and correct you?
00:32:52 <itidus20> Similar to name-dropping, I use an inappropriate phrase as a synonym for another phrase.
00:33:03 <elliott> monqy: usually no since it's too painful
00:33:22 <monqy> itidus20: oh. that's horrible.
00:33:28 <itidus20> it is
00:33:42 -!- Patashu has joined.
00:34:16 <CakeProphet> an itidus20 is an instance of an OO mind virus.
00:34:27 <elliott> monqy: help, parser, help, help
00:34:30 <quintopia> CakeProphet: CGoL is certainly not a game in the mathematical sense
00:34:47 <CakeProphet> quintopia: indeed not.
00:35:46 <itidus20> the appropriate phrase in place of "<itidus20> i am using lazy evaluation style of thinking" would have been "What I mean is I realized it just now because of the topic."
00:35:56 <itidus20> so that is topic-dropping
00:36:06 <itidus20> needlessly mentioning lazy evaluation when it is not relevant
00:36:26 <pikhq_> #define as ;while
00:36:27 <pikhq_> do foo
00:36:29 <CakeProphet> elliott: hopefully the difference between my former self and itidus20 is that I got around to learning all (well, most) of the things I didn't understand.
00:36:35 <pikhq_> do foo(n) as (n --> 0);
00:36:41 <elliott> CakeProphet: how old were you in like two thousand and seven again
00:36:53 <CakeProphet> elliott: 15
00:37:04 <itidus20> my mind viruses are partially built up by other people.
00:37:05 <CakeProphet> 15-16
00:37:14 <elliott> CakeProphet: another difference: you wre fourteen years younger
00:37:17 <elliott> s/wre/were/
00:37:20 <CakeProphet> ....oh
00:37:29 <itidus20> people who are happier if i am downtrodden and confused, taking steps to keep me down
00:38:01 <itidus20> it's human nature. people are often setting it as their goal to cause harm.
00:38:11 -!- Sgeo has quit (Ping timeout: 258 seconds).
00:38:24 -!- Jafet has joined.
00:39:13 <itidus20> humans cope because we manage to chill out in spite of our harmful intent
00:40:04 <itidus20> having said all that, i am taking lots of steps at formal introspection
00:40:07 <elliott> what made you convince yourself that that wasn't projecting, at least partially?
00:40:42 <itidus20> i know it is partially my fault.
00:40:56 <elliott> didn't say that
00:40:57 <elliott> at all
00:41:04 <elliott> was just asking a question
00:41:07 <itidus20> uhmmm
00:42:06 <itidus20> people take advantage of my defence mechanisms. i am responsible for my defence mechanisms. they are responsible for how they react to me.
00:42:24 <monqy> take advantage of?
00:43:03 <CakeProphet> help what is formal introspection
00:43:05 <itidus20> i'm not healthy in mind, body, social life, or money.
00:43:13 <CakeProphet> help Freudian armchair psycho-babble what do?
00:43:22 <CakeProphet> oh wait I have monqy help back in exchange for sour cereal.
00:43:30 <itidus20> CakeProphet: taking notes of how i am feeling at various times
00:43:58 <monqy> very formal
00:44:06 <monqy> very introspective
00:44:27 <itidus20> trying to analyze the actual causes of feelings i don't want to feel
00:45:22 <monqy> do the causes point to yourself is that where this is going
00:45:36 <monqy> or do they point to other people is that where this is going
00:46:12 <itidus20> well, other people can do what they like.. its my problem if i overreact
00:46:51 -!- kmc has joined.
00:47:04 <monqy> lots of gecho revisions recently
00:47:34 <itidus20> basically, if something i remember upsets me.. like for example.. if i remember such and such is gonna happen
00:47:47 <monqy> where by gecho I mean the gecho page. these revisions are saddening.
00:47:56 <monqy> gecho is saddening
00:47:57 <itidus20> im trying to take note of which things are actually causing such upset
00:48:17 <monqy> ok
00:48:21 <itidus20> monqy: yeah thats the idea.. no need to get depressed by gecho
00:48:32 <monqy> has your note taking worked
00:49:12 <itidus20> monqy: well, theres these feelings of derealization and depersonalization and psychosis which i seem to enter into at times
00:49:29 <CakeProphet> hey me too.
00:49:48 <itidus20> those are the main uhmm vector of attack which is bothering me recently
00:50:35 <itidus20> another thing is to be realistic about things.
00:51:03 <monqy> what does that mean
00:51:31 <CakeProphet> monqy: come on, be more realistic.
00:51:55 <CakeProphet> wow this topic is really appropriate right now.
00:52:02 <monqy> hm?
00:52:06 <itidus20> i have convinced myself that my brother isn't psychotic. he's just an asshole quite often.
00:52:26 <monqy> that must be a relief
00:52:52 <Gregor> Note that he just said he convinced himself of that, not that it's true.
00:53:10 <CakeProphet> I am convinced that Gregor is actually Roger G.
00:53:31 <Gregor> I am convinced that Scotland is where Santa Claus is from.
00:53:35 <CakeProphet> and his first name propaganda is a terrible lie that he has told everyone including the government.
00:53:50 <monqy> his last name is propaganda lies too
00:54:40 <CakeProphet> Gregor is also lying to himself about his name.
00:54:46 <CakeProphet> /Gregor/Roger G./
00:55:04 <CakeProphet> s'^/'s/'
00:55:26 <monqy> ok
00:55:28 <CakeProphet> man sometimes regex substition on IRC gets tricky.
00:55:37 <monqy> I don't bother with regex
00:55:39 -!- zzo38 has joined.
00:55:45 <monqy> I like it better my way
00:55:51 <elliott> i just do s/thing/
00:55:55 <elliott> monqy: what is your way,
00:56:03 <monqy> thing/other thing
00:56:12 <itidus20> Gregor: well he is an angry violent manipulative drunk who will take others things without a thought, but that doesn't necessarily mean psychotic
00:57:03 <monqy> if thing/other thing is insufficient I do a "where by ... i mean ..."
00:57:33 <monqy> I also sometimes use thing/other thing to add meaning rather than replace maybe? I forget if I do this.
01:01:49 <CakeProphet> perl regex substition is the only sane way to replace typos and misinformation.
01:01:57 <CakeProphet> all substitions must parse correctly.
01:02:01 <CakeProphet> these are the rules.
01:02:13 <monqy> I tend not to care about typos
01:04:43 -!- Gregor has changed nick to NotRogerGYouGuys.
01:04:52 <elliott> "...does it count as pedophilia if it's animals" --a friend
01:04:58 <CakeProphet> s/<monqy>(.*?)/$1, also I am a really bad/
01:05:16 <CakeProphet> s/<monqy>(.*?)/$1, also I am a really bad/g
01:05:27 <monqy> im a really bad
01:09:03 <CakeProphet> http://sourcereal.com/
01:09:10 <CakeProphet> I just need to revisit this site
01:09:12 <monqy> sour cereal
01:09:15 <CakeProphet> because it is truly the best site I've seen.
01:10:25 <elliott> what IS IT
01:11:31 <elliott> monqy: explain......
01:11:35 <elliott> you posted it originally right
01:11:44 <monqy> yes
01:11:56 <elliott> where
01:11:57 <elliott> did you find it
01:11:58 -!- Jafet has quit (Quit: Leaving.).
01:12:04 <CakeProphet> he googled sour cereal I imagine
01:12:06 <monqy> by searching for sour cereal
01:12:11 <elliott> is that it
01:12:13 <CakeProphet> after I mentioned it being possibly a good idea.
01:12:24 <CakeProphet> after eating SOUR PUNCH STRAWS
01:12:26 <elliott> source real . com
01:12:30 -!- Jafet has joined.
01:12:35 <elliott> nooo its privately registered whois
01:12:40 <elliott> IM CANNOT CONTACT
01:12:42 <CakeProphet> which, by the way, I must go buy more of.
01:13:12 <NotRogerGYouGuys> `log Roger G
01:13:18 <HackEgo> 2011-09-14.txt:00:54:46: <CakeProphet> /Gregor/Roger G./
01:13:23 <NotRogerGYouGuys> Piffle
01:13:38 <elliott> `log pop
01:13:42 <HackEgo> 2011-02-09.txt:14:41:06: <elliott> Deewiant: Personally, I think that "ABCD"4) only pops from the fingerprint stack if ABCD is the most recently loadedfingerprint.
01:13:44 <CakeProphet> part of becoming an adult is spending your money irresponsibly.
01:13:59 <elliott> `logurl 2011-02-09.txt:14:
01:14:01 <HackEgo> http://codu.org/logs/log/_esoteric/2011-02-09
01:14:05 <CakeProphet> on things like candy and alcohol and wimminz
01:14:15 <itidus20> roger: well psychopath's are like shannon's maxim.. the key is simply knowing yes or no if they are
01:14:34 <itidus20> it can be virtually impossible to know without this key piece of info
01:14:40 <CakeProphet> ..
01:14:49 <itidus20> thats the truth. i have read up on it
01:15:39 <CakeProphet> this KEY piece of info bahahahahaha
01:15:45 <CakeProphet> okay time to go.
01:15:51 -!- NotRogerGYouGuys has changed nick to Gregor.
01:16:19 <itidus20> yes. once a psychopath is known to be a psychopath, that is all you need to know to know.. and without this knowledge you can almost not know
01:16:47 <itidus20> it is like trying to use a captcha to catch a bot
01:16:51 <elliott> kk
01:16:53 <elliott> k
01:17:27 <itidus20> in accordance with shannon's maxim, it is their most prized possession
01:17:35 <CakeProphet> I am a psychopath.
01:18:20 <itidus20> so several moral dilemmas are raised. is a person evil just by being a psychopath?
01:18:35 <itidus20> and once caught there is no treatment, only to cycle them between prison and mental hospital
01:18:42 <elliott> please...stop...
01:18:47 <CakeProphet> you can eat them
01:18:47 <itidus20> why?
01:19:11 <CakeProphet> 21:16 < CakeProphet> okay time to go.
01:19:15 <CakeProphet> okay time to go.
01:22:19 <itidus20> basically ok, it's like trying to determine what is on a display by scanning the video memory instead of looking at the display with a camera
01:24:28 -!- DH____ has joined.
01:26:12 <elliott> Wow, String has really bad overhead.
01:26:22 <elliott> Gregor: Ask me what String's overhead is in Haskell.
01:27:15 -!- tswett has quit (Read error: Operation timed out).
01:27:21 <elliott> Gregor: Do it, it will amuse you.
01:27:56 <elliott> Gregor is bad.
01:28:53 <elliott> monqy: tell Gregor he is bad.
01:29:02 <Jafet> Only 39 bytes
01:29:14 <monqy> Gregor: bad
01:29:31 <elliott> Jafet: Forty, isn't it?
01:29:43 <Gregor> I was going to guess fifteen bytes one bit per character.
01:29:44 <elliott> Per codepoint, of course.
01:29:53 -!- tswett has joined.
01:29:56 <elliott> Gregor: It takes 5n words per codepoint, apparently :P
01:29:57 <Gregor> (Assuming ASCII only)
01:30:04 <elliott> Erm
01:30:06 <elliott> 5 words per codepoint
01:30:12 <Jafet> You asked for overhead
01:30:14 <elliott> It uses utf-thirtytwo always
01:30:18 <elliott> Jafet: Point :P
01:30:26 <elliott> It's not thirty-nine bytes though.
01:30:29 <elliott> It's thirty-two. No?
01:30:31 <elliott> Four words.
01:31:02 <Jafet> Most code points use one byte,
01:31:08 <Jafet> So UTF-320
01:31:16 <Gregor> Most take 7 bits :P
01:31:25 <elliott> UTF-320?
01:31:38 <pikhq_> Gregor: If you go by frequency of usage, perhaps.
01:31:43 <Gregor> pikhq_: Naturalismo.
01:32:04 <pikhq_> Context-dependent, but generally true in non-plain text.
01:33:52 <elliott> I wonder if there's a known-nicer string representation than ropes...
01:34:12 <elliott> (Or, well, "finger tree of small vectors of codepoints" if you want to be precise.)
01:36:37 -!- DH____ has quit (Read error: Connection reset by peer).
01:36:42 -!- DH____ has joined.
01:38:14 -!- Jafet has quit (Ping timeout: 276 seconds).
01:38:31 <itidus20> `log godel
01:38:35 <HackEgo> 2011-01-04.txt:19:12:22: <j-invariant> elliott: I don't get that godel quote
01:38:48 <itidus20> `pastelog godel
01:38:50 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: pastelog: not found
01:39:06 <quintopia> :/
01:39:17 <quintopia> that would be a good program
01:39:22 <quintopia> please write it
01:39:37 <itidus20> `pastelogs godel
01:39:42 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.25506
01:40:16 <quintopia> `run which pastelogs
01:40:18 <HackEgo> ​/hackenv/bin/pastelogs
01:40:26 <elliott> `logurl 2007-07-23
01:40:28 <HackEgo> http://codu.org/logs/log/_esoteric/2007-07-23
01:40:35 <elliott> quintopia: i made it : ): ))
01:40:36 <elliott> also `log
01:40:36 <elliott> `log
01:40:38 <HackEgo> 2005-03-24.txt:03:34:00: -!- lament has quit (clarke.freenode.net irc.freenode.net).
01:40:41 <elliott> `log
01:40:43 <HackEgo> 2005-09-15.txt:04:50:58: <lament> (actually, i'm not sure about this. hrm)
01:40:52 <monqy> ggood logss
01:41:43 <quintopia> `run ln -s /hackenv/bin/pastelogs /hackenv/bin/pastelog
01:41:45 <HackEgo> No output.
01:41:52 <quintopia> can i do that? :P
01:42:14 -!- zzo38 has quit (Remote host closed the connection).
01:42:24 -!- Sgeo has joined.
01:42:25 <monqy> `pastelog
01:42:42 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.16730
01:42:58 <itidus20> `log dangerously
01:43:03 <HackEgo> 2011-03-07.txt:18:41:51: <Phantom_Hoover> Sgeo doesn't, and was coming dangerously close to taking relationship advice from him.
01:43:23 <itidus20> `pastelogs dangerously
01:43:27 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.13037
01:44:14 -!- calamari has joined.
01:46:07 -!- Sgeo_ has joined.
01:46:59 -!- Jafet has joined.
01:47:42 -!- Sgeo has quit (Ping timeout: 260 seconds).
01:57:00 <itidus20> so is "\x x" church numeral 0?
01:57:06 -!- Jafet has quit (Quit: Leaving.).
01:57:14 <itidus20> hmm oops forgot 1 thing
01:57:26 <itidus20> so is "\f \x x" church numeral 0?
01:57:57 <quintopia> it can be
01:58:18 -!- augur has quit (Remote host closed the connection).
01:58:36 <itidus20> is "\f \x x" like "(λf.(λx.(x)))"
01:59:20 <monqy> it can be
01:59:41 <elliott> <quintopia> `run ln -s /hackenv/bin/pastelogs /hackenv/bin/pastelog
01:59:42 <elliott> no
01:59:42 <monqy> why do you have so many parentheses
01:59:48 <monqy> why do you have parentheses around the x
01:59:50 <monqy> why
02:00:05 <itidus20> because i don't want to make mistakes
02:00:12 <elliott> `rm bin/pastelog
02:00:13 <pikhq_> Because he's being strange and not doing sane notation.
02:00:13 <HackEgo> No output.
02:00:19 <monqy> you're more likely to make mistakes if you make a huge mess of parens like that
02:00:22 <itidus20> seems i am leaving out -> too
02:00:29 <pikhq_> I'd recommend \f x->x
02:00:40 <itidus20> ahh
02:00:41 <pikhq_> Or \f->\x->x if you want the currying explicit.
02:00:45 <itidus20> ahh
02:00:56 <monqy> I tend to use more spaces
02:00:59 <monqy> \ f x -> x
02:01:01 <pikhq_> Or \f.\x.x if you want it to *just* be all-ASCII standard lambda calculus notation.
02:01:33 <monqy> \fx.x if I'm doing it like that
02:02:02 <pikhq_> I'm too used to names of variable length. ;)
02:03:16 <itidus20> Ichi \fx->f x, Ni \fx->f(f x), San \fx->f(f(f x)), Yon \fx->f(f(f(f x))), Go \fx->f(f(f(f(f x))))
02:04:05 <pikhq_> 馬鹿じゃ!
02:04:10 <itidus20> One, Eck, Ichi \fx->f x, Two, Dou, Ni \fx->f(f x), Three, Teen, San \fx->f(f(f x)), Four, Chaar, Yon \fx->f(f(f(f x))), Five, Paanch, Go \fx->f(f(f(f(f x))))
02:05:04 <monqy> itidus20: it's strange of you to omit spaces in the formal parameters thingy but leave them in in the application
02:05:08 <pikhq_> 「12345」か、「一二三四五」か良いかもしらない。でも「Ichi Ni San Yon Go」がとても変だ。
02:05:21 <monqy> itidus20: and also leave them out in other applications
02:05:21 <itidus20> monqy: ahh true true
02:05:50 <itidus20> Is there anything not strange about what i am doing though?
02:05:54 <monqy> what
02:06:22 -!- Jafet has joined.
02:06:54 <calamari> the other day someone thought a lang had all instructions executing at once (turned out it wasn't), but it got me thinking, what if all instructions had a queue on the data.. for example *addr1=*addr2+*addr3. if addr2 or addr3 are changed, then that would execute, changing addr1, then anything that relied on addr1 would execute, etc. Is there an esolang like that?
02:07:38 <Jafet> Dataflow languages aren't esoteric
02:07:47 <Jafet> Neither are constraint logic ones
02:08:12 <itidus20> I am just getting used to the lego blocks of lambda calculus
02:08:15 <Sgeo_> It's certainly possible to make an esoteric dataflow language
02:08:18 <CakeProphet> I mean esoteric languages aren't even esoteric.
02:08:21 <CakeProphet> you're pretty much fucked.
02:08:33 <pikhq_> Nor are spreadsheets esoteric.
02:08:35 <itidus20> see monqy, that was what i call a topic-dropping.. the unnecessary use of "lego blocks" to mean "components" or "elements"
02:08:53 <Sgeo_> what's a good non-esoteric dataflow language
02:08:59 <monqy> itidus20: now im dead inside :(
02:09:08 <Sgeo_> why am i trying to talk like monqy
02:09:15 <monqy> what
02:09:30 <Sgeo_> with the whole no capitalization thing
02:09:30 <itidus20> learning to type logically also teaches how to think logically
02:09:38 <Jafet> You admire his intellect?
02:09:40 <calamari> cool, so I discovered something that they came up with in 1966 according to wikipedia :)
02:09:42 <monqy> sometimes I do caps; I'm rather inconsistent about it.
02:09:46 <itidus20> Sgeo_: because it's col
02:09:53 <itidus20> ^cool
02:09:57 <pikhq_> calamari: Well, topological sorting spreadsheets are a *bit* newer.
02:10:12 <itidus20> once you type i as i you're basically a no-caps'er
02:10:19 <CakeProphet> spreadsheets of functions
02:10:24 <pikhq_> Still, not exactly new.
02:10:34 <pikhq_> CakeProphet: Yes...
02:10:41 <monqy> spreadsheet of spreadsheets
02:10:44 <Sgeo_> What not new new thing did calamari do?
02:10:55 <calamari> Sgeo: said something :)
02:11:01 <Sgeo_> lol\
02:11:02 <itidus20> Sgeo_: you can type faster without caps..
02:11:07 <itidus20> its just a fact
02:11:12 <Sgeo_> But I don't like to type without caps.
02:11:16 <itidus20> you can type faster still without punctuation
02:11:28 <monqy> Typing with caps and punctuation doesn't slow me down very much at all.
02:11:37 <itidus20> but in either case i like punctuation
02:11:43 <monqy> what slows me down is bothering to correct ytpeoes
02:11:44 <Sgeo_> itidus20, not if your finger memory always reaches for the Shift and as such, you have to think about not doing it.
02:11:47 <CakeProphet> I'm too busy busting caps in niggas and hoes to type caps.
02:11:53 <itidus20> Sgeo_: yeah i just noticed that
02:12:19 <monqy> Shoiudl I stop bothering to correct my types? What will ahpepn?
02:12:22 <Sgeo_> Off to read some Discworld and eat
02:12:27 <itidus20> punctuation probably doesn't help much
02:12:34 <itidus20> i mean.. the removal of it
02:12:39 <Sgeo_> monqy, ugh, I hvae done that sort of thing before, really speeds things up att the expesne of typoes.
02:12:44 <itidus20> w.r.t speed
02:12:47 <calamari> I'm thinking about it, and I'm not sure a spreadsheet is exactly the same
02:12:54 <monqy> sometimes I bother, sometimes I don't!!!
02:13:01 <monqy> sometimes I also make more typoes than others.
02:13:04 <Sgeo_> 0_0
02:13:05 <monqy> sometimes.
02:13:18 <CakeProphet> higher order spreadsheets are spreadsheets of functions that take a spreadsheet input and a spreadsheet output
02:13:54 <CakeProphet> they are the best spreadsheets of all.
02:14:21 <quintopia> elliott: i hate you
02:14:22 <Jafet> I think you could make an esolang out of higher dimensional spreadsheets
02:14:32 <Jafet> And higher order, of course
02:17:52 <calamari> thanks for letting me know the name of what I discovered... now I won't have to implement it :)
02:19:50 <Jafet> I bet if someone here implemented an esolang based on spreadsheets, their endeavour to make it turing complete will make it superior to other real spreadsheets
02:20:20 <calamari> most spreadsheets have some kind of language you can embed behind it
02:21:00 <CakeProphet> I don't believe that was new information for anyone.
02:21:36 <CakeProphet> I once tried to write a brainfuck interpreter in Excel
02:21:38 <CakeProphet> didn't work.
02:21:53 -!- augur has joined.
02:22:07 <itidus20> <VARS> ::= <VAR> | <VARS><VAR>; <EXPR> ::= "\"<VARS> | <EXPR> "->" <EXPR> | <VAR>; ... is this faulty?
02:22:19 <CakeProphet> it's unecessary.
02:22:40 <itidus20> its a nice way to express ideas without using english
02:22:42 <elliott> yes faulty
02:22:48 <elliott> what's x -> x
02:23:02 <elliott> \ and -> are part of same rule
02:23:12 <itidus20> hmm
02:23:16 <itidus20> heheheh ok
02:23:41 <itidus20> <VARS> ::= <VAR> | <VARS><VAR>; <EXPR> ::= "\"<VARS> "->" <EXPR> | <VAR>; ... is this better?
02:25:29 <itidus20> i am wondering to myself and now typing it if the last one can be vars
02:26:24 <CakeProphet> well function application would be <EXPR><EXPR> ignoring insignificant whitespace.
02:26:28 <itidus20> trying to avoid \x->xxyzx not sure if i need to though
02:26:52 <itidus20> bugger
02:27:09 <CakeProphet> well, in Haskell it's a bit more complicated than that.
02:27:11 <CakeProphet> for function application
02:27:17 <CakeProphet> because you can have f x or f(x)
02:27:29 <elliott> itidus20: your expr has no application
02:27:32 <elliott> CakeProphet: no
02:27:44 <elliott> f(x) is just f (x)
02:27:50 <elliott> just like (((x))) = x
02:28:25 <itidus20> hmm.. so is "\x->" the same as "λx."
02:28:41 <CakeProphet> elliott: ...yes I understand they are the same
02:28:45 <CakeProphet> but to describe the syntax
02:28:49 <CakeProphet> you would include both forms.
02:29:00 <itidus20> or is -> used in both application and lambdaing
02:29:08 <CakeProphet> > reverse "hello"
02:29:10 <lambdabot> "olleh"
02:29:10 <CakeProphet> is application
02:29:14 <CakeProphet> > (
02:29:15 <lambdabot> <no location info>: parse error (possibly incorrect indentation)
02:29:20 <CakeProphet> > (\x -> x + x) 2
02:29:20 <elliott> itidus20: just lambdaing
02:29:21 <lambdabot> 4
02:29:26 <elliott> CakeProphet: not helpiiiing
02:29:29 <CakeProphet> is a lambda that is bein applied.
02:29:32 <elliott> CakeProphet: not helping
02:29:42 <elliott> you used arithmetic
02:29:46 <elliott> again
02:29:52 <itidus20> uhmm ok so function application in haskell is just (x y) ?
02:29:58 <CakeProphet> x y
02:30:03 <itidus20> ah
02:30:10 <itidus20> can it be x x?
02:30:13 <CakeProphet> sure
02:30:18 <CakeProphet> :t id id
02:30:19 <lambdabot> forall a. a -> a
02:30:22 <monqy> how about
02:30:26 <monqy> instead of concrete syntax
02:30:26 <elliott> sigh
02:30:28 <monqy> we focus on
02:30:30 <monqy> abstract syntax
02:30:52 <elliott> CakeProphet: you are _really_ not helping iti. please stop.
02:30:59 <itidus20> if i just keep stareing at syntaxes enough it is sure to just make sense
02:31:00 -!- sebbu2 has joined.
02:31:00 -!- sebbu2 has quit (Changing host).
02:31:00 -!- sebbu2 has joined.
02:31:01 <monqy> I'm actually surprised how much fuss you guys are making over concrete syntax
02:31:23 <CakeProphet> monqy: /me has not been making any sort of fuss about concrete syntax.
02:31:27 <monqy> yes you have
02:31:45 <itidus20> i am going on the theory that if you know the grammar of a language you should be able to use it at least in a trivial manner
02:31:54 <monqy> you're wrong
02:31:54 <elliott> lol
02:32:02 <elliott> jesus christ
02:32:08 <itidus20> its not like it has many rules
02:32:15 <itidus20> it's not latin
02:32:30 <Jafet> Hey, it works for python.
02:32:37 -!- sebbu has quit (Ping timeout: 260 seconds).
02:32:41 <Jafet> And any other language that is C in disguise
02:33:00 <CakeProphet> Python: C in disguise
02:33:21 <elliott> itidus20: you are acting like you are on the same level as the people trying to teach you - forming your own different path and disagreeing. until you accept that you must first be a _learner_, you will never learn.
02:33:33 <Jafet> C with reference counting.
02:33:42 <itidus20> hmm now heres how wirth would say it
02:34:13 <elliott> ok, ignore me
02:34:19 <itidus20> im not
02:34:53 <itidus20> curry f x; body begin x end;
02:34:56 <monqy> what
02:35:08 <elliott> wow.
02:35:14 <monqy> you're going like
02:35:17 <monqy> in the wrong direction
02:35:36 <elliott> remember itidus20 what i said about trying to form your own path?
02:35:58 <itidus20> lao tse once say, the sage follows the well worn path
02:36:30 <elliott> heheheheehehehehehee
02:37:32 <itidus20> well he might have said that
02:43:02 <itidus20> uhmm
02:43:38 <monqy> hm?
02:46:00 <itidus20> about lao tse could be a false memory
02:46:22 <itidus20> about how wirth would do a functional language, i think it would be beyond my imagination
02:46:30 <CakeProphet> what is wirth.
02:46:38 <itidus20> nikolaus wirth
02:46:40 <CakeProphet> is it the end of win?
02:46:49 <CakeProphet> or the end of wear?
02:47:00 <itidus20> algol-w, pascal, modula, oberon
02:47:12 <itidus20> i only know the names of his works really
02:48:08 <CakeProphet> if I beat you with this stick will learn more stuff?
02:48:36 <itidus20> cut and paste from some googling "I also remember bursting out laughing when the Modula-2 compiler warned correctly that I had written an infinite loop! Ooops."
02:50:44 <CakeProphet> > let fibs = 0 : 1 : zipWith (+) fibs (tail fibs) in fibs
02:50:45 <lambdabot> [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946...
02:51:09 <itidus20> http://web.archive.org/web/20100331222736/http://www.cs.inf.ethz.ch/~wirth/Articles/GoodIdeas_origFig.pdf
02:52:51 <itidus20> "To postulate a state-less model of computation on top of a machinery whose most eminent characteristic is state, seems to be an odd idea, to say the least." :P
02:54:51 <CakeProphet> and yet so good.
02:55:00 <elliott> yeah youve disproved the lambda calculus with a quote and a smiley good thing you never had to learn it
02:55:19 <itidus20> elliott: alright relax. im not giving up on it
02:55:31 <Lymee> > let fibs = 1 : 2 : zipWith (*) fibs (tail fibs) in fibs
02:55:31 <lambdabot> [1,2,2,4,8,32,256,8192,2097152,17179869184,36028797018963968,61897001964269...
02:55:44 <itidus20> its just i was looking for wirth's take on it.. its natural he is biased towards his imperative languages
02:56:06 <elliott> im perfectly relaxed.
02:56:21 <itidus20> you have shown me that it can be used for building OS's
02:56:52 <itidus20> i am used to the quotes of old men being bitter
02:57:30 <pikhq_> There's a pretty obvious issue with that quote.
02:57:55 <itidus20> the link was from lambda the ultimate anyway ironically
02:57:56 <pikhq_> Our machines are designed for ease of dealing with physical reality.
02:58:05 <pikhq_> Our code has no such concerns.
02:58:14 <itidus20> http://lambda-the-ultimate.org/node/1773
02:58:14 <pikhq_> (modulo obvious limits)
02:58:38 <CakeProphet> I'm not entirely sure that's how modulo works pikhq_ :P
02:59:06 <pikhq_> CakeProphet: Sadly, our code is guaranteed to halt.
02:59:47 <pikhq_> At a minimum, it will go with the rest of the universe.
03:00:02 <CakeProphet> if only lived in a magical world of mathematical thought.
03:00:09 <CakeProphet> I could be a theorem!
03:01:39 <itidus20> elliott: well i will never be able to learn it(LC) through the method of acquiring prerequisite knowledges.. so i am analyzing it's component's
03:02:02 <monqy> itidus20: what are its components
03:02:13 <monqy> itidus20: you may have a bad idea of what they are
03:02:59 <itidus20> it has just occured to me that i still don't have a good idea of what a variable is
03:03:38 <CakeProphet> in lambda calculus variables function parameters.
03:03:41 <CakeProphet> +are
03:03:47 <itidus20> such as with... \x-> ..
03:03:51 <monqy> they are also all functions
03:03:51 <CakeProphet> yes
03:03:53 <monqy> everything is a function
03:03:55 <CakeProphet> and yes.
03:04:07 <itidus20> is "λx." a complete lambda expression?
03:04:11 <CakeProphet> no
03:04:11 <monqy> no
03:04:22 <pikhq_> The function has to map to *something*.
03:05:38 <itidus20> and.. "λx." is basically equally incomplete as: "λa.", "λb.", "λc.", "λd.", ... etc.. and they each express the same thing in isolation right?
03:05:48 <monqy> what
03:06:00 <monqy> they don't express anything. they're nonsense.
03:06:17 <itidus20> i mean like if i wrote "λp." on a piece of paper and showed it to someone it would mean just as much as "λr."
03:06:25 <itidus20> no more or less
03:06:34 <monqy> at what are you getting
03:06:46 <pikhq_> itidus20: Yes, but it would also mean just as much as ASDGJIFujyh0-qwe4itgo0xcfnvjbhklsdau5689234iq8ibvgo0sdujt89ioweausjfgioxzfhyuiqejhiopfgjhsar89pitpjq;
03:06:50 <itidus20> and yet this is a component of LC .. and i am analyzing it
03:06:54 <pikhq_> It's a fucking syntax error.
03:07:05 <monqy> it isnot a component of the lambda calculus; it's a syntax error.
03:07:05 <CakeProphet> itidus20: yes the name of the variable doesn't matter as long as it's unique
03:07:10 <itidus20> its 1 character short of being a complete LC expression
03:07:22 <monqy> itidus20: things do not work like that
03:07:27 <monqy> itidus20: you are doing it wrong
03:07:36 <itidus20> i am being cruel perhaps
03:07:36 <Lymee> "λp." means "take p and... 404 file not found"
03:07:48 <monqy> itidus20: cruel?
03:07:58 <itidus20> yup...
03:08:05 -!- calamari has quit (Quit: Leaving).
03:08:16 <pikhq_> itidus20: When you write such "expressions" you are granting permission to launch demons from your nose, now stop it. ;)
03:08:21 <Gregor> `fetch http://sprunge.us/OViK
03:08:22 <HackEgo> 2011-09-14 03:08:22 URL:http://sprunge.us/OViK [7576] -> "OViK" [1]
03:08:28 <Gregor> `run sh OViK ; rm OViK
03:08:32 <HackEgo> x - created lock directory _sh21266. \ x - extracting bin/unlearn (text) \ x - extracting bin/forget (text) \ x - extracting bin/learnt (text) \ x - extracting bin/learn (text) \ x - removed lock directory _sh21266.
03:08:38 <itidus20> i am showing you a piece of the space with which i am exploring LC syntax.. and its nasty!
03:08:40 <Gregor> `learn elliott Ignore this loser.
03:08:42 <HackEgo> Learned!
03:08:45 <Gregor> `elliott
03:08:47 <HackEgo> elliott = Ignore this loser.
03:08:57 <monqy> ooh I love learn
03:09:09 <Lymee> `learn Lymee *hugs*
03:09:14 <Lymee> :(
03:09:17 <HackEgo> Learned!
03:09:21 <Lymee> :)
03:10:04 <pikhq_> Does GNU shar *actually test* for *GNU* md5sum?
03:10:10 <pikhq_> Not a functioning one, but *GNU*.
03:10:15 <pikhq_> Fucking fuck.
03:10:31 <monqy> a test:
03:10:32 <monqy> `learn cat cat
03:10:34 <HackEgo> Learned!
03:10:36 <monqy> `cat
03:10:37 <Gregor> shar: Easily the best.
03:10:38 <HackEgo> cat = cat
03:10:49 <Gregor> monqy: That ... could be a problem ...
03:11:04 <Lymee> `run echo a | cat
03:11:07 <HackEgo> cat = cat
03:11:09 <monqy> cat
03:11:12 <pikhq_> Gregor: Kinda an elegant archive format, but jebus GNU stuff is feces.
03:11:15 <Gregor> `rm bin/cat
03:11:16 <Lymee> `run echo $PATH
03:11:17 <HackEgo> No output.
03:11:17 <elliott> Gregor: this is a bad learndb i shall improve
03:11:18 <HackEgo> ​/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin
03:11:31 <Gregor> elliott: THEN DOOOOOOOOOOOOOOOOOOOOOOOOO SO
03:11:49 <itidus20> lambda seems to be a modification of a symbol.. just as 'A' is a capitalization of 'a', and 'ga' in japanese is a change to 'ka', so "λx." is related directly to "x"
03:11:51 <Lymee> `export PATH=/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin:/hackenv/bin
03:11:52 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: export: not found
03:11:58 <Lymee> `run export PATH=/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin:/hackenv/bin
03:11:59 <HackEgo> No output.
03:12:01 <monqy> itidus20: what
03:12:09 <Lymee> `learn cat cat
03:12:11 <HackEgo> Learned!
03:12:14 <monqy> itidus20: you're not thinking right
03:12:16 <itidus20> "λx." introduces the symbol "x"
03:12:16 <Lymee> `run echo a | cat
03:12:18 <HackEgo> cat = cat
03:12:20 <Lymee> `rm bin/cat
03:12:21 <HackEgo> No output.
03:14:02 <itidus20> "λx." says something like.. in the following expression, "x" is a bound variable.
03:14:32 <monqy> "λx." isn't a complete thought
03:15:36 -!- pikhq_ has quit (Ping timeout: 240 seconds).
03:15:42 <monqy> maybe you should try learning the lambda calculus before you do this nonsense with it
03:16:01 <monqy> or have you given up on that
03:16:07 <itidus20> perhaps i should say "(λx.())"
03:16:15 <monqy> you're making it worse
03:16:30 <itidus20> i can go a little further
03:16:33 <Lymee> `wiki lambda calculus
03:16:35 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: wiki: not found
03:16:38 <Lymee> :<
03:16:51 <itidus20> "((()())(λx.(())())())"
03:16:56 <monqy> ;_;
03:16:59 <CakeProphet> that's not a thing
03:17:07 <itidus20> indeed
03:17:14 <itidus20> it is missing parts
03:17:15 -!- pikhq has joined.
03:17:22 <Lymee> Can we...
03:17:23 <Lymee> Get rid of itidus20
03:17:39 <monqy> no
03:17:42 <itidus20> ok i should leave until i can play reasonably though
03:17:55 <itidus20> bye
03:17:59 -!- itidus20 has left ("Leaving").
03:18:17 <monqy> bye
03:18:47 <Patashu> what are your guys' minesweeper records
03:19:08 <Jafet> I made a script to reroll until I could get it on the first click
03:19:15 <Patashu> haha
03:20:06 <Patashu> I just opened it up and got 227 seconds on expert. was wondering if that was decent
03:21:17 <Jafet> Microsoft has made a few different versions... the recent ones play in the background and prevent you from losing if the position is ambiguous
03:22:18 <Patashu> yeah, I'm using a verson that prevents you from needing luck
03:27:11 <monqy> `elliott
03:27:13 <HackEgo> elliott = Ignore this loser.
03:27:40 <monqy> oh i misread something up there
03:29:28 <CakeProphet> what a stupid command
03:29:57 <CakeProphet> well
03:30:01 <CakeProphet> it will come in handy later.
03:32:01 <elliott> back
03:32:12 <monqy> hi
03:32:44 -!- itidus20 has joined.
03:32:54 <monqy> hi
03:33:00 <itidus20> hi monqy
03:33:02 <elliott> coool simonrc knows edwin brady
03:33:03 <itidus20> everyone
03:33:08 <elliott> (i am logread)
03:34:07 -!- zzo38 has joined.
03:36:38 -!- copumpkin has joined.
03:37:10 <zzo38> Do you have idea if I could make up some doppelganger's prestige class for Dungeons & Dragons game? I should also probably write a fix for the Metamind class. But I think I did fix the Illithid Savant class now.
03:37:57 <zzo38> I don't remember very well. Was copumpkin wrote the which/left/right class for me or someone else?
03:38:36 -!- augur has quit (Remote host closed the connection).
03:40:58 <itidus20> ok, is λx.y a valid lambda calculus expression?
03:41:07 <zzo38> Not by itself.
03:41:47 <monqy> depends on what you mean by valid
03:42:16 <elliott> itidus20: you're still thinking about lc in terms of its concrete syntax, i see
03:42:53 <itidus20> hmmm
03:44:08 <itidus20> hmmm. now if λx.y is applied to something, would it become "y"?
03:44:13 <elliott> Gregor: How much convincing do you need to add new regexp-ish handlers to egobot
03:44:21 <elliott> itidus20: yes.
03:44:28 <elliott> specifically, the _application_ would become y.
03:44:43 <itidus20> perhaps i should instantiate a something
03:44:47 -!- quintopia has quit (Quit: Lost terminal).
03:44:55 -!- quintopia has joined.
03:44:55 -!- quintopia has quit (Changing host).
03:44:55 -!- quintopia has joined.
03:44:58 <Gregor> elliott: ???
03:45:06 <itidus20> (λx.y) z becomes (y)
03:45:25 <elliott> Gregor: For a nicer learndb system :P
03:45:51 <elliott> Hmm,w ait
03:45:53 <elliott> `? test
03:45:55 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ?: not found
03:45:57 <elliott> Great
03:46:01 <elliott> Gregor: Never mind
03:46:25 <itidus20> and (λx.x) z becomes (x)
03:46:33 <itidus20> oops
03:46:35 <itidus20> oops
03:46:39 <elliott> Gregor: How can one view a certain file on hackego served as text/html :P
03:46:39 <itidus20> and (λx.x) z becomes (z)
03:46:56 <Gregor> `url
03:46:58 <HackEgo> http://codu.org/projects/hackbot/fshg/
03:47:04 <elliott> Gregor: That's as text/plain
03:47:22 <Gregor> Oh ... I see what you ... want ... but not why :P
03:47:27 <Gregor> "You can't" is the simple answer :P
03:47:30 <elliott> Gregor: Hyperlinked learndb wiki :D
03:47:36 <elliott> I just have to generate it after every learndb mutation.
03:48:47 <elliott> Gregor: C'moooooooooon
03:48:54 <itidus20> (λx.y) z becomes y and (λx.x) z becomes z, is this so far so good?
03:50:11 <elliott> itidus20: Yes.
03:50:28 <Gregor> elliott: Seems to me like this is when hackiki and hackbot should be merged :P
03:50:51 <elliott> Gregor: Well, no, it'd not be like hackiki. But I could write it as a hackiki page.
03:50:58 <elliott> Can any hackiki read from HackEgo?
03:52:22 <Gregor> Not at present >: )
03:52:38 <Gregor> Aaaaaaaaaand ... not tonight :P
03:53:55 <elliott> Gregor: How can I make HackEgo send multiple lines X-D
03:54:11 <elliott> I need to send each definition of a word on a separate line or it won't fit multiple definitions at all >__>
03:54:44 <Gregor> Not - gonna - happen.
03:54:59 <Gregor> One-in-one-out is a pretty strict rule.
03:55:12 <zzo38> Is it ever going to fix that QUIT messages should be copied into the channel logs?
03:55:14 <elliott> Maaaan, HackEgo is SO unsuitable for a learndb.
03:55:43 <pikhq> Clearly we need another bot.
03:55:47 <elliott> Yes.
03:56:00 <Gregor> zzo38: Probably. Months/years from now when I grab a moment to do it.
03:56:05 <pikhq> fungot, EgoBot, glogbot HackEgo? Definitely not enough.
03:56:06 <fungot> pikhq: it saves valuable internet bandwidth even if i'd get an " indefinite" number of arguments ( 1 for 0) i need to
03:56:11 <pikhq> Oh, and clog.
03:56:34 <zzo38> I wrote an IRC bot program once.
03:58:12 <zzo38> It is currently connected to Freenode.
03:58:37 <elliott> What's it called
03:58:38 * CakeProphet finishes his Data Structures project and turned it in with exactly 2 minutes to spare.
03:58:40 <elliott> Is it that pokemon one
03:58:51 <zzo38> elliott: Yes, well, sort of.
03:59:13 <zzo38> It is named "PocketMonsterIRC" you can command it to join channels
03:59:14 -!- augur has joined.
03:59:36 -!- Jafet has quit (Quit: Leaving.).
04:00:51 -!- PocketMonsterIRC has joined.
04:01:38 <zzo38> See? That is how it works.
04:02:36 <zzo38> OK
04:02:52 <CakeProphet> cool!
04:02:55 <itidus20> So if I put x y that is an application, but it cannot be applied until something like (λx.(x y)) λa.b which would become (λa.b) y and then finally b
04:03:04 <CakeProphet> no
04:03:19 <CakeProphet> x y is an application
04:03:20 <elliott> that is a correct reduction
04:03:25 <CakeProphet> it applies things.
04:03:30 <CakeProphet> but yes the reduction is correct.
04:03:59 <itidus20> CakeProphet: ah so you mean the terminology is a bit wonky
04:04:01 <CakeProphet> oh... I see what you mean, nevermind.
04:04:18 <itidus20> anyway.. hmm
04:04:23 <CakeProphet> the expression that a function returns is not evaluated until the function itself is applied.
04:04:36 <CakeProphet> if that's what you mean.
04:04:39 <elliott> Gregor: I have the perfect learndb ;___;
04:04:39 <elliott> What if
04:04:42 <elliott> I could make it
04:04:44 <elliott> Send notices
04:04:45 <elliott> ????????????????????????
04:04:47 <elliott> Those are better
04:04:48 <elliott> maybe
04:04:49 <elliott> help
04:04:54 <elliott> friendship learndb
04:04:55 <zzo38> I set up a macro to send command to PocketMonsterIRC, in my IRC client. It is possible to do that
04:05:04 <itidus20> now.. if i was to (λx.(x y)) a then that would become a y right?
04:05:07 -!- Jafet has joined.
04:05:16 <zzo38> So you can set up a macro too if you want to send commands, including your own program if you want to make IRC bot, to do that
04:05:23 <PocketMonsterIRC> zzo38:ro 2d6 = 5
04:05:30 <PocketMonsterIRC> zzo38:ro 2d6 = 7
04:05:30 <CakeProphet> itidus20: yes, but y should be defined somewhere.
04:05:32 <PocketMonsterIRC> zzo38:ro 2d6 = 4
04:05:33 <PocketMonsterIRC> zzo38:ro 2d6 = 12
04:05:38 <elliott> Gregor: See.
04:05:42 <elliott> So non-obtrusive.
04:05:43 <Patashu> stop that
04:05:44 <elliott> My nick column is only like
04:05:48 <elliott> At the edge of my screen now
04:05:57 <CakeProphet> itidus20: the thing to remember is that a, x, and y are all functions.
04:06:18 <itidus20> hmm...
04:06:31 <CakeProphet> there is /no/ other kind of value
04:07:15 <CakeProphet> and... that's pretty much it, in essense.
04:07:24 -!- elliott has changed nick to shfkhsdlsjdflsah.
04:07:27 <itidus20> CakeProphet: well would i just define y by nesting it in something else?
04:07:34 -!- shfkhsdlsjdflsah has changed nick to XXXXXXXXXXXXXXXX.
04:07:34 <CakeProphet> I'm not sure what you mean.
04:07:38 <XXXXXXXXXXXXXXXX> MWAHAHA
04:07:41 -!- XXXXXXXXXXXXXXXX has changed nick to elliott.
04:07:56 <CakeProphet> you define y through as a lambda parameter, yes.
04:08:09 <itidus20> ahh i see
04:08:39 <itidus20> so i would just say a y becomes λa.(a y) b and then it would become a b
04:08:53 <oklopol> "<Patashu> I just opened it up and got 227 seconds on expert. was wondering if that was decent" <<< my record is about 180 on this computer, haven't played a lot yet. i usually play normal since you can only win every 8th or so expert, which is frustrating
04:08:55 <CakeProphet> a y doesn't become that expression, no
04:08:59 <CakeProphet> but you could change it to that yourself.
04:09:01 <elliott> oklopol: teach itidus20 lambda calculus
04:09:13 <itidus20> sorry cake sorry
04:09:17 <itidus20> i got distratced rushing
04:09:23 <itidus20> so i would just say a y becomes λy.(a y) b and then it would become a b
04:09:24 <oklopol> my leftie record is something like 227
04:09:31 <Patashu> oklopol: download Mines-Perfect and set it to 'Hint' mode. whenever you have to be lucky hint gives you hints until you don't have to be anymore
04:09:50 <CakeProphet> itidus20: but then a is not defined in any of that.
04:10:01 <elliott> oklopol: im waiting
04:10:12 <oklopol> oh also i don't use flags usually, it's more fun that way, but way slower
04:10:25 <CakeProphet> itidus20: also do you understand how multiparameter functions work?
04:10:30 <elliott> there
04:10:32 <elliott> is no such thing
04:10:34 <elliott> in the lambda calculus
04:10:35 <CakeProphet> .......
04:10:38 <CakeProphet> yes I know
04:10:39 <elliott> jesus christ are you trying to complicate it for itidus20
04:10:47 <CakeProphet> no I am showing him how you would do such a thing.
04:10:47 <elliott> he doesn't even know the basics stop bringing up things for no reason
04:11:08 <elliott> yes "now that you have failed to learn the basics of the lambda calculus let me tutor you in its more advanced usage"
04:11:13 <Patashu> why are we teaching itidus20 lambda calculus?
04:11:19 <CakeProphet> ...he just demonstrated that he has an idea of the basics.
04:11:21 <oklopol> itidus20: first things first, here's how to simulate oop in lc
04:12:00 <itidus20> so guys.. whats another way i can write λx.(a y)? is there any?
04:12:09 <CakeProphet> a is not defined
04:12:11 <CakeProphet> y is not defined
04:12:22 <CakeProphet> you can have.
04:12:22 <itidus20> yes its an ironic function
04:12:29 <oklopol> ironic function
04:12:32 <itidus20> i just realized it when i hit enter
04:12:49 <elliott> oklopol: im waiting for you to teach itidus20 lc
04:12:51 <itidus20> humm i guess what i mean is
04:13:01 <CakeProphet> λa.(λy.(λx.a y))
04:13:31 <oklopol> elliott: okay, but only because i'm a professional teacher now
04:13:46 <itidus20> cake. ok i get what you mean there i think.. however..
04:13:47 <oklopol> itidus20: see, functions are like these creatures that eat stuff and poop other stuff out
04:13:58 <oklopol> but the poop is edi
04:14:01 <oklopol> ble!
04:14:13 <itidus20> is there a way to reduce λa.b c
04:14:21 <CakeProphet> not as a standalone expression
04:14:23 <oklopol> it's yummy poop really
04:15:38 <itidus20> but λa.b c d is either (λa.b c) d or λa.((b c) d) right?
04:16:20 <itidus20> hmm or λa.(b (c d)) also
04:16:24 <Jafet> I wonder what's the minimum number of identifiers you need for lambda calculus to be turing complete
04:16:29 <Jafet> Enough to define S and K, I guess
04:16:46 <Jafet> That makes three or so
04:16:56 <oklopol> "<Patashu> oklopol: download Mines-Perfect and set it to 'Hint' mode. whenever you have to be lucky hint gives you hints until you don't have to be anymore" <<< does it crash if you construct a convoluted case where it's hard to tell
04:17:19 <pikhq> S=\xyz.xz(yz);K=\xy.x says "3 at most".
04:17:27 <Patashu> oklopol: I've never seen it mischaracterize or crash
04:17:28 <Jafet> I presume the software doesn't let you tell it which position to use
04:17:36 <pikhq> itidus20: It's always \a.((b c) d), by definition.
04:17:47 <oklopol> Patashu: i've never seen a hard problem in ms
04:17:51 <elliott> oklopol: please teach itidus20 lambda calculus thanks
04:17:57 <oklopol> which was not manually constructed
04:18:12 <itidus20> its best just to let me ask the questions ^_^;
04:18:20 <oklopol> elliott: oh okay but only because it's my profession
04:18:51 <Jafet> Can you make a turing complete set of combinators with two variables? I suspect it's impossible with one
04:19:08 <elliott> Jafet: it's provably impossible with one
04:19:14 <Patashu> oklopol: yeah, the randomly genreated patterns are easy because you get so many clues
04:19:24 <CakeProphet> elliott: prove it.
04:19:27 <oklopol> itidus20: so you know how functions have an arg and then they have a body, well, the thing is when you apply a function, or "usabilize" it, it means you like put stuff to the arg and then like substitute things (let's not get into details) and that's it then
04:19:28 <elliott> k
04:19:35 <elliott> its proved in that paper uhh
04:19:36 <pikhq> CakeProphet: There is one definable function:\x.x
04:19:40 <elliott> but basically
04:19:42 <itidus20> pikhq: so λa.b c d is unambiguously λa.((b c) d) then?
04:19:45 <elliott> repeat the combinator N times
04:19:47 <Jafet> pikhq: \x.x x
04:19:49 <elliott> Jafet: oh uh
04:19:51 <pikhq> Jafet: Fuck you.
04:19:53 <pikhq> Jafet: :P
04:19:53 <elliott> Jafet: there is a one-combinator complete base
04:19:56 <elliott> but you need parentheses
04:19:58 <elliott> or at least
04:20:00 <elliott> some tree structure
04:20:03 <elliott> you cannot just have it be "unary"
04:20:09 <elliott> i.e. repeated applications without parens of one combinator
04:20:10 <pikhq> itidus20: Yes.
04:20:11 <oklopol> Patashu: maybe that's the reason, yes, dunno.
04:20:15 <Jafet> elliott: but the combinator can't be defined with just one variable name
04:20:20 <elliott> Jafet: oh
04:20:21 <elliott> right
04:20:23 <Jafet> So you can't bootstrap it into one-variable lambda calculus
04:20:25 <elliott> i see what you mean
04:20:41 <oklopol> in any case, there's a very small amount of patterns you have to learn
04:21:04 <elliott> Jafet: yeah i suspect you always need three variables
04:21:08 <elliott> except hmm
04:21:16 <elliott> can S be expressed as some composition of two-arg combinators...
04:21:35 <zzo38> I have had idea, make a program it can do compression, decompression, encryption, using its own programming language with these blocks: Top block, Pipe block, Control block, I/O block, Pure block, and Data block.
04:22:03 <Jafet> Breaking news: zzo invents cobol
04:22:07 <itidus20> so i know that λf.λx.x or λfx.x or \fx.x or \fx->x is church zero :D
04:22:15 <elliott> Jafet: teach itidus20 lambda calculus
04:22:36 <itidus20> ^alonzo-church zero
04:22:43 <oklopol> "<CakeProphet> elliott: prove it." --- it basically means you can only have functions that take an argument and apply it to itself n times
04:22:48 <pikhq> itidus20: The Church numerals are nothing inherent, they're just an encoding of numerals in the calculus.
04:22:49 <oklopol> so isn't it kind of obvious
04:22:58 <elliott> oklopol: well you can also apply them to self-applications :P
04:23:08 <elliott> as in \x.x(xx)
04:23:12 <elliott> CLEARLY
04:23:13 <elliott> THAT MAKES
04:23:14 <elliott> ALL
04:23:14 <elliott> THE
04:23:15 <elliott> DIFFERENCE
04:23:15 <pikhq> itidus20: This would be a bit like learning C by staring at struct {void*car,*cadr;} for a bit.
04:23:16 <CakeProphet> oklopol: prove that it's obvious. :D
04:23:21 <zzo38> Each one has its own commands, restrictions, etc. Such as, Top block is only one and it has no flow control. All operations in I/O block are reversible, including I/O. Each block has its own memory and there are restrictions how to access the memory from other blocks and from within the same block.
04:23:32 <itidus20> hmmmm
04:23:44 <pikhq> Erm, s/cadr/cdr/
04:23:44 <itidus20> ok back on track lets see
04:23:46 <Jafet> oklopol: jigsaw puzzles are turing complete
04:24:05 <Patashu> is that like the wang tiling turing completeness proof?
04:24:28 <Jafet> Yes, just assign colours to pieces
04:24:46 <oklopol> "<elliott> oklopol: well you can also apply them to self-applications :P" --- well yes, sure, and i don't actually have any idea what that implies
04:24:48 <zzo38> Can you explain how jigsaw puzzles are turing complete?
04:25:01 <CakeProphet> a human with a pencil and paper is turing complete.
04:25:02 <Patashu> zzo38, look up wang tiling
04:25:03 <elliott> \x.x(xx) looks suspiciously like the body of fix
04:25:07 <elliott> erm
04:25:07 <elliott> of Y
04:25:15 <elliott> but that has two variables :P
04:25:41 <Patashu> basically, it's set up to never repeat itself. so with certain initial conditions you can come up with an infinite number of different end results
04:25:52 <oklopol> "<CakeProphet> oklopol: prove that it's obvious. :D" --- i never said it's obvious, i asked whether it was obvious. i have revolutionized the socratic method, really.
04:26:14 <Patashu> I think it halts if you have to make a hole? don't recall exactly
04:26:34 <CakeProphet> I will now use the socratic method to teach itidus20
04:26:39 <CakeProphet> itidus20: what is the lambda calculus?
04:26:50 <oklopol> halts?
04:27:25 <oklopol> if a tiling never repeats itself, you have uncountably many ways to tile the plane
04:27:26 -!- cheater has quit (Ping timeout: 260 seconds).
04:27:35 <CakeProphet> oklopol: also that was a rhetorical question DOESN'T COUNT.
04:27:47 <oklopol> i mean if there is no periodic tiling, then you have uncountably many tilings
04:28:05 <Jafet> oklopol: incorrect
04:28:10 <zzo38> OK, I did read about it. "It is possible to translate any Turing machine into a set of Wang tiles, such that the Wang tiles can tile the plane if and only if the Turing machine will never halt. This problem is undecidable; therefore, the Wang tiling problem is also uncomputable. In a sense, Wang tiles have computational power equivalent to that of a Turing machine."
04:28:12 <Jafet> See Penrose tilings
04:28:40 <oklopol> i'm talking about wang tiles, but i'm pretty sure this holds for other shapes too
04:28:41 <zzo38> And even DNA as well, apparently.
04:29:09 <itidus20> back hmm
04:29:20 <oklopol> Therefore, a finite patch cannot differentiate between the uncountably many Penrose tilings, nor even determine which position within the tiling is being shown.[43]
04:29:23 <oklopol> on wp
04:29:39 <oklopol> where's your reference for only countably many tilings?
04:29:46 <CakeProphet> what are some examples of languages that can be proved to be Turing complete, but where it is very difficult to prove through isomorphism to another language.
04:29:59 <Jafet> Hmm, whoops
04:30:07 <Jafet> Maybe it was the pinwheel tiling
04:30:09 <Gregor> zzo38: Fixed (but not in raw yet)
04:30:22 <oklopol> you do realize i get paid thousands of euros a month to think about tilings
04:30:37 <Jafet> No, I did not realize that
04:30:54 <oklopol> i talk about it all the time
04:31:05 <oklopol> i'm like hey guys you know how i do ca and shit
04:31:19 <oklopol> and you guys like wow oklo u so cool
04:31:23 <oklopol> and i'm like, well, yes
04:31:53 <elliott> copumpkin: so if ghc is getting type-level nats, constraint kinds... what about pattern synonyms? I figure someone must be working on everything I've ever wanted :P
04:31:57 <oklopol> cellular automata are just deterministic tilings
04:32:12 <oklopol> you use the same constructions
04:32:35 <CakeProphet> elliott: pattern tail x = (_:x) ???
04:32:55 <elliott> CakeProphet: that's not the right name for that pattern
04:32:58 <elliott> you can do that already anyway
04:33:00 <elliott> f (tail -> xs) = ...
04:33:09 <elliott> what's more relevant is something like
04:33:18 <CakeProphet> .....you can? is that an extension or something?
04:33:26 <elliott> pattern VarBind name value = SetVar (Var name) (Eval (Exp value))
04:33:27 <elliott> or w/e
04:33:29 <elliott> CakeProphet: view patterns
04:34:06 <CakeProphet> I am not finding your example easy to discern.
04:34:13 <oklopol> anyway there are multiple ways to show tiling is undecidable, the usual way is to use robinson's tileset which draws an infinite quadtree of squares on the plane (Squares on a Plane!), you then just run a tm in each of these squares, avoiding hitting any of the smaller squares inside the big one
04:34:17 <elliott> which example
04:34:20 <oklopol> this is easy to do as tilings are nondeterministic
04:34:21 <zzo38> But I wanted more-notation in GHC, too. As well as, the ability to transform categories at compile time using TH, other than only the Hask category.
04:34:26 <elliott> CakeProphet: /
04:34:27 <elliott> ?
04:34:49 * Sgeo_ irritates Gregor
04:35:00 <oklopol> determinizing this is slightly harder, but possible, and proves nilpotency of 1-d ca is undecidable as well
04:35:18 <oklopol> this is a result of my supervisor from some 20 years ago
04:35:38 <elliott> CakeProphet: ?
04:35:41 <oklopol> also proves entropy of ca is uncomputable
04:36:43 <elliott> CakeProphet: hello?
04:37:12 <oklopol> Patashu: i can easily prove the uncountability thing to you if you know what compactness is, otherwise i'll go to work
04:37:45 <CakeProphet> elliott: back.
04:37:51 <oklopol> (i hope you don't, because i really have to go to work)
04:37:53 <elliott> <elliott> which example
04:37:56 <Patashu> go to work
04:37:59 <CakeProphet> your VarBind thing.
04:38:00 <CakeProphet> what does it do.
04:38:08 <elliott> declares a pattern synonym.
04:38:12 <elliott> then
04:38:17 <elliott> f (VarBind name value) = ...
04:38:18 <elliott> ===
04:38:21 <elliott> f (SetVar (Var name) (Eval (Exp value))) = ...
04:38:38 <CakeProphet> oh okay
04:38:42 <CakeProphet> right that's what I was saying basically.
04:38:45 <elliott> the lack of ability to abstract patterns is one of haskell's major flaws imo. it means that you have to deliberately design your datatypes to avoid nesting (and therefore be weaker, structurally) to make matching convenient.
04:38:58 <elliott> it also makes using things like Mu to do recursive types prohibitive
04:39:08 <elliott> which makes e.g. seamless annotation of datatypes a pain
04:39:15 <elliott> (like annotating an AST with source location information at every node)
04:39:20 <zzo38> Well, I would like to have macros.
04:39:26 <oklopol> thanks. also because it's not at all easy to prove
04:39:32 <CakeProphet> elliott: also how was tail not the right name for that pattern.
04:39:37 <CakeProphet> when that's exactly what it is..
04:39:41 <elliott> it is not.
04:39:55 <elliott> it's consSomething
04:40:00 <elliott> an ugly name for an ugly patter
04:40:00 <elliott> n
04:40:04 <elliott> you have to describe the _inverse_
04:40:32 <CakeProphet> ...no? pattern tail x = (_:x)
04:40:38 <elliott> no.
04:40:41 <elliott> that is the wrong name.
04:40:44 <CakeProphet> f (tail z) === f (_:x)
04:40:46 <copumpkin> elliott: they're in SHE, quit bitchin'
04:40:47 <CakeProphet> er
04:40:49 <CakeProphet> s/x/z/
04:40:53 <elliott> f (tail xs) = xs
04:40:55 <elliott> if we say
04:40:58 <elliott> f (tail [99,9])
04:41:02 <elliott> we should get [99,9]
04:41:05 <elliott> because that's how patterns work
04:41:11 <elliott> f (tail [99,9]) == []
04:41:15 <elliott> oops!
04:41:18 <elliott> your name is incorrect.
04:41:21 <elliott> copumpkin: oh come on
04:41:36 <CakeProphet> ....erm
04:42:07 <CakeProphet> so what is tail?
04:42:10 <CakeProphet> in pattern land?
04:42:11 <elliott> sigh
04:42:16 <elliott> it's not anythning
04:42:19 <elliott> because tail is not reversible
04:42:27 <elliott> you can't go from (tail [99,9,9]) to [99,9,9]
04:42:33 <elliott> because you get [9,9] which drops the head information
04:42:35 <elliott> there is no tail pattern
04:42:44 <CakeProphet> ...?
04:42:49 <CakeProphet> patterns need to be reversible?
04:43:01 <elliott> i am done bashing my head against this particular brick wall, sorry. figure it out for yourself
04:43:06 <zzo38> I will try to make a better macro system for Haskell, if I can.
04:43:47 <CakeProphet> functions are already pretty good at being macros...
04:44:46 <zzo38> CakeProphet: I don't think so. That is, if you want complicated macros doing stuff that is not how functions do.
04:44:57 <Gregor> Huzzah, I just fixed an extremely minor bug nobody knew about while thinking I was fixing a less-minor bug somebody did know about :P
04:45:35 <oklopol> Gregor: i'm a bit disappointed, i thought you were omnipotent
04:45:38 <Gregor> zzo38: OK, now the ACTUAL bug has been fixed :P
04:45:56 <Gregor> Sgeo_: Maybe once per /book/ :P
04:46:00 <oklopol> but 41 seconds to fix that second bug...
04:46:01 <zzo38> Gregor: OK thanks
04:46:42 <zzo38> Another feature I would like to have, is a function whatType :: Q Type in Template Haskell which when bind to function, that function will receive the parameter telling what types are expected for an expression belonging in place of the TH splice.
04:46:59 -!- PocketMonsterIRC has quit (Read error: Connection reset by peer).
04:46:59 <CakeProphet> elliott: I think the problem is that [99,9] is not a pattern you'd want to use with tail anyways.
04:47:13 <CakeProphet> because it's a literal.
04:47:31 <Gregor> `run wc -l quotes
04:47:42 <HackEgo> 662 quotes
04:47:54 <Gregor> Note how "wc -l quotes" happens to give a perfectly-formatted English reply :P
04:48:01 <elliott> CakeProphet: you are wrong
04:48:03 <zzo38> OK
04:48:52 <CakeProphet> okay, but I don't think I am.
04:48:56 <CakeProphet> noted?
04:49:07 <elliott> CakeProphet:
04:49:11 <elliott> f (tail [99,9]) = "hello world"
04:49:14 <elliott> f _ = "oh no"
04:49:19 <elliott> f (tail [99,9]) --> "oh no"
04:49:29 <CakeProphet> right, I'm saying it doesn't make sense to use [99,9] with tail
04:49:29 <elliott> if you think that a pattern should not match _itself_ as code, you are insane.
04:49:36 <elliott> copumpkin: please tell CakeProphet he's wrong thx
04:49:40 <CakeProphet> you would want to use a variable.
04:49:44 <CakeProphet> to bind
04:49:46 <CakeProphet> with
04:49:52 <elliott> CakeProphet: you are wrong.
04:49:59 <elliott> hey Gregor tell CakeProphet he's wrong.
04:50:27 <monqy> whats hapening
04:50:31 <monqy> i haven't been attentioen
04:50:36 <monqy> is CakeProphet wrong
04:50:36 <elliott> CakeProphet thinks that
04:50:39 <elliott> pattern tail x = _:x
04:50:42 <elliott> is a correct pattern synonym
04:50:42 <elliott> despite
04:50:45 <elliott> <elliott> f (tail [99,9]) = "hello world"
04:50:45 <elliott> <elliott> f _ = "oh no"
04:50:46 <elliott> <elliott> f (tail [99,9]) --> "oh no"
04:50:49 <elliott> and the fact that tail is not reversible anyway
04:50:55 <elliott> and me telling him that pattern should actually be called consAnythingTo
04:51:04 <monqy> im confsued??????
04:51:07 <elliott> yes
04:51:15 <CakeProphet> I didn't say it matched the code, but that tail was a correct name for it because it matches the tail of the input.
04:51:22 <elliott> CakeProphet: that is not how patterns work.
04:51:56 <elliott> the pattern (tail xs) should match the result of a function application (tail xs) and bind xs to the argument given to tail.
04:52:02 <elliott> this is impossible, as tail is not reversible.
04:52:15 <CakeProphet> ...is there any functions that could be turned into pattern synonyms like that?
04:52:15 <elliott> if you think otherwise, you are wrong, and I have explicitly shown you why your pattern is incorrect
04:52:31 <elliott> varBind name value = SetVar (Var name) (Eval (Exp value))
04:52:34 <elliott> pattern varBind name value = SetVar (Var name) (Eval (Exp value))
04:52:43 <elliott> O;H MY GOD SO HARD
04:52:51 <elliott> the correct definition of a tail pattern is
04:52:55 <elliott> pattern tail (_:xs) = xs
04:52:57 <elliott> which would be used like
04:53:07 <elliott> f (tail (x:xs)) = x
04:53:10 <elliott> which is clearly impossible
04:53:18 <zzo38> What I mean, is, to be able to make up macros that make up do notation and list notation and that stuff.
04:54:40 <CakeProphet> elliott: okay I understand.
04:54:48 <CakeProphet> I was just thinking of the pattern synonyms as pattern functions, which they are.
04:58:37 -!- jix has quit (Ping timeout: 260 seconds).
04:58:37 -!- Wamanuz has quit (Ping timeout: 252 seconds).
04:58:37 -!- Deewiant has quit (Ping timeout: 252 seconds).
04:59:21 -!- CakeProphet has quit (Ping timeout: 252 seconds).
04:59:21 -!- yiyus has quit (Ping timeout: 260 seconds).
05:01:05 -!- monqy has quit (Ping timeout: 252 seconds).
05:04:09 -!- tiffany has quit (Ping timeout: 260 seconds).
05:04:10 -!- zzo38 has quit (*.net *.split).
05:04:10 -!- yorick has quit (*.net *.split).
05:04:10 -!- aloril has quit (*.net *.split).
05:04:11 -!- augur has quit (*.net *.split).
05:04:11 -!- copumpkin has quit (*.net *.split).
05:04:11 -!- itidus20 has quit (*.net *.split).
05:04:11 -!- fizzie has quit (*.net *.split).
05:04:11 -!- Zetro has quit (*.net *.split).
05:04:11 -!- chickenzilla has quit (*.net *.split).
05:04:12 -!- Jafet has quit (*.net *.split).
05:04:12 -!- quintopia has quit (*.net *.split).
05:04:12 -!- Patashu has quit (*.net *.split).
05:04:12 -!- lambdabot has quit (*.net *.split).
05:04:12 -!- aspect has quit (*.net *.split).
05:04:13 -!- twice11 has quit (*.net *.split).
05:04:13 -!- sebbu2 has quit (*.net *.split).
05:04:13 -!- Sgeo_ has quit (*.net *.split).
05:04:13 -!- DH____ has quit (*.net *.split).
05:04:13 -!- kmc has quit (*.net *.split).
05:04:13 -!- iamcal has quit (*.net *.split).
05:04:13 -!- rodgort has quit (*.net *.split).
05:04:13 -!- ineiros has quit (*.net *.split).
05:04:13 -!- Lymee has quit (*.net *.split).
05:04:13 -!- Nisstyre has quit (*.net *.split).
05:04:13 -!- jcp has quit (*.net *.split).
05:04:14 -!- elliott has quit (*.net *.split).
05:04:14 -!- myndzi has quit (*.net *.split).
05:04:14 -!- MDude has quit (*.net *.split).
05:05:20 -!- elliott has joined.
05:05:20 -!- Deewiant has joined.
05:05:20 -!- glogbackup has joined.
05:05:20 -!- tiffnya has joined.
05:05:20 -!- monqy_ has joined.
05:05:20 -!- CakeProp1et has joined.
05:05:20 -!- jix_ has joined.
05:05:20 -!- Wamanuz2 has joined.
05:05:20 -!- Jafet has joined.
05:05:20 -!- augur has joined.
05:05:20 -!- quintopia has joined.
05:05:20 -!- copumpkin has joined.
05:05:20 -!- zzo38 has joined.
05:05:20 -!- itidus20 has joined.
05:05:20 -!- sebbu2 has joined.
05:05:20 -!- Sgeo_ has joined.
05:05:20 -!- kmc has joined.
05:05:20 -!- iamcal has joined.
05:05:20 -!- lambdabot has joined.
05:05:20 -!- rodgort has joined.
05:05:20 -!- yorick has joined.
05:05:20 -!- myndzi has joined.
05:05:20 -!- aloril has joined.
05:05:20 -!- MDude has joined.
05:05:20 -!- fizzie has joined.
05:05:20 -!- ineiros has joined.
05:05:20 -!- Zetro has joined.
05:05:20 -!- aspect has joined.
05:05:20 -!- chickenzilla has joined.
05:05:20 -!- Lymee has joined.
05:05:20 -!- Nisstyre has joined.
05:05:20 -!- jcp has joined.
05:05:20 -!- twice11 has joined.
05:05:37 -!- elliott has quit (Client Quit).
05:05:37 -!- glogbackup has left.
05:05:37 <CakeProp1et> lol
05:05:37 -!- monqy_ has changed nick to monqy.
05:06:04 <CakeProp1et> that was a tumultuous netsplit.
05:06:20 -!- CakeProp1et has changed nick to CakeProphet.
05:08:22 -!- elliott_ has joined.
05:08:30 <elliott_> CakeProphet: hyo
05:08:31 <elliott_> yorick:
05:08:31 <CakeProphet> elliott_: I don't really see why you didn't just ait. :P
05:08:31 <elliott_> yo
05:08:36 <elliott_> ait?
05:08:37 <CakeProphet> *wait
05:08:40 <elliott_> because
05:08:40 <elliott_> f
05:09:02 <CakeProphet> do I repulse you? :P
05:09:17 <elliott_> yes
05:09:58 <CakeProphet> you just don't understand my ways.
05:10:22 -!- MDude has changed nick to MSleep.
05:10:42 <monqy> ok time to pay attention again
05:10:49 -!- zzo38 has quit (Remote host closed the connection).
05:11:11 <elliott_> monqy: help in mercury how do i define a typeclass which takes a type function
05:11:12 <elliott_> not a type
05:12:30 <monqy> i dont know that much meurgcury :_--; how to learn type clases
05:12:34 * Sgeo_ wonder if any Ruby nuts would consider it sinful to use hg for a Ruby project
05:12:58 <monqy> "dont use ruby" -monqy
05:13:06 <elliott_> "dont use hg" -elliott
05:13:30 <elliott_> hey monqy its
05:13:30 <elliott_> six am
05:13:31 <elliott_> do i
05:13:32 <Sgeo_> Hmm? What's wrong with hg, is git any better, and if no to the last question, what should I use?
05:13:33 <elliott_> sleep
05:13:38 <elliott_> Sgeo_: darcs
05:13:47 <elliott_> or git if you care about other people but really you don't
05:13:51 <CakeProphet> !perl print (("yes", "no")[int(rand(2))])
05:13:53 <EgoBot> no
05:14:07 <CakeProphet> -- monqy
05:14:08 <monqy> can you selpp? recently i have been unable to sleep properly so i do not sleep properly, then i take naps when i am ready
05:14:31 -!- lifthrasiir has quit (Ping timeout: 260 seconds).
05:15:22 -!- yiyus has joined.
05:15:29 -!- Jafet has quit (Quit: Leaving.).
05:17:35 <itidus20> ok so, λa.(((((b c)d)e)f)g) i figure this is equivalent of λa.bcdefg but does (λa.bcdefg) h reduce to h ?
05:17:55 <itidus20> oops.. no i thought that out wrong
05:18:00 <monqy> oops
05:18:28 <itidus20> does (λa.bcdefg) h reduce to bcdefg ?
05:18:51 <copumpkin> yes
05:20:03 <itidus20> do applications only get applied in the presence of bound variables?
05:20:19 <monqy> what
05:20:25 <itidus20> well
05:20:34 <itidus20> bcdefgh cannot be reduced right?
05:20:58 <itidus20> uhm no.. i'm still asking the wrong question
05:21:23 <itidus20> (bcdefg) h cannot be reduced right?
05:21:34 <elliott_> sure
05:22:28 <itidus20> but if it was λb.(bcdefg) h it would become hcdefg
05:22:54 <copumpkin> if you meant different parentheses
05:23:08 <itidus20> parentheses are fairly confuing to me
05:23:49 <monqy> (\b.bcdefg)h
05:23:57 <itidus20> ahhh
05:23:59 <monqy> => hcdefg
05:27:17 <itidus20> hmm.. so the order of bcdefg only matters when one of them has an abstraction applied to it
05:27:30 <monqy> what
05:29:38 <itidus20> well.. you only need to think about implicit parentheses in (\b.bcdefg) if there is something like (\d.bcdefg) \x.y
05:29:53 <monqy> what
05:30:45 <itidus20> well i guess i am wondering what (\d.bcdefg) \x.y becomes
05:31:00 <CakeProphet> substitute d with \x.y
05:31:02 <CakeProphet> in the lambda
05:31:06 <CakeProphet> and return the expression
05:31:41 <itidus20> hmmm bc \x.y efg
05:31:50 <monqy> needs parens
05:32:09 <itidus20> thats what i am a bit confused about
05:32:13 <CakeProphet> you do know how functions work right?
05:32:36 <CakeProphet> also how is it confusing.
05:32:36 <itidus20> hmmm (((((bc)\x.y)e)f)g) ?
05:33:04 <monqy> you can reduce it further
05:33:10 <CakeProphet> you can also just write it as bc(\x.y)efg
05:33:17 <monqy> wait no oops
05:33:23 <monqy> im cfoneuse
05:33:35 <itidus20> ahhh
05:34:03 <itidus20> ok so needs parens means bc \x.y efg needs to be at least bc(\x.y)efg ?
05:34:08 <monqy> it might be wise to work with a few less free variables and do bigger reductions etc...........
05:34:19 <elliott_> "Have a question for the Republican candidates? Ask it now" ask it now links to youtube fox news help... "fox news google debate" oh god stop collaborating with them nO google
05:34:23 <elliott_> YUORE EVIL BUT NOT TATHT EVIL
05:34:29 <monqy> itidus20: something you might enjoy: (\x.xx)(\x.xx)
05:35:05 <itidus20> monqy: i set that situation up specifically to confuse myself and have it resolved now
05:35:17 <monqy> itidus20: oh?
05:37:26 <itidus20> so what i have learned is if i get (\d.bcdefg) \x.y then it is best reduced to bc(\x.y)efg
05:37:51 <monqy> have you learned anything else
05:38:21 <itidus20> i have what is known as a slow mind
05:38:29 <monqy> oh
05:38:32 <itidus20> i don't multitask very well..
05:38:43 <monqy> what was your conclusion on (\x.xx)(\x.xx)
05:38:48 <itidus20> i tend to like to finish one thought before jumping to another though
05:39:04 <itidus20> i havent actually begun looking at it yet.. which i will start now
05:39:52 <monqy> oh I thought you said you had resolved it but I guess you were referring to something else oops
05:41:34 <itidus20> step 1) (\x.xx)(\x.xx) intermediate step 1.5) (\x.(\x.xx)(\x.xx)) step 2) (\x.xx)(\x.xx) ... this i can now recall as something which i saw in some sidenote i saw somewhere about how not everything can be reduced (i forget exactly.. nevermind that)
05:42:18 <monqy> your intermediate step does not make sense to me
05:42:26 <monqy> is it in a different notation
05:42:32 <itidus20> hahaha
05:42:42 <itidus20> (\x.xx)(\x.xx) reduces to (\x.xx)(\x.xx)
05:42:48 <monqy> yes
05:43:01 <elliott_> sounds like itidus20 is starting to get it :P
05:44:07 <CakeProphet> is (\x.xx) fix? it seems similar.
05:44:18 <monqy> no
05:44:35 <CakeProphet> can you do Y in LC?
05:44:45 <monqy> sorry i just sputtered
05:44:57 <itidus20> (\x.xx) a would be a a
05:45:15 <elliott_> CakeProphet: it's mock. and duh, of course.
05:45:17 <elliott_> erm
05:45:18 <elliott_> mockingbird
05:45:39 <CakeProphet> I figured it was possible I'm just not sure how to write it
05:48:47 <monqy> I used to remember, but then I forgot. ;_;
05:49:53 <elliott_> sent in /msg
05:49:59 <CakeProphet> NOPE I AM GOING TO FIGURE IT OUT.
05:50:03 <elliott_> too late
05:50:06 <CakeProphet> not looking
05:50:12 <elliott_> k
05:50:16 <elliott_> its trivial
05:50:44 <itidus20> so is... trivia
05:50:49 <monqy> hi
05:51:44 <CakeProphet> \f. (\x. f (x x))(\x f (x x))
05:51:58 <CakeProphet> I think.
05:52:00 * CakeProphet checks.
05:52:09 <CakeProphet> BAM...
05:52:13 <CakeProphet> awwww yeah.
05:52:26 <monqy> victory dance
05:52:41 <CakeProphet> like mockingbird with that extra f...
05:56:29 <CakeProphet> recursion is weird in lambda calculus
05:56:32 <CakeProphet> well, I mean, not weird.
05:56:40 <monqy> ok
05:56:46 <CakeProphet> you just can't refer to the function by a name so you have to do the above.
05:57:17 <monqy> there are other ways too
05:58:15 <CakeProphet> I'd imagine they're all more or less equivalent.
06:00:10 <elliott_> LC is really in need of primitive fix, because a proper fix introduces sharing.
06:00:32 <CakeProphet> is sharing a thing that even makes sense to talk about in the context of LC?
06:00:38 <elliott_> yes.
06:00:39 <itidus20> and (\xy.xx)(\xy.xx) reduces into y.(y.(y.(y.((\xy.xx)(\xy.xx))))) and so on reducing forever right?
06:01:21 <itidus20> oops what i mean is
06:01:22 <elliott_> (\xy.xx)(\xy.xx) -> (\y.(\xy.xx)(\xy.xx))
06:01:23 <elliott_> then it stops
06:01:27 <elliott_> because it's a lambda without any application
06:01:38 <itidus20> ahhh
06:01:45 <monqy> you can still reduce cant you??
06:01:56 <monqy> depending on your
06:01:59 <monqy> evaluation strategy
06:02:15 <elliott_> monqy: not helpful
06:02:22 <monqy> ??
06:02:24 <CakeProphet> elliott is using the evaluate-by-impatient-programer strategy.
06:02:47 <monqy> oh wait
06:02:49 <monqy> uhh
06:02:56 <monqy> i think something bad happened
06:03:01 <monqy> heygenie wise
06:03:11 <monqy> it got dirted
06:03:17 <CakeProphet> genie: hey
06:03:30 <monqy> or not
06:03:37 <monqy> how did i confuse myself like that
06:03:38 <monqy> how
06:03:39 <monqy> did that happen
06:03:44 <monqy> maybe i am tired
06:03:55 <CakeProphet> maybe I am going to sleep.
06:04:01 <Vorpal> morning
06:04:12 <Vorpal> I see elliott_ is still up
06:04:26 <elliott_> NO IVE BEEN
06:04:27 <elliott_> IN BED FOR HOURS
06:04:28 <elliott_> AND
06:04:29 <elliott_> AM GOING TO BED
06:04:30 <elliott_> NOW
06:04:37 <Vorpal> elliott_: surely you will fall asleep during school?
06:05:12 <elliott_> zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz;
06:05:15 <monqy> z
06:08:43 <itidus20> (λy'2'.(λy'6'.(λy'10'.(λy'14'.(λy'18'.(λy'22'.(λy'26'.(λy'30'.(λy'34'.(λy'38'.(λy'42'.(λy'46'.(λy'50'.(λy'54'.(λy'58'.(λy'62'.(λy'66'.(λy'70'.(λy'74'.(λy'78'.(λy'82'.(λy'86'.(λy'90'.(λy'94'.(λy'98'.(λy'102'.(λy'106'.(λy'110'.(λy'114'.(λy'118'.(λy'122'.(λy'126'.(λy'130'.(λy'134'.(λy'138'.((λx'141'.(λy'142'.(x'141' x'141'))) (λx'143'.(λy'144'.(x'143' x'143'))))))))
06:08:43 <itidus20> )))))))))))))))))))))))))))))))
06:08:50 <itidus20> heh phew
06:09:37 -!- elliott_ has quit (Ping timeout: 240 seconds).
06:09:40 <monqy> itidus20: hi
06:09:43 <aspect> are those 'numbers' for hygiene?
06:10:03 <itidus20> this thing http://codu.org/lambda/lambda.html
06:10:07 <aspect> because if so, you might be interested to look up deBruijn-index notation
06:10:23 <itidus20> aspect: i'm a newbie really.
06:10:39 <aspect> that doesn't make it any less fun :)
06:10:55 <itidus20> it was auto generated numbers
06:18:05 <CakeProphet> itidus20: http://en.wikipedia.org/wiki/Church_encoding#Church_booleans
06:18:12 <CakeProphet> now read through this article, starting there.
06:18:25 <CakeProphet> and then go back to the top once you've read that.
06:19:36 <CakeProphet> notice how the Church encodings for true and false act like an if expression.
06:20:05 <CakeProphet> true x y = x; false x y = y
06:21:21 <itidus20> i don't like" true = ^ift.^iff.ift "
06:21:33 <CakeProphet> ...okay.
06:21:43 <itidus20> does he mean something else? :P
06:21:54 <CakeProphet> who is he.
06:22:13 <CakeProphet> also what is ^if
06:22:16 <itidus20> well its the codu page i assume its gregor
06:22:27 <itidus20> sounds like a screenshot in order
06:22:55 <monqy> CakeProphet: ^ is lambda
06:22:57 <CakeProphet> dunno but just look at that wikipedia page.
06:23:00 <CakeProphet> it uses a nicer syntax
06:23:08 <CakeProphet> no I saw it.
06:23:10 <CakeProphet> itidus20: no screenshot
06:24:31 <itidus20> http://oi55.tinypic.com/25pq0bc.jpg wahahaha
06:24:34 <CakeProphet> ..
06:24:41 <CakeProphet> dude I can scroll up in the conversation and click on a link.
06:24:52 <itidus20> ok ok nevermind
06:24:55 <itidus20> hmm
06:25:32 <CakeProphet> so yeah you write conditionals like: predicate then-value else-value
06:25:35 <itidus20> so what gregor is doing then is saying "x" = "ift", "y" = "iff"
06:25:43 <CakeProphet> no.
06:25:56 <CakeProphet> just ignore that it's bad.
06:25:59 <CakeProphet> :P
06:26:18 <CakeProphet> true = \a.\b. a
06:26:49 <CakeProphet> you can think of this as a kind of two-argument function.
06:26:53 <CakeProphet> true x y
06:27:18 <CakeProphet> which is actually ((true x) y), see how that works?
06:27:40 <itidus20> hmm \ab.a and \ab.b
06:27:53 <CakeProphet> yes those the typical representations for true and false.
06:28:23 <CakeProphet> \ab.expr just being a shorthand for \a.(\b. expr)
06:28:35 <itidus20> (\ab.a) c reduces to \b.c ?
06:28:41 <CakeProphet> yes.
06:28:52 <CakeProphet> see how it's like a conditional?
06:28:57 <itidus20> hmm
06:29:07 <CakeProphet> once you have and, or, and not defined
06:29:09 <CakeProphet> you can say things like
06:29:15 <CakeProphet> (and a b) x y
06:29:23 <CakeProphet> if a and b are both true then x is returns, otherwise y
06:29:38 <itidus20> (\ab.b) c reduces to (b.b) ?
06:29:47 <CakeProphet> \b.b yes
06:29:52 <itidus20> oops
06:29:59 <itidus20> haha those silly \'s
06:30:10 <itidus20> always trying to catch me out
06:30:11 <CakeProphet> ...am I making any sense?
06:30:25 <itidus20> yes except im thinking about 5 times slower
06:32:25 <CakeProphet> are you familiar with ?: in other languages? church booleans work like that except automatically... you don't need ?:
06:32:47 <itidus20> so if true = \ab.a then true x == \b.x and if false = \ab.b then false x == \b.b
06:32:56 <CakeProphet> yes.
06:33:03 <CakeProphet> true x y = ???
06:33:05 <CakeProphet> false x y = ??
06:33:11 <itidus20> humm
06:33:12 <CakeProphet> homework. go.
06:33:55 -!- Jafet has joined.
06:35:53 <CakeProphet> ....have you figured it out yet.
06:36:32 <itidus20> (\a.(\b.a)) x y (\b.x) y x ; (\a.(\b.b)) x y (\b.b) y y;
06:36:46 <itidus20> so thats about my processing speed
06:37:01 <CakeProphet> you already had half of it worked out you didn't need to start over.
06:37:16 <itidus20> either of us expecting my brain to go any faster will result in just anguish
06:37:27 <itidus20> i suggest enjoy the peace
06:37:28 <CakeProphet> okay so... uh
06:37:33 <CakeProphet> do you see how that's a conditional?
06:38:00 <CakeProphet> if you pass a Church boolean two arguments, true will give you the first one, and false will give you the second one.
06:40:16 <CakeProphet> true x y == x
06:40:19 <CakeProphet> false x y == y
06:40:31 <CakeProphet> .......right?
06:40:50 <CakeProphet> that's like.... a conditition, where you want one thing to happen when something is true and another thing to happen when something is false.
06:40:56 <CakeProphet> >_> <_< hello?
06:44:08 <CakeProphet> you're not paying attention are you.
06:44:12 <Sgeo_> itidus20, ping
06:44:40 <Sgeo_> Night all
06:49:20 -!- Sgeo_ has changed nick to Sgeo.
06:50:04 -!- GreaseMonkey has joined.
06:50:04 -!- GreaseMonkey has quit (Changing host).
06:50:04 -!- GreaseMonkey has joined.
07:01:46 <itidus20> i was afk
07:02:21 <CakeProphet> go forth and learn.
07:06:06 <CakeProphet> :t let true x y = x; false x y = y; not b = b false true in not true
07:06:06 <lambdabot> forall t t1. t -> t1 -> t1
07:06:11 <CakeProphet> :t let true x y = x; false x y = y; not b = b false true in not false
07:06:12 <lambdabot> forall t t1. t -> t1 -> t
07:09:02 <CakeProphet> > let true x y = x; false x y = y; not b = b; and x y = x y false; or x y = x true y in false true in or (not true) (and true false) "launch nukes" "pet kitten"
07:09:03 <lambdabot> <no location info>: parse error on input `in'
07:09:18 <CakeProphet> > let true x y = x; false x y = y; not b = b; and x y = x y false; or x y = x true y in or (not true) (and true false) "launch nukes" "pet kitten"
07:09:19 <lambdabot> "launch nukes"
07:09:25 -!- Patashu has joined.
07:09:39 <Patashu> first minesweeper 'speedrun' video http://www.youtube.com/watch?v=k​tLAPx_v8AE
07:09:44 <CakeProphet> > let true x y = x; false x y = y; not b = b; and x y = x y false; or x y = x true y in or (not false) (and true false) "launch nukes" "pet kitten"
07:09:45 <lambdabot> "pet kitten"
07:10:08 <CakeProphet> er...
07:10:21 <CakeProphet> not should be not b = b false true... I accidentally cut that out.
07:12:10 <CakeProphet> heh, I just noticed that if' in Haskell is a function that converts a Bool to a Church boolean. :P
07:15:31 <Patashu> http://www.youtube.com/watch?v=ktLAPx_v8AE fixed link
07:32:32 -!- rodgort has quit (Ping timeout: 260 seconds).
07:32:49 -!- lifthrasiir has joined.
07:42:12 -!- rodgort has joined.
07:50:17 -!- sllide has joined.
08:01:54 -!- sllide has quit (Ping timeout: 260 seconds).
08:12:51 -!- GreaseMonkey has quit (Quit: The Other Game).
08:21:31 <aspect> let true x = const x; false x = id; cons x y = \z -> z x y; car = true; cdr = false in (car (cdr (cons 1 (cons 2 3))))
08:21:34 <aspect> > let true x = const x; false x = id; cons x y = \z -> z x y; car = true; cdr = false in (car (cdr (cons 1 (cons 2 3))))
08:21:35 <lambdabot> Overlapping instances for GHC.Show.Show (b -> a -> a)
08:21:35 <lambdabot> arising from a use...
08:21:58 <aspect> hm, really?
08:23:07 <Patashu> I think that happens if it tries to show a function
08:23:08 <aspect> > let true x = const x; false x = id; cons x y = \z -> z x y; car = true; cdr = false in (cons 1 (cons 2 3)) cdr car
08:23:09 <lambdabot> 2
08:23:25 <aspect> duh
08:23:44 <aspect> should have used car x = x true etc
08:27:07 -!- nooga has joined.
09:27:01 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
09:41:00 -!- Patashu has joined.
09:42:02 <Patashu> I have a question about holding ctrl and hitting space.
09:42:06 <Patashu> On pidgin and notepad++, it does nothing.
09:42:12 <Patashu> On chrome and mIRC, it creates a space.
09:42:23 <Patashu> Why does it differ across programs? Is it a linux vs non linux thing?
09:59:03 -!- jix_ has quit (Ping timeout: 260 seconds).
09:59:34 -!- jix has joined.
10:10:01 -!- cheater has joined.
10:10:33 -!- cheater has quit (Client Quit).
10:10:48 -!- cheater has joined.
10:33:21 -!- sebbu2 has quit (Read error: Connection reset by peer).
10:33:51 -!- sebbu2 has joined.
10:54:07 -!- FireFly has joined.
10:57:34 -!- Patashu has quit (Read error: Connection reset by peer).
10:57:49 -!- Patashu has joined.
11:18:41 -!- oerjan has joined.
11:48:33 -!- oerjan has quit (Quit: Reboot).
11:55:03 -!- sebbu2 has changed nick to sebbu.
12:06:07 -!- boily has joined.
12:21:00 -!- oerjan has joined.
12:36:09 -!- oerjan has quit (Quit: Something saw my reboot as an opportunity to ask for another one).
12:37:02 -!- Sgeo has quit (Ping timeout: 260 seconds).
12:43:50 -!- pikhq_ has joined.
12:44:10 -!- pikhq has quit (Ping timeout: 258 seconds).
13:08:30 -!- pikhq has joined.
13:09:30 -!- pikhq_ has quit (Ping timeout: 276 seconds).
13:55:39 -!- Sgeo has joined.
14:00:04 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
14:04:09 -!- augur has quit (Remote host closed the connection).
14:11:06 * Sgeo gets an evil gleam in his eye
14:14:48 * CakeProphet gets a gleam in his evil eye
14:14:54 <Sgeo> and by evil i mean boring
14:19:39 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:23:02 -!- Phantom_Hoover has joined.
14:24:57 -!- sllide has joined.
14:26:42 -!- jcp has quit (Ping timeout: 260 seconds).
14:28:49 -!- Sgeo has quit (Ping timeout: 258 seconds).
14:46:51 -!- copumpkin has joined.
15:42:37 -!- DH____ has joined.
15:49:28 <Gregor> Idea: wine for win32s.
15:49:38 <Gregor> I expect this to be implemented by the time I reappear in ~1hr.
15:49:39 <Gregor> Thx
15:56:27 <CakeProphet> how's the baltic sea doing?
15:57:10 * CakeProphet has been studying for a quiz on the world map, and now knows where things are located.
15:57:21 <CakeProphet> I feel like, at least for now, my dumb American syndrome has been cured.
15:58:46 <cheater> not frozen over yet
15:59:01 <CakeProphet> oh good.
15:59:29 <cheater> although judging by the last winter it might well happen this year
16:00:01 <cheater> i think they hadn't had that for at least 50 years
16:00:56 <CakeProphet> I think lakes in northern Canada freeze often (...?) and they're on the same latitude roughly.
16:01:03 <CakeProphet> but climate is weird and doesn't really work like that.
16:01:11 <cheater> no it doesn't
16:01:29 <cheater> no it is not the same latitude really, the baltic sea is further south
16:01:31 <cheater> also it is a sea.
16:01:35 <cheater> and very salty.
16:01:48 <CakeProphet> is everything named sea in Europe a sea?
16:01:52 <CakeProphet> because there's a lot of inland seas as well.
16:02:11 <CakeProphet> *Eurasia
16:02:13 <cheater> yes
16:02:16 <cheater> those are seas too.
16:02:45 <cheater> although some seas are called lakes by some cultures
16:02:52 <CakeProphet> yeah we don't have those. Unless you count Salt Lake.
16:02:53 <cheater> for example the baltic sea is called Ostsee in german
16:02:56 <cheater> the eastern lake
16:03:00 <CakeProphet> which I think is a... salt lake? I'm not sure what the difference is.
16:03:06 <cheater> probably an influence from dutch
16:03:36 <cheater> the difference is the drifts
16:03:39 <cheater> ebb and flow and so on
16:03:56 <CakeProphet> I thought it was perhaps naming conventions or size related.
16:04:02 <cheater> and whether it is at the top or at the bottom of the reservoir
16:04:03 <cheater> no
16:04:10 <cheater> a sea is the place all water goes into
16:04:18 <cheater> a lake is a source or an intermediate
16:04:24 <CakeProphet> ah okay.
16:04:43 <CakeProphet> can you have a freshwater sea then?
16:04:52 -!- augur has joined.
16:05:01 <cheater> no
16:05:15 <cheater> in the end water ends up penetrating the sediment and reaching minerals
16:05:20 <cheater> that's the "salt"
16:05:31 <CakeProphet> ah.
16:05:34 <cheater> it's not really salt as is, it's a much more complex selection of minerals
16:05:43 <CakeProphet> right.
16:06:04 <cheater> that's why sea salt is a billion times better than industry table salt
16:06:07 * CakeProphet would like to sail on the great lakes.
16:06:22 <cheater> i can get salt which is gathered from the sea by hand in the adriatic
16:06:23 <CakeProphet> I've only seen the coast (I guess that's what you would call it...)
16:06:47 <CakeProphet> I assume when you say "by hand" you mean "by hand using some tools" right? :D
16:06:51 <cheater> apparently if it's very windy the salt grains crystallize on the surface of the adriatic and they are then gathered by the fishermen or something
16:06:58 <CakeProphet> oh.
16:07:07 <cheater> usually by hand means as opposed to using machines
16:07:18 <CakeProphet> NEVER KNOW SEEMED UNLIKELY.
16:07:49 <CakeProphet> thank you for clearing up my dumb american syndrome with some of your geology.
16:08:02 <CakeProphet> unfortunately that will not help me on my map quiz, which I'm still probably fucked for.
16:10:05 <CakeProphet> it's strange, I would think that things like the Arabian and Adriatic seas as being gulfs
16:10:08 <CakeProphet> and not seas.
16:10:25 <CakeProphet> s/that/of/
16:10:56 <CakeProphet> well, red sea is a better example than arabian.
16:13:05 <CakeProphet> I guess they are gulfs but not by name, perhaps.
16:15:16 <CakeProphet> The Red Sea (alternatively Arabian Gulf[1] or Gulf of Arabia[2][3]) i
16:15:17 <CakeProphet> ah
16:15:45 <CakeProphet> but the Adriatic sea doesn't have an alternative gulf name. :P
16:15:45 <cheater> a gulf is like a sea which is more connected to the ocean
16:19:42 <CakeProphet> what's the climate in Germany comparable to?
16:19:52 <CakeProphet> on the western hemisphere.
16:20:18 <cheater> south or north germany?
16:20:26 <CakeProphet> both I guess.
16:20:43 <cheater> i don't think there is a direct match like that
16:20:48 <CakeProphet> I imagine it's cooler than it is here in the south US.
16:20:54 <cheater> yes
16:21:01 <cheater> south usa is like italy i am told
16:21:05 <CakeProphet> currently 81 F here. which is...
16:21:13 <cheater> i was talking about how the weather is in bari just today
16:21:14 <CakeProphet> 28 C
16:21:22 <cheater> apparently it never goes below 10 celsius
16:21:33 <CakeProphet> huh.
16:21:34 <cheater> which would be similar to what i was told about houston
16:21:44 <CakeProphet> it actually does reach freezing here in the winter, at least for a few weeks.
16:21:45 <CakeProphet> depends on the winter.
16:21:59 <CakeProphet> climate in Georgia = wonderful
16:22:16 <CakeProphet> you get really hot summers and still get below freezing temps in the winter sometimes. :P
16:22:26 <cheater> i don't like winters
16:22:28 <cheater> they're pointless
16:22:46 <CakeProphet> this summer was ridiculous. pretty much upper 90s F for over a month.
16:23:03 <cheater> very good
16:23:05 <cheater> that is what i like
16:23:15 <CakeProphet> and, unlike places like Arizona which frequently hit above 100, it's very humid here.
16:23:47 <CakeProphet> !interp
16:23:51 <CakeProphet> !userinterp
16:23:56 <CakeProphet> !userinterps
16:23:56 <EgoBot> ​Installed user interpreters: acro aol austro bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decide drawl drome dubya echo ehird elmer fudd google graph hello id insanetemp jethro kraut lperl lsh map num numberwang ook pansy pi pikhq pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot47 sadbf sanetemp sfedeesh sffedeesh simplename slashes svedeesh swedish valspeak wacro warez wc yodawg
16:24:26 <CakeProphet> I'm pretty sure we have a temperature converter somewhere here...
16:24:40 <CakeProphet> maybe it was removed.
16:25:05 <CakeProphet> !insanetemp 90
16:25:07 <EgoBot> 194.0
16:25:13 -!- MSleep has changed nick to MDude.
16:25:14 <CakeProphet> that's the opposite one.
16:25:23 <CakeProphet> !sanetemp 90
16:25:24 <EgoBot> 32.2
16:25:26 <CakeProphet> !sanetemp 100
16:25:26 <EgoBot> 37.7
16:25:46 <cheater> yea 37 is nice
16:25:52 <CakeProphet> ...not here.
16:26:04 <CakeProphet> humidity + heat = miserable
16:26:18 <CakeProphet> ~90 isn't bad though.
16:26:36 -!- zzo38 has joined.
16:26:50 <CakeProphet> still someone from the north US would be completely baffled as to how anyone would enjoy 90 degree temperatures.
16:26:52 -!- iamcal has quit (Ping timeout: 260 seconds).
16:27:12 <CakeProphet> !sanetemp 0
16:27:12 <EgoBot> ​-17.7
16:27:28 <CakeProphet> ...but I can't imagine who would enjoy 0 degree weather. :P
16:27:47 <CakeProphet> well 0 is a bit extreme
16:27:49 <CakeProphet> but not far off.
16:28:23 <CakeProphet> in any case Italy is much nicer than GA
16:28:27 <CakeProphet> go there, not here. :P
16:28:31 <cheater> -17 is normal winter weather
16:28:35 <cheater> i don't really like that
16:28:50 <cheater> yeah i am learning italian
16:28:59 <cheater> so maybe one day i'll move there or spain
16:29:06 <cheater> catalonian is like halfway italian anyways
16:29:12 <cheater> so learning italian helps with that too
16:29:13 <CakeProphet> though I guess GA is nice if you like deciduous forests.... everywhere.
16:29:30 <CakeProphet> and really old not-very-pointy mountains.
16:29:34 <CakeProphet> I'm sure there's a word for that.
16:29:38 <cheater> i had a lot of forests in poland
16:29:42 <cheater> didn't do much there
16:29:53 <cheater> eroded
16:30:10 <CakeProphet> north GA = mountains and forests south and central GA = boring slightly hilly plains
16:30:24 * CakeProphet lives in north GA.
16:30:34 <cheater> boring plains are boring
16:30:50 <CakeProphet> yeah. the great plains are kind of neat
16:30:55 <CakeProphet> but, you really only need to see them once to get the idea.
16:31:02 <CakeProphet> that it drags on for miles looking exactly the same.
16:31:13 <CakeProphet> but it is cool to see the... vastness, with no obstructions.
16:32:24 <CakeProphet> there are definitely many places in Europe I would enjoy.
16:32:35 <CakeProphet> Italy or Poland would be nice.
16:32:49 <CakeProphet> but I can't speak anything but English. Which isn't a huge problem, but still makes things more difficult.
16:33:04 * CakeProphet can read some Spanish somewhat proficiently, but is terrible at speaking or listening.
16:33:15 -!- pikhq_ has joined.
16:33:22 <cheater> you learn once you're there
16:33:36 -!- pikhq has quit (Ping timeout: 276 seconds).
16:33:41 <CakeProphet> after years I guess.
16:34:25 <CakeProphet> how often do you run into people that don't speak English, though?
16:37:19 <cheater> people at the local italian were surprised when i told them they called the seafood in the menu "sea fruit"
16:37:34 <CakeProphet> haha
16:37:50 <CakeProphet> awesome
16:38:02 <CakeProphet> Europe would be a hilarious place to live for a while.
16:38:04 <cheater> which is what you call it in german and italian
16:38:12 <cheater> yeah it's a hilarious place always
16:38:22 <cheater> i heard america was sort of boring in that regard
16:38:31 <CakeProphet> ...yes.
16:38:33 <CakeProphet> I think
16:38:38 <CakeProphet> I'm not really sure what makes a place hilarious
16:38:51 <cheater> that's the problem with you americans
16:38:57 <CakeProphet> the whole melting pot thing is kind of inaccurate.
16:38:58 <cheater> you don't know what makes a place hilarious
16:39:07 <cheater> yeah it's not really melting
16:39:15 <CakeProphet> just kind of stuck together in one culture.
16:39:16 <cheater> munich is a melting pot
16:39:21 <cheater> london even more so
16:39:48 <cheater> in london you can really get culture shock
16:40:06 <CakeProphet> percentage wise we have more non-English speakers than the UK.
16:40:22 <cheater> america is pretty much jews and mexicans vs the rest
16:40:30 <CakeProphet> lol
16:40:38 <CakeProphet> not really, but yeah there's a lot of hispanics.
16:40:53 <cheater> those are the major groups though aren't they
16:40:57 <CakeProphet> don't forget black people.
16:41:01 <cheater> oh yeah
16:41:08 <cheater> i totally forgot the black guy
16:41:09 <CakeProphet> well Jewish isn't really so big.
16:41:13 <cheater> in europe it's not like that that really
16:41:13 <CakeProphet> we kind of just have this color-code system
16:41:19 <cheater> because everyone has their like
16:41:22 <cheater> identity
16:41:23 <CakeProphet> and don't really pay attention to actual ethnicity.
16:41:36 <cheater> where their family lived for 1000s of years since it evolved from a fern
16:42:20 <CakeProphet> it depends on where you go really.
16:42:32 <cheater> nah it's like that everywhere
16:42:34 <CakeProphet> in the south for instance most immigrants are hispanic
16:42:39 <cheater> oh
16:42:42 <cheater> that is what you mean
16:42:44 <cheater> yeah ok
16:42:50 <CakeProphet> because, well, uh, the spanish speaking countries are south of us.
16:43:00 <cheater> nice
16:43:15 <cheater> i have just had two copies of the same partition on my computer
16:43:30 <CakeProphet> I imagine in the north you get more europeans and people of Jewish decent.
16:43:38 <cheater> and one was updated, recovered, fixed, and had a newer kernel
16:43:43 <cheater> grub loaded the kernel from that
16:43:45 <CakeProphet> ...that's odd.
16:43:48 <cheater> but mounted the other one
16:43:54 <cheater> and it couldn't find the modules :D
16:43:57 <cheater> hilarity ensued.
16:44:00 <CakeProphet> a lot of native Georgians actually come from colonial German immigrants.
16:44:21 <CakeProphet> I imagine I am a descendent from one of these immigrants.
16:44:28 <CakeProphet> but I don't really know.
16:45:24 <CakeProphet> and then in New York for example you have a lot of people who descend from colonial Irish people
16:45:31 <CakeProphet> so it really just depends on the location as to the ethnic make-up.
16:45:48 <CakeProphet> but "general American white mutt" permeates everywhere. :P
16:46:45 <cheater> i liked the movie 'gangs of new york'
16:46:57 <CakeProphet> haven't seen that one.
16:47:08 <cheater> it was a historical reconstruction of the every day life of the irish minority in the early days of new york
16:47:24 <CakeProphet> ah
16:47:32 <cheater> (not really)
16:47:44 <CakeProphet> a Hollywood bastardization of such?
16:47:50 <CakeProphet> yeah we're good at that.
16:47:56 <cheater> no it is a movie about gangs in new york
16:48:01 <CakeProphet> oh...
16:48:04 <cheater> beating and killing eachother up
16:48:10 <CakeProphet> oh fun.
16:48:16 <Gregor> "killing eachother up"
16:48:32 <CakeProphet> Gregor: be quiet roger or I'll kill you up.
16:48:34 <cheater> yeah funny how it came out innit?
16:48:37 <cheater> yeah
16:48:44 <cheater> you know daniel day lewis? of "my left foot" fame?
16:48:48 <cheater> sure you've seen that movie
16:48:51 <CakeProphet> noepep
16:48:58 <CakeProphet> I CANNOT TALK ANYMORE I MUST BE AT SCHOOL.
16:49:06 * CakeProphet is a terrible procrastinator.
16:49:06 <cheater> well he also played a character in gangs of new york
16:49:12 <cheater> he was good in both movies
16:49:17 <cheater> both roles were also very similar
16:49:30 <cheater> (not really, they were amazingly different)
16:49:39 * CakeProphet will return in.... about 2 and a half hours.
16:49:57 <CakeProphet> actually 1 and a half
16:50:13 <CakeProphet> er wait, what...
16:50:29 <CakeProphet> 2 hours. there we go...
16:50:35 <CakeProphet> I CAN DO MATHZ
16:52:30 <CakeProphet> also it is really strange to me that non-Americans talk about American movies.
16:52:37 <CakeProphet> and watch them.
16:52:39 <CakeProphet> a lot.
16:52:53 -!- iamcal has joined.
16:53:34 <CakeProphet> GET YOUR OWN MOVIES.
16:54:03 <cheater> no u
16:54:04 <Gregor> I notice a distinct lack of wine for win32s.
16:54:19 <cheater> win32s?
16:54:33 <cheater> ok
16:54:37 <cheater> never mind.
16:54:47 <cheater> forget i ever asked.
16:55:06 <CakeProphet> Gregor: get vodka instead.
16:55:10 <CakeProphet> it will help you
16:55:15 <CakeProphet> bahahaha
16:55:19 <CakeProphet> ..okay I'm gone now.
16:58:20 <zzo38> Is it possible to represent anything masthematically correct in category theory in Haskell?
16:58:44 <cheater> it might be but i'd call that masthurbation
16:59:00 <cheater> maybe if you're a masthodon
17:01:05 <zzo38> What does that mean?
17:02:24 <zzo38> What are the classes in Haskell called in category theory?
17:13:38 <CakeProphet> well there are only a few that I know of.
17:13:48 <CakeProphet> Monoids are... monoids. Categories are categories. Monads are monads.
17:15:21 <CakeProphet> I don't think you'll get anything too amazing by trying to apply category theory to programming in Haskell.
17:15:34 <CakeProphet> but it does help to understand some of the concepts.
17:16:26 <zzo38> No, I mean classes in general.
17:17:14 <CakeProphet> well a typeclass is a set of polymorphic functions
17:17:27 <CakeProphet> which would make it something like a... set of sets of morphisms?
17:18:05 * CakeProphet is teh category theory exphurt
17:19:13 <CakeProphet> because you have to account for Haskell's polymorphic functions being represented by multiple monomorphic morphisms in category theory.
17:20:06 <zzo38> I know about that
17:20:12 <CakeProphet> I bet copumpkin or oerjan know more about this...
17:22:36 <CakeProphet> yeah I believe a set of morphism sets would be accurate.
17:22:40 <CakeProphet> each instance is an additional subset.
17:27:37 -!- CakeProphet has quit (Ping timeout: 240 seconds).
17:30:58 -!- boily has quit (Ping timeout: 260 seconds).
17:31:55 -!- elliott_ has joined.
17:36:13 <elliott_> hi
17:38:40 <elliott_> 06:32:25: <CakeProphet> are you familiar with ?: in other languages? church booleans work like that except automatically... you don't need ?:
17:38:57 <elliott_> i am very sceptical of cakeprophet's approach to teaching iti.
17:39:23 <elliott_> especially bringing haskell into it.
17:40:13 <Gregor> You know how monads work in Haskell? Church numerals are like that, only better.
17:41:08 <elliott_> Gregor: Wow, you just set off seething hatred in me :P
17:41:38 <elliott_> hey oklopol did you see patashu totally own at minesweeper (apart from the bit where he lost) i dunno whether it'll make you feel superior or inferior
17:42:07 * Gregor takes a bow.
17:42:29 <Gregor> ... and shoots elliott_ with it.
17:42:32 <Gregor> Also an arrow.
17:42:39 <elliott_> :'(
17:42:52 <elliott_> Good thing this is Minecraft and so I've sustained approximately one minor bruise
17:43:15 <Gregor> You know how the arrow pierces your skin, rearranging and randomizing vital internal structure?
17:43:19 <Gregor> Monads are like that, only worse.
17:43:40 <elliott_> `addquote <Gregor> You know how the arrow pierces your skin, rearranging and randomizing vital internal structure? <Gregor> Monads are like that, only worse.
17:43:43 <HackEgo> 663) <Gregor> You know how the arrow pierces your skin, rearranging and randomizing vital internal structure? <Gregor> Monads are like that, only worse.
17:44:00 <elliott_> `log monad
17:44:09 -!- zzo38 has quit (Remote host closed the connection).
17:44:19 <HackEgo> 2008-06-01.txt:20:27:37: <tusho> Slereah: the IO monad is what we refer to as a "clever trick", though
17:46:13 <elliott_> `log monad
17:46:20 <HackEgo> 2010-02-20.txt:21:16:03: <alise> It's a full-blooded language, define what you want as long as it halts. If it might not or doesn't halt, put it in the partiality monad and you can still define it.
17:46:34 -!- boily has joined.
17:46:45 <elliott_> Gregor: can you make it filter out everything i say so it's less predictable
17:47:34 <Gregor> No, but you can :P
17:47:59 <elliott_> i have the power
17:48:04 <elliott_> `log monad
17:48:08 <HackEgo> 2011-02-09.txt:17:28:52: <Vorpal> elliott, well hm. So you don't use that monad for IO at all?
17:48:11 <elliott_> `log monad
17:48:15 <HackEgo> 2010-05-08.txt:23:14:28: <uorygl> A monad is a pair of functions.
17:48:22 <elliott_> tswett: and a type
17:48:23 <elliott_> `log monad
17:48:28 <HackEgo> 2010-05-08.txt:23:13:22: <alise_> stop even trying. learn haskell first, then monads
17:48:30 <elliott_> `log monad
17:48:34 <HackEgo> 2009-12-26.txt:13:19:26: <augur> soupdragon, are monads all Functors? they are right?
17:48:35 <elliott_> thsi si SOoooOOOOOoooOOOooOOOooOOooooooooooo boring
17:48:41 <elliott_> zzzzzzz
17:49:28 <tswett> elliott_: I may have been talking about category theory, where the functions determine the type. I think.
17:50:06 <elliott_> tswett: Maybe you were talking about LAAAAAAAAAAAAAME
17:50:10 <elliott_> It's possible.
17:50:52 <elliott_> this is the best minesweeper video i've ever watched
17:50:54 <elliott_> also the only
17:52:46 <tswett> I don't think LAME has monads.
17:53:40 <elliott_> No, but LAAAAAAAAAAAAAME does.
17:54:49 <elliott_> It stands for LAME-Aided Axiom-Added Ableising Americanisms Astutely Analysing An Antediluvian Astrophysicist Also A Monadic Exoskeleton.
17:55:49 -!- DH____ has quit (Read error: Connection reset by peer).
17:58:48 <elliott_> Gregor: I just realised that I already know what the hot new thing in parsing it, but had been mentally blocking it out for some reason :P
17:58:52 <elliott_> NO THANKS TO YOU ASSHOLES
18:02:27 <Gregor> And it is?
18:02:45 <Gregor> GLR?
18:03:32 <Gregor> bison? :P
18:03:44 <Gregor> RR(k)?
18:03:50 <elliott_> Gregor: The parsing with derivatives stuff
18:04:12 <elliott_> (Most people ignored it after Russ Cox thought it went exponential for a certain left-recursive grammar but then it turns out that it actually doesn't at all)
18:04:17 <elliott_> It works with any CFG, so woo :P
18:06:18 <elliott_> And it also uses laziness in its core algorithm, so TOTALLY GONNA BE THE BEST HASKELL PARSER COMBINATOR LIBRARY EVERRRRRRRRRRR
18:19:07 <augur> elliott_: you're boring
18:19:21 <elliott_> augur: th
18:19:22 <elliott_> x
18:19:50 <elliott_> th
18:19:52 <elliott_> x is the best word.
18:20:21 <augur> x
18:20:22 <augur> or th
18:20:22 <augur> x
18:20:24 <augur> ?
18:20:41 <elliott_> th
18:20:42 <elliott_> x.
18:21:16 <augur> words with newline chars are indeed pretty cool
18:21:45 <itidus20> THX
18:22:35 <itidus20> (\t.h) x = h
18:24:26 -!- Taneb has joined.
18:24:29 <itidus20> hmm.. now if i made that into (\t->h) x would it be haskell?
18:24:34 <Taneb> Hello!
18:24:40 <elliott_> "Parser-generators
18:24:40 <elliott_> are WYSIWYGIYULR(k)—“what you see is what you get if you understand
18:24:40 <elliott_> LR(k).”"
18:24:42 <elliott_> Gregor: Best acronym?
18:27:35 <olsner> wysi wygi yurlk
18:27:38 <Taneb> What is happening in the WORLD OF ESOTERIC PROGRAMMING
18:27:59 <Taneb> Aside from Gecho
18:28:06 <elliott_> Nothing
18:28:32 <itidus20> if i have (\t.h) x and i made that into (\t->h) x would it be haskell?
18:29:02 <itidus20> or is this opening a can of worms?
18:29:16 <Taneb> flip (const h) x
18:29:22 <elliott_> itidus20: Not unless you define h.
18:29:24 <elliott_> > (\t->h) x
18:29:25 <lambdabot> Ambiguous type variable `a' in the constraints:
18:29:25 <lambdabot> `SimpleReflect.FromExpr ...
18:29:27 <elliott_> Erm.
18:29:29 <elliott_> Fuck off, lambdabot.
18:29:39 <elliott_> itidus20:
18:29:40 <elliott_> *Main> (\t -> h) x
18:29:40 <elliott_> <interactive>:1:8: Not in scope: `h'
18:29:40 <elliott_> <interactive>:1:11: Not in scope: `x'
18:29:46 <elliott_> Given definitions of h and x, yes, that works.
18:29:50 <elliott_> But really, concentrate on just LC.
18:30:03 <Taneb> How's itidus20 going with his education?
18:30:05 <itidus20> ahh... i see.. i havent defined h and x
18:30:08 <elliott_> Haskell is not the LC, it isn't even a superset of the lambda calculus; it's a superset of a different, related system.
18:30:09 <itidus20> makes sense
18:30:17 <itidus20> ok
18:31:15 <itidus20> one fascinating element of LC is that an expression can't reduce itself out of existence
18:31:41 <itidus20> ie.. there is no empty set as it were
18:35:54 <itidus20> perhaps i am missing the point a bit.. arithmetic can never get beyond zero
18:36:17 <Taneb> You mean, arithmetic can never be a negative number?
18:36:40 <itidus20> i mean, no matter what you do to an arithmetic expression it will never cease to be an arithmetic expression
18:36:53 <itidus20> it will default to zero though
18:37:34 <elliott_> that's because the LC is closed under reduction
18:37:45 <elliott_> i.e., the reduction of any lambda-calculus term is a lambda-calculus term
18:38:25 <itidus20> ahh
18:38:51 <elliott_> so, reducing a lambda-calculus term any number of times cannot produce something that isn't a lambda-calculus term
18:51:00 <Taneb> Youth Theatre started today
18:51:12 <Taneb> Also, I am lamenting the loss of my luscious locks
18:51:58 <itidus20> and (\abcdefg.a) mnopqrs will reduce to m
18:54:12 <itidus20> and (\abcdefg.h) mnopqrs will reduce to h
18:54:32 <Taneb> Yes
18:54:39 <Taneb> Assuming h is defined
18:54:52 -!- augur has quit (Remote host closed the connection).
18:55:05 <itidus20> oh .. does that matter in pure LC?
18:55:19 <Taneb> ...I think so?
18:55:22 <Taneb> Ask elliott_
18:56:06 <itidus20> ok
18:58:00 -!- elliott has joined.
18:58:00 -!- elliott_ has quit (Read error: Connection reset by peer).
18:58:05 <elliott> <itidus20> and (\abcdefg.a) mnopqrs will reduce to m
18:58:07 <elliott> <itidus20> and (\abcdefg.h) mnopqrs will reduce to h
18:58:09 <elliott> <Taneb> Yes
18:58:11 <elliott> <Taneb> Assuming h is defined
18:58:13 <elliott> * augur has quit (Remote host closed the connection)
18:58:15 <elliott> <itidus20> oh .. does that matter in pure LC?
18:58:28 <elliott> you can say "for all h,m,n,o,p,q,r,s, (\abcdefg.h) mnopqrs reduces to h"
18:58:41 <elliott> so basically it doesn't matter
18:59:00 -!- augur has joined.
18:59:03 <itidus20> ahh that is the answer
18:59:12 <itidus20> i see
19:10:49 -!- KingOfKarlsruhe has joined.
19:22:06 <itidus20> is it possible to treat I = (\x.x) as meaning x does not exist outside of I?
19:22:32 <itidus20> if name clashes are caused by notation for example
19:22:32 <elliott> Sure, x is lexically scoped.
19:22:38 <elliott> It is completely opaque outside of I.
19:24:35 <itidus20> so anyway, this alternative paper i found is a bit better, by some guy Raul Rojas
19:24:56 <elliott> A retired Mexican-American featherweight boxer, apparently
19:24:59 <elliott> Perhaps not the same Raul Rojas
19:25:41 <itidus20> Ral Rojas Gonzlez (born 1955, in Mexico City) is a professor of Computer Science and Mathematics at the Free University of Berlin and a renowned specialist in artificial neural networks.
19:31:17 <Vorpal> elliott: crazy torrent: 40158 seeders, 38480 leechers
19:31:24 <Vorpal> never seen that much before
19:31:33 <elliott> what is it
19:31:44 <elliott> i suspect that's uh... not accurate
19:31:47 <Vorpal> elliott: a game I'm trying out a bit before buying. Yogscast recently played it.
19:31:57 <Vorpal> elliott: anyway that is what the tracker reports.
19:32:19 <Vorpal> or trackers rather, there is about 20000 on each of the ones that don't time out.
19:32:29 <elliott> Sounds like crap
19:32:40 <Vorpal> elliott: what does?
19:32:45 <elliott> The numbers
19:32:55 <Vorpal> perhaps
19:33:08 <Vorpal> elliott: but I seem to connect to several hundred peers just fine.
19:33:16 <Vorpal> who knows
19:33:19 <elliott> Ten thousand or so for a huge torrent, sure
19:33:24 <elliott> Forty thousand /seeders/... no
19:33:33 <Vorpal> elliott: yes I'm wtf at it too
19:34:02 <Vorpal> elliott: maybe some are dual counted on different trackers somehow?
19:34:16 <elliott> dunno
19:34:28 <Vorpal> elliott: anyway it is massive, even if not as massive as that
19:34:39 <itidus20> i think there is some fanciful seeder counts that get around
19:34:57 <itidus20> you can easily see a torrent with 3000 seeders and then wait for any action sometimes
19:36:43 <Vorpal> itidus20: well there are no issues with seeders or leechers here, whatever the real numbers are
19:37:09 <elliott> Wow, I had no idea SQLite's testing was /that/ hardcore.
19:38:43 <Vorpal> elliott: hm?
19:38:57 <elliott> Vorpal: http://www.sqlite.org/testing.html
19:39:01 <elliott> Read and weep.
19:39:12 <Vorpal> elliott: iirc they have fairly extensive automated testing tools? *waiting for page to load*
19:39:24 <Vorpal> ah yes, I read that page before
19:39:28 <elliott> "As of version 3.7.5 (all statistics in the report are against that release of SQLite), the SQLite library consists of approximately 73.0 KSLOC of C code. (KSLOC means thousands of "Source Lines Of Code" or, in other words, lines of code excluding blank lines and comments.) By comparison, the project has 1251 times as much test code and test scripts - 91378.6 KSLOC."
19:39:31 <elliott> " The TCL Tests are the oldest set of tests for SQLite. They are contained in the same source tree as the SQLite core and like the SQLite core are in the public domain. The TCL tests are the primary tests used during development. The TCL tests are written using the TCL scripting language. The TCL test harness itself consists of 18.9 KSLOC of C code used to create the TCL interface. The test scripts are contained in 617 files totaling 9.3MB in siz
19:39:32 <elliott> e. There are 27664 distinct test cases, but many of the test cases are parameterized and run multiple times (with different parameters) so that on a full test run, about 1.4 million separate tests are performed."
19:40:02 <Vorpal> yeah
19:40:17 <elliott> Jesus christ, 48.7 MB of C code making up one of the test suites?
19:40:24 <Taneb> Has anyone written a Brainfuck self-compiler?
19:40:26 <elliott> I can't even comprehend what that much C can do.
19:40:28 <elliott> Taneb: awib
19:40:50 <Vorpal> elliott: well you can trust sqlite3 to be correct pretty much. Sure, not proven, but correct for most purposes
19:51:41 -!- oerjan has joined.
19:52:09 <itidus20> for all y, (\x.yx) y reduces to y y , right?
19:52:59 <elliott> Yes.
19:53:01 <oerjan> itidus20: if y does not contain x free
19:53:42 <elliott> oerjan: You might want to clarify that a bit :P
19:53:58 <itidus20> i sort of understand
19:54:03 <oerjan> if x is a free variable of y, then it might fail
19:54:51 <itidus20> such as (\y.(\x.yx) y) x
19:55:45 <itidus20> which i guess could be rewritten as (\yx.yx)yx
19:55:56 <oerjan> yes. although that particular case happens not to be a counterexample, i think
19:56:38 -!- coppro has quit (Quit: Reconnecting).
19:56:40 <oerjan> hm i should switch servers
19:56:43 -!- coppro has joined.
19:57:09 -!- oerjan has quit (Quit: leaving).
19:57:10 <elliott> oerjan: just reconnect when it goes down
19:57:12 <elliott> or that
19:57:21 -!- oerjan has joined.
19:57:25 <elliott> <elliott> oerjan: just reconnect when it goes down
19:57:25 <elliott> <elliott> or that
19:57:44 <olsner> gotta disconnect before you get disconnected!
19:58:08 <itidus20> hrmm
19:58:35 <oerjan> elliott: it could take my client a long time to discover the disconnection
19:58:40 <elliott> wat
19:58:48 <oerjan> i'm not exactly sure
19:59:30 <oerjan> but it certainly takes a while for freenode to notice the other way
20:00:15 <itidus20> oerjan: what about (\y.(\x.yx)yx) a b is that a broken example?
20:00:50 <oerjan> <itidus20> which i guess could be rewritten as (\yx.yx)yx <-- no that's not the same, the last y isn't in both scopes
20:01:10 <itidus20> hmm
20:01:28 -!- boily has quit (Ping timeout: 260 seconds).
20:01:42 <itidus20> humm
20:02:00 <oerjan> itidus20: you cannot get a broken example from \y.(\x.yx)yx
20:02:15 -!- variable has quit (*.net *.split).
20:02:15 -!- pikhq_ has quit (*.net *.split).
20:02:16 -!- rodgort has quit (*.net *.split).
20:02:16 -!- tswett has quit (*.net *.split).
20:02:16 -!- mtve has quit (*.net *.split).
20:02:16 -!- SimonRC has quit (*.net *.split).
20:02:16 -!- coppro has quit (*.net *.split).
20:02:16 -!- augur has quit (*.net *.split).
20:02:17 -!- Zwaarddijk has quit (*.net *.split).
20:02:17 -!- olsner has quit (*.net *.split).
20:02:17 -!- copumpkin has quit (*.net *.split).
20:02:18 -!- sebbu has quit (*.net *.split).
20:02:18 -!- oklopol has quit (*.net *.split).
20:02:18 -!- clog has quit (*.net *.split).
20:02:18 -!- HackEgo has quit (*.net *.split).
20:02:32 <oerjan> because that automatically renames things
20:02:43 <itidus20> humm
20:03:10 <Gregor> HACKEGO, NOOOOOOOOO
20:03:16 -!- iamcal has quit (Remote host closed the connection).
20:03:18 <elliott> oerjan: I wish alpha-conversion wasn't the traditional way to present the lc :(
20:03:18 -!- coppro has joined.
20:03:18 -!- augur has joined.
20:03:18 -!- pikhq_ has joined.
20:03:18 -!- copumpkin has joined.
20:03:18 -!- sebbu has joined.
20:03:18 -!- rodgort has joined.
20:03:18 -!- tswett has joined.
20:03:18 -!- variable has joined.
20:03:18 -!- Zwaarddijk has joined.
20:03:18 -!- oklopol has joined.
20:03:18 -!- clog has joined.
20:03:18 -!- HackEgo has joined.
20:03:18 -!- olsner has joined.
20:03:18 -!- mtve has joined.
20:03:18 -!- SimonRC has joined.
20:03:22 <elliott> oerjan: I wish alpha-conversion wasn't the traditional way to present the lc :(
20:03:23 <oerjan> <itidus20> for all y, (\x.yx) y reduces to y y , right?
20:03:41 <oerjan> for that to break you have to replace y with something which _literally_ contains x
20:04:08 <oerjan> (and y = x doesn't actually work, but that's a coincidence)
20:04:47 <itidus20> (\y(\x.yx) y) (\z.xx)
20:05:04 <itidus20> does that break?
20:05:24 <elliott> oerjan: mutters something about de bruijn
20:05:28 <itidus20> yeah at this point i am just guessing :P
20:05:31 <Taneb> Yep
20:05:32 <itidus20> ill let it go..
20:05:51 <itidus20> i can study more when i am ready
20:06:00 <oerjan> itidus20: that one doesn't work because of alpha renaming. once you put it inside \y ... alpha renaming protects you against name collisions
20:06:42 <oerjan> it's only when you substitute something for y _literally_ in (\x.yx) y without doing alpha renaming for x that it can break
20:06:52 <Taneb> POSITIONING SQUAF
20:07:17 <itidus20> ahh
20:07:19 <oerjan> hm it might be that your book consider renaming x to happen automatically with substitution too, in which case it's always y y
20:07:46 <itidus20> like if you change (\x.yx) y (\x.yx) x
20:07:54 <itidus20> well this isnt from a book.. just thinking
20:08:03 <itidus20> ^ change to
20:08:08 <oerjan> itidus20: well i was assuming you substituted _both_ y's
20:08:14 <oerjan> with the same thing
20:08:32 <oerjan> and also, y = x doesn't work as a counterexample
20:08:44 <itidus20> can you give an example of anything that could go wrong with (\x.yx) y ?
20:09:00 <oerjan> y = x x should get pretty hairy :P
20:09:12 <oerjan> (\x.(xx)x)(xx)
20:09:33 <itidus20> ahh.. i think i get it
20:10:45 <itidus20> i think that what has happened is that i havent explored substitutions at all..
20:10:58 <itidus20> and so didn't realize it was possible
20:11:46 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.87 [Firefox 6.0.2/20110902133214]).
20:14:43 -!- fungot has quit (*.net *.split).
20:14:43 -!- Vorpal has quit (*.net *.split).
20:14:43 -!- Zuu has quit (*.net *.split).
20:14:44 -!- atehwa has quit (*.net *.split).
20:14:59 -!- Zuu has joined.
20:15:04 -!- Zuu has quit (Changing host).
20:15:04 -!- Zuu has joined.
20:15:09 -!- Vorpal has joined.
20:15:13 <oerjan> basically the rules for when you must do alpha conversion when substituting are, in modern terms, about preserving lexical scoping
20:15:38 <oerjan> although it is possible that the idea of lexical scoping actually evolved _from_ lambda calculus
20:15:41 <itidus20> so i know you can add (\<name>.<expression1>) around expression1 and thus it becomes that..
20:16:08 <itidus20> and you can add (<expression1> <expression) around expression1 and it becomes that
20:16:48 <itidus20> but i didn't consider that you can take <expression1> and replace it with <expression2>
20:17:05 -!- boily has joined.
20:17:29 <oerjan> itidus20: erm you haven't learned beta reduction yet? that's the _essence_ of lambda calculus
20:18:19 -!- esowiki has joined.
20:18:19 -!- glogbot has joined.
20:18:19 -!- glogbackup has left.
20:18:19 -!- Gregor has joined.
20:18:21 -!- shachaf has joined.
20:18:29 -!- atehwa has joined.
20:18:29 -!- mycroftiv has joined.
20:18:43 -!- EgoBot has joined.
20:18:46 -!- Gregor has changed nick to Guest82930.
20:19:03 <elliott> oerjan: i don't think he's learning it as a formal set of rules, he's just replacing it intuitively :P
20:19:17 -!- yorick has quit (Quit: Poef!).
20:19:46 <oerjan> basically, (\x.<expression1>)(<expression2>) reduces to <expression1> with <expression2> substituted for x, while renaming bound variables to avoid collisions
20:19:58 <oerjan> *name collisions
20:20:46 <oerjan> and repeating beta reduction is how lambda calculus computes things
20:20:58 <itidus20> well (\x.yx) y to (\x.(xx)x)(xx) isn't really reduction right?
20:21:15 <itidus20> well i mean it may be some form of reduction
20:21:21 <itidus20> but what would you call that?
20:21:29 <itidus20> substitution?
20:21:30 <oerjan> no, that's substituting xx for y, but ignoring the renaming rules
20:22:14 <oerjan> you could call it substitution, but it's not a correct one for beta reduction
20:22:26 <itidus20> is it because (\x.(xx)x)(xx) is broken that it requires substitution to arrive at it?
20:22:34 <elliott> fromApple News_Europe@insideapple.apple.com
20:22:34 <elliott> subject20 Sept. is your last chance to get a 65 pound University Gift Card.
20:22:34 <elliott> Wow, that's a pretty heavy University Gift Card.
20:22:39 <elliott> What the hell is it made out of?
20:23:26 <oerjan> itidus20: yes. because if you started with (\y.(\x.yx)y)(xx) instead, then the beta reduction rule would demand the bound x be renamed.
20:23:56 <Guest82930> HELLO I AM GUEST
20:23:59 <itidus20> so, in practice do you ever need to do something likel (\x.yx) y to (\x.(xx)x)(xx) ?
20:24:28 <Guest82930> I HEARD THAT MELNU THE OVERSEER IS GOING TO RETURN IN 2012. COMMENTS?
20:24:29 <elliott> Guest82930: hi
20:24:32 -!- iamcal has joined.
20:24:33 <oerjan> -> (\y.(\z.yz)y)(xx) -> (\z.(xx)z)(xx) -> (xx)(xx)
20:24:34 <elliott> yes
20:24:35 <elliott> true
20:24:46 <oerjan> that doesn't break when renaming properly
20:24:48 <Guest82930> SHOULD WE FEAR THE GREAT OVERSEER?
20:25:34 <oerjan> Guest82930: THE GREAT OVERSEER SMELLS PRETTY BAD, SO SHOULD BE EASY TO HIDE FROM FOR MOST PEOPLE
20:25:36 <Taneb> WHY THE CAPS LOCK
20:25:48 <Guest82930> CAPS LOCK IS CRUISE CONTROL FOR COOL.
20:25:57 <Guest82930> *actually, that's the sustain pedal
20:26:00 -!- Guest82930 has changed nick to Gregor.
20:26:42 <itidus20> oerjan: i am not sure how to ask the right question. is it wrong to just say y = (xx)?
20:27:30 <Taneb> itidus20: no, but in some cases (when it is ambiguous what x is) yes
20:28:00 <oerjan> itidus20: that's ok. but you should always avoid name collisions by renaming.
20:28:33 <oerjan> so basically if you say (\x.yx)y where y = xx, you normally will automatically rename the bound x'es
20:28:33 <Phantom_Hoover> <Guest82930> SHOULD WE FEAR THE GREAT OVERSEER?
20:28:42 <Phantom_Hoover> Only if you are a noble.
20:29:32 <itidus20> does y = (xx) imply ( \y.<expr>) (xx) ?
20:29:39 <oerjan> itidus20: it is even common when representing lambda calculus in computers to use a representation where bound variables aren't named, that's the deBruijn indexes elliott mentioned
20:30:03 <oerjan> because that avoids a lot of this trouble
20:30:23 <Phantom_Hoover> Or even just to pretend everything is combinator calculus because it's so much easier.
20:30:45 <Taneb> Combinator calculus is harder to write but easier to read
20:30:50 <oerjan> itidus20: no. the y to the right is bound, so not the same variable really
20:31:06 <oerjan> itidus20: er or wait
20:31:27 <itidus20> hmm .. i will restate
20:31:45 <oerjan> itidus20: actually, yes, you can always incorporate equations in that way, which is why pure lambda calculus doesn't really need them
20:32:16 <itidus20> when going from (\x.yx) y to (\x.(xx)x)(xx) is ( \y.<expr>) (xx) implied?
20:32:48 <oerjan> itidus20: not if you want it to break.
20:33:04 <itidus20> but you never want it to break right?
20:33:59 <oerjan> itidus20: wikipedia suggests the term "capture-avoiding substitutions" for the ones involving renaming
20:34:02 <itidus20> uhmmm ok in other words
20:34:18 <itidus20> (\x.yx) y is safe as long as you use proper renaming methods
20:34:19 <oerjan> and you should always use them to avoid breakage
20:34:22 <oerjan> yep
20:35:17 <itidus20> ok so its basically that i said "for all y, " can include a y which is not following proper renaming methods
20:36:12 <oerjan> yeah
20:36:23 <Phantom_Hoover> oh god I'm running out of disk how
20:36:30 <Phantom_Hoover> FAREWELL RED DWARF
20:36:41 <itidus20> can you compress it any more?
20:37:20 <elliott> use more zippes
20:37:38 <itidus20> my guess is that the compressability of a video is not much though
20:38:53 <itidus20> if anything "video format" is all about the set of compression routines optimized for videos
20:39:08 <Phantom_Hoover> Oh BtW I have to go to Ireland tomorrow for grandfather hauling, don't miss me too much.
20:39:26 <itidus20> have a craic
20:39:30 <itidus20> or whatever
20:40:29 <Phantom_Hoover> That is not what 'craic' means iti.
20:41:04 <oerjan> <Phantom_Hoover> FAREWELL RED DWARF <-- are you sure your priorities are sound?
20:41:13 -!- Taneb has quit (Ping timeout: 260 seconds).
20:43:21 <Phantom_Hoover> oerjan, I've watched it all twice, I need fresh DS9 to stave off the boredom.
20:45:43 -!- Taneb has joined.
20:46:51 <itidus20> Phantom_Hoover: i revised my knowledge
20:47:40 <itidus20> but i still don't think sad events should mean you can't have craic
20:48:28 <itidus20> the only thing i think i got wrong about the meaning was using an article 'a'
20:49:50 <Phantom_Hoover> itidus20, no, I mean you don't have craic.
20:49:58 <Phantom_Hoover> It's just a thing.
20:50:38 <itidus20> ok it makes sense that i don't know what it means
20:51:32 <Phantom_Hoover> itidus20, it doesn't mean 'a good time', it doesn't really have a direct equivalent.
20:51:42 <itidus20> yeah. it is fair enouhg
20:51:45 <Phantom_Hoover> There is simply craic, and it is sometimes good.
20:51:49 <itidus20> ^fair enough
20:51:50 <Taneb> In BytePusher, is the register thingy containing the current instruction automatically updated?
20:51:52 <itidus20> :)
20:58:21 <elliott> `addquote <Taneb> Mayor says we need to make aluminum items <Phantom_Hoover> Taneb, PH says you need to make lava items.
20:58:23 <HackEgo> 664) <Taneb> Mayor says we need to make aluminum items <Phantom_Hoover> Taneb, PH says you need to make lava items.
21:02:25 <oerjan> can you feel the lava tonight
21:08:24 <itidus20> (\x.yx) y = (\bound1.free1 bound1) free1 ; (\y.(\z.yz)y)(xx) = (\bound1.(\bound2.bound1 bound2)bound1)(free1 free1)
21:08:47 <Phantom_Hoover> oerjan, deeply in lava.
21:09:01 -!- Taneb has quit (Read error: Connection reset by peer).
21:09:14 <itidus20> is this making sense?
21:10:11 <oerjan> itidus20: it is not usually allowed to rename _free_ variables, only bound ones
21:10:25 <itidus20> humm
21:11:25 <itidus20> yeah i am implying some unstated mechanism for converting variables named free to variables named bound
21:12:15 <itidus20> no no tats not the problem. nevermind hm. ok
21:12:22 <itidus20> thanks for comment
21:15:02 <itidus20> sorry oerjan my brain goes off in 10 directions before just taking a proper literal interpretation
21:17:18 <oerjan> with math, it's important to understand the literal interpretation first
21:18:03 <itidus20> hm
21:19:04 <itidus20> ironically with narrative text the literal interpretation can be a problem
21:19:25 <itidus20> narrative might be wrong word here
21:19:52 <itidus20> things like philosophy, religion, novels, poetry
21:20:50 <itidus20> maybe it is formal vs informal
21:28:14 -!- nooga has quit (Ping timeout: 252 seconds).
21:32:19 -!- augur has quit (Remote host closed the connection).
21:34:02 -!- augur has joined.
21:46:08 -!- BeholdMyGlory has joined.
21:47:35 -!- pikhq has joined.
21:49:05 -!- pikhq_ has quit (Ping timeout: 260 seconds).
22:03:32 -!- MDude has quit (Ping timeout: 260 seconds).
22:08:42 <elliott> `addquote <elliott> Dear god stop staring at me. <monqy> no never <Phantom_Hoover> monqy is always staring at everyone. <monqy> it takes many eyes to do this but I manage <Phantom_Hoover> He is an inspiration to us all.
22:08:44 <HackEgo> 665) <elliott> Dear god stop staring at me. <monqy> no never <Phantom_Hoover> monqy is always staring at everyone. <monqy> it takes many eyes to do this but I manage <Phantom_Hoover> He is an inspiration to us all.
22:09:17 <Phantom_Hoover> My quotes collection seems that bit more empty when I remember that elliott added like all of them.
22:09:34 <elliott> Whose quotes collection.
22:09:49 <elliott> That was a monqy quote not a Phantom_Hoover quote you egoistic fuck.
22:10:05 <Phantom_Hoover> elliott, it is a collaboration.
22:10:14 <Phantom_Hoover> It is a monqy quote feat. Phantom_Hoover.
22:10:19 <elliott> monqy ft. Phantom_Hoover -- always staring at everyone
22:10:25 <elliott> An instant hit.
22:10:36 <elliott> monqy ft. Phantom_Hoover remixed by elliott, a HackEgo production.
22:11:17 <elliott> `pastequotes Phantom_Hoover
22:11:19 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.7911
22:11:24 <Phantom_Hoover> Just monqy staring at you, also I sometimes stare at you too.
22:11:29 <elliott> Holy shit that's a lot.
22:12:36 <elliott> 433) <Sgeo> Hmm. I guess it's nearby GRBs that would be problematic? <Phantom_Hoover> Sgeo, if by 'problematic' you mean 'what's that in the AAAAAAAAARRRRRGGGGHHHH'.
22:12:40 <elliott> Phantom_Hoover: WHAT IS THE CONTEXT
22:12:42 <Gregor> Phantom_Hoover's quote collection seems really small when he realizes they're all somebody else's.
22:13:18 <elliott> 421) <Phantom_Hoover> Lymia, I don't know what that is but I want to hit you for it on principle.
22:13:18 <elliott> Interestingly, glogbot didn't log this.
22:13:30 <elliott> `log is pursuing the line of reasoning that eating raw foods can improve cognitive function
22:13:33 <HackEgo> 2011-09-14.txt:22:13:30: <elliott> `log is pursuing the line of reasoning that eating raw foods can improve cognitive function
22:13:37 <elliott> `log is pursuing the line of reasoning that eating raw foods can improve cognitive function
22:13:40 <HackEgo> 2011-09-14.txt:22:13:33: <HackEgo> 2011-09-14.txt:22:13:30: <elliott> `log is pursuing the line of reasoning that eating raw foods can improve cognitive function
22:13:43 <elliott> ...
22:13:45 <monqy> oh no
22:13:45 <elliott> `log is pursuing the line of reasoning that eating raw foods can improve cognitive function
22:13:46 -!- DH____ has joined.
22:13:49 <HackEgo> 2011-09-14.txt:22:13:40: <HackEgo> 2011-09-14.txt:22:13:33: <HackEgo> 2011-09-14.txt:22:13:30: <elliott> `log is pursuing the line of reasoning that eating raw foods can improve cognitive function
22:13:49 <Phantom_Hoover> I am a man of wit.
22:13:53 <monqy> oh noooo
22:13:58 <elliott> `pastelogs is pursuing the line of reasoning that eating raw foods can improve cognitive function
22:14:02 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.1860
22:14:03 -!- kmc has quit (Quit: Leaving).
22:14:10 -!- kmc_ has joined.
22:14:10 <elliott> Hmm.
22:14:15 <elliott> Where was that from, then?
22:14:18 <elliott> I doubt it was -minecraft.
22:14:28 -!- kmc_ has changed nick to kmc.
22:14:28 -!- Patashu has joined.
22:14:52 <Phantom_Hoover> <elliott> Phantom_Hoover: WHAT IS THE CONTEXT
22:14:52 <Phantom_Hoover> GRBs, funnily enough.
22:14:52 <Phantom_Hoover> I love all the quotes the context of which is lost to history because you added them from an msg.
22:15:10 <elliott> 563) <Phantom_Hoover> Oh god. <Phantom_Hoover> I've become a metallurgy hipster.
22:15:16 <elliott> Phantom_Hoover: Was that really after we started playing DF?
22:15:26 <Phantom_Hoover> elliott, I already told you why that was.
22:15:38 <Phantom_Hoover> I removed the "Iridium is too mainstream." for comedic effect.
22:15:45 <elliott> Oh, right.
22:15:48 <elliott> You're meant to use sed to do that.
22:16:14 <oerjan> <elliott> Phantom_Hoover: WHAT IS THE CONTEXT <-- all necessary context was included afaiac
22:16:21 <elliott> Afaiac?
22:16:28 <elliott> Oh, right.
22:16:58 <elliott> `pastequotes oerjan
22:17:00 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.15374
22:19:08 <elliott> `log understand it perfectly\. it's complete
22:19:11 <HackEgo> No output.
22:19:21 <elliott> `log not even going to try and understand
22:19:24 <HackEgo> 2011-09-14.txt:22:19:21: <elliott> `log not even going to try and understand
22:19:31 <elliott> `pastelogs not even going to try and understand
22:19:35 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.23435
22:19:39 <itidus20> `log perfectly
22:19:42 <HackEgo> 2010-11-13.txt:22:18:45: <pikhq> Vorpal: With a GFCI it's perfectly safe.
22:19:46 <elliott> Gregor: What is UP with these incomplete logs.
22:19:49 <elliott> `log @
22:19:54 <HackEgo> 2011-02-03.txt:23:09:13: <elliott> @undo do x <- pSimpleUL; xs <- pUL; return (x :< xs)
22:20:02 <elliott> `log @
22:20:07 <HackEgo> 2007-02-11.txt:23:43:53: -!- sebbu2 has quit ("@+").
22:20:09 <elliott> `log \b@\b
22:20:13 <HackEgo> 2011-03-09.txt:03:03:48: <elliott> Gregor: nearbyint@libc.so
22:20:15 <itidus20> `log \bDMM\b
22:20:19 <HackEgo> 2005-06-09.txt:10:12:12: <DMM> I read about Homespring for the first time today. Wow... that just blew me away :-)
22:20:23 <Gregor> elliott: :'(
22:20:28 <elliott> What, is that the real DMM?
22:20:28 <Gregor> elliott: That reference makes me cry
22:20:35 <elliott> Gregor: What reference
22:20:40 <elliott> `logurl 2005-06-09.txt:10:12:12:
22:20:41 <HackEgo> http://codu.org/logs/log/_esoteric/2005-06-09
22:20:46 <Gregor> elliott: <HackEgo> 2011-03-09.txt:03:03:48: <elliott> Gregor: nearbyint@libc.so
22:20:57 <elliott> wow, it's real DMM :DDDDDDDDddddddddddddddddddddddd
22:21:00 <elliott> i think
22:21:00 <sebbu> ?
22:21:04 <elliott> sebbu: ?
22:21:06 <elliott> oh
22:21:08 <elliott> blame `log
22:21:12 <Phantom_Hoover> dmm
22:21:14 <Phantom_Hoover> was here
22:21:14 <elliott> oerjan: dude dude.
22:21:16 <Phantom_Hoover> oh my god
22:21:16 <elliott> oerjan: dmm.
22:21:17 <elliott> was here.
22:21:26 <Phantom_Hoover> come back dmm ;_;
22:21:29 <elliott> dmm come
22:21:33 <elliott> back we will
22:21:34 <elliott> be friends ;__;
22:21:56 <elliott> 11:14:47: <DMM> I got some TV to watch... later guys
22:21:56 <elliott> AND HE LEFT...
22:22:03 <elliott> `patselogs <DMM>
22:22:05 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: patselogs: not found
22:22:10 <elliott> Phantom_Hoover: oh my god wiki drama
22:22:10 <elliott> 23:27:51: <calamari> graue: your vision of the wiki is a bit narrower than I'd hoped for
22:22:11 <elliott> 23:28:28: <calamari> I'm halfway wondering if you'll be pulling up those in-progress pages at any moment
22:22:11 <elliott> 23:30:29: <calamari> now I realize it's your wiki, you're running it, and all that.. which I appreciate.. but perhaps if you're going to stifle the expressive purposes of the wiki we need to abandon your stranglehold and start a new wiki elsewhere
22:22:19 <elliott> THIS FASCIST GRAUE REGIME
22:22:22 <Lymee> `pastelogs @pl
22:22:23 <elliott> `pastelogs <DMM>
22:22:27 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.18293
22:22:27 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.2363
22:22:32 <Phantom_Hoover> elliott, dude, graue was a bit extreme.
22:22:44 <Phantom_Hoover> No new categories without his approval?
22:22:46 <Phantom_Hoover> Seriously?
22:22:49 <elliott> THREE MONTHS OF SPORADIC DMM
22:22:57 <elliott> Phantom_Hoover: Erm, it's never been "his approval".
22:23:04 <elliott> It's always been "consensus".
22:23:34 <elliott> Phantom_Hoover: Also calamari said that just because of
22:23:34 <elliott> 23:26:11: <calamari> graue: I'd really like to integrate EsoShell into the wiki. Would you like to work on it with me?
22:23:34 <elliott> 23:26:49: <graue> i'd rather not have executable code running out of the wiki
22:23:34 <elliott> 23:26:56: <graue> it's for information, not running programs
22:23:36 <elliott> which is hilarious ok.
22:23:49 <elliott> It is hilarious. I have a policy that this is hilarious.
22:25:54 <Patashu> I love the idea of going to a page for an esolang and at the bottom is a console. "Try writing XXX language now!"
22:26:08 <monqy> hm did anything happen to the learn db
22:26:09 <monqy> `cat
22:26:15 <elliott> it would be a good way to find esolangs that are far too easy to be should exist
22:26:21 <elliott> monqy: i wrote a better one but gregor woudln't ;__;
22:26:23 <elliott> because it needed
22:26:25 <elliott> multiple line sends
22:26:31 <monqy> why did it need this
22:26:39 <elliott> because
22:26:41 <HackEgo> No output.
22:26:43 <elliott> multipe definitions
22:26:46 <elliott> but ok i will write one that is
22:26:48 <elliott> slightly better than that
22:29:24 <monqy> for multiple definitions you could stuff them into a listy thing and on requesting entry without being explicit as to which one it would display the first one. on displaying entry it says the entry number and the number of entries?? perhaps an special entry identifier for random entry, too?? perhapS???
22:29:43 <Gregor> Multiple entries is just a terrible idea :P
22:30:04 <Lymee> `which learn
22:30:05 <monqy> how is it a bad idea
22:30:05 <HackEgo> ​/hackenv/bin/learn
22:30:12 <Lymee> `paste /hackenv/bin/learn
22:30:13 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.30666
22:30:16 <Gregor> monqy: Complexity cost huge, benefit tiny.
22:30:23 <monqy> how is the benefit tiny
22:30:29 <elliott> `rm bin/learn
22:30:31 <HackEgo> No output.
22:30:35 <elliott> `rm bin/forget
22:30:37 <HackEgo> No output.
22:30:38 <Gregor> Who the hell needs multiple definitions? Think wiki, not ... whatever the hell you're thinking.
22:30:44 <elliott> Gregor: Complexity cost huge? Dude, my scripts were like ten lines.
22:30:48 <Lymee> `paste learnt
22:30:50 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.31091 \ cat: learnt: No such file or directory
22:30:52 <elliott> You have clearly never used a proper learndb :P
22:30:53 <Gregor> elliott: Use, not code.
22:30:54 <elliott> `run ls bin
22:30:56 <HackEgo> Lymee \ addquote \ allquotes \ botsnack \ calc \ commands \ creatures \ define \ delquote \ elliott \ esolang \ etymology \ fuck \ google \ imdb \ json \ k \ karma \ learnt \ log \ logurl \ marco \ minifind \ paste \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ penis \ ping \ prefixes \ quine \ quote \ quotes \ rec
22:31:03 <elliott> Gregor: No... it was three commands.
22:31:04 <monqy> learning multiple things is very important!!!
22:31:06 <elliott> And trivial to use.
22:31:07 <Gregor> >_<
22:31:17 <Gregor> elliott: Yes, because it would presumably barf out every definition every time.
22:31:20 <oerjan> @list what
22:31:20 <lambdabot> where provides: where url what where+
22:31:21 <elliott> `run rm bin/Lymee bin/learnt
22:31:23 <HackEgo> No output.
22:31:27 <Lymee> `cat bin/Lymee
22:31:27 <oerjan> @what me worry
22:31:27 <lambdabot> I know nothing about me.
22:31:28 <HackEgo> cat: bin/Lymee: No such file or directory
22:31:29 <elliott> Gregor: Yes, which if you actually bothered to rate-limit properly would be fine :P
22:31:33 <elliott> Lymee: Stop.
22:31:34 <Lymee> `paste bin/lymee
22:31:35 <Gregor> Oy vey.
22:31:36 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.19221 \ cat: bin/lymee: No such file or directory
22:31:38 <elliott> I'm trying to add new scripts.
22:31:48 <Gregor> elliott: Having a bot that runs FUCKING ARBITRARY commands be able to output more than one per one is the
22:31:49 <Gregor> WORST
22:31:52 <Gregor> POSSIBLE
22:31:54 <Lymee> `paste bin/elliott
22:31:56 <Lymee> Okey.
22:31:56 <Gregor> IDEA
22:31:56 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.28307
22:32:07 <elliott> "What is rate limiting, also what is maximum lines of output" --Gregor
22:32:16 <monqy> you dont have to make it barf them all out....would that make it too complicated to use.....(hint: no)
22:32:16 <Gregor> I have a rate limit, and a maximum.
22:32:19 <Gregor> The rate limit is one per one.
22:32:21 <Gregor> The maximum is one.
22:32:33 <Gregor> Your ideas. They are fucking terrible.
22:32:41 <elliott> w/e
22:32:43 <elliott> `fetch http://sprunge.us/QFPP
22:32:45 <HackEgo> 2011-09-14 22:32:45 URL:http://sprunge.us/QFPP [97] -> "QFPP" [1]
22:32:51 <elliott> `run mv QFPP bin/'?'; chmod +x bin/'?'
22:32:53 <HackEgo> No output.
22:33:02 <monqy> `?
22:33:03 <HackEgo> ​? ¯\(°_o)/¯
22:33:06 <elliott> monqy: Not done.
22:33:17 <elliott> `fetch http://sprunge.us/OIib
22:33:18 <HackEgo> 2011-09-14 22:33:18 URL:http://sprunge.us/OIib [173] -> "OIib" [1]
22:33:18 <Gregor> lol, greatest output ever
22:33:25 <elliott> `run mv OIib bin/learn; chmod +x bin/learn
22:33:27 <HackEgo> No output.
22:33:36 <elliott> `fetch #!/bin/sh
22:33:36 <elliott> rm "learn/$1"
22:33:37 <HackEgo> http://#!/bin/sh: Invalid host name.
22:33:37 <elliott> ...
22:33:43 <elliott> `fetch http://sprunge.us/fgdX
22:33:44 <HackEgo> 2011-09-14 22:33:44 URL:http://sprunge.us/fgdX [25] -> "fgdX" [1]
22:33:48 -!- sllide has quit (Ping timeout: 260 seconds).
22:33:48 <elliott> `run mv fgdX bin/forget; chmod +x bin/forget
22:33:50 <HackEgo> No output.
22:33:51 <elliott> `run mkdir learn
22:33:53 <HackEgo> No output.
22:34:02 <elliott> `learn Gregor is the stupidest stupid.
22:34:04 <HackEgo> ​/hackenv/bin/learn: line 7: learn/Gregor: No such file or directory
22:34:13 <monqy> rip gregor
22:34:13 <elliott> Uhh
22:34:15 <elliott> `ls learn
22:34:16 <HackEgo> ls: cannot access learn: No such file or directory
22:34:17 <monqy> "the stupidest stupid"
22:34:20 <elliott> >_<
22:34:21 <elliott> `run mkdir learn
22:34:23 <HackEgo> No output.
22:34:26 <elliott> `learn Gregor is the stupidest stupid.
22:34:28 <HackEgo> ​/hackenv/bin/learn: line 7: learn/Gregor: No such file or directory
22:34:31 <elliott> Gregor: what
22:34:38 <elliott> `run mkdir learn
22:34:40 <HackEgo> No output.
22:34:51 <elliott> `learn Gregor is the stupidest stupid.
22:34:53 <HackEgo> ​/hackenv/bin/learn: line 7: learn/Gregor: No such file or directory
22:34:56 <elliott> Gregor: ??????????????
22:35:15 <oerjan> `ls learn
22:35:17 <HackEgo> ls: cannot access learn: No such file or directory
22:35:22 <monqy> what is learn doimg....
22:35:34 <elliott> `help
22:35:35 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
22:35:46 <Gregor> elliott: It doesn't remember empty directories.
22:35:52 <elliott> Gregor: lol@hg
22:36:03 <Gregor> elliott: lol@virtually every VCS in existence?
22:36:07 <elliott> Nope.
22:36:11 <elliott> darcs gets it right, for one.
22:36:15 <Gregor> 1.
22:36:16 -!- FireFly has quit (Quit: FireFly).
22:36:19 <elliott> I think SVN did too.
22:36:21 <Gregor> 2.
22:36:32 <elliott> Gregor: Dude, the only VCSes taht don't are git and hg :P
22:36:35 <elliott> I think bzr gets it right as well.
22:36:48 <monqy> git and hg are virtually every vcs in existence
22:36:54 <elliott> `run sed -i 's/learn/wisdom/g' bin/learn; sed -i 's/learn/wisdom/g' bin/'?'; sed -i 's/learn/wisdom/g' bin/forget
22:36:55 <HackEgo> No output.
22:36:57 <Gregor> It's been too long since I've used bzr to corroborate *shrugs*
22:37:08 <elliott> `run mkdir wisdom; echo "is a big stupid stupid." >wisdom/Gregor
22:37:11 <HackEgo> No output.
22:37:12 <elliott> `? Gregor
22:37:13 <HackEgo> Gregor? ¯\(°_o)/¯
22:37:18 <elliott> `ls wisdom
22:37:20 <HackEgo> Gregor
22:37:23 <elliott> uh
22:37:24 <Gregor> Oh good, so now you can't just say the name ...
22:37:33 <elliott> Gregor: Yes, because that was terrible :P
22:37:38 <elliott> `url bin/?
22:37:39 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/?
22:37:45 <elliott> >_<
22:37:45 <Gregor> Well, I'll admit that having it get in the way of cat was kinda bad.
22:37:48 <elliott> `paste bin/?
22:37:50 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.25292
22:37:50 <Gregor> And that URL ain't gonna work at all X-D
22:37:57 <elliott> Hmm
22:38:05 <elliott> `run ls wisdom/Gregor
22:38:07 <HackEgo> wisdom/Gregor
22:38:10 <elliott> ???
22:38:19 <elliott> Am I misunderstanding what -e does? :P
22:38:50 <elliott> halp
22:38:55 <monqy> `cat wisdom/Gregor
22:38:57 <HackEgo> is a big stupid stupid.
22:39:18 <Gregor> `run [ -e wisdom/Gregor ] && echo hewoo
22:39:19 <HackEgo> hewoo
22:39:22 <Phantom_Hoover> `log wisdom
22:39:25 <HackEgo> 2011-09-14.txt:22:39:22: <Phantom_Hoover> `log wisdom
22:39:40 <elliott> `? .
22:39:42 <HackEgo> cat: wisdom/.: Is a directory \ .
22:39:47 <elliott> Nice X-D
22:40:03 <elliott> `? ../bin/?
22:40:04 <HackEgo> ​../bin/? #!/bin/sh \ [ -e "wisdom/$1" ] || { echo "$1? ¯\(°_o)/¯"; exit 1; } \ echo "$1 $(cat "wisdom/$1")"
22:40:10 <elliott> Feature.
22:40:12 <elliott> `? Gregor
22:40:13 <Gregor> Agreed
22:40:14 <HackEgo> Gregor is a big stupid stupid.
22:40:17 <elliott> Huh
22:40:19 <elliott> It suddenly works
22:40:25 <Lymee> `? echo
22:40:26 <HackEgo> echo? ¯\(°_o)/¯
22:40:29 <elliott> `pastequotes monqy
22:40:31 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.1494
22:40:32 <elliott> Time to start documenting the masses
22:40:44 <Gregor> `learn Gregor Wrote the bot. Better than you. For most values of "you".
22:40:46 <HackEgo> No output.
22:40:48 <Gregor> >_>
22:40:50 <elliott> Gregor: Wrong style :P
22:40:52 <Gregor> `? Gregor
22:40:54 <Gregor> Oh foo
22:40:54 <HackEgo> Gregor "you".
22:40:55 <elliott> Following `learn is a full sentence.
22:40:57 <elliott> ...
22:40:58 <elliott> what
22:40:58 <Gregor> lol
22:41:04 <Gregor> I'll go with that.
22:41:06 <elliott> Gregor "you".
22:41:06 <Gregor> Works for me.
22:41:14 <elliott> topic=$(echo "$1" | sed 's/ .*//')
22:41:14 <elliott> info=$(echo "$1" | sed 's/.* //')
22:41:17 <elliott> OK sed-experts, help me out here :P
22:41:27 <elliott> I didn't use /g
22:41:28 <Gregor> info removes everything before the last space there.
22:41:28 <elliott> So??
22:41:35 <elliott> Oh hmm
22:41:37 <Gregor> .* is greedy
22:41:42 <elliott> How can I make it be tighter >_>
22:41:44 <Gregor> You want [^ ]*
22:41:45 <elliott> .*? is perlism
22:41:48 <elliott> Thx :P
22:41:57 <Gregor> Yeah, as far as I know there's no non-greedy modifier for sed.
22:42:03 <elliott> `fetch http://sprunge.us/ECNd
22:42:04 <HackEgo> 2011-09-14 22:42:04 URL:http://sprunge.us/ECNd [178] -> "ECNd" [1]
22:42:08 <elliott> `run mv ECNd bin/learn; chmod +x bin/learn
22:42:10 <HackEgo> No output.
22:42:15 <elliott> `learn Gregor wrote the bot, which is why he's terrible.
22:42:16 <HackEgo> No output.
22:42:18 <elliott> `? Gregor
22:42:20 <HackEgo> Gregor wrote the bot, which is why he's terrible.
22:42:25 <Gregor> "No output" isn't the ideal output :P
22:42:34 <elliott> OK FINE TIME FOR SOME MEGA OUTPUT
22:42:50 <Gregor> How about "Filling me with your knowledge gives me a sexual kind of pleasure."
22:43:01 * Phantom_Hoover wonders how Transmission concludes, from a rate of consistently between 50 and 100 KiB/s, that it will take twelve hours to torrent 3GB.
22:43:33 <elliott> `fetch http://sprunge.us/aJVh
22:43:33 <HackEgo> 2011-09-14 22:43:33 URL:http://sprunge.us/aJVh [198] -> "aJVh" [1]
22:43:39 <elliott> `run mv aJVh bin/learn; chmod +x bin/learn
22:43:41 <HackEgo> No output.
22:43:48 <elliott> `run echo 'echo "Forget what?"' >>bin/forget
22:43:50 <HackEgo> No output.
22:43:58 <Gregor> `learn Gregor Wrote the bot. Better than you. For most values of "you".
22:44:01 <HackEgo> I knew that.
22:44:03 <elliott> Gregor: NOT A SENTENCE
22:44:08 <monqy> `forget Gregor
22:44:10 <HackEgo> Forget what?
22:44:15 <Gregor> `learn Gregor Wrote the bot. Better than you. For most values of "you".
22:44:17 <HackEgo> ​/hackenv/bin/learn: line 7: wisdom/Gregor: No such file or directory \ I knew that.
22:44:21 <Gregor> Sweet.
22:44:25 <Phantom_Hoover> > 3000000 / (75*60)
22:44:25 <lambdabot> 666.6666666666666
22:44:34 <Phantom_Hoover> > 3000000 / (75*60*60)
22:44:35 <lambdabot> 11.11111111111111
22:44:38 <Gregor> `? Gregor
22:44:39 <Phantom_Hoover> Oh.
22:44:40 <HackEgo> Gregor? ¯\(°_o)/¯
22:44:48 <elliott> `run mkdir wisdom; echo "You do not have the clearance necessary to view this entry." >wisdom/.doorstop
22:44:50 <HackEgo> No output.
22:44:53 <elliott> `? .doorstop
22:44:55 <HackEgo> ​.doorstop You do not have the clearance necessary to view this entry.
22:44:58 <Gregor> You yeah :P
22:45:00 <Gregor> `learn Gregor Wrote the bot. Better than you. For most values of "you".
22:45:02 <HackEgo> I knew that.
22:45:04 <elliott> `run mkdir wisdom; echo "is -- You do not have the clearance necessary to view this entry." >wisdom/.doorstop
22:45:05 <HackEgo> mkdir: cannot create directory `wisdom': File exists
22:45:05 <Gregor> Errr ... "Oh yeah"
22:45:11 <Phantom_Hoover> Dammit, computers, stop being better than me at arithmetic.
22:45:11 <elliott> `? .doorstop
22:45:13 <HackEgo> ​.doorstop is -- You do not have the clearance necessary to view this entry.
22:45:14 * Phantom_Hoover → sleep
22:45:16 -!- Phantom_Hoover has quit (Quit: Leaving).
22:45:19 <Gregor> `? Gregor
22:45:20 <HackEgo> Gregor Wrote the bot. Better than you. For most values of "you".
22:45:25 <elliott> You need to de-capitalise that w >_>
22:45:27 <Gregor> `learn Gregor wrote the bot. Better than you. For most values of "you".
22:45:29 <HackEgo> I knew that.
22:45:31 <Gregor> `? Gregor
22:45:32 <HackEgo> Gregor wrote the bot. Better than you. For most values of "you".
22:45:42 <elliott> Hmm
22:45:49 <Gregor> Now just to configure the bot to make that file unwritable :P
22:45:50 <elliott> I'm going to make it de-capitalise the queries
22:45:56 <elliott> So that
22:45:57 <elliott> `? gregor
22:45:58 <elliott> DTRT :P
22:45:58 <HackEgo> gregor? ¯\(°_o)/¯
22:47:56 <Gregor> I AM AN INSULIN NINJA
22:47:59 <elliott> `fetch http://sprunge.us/IWUd
22:48:00 <HackEgo> 2011-09-14 22:48:00 URL:http://sprunge.us/IWUd [126] -> "IWUd" [1]
22:48:14 <elliott> `run mv IWUd bin/'?'; chmod +x bin/'?'
22:48:16 <HackEgo> No output.
22:48:21 <elliott> `fetch http://sprunge.us/HggH
22:48:22 <HackEgo> 2011-09-14 22:48:22 URL:http://sprunge.us/HggH [250] -> "HggH" [1]
22:48:27 <elliott> `run mv HggH bin/learn; chmod +x bin/learn
22:48:29 <HackEgo> No output.
22:48:42 <elliott> `fetch http://sprunge.us/LYaH
22:48:43 <HackEgo> 2011-09-14 22:48:43 URL:http://sprunge.us/LYaH [69] -> "LYaH" [1]
22:48:44 <elliott> (learn you a haskell :DDddd)
22:48:50 <elliott> `run mv LYaH bin/forget; chmod +x bin/forget
22:48:51 <HackEgo> No output.
22:48:55 <elliott> `run rm -r wisdom
22:48:57 <HackEgo> No output.
22:49:09 <elliott> `run mkdir wisdom; echo "You do not have the clearance necessary to view this entry." >wisdom/.doorstop
22:49:11 <HackEgo> No output.
22:49:12 <elliott> `? DoorStop
22:49:14 <HackEgo> DoorStop? ¯\(°_o)/¯
22:49:19 <elliott> ;__;
22:49:20 <elliott> `? DoorStop
22:49:22 <HackEgo> DoorStop? ¯\(°_o)/¯
22:49:31 <elliott> oh duh
22:49:32 <itidus20> `? elliott
22:49:34 <HackEgo> elliott? ¯\(°_o)/¯
22:49:34 <elliott> `? .DoorStop
22:49:36 <HackEgo> You do not have the clearance necessary to view this entry.
22:49:45 <elliott> Gregor: OK gogogo :P
22:49:48 <Gregor> `? gREGOR
22:49:50 <HackEgo> gREGOR? ¯\(°_o)/¯
22:50:00 <Gregor> `run ls -a wisdom
22:50:02 <HackEgo> ​. \ .. \ .doorstop
22:50:05 <Gregor> Oh
22:50:07 <Lymee> `which ?
22:50:08 <Gregor> `learn Gregor wrote the bot. Better than you. For most values of "you".
22:50:09 <HackEgo> ​/hackenv/bin/?
22:50:11 <HackEgo> I knew that.
22:50:16 <Gregor> `? gREGOR
22:50:18 <HackEgo> Gregor wrote the bot. Better than you. For most values of "you".
22:50:20 <Lymee> `paste /hackenv/bin/?
22:50:22 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.6482
22:50:53 <elliott> `run echo '#!/bin/sh' >bin/pastewisdom; echo 'cat wisdom/* | paste' >>bin/pastewisdom; chmod +x bin/pastewisdom
22:50:55 <HackEgo> No output.
22:50:59 <elliott> Hmmhmm
22:51:00 <Gregor> `learn Wiki , the, is at http://esoteric.voxelperfect.net/wiki/Main_Page
22:51:03 <HackEgo> I knew that.
22:51:20 <elliott> `fetch http://sprunge.us/XAGK
22:51:21 <HackEgo> 2011-09-14 22:51:21 URL:http://sprunge.us/XAGK [143] -> "XAGK" [1]
22:51:26 <elliott> `run mv XAGK bin/learn; chmod +X bin/learn
22:51:28 <HackEgo> No output.
22:51:29 <elliott> `run chmod +x bin/learn
22:51:31 <HackEgo> No output.
22:51:34 <elliott> `run chmod -X bin/learn
22:51:36 <HackEgo> No output.
22:51:39 <elliott> Don't really want topics with spaces.
22:51:40 <elliott> `pastewisdom
22:51:43 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.27806
22:51:56 <elliott> Gregor: You can do that without the space after the comma btw.
22:52:07 <Gregor> "before" I assume you mean?
22:52:13 <Gregor> So it only accepts alpha(num)?
22:52:20 <elliott> `run echo "The wiki is at http://esolangs.org/wiki" >wisdom/wiki
22:52:22 <HackEgo> No output.
22:52:23 <elliott> Secret haxx
22:52:25 <elliott> `? wiki
22:52:26 <Gregor> Heh
22:52:26 <HackEgo> The wiki is at http://esolangs.org/wiki
22:53:09 <Lymee> `which forget
22:53:11 <HackEgo> ​/hackenv/bin/forget
22:53:12 <elliott> OK, now to fill this thing with correct opinions :P
22:53:20 <Lymee> `mv /hackenv/bin/forget /hackenv/bin/forget_
22:53:21 <HackEgo> mv: missing destination file operand after `/hackenv/bin/forget /hackenv/bin/forget_' \ Try `mv --help' for more information.
22:53:29 <elliott> Lymee: Being annoying =/= being funny/amusing/etc.
22:53:33 <Lymee> `run mv /hackenv/bin/forget /hackenv/bin/forget_
22:53:35 <HackEgo> No output.
22:53:39 <Lymee> `run mv /hackenv/bin/learn /hackenv/bin/forget
22:53:41 <HackEgo> No output.
22:53:43 <elliott> `help
22:53:44 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
22:53:46 <monqy> Lymee: whjat
22:53:47 <Lymee> `run mv /hackenv/bin/forget_ /hackenv/bin/learn
22:53:48 <HackEgo> No output.
22:53:49 <elliott> Gregor: Can you please make the bots ignore Lymee?
22:53:56 <elliott> She hasn't run a productive command in the last... uh, ever.
22:53:59 <monqy> Lymee: wahy are you dOING that
22:54:04 <elliott> `revert 229
22:54:06 <HackEgo> Done.
22:54:09 <Lymee> :(
22:54:25 <elliott> http://esolangs.org/wiki/User:WLaquitaCuevasa
22:54:26 <elliott> Oh my god.
22:54:46 <Gregor> lolwut
22:54:49 <elliott> However, some builders of Python and other languages disrespect PHP developers and deal with us like children of a lesser God. I have previously witnessed some Python developers particularly engaging in dislike speech towards PHP builders, in all probability because they do not have an understanding of why PHP received so well-known.
22:54:54 <elliott> THIS IS AMAZING
22:55:37 <elliott> `log international hub
22:55:41 <HackEgo> 2008-06-30.txt:20:50:03: <ais523> I like the international hub topic
22:55:45 <elliott> `log international hub
22:55:49 <HackEgo> 2007-07-16.txt:22:36:21: <oklopol> The international hub for esoteric programming language design and deployment | FORUM AND WIKI: http://esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric | PASTEBIN: http://pastebin.ca
22:55:49 <itidus20> ahahhaha
22:55:51 <Gregor> SO DO I, AIS OF THE PAST! SO DO I!
22:56:11 <elliott> `learn Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page
22:56:13 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/learn: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/learn: cannot execute: Success
22:56:19 <Gregor> ... uhh
22:56:20 <elliott> sigh
22:56:23 <Gregor> `url
22:56:24 <elliott> Lymee: You get to fix whatever you fucked up.
22:56:25 <HackEgo> http://codu.org/projects/hackbot/fshg/
22:56:38 <Lymee> `run chmod +x /usr/bin/learn
22:56:40 <HackEgo> chmod: cannot access `/usr/bin/learn': No such file or directory
22:56:40 <Lymee> `run chmod +x /usr/bin/forget
22:56:41 <elliott> Gregor: I bet `revert doesn't manage permissions somehow.
22:56:42 <HackEgo> chmod: cannot access `/usr/bin/forget': No such file or directory
22:56:45 <elliott> Lymee: idiot.
22:56:47 <Lymee> `run chmod +x /hackenv/bin/forget
22:56:49 <HackEgo> No output.
22:56:49 <Lymee> `run chmod +x /hackenv/bin/learn
22:56:51 <HackEgo> No output.
22:56:51 <Lymee> elliott, :<
22:56:56 <elliott> `learn Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page
22:56:58 <HackEgo> I knew that.
22:56:58 <Gregor> elliott: It ought to >_>
22:57:02 <elliott> `? welcome
22:57:04 <HackEgo> Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page
22:57:07 <elliott> Gregor: Behold
22:57:12 <elliott> The newbie experience has been revolutionised
22:57:17 <Gregor> WOW
22:57:22 <elliott> Mere characters are all that is necessary to induct them into the channel
22:57:31 <elliott> Gone are the days of verbose explanation of the channel's purpose
22:57:37 <Gregor> Amazing!
22:57:40 <elliott> HERE AGAIN ARE THE DAYS OF THE INTERNATIONAL HUB!
22:57:42 <elliott> REJOICE!!!!
22:58:27 <elliott> `learn friendship wisdom
22:58:29 <HackEgo> I knew that.
22:58:32 <elliott> monqy: ask HackEgo what friendship is
22:59:05 <elliott> FINE I WILL
22:59:08 <elliott> `? friendshi
22:59:09 <elliott> `? friendshi
22:59:09 <HackEgo> friendshi? ¯\(°_o)/¯
22:59:09 <elliott> `? friendship
22:59:10 <monqy> `? friendship
22:59:11 <HackEgo> friendshi? ¯\(°_o)/¯
22:59:12 <HackEgo> friendship wisdom
22:59:12 <HackEgo> friendship wisdom
22:59:18 <elliott> `? friendship
22:59:20 <HackEgo> friendship wisdom
22:59:30 <monqy> `? wisdom
22:59:32 <HackEgo> wisdom? ¯\(°_o)/¯
22:59:55 <monqy> `? ../bin/?
22:59:57 <HackEgo> ​#!/bin/sh \ topic=$(echo "$1" | tr A-Z a-z) \ [ -e "wisdom/$topic" ] || { echo "$1? ¯\(°_o)/¯"; exit 1; } \ cat "wisdom/$topic" \
23:00:14 <elliott> `url bin/pastenquotes
23:00:15 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/pastenquotes
23:00:23 <monqy> pastenquotes?
23:00:26 <monqy> oh
23:00:28 <monqy> pastenquotes
23:00:38 <elliott> `learn qdb is used like: `quote regexp; `quote id; `addquote ...; `delquote id; `pastequotes regexp; `pastenquotes [n]; see also qdbformat
23:00:40 <HackEgo> I knew that.
23:01:29 <elliott> `learn qdbformat is: <nick> message; * nick action; two spaces between messages; all elisions marked with [...] other than irrelevant intervening messages; for messages separated by elision, one space on each side, not two
23:01:30 <itidus20> `learn Esoteric is an abbreviation for Esoteric Programming Languages as contrasted with Esoteric languages such as lojban and klingon and contrasted with the occult, however those topics may well be compatible with each other .. according to itidus20
23:01:31 <HackEgo> I knew that.
23:01:32 <HackEgo> I knew that.
23:01:35 <elliott> itidus20: ...
23:01:50 <elliott> `? qdb
23:01:52 <HackEgo> qdb is used like: `quote regexp; `quote id; `addquote ...; `delquote id; `pastequotes regexp; `pastenquotes [n]; see also qdbformat
23:01:54 <elliott> `? qdbformat
23:01:56 <HackEgo> qdbformat is: <nick> message; * nick action; two spaces between messages; all elisions marked with [...] other than irrelevant intervening messages; for messages separated by elision, one space on each side, not two
23:02:01 <elliott> Gregor: DOCUMENTATION ;D
23:02:10 <itidus20> ok .. i won't do that
23:04:11 <itidus20> what have i done
23:04:34 <Gregor> `learn HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing.
23:04:36 <HackEgo> I knew that.
23:04:39 <Gregor> `? HackEgo
23:04:41 <HackEgo> HackEgo? ¯\(°_o)/¯
23:04:45 <Gregor> `? HackEgo,
23:04:47 <HackEgo> HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing.
23:04:50 <Gregor> elliott: YOUR LIES
23:04:52 <Gregor> elliott: THEY ARE LIES
23:05:14 <Gregor> `run mv wisdom/HackEgo, wisdom/HackEgo
23:05:16 <HackEgo> mv: cannot stat `wisdom/HackEgo,': No such file or directory
23:05:18 <monqy> `mv wisdom/hackego, wisdom/hackego
23:05:20 <HackEgo> mv: missing destination file operand after `wisdom/hackego, wisdom/hackego' \ Try `mv --help' for more information.
23:05:22 <monqy> oops
23:05:28 <Gregor> Feh
23:05:39 <Gregor> `run mv wisdom/hackego',' wisdom/hackego
23:05:40 <HackEgo> No output.
23:06:06 <monqy> maybe `learn should handle comas..
23:06:47 <Gregor> elliott SAID that it does :P
23:06:51 <Gregor> Because he LIES.
23:07:03 <monqy> `? elliott
23:07:05 <HackEgo> elliott? ¯\(°_o)/¯
23:07:15 <elliott> Gregor: i did not say that
23:07:29 <itidus20> `log `? elliott
23:07:32 <HackEgo> 2010-10-28.txt:20:41:05: <Vorpal> elliott, -b and -m iirc
23:07:51 <Gregor> <elliott> Gregor: You can do that without the space after the comma btw. <Gregor> "before" I assume you mean? <Gregor> So it only accepts alpha(num)? // I just assumed you meant "before" because "after" made no sense at all.
23:08:05 -!- augur has quit (Remote host closed the connection).
23:08:33 <Gregor> `learn elliott wrote this learn DB, and wrote or improved many of the other commands in this bot. He probably has done other things?
23:08:35 <HackEgo> I knew that.
23:09:04 <elliott> HackEgo: literally my only achievement.
23:09:12 <elliott> 05:31:08: <Tefad> i dislike the presence of chanserv btw
23:09:12 <elliott> 05:31:12: <Tefad> there's no point
23:09:12 <elliott> 05:31:28: <Tefad> and it just gives them means to peak at our conversation if they so choose
23:09:12 <elliott> 05:31:52: <Tefad> unless clog is a logger to a webpage
23:09:12 <elliott> 05:31:53: <Tefad> then uh
23:09:12 <elliott> 05:31:55: <Tefad> yeah..
23:09:15 <elliott> 05:31:59: * Tefad stabs violently
23:09:17 <elliott> 05:32:31: -!- Tefad has parted #esoteric (?).
23:10:04 <monqy> bye tefad
23:10:17 <Gregor> lol
23:11:08 <elliott> i like how he thinks freenode couldn't peek at convos without chanserv
23:11:30 <Gregor> THE GUMMINT
23:11:40 <monqy> the man
23:12:32 <elliott> this log is insane
23:12:52 <elliott> calamari rising up against the graue tyranny because his java applet will be ONE PAGE AWAY because graue doesn't want to embed java applets on the wiki
23:12:55 <elliott> s/PAGE/CLICK/
23:13:38 -!- Sgeo has joined.
23:15:41 <itidus20> `log applet
23:15:45 <HackEgo> 2007-07-06.txt:13:44:44: <oklopol> can applets be run without a browser? (:P)
23:15:46 <elliott> `pastelogs Tefad
23:15:51 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.32098
23:16:05 <elliott> lmao never came back after discoevring clog
23:16:14 <elliott> omg but is on freenode now must resist
23:16:15 <elliott> temptation
23:16:52 <itidus20> @oklopol: yes they can there is some applet player program
23:17:36 <elliott> "2007"
23:17:46 <elliott> `log oklopol
23:17:50 <HackEgo> 2011-01-15.txt:00:14:10: <fizzie> oklopol: And then there was the water thing.
23:18:05 <elliott> `log <oklopol>
23:18:09 <HackEgo> 2008-01-03.txt:21:34:47: <oklopol> oh holland, you crack me up!
23:19:22 <elliott> `log holland
23:19:26 <HackEgo> 2010-09-22.txt:23:01:42: <cheater99> alise: holland is the official name of the netherlands in polish, for example.
23:19:33 <elliott> `pastelogs finland
23:19:36 <elliott> gotta get the finland theory for learndb
23:19:37 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.3700
23:20:01 <elliott> 2003-09-08.txt:13:17:43: <Verbed> ~awaken The Russian Federation is by far the largest country of the world in area by spanning 11 time zones in both Europe and Asia. Russia shares borders with the following countries (starting in the north and in counter-clockwise order): Norway, Finland, Estonia, Latvia, Belarus, Lithuania (via Kaliningrad Oblast), Poland (idem), Ukraine, Georgia, Azerbaijan, Kazakhs
23:20:01 <elliott> tan, China, Mongolia and North Korea.
23:20:01 <elliott> 2003-09-08.txt:13:17:45: <Doppelganger> The Resin Feathered is by for the largesse country of the world in are by spinning 11 tone zoans in but Erebia and As. Rise swoors brother what they flummoxed country (starting in to north and in contrescene order: Near, Finlandia, Extend, Latvia, Bowler's, Letdown (via Killmaimthem Obligation, Plenty (idem), Ukraine, Grace, Acorpolous, Kissykissy, Come, Monosyll
23:20:04 <elliott> ables and Nerthe Krow.
23:20:06 <elliott> wat
23:20:28 <monqy> `log finland theory
23:20:31 <HackEgo> 2011-09-14.txt:23:20:28: <monqy> `log finland theory
23:21:21 <elliott> see
23:21:21 <elliott> 2008-08-31.txt:14:55:26: <Corun> There's only like 2 people in finland right?
23:21:22 <elliott> onwards
23:21:24 <elliott> in that paste
23:23:20 <elliott> `learn Finland is a European country. There are two people in Finland, and at least five of them are in this channel. Corun drives the bus.
23:23:22 <HackEgo> I knew that.
23:23:37 * shachaf is a citizen of Finland!
23:23:55 <elliott> shachaf: That's what they all say.
23:24:03 <shachaf> elliott: I've spent two weeks of my life there.
23:24:38 <elliott> Also what they all say.
23:24:52 <elliott> shachaf: Write your one-line biography.
23:24:56 <elliott> The learndb demands it.
23:25:05 * shachaf refuses to be biographed.
23:25:13 <elliott> `learn shachaf refuses to be biographed.
23:25:15 <HackEgo> I knew that.
23:25:18 <elliott> Biographed.
23:25:20 <monqy> I was just about to do that exact same thing
23:25:21 <shachaf> `unlearn shachaf
23:25:21 <monqy> biographed.
23:25:22 <Gregor> Was gonna do that
23:25:22 <HackEgo> I don't even know that!
23:25:29 <elliott> `rm bin/unlearn
23:25:30 <HackEgo> No output.
23:25:31 <elliott> unlearn is quite obsolete :P
23:25:38 <shachaf> :-(
23:25:39 <oerjan> `learn Vorpal går aldrig på biografen.
23:25:41 <HackEgo> I knew that.
23:25:44 <shachaf> `help
23:25:45 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
23:25:51 <elliott> There's a command to do it but you don't know what it is.
23:25:55 <shachaf> `ls
23:25:57 <HackEgo> babies \ bin \ bluhbluh \ canary \ env \ foo \ paste \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ tekst \ test.c \ test2.c \ test3.c \ tmp.tmp \ wisdom
23:25:59 <shachaf> `ls bin
23:26:01 <HackEgo> ​? \ addquote \ allquotes \ botsnack \ calc \ commands \ creatures \ define \ delquote \ elliott \ esolang \ etymology \ forget \ fuck \ google \ imdb \ json \ k \ karma \ learn \ log \ logurl \ marco \ minifind \ paste \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ pastewisdom \ penis \ ping \ prefixes \ quine \ quote
23:26:02 <elliott> `learn Vorpal is really boring. Seriously, you have no idea.
23:26:04 <shachaf> `forget shachaf
23:26:04 <HackEgo> I knew that.
23:26:06 <HackEgo> Forget what?
23:26:14 <shachaf> `forget --help
23:26:16 <HackEgo> rm: cannot remove `wisdom/--help': No such file or directory \ Forget what?
23:26:23 <elliott> `learn shachaf refuses to be biographed.
23:26:25 <HackEgo> I knew that.
23:26:28 <elliott> IT SHALL NEVER
23:26:29 <elliott> FORGET
23:26:35 <shachaf> `cat bin/elliott
23:26:37 <HackEgo> ​#!/usr/bin/env learnt \ elliott = Ignore this loser.
23:26:42 <shachaf> `elliott
23:26:43 <HackEgo> ​/usr/bin/env: learnt: No such file or directory
23:26:43 <elliott> `rm bin/elliott
23:26:45 <HackEgo> No output.
23:26:47 <elliott> Damn these old things hanging around :P
23:26:54 <elliott> `url bin/minifind
23:26:56 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/minifind
23:27:02 <elliott> Gregor: What
23:27:03 <monqy> `elliott
23:27:05 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: elliott: not found
23:27:17 <monqy> `ls bin
23:27:18 <HackEgo> ​? \ addquote \ allquotes \ botsnack \ calc \ commands \ creatures \ define \ delquote \ esolang \ etymology \ forget \ fuck \ google \ imdb \ json \ k \ karma \ learn \ log \ logurl \ marco \ minifind \ paste \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ pastewisdom \ penis \ ping \ prefixes \ quine \ quote \ quotes
23:27:42 <monqy> what do these do
23:28:06 <itidus20> `marco
23:28:07 <shachaf> `run rm -rf bin
23:28:08 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: marco: not found
23:28:09 <HackEgo> No output.
23:28:12 <elliott> `help
23:28:13 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
23:28:22 <elliott> `revert 254
23:28:24 <HackEgo> Done.
23:28:25 <elliott> `? HackEgo
23:28:28 <HackEgo> HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing.
23:28:30 <shachaf> elliott: Aw, I didn't really rm it.
23:28:31 <elliott> shachaf: Observe last two sentences.
23:28:45 <elliott> `learn Haskell is preferred by 9 out of 10 esoteric programmers. Ask your GP today! http://learnyouahaskell.com/
23:28:47 <HackEgo> I knew that.
23:28:51 <elliott> `pastewisdom
23:28:53 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.9171
23:28:56 <shachaf> elliott: I had previously mved bin .bin
23:29:14 <elliott> shachaf: So http://codu.org/projects/hackbot/fshg/ shows.
23:29:20 <shachaf> Hmph. :-(
23:29:26 <elliott> :D
23:29:37 <shachaf> `run killall -9 elliott
23:29:39 <HackEgo> sh: killall: command not found
23:29:41 <elliott> im dead
23:29:49 <shachaf> u dead?
23:30:01 <elliott> i dead
23:30:04 <Gregor> u mad bro?
23:30:05 <monqy> dead
23:30:07 <monqy> :(
23:30:10 <elliott> Gregor: thatsthejoke.jpg
23:30:14 <elliott> `learn monqy dead :(
23:30:16 <HackEgo> I knew that.
23:30:16 <Lymee> `run ls -al | grep bin
23:30:18 <HackEgo> drwxr-xr-x 2 5000 0 4096 Sep 14 23:30 bin
23:30:28 <monqy> `? monqy
23:30:30 <HackEgo> monqy dead :(
23:30:32 <monqy> :(
23:30:35 <elliott> :(
23:30:37 <shachaf> i heard u mad, so i put all the things in your things so u can mad while u mad?
23:30:44 <elliott> `learn shachaf heard u mad, so i put all the things in your things so u can mad while u mad?
23:30:46 <HackEgo> I knew that.
23:30:56 <monqy> no no no no no non on ononn ;_____________________;
23:31:01 -!- DH____ has quit (Read error: Connection reset by peer).
23:31:03 <shachaf> `cat /etc/shadow
23:31:04 <elliott> now anyone who wants to know about shachaf
23:31:04 <elliott> gets
23:31:05 <HackEgo> cat: /etc/shadow: No such file or directory
23:31:05 <elliott> the torture
23:31:07 <itidus20> `learn :( :-D
23:31:09 <HackEgo> I knew that.
23:31:13 <elliott> `forget :(
23:31:14 -!- DH____ has joined.
23:31:15 <HackEgo> Forget what?
23:31:17 <shachaf> `forget shachaf
23:31:19 <HackEgo> Forget what?
23:31:27 <elliott> `learn shachaf heard u mad, so i put all the things in your things so u can mad while u mad?
23:31:29 <HackEgo> I knew that.
23:31:30 <shachaf> `forget shachaf
23:31:32 <HackEgo> Forget what?
23:31:35 <elliott> shachaf: I have won botwars lasting whole days.
23:31:39 <elliott> `learn shachaf heard u mad, so i put all the things in your things so u can mad while u mad?
23:31:41 <HackEgo> I knew that.
23:31:49 <monqy> shachaf: this is all your fault
23:32:08 <oerjan> `learn shachaf is the one whose fault this all is.
23:32:10 <HackEgo> I knew that.
23:32:40 <elliott> `learn oerjan is just zis guy, you know?
23:32:42 <HackEgo> I knew that.
23:32:56 <shachaf> Hmph.
23:33:02 <oerjan> z'is true
23:33:04 <elliott> Hmph.
23:33:10 <monqy> hmph
23:33:13 <shachaf> Why can't you chmod +x things?
23:33:15 <shachaf> `cat bin/u
23:33:17 <HackEgo> ​#!/bin/bash \ echo i mad
23:33:21 <shachaf> Stupid thing.
23:33:23 <elliott> You can. You need `run.
23:33:26 <Gregor> `learn C is the language of choice for sexy, intelligent esolangers.
23:33:26 <elliott> `run chmod +x bin/u
23:33:28 <HackEgo> I knew that.
23:33:29 <HackEgo> No output.
23:33:33 <shachaf> elliott: No, my echo got messed up.
23:33:47 <elliott> `learn C is the language of��V�>WIד�.��Segmentation fault
23:33:49 <HackEgo> I knew that.
23:33:51 <shachaf> `run rm -rf /
23:33:51 <oerjan> ^echo works fine
23:33:53 <elliott> `? C
23:33:53 <HackEgo> rm: cannot remove root directory `/'
23:33:55 <HackEgo> C is the language of��V�>WIד�.��Segmentation fault
23:33:59 <shachaf> `run rm -rf `pwd`
23:34:01 <HackEgo> rm: cannot remove directory `/hackenv': Permission denied
23:34:03 <oerjan> aaaaaaaaaaaaaaaaaaaaaaaaa fungot!!!
23:34:06 <elliott> `help
23:34:06 <shachaf> `run rm -rf * .*
23:34:06 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
23:34:08 <HackEgo> rm: cannot remove directory `.' \ rm: cannot remove directory `..'
23:34:15 <shachaf> This bot is useless.
23:34:17 <elliott> `revert 274
23:34:18 <shachaf> lambdabot is way better.
23:34:19 <HackEgo> Done.
23:34:22 <shachaf> @admin + elliott
23:34:24 <shachaf> @admin - elliott
23:34:27 <elliott> @admin - shachaf
23:34:27 <lambdabot> Not enough privileges
23:34:33 <Gregor> ...........
23:34:34 <elliott> Fuck y'all.
23:35:04 <shachaf> @admin + elliott
23:35:06 <shachaf> @admin - elliott
23:35:08 <elliott> @admin -sh
23:35:08 <lambdabot> Not enough privileges
23:35:09 <elliott> sodihfgfdgjdfg
23:35:09 <elliott> gdfoji
23:35:25 <shachaf> @@ (@admin + elliott) (@admin - elliott)
23:35:25 <lambdabot> Plugin `compose' failed with: Privledged commands cannot be composed
23:35:26 <elliott> @admin - shachaf
23:35:26 <lambdabot> Not enough privileges
23:35:30 <shachaf> Hah.
23:35:31 <oerjan> `learn INTERCAL has excellent features for modular program for the enterprise market.
23:35:31 <Gregor> btw, elliott:
23:35:33 <HackEgo> I knew that.
23:35:34 <Gregor> `run rm -rf *
23:35:36 <HackEgo> No output.
23:35:36 <Gregor> Doesn't work.
23:35:39 <Gregor> `ls
23:35:41 <HackEgo> babies \ bin \ bluhbluh \ canary \ env \ foo \ paste \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ tekst \ test.c \ test2.c \ test3.c \ tmp.tmp \ wisdom
23:35:42 <elliott> How come :P
23:35:45 <shachaf> @admin - elliott
23:35:49 <shachaf> @admin + elliott
23:35:50 <shachaf> @admin - elliott
23:35:50 <Gregor> elliott: Note the files in the root thar
23:35:52 <elliott> @admin - shachaf
23:35:52 <lambdabot> Not enough privileges
23:35:57 <elliott> Gregor: idgi
23:36:01 <shachaf> elliott: You're not very good at this.
23:36:07 <Gregor> elliott: Note a particular, unusually-named file.
23:36:07 <elliott> shachaf: Oh I will be.
23:36:08 <elliott> You'll se.e
23:36:10 <elliott> I'll be the best.
23:36:11 <shachaf> @admin - elliott
23:36:12 <elliott> Ill be the utter best
23:36:13 <elliott> @admin - shachaf
23:36:13 <lambdabot> Not enough privileges
23:36:16 <elliott> Gregor: Ah :P
23:36:23 <elliott> shachaf: Butseriously,
23:36:23 <shachaf> @admin - elliott
23:36:24 <Gregor> elliott: Simplest way to avoid the stupidest offenders.
23:36:25 <elliott> The best I'll
23:36:25 <elliott> @admin - shachaf
23:36:25 <lambdabot> Not enough privileges
23:36:26 <shachaf> @admin + elliott
23:36:27 <shachaf> @admin - elliott
23:36:28 <elliott> be
23:36:28 <elliott> @admin - shachaf
23:36:28 <lambdabot> Not enough privileges
23:36:30 <elliott> uiasdjnkalcmsdv]\
23:36:31 <elliott> \
23:36:34 <elliott> The best I'll be
23:36:35 <elliott> is basically
23:36:36 <elliott> you know the best?
23:36:37 <elliott> Well
23:36:38 <elliott> shachaf
23:36:39 <elliott> the best I'll be
23:36:42 <elliott> is basically
23:36:44 <elliott> ten times that
23:36:45 <shachaf> @admin - elliott
23:36:46 <elliott> because
23:36:48 <elliott> I am
23:36:49 <elliott> the best
23:36:50 <shachaf> @admin + elliott
23:36:51 <shachaf> @admin - elliott
23:36:52 <elliott> at reaction times
23:36:54 <elliott> and to prove it
23:36:56 <elliott> @admin - shachaf
23:36:56 <lambdabot> Not enough privileges
23:37:00 <elliott> Fuck the police.
23:37:01 <elliott> fuck
23:37:04 <elliott> HA
23:37:06 <Gregor> ...................
23:37:07 <Lymee> Oh oh oh
23:37:08 <Gregor> Can we stop now.
23:37:09 <Lymee> Admin me instead
23:37:23 <elliott> So is dons an admin of lambdabot these days
23:37:27 <shachaf> @admin + elliott
23:37:30 <elliott> @admin - shacha
23:37:30 <elliott> @admin - shachaf
23:37:32 <elliott> YESSS
23:37:33 <elliott> YESSS
23:37:34 <elliott> EYESSSSSS
23:37:37 <elliott> YESSSSSSSSSSSSSSSSSSSSSSSSSSSSS
23:37:49 <Lymee> elliott, @kill
23:37:59 <elliott> @vixen-on
23:37:59 <lambdabot> Unknown command, try @list
23:38:02 <elliott> @list
23:38:02 <lambdabot> http://code.haskell.org/lambdabot/COMMANDS
23:38:05 <shachaf> Vixen got taken out of lambdabot.
23:38:12 <elliott> @vixen
23:38:12 <lambdabot> Government enterprise is the most inefficient and costly way of producing jobs.
23:38:14 <shachaf> elliott: You're not *actually* an admin, by the way.
23:38:14 <elliott> @vixen
23:38:14 <lambdabot> I reject the cynical view that politics is a dirty business.
23:38:17 <elliott> im cry
23:38:19 <elliott> shachaf: Why not.
23:38:29 <elliott> Also why vixen ded
23:38:35 <elliott> Gregor: butsrs what's minifin
23:38:35 <elliott> d
23:38:44 <Gregor> elliott: olde :P
23:38:46 <Gregor> `minifind
23:38:48 <HackEgo> ​./babies/babies.db \ ./bin/? \ ./bin/addquote \ ./bin/allquotes \ ./bin/botsnack \ ./bin/calc \ ./bin/commands \ ./bin/creatures \ ./bin/define \ ./bin/delquote \ ./bin/esolang \ ./bin/etymology \ ./bin/forget \ ./bin/fuck \ ./bin/google \ ./bin/imdb \ ./bin/json \ ./bin/k \ ./bin/karma \ ./bin/learn \ ./bin/log \ ./bin/logurl
23:38:50 <elliott> What's it fooooor.
23:38:51 <shachaf> @admin + elliott
23:38:52 <lambdabot> Not enough privileges
23:38:56 <shachaf> What?
23:38:59 <Gregor> elliott: It's find. Only stupid.
23:39:04 <shachaf> @admin + elliott
23:39:05 <lambdabot> Not enough privileges
23:39:09 <shachaf> I guess neither of us is an admin.
23:39:14 <elliott> @admin + shachaf
23:39:16 <elliott> @admin - shachaf
23:39:18 <elliott> I guess I am.
23:39:31 <elliott> But seriously, why vixen rip.
23:39:33 <elliott> Gregor: why
23:39:39 <Lymee> elliott has dethroned shachaf
23:39:42 <Gregor> elliott: I don't rightly recall.
23:39:45 <shachaf> Lymee: Not really.
23:39:48 <shachaf> @admin - elliott
23:39:49 <Lymee> Grats.
23:39:49 <lambdabot> Not enough privileges
23:39:57 <shachaf> @admin - elliott
23:40:02 <elliott> shachaf: But srsly, how am I not an admi- feck
23:40:02 <Lymee> :(
23:40:06 -!- elliott has changed nick to dons.
23:40:08 <dons> @admin + elliott
23:40:10 <shachaf> @admin - dons
23:40:11 -!- dons has changed nick to elliott.
23:40:11 <shachaf> @admin - elliott
23:40:14 <elliott> fuck
23:41:15 <elliott> shachaf: u r the worst
23:41:21 <shachaf> u r the maddest
23:41:33 <Gregor> The maddest ...
23:41:34 <Gregor> Of all bros.
23:41:48 <elliott> yes
23:41:50 <elliott> im maximum mad
23:41:56 <Gregor> elliott: HALP I'm out of Danger Mouse D-8
23:42:03 <elliott> Gregor: did you
23:42:06 <elliott> consume lal the dangermouse
23:42:24 <Gregor> Only "lal" the available.
23:42:42 <Gregor> PLUS all the Danger Mouse rule 34 fanfic on the web.
23:42:50 <elliott> Well that's a given
23:43:08 <shachaf> @admin + elliott
23:43:12 <shachaf> @admin - elliott
23:43:37 <elliott> i dont need your admin
23:43:45 <elliott> `learn shachaf mad
23:43:47 <HackEgo> I knew that.
23:43:49 <shachaf> I need to add some sort of randomized positive reinforcement.
23:43:55 <shachaf> i aint even mad
23:44:11 <shachaf> `cat bin/learn
23:44:13 <HackEgo> ​#!/bin/sh \ topic=$(echo "$1" | sed 's/ .*//' | tr A-Z a-z) \ info=$(echo "$1" | sed 's/[^ ]* //') \ echo "$1" >"wisdom/$topic" \ echo "I knew that." \
23:44:23 <shachaf> `ls wisdom
23:44:25 <HackEgo> c \ elliott \ esoteric \ finland \ friendship \ gregor \ hackego \ haskell \ intercal \ monqy \ oerjan \ qdb \ qdbformat \ shachaf \ vorpal \ welcome \ wiki
23:44:38 <shachaf> `run grep wisdom bin/*
23:44:40 <HackEgo> bin/?:[ -e "wisdom/$topic" ] || { echo "$1? ¯\(°_o)/¯"; exit 1; } \ bin/?:cat "wisdom/$topic" \ bin/forget:rm "wisdom/$(echo "$1" | tr A-Z a-z)" \ bin/learn:echo "$1" >"wisdom/$topic" \ bin/pastewisdom:cat wisdom/* | paste
23:44:48 <shachaf> `run grep -l wisdom bin/*
23:44:49 <HackEgo> bin/? \ bin/forget \ bin/learn \ bin/pastewisdom
23:44:50 <elliott> protip | paste
23:45:03 <elliott> also `url
23:45:11 <shachaf> `? elliott
23:45:13 <HackEgo> elliott wrote this learn DB, and wrote or improved many of the other commands in this bot. He probably has done other things?
23:45:18 <shachaf> ? elliott
23:45:28 <shachaf> #nethack's learndb is better.
23:45:49 <elliott> shachaf: Gregor wouldn't add new message hooks.
23:45:53 <elliott> Or multi-line output.
23:45:55 <elliott> He is noob.
23:46:00 <Gregor> I didn't say I wouldn't add new message hooks.
23:46:05 <Gregor> I said I wouldn't add multi-line output.
23:46:06 <shachaf> `learn elliott mad
23:46:08 <HackEgo> I knew that.
23:46:11 <Gregor> I could be persuaded to add new message hooks.
23:46:16 <elliott> `learn elliott wrote this learn DB, and wrote or improved many of the other commands in this bot. He probably has done other things?
23:46:18 <HackEgo> I knew that.
23:46:39 <shachaf> `learn u mad?
23:46:41 <HackEgo> I knew that.
23:46:47 <shachaf> `run cat bin/\?
23:46:48 <HackEgo> ​#!/bin/sh \ topic=$(echo "$1" | tr A-Z a-z) \ [ -e "wisdom/$topic" ] || { echo "$1? ¯\(°_o)/¯"; exit 1; } \ cat "wisdom/$topic" \
23:47:27 -!- Jafet has quit (Quit: Leaving.).
23:47:32 <elliott> `url bin/?
23:47:34 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/?
23:47:42 <Gregor> Hyuk
23:48:11 <shachaf> `run ls -a
23:48:12 <HackEgo> ​. \ .. \ babies \ bin \ bluhbluh \ canary \ env \ foo \ paste \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ tekst \ test.c \ test2.c \ test3.c \ tmp.tmp \ wisdom
23:48:25 <shachaf> `cat env
23:48:27 <HackEgo> PLASH_FAKE_GID=0 \ CONSOLE=/dev/console \ TERM=linux \ SHELL=/bin/sh \ IRC_SOCK=/tmp/multibot.HackEgo \ rootmnt=/root \ IRC_NICK=Lymia \ PLASH_CAPS=conn_maker;fs_op \ PLASH_FAKE_EUID=5000 \ http_proxy=http://127.0.0.1:3128 \ LD_LIBRARY_PATH=/usr/lib/plash/lib \ INIT_VERSION=sysvinit-2.88 \ init=/sbin/init \ HACKENV=/tmp/hackenv.10379
23:48:36 <elliott> Gregor: Still got plash stuff set?
23:48:37 <shachaf> `run ./quine.pl
23:48:38 <HackEgo> sh: ./quine.pl: Permission denied
23:48:40 <shachaf> `ls -F
23:48:41 <HackEgo> babies/ \ bin/ \ bluhbluh \ canary \ env \ foo \ paste/ \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ tekst \ test.c \ test2.c \ test3.c \ tmp.tmp* \ wisdom/
23:48:44 <shachaf> `perl ./quine.pl
23:48:45 <HackEgo> open 0; print <0>
23:48:50 <Gregor> elliott: That's just a file that's been sitting there, probably for months :P
23:48:50 <elliott> Such a cheat.
23:48:56 <elliott> Gregor: Oh :P
23:49:04 <elliott> `run rm *.pl env
23:49:06 <HackEgo> No output.
23:49:10 <elliott> `run rm *.c
23:49:12 <HackEgo> No output.
23:49:16 <elliott> `run rm quotese tekst
23:49:18 <HackEgo> No output.
23:49:19 <elliott> `run rm foo
23:49:21 <HackEgo> No output.
23:49:22 <elliott> `ls
23:49:23 <HackEgo> babies \ bin \ bluhbluh \ canary \ foo \ paste \ ps \ quotes \ tmp.tmp \ wisdom
23:49:28 <elliott> `run rm tmp.tmp babies
23:49:30 <HackEgo> rm: cannot remove `babies': Is a directory
23:49:30 <elliott> (babies is broken anyway)
23:49:38 <Gregor> I'll break YOUR babies.
23:49:43 <elliott> `run rm -r babies bin/fuck bluhbluh foo paste ps tmp.tmp
23:49:45 <HackEgo> rm: cannot remove `foo': No such file or directory \ rm: cannot remove `tmp.tmp': No such file or directory
23:49:47 <elliott> `ls
23:49:48 <HackEgo> bin \ canary \ quotes \ wisdom
23:49:51 <elliott> Good
23:49:52 <elliott> `ls bin
23:49:54 <HackEgo> ​? \ addquote \ allquotes \ botsnack \ calc \ commands \ creatures \ define \ delquote \ esolang \ etymology \ forget \ google \ imdb \ json \ k \ karma \ learn \ log \ logurl \ marco \ minifind \ paste \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ pastewisdom \ penis \ ping \ prefixes \ quine \ quote \ quotes \ rec
23:49:57 <elliott> `k
23:49:57 <shachaf> elliott: wats the best monad
23:49:58 <HackEgo> ​!"#$%^&* 0123456789
23:50:06 <elliott> shachaf: IOT
23:50:07 <Gregor> `quote monad
23:50:09 <HackEgo> 293) <elliott> Deewiant: ha, you were wrong, I have stacks, fungespace and MULTIPLE functions! <elliott> and a monad! <elliott> nothing can stop me now! \ 478) <Phantom_Hoover> oerjan, little do you realise that everything you say and do is part of that great monad tutorial we call life. \ 649) <Gregor> Phantom_Hoover: Sort of
23:50:16 <itidus20> `help creatures
23:50:16 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
23:50:17 <elliott> 478 is still one of the best quotes ever.
23:50:18 <Gregor> `pastequotes monad
23:50:20 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.3585
23:50:23 <shachaf> 8`quote 478
23:50:26 <shachaf> `quote 478
23:50:26 <itidus20> `creatures
23:50:27 <HackEgo> 478) <Phantom_Hoover> oerjan, little do you realise that everything you say and do is part of that great monad tutorial we call life.
23:50:28 <HackEgo> Look up what?
23:50:33 <Gregor> `quote 663
23:50:35 <HackEgo> 663) <Gregor> You know how the arrow pierces your skin, rearranging and randomizing vital internal structure? <Gregor> Monads are like that, only worse.
23:50:47 <monqy> `cat bin/penis
23:50:48 <HackEgo> ​#!/bin/sh \ echo "I'm a program. I don't /have/ genitals."
23:50:51 <elliott> `cat bin/rec
23:50:52 <HackEgo> ​#!/bin/bash \ rec
23:50:59 <elliott> `run rm bin/{penis,vagina}
23:51:01 <HackEgo> No output.
23:51:01 <elliott> stupid
23:51:03 <elliott> `rm bin/rec
23:51:04 <HackEgo> No output.
23:51:06 <elliott> `ls rec
23:51:07 <HackEgo> ls: cannot access rec: No such file or directory
23:51:08 <elliott> `ls bin
23:51:10 <HackEgo> ​? \ addquote \ allquotes \ botsnack \ calc \ commands \ creatures \ define \ delquote \ esolang \ etymology \ forget \ google \ imdb \ json \ k \ karma \ learn \ log \ logurl \ marco \ minifind \ paste \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ pastewisdom \ ping \ prefixes \ quine \ quote \ quotes \ roll \ runasperl
23:51:11 <shachaf> #haskell-blah informs me that jQuery is the best monad.
23:51:15 <elliott> shachaf: It's true.
23:51:17 <elliott> `esolang
23:51:18 <Gregor> lol
23:51:19 <HackEgo> Use: `esolang <language>
23:51:21 <shachaf> jQuery is such a monad.
23:51:22 <elliott> Gregor: Does etymology work btw? :p
23:51:24 <elliott> `esolang brainfuck
23:51:26 <HackEgo> ​\ Looking up 127.0.0.1:3128 \ Making HTTP connection to 127.0.0.1:3128 \ Sending HTTP request. \ HTTP request sent; waiting for response. \ Alert!: Unexpected network read error; connection aborted. \ Can't Access `http://esolangs.org/wiki/brainfuck' \ Alert!: Unable to access document. \ \ lynx: Can't access startfile
23:51:27 <Gregor> elliott: Idonno, I didn't make it.
23:51:31 <elliott> Nice
23:51:33 <Gregor> `etymology etymology
23:51:36 <HackEgo> etymology \ late 14c., ethimolegia "facts of the origin and development of a word," from O.Fr. et(h)imologie (14c., Mod.Fr. tymologie), from L. etymologia, from Gk. etymologia, properly "study of the true sense (of a word)," from etymon "true sense" (neut. of etymos "true, real, actual," related to eteos "true") +
23:51:39 <Gregor> Seems to.
23:51:41 <elliott> You installed lynx I see
23:51:45 <elliott> `rm bin/esolang
23:51:46 <elliott> `ls bin
23:51:47 <HackEgo> No output.
23:51:47 <Gregor> Yes :P
23:51:47 <HackEgo> ​? \ addquote \ allquotes \ botsnack \ calc \ commands \ creatures \ define \ delquote \ esolang \ etymology \ forget \ google \ imdb \ json \ k \ karma \ learn \ log \ logurl \ marco \ minifind \ paste \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ pastewisdom \ ping \ prefixes \ quine \ quote \ quotes \ roll \ runasperl
23:51:52 <elliott> Just doin' housecleaning :P
23:51:52 <itidus20> `etymology wales
23:51:54 <HackEgo> No output.
23:51:57 <elliott> `cat bin/botsnack
23:51:57 <monqy> `cat bin/runasperl
23:51:58 <HackEgo> ​#!/bin/sh \ echo 'OH BARF >XO'
23:51:58 <HackEgo> perl -e twat.pl alise
23:52:01 <Gregor> `etymology whales
23:52:03 <HackEgo> No output.
23:52:11 <elliott> `run rm bin/botsnack bin/runasperl
23:52:12 <HackEgo> No output.
23:52:14 <elliott> TODO: Think of a better botsnack.
23:52:18 <elliott> `roll 9d9
23:52:20 <HackEgo> 39
23:52:21 <itidus20> `etymology walnut
23:52:22 <elliott> Good
23:52:23 <HackEgo> walnut \ O.E. walhnutu "nut of the walnut tree," lit. "foreign nut," from wealh "foreign" (see Welsh) + hnutu (see nut). Cf. O.N. valhnot, M.L.G. walnut, M.Du. walnote, Du. walnoot, Ger. Walnu, So called because it was introduced from Gaul and Italy, distinguishing it from the native hazel nut. Cf. the L.L. name for it,
23:52:23 <elliott> `ls bin
23:52:24 <HackEgo> ​? \ addquote \ allquotes \ calc \ commands \ creatures \ define \ delquote \ etymology \ forget \ google \ imdb \ json \ k \ karma \ learn \ log \ logurl \ marco \ minifind \ paste \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ pastewisdom \ ping \ prefixes \ quine \ quote \ quotes \ roll \ runfor \ rungcc \ say \ sayhi
23:52:27 <monqy> what is twat.pl
23:52:28 <shachaf> `run echo $HOME
23:52:29 <HackEgo> ​/
23:52:32 <elliott> `cat bin/commands
23:52:33 <HackEgo> ​#!/bin/sh \ cd `dirname "$0"` \ ls -m
23:52:35 -!- tiffnya has changed nick to tiffany.
23:52:36 <shachaf> `ls /
23:52:36 <elliott> X_X
23:52:37 <HackEgo> bin \ dev \ etc \ hackenv \ home \ lib \ lib64 \ opt \ proc \ sbin \ sys \ tmp \ usr \ var
23:52:37 <elliott> How stupid
23:52:40 <elliott> `commands
23:52:41 <HackEgo> ​?, addquote, allquotes, calc, commands, creatures, define, delquote, etymology, \ forget, google, imdb, json, k, karma, learn, log, logurl, marco, minifind, \ paste, pastelog, pastelogs, pastenquotes, pastequotes, pastewisdom, ping, \ prefixes, quine, quote, quotes, roll, runfor, rungcc, say, sayhi, strfile, \ swedish, toutf8,
23:52:42 <shachaf> `run ls -a /
23:52:43 <HackEgo> ​. \ .. \ bin \ dev \ etc \ hackenv \ home \ lib \ lib64 \ opt \ proc \ sbin \ sys \ tmp \ usr \ var
23:52:52 <tiffany> I just noticed someone's been using my nick :I
23:52:55 <shachaf> Hmm, how would you add things to bashrc?
23:52:59 <elliott> `run sed -i s'/-m/-m | tr -d '\n'/' bin/commands
23:53:00 <HackEgo> No output.
23:53:01 <elliott> `commands
23:53:03 <HackEgo> ​?, addquote, allquotes, calc, commads, creatures, defie, delquote, etymology, \ forget, google, imdb, jso, k, karma, lear, log, logurl, marco, miifid, \ paste, pastelog, pastelogs, pastequotes, pastequotes, pastewisdom, pig, \ prefixes, quie, quote, quotes, roll, rufor, rugcc, say, sayhi, strfile, \ swedish, toutf8, traslate,
23:53:04 <Gregor> shachaf: You wouldn't.
23:53:06 <elliott> Eh?
23:53:07 <elliott> Gregor: ?
23:53:10 <elliott> `cat bin/commands
23:53:11 <HackEgo> ​#!/bin/sh \ cd `dirname "$0"` \ ls -m | tr -d n
23:53:11 <shachaf> Gregor: Curses.
23:53:14 <elliott> `run sed -i s'/-m/-m | tr -d '\\n'/' bin/commands
23:53:15 <HackEgo> No output.
23:53:15 <elliott> `cat bin/commands
23:53:17 <HackEgo> ​#!/bin/sh \ cd `dirname "$0"` \ ls -m | tr -d n
23:53:19 <elliott> `cat bin/commands
23:53:20 <HackEgo> ​#!/bin/sh \ cd `dirname "$0"` \ ls -m | tr -d \ | tr -d n
23:53:24 <elliott> ..fuck :P
23:53:27 <elliott> `rm bin/commands
23:53:28 <HackEgo> No output.
23:53:30 <elliott> ls bin works juuust fine :P
23:53:31 <elliott> `ls bin
23:53:32 <HackEgo> ​? \ addquote \ allquotes \ calc \ creatures \ define \ delquote \ etymology \ forget \ google \ imdb \ json \ k \ karma \ learn \ log \ logurl \ marco \ minifind \ paste \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ pastewisdom \ ping \ prefixes \ quine \ quote \ quotes \ roll \ runfor \ rungcc \ say \ sayhi \ strfile
23:53:38 <elliott> `cat bin/runfor
23:53:39 <HackEgo> ​#!/bin/bash \ if [ ! "$2" ] \ then \ echo 'Use: runfor <time> <command>' \ exit 1 \ fi \ \ TIME="$1" \ shift \ \ "$@" & \ sleep $(( TIME + 0 )) \ kill -9 %1
23:53:44 <elliott> `run ls -l bin | paste
23:53:46 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.31636
23:53:51 <elliott> Wow, that's a lot
23:53:58 <elliott> `sayhi
23:53:59 <HackEgo> hi, all
23:54:02 <elliott> x_X
23:54:06 <monqy> `cat bin/sayhi
23:54:06 <elliott> Gregor: When do we even GET this crap :P
23:54:07 <HackEgo> ​#!/bin/sh \ echo hi, all
23:54:09 <shachaf> `mkdir /tmp/home
23:54:10 <HackEgo> No output.
23:54:13 <Gregor> elliott: When you're not looking.
23:54:14 <shachaf> `chsh -h /tm/home
23:54:14 <monqy> `cat bin/wtf
23:54:15 <HackEgo> Usage: chsh [options] [LOGIN] \ \ Options: \ -h, --help display this help message and exit \ -s, --shell SHELL new login shell for the user account \
23:54:15 <HackEgo> ​#!/bin/sh \ echo "why $1 is like wtf"
23:54:19 <elliott> `run rm bin/say{,hi} bin/twat
23:54:20 <HackEgo> No output.
23:54:21 <Gregor> shachaf: tmp is not preserved between commands.
23:54:24 <shachaf> `id -a
23:54:25 <HackEgo> uid=5000 gid=188466
23:54:28 <shachaf> `whoami
23:54:29 <HackEgo> whoami: cannot find name for user ID 5000
23:54:33 <monqy> `cat bin/twat
23:54:33 <elliott> `imdb the room
23:54:34 <itidus20> `log fnord
23:54:34 <HackEgo> cat: bin/twat: No such file or directory
23:54:36 <HackEgo> ​\ Looking up 127.0.0.1:3128 \ Making HTTP connection to 127.0.0.1:3128 \ Sending HTTP request. \ HTTP request sent; waiting for response. \ Alert!: Unexpected network read error; connection aborted. \ Can't Access `http://imdb.com/find?q=%74%68%65%20%72%6f%6f%6d' \ Alert!: Unable to access document. \ \ lynx: Can't access startfile
23:54:40 <elliott> `rm bin/imdb
23:54:40 <HackEgo> 2007-12-11.txt:20:11:34: <oerjan> ELIZA: Gak fnord bezeekel ash fnebby.
23:54:41 <HackEgo> No output.
23:54:46 <tiffany> what happens if I `cat /usr/share/dict/words
23:54:47 <tiffany> :P
23:54:48 <elliott> `k
23:54:50 <HackEgo> ​!"#$%^&* 0123456789
23:54:51 <shachaf> `chfn -h /hackend/bin
23:54:52 <HackEgo> No output.
23:54:58 <Gregor> tiffany: Nothing very interesting.
23:55:01 <elliott> `cat bin/runfor
23:55:02 <HackEgo> ​#!/bin/bash \ if [ ! "$2" ] \ then \ echo 'Use: runfor <time> <command>' \ exit 1 \ fi \ \ TIME="$1" \ shift \ \ "$@" & \ sleep $(( TIME + 0 )) \ kill -9 %1
23:55:05 <elliott> What does that even do.
23:55:09 <shachaf> `run echo 'echo -ne a' > bin/.bashrc
23:55:10 <HackEgo> No output.
23:55:12 <shachaf> `echo a
23:55:13 <HackEgo> a
23:55:14 <shachaf> `run echo a
23:55:15 <HackEgo> a
23:55:16 <elliott> `run grep -r runfor bin
23:55:17 <HackEgo> bin/runfor: echo 'Use: runfor <time> <command>'
23:55:20 <shachaf> `echo $HOME
23:55:21 <elliott> `rm bin/runfor
23:55:21 <HackEgo> ​$HOME
23:55:22 <HackEgo> No output.
23:55:26 <shachaf> `run echo $HOME
23:55:26 <elliott> `cat bin/rungc
23:55:27 <HackEgo> ​/
23:55:27 <elliott> `cat bin/rungcc
23:55:27 <HackEgo> cat: bin/rungc: No such file or directory
23:55:28 <HackEgo> ​#!/usr/bin/env bash \ name=$(mktemp) \ tail -n +1 "$1" | gcc -x c -w -O2 -std=gnu99 /dev/stdin -o "$name" || exit $? \ shift \ "$name" "$@"; st=$? \ rm -f "$name" 2>/dev/null \ exit $? \
23:55:30 <shachaf> Stupid thing.
23:55:30 -!- Sgeo_ has joined.
23:55:33 <shachaf> `cat /etc/passwd
23:55:34 <HackEgo> cat: /etc/passwd: No such file or directory
23:55:38 <monqy> `cat bin/swedish
23:55:39 <HackEgo> ​#!/bin/bash \ echo "$1" | /usr/games/chef
23:55:44 <elliott> `run echo 'int main(){printf("hi\n");}' | rungcc
23:55:47 <shachaf> Useless.
23:55:47 <HackEgo> tail: cannot open `' for reading: No such file or directory \ /usr/lib/gcc/x86_64-linux-gnu/4.3.2/../../../../lib/crt1.o: In function `_start': \ (.text+0x20): undefined reference to `main' \ collect2: ld returned 1 exit status
23:55:55 <Gregor> lol
23:55:55 <elliott> `rm bin/rungcc
23:55:57 <HackEgo> No output.
23:55:58 <elliott> `cat bin/strfile
23:55:58 <monqy> `swedish this is a good command
23:55:59 <HackEgo> ​ELF...
23:55:59 <HackEgo> ​/hackenv/bin/swedish: line 2: /usr/games/chef: No such file or directory
23:56:03 <elliott> Why do we have strfile
23:56:11 <Gregor> elliott: Don't ask me X-D
23:56:12 <elliott> `rm bin/strfile
23:56:13 <HackEgo> No output.
23:56:16 <Gregor> GOD I love this bot.
23:56:19 <elliott> `run ls -l bin | paste
23:56:19 <monqy> `rm bin/swedish
23:56:20 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.20134
23:56:21 <HackEgo> No output.
23:56:31 <elliott> `cat bin/u
23:56:32 <HackEgo> ​#!/bin/bash \ echo i mad
23:56:36 <monqy> :(
23:56:38 <elliott> `rm bin/u
23:56:39 <HackEgo> No output.
23:56:40 <elliott> `? u
23:56:42 <HackEgo> u mad?
23:56:44 <elliott> See, it's obsolete.
23:56:47 <elliott> `cat bin/unstr
23:56:48 <HackEgo> ​ELF...
23:56:51 <elliott> X_X
23:56:54 <elliott> `rm bin/unstr
23:56:55 <HackEgo> No output.
23:56:56 <elliott> `ping
23:56:57 <HackEgo> pong
23:57:01 <elliott> `karma
23:57:04 <monqy> `cat bin/wolfram
23:57:05 <HackEgo> ​#!/bin/bash \ WA='http://www24.wolframalpha.com' \ \ dowget() { \ wget -U "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.0.11) Gecko/2009060214 Firefox/3.0.11" "$@" \ return "$?" \ } \ \ if [ ! "$1" ] \ then \ echo 'Look up what?' \ exit 1 \ fi \ \ QUERY=`echo -n "$1" | od -t x1 -A n -w1000 | tr "
23:57:05 <elliott> `karma HackEgo
23:57:07 <HackEgo> grep: karma: No such file or directory
23:57:12 <itidus20> `learn Strfile has a mysterious purpose.
23:57:12 <elliott> `url bin/karma
23:57:13 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/karma
23:57:13 <HackEgo> I knew that.
23:57:18 <elliott> `forget Strfile
23:57:19 <HackEgo> Forget what?
23:57:20 <elliott> I know what strfile does :P
23:57:23 <elliott> `rm bin/karma
23:57:24 <HackEgo> No output.
23:57:27 <elliott> I'll implement a proper karma system
23:57:31 <shachaf> This channel is too crowded.
23:57:31 <HackEgo> No output.
23:57:33 <elliott> `google qwerty
23:57:33 <itidus20> i don't
23:57:35 <HackEgo> No output.
23:57:38 <shachaf> Also, everyone in here is mad.
23:57:39 <elliott> `cat bin/creatures
23:57:39 <Gregor> shachaf: Only when people go into botnonsense mode.
23:57:40 <HackEgo> ​#!/bin/bash \ if [ ! "$1" ] \ then \ echo 'Look up what?' \ exit 1 \ fi \ \ QUERY=`echo -n "$1" | od -t x1 -A n -w1000 | tr " " %` \ \ lynx --cfg=/dev/null --lss=/dev/null \ \ --dump --width=1000 'http://creatures.wikia.com/wiki/'"$QUERY" | \ grep -A 100 'Jump to:' | \ tail -n +3 | \ sed 's/ */ /g'
23:57:47 <elliott> ...yeah, so useful and borken.
23:57:48 -!- Sgeo has quit (Ping timeout: 260 seconds).
23:57:49 <elliott> `rm bin/creatures
23:57:50 <HackEgo> No output.
23:57:51 <shachaf> Can all y'all get out of bot nonsense mode?
23:57:53 <elliott> `cat bin/calc
23:57:54 <HackEgo> ​#!/bin/bash \ if [ ! "$1" ] \ then \ echo 'Calculate what?' \ exit 1 \ fi \ \ QUERY=`echo -n "$1" | od -t x1 -A n -w1000 | tr " " %` \ \ lynx --cfg=/dev/null --lss=/dev/null \ \ --dump --width=1000 'http://google.com/search?q='"$QUERY" | \ grep -m 1 '=' | sed 's/ \+/ /g'
23:57:56 <elliott> shachaf: I'm doing HOUSEWORK.
23:57:57 <monqy> `cat bin/toutf8
23:57:59 <HackEgo> ​#!/usr/bin/python \ import sys \ import chardet \ x = sys.stdin.read() \ enc = chardet.detect(x)['encoding'] \ sys.stdout.write(x.decode(enc).encode('UTF-8'))
23:58:03 <elliott> `rm bin/calc
23:58:04 <HackEgo> No output.
23:58:05 <elliott> `rm bin/minifind
23:58:07 <HackEgo> No output.
23:58:08 <elliott> `marco
23:58:09 <HackEgo> polo
23:58:11 <elliott> That can stay.
23:58:13 <Gregor> shachaf: If HackEgo didn't so desperately need a cleanup, I'd try to put a stop to it :P
23:58:14 <monqy> `wtf
23:58:14 <elliott> The genocide is over.
23:58:15 <HackEgo> why is like wtf
23:58:16 <tiffany> o.o
23:58:19 <itidus20> `learn Everyone in here is mad.
23:58:21 <HackEgo> I knew that.
23:58:24 <elliott> `run ls -lR | paste
23:58:25 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.27770
23:58:29 <elliott> Gregor: Behold the new, cleaner HackEgo :P
23:58:39 -!- MSleep has joined.
23:58:41 <shachaf> `saverevision
23:58:42 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: saverevision: not found
23:58:44 <elliott> `wolfram 99
23:58:47 <Gregor> elliott: It is teh sexy.
23:58:47 <shachaf> So much for DWIM
23:58:54 <elliott> C'mon HackEgo.
23:58:56 <elliott> EH
23:58:56 <elliott> `rm bin/wolfram
23:58:57 <HackEgo> No output.
23:58:59 <elliott> Pretty sure it was broken anyway.
23:59:02 <shachaf> elliott: I've changed my mind. data Null a = Null is the best monad.
23:59:08 <elliott> shachaf: That it is.
23:59:14 <HackEgo> ​--2011-09-14 23:58:45-- http://www24.wolframalpha.com/input/?i=%39%39 \ Connecting to 127.0.0.1:3128... connected. \ Proxy request sent, awaiting response... No data received. \ Retrying. \ \ --2011-09-14 23:58:46-- (try: 2) http://www24.wolframalpha.com/input/?i=%39%39 \ Connecting to 127.0.0.1:3128... connected.
23:59:18 <elliott> X-D
23:59:37 <shachaf> u monad?
23:59:37 <tiffany> o.o
23:59:45 <shachaf> `learn u monad?
23:59:46 <HackEgo> I knew that.
23:59:59 <monqy> `cat bin/wl
←2011-09-13 2011-09-14 2011-09-15→ ↑2011 ↑all